Merge branch 'main' into enhancement/radio

This commit is contained in:
Core 2022-05-16 15:57:16 +01:00 committed by GitHub
commit eaae9ba457
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
103 changed files with 18529 additions and 23706 deletions

View file

@ -15,9 +15,6 @@ jobs:
executor: cider-ci
steps:
- checkout
- run:
name: Set App Version
command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV
# - run:
# name: Rename Repository
# command: sed -i 's/github:ciderapp\/Cider/github:ciderapp\/cider-releases/' package.json
@ -45,6 +42,7 @@ jobs:
root: .
# Must be relative path from root
paths:
- src
- node_modules
- build
- resources
@ -155,6 +153,9 @@ jobs:
mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts
- store_artifacts:
path: ~/Cider/dist/artifacts
- run:
name: Set App Version
command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV
- run:
name: Publish Release
command: |
@ -167,25 +168,25 @@ workflows:
- prepare-build:
filters:
branches:
only: main
only: develop
- build-windows:
requires:
- prepare-build
filters:
branches:
only: main
only: develop
- build-linux:
requires:
- prepare-build
filters:
branches:
only: main
only: develop
- build-winget:
requires:
- prepare-build
filters:
branches:
only: main
only: develop
- release:
requires:
- build-windows
@ -193,4 +194,4 @@ workflows:
- build-winget
filters:
branches:
only: main
only: develop

View file

@ -1,7 +1,7 @@
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"]
labels: ["bug", "needs-triage"]
assignees: []
body:
- type: markdown

18
.github/workflows/auto-project.yml vendored Normal file
View file

@ -0,0 +1,18 @@
name: Add bugs to bugs project
on:
issues:
types:
- opened
jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/ciderapp/projects/5
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
labeled: bug, needs-triage
label-operator: OR

20
.github/workflows/stale-issues.yml vendored Normal file
View file

@ -0,0 +1,20 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v4
with:
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
days-before-stale: 30
days-before-close: 7
stale-issue-label: "stale"
stale-pr-label: "stale"

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 201 111" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(-1,0,0,1,971.69,-237.578)">
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1181.95,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1281.96,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 201 111" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-771.681,-237.578)">
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1181.95,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1281.96,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 104 139" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-339.137,-234.806)">
<path d="M381,245.272C381,239.496 376.31,234.806 370.534,234.806L349.603,234.806C343.826,234.806 339.137,239.496 339.137,245.272L339.137,362.84C339.137,368.616 343.826,373.306 349.603,373.306L370.534,373.306C376.31,373.306 381,368.616 381,362.84L381,245.272Z" style="fill:white;"/>
<g transform="matrix(1,0,0,1,61.8631,0)">
<path d="M381,245.272C381,239.496 376.31,234.806 370.534,234.806L349.603,234.806C343.826,234.806 339.137,239.496 339.137,245.272L339.137,362.84C339.137,368.616 343.826,373.306 349.603,373.306L370.534,373.306C376.31,373.306 381,368.616 381,362.84L381,245.272Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 113 125" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(7.90918e-17,1.29167,-1.1205,6.86106e-17,456.042,-747.431)">
<path d="M621.069,310.862C622.291,308.417 624.553,306.911 627,306.911C629.447,306.911 631.709,308.417 632.931,310.862C643.071,331.141 663.672,372.343 674.309,393.619C675.69,396.38 675.688,399.781 674.305,402.541C672.922,405.3 670.367,407 667.602,407C646.846,407 607.154,407 586.398,407C583.633,407 581.078,405.3 579.695,402.541C578.312,399.781 578.31,396.38 579.691,393.619C590.328,372.343 610.929,331.141 621.069,310.862Z" style="fill:white;"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1,000 B

View file

@ -6,7 +6,7 @@
<img src="https://img.shields.io/github/forks/ciderapp/Cider?label=Forks" alt="GitHub Forks"/>
<a title="Crowdin" target="_blank" href="https://crowdin.com/project/cider-music"><img src="https://badges.crowdin.net/cider-music/localized.svg"></a>
<br>
<a target="_blank" href="https://ko-fi.com/cryptofyre"><img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-donate-B48C69?logo=Ko-fi&logoColor=FFFFFF" alt="Buy Me A Coffee"/></a>
<a target="_blank" href="https://ko-fi.com/cryptofyre"><img src="https://img.shields.io/badge/Buy%20Us%20a%20Coffee-donate-B48C69?logo=Ko-fi&logoColor=FFFFFF" alt="Buy Me A Coffee"/></a>
<a target="_blank" href="https://opencollective.com/ciderapp"><img src="https://img.shields.io/opencollective/all/ciderapp?color=%237FADF2&label=Backers%20and%20Sponsors&logo=opencollective" alt="Open Collective"/></a>
<a target="_blank" href="https://github.com/sponsors/ciderapp"><img src="https://img.shields.io/github/sponsors/ciderapp?color=C96198&label=GitHub%20Sponsors&logo=GitHub" alt="GitHub Sponsor"/></a>
<br>
@ -28,7 +28,7 @@
[![Get it from the Microsoft Store](https://img.shields.io/badge/Get_It_From_The_Microsoft_Store-100000?style=for-the-badge&logo=microsoft)](https://www.microsoft.com/store/apps/9P21XJ9D9G66)
[![Get it from Windows Package Manager](https://custom-icon-badges.herokuapp.com/badge/Get_It_via_Winget_(Nightly)_-100000?style=for-the-badge&logo=winstall)](https://winstall.app/apps/CiderCollective.Cider.Nightly)
[![Get it from Windows Package Manager](https://custom-icon-badges.herokuapp.com/badge/Get_It_via_Winget_(Nightly)_-100000?style=for-the-badge&logo=winstall)](https://winstall.app/apps/CiderCollective.Cider)
<!--
[![Get it from Windows Package Manager](https://custom-icon-badges.herokuapp.com/badge/Get_It_via_Winget_(Nightly)_-100000?style=for-the-badge&logo=winstall)](https://winstall.app/apps/CiderCollective.Cider.Nightly)

View file

@ -2,7 +2,7 @@
"name": "cider",
"applicationId": "Cider",
"productName": "Cider",
"version": "1.4.5",
"version": "1.4.7",
"description": "A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind.",
"license": "AGPL-3.0",
"main": "./build/index.js",
@ -39,7 +39,7 @@
"dependencies": {
"@sentry/electron": "^3.0.7",
"@sentry/integrations": "^6.19.6",
"adm-zip": "0.4.10",
"adm-zip": "0.5.9",
"airtunes2": "git+https://github.com/vapormusic/node_airtunes2.git#hap",
"castv2-client": "^1.2.0",
"chokidar": "^3.5.3",
@ -74,7 +74,7 @@
},
"devDependencies": {
"@types/adm-zip": "^0.5.0",
"@types/discord-rpc": "4.0.2",
"@types/discord-rpc": "4.0.3",
"@types/express": "^4.17.13",
"@types/qrcode-terminal": "^0.12.0",
"@types/ws": "^8.5.3",
@ -110,9 +110,9 @@
}
],
"build": {
"electronVersion": "18.2.1",
"electronVersion": "18.2.3",
"electronDownload": {
"version": "18.2.1+wvcus",
"version": "18.2.3+wvcus",
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
},
"appId": "cider",

View file

@ -2,7 +2,7 @@
Some notes about Cider's i18n support.
- Localization files are stored in `json` format aka "JavaScript Object Notation".
- Localization files are stored in `json` format aka `JavaScript Object Notation`.
- 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.
@ -23,7 +23,7 @@ How it is implemented for English:
```
"term.track": {
"one" : "track",
"one` : "track",
"other" : "tracks"
},
```
@ -34,11 +34,11 @@ How it is implemented for English:
Several changes have been made to configuration options and will be listed below with the relevant locales that have
been modified, the ones not mentioned in the list need modifying.
* `settings.option.experimental.closeButtonBehaviour`: Changed to `close_button_hide` - Should be "Close Button Should Hide the Application". `.quit`, `.minimizeTaskbar` and `.minimizeTray` have been removed. Translations done for en_US.
* `settings.option.experimental.closeButtonBehaviour`: Changed to `close_button_hide` - Should be `Close Button Should Hide the Application`. `.quit`, `.minimizeTaskbar` and `.minimizeTray` have been removed. Translations done for en_US.
* `action.update`: Added for `en_US`.
* `term.topResult`: "Top Result" - Added for `en_US`.
* `term.sharedPlaylists`: "Shared Playlists" - Added for `en_US`.
* `term.people`: "People" - Added for `en_US`.
* `term.topResult`: `Top Result` - Added for `en_US`.
* `term.sharedPlaylists`: `Shared Playlists` - Added for `en_US`.
* `term.people`: `People` - Added for `en_US`.
Update 02/02/2022 17:16 UTC
@ -279,17 +279,17 @@ Update 24/04/2022 19:00 UTC
Update 25/04/2022 00:21 UTC
* `settings.description.search`: Added for `en_US`
* `settings.description.albums`: Added for `en_US`
* `settings.description.artists`: Added for `en_US`
* `settings.description.browse`: Added for `en_US`
* `settings.description.private`: Added for `en_US`
* `settings.description.remote`: Added for `en_US`
* `settings.description.audio`: Added for `en_US`
* `settings.description.plugins`: Added for `en_US`
* `settings.description.cast`: Added for `en_US`
* `settings.description.settings`: Added for `en_US`
* `settings.description.developer`: Added for `en_US`
* `settings.description.search`: Added for `en_US`
* `settings.description.albums`: Added for `en_US`
* `settings.description.artists`: Added for `en_US`
* `settings.description.browse`: Added for `en_US`
* `settings.description.private`: Added for `en_US`
* `settings.description.remote`: Added for `en_US`
* `settings.description.audio`: Added for `en_US`
* `settings.description.plugins`: Added for `en_US`
* `settings.description.cast`: Added for `en_US`
* `settings.description.settings`: Added for `en_US`
* `settings.description.developer`: Added for `en_US`
Update 28/04/2022 21:45 UTC
@ -300,7 +300,6 @@ Update 28/04/2022 21:45 UTC
* `term.dynamic`: Added for `en_US`
Update 29/04/2022 00:00 UTC
* `menubar.options.about`: Added for `en_US`
* `menubar.options.settings`: Added for `en_US`
* `menubar.options.quit`: Added for `en_US`
@ -339,4 +338,55 @@ Update 29/04/2022 00:00 UTC
Update 07/05/2022 04:00 UTC
* `term.personalStations`: Added for `en_US`
`term.amLive`: Added for `en_US`
* `term.amLive`: Added for `en_US`
Update 08/05/2022 00:29 UTC
* `settings.option.visual.theme.github.available`: Added for `en_US`
* `settings.option.visual.theme.github.applied`: Added for `en_US`
Update 09/05/2022 01:50 UTC
* `menubar.options.listennow`: Added for `en_US`
* `menubar.options.recentlyAdded`: Added for `en_US`
* `menubar.options.songs`: Added for `en_US`
* `settings.description.listnow`: Added for `en_US`
* `settings.description.recentAdd`: Added for `en_US`
* `settings.description.songs`: Added for `en_US`
* `settings.option.general.keybindings.pressCombination`: Added for `en_US`
* `settings.option.general.keybindings.pressEscape`: Added for `en_US`
* `settings.option.visual.theme.github.available`: Added for `en_US`
* `settings.option.visual.theme.github.applied`: Added for `en_US`
Update 09/05/2022 19:30 UTC
* `settings.option.audio.enableAdvancedFunctionality.audioSpatialization`: Deleted for all language files
* `settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description`: Deleted for all language files
Update 12/05/2022 19:00 UTC
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation`: Added for `en_US`
Update 12/05/2022 22:50 UTC
* `settings.option.audio.dbspl.display`: Added for `en_US`
* `settings.option.audio.dbspl.description`: Added for `en_US`
* `settings.option.audio.dbfs.calibration`: Added for `en_US`
* `settings.option.audio.dbfs.description`: Added for `en_US`
Update 14/05/2022 02:00 UTC
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH`: Deleted for all language files
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD`: Renamed for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS`: Renamed for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600`: Added for `en_US`
* `settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500`: Added for `en_US`

View file

@ -232,8 +232,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresivní",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizace zvuku",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizuje špičkovou hlasitost pro jednotlivé stopy a vytváří jednotnější zážitek z poslechu.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Prostorovost zvuku",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Prostorově upravte zvuk a udělejte zvuk více 3-rozměrný (poznámka: Toto není Dolby Atmos)",
"settings.header.visual": "Vizuální",
"settings.header.visual.description": "Upravte vizuální nastavení pro Cider.",
"settings.option.visual.windowBackgroundStyle": "Styl pozadí okna",

View file

@ -26,8 +26,8 @@
"term.history": "Verlauf",
"term.search": "Suche",
"term.library": "Mediathek",
"term.listenNow": "Jetzt Hören",
"term.browse": "Durchsuchen",
"term.listenNow": "Jetzt hören",
"term.browse": "Entdecken",
"term.radio": "Radio",
"term.recentlyAdded": "Zuletzt hinzugefügt",
"term.songs": "Songs",
@ -192,7 +192,7 @@
"action.unlove": "Entlieben",
"action.dislike": "Dislike",
"action.undoDislike": "Dislike entfernen",
"action.showWebRemoteQR": "Zeige Web-Remote QR-Code",
"action.showWebRemoteQR": "Web-Remote",
"action.playTracksNext": "Spiele ${app.selectedMediaItems.length} Lieder als Nächstes",
"action.playTracksLater": "Spiele ${app.selectedMediaItems.length} Lieder später",
"action.removeTracks": "Entferne ${self.selectedItems.length} Lieder aus der Warteschlange",
@ -238,8 +238,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressiv",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio-Normalisierung",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalisiert die Lautstärke aller Lieder, um die Hörerfahrung einheitlicher zu machen.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Räumliches Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Macht die Musik räumlicher (3D-Effekt) (Beachte: Dies ist kein Dolby Atmos)",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Räumliches Audio ist nicht mit CAP kompatibel. Bitte deaktiviere CAP zuerst.",
"settings.header.visual": "Visuell",
"settings.header.visual.description": "Passe die visuellen Einstellungen für Cider an.",
@ -318,4 +316,4 @@
"remote.web.title": "Cider Remote",
"remote.web.description": "Scanne den QR-Code um dein Handy mit dieser Cider-Instanz zu verbinden",
"about.thanks": "Vielen lieben Dank an das Cider Collective Team und an alle Mithelfer."
}
}

View file

@ -340,9 +340,9 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Εφαρμόζει μια διαφορετική ατμόσφαιρα στον ήχο.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Λειτουργία ατμόσφαιρας ήχου",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Αλλάζει τη λειτουργία ατμόσφαιρας ήχου.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Φυσική (Κανονικό)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Φυσική (Υψηλό)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Φυσική (Υψηλότερο)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Φυσική (Κανονικό)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Φυσική (Υψηλό)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Φυσική (Υψηλότερο)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Επεξεργαστής ήχου Cider (CAP)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Βελτιώνει την αντιληπτή ποιότητα ήχου χρησιμοποιώντας αλγορίθμους.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "Το CAP δεν είναι συμβατό με τη Χωρικοποίηση Ήχου. Παρακαλούμε απενεργοποιήστε τη Χωρικοποίηση Ήχου για να συνεχίσετε.",
@ -353,8 +353,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Κανονικοποίηση έντασης ήχου",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Κανονικοποιεί την ένταση για μεμονωμένα κομμάτια για μια πιο ομοιόμορφη εμπειρία ακρόασης. (Δεν λειτουργεί σε κομμάτια που ανέβηκαν από χρήστες)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Διαχειρίζεται από το Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Χωρικοποίηση Ήχου",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Πιο τρισδιάστατος και χωρικοποιημένος ήχος (σημείωση: Αυτό δεν είναι Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Χωρικοποίηση Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pre-tuned Εφέ Χωρικοποίησης, απενεργοποιεί τις προσαρμόσιμες ρυθμίσεις της Χωρικοποίησης Ήχου. Η Χωρικοποίηση Ήχου πρέπει να είναι ενεργοποιημένη.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Προφίλ Χωρικοποίησης Cider",

View file

@ -8,8 +8,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalisation, Equalisers and Visualisers - however on some systems this may cause stuttering in audio tracks.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalisation",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalises peak volume for individual tracks to create a more uniform listening experience.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialisation",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialise audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"spatial.notTurnedOn": "Audio Spatialisation is disabled. To use, please enable it first.",
"action.tray.minimize": "Minimise to Tray",
"term.tracks": "songs",

View file

@ -194,8 +194,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "ENABLING HODOR FUNCTIONALITY WILL HODOR FOR EXTENDED HODOR FEATURES LIKE HODOR NORMALIZATION , HODORIZERS AND HODORS, BUT ON SOME HODOR SYSTEMS THIS HODOR CAUSE HODOR IN HODOR.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "HODOR NORMALIZATION",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "NORMALIZES HODOR VOLUME FOR INDIVIDUAL HODORS TO HODOR A MORE HODOR LISTENING HODOR.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "HODOR SPATIALIZATION",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "SPATIALIZE HODOR AND MAKE HODOR MORE 3-HODOR (HODOR: THIS IS NOT HODOR ATMOS)",
"settings.header.visual": "HODOR SEES",
"settings.header.visual.description": "ADJUST HODOR EYES FOR HODOR.",
"settings.option.visual.windowBackgroundStyle": "BACK HODOR STYLE",

View file

@ -21,11 +21,13 @@
"term.accountSettings": "Account Settings",
"term.logout": "Wogout",
"term.login": "Wog In",
"term.quickNav": "Quick Nyav",
"term.cast": "Cast",
"term.about": "About",
"term.privateSession": "Pwivate Session",
"term.disablePrivateSession": "Disabwe Pwivate Session",
"term.queue": "Queue",
"term.autoplay": "Autopway",
"term.lyrics": "Wywics",
"term.miniplayer": "MinyiPwayew",
"term.history": "Histowy",
@ -46,12 +48,19 @@
"term.createNewPlaylist": "Cweate Nyew Pwaywist",
"term.createNewPlaylistFolder": "Cweate Nyew Pwaywist Fowdew",
"term.deletePlaylist": "Awe you suwe you want to dewete this pwaywist?",
"term.navigateBack": "Nyavigate back",
"term.navigateForward": "Nyavigate fowwawd",
"term.play": "Pway",
"term.pause": "Pause",
"term.previous": "Pwevious",
"term.next": "Nyext",
"term.shuffle": "Shuffwe",
"term.enableShuffle": "Enyabwe shuffwe",
"term.disableShuffle": "Disabwe shuffwe",
"term.repeat": "Wepeat",
"term.enableRepeatOne": "Enyabwe wepeat onye",
"term.disableRepeatOne": "Disabwe wepeat onye",
"term.disableRepeat": "Disabwe wepeat",
"term.volume": "Vowume",
"term.mute": "Mute",
"term.unmute": "Unmute",
@ -254,6 +263,7 @@
"action.newpreset": "Nyew Pweset...",
"action.deletepreset": "Dewete Pweset",
"action.open": "Open",
"action.close": "Cwose",
"action.relaunch.confirm": "Do you want to wewaunch Cidew?",
"action.cast.chromecast": "Chwomecast",
"action.cast.todevices": "Cast to Devices",
@ -264,6 +274,43 @@
"action.cast.scanning": "Scannying...",
"action.createNew": "Cweate Nyew...",
"action.openArtworkInBrowser": "Open awtwowk in bwowsew",
"action.scrollToTop": "Scwoww to top",
"menubar.options.about": "About",
"menubar.options.settings": "Settings",
"menubar.options.quit": "Quit Cidew",
"menubar.options.view": "View ",
"menubar.options.reload": "Wewoad",
"menubar.options.forcereload": "Fowce Wewoad",
"menubar.options.toggledevtools": "Toggwe Devewopew Toows",
"menubar.options.window": "Window",
"menubar.options.minimize": "Minyimize",
"menubar.options.toggleprivate": "Toggwe Pwivate Session",
"menubar.options.webremote": "Web Wemote",
"menubar.options.audio": "Audio Settings",
"menubar.options.plugins": "Pwu-gins Menyu",
"menubar.options.controls": "Contwows",
"menubar.options.next": "Nyext",
"menubar.options.playpause": "Pway/Pause",
"menubar.options.previous": "Pwevious",
"menubar.options.volumeup": "Vowume Up",
"menubar.options.volumedown": "Vowume Down",
"menubar.options.browse": "Bwowse",
"menubar.options.artists": "Awtists",
"menubar.options.search": "Seawch",
"menubar.options.albums": "Awbums",
"menubar.options.cast": "Cast To Devices",
"menubar.options.account": "Account",
"menubar.options.accountsettings": "Account Settings",
"menubar.options.signout": "Sign Out",
"menubar.options.support": "Suppowt",
"menubar.options.discord": "Discowd",
"menubar.options.github": "GitHub Wiki",
"menubar.options.report": "Wepowt a...",
"menubar.options.bug": "Bug",
"menubar.options.feature": "Featuwe Wequest",
"menubar.options.trans": "Twanswation Wepowt/Wequest",
"menubar.options.license": "View Wicense",
"menubar.options.conf": "Open Configuwation Fiwe in Editow",
"settings.header.general": "Genyewaw",
"settings.header.general.description": "Adjust the genyewaw settings fow Cidew.",
"settings.option.general.language": "Wanguage",
@ -330,6 +377,7 @@
"settings.option.audio.audioLab.description": "An assowtment of in-house devewoped audio effects fow Cidew.",
"settings.option.audio.audioLab.subheader": "Designyed by Cidew Acoustic Technyowogies in Cawifownyia",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionyawity) is wequiwed to enyabwe Cidew Audio Wabowatowy.",
"settings.warn.enableAdvancedFunctionality": "AudioContext (Advanced Functionyawity) is wequiwed to enyabwe this featuwe.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Anyawog Wawmth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simuwates the anyawog wawmth modewwed aftew the Kowg Nyutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Anyawog Wawmth intensity",
@ -340,9 +388,9 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Weawizes a diffewent musicaw atmosphewe modewwed aftew the state of the awt audio setups.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cidew Atmosphewe Weawizew™ Mode",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of opewation of the Atmosphewe Weawizew moduwe.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Nyatuwaw (Standawd)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Nyatuwaw (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Nyatuwaw (Pwus)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Nyatuwaw (Standawd)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Nyatuwaw (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Nyatuwaw (Pwus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cidew Adwenyawinye Pwocessow™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the pewceived audio quawity of 256 kbps AAC audio by using a weaw-time awgowithm that takes advantage of both psychoacoustic modews of human heawing and AAC encoding chawactewistics.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is nyot compatibwe with Spatiawization. Pwease disabwe Spatiawization to continyue.",
@ -353,8 +401,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Nyowmawization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Nyowmawizes peak vowume fow individuaw twacks to cweate a mowe unyifowm wistenying expewience. (Does nyot wowk on usew upwoaded twacks)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Manyaged by Audio Wab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatiawization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatiawize audio and make audio mowe 3-dimensionyaw (nyote: This is nyot Dowby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cidew Tunyed Spatiawization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pwe-tunyed Spatiawizing Effect, disabwes the customizabwe settings of Audio Spatiawization. Spatiawization must be enyabwed as a pwewequisite.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cidew Spatiawization Pwofiwe",
@ -392,6 +438,13 @@
"settings.header.visual.theme.github.page": "Themes fwom GitHub",
"settings.option.visual.theme.github.install.confirm": "Awe you suwe you want to instaww {{ repo }}?",
"settings.prompt.visual.theme.github.URL": "Entew the UWW of the theme you want to instaww",
"settings.prompt.visual.theme.uninstallTheme": "Awe you suwe you want to unyinstaww {{ theme }}?",
"settings.option.visual.theme.checkForUpdates": "Check fow updates",
"settings.option.visual.theme.manageStyles": "Manyage Stywes",
"settings.option.visual.theme.uninstall": "Unyinstaww",
"settings.option.visual.theme.viewInfo": "View Info",
"settings.option.visual.theme.github.available": "Avaiwabwe",
"settings.option.visual.theme.github.applied": "Appwied",
"settings.notyf.visual.theme.install.success": "Theme instawwed successfuwwy",
"settings.notyf.visual.theme.install.error": "Theme instawwation faiwed",
"settings.header.visual.plugin": "Pwugin",
@ -428,6 +481,7 @@
"settings.option.connectivity.discordRPC.clientName": "Cwient Nyame",
"settings.option.connectivity.discordRPC.clearOnPause": "Cweaw Discowd Wich Pwesence on Pause",
"settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discowd Wich Pwesence",
"settings.option.connectivity.discordRPC.hideTimestamp": "Hide timestamp on Discowd Wich Pwesence",
"settings.option.connectivity.discordRPC.detailsFormat": "Detaiws Fowmat",
"settings.option.connectivity.discordRPC.stateFormat": "State Fowmat",
"settings.option.connectivity.lastfmScrobble": "Wast.fm Scwobbwing",

View file

@ -244,8 +244,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "turbo piss",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "piss normaliztion",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "protect your eardrums from overly loud/slient pisses",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "3D piss",
"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.header.visual": "piss appearance",
"settings.header.visual.description": "change how your piss looks",
"settings.option.visual.windowBackgroundStyle": "background piss",

View file

@ -242,8 +242,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"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",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization is not compatible with CAP. Please disable CAP to continue.",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Adjust the visual settings for Cider.",

View file

@ -316,8 +316,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "ᖋ⚍↸╎ᒍ リᒍ∷ᒲᖋ|:╎∩ᖋᒣ╎ᒍリ",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "リᒍ∷ᒲᖋ|:╎∩ᒷϟ i!ᒷᖋ·ǀ· ⍊ᒍ|:⚍ᒲᒷ ⎓ᒍ∷ ╎リ↸╎⍊╎↸⚍ᖋ|: ᒣ∷ᖋᔮ·ǀ·ϟ ᒣᒍ ᔮ∷ᒷᖋᒣᒷ ᖋ ᒲᒍ∷ᒷ ⚍リ╎⎓ᒍ∷ᒲ |:╎ϟᒣᒷリ╎リ┤ ᒷ/i!ᒷ∷╎ᒷリᔮᒷ.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "ᒲᖋリᖋ┤ᒷ↸ ᕊ॥ ᖋ⚍↸╎ᒍ |:ᖋᕊ",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "ᖋ⚍↸╎ᒍ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "ϟi!ᖋᒣ╎ᖋ|:╎∩ᒷ ᖋ⚍↸╎ᒍ ᖋリ↸ ᒲᖋ·ǀ·ᒷ ᖋ⚍↸╎ᒍ ᒲᒍ∷ᒷ 3-↸╎ᒲᒷリϟ╎ᒍリᖋ|: (リᒍᒣᒷ: ᒣ⍑╎ϟ ╎ϟ リᒍᒣ ↸ᒍ|:ᕊ॥ ᖋᒣᒲᒍϟ)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "ᔮ╎↸ᒷ∷ ᒣ⚍リᒷ↸ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "i!∷ᒷ-ᒣ⚍リᒷ↸ ϟi!ᖋᒣ╎ᖋ|:╎∩╎リ┤ ᒷ⎓⎓ᒷᔮᒣ, ↸╎ϟᖋᕊ|:ᒷϟ ᒣ⍑ᒷ ᔮ⚍ϟᒣᒍᒲ╎∩ᖋᕊ|:ᒷ ϟᒷᒣᒣ╎リ┤ϟ ᒍ⎓ ᖋ⚍↸╎ᒍ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ. ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ ᒲ⚍ϟᒣ ᕊᒷ ᒷリᖋᕊ|:ᒷ↸ ᖋϟ ᖋ i!∷ᒷ∷ᒷᑑ⚍╎ϟ╎ᒣᒷ.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "ᔮ╎↸ᒷ∷ ϟi!ᖋᒣ╎ᖋ|:╎∩ᖋᒣ╎ᒍリ i!∷ᒍ⎓╎|:ᒷ",

View file

@ -21,11 +21,13 @@
"term.accountSettings": "Account Settings",
"term.logout": "Logout",
"term.login": "Log In",
"term.quickNav": "Quick Nav",
"term.cast": "Cast",
"term.about": "About",
"term.privateSession": "Private Session",
"term.disablePrivateSession": "Disable Private Session",
"term.queue": "Queue",
"term.autoplay": "Autoplay",
"term.lyrics": "Lyrics",
"term.miniplayer": "MiniPlayer",
"term.history": "History",
@ -46,12 +48,19 @@
"term.createNewPlaylist": "Create New Playlist",
"term.createNewPlaylistFolder": "Create New Playlist Folder",
"term.deletePlaylist": "Are you sure you want to delete this playlist?",
"term.navigateBack": "Navigate back",
"term.navigateForward": "Navigate forward",
"term.play": "Play",
"term.pause": "Pause",
"term.previous": "Previous",
"term.next": "Next",
"term.shuffle": "Shuffle",
"term.enableShuffle": "Enable shuffle",
"term.disableShuffle": "Disable shuffle",
"term.repeat": "Repeat",
"term.enableRepeatOne": "Enable repeat one",
"term.disableRepeatOne": "Disable repeat one",
"term.disableRepeat": "Disable repeat",
"term.volume": "Volume",
"term.mute": "Mute",
"term.unmute": "Unmute",
@ -256,6 +265,7 @@
"action.newpreset": "New Preset...",
"action.deletepreset": "Delete Preset",
"action.open": "Open",
"action.close": "Close",
"action.relaunch.confirm": "Do you want to relaunch Cider?",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Cast to Devices",
@ -266,6 +276,7 @@
"action.cast.scanning": "Scanning...",
"action.createNew": "Create New...",
"action.openArtworkInBrowser": "Open artwork in browser",
"action.scrollToTop": "Scroll to top",
"menubar.options.about": "About",
"menubar.options.settings": "Settings",
"menubar.options.quit": "Quit Cider",
@ -302,6 +313,9 @@
"menubar.options.trans": "Translation Report/Request",
"menubar.options.license": "View License",
"menubar.options.conf": "Open Configuration File in Editor",
"menubar.options.listennow": "Listen Now",
"menubar.options.recentlyAdded": "Recently Added",
"menubar.options.songs": "Songs",
"settings.header.general": "General",
"settings.header.general.description": "Adjust the general settings for Cider.",
"settings.option.general.language": "Language",
@ -326,9 +340,13 @@
"settings.option.general.customizeSidebar": "Customize Sidebar Items",
"settings.option.general.customizeSidebar.customize": "Customize",
"settings.option.general.keybindings": "Keybindings",
"settings.option.general.keybindings.pressCombination": "Press a combination of two keys to update keybind.",
"settings.option.general.keybindings.pressEscape": "Press Escape key to go back.",
"settings.notyf.general.keybindings.update.success": "Keybind updated successfully",
"settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider",
"settings.option.general.keybindings.open": "Open",
"settings.option.general.themeUpdateNotification": "Automatically check for theme updates",
"settings.option.general.showLovedTracksInline": "Show loved tracks inline",
"settings.description.search": "Search",
"settings.description.albums": "Library Albums",
"settings.description.artists": "Library Artists",
@ -340,6 +358,9 @@
"settings.description.cast": "Cast to Devices",
"settings.description.settings": "Settings",
"settings.description.developer": "Developer Tools",
"settings.description.listnow": "Listen Now",
"settings.description.recentAdd": "Recently Added",
"settings.description.songs": "Songs",
"settings.notyf.updateCider.update-not-available": "No update available",
"settings.notyf.updateCider.update-downloaded": "Update has been downloaded, restart to apply",
"settings.notyf.updateCider.update-error": "Error updating Cider",
@ -379,11 +400,15 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realizes a different musical atmosphere modelled after the state of the art audio setups.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizer™ Mode",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of operation of the Atmosphere Realizer module.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Natural (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Natural (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Hōjicha Cheese Foam Tea",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Genmaicha Tapioca Milk Tea",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Rock Salt Cheese Foam Tea",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "Uji Matcha Milk Tea",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500": "Moonlight Softcake",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the perceived audio quality of 256 kbps AAC audio by using a real-time algorithm that takes advantage of both psychoacoustic models of human hearing and AAC encoding characteristics.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the perceived audio quality of AAC encoded audio by using a real-time algorithm that takes advantage of both psychoacoustic models of human hearing and AAC encoding characteristics.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is not compatible with Spatialization. Please disable Spatialization to continue.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Strength",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Changes the strength of the processing done to the audio. (Aggressive may yield undesirable results)",
@ -392,15 +417,20 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience. (Does not work on user uploaded tracks)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Managed by Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pre-tuned Spatializing Effect, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Changes the Tuning Profile of the Spatialization.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Soundstage",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separation",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimal",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization is not compatible with CAP. Please disable CAP to continue.",
"settings.option.audio.dbspl.display": "dB SPL Display",
"settings.option.audio.dbspl.description": "(Advanced users only) Display dB SPL instead of dBFS on the volume slider.",
"settings.option.audio.dbfs.calibration": "0 dBFS Calibration",
"settings.option.audio.dbfs.description": "Enter the peak Z-weighted dB SPL when Cider is at 0 dBFS.",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Adjust the visual settings for Cider.",
"settings.option.visual.windowStyle": "Window Style",
@ -436,6 +466,8 @@
"settings.option.visual.theme.manageStyles": "Manage Styles",
"settings.option.visual.theme.uninstall": "Uninstall",
"settings.option.visual.theme.viewInfo": "View Info",
"settings.option.visual.theme.github.available": "Available",
"settings.option.visual.theme.github.applied": "Applied",
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
"settings.notyf.visual.theme.install.error": "Theme installation failed",
"settings.header.visual.plugin": "Plugin",
@ -472,6 +504,7 @@
"settings.option.connectivity.discordRPC.clientName": "Client Name",
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause",
"settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discord Rich Presence",
"settings.option.connectivity.discordRPC.hideTimestamp": "Hide timestamp on Discord Rich Presence",
"settings.option.connectivity.discordRPC.detailsFormat": "Details Format",
"settings.option.connectivity.discordRPC.stateFormat": "State Format",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",

View file

@ -21,11 +21,13 @@
"term.accountSettings": "Configuración de la Cuenta",
"term.logout": "Cerrar Sesión",
"term.login": "Iniciar Sesión",
"term.quickNav": "Navegación rápida",
"term.cast": "Transmitir",
"term.about": "Acerca de",
"term.privateSession": "Sesión Privada",
"term.disablePrivateSession": "Deshabilitar Sesión Privada",
"term.queue": "Cola",
"term.autoplay": "Reproducción Automática",
"term.lyrics": "Letras",
"term.miniplayer": "Mini-Reproductor",
"term.history": "Historial",
@ -46,12 +48,19 @@
"term.createNewPlaylist": "Crear Nueva Lista de Reproducción",
"term.createNewPlaylistFolder": "Crear Nueva Carpeta de Listas de Reproducción",
"term.deletePlaylist": "¿Estas Seguro de Querer Eliminar esta Lista de Reproducción?",
"term.navigateBack": "Navegar Hacia Atrás",
"term.navigateForward": "Navegar Hacia Adelante",
"term.play": "Reproducir",
"term.pause": "Pausar",
"term.previous": "Anterior",
"term.next": "Siguiente",
"term.shuffle": "Aleatorio",
"term.enableShuffle": "Habilitar Reproducción Aleatoria",
"term.disableShuffle": "Desactivar Reproducción Aleatoria",
"term.repeat": "Repetir",
"term.enableRepeatOne": "Habilitar Repetir Uno",
"term.disableRepeatOne": "Deshabilitar Repetir Uno",
"term.disableRepeat": "Deshabilitar Repetición",
"term.volume": "Volumen",
"term.mute": "Silenciar",
"term.unmute": "De-silenciar",
@ -254,6 +263,7 @@
"action.newpreset": "Nuevo Preset...",
"action.deletepreset": "Borrar Preset",
"action.open": "Abrir",
"action.close": "Cerrar",
"action.relaunch.confirm": "¿Quieres reiniciar Cider?",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Transmitir a los Dispositivos",
@ -264,6 +274,7 @@
"action.cast.scanning": "Escaneando...",
"action.createNew": "Crear Nuevo...",
"action.openArtworkInBrowser": "Abrir Ilustración en el navegador",
"action.scrollToTop": "Ir al inicio",
"menubar.options.about": "Acerca de",
"menubar.options.settings": "Ajustes",
"menubar.options.quit": "Salir",
@ -300,6 +311,9 @@
"menubar.options.trans": "Solicitud de Informe/Traducción",
"menubar.options.license": "Ver licencia",
"menubar.options.conf": "Abrir archivo de configuración en el editor",
"menubar.options.listennow": "Escuchar Ahora",
"menubar.options.recentlyAdded": "Agregadas Recientemente",
"menubar.options.songs": "Canciones",
"settings.header.general": "General",
"settings.header.general.description": "Ajuste la configuración general de Cider.",
"settings.option.general.language": "Idioma",
@ -324,6 +338,8 @@
"settings.option.general.customizeSidebar": "Personalizar elementos de la barra lateral",
"settings.option.general.customizeSidebar.customize": "Personalizar",
"settings.option.general.keybindings": "Combinaciones de Teclas",
"settings.option.general.keybindings.pressCombination": "Presione una combinación de dos teclas para actualizar la combinación de teclas.",
"settings.option.general.keybindings.pressEscape": "Pulse la tecla Escape para volver.",
"settings.notyf.general.keybindings.update.success": "Combinación de teclas actualizada correctamente",
"settings.prompt.general.keybindings.update.success": "La combinación de teclas se actualizó correctamente. Pulsa OK para reiniciar Cider",
"settings.option.general.keybindings.open": "Abrir",
@ -338,6 +354,9 @@
"settings.description.cast": "Transmitir a los Dispositivos",
"settings.description.settings": "Configuraciones",
"settings.description.developer": "Herramientas para Desarrolladores",
"settings.description.listnow": "Escuchar Ahora",
"settings.description.recentAdd": "Agregadas Recientemente",
"settings.description.songs": "Canciones",
"settings.notyf.updateCider.update-not-available": "No hay actualizaciones disponibles",
"settings.notyf.updateCider.update-downloaded": "La actualización se ha descargado, Reinicie para aplicarla",
"settings.notyf.updateCider.update-error": "Error al actualizar Cider",
@ -366,6 +385,7 @@
"settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.",
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
"settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.",
"settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para habilitar esta característica.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica",
@ -376,9 +396,9 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realiza una Atmósfera musical diferente modelada a partir de las configuraciones de audio de última generación.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizer™ Mode",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Cambia el modo de funcionamiento del módulo Atmosphere Realizer.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Natural (Estándar)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Natural (Alto)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Natural (Estándar)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Natural (Alto)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Mejora la calidad de audio percibida del audio AAC de 256 kbps mediante el uso de un algoritmo en tiempo real que aprovecha los modelos psicoacústicos de la audición humana y las características de codificación AAC.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP no es compatible con la Espacialización. Desactive la Espacialización para continuar.",
@ -389,15 +409,19 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalización de audio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen máximo de pistas individuales para crear una experiencia auditiva más uniforme. (No funciona en las pistas cargadas por el usuario)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gestionado por AudioLab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Espacialización de audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacializa el Audio y haga que el Sonido sea más tridimensional (Nota: esto NO es Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialización Sintonizada de Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de preajuste de espacialización, deshabilita la configuración personalizable de la espacialización de audio. La espacialización debe estar habilitada como requisito previo.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialización de Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Cambia el Perfil de Ajuste de Espacialización.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Estándar",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiófilo",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Estudio de Sonido",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separación",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Mínimo",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La Espacialización no es compatible con CAP. Deshabilite CAP para continuar.",
"settings.option.audio.dbspl.display": "Visualización dB SPL",
"settings.option.audio.dbspl.description": "(Solo usuarios avanzados) Muestra 'dB SPL' en lugar de 'dBFS' en el control deslizante de volumen.",
"settings.option.audio.dbfs.calibration": "Calibración de 0 dBFS",
"settings.option.audio.dbfs.description": "Ingrese el pico 'dB SPL con Ponderación-Z' cuando Cider esté en 0 dBFS.",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Ajuste la configuración visual de Cider.",
"settings.option.visual.windowStyle": "Estilo de Ventana",
@ -428,6 +452,13 @@
"settings.header.visual.theme.github.page": "Temas de GitHub",
"settings.option.visual.theme.github.install.confirm": "¿Está seguro de que desea instalar {{ repo }}?",
"settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar",
"settings.prompt.visual.theme.uninstallTheme": "¿Estas seguro que lo quieres desinstalar {{ theme }}?",
"settings.option.visual.theme.checkForUpdates": "Buscar actualizaciones",
"settings.option.visual.theme.manageStyles": "Gestionar Estilos",
"settings.option.visual.theme.uninstall": "Desinstalar",
"settings.option.visual.theme.viewInfo": "Ver Información",
"settings.option.visual.theme.github.available": "Disponible",
"settings.option.visual.theme.github.applied": "Aplicado",
"settings.notyf.visual.theme.install.success": "Tema Instalado Correctamente",
"settings.notyf.visual.theme.install.error": "La Instalación del Tema Falló",
"settings.header.visual.plugin": "Plugin",
@ -464,6 +495,7 @@
"settings.option.connectivity.discordRPC.clientName": "Nombre del Cliente",
"settings.option.connectivity.discordRPC.clearOnPause": "Borrar Discord Rich Presence en pausa",
"settings.option.connectivity.discordRPC.hideButtons": "Ocultar botones en Discord Rich Presence",
"settings.option.connectivity.discordRPC.hideTimestamp": "Ocultar Marca de Tiempo en Discord Rich Presence",
"settings.option.connectivity.discordRPC.detailsFormat": "Formato de los detalles",
"settings.option.connectivity.discordRPC.stateFormat": "Formato de Estado",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",

View file

@ -317,8 +317,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalización de audio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen máximo de pistas individuales para crear una experiencia auditiva más uniforme. (No funciona en las pistas cargadas por el usuario)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gestionado por AudioLab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Espacialización de audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacialice el audio y haga que el audio sea más tridimensional (Nota: esto NO es Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de preajuste de espacialización, deshabilita la configuración personalizable de la espacialización de audio. La espacialización debe estar habilitada como requisito previo.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialización de Cider",

View file

@ -183,8 +183,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "L'activation de la fonctionnalité AudioContext permettra des fonctionnalités audio étendues telles que la normalisation audio, les égaliseurs et les visualiseurs, mais sur certains systèmes, cela peut provoquer des saccades dans les chansons audio.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation audio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialisez l'audio et rendez l'audio plus tridimensionnel (remarque: il ne s'agit pas de Dolby Atmos)",
"settings.header.visual": "Visuel",
"settings.header.visual.description": "Ajustez les réglages visuels de Cider.",
"settings.option.visual.windowBackgroundStyle": "Style d'arrière-plan de la window",

View file

@ -10,6 +10,7 @@
"notification.updatingLibrarySongs": "Mise à jour des chansons de la bibliothèque...",
"notification.updatingLibraryAlbums": "Mise à jour des albums de la bibliothèque...",
"notification.updatingLibraryArtists": "Mise à jour des artistes de la bibliothèque...",
"term.variables": "Variables",
"term.appleInc": "Apple Inc.",
"term.appleMusic": "Apple Music",
"term.applePodcasts": "Apple Podcasts",
@ -20,9 +21,15 @@
"term.accountSettings": "Paramètres du compte",
"term.logout": "Déconnexion",
"term.login": "Connexion",
"term.quickNav": "Navigation rapide",
"term.cast": "Diffuser",
"term.about": "À propos",
"term.privateSession": "Session privée",
"term.disablePrivateSession": "Désactiver la session privée",
"term.queue": "File d'attente",
"term.autoplay": "Lecture automatique",
"term.lyrics": "Paroles",
"term.miniplayer": "Mini lecteur",
"term.history": "Historique",
"term.search": "Recherche",
"term.library": "Bibliothèque",
@ -39,20 +46,27 @@
"term.newPlaylist": "Nouvelle Playlist",
"term.newPlaylistFolder": "Nouveau dossier de playlist",
"term.createNewPlaylist": "Créer une nouvelle playlist",
"term.createNewPlaylistFolder": "Create New Playlist Folder",
"term.createNewPlaylistFolder": "Créer un nouveau dossier de playlist",
"term.deletePlaylist": "Êtes-vous sûr de vouloir supprimer cette playlist ?",
"term.navigateBack": "Naviguer en arrière",
"term.navigateForward": "Naviguer en avant",
"term.play": "Lecture",
"term.pause": "Pause",
"term.previous": "Précédent",
"term.next": "Suivant",
"term.shuffle": "Aléatoire",
"term.enableShuffle": "Activer la lecture aléatoire",
"term.disableShuffle": "Désactiver la lecture aléatoire",
"term.repeat": "Répéter",
"term.enableRepeatOne": "Activer la répétition un",
"term.disableRepeatOne": "Désactiver la répétition un",
"term.disableRepeat": "Désactiver la répétition",
"term.volume": "Volume",
"term.mute": "Rendre muet",
"term.unmute": "Ne plus rendre muet",
"term.share": "Partager",
"term.settings": "Paramètres",
"term.share.success": "Copié dans le presse-papier",
"term.settings": "Paramètres",
"term.seeAll": "Voir tout",
"term.sortBy": "Trier par",
"term.sortBy.album": "Album",
@ -61,12 +75,14 @@
"term.sortBy.genre": "Genre",
"term.sortBy.releaseDate": "Date de sortie",
"term.sortBy.duration": "Durée",
"term.sortBy.dateAdded": "Date d'ajout",
"term.sortOrder": "A-Z",
"term.sortOrder.ascending": "Ascendant",
"term.sortOrder.descending": "Descendant",
"term.viewAs": "Voir comme",
"term.viewAs.coverArt": "Pochette d'album",
"term.viewAs.list": "Liste",
"term.dynamic": "Dynamique",
"term.size": "Taille",
"term.size.normal": "Normal",
"term.size.compact": "Compacte",
@ -88,15 +104,30 @@
"term.time.added": "Ajouté",
"term.time.released": "Publié",
"term.time.updated": "Mis à jour",
"term.time.days": "jours",
"term.time.day": {
"one": "jour",
"other": "jours"
},
"term.time.hours": "heures",
"term.time.hour": "heure",
"term.time.hour": {
"one": "heure",
"other": "heures"
},
"term.time.minutes": "minutes",
"term.time.minute": "minute",
"term.time.minute": {
"one": "minute",
"other": "minutes"
},
"term.time.seconds": "secondes",
"term.time.second": "seconde",
"term.time.second": {
"one": "seconde",
"other": "secondes"
},
"term.fullscreenView": "Vue plein écran",
"term.defaultView": "Vue par défaut",
"term.spacializedAudioSetting": "Paramètres audio spatialisés",
"term.audioSettings": "Paramètres audio",
"term.audioControls": "Contrôles du volume",
"term.clearAll": "Tout effacer",
"term.recentStations": "Stations récentes",
"term.language": "Langue",
@ -112,7 +143,11 @@
"term.contributors": "Contributeurs",
"term.equalizer": "Égaliseur",
"term.reset": "Réinitialiser",
"term.tracks": "musiques",
"term.tracks": "morceaux",
"term.track": {
"one": "morceau",
"other": "morceaux"
},
"term.videos": "Vidéos",
"term.menu": "Menu",
"term.check": "Vérifier",
@ -124,6 +159,10 @@
"term.addedpreset": "Ajout d'un préréglage",
"term.deletepreset.warn": "Êtes-vous sûr de vouloir supprimer ce préréglage ?",
"term.deletedpreset": "Suppression d'un préréglage",
"term.defaultPresets": "Préréglages par défaut",
"term.userPresets": "Préréglages utilisateur",
"term.requestError": "Il y avait un problème avec cette requête.",
"term.song.link.generate": "Obtentions du lien song.link en cours...",
"term.musicVideos": "Vidéos musicales",
"term.stations": "Stations",
"term.curators": "Curateurs",
@ -132,9 +171,27 @@
"term.recordLabels": "Labels de disques",
"term.videoExtras": "Vidéos bonus",
"term.top": "Top",
"term.version": "Version",
"term.noVideos": "Aucune vidéo trouvée.",
"term.plugin": "Plugin",
"term.pluginMenu": "Plug-in Menu",
"term.pluginMenu.none": "Aucun plugin interactif",
"term.replay": "Replay",
"term.uniqueAlbums": "Albums uniques",
"term.uniqueArtists": "Artistes uniques",
"term.uniqueSongs": "Musiques uniques",
"term.topArtists": "Top Artistes",
"term.listenedTo": "Ecoute :",
"term.times": "fois",
"term.topAlbums": "Top Albums",
"term.plays": "Plays",
"term.topGenres": "Top Genres",
"term.confirmLogout": "Êtes-vous sûr de vouloir vous déconnecter ?",
"term.creditDesignedBy": "Conçu par ${authorUsername}",
"term.discNumber": "Disque ${discNumber}",
"home.title": "Accueil",
"home.recentlyPlayed": "Joué récemment",
"home.recentlyAdded": "Récemment ajouté",
"home.recentlyAdded": "Ajouté récemment",
"home.artistsFeed": "Votre file d'artistes",
"home.artistsFeed.noArtist": "Suivez d'abord certains artistes et leurs dernières sorties seront ici",
"home.madeForYou": "Fait pour vous",
@ -152,6 +209,9 @@
"podcast.episodes": "Épisodes",
"podcast.playEpisode": "Lire l'épisode",
"podcast.website": "Site du podcast",
"action.edit": "Modifier",
"action.done": "Terminé",
"action.editTracklist": "Edit Tracklist",
"action.addToLibrary": "Ajouter à la bibliothèque",
"action.addToLibrary.success": "Ajouté à la bibliothèque",
"action.addToLibrary.error": "Erreur lors de l'ajout à la bibliothèque",
@ -178,6 +238,8 @@
"action.startRadio": "Lancer la radio",
"action.goToArtist": "Aller à l'artiste",
"action.goToAlbum": "Aller à l'album",
"action.showInPlaylist": "Afficher dans la playlist",
"action.showInAppleMusic": "Afficher dans Apple Music",
"action.moveToTop": "Haut de page",
"action.share": "Partager",
"action.rename": "Renommer",
@ -185,7 +247,7 @@
"action.unlove": "Ne plus aimer",
"action.dislike": "Je n'aime pas",
"action.undoDislike": "Je n'aime plus",
"action.showWebRemoteQR": "Afficher le QR Code de la télécommande à distance",
"action.showWebRemoteQR": "Télécommande Web",
"action.playTracksNext": "Jouer ${app.selectedMediaItems.length} musiques après",
"action.playTracksLater": "Jouer ${app.selectedMediaItems.length} musiques plus tard",
"action.removeTracks": "Retirer ${self.selectedItems.length} musiques de la file d'attente",
@ -194,40 +256,178 @@
"action.showAlbum": "Afficher l'album complet",
"action.tray.minimize": "Réduire dans la barre d'outils",
"action.tray.quit": "Quitter",
"action.tray.show": "Afficher Cider",
"action.update": "Mettre à jour",
"action.install": "Installer",
"action.copy": "Copier",
"action.newpreset": "Nouveau préréglage...",
"action.deletepreset": "Supprimer le préréglage",
"action.open": "Ouvrir",
"action.close": "Fermer",
"action.relaunch.confirm": "Voulez-vous redémarrer Cider ?",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Diffuser sur des appareils",
"action.cast.stop": "Arrêter la diffusion sur tous les appareils",
"action.cast.airplay": "AirPlay",
"action.cast.airplay.underdevelopment": "AirPlay est actuellement en développement.",
"action.cast.scan": "Scanner",
"action.cast.scanning": "Scan en cours...",
"action.createNew": "Créer un nouveau...",
"action.openArtworkInBrowser": "Ouvrir la pochette d'album dans le navigateur",
"action.scrollToTop": "Défiler vers le haut",
"menubar.options.about": "À propos",
"menubar.options.settings": "Paramètres",
"menubar.options.quit": "Quitter Cider",
"menubar.options.view": "Afficher ",
"menubar.options.reload": "Recharger",
"menubar.options.forcereload": "Rechargement forcé",
"menubar.options.toggledevtools": "Activer les outils de développement",
"menubar.options.window": "Fenêtre",
"menubar.options.minimize": "Minimiser",
"menubar.options.toggleprivate": "Activer la session privée",
"menubar.options.webremote": "Télécommande Web",
"menubar.options.audio": "Paramètres audio",
"menubar.options.plugins": "Menu des plugins",
"menubar.options.controls": "Contrôles",
"menubar.options.next": "Suivant",
"menubar.options.playpause": "Lecture/Pause",
"menubar.options.previous": "Précédent",
"menubar.options.volumeup": "Augmenter le volume",
"menubar.options.volumedown": "Réduire le volume",
"menubar.options.browse": "Parcourir",
"menubar.options.artists": "Artistes",
"menubar.options.search": "Search",
"menubar.options.albums": "Albums",
"menubar.options.cast": "Diffuser sur des appareils",
"menubar.options.account": "Compte",
"menubar.options.accountsettings": "Paramètres du compte",
"menubar.options.signout": "Se déconnecter",
"menubar.options.support": "Support",
"menubar.options.discord": "Discord",
"menubar.options.github": "Documentation GitHub",
"menubar.options.report": "Remonter un(e)...",
"menubar.options.bug": "Bug",
"menubar.options.feature": "Demande de fonctionnalité",
"menubar.options.trans": "Erreur/Demande de traduction",
"menubar.options.license": "Voir la license",
"menubar.options.conf": "Ouvrir le fichier de configuration dans l'éditeur",
"menubar.options.listennow": "Écoutez maintenant",
"menubar.options.recentlyAdded": "Ajouté récemment",
"menubar.options.songs": "Musiques",
"settings.header.general": "Général",
"settings.header.general.description": "Ajuster les paramètres généraux de Cider.",
"settings.option.general.language": "Langue",
"settings.option.general.resumebehavior": "Comportement de reprise",
"settings.option.general.resumebehavior.description": "Le comportement de reprise affecte la manière dont Cider reprend votre session lorsque vous revenez à l'application.",
"settings.option.general.resumebehavior.locally": "Localement",
"settings.option.general.resumebehavior.locally.description": "Cider reprendra votre dernière session sur cette machine.",
"settings.option.general.resumebehavior.history": "Historique",
"settings.option.general.resumebehavior.history.description": "Cider mettra en file d'attente la dernière chanson de votre historique Apple Music, sur tous les appareils.",
"settings.option.general.resumetabs" : "Ouvrir l'onglet au lancement",
"settings.option.general.resumetabs.description" : "Vous pouvez choisir l'onglet que vous souhaitez ouvrir lorsque vous lancez Cider.",
"settings.option.general.resumetabs.dynamic" : "Dynamique",
"settings.option.general.resumetabs.dynamic.description" : "Cider ouvrira le dernier onglet que vous avez utilisé.",
"settings.option.general.language.main": "Langues",
"settings.option.general.language.fun": "Langues amusantes",
"settings.option.general.language.unsorted": "Non trié",
"settings.option.general.updateCider": "Mettre à jour Cider",
"settings.option.general.updateCider.branch": "Branche de mise à jour de Cider",
"settings.option.general.updateCider.branch.description": "Sélectionnez la branche sur laquelle mettre à jour Cider",
"settings.option.general.updateCider.branch.main": "Stable",
"settings.option.general.updateCider.branch.develop": "Développement",
"settings.option.general.customizeSidebar": "Personnaliser les éléments de la barre latérale",
"settings.option.general.customizeSidebar.customize": "Personnalisez",
"settings.option.general.keybindings": "Raccourcis clavier",
"settings.option.general.keybindings.pressCombination": "Appuyez sur une combinaison de deux touches pour mettre à jour la combinaison de touches.",
"settings.option.general.keybindings.pressEscape": "Appuyez sur la touche Échap pour revenir en arrière.",
"settings.notyf.general.keybindings.update.success": "Le raccourci clavier a bien été mis à jour",
"settings.prompt.general.keybindings.update.success": "Le raccourci clavier a bien été mis à jour. Appuyez sur OK pour relancer Cider",
"settings.option.general.keybindings.open": "Ouvrir",
"settings.option.general.themeUpdateNotification": "Vérifier automatiquement les mises à jour des thèmes",
"settings.option.general.showLovedTracksInline": "Afficher les pistes aimées en ligne",
"settings.description.search": "Rechercher",
"settings.description.albums": "Albums de la bibliothèque",
"settings.description.artists": "Artites de la bibliothèque",
"settings.description.browse": "Parcourir",
"settings.description.private": "Activer la session privée",
"settings.description.remote": "Télécommande Web",
"settings.description.audio": "Paramètres audio",
"settings.description.plugins": "Menu des plugins",
"settings.description.cast": "Diffuser sur des appareils",
"settings.description.settings": "Paramètres",
"settings.description.developer": "Outils de développement",
"settings.description.listnow": "Ajouté récemment",
"settings.description.recentAdd": "Ajouté récemment",
"settings.description.songs": "Musiques",
"settings.notyf.updateCider.update-not-available": "Aucune mise à jour disponible",
"settings.notyf.updateCider.update-downloaded": "La mise à jour a été téléchargée, redémarrez pour l'appliquer",
"settings.notyf.updateCider.update-error": "Une erreur s'est produite lors de la mise à jour de Cider",
"settings.notyf.updateCider.update-timeout": "La mise à jour a expiré.",
"settings.header.audio": "Audio",
"settings.header.audio.description": "Ajuster les paramètres audio de Cider.",
"settings.option.audio.volumeStep": "Étape du volume",
"settings.option.audio.maxVolume": "Volume maximum",
"settings.option.audio.changePlaybackRate": "Changer la vitesse de lecture",
"settings.option.audio.playbackRate": "Vitesse de lecture",
"settings.option.audio.playbackRate.change": "Changer",
"settings.option.audio.quality": "Qualité Audio",
"settings.header.audio.quality.hireslossless": "Lossless haute qualité (Hi-Res)",
"settings.header.audio.quality.hireslossless.description": "(jusqu'à 24 bits/192 kHz)",
"settings.header.audio.quality.hireslossless": "Hi-Res Lossless",
"settings.header.audio.quality.hireslossless.description": "jusqu'à 24 bits/192 kHz",
"settings.header.audio.quality.lossless": "Lossless",
"settings.header.audio.quality.lossless.description": "(jusqu'à 24 bits/48 kHz)",
"settings.header.audio.quality.enhanced": "Amélioré",
"settings.header.audio.quality.lossless.description": "jusqu'à 24 bits/48 kHz",
"settings.header.audio.quality.high": "Élevée",
"settings.header.audio.quality.low": "Faible",
"settings.header.audio.quality.auto": "Automatique",
"settings.header.audio.quality.high.description": "256 kbps",
"settings.header.audio.quality.standard": "Standard",
"settings.header.audio.quality.standard.description": "64 kbps",
"settings.option.audio.seamlessTransition": "Fondu audio transparent",
"settings.option.audio.enableAdvancedFunctionality": "Activer les fonctions avancées",
"settings.option.audio.enableAdvancedFunctionality.description": "L'activation de la fonctionnalité AudioContext permet d'utiliser des fonctions audio étendues telles que la normalisation du son, les égaliseurs et les visualiseurs. Toutefois, sur certains systèmes, cela peut provoquer des bégaiements dans les pistes audio.",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider pense que votre PC ne peut pas gérer ces fonctionnalités. Vous êtes sûr de vouloir continuer ?",
"settings.option.audio.audioLab": "Laboratoire audio de Cider",
"settings.option.audio.audioLab.description": "Un assortiment d'effets audio développés en interne pour Cider.",
"settings.option.audio.audioLab.subheader": "Conçu par Cider Acoustic Technologies en Californie",
"settings.warn.audioLab.withoutAF": "AudioContext (Fonctionnalité avancée) est nécessaire pour activer le laboratoire audio de Cider.",
"settings.warn.enableAdvancedFunctionality": "AudioContext (Fonctionnalité avancée) est nécessaire pour activer cette fonctionnalité.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Chaleur analogique",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simule la chaleur analogique calquée sur le modèle du Korg Nutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensité de la chaleur analogique",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Modifie l'intensité du traitement du module Analog Warmth.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Doux",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Chaud",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Réalisateur d'atmosphère Cider™",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Réalise une atmosphère musicale différente, calquée sur les configurations audio de pointe.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Mode du réalisateur d'atmosphère Cider™",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of operation of the Atmosphere Realizer module.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Naturelle (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Naturelle (Élevé)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Naturelle (Plus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Moteur de traitement psycho-acoustique Cider",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Améliore la qualité audio perçue de l'audio AAC 256 kbps en utilisant un algorithme en temps réel qui tire parti à la fois des modèles psychoacoustiques de l'audition humaine et des caractéristiques de codage AAC.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "Le moteur de traitement psycho-acoustique n'est pas compatible avec la spatialisation. Veuillez désactiver la spatialisation pour continuer.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Force du moteur de traitement psycho-acoustique",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Modifie l'intensité du traitement effectué sur l'audio. (Un traitement agressif peut donner des résultats indésirables).",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation du son",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour créer une expérience d'écoute plus uniforme.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spatialisation audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialiser l'audio et rendre l'audio plus tridimensionnel (note: Ce n'est pas Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gérée par le laboratoire audio",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Spatialisation Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Effet de spatialisation préétabli, désactive les paramètres personnalisables de la spatialisation audio. La spatialisation doit être activée comme condition préalable.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Profil de spatialisation Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Modifie le profil de réglage de la spatialisation.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Scène sonore",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Séparation",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimale",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La spatialisation n'est pas compatible avec le moteur de traitement psycho-acoustique. Veuillez le désactiver pour continuer.",
"settings.option.audio.dbspl.display": "Affichage dB SPL",
"settings.option.audio.dbspl.description": "(Utilisateurs avancés uniquement) Affichez dB SPL au lieu de dBFS sur le curseur de volume.",
"settings.option.audio.dbfs.calibration": "Calibration 0 dBFS",
"settings.option.audio.dbfs.description": "Entrez le SPL de crête pondéré en Z lorsque Cider est à 0 dBFS.",
"settings.header.visual": "Visuel",
"settings.header.visual.description": "Ajuster les paramètres visuels de Cider.",
"settings.option.visual.windowStyle": "Style de la fenêtre",
"settings.option.visual.windowBackgroundStyle": "Style d'arrière-plan de la fenêtre",
"settings.header.visual.windowBackgroundStyle.none": "Aucun",
"settings.header.visual.windowBackgroundStyle.artwork": "Pochette d'album",
@ -247,34 +447,85 @@
"settings.option.visual.hardwareAcceleration.description": "Nécessite un relancement",
"settings.header.visual.hardwareAcceleration.default": "Défaut",
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.option.visual.uiscale": "Échelle de l'interface utilisateur",
"settings.header.visual.theme": "Thème",
"settings.option.visual.theme.github.download": "Installer à partir d'une URL GitHub",
"settings.option.visual.theme.github.openfolder": "Ouvrir le dossier des thèmes",
"settings.option.visual.theme.github.explore": "Explorer les thèmes GitHub",
"settings.header.visual.theme.github.page": "Thèmes depuis GitHub",
"settings.option.visual.theme.github.install.confirm": "Êtes-vous sûr de vouloir installer {{ repo }} ?",
"settings.prompt.visual.theme.github.URL": "Saisissez l'URL du thème que vous souhaitez installer",
"settings.prompt.visual.theme.uninstallTheme": "Êtes-vous sûr de vouloir désinstaller {{ theme }} ?",
"settings.option.visual.theme.checkForUpdates": "Vérifier les mises à jour",
"settings.option.visual.theme.manageStyles": "Gérer les styles",
"settings.option.visual.theme.uninstall": "Désinstaller",
"settings.option.visual.theme.viewInfo": "Voir les informations",
"settings.option.visual.theme.github.available": "Disponible",
"settings.option.visual.theme.github.applied": "Appliqué",
"settings.notyf.visual.theme.install.success": "Thème installé avec succès",
"settings.notyf.visual.theme.install.error": "L'installation du thème a échoué",
"settings.header.visual.plugin": "Plugin",
"settings.option.visual.plugin.github.download": "Installer à partir d'une URL GitHub",
"settings.option.visual.plugin.github.explore": "Explorer les plugins GitHub",
"settings.header.visual.plugin.github.page": "Plugins depuis GitHub",
"settings.option.visual.plugin.github.install.confirm": "Êtes-vous sûr de vouloir installer {{ repo }}?",
"settings.prompt.visual.plugin.github.URL": "Saisissez l'URL du plugin que vous souhaitez installer",
"settings.prompt.visual.plugin.github.success": "Thème installé avec succès, appuyez sur OK pour relancer Cider",
"settings.notyf.visual.plugin.install.success": "Thème installé avec succès",
"settings.notyf.visual.plugin.install.error": "L'installation du plugin a échoué",
"settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Sombre",
"settings.option.visual.showPersonalInfo": "Afficher vos informations personnelles",
"settings.header.window": "Fenêtre",
"settings.header.window.description": "Ajustez les paramètres de la fenêtre pour Cider.",
"settings.option.window.openOnStartup": "Ouvrir Cider au démarrage",
"settings.option.window.openOnStartup.hidden": "Ouvrir caché",
"settings.option.window.useNativeTitleBar": "Utiliser la barre de titre native",
"settings.option.window.windowControlStyle": "Style de contrôle de la fenêtre",
"settings.option.window.windowControlStyle.right": "Droite",
"settings.option.window.windowControlStyle.left": "Gauche",
"settings.header.lyrics": "Paroles",
"settings.header.lyrics.description": "Ajuster les paramètres des paroles pour Cider.",
"settings.option.lyrics.enableMusixmatch": "Activer les paroles Musixmatch",
"settings.option.lyrics.enableMusixmatchKaraoke": "Activer le mode karaoké (Musixmatch seulement)",
"settings.option.lyrics.musixmatchPreferredLanguage": "Langue préférée pour les traductions Musixmatch",
"settings.option.lyrics.enableYoutubeLyrics": "Activer les paroles YouTube pour les vidéos de musique",
"settings.option.lyrics.enableQQLyrics": "Activer les paroles QQ",
"settings.header.connectivity": "Connectivité",
"settings.header.connectivity.description": "Ajuster les paramètres de connectivité de Cider.",
"settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.playbackNotifications": "Notifications de lecture",
"settings.header.connectivity.discordRPC.cider": "Afficher comme 'Cider'",
"settings.header.connectivity.discordRPC.appleMusic": "Afficher comme 'Apple Music'",
"settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.discordRPC.clientName": "Nom du client",
"settings.option.connectivity.discordRPC.clearOnPause": "Désactiver le Discord Rich Presence quand la musique est en pause",
"settings.option.connectivity.discordRPC.hideButtons": "Cacher les bouttons sur le Discord Rich Presence",
"settings.option.connectivity.discordRPC.hideTimestamp": "Cacher le temps restant sur le Discord Rich Presence",
"settings.option.connectivity.discordRPC.detailsFormat": "Format des détails",
"settings.option.connectivity.discordRPC.stateFormat": "Format de l'état",
"settings.option.connectivity.lastfmScrobble": "Scrobble LastFM",
"settings.option.connectivity.lastfmScrobble.delay": "Délai de Scrobble LastFM (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)",
"settings.header.debug": "Débogage",
"settings.option.debug.copy_log": "Copier les logs dans le presse-papiers",
"settings.option.debug.openAppData": "Ouvrir le dossier de Cider",
"settings.header.experimental": "Expérimental",
"settings.header.experimental.description": "Ajuster les paramètres expérimentaux de Cider.",
"settings.option.experimental.reinstallwidevine": "Reinstaller WidevineCDM",
"settings.option.experimental.reinstallwidevine.confirm": "Êtes-vous sûr de vouloir réinstaller Widevine ?",
"settings.option.experimental.unknownPlugin": "Sources inconnues",
"settings.option.experimental.unknownPlugin.description": "Permet l'installation de plugins à partir de dépôts autres que le dépôt de plugins de Cider",
"settings.option.experimental.compactUI": "Interface utilisateur compacte",
"settings.option.window.close_button_hide": "Le bouton de fermeture doit masquer l'application",
"settings.option.experimental.copy_log": "Copier les logs dans le presse-papier",
"settings.option.experimental.inline_playlists": "Playlists et albums en ligne",
"settings.option.advanced.playlistTrackMapping": "Cartographie des pistes de la playlists",
"settings.option.advanced.playlistTrackMapping.description": "Permet une analyse approfondie des playlists pour déterminer quels titres se trouvent dans quelles playlists. Les temps de construction du cache des playlists peuvent augmenter de manière significative.",
"settings.option.visual.transparent": "Cadre transparent",
"settings.option.visual.transparent.description": "Requière le support de thème, nécessite un relancement",
"settings.header.advanced": "Avancé",
"settings.header.connect": "Synchroniser",
"settings.option.connect.link_account": "Activer la synchronisation avec Cider Connect",
"settings.option.connect.link_account.description": "Lier votre compte Discord avec Cider Connect vous permet de stocker les données de l'utilisateur, y compris les paramètres, les EQ, et éventuellement plus une fois terminé. (en cours de développement)",
"spatial.notTurnedOn": "La spatialisation audio est désactivée. Pour l'utiliser, vous devez d'abord l'activer.",
"spatial.spatialProperties": "Propriétés spatiales",
"spatial.width": "Largeur",
@ -297,5 +548,15 @@
"settings.header.unfinished": "Inachevée",
"remote.web.title": "Cider à distance",
"remote.web.description": "Scanner le QR code pour associer votre téléphone avec cette instance Cider",
"share.platform.twitter.tweet": "Écoutez {{song}} sur Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Reddit",
"share.platform.telegram": "Telegram",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "Email",
"share.platform.songLink": "Copier avec song.link",
"share.platform.clipboard": "Copier le lien",
"about.thanks": "Un grand merci à l'équipe de la Cider Collective et à tous nos contributeurs."
}
}

View file

@ -232,8 +232,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Aggressive",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"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",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Adjust the visual settings for Cider.",
"settings.option.visual.windowBackgroundStyle": "Window Background Style",

View file

@ -21,11 +21,13 @@
"term.accountSettings": "Fiókbeállítások",
"term.logout": "Kijelentkezés",
"term.login": "Bejelentkezés",
"term.quickNav": "Főmenü",
"term.cast": "Tükrözés",
"term.about": "Névjegy",
"term.privateSession": "Privát hallgatás",
"term.disablePrivateSession": "Privát hallgatás kikapcsolása",
"term.queue": "Várólista",
"term.autoplay": "Autoplay",
"term.lyrics": "Dalszöveg",
"term.miniplayer": "Minilejátszó",
"term.history": "Előzmények",
@ -46,12 +48,19 @@
"term.createNewPlaylist": "Új lejátszási lista létrehozása",
"term.createNewPlaylistFolder": "Új mappa létrehozása",
"term.deletePlaylist": "Biztosan szeretné törölni a lejátszási listát?",
"term.navigateBack": "Visszalépés",
"term.navigateForward": "Előrelépés",
"term.play": "Lejátszás",
"term.pause": "Megállítás",
"term.previous": "Előző",
"term.next": "Következő",
"term.shuffle": "Keverés",
"term.enableShuffle": "Keverés bekapcsolása",
"term.disableShuffle": "Keverés kikapcsolása",
"term.repeat": "Ismétlés",
"term.enableRepeatOne": "Egyszeres ismétlés bekapcsolása",
"term.disableRepeatOne": "Egyszeres ismétlés kikapcsolása",
"term.disableRepeat": "Ismétlés kikapcsolása",
"term.volume": "Hangerő",
"term.mute": "Némítás",
"term.unmute": "Némítás feloldása",
@ -73,6 +82,7 @@
"term.viewAs": "Megjelenítés",
"term.viewAs.coverArt": "Borító",
"term.viewAs.list": "Lista",
"term.dynamic": "Dinamikus",
"term.size": "Méret",
"term.size.normal": "Normál",
"term.size.compact": "Kompakt",
@ -199,6 +209,9 @@
"podcast.episodes": "Epizódok",
"podcast.playEpisode": "Epizód lejátszása",
"podcast.website": "Podcast weboldala",
"action.edit": "Szerkesztés",
"action.done": "Kész",
"action.editTracklist": "Dalok szerkesztése",
"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.",
@ -250,6 +263,7 @@
"action.newpreset": "Új előbeállítás...",
"action.deletepreset": "Előbeállítás törlése",
"action.open": "Megnyitás",
"action.close": "Bezárás",
"action.relaunch.confirm": "Biztosan szeretnéd újraindítani a Cidert?",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Tükrözés",
@ -260,6 +274,46 @@
"action.cast.scanning": "Keresés folyamatban...",
"action.createNew": "Új létrehozása...",
"action.openArtworkInBrowser": "Borító megnyitása a böngészőben",
"action.scrollToTop": "Felülre",
"menubar.options.about": "Névjegy",
"menubar.options.settings": "Beállítások",
"menubar.options.quit": "Bezárás",
"menubar.options.view": "View ",
"menubar.options.reload": "Reload",
"menubar.options.forcereload": "Force Reload",
"menubar.options.toggledevtools": "Fejlesztői eszközök",
"menubar.options.window": "Ablak",
"menubar.options.minimize": "Kicsinyítés",
"menubar.options.toggleprivate": "Privát hallgatás ki/be",
"menubar.options.webremote": "Távirányító",
"menubar.options.audio": "Hangbeállítások",
"menubar.options.plugins": "Plug-in Menü",
"menubar.options.controls": "Controls",
"menubar.options.next": "Következő",
"menubar.options.playpause": "Lejátszás/Megállítás",
"menubar.options.previous": "Előző",
"menubar.options.volumeup": "Hangerő fel",
"menubar.options.volumedown": "Hangerő le",
"menubar.options.browse": "Böngészés",
"menubar.options.artists": "Előadók",
"menubar.options.search": "Keresés",
"menubar.options.albums": "Albumok",
"menubar.options.cast": "Tükrözés",
"menubar.options.account": "Fiók",
"menubar.options.accountsettings": "Fiókbeállítások",
"menubar.options.signout": "Kijelentkezés",
"menubar.options.support": "Támogatás",
"menubar.options.discord": "Discord",
"menubar.options.github": "GitHub Wiki",
"menubar.options.report": "Report a...",
"menubar.options.bug": "Bug",
"menubar.options.feature": "Feature Request",
"menubar.options.trans": "Translation Report/Request",
"menubar.options.license": "Licensz megtekintése",
"menubar.options.conf": "Open Configuration File in Editor",
"menubar.options.listennow": "Hallgatás most",
"menubar.options.recentlyAdded": "Nemrég hozzáadott",
"menubar.options.songs": "Dalok",
"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",
@ -284,7 +338,13 @@
"settings.option.general.customizeSidebar": "Oldalsáv elemeinek testreszabása",
"settings.option.general.customizeSidebar.customize": "Testreszabás",
"settings.option.general.keybindings": "Billentyűparancsok",
"settings.option.general.keybindings.pressCombination": "Nyomj le két billentyűt a parancs frissítéséhez.",
"settings.option.general.keybindings.pressEscape": "Nyomj Escape-et a visszalépéshez.",
"settings.notyf.general.keybindings.update.success": "Billentyűparancs sikeresen frissítve",
"settings.prompt.general.keybindings.update.success": "Billentyűparancs sikeresen frissítve. Kattints az OK-ra a Cider újraindításához!",
"settings.option.general.keybindings.open": "Megnyitás",
"settings.option.general.themeUpdateNotification": "Automatikus témafrissítések keresése",
"settings.option.general.showLovedTracksInline": "Show loved tracks inline",
"settings.description.search": "Keresés",
"settings.description.albums": "Albumkönyvtár",
"settings.description.artists": "Előadókönyvtár",
@ -296,6 +356,9 @@
"settings.description.cast": "Tükrözés",
"settings.description.settings": "Beállítások",
"settings.description.developer": "Fejlesztői eszközök",
"settings.description.listnow": "Hallgatás most",
"settings.description.recentAdd": "Nemrég hozzáadott",
"settings.description.songs": "Dalok",
"settings.notyf.updateCider.update-not-available": "Nem található frissítés",
"settings.notyf.updateCider.update-downloaded": "A frissítés le lett töltve, a telepítéshez indítsa újra az alkalmazást",
"settings.notyf.updateCider.update-error": "Hiba történt a frissítés közben",
@ -322,15 +385,24 @@
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "A Cider azt érzékelte, hogy ez a számítógép nem tudja kezelni ezeket a funkciókat. Biztos, hogy folytatni szeretné?",
"settings.option.audio.audioLab": "Cider Hangstúdió",
"settings.option.audio.audioLab.description": "A Ciderhez fejlesztett hangeffektek gyűjteménye.",
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
"settings.warn.audioLab.withoutAF": "A Haladó funkcionalitás (AudioContext) szükséges a Cider Hangstúdió engedélyezéséhez.",
"settings.warn.enableAdvancedFunctionality": "A Haladó funkcionalitás (AudioContext) szükséges ezen funkció engedélyezéséhez.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analóg Érzet",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "A Korg Nutube 6P1 analóg érzetét szimulálja.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analóg Érzet erősség",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Az Analóg Érzet modul hangfeldolgozási erősségét változtatja.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Szokásos",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Magas",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmoszféra Változató",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Egy új zenei atmoszférát hoz létre, amely a legmodernebb hangfelszerelések mintájára készült.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmoszféra Változató™ Mód",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Az Atmoszféra Változató™ modul módját változtatja meg.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Natural (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Natural (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Feljavítja a 256 kbps-es AAC hang minőségét egy valós idejű algoritmus segítségével, ami kihasználja az emberi hallás pszichoakusztikus modelljeit és az AAC hang kódolási jellemzőit.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Feljavítja az AAC hang minőségét egy valós idejű algoritmus segítségével, ami kihasználja az emberi hallás pszichoakusztikus modelljeit és az AAC hang kódolási jellemzőit.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "A CAP nem kompatibilis a Térbeli Hanggal. Kapcsold ki a Térbeli Hangot a folytatáshoz.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Erősség",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Megváltoztatja a hangra végzett feldolgozás erősségét. (Az Agresszív mód nemkívánatos eredményeket hozhat!)",
@ -339,15 +411,20 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizálás",
"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. (Nem működik a felhasználó által feltöltött zenéken)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "A Cider Hangstúdió kezeli a beállítást",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli Hang",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "A hangzás háromdimenziósabbá tétele. (Ez nem összekeverendő a Dolby Atmos-szal!)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Előbeállított Térbeli Hang",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Előre beállított Térbeli hangzás, ami letiltja a Térbeli Hang testreszabási beállításait. A Térbeli Hangot be kell kapcsolni az engedélyezéshez.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Térbeli Hangprofil",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Megváltoztatja a Térbeli Hang előbeállítás profilját. (Újraindítás szükséges)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Normál",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Professzionális",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Megváltoztatja a Térbeli Hang előbeállítás profilját.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Soundstage",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separation",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimal",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "A Térbeli Hang nem kompatibilis a CAP-pal. Kapcsold ki a CAP-ot a folytatáshoz.",
"settings.option.audio.dbspl.display": "dB SPL kijelzés",
"settings.option.audio.dbspl.description": "(Haladó felhasználóknak) A hangerő dB SPL-ben történő kijelzése a dBFS helyett.",
"settings.option.audio.dbfs.calibration": "0 dBFS kalibráció",
"settings.option.audio.dbfs.description": "Enter the peak Z-weighted dB SPL when Cider is at 0 dBFS.",
"settings.header.visual": "Vizuális",
"settings.header.visual.description": "A Cider vizuális beállításainak módosítása.",
"settings.option.visual.windowStyle": "Ablakelrendezés",
@ -378,6 +455,13 @@
"settings.header.visual.theme.github.page": "Témák a GitHub-ról",
"settings.option.visual.theme.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?",
"settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét",
"settings.prompt.visual.theme.uninstallTheme": "Biztos, hogy törölni szeretnéd a {{ theme }} témát?",
"settings.option.visual.theme.checkForUpdates": "Frissítések keresése",
"settings.option.visual.theme.manageStyles": "Témakezelő",
"settings.option.visual.theme.uninstall": "Törlés",
"settings.option.visual.theme.viewInfo": "Információk",
"settings.option.visual.theme.github.available": "Elérhető",
"settings.option.visual.theme.github.applied": "Alkalmazva",
"settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve",
"settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése",
"settings.header.visual.plugin": "Plugin",
@ -414,6 +498,7 @@
"settings.option.connectivity.discordRPC.clientName": "Kliensnév",
"settings.option.connectivity.discordRPC.clearOnPause": "Rich Presence törlése megállításnál",
"settings.option.connectivity.discordRPC.hideButtons": "Rich Presence gombok elrejtése",
"settings.option.connectivity.discordRPC.hideTimestamp": "Rich Presence visszaszámláló elrejtése",
"settings.option.connectivity.discordRPC.detailsFormat": "Részletek formátuma",
"settings.option.connectivity.discordRPC.stateFormat": "Állapot formátuma",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",
@ -438,6 +523,9 @@
"settings.option.visual.transparent": "Átlátszó keret",
"settings.option.visual.transparent.description": "Átlátszó ablakkeret (a Témák támogatása és újraindítás szükséges)",
"settings.header.advanced": "Haladó",
"settings.header.connect": "Sync",
"settings.option.connect.link_account": "Enable Sync with Cider Connect",
"settings.option.connect.link_account.description": "Linking your Discord account with Cider Connect allows you to store userdata including Settings, EQ's, and eventually more once finished. (Work In Progress)",
"spatial.notTurnedOn": "A Térbeli Hang ki van kapcsolva, használatához kapcsolja be.",
"spatial.spatialProperties": "Térbeli Hang",
"spatial.width": "Szélesség",

View file

@ -303,8 +303,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Diatar oleh Lab Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spasialisasi Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Atur ruang audio dan buat audio lebih 3 dimensi (NB: Bukan Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Spasialisasi oleh Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efek Spasialisasi yang sudah diatur. Untuk menggunakannya, matikan pengaturan custom Spasialisasi Audio dan pastikan Spasialisasi Audio sudah aktif.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Profil Spasialisasi Cider",

View file

@ -194,8 +194,6 @@
"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",
"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",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spazializza l'audio per dare un effetto più tridimensionale (nota: questo non è Dolby Atmos)",
"settings.header.visual": "Visuale",
"settings.header.visual.description": "Cambia le impostazioni visuali per Cider.",
"settings.option.visual.windowBackgroundStyle": "Stile Sfondo Finestra",

View file

@ -1,486 +1,489 @@
{
"i18n.languageName": "日本語",
"i18n.languageNameEnglish": "Japanese",
"i18n.category": "main",
"i18n.authors": "@maikirakiwi @aduki_0628",
"app.name": "Cider",
"date.format": "${y}年${m}月${d}日",
"dialog.cancel": "キャンセル",
"dialog.ok": "完了",
"notification.updatingLibrarySongs": "ライブラリの更新中...",
"notification.updatingLibraryAlbums": "ライブラリの更新中...",
"notification.updatingLibraryArtists": "ライブラリの更新中...",
"term.variables": "Variables",
"term.appleInc": "Apple Inc.",
"term.appleMusic": "Apple Music",
"term.applePodcasts": "Apple Podcasts",
"term.itunes": "iTunes",
"term.github": "GitHub",
"term.discord": "Discord",
"term.learnMore": "詳しい情報",
"term.accountSettings": "アカウント設定",
"term.logout": "サインアウト",
"term.login": "サインイン",
"term.cast": "Cast",
"term.about": "Ciderについて",
"term.privateSession": "プライベートセッション",
"term.disablePrivateSession": "プライベートセッションを無効にする",
"term.queue": "次はこちら",
"term.lyrics": "歌詞",
"term.miniplayer": "MiniPlayer",
"term.history": "History",
"term.search": "検索",
"term.library": "ライブラリ",
"term.listenNow": "今すぐ聴く",
"term.browse": "見つける",
"term.radio": "ラジオ",
"term.recentlyAdded": "最近追加した項目",
"term.songs": "曲",
"term.albums": "アルバム",
"term.artists": "アーティスト",
"term.podcasts": "Podcasts",
"term.playlists": "プレイリスト",
"term.playlist": "プレイリスト",
"term.newPlaylist": "New Playlist",
"term.newPlaylistFolder": "New Playlist Folder",
"term.createNewPlaylist": "Create New Playlist",
"term.createNewPlaylistFolder": "Create New Playlist Folder",
"term.deletePlaylist": "Are you sure you want to delete this 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.sortBy.dateAdded": "追加日",
"term.sortOrder": "並べ替え",
"term.sortOrder.ascending": "昇順",
"term.sortOrder.descending": "降順",
"term.viewAs": "表示",
"term.viewAs.coverArt": "カバーアート",
"term.viewAs.list": "リスト",
"term.size": "サイズ",
"term.size.normal": "普通",
"term.size.compact": "コンパクト",
"term.enabled": "ON",
"term.disable": "OFF",
"term.disabled": "OFF",
"term.enable": "ON",
"term.connect": "接続",
"term.connecting": "接続中",
"term.disconnect": "切断",
"term.authed": "認証済み",
"term.confirm": "よろしいでしょうか?",
"term.more": "もっと",
"term.less": "減らす",
"term.showMore": "もっと見る",
"term.showLess": "表示数を少なくする",
"term.topSongs": "トップソング",
"term.latestReleases": "ニューリリース",
"term.time.added": "追加日",
"term.time.released": "配信開始日",
"term.time.updated": "最終更新日",
"term.time.days": "日",
"term.time.day": {
"one": "日",
"other": "日"
},
"term.time.hours": "時間",
"term.time.hour": {
"one": "時間",
"other": "時間"
},
"term.time.minutes": "分",
"term.time.minute": {
"one": "分",
"other": "分"
},
"term.time.seconds": "秒",
"term.time.second": {
"one": "秒",
"other": "秒"
},
"term.fullscreenView": "全画面表示",
"term.defaultView": "ウィンドウ表示",
"term.audioSettings": "オーディオ設定",
"term.audioControls": "Volume Controls",
"term.clearAll": "消去",
"term.recentStations": "最近の再生",
"term.language": "言語",
"term.funLanguages": "Fun",
"term.noLyrics": "ローディング。。 / 歌詞が見つからない / 器楽曲.",
"term.copyright": "Copyright",
"term.rightsReserved": "All Rights Reserved.",
"term.sponsor": "スポンサーになりましょう",
"term.ciderTeam": "Cider チーム",
"term.developer": "開発者",
"term.socialTeam": "ソーシャル チーム",
"term.socials": "Socials",
"term.contributors": "貢献者",
"term.equalizer": "イコライザー",
"term.reset": "リセット",
"term.tracks": "曲",
"term.track": {
"one": "曲",
"other": "曲"
},
"term.videos": "ビデオ",
"term.menu": "メニュー",
"term.check": "確認",
"term.aboutArtist": "{{artistName}}について",
"term.topResult": "Top Result",
"term.sharedPlaylists": "プレイリストを共有",
"term.people": "ユーサ",
"term.newpreset.name": "名前を入力",
"term.addedpreset": "Added Preset",
"term.deletepreset.warn": "Are you sure you want to delete this preset?",
"term.deletedpreset": "Removed preset",
"term.defaultPresets": "Default Presets",
"term.userPresets": "User Presets",
"term.requestError": "There was a problem with the request.",
"term.song.link.generate": "Getting song.link share URL...",
"term.musicVideos": "ミュージックビデオ",
"term.stations": "ステーション",
"term.curators": "Curators",
"term.appleCurators": "Apple Curators",
"term.radioShows": "Radio Shows",
"term.recordLabels": "Record Labels",
"term.videoExtras": "Video Extras",
"term.top": "Top",
"term.version": "バージョン",
"term.noVideos": "No videos found.",
"term.plugin": "Plug-in",
"term.pluginMenu": "Plug-in Menu",
"term.pluginMenu.none": "プラグインが見つかりませんでした",
"term.replay": "リプレイ",
"term.uniqueAlbums": "Unique Albums",
"term.uniqueArtists": "Unique Artists",
"term.uniqueSongs": "Unique Songs",
"term.topArtists": "Top Artists",
"term.listenedTo": "Listened to:",
"term.times": "times",
"term.topAlbums": "Top Albums",
"term.plays": "Plays",
"term.topGenres": "Top Genres",
"term.confirmLogout": "本当にログアウトしますか?",
"term.creditDesignedBy": "${authorUsername}によってデザインされました",
"term.discNumber": "Disc ${discNumber}",
"home.title": "ホーム",
"home.recentlyPlayed": "最近の再生",
"home.recentlyAdded": "最近追加した項目",
"home.artistsFeed": "アーティストのフィード",
"home.artistsFeed.noArtist": "アーティストをフォローすると最新情報を手に入れられます",
"home.madeForYou": "あなたにおすすめ",
"home.friendsListeningTo": "友達が聴いている",
"home.followedArtists": "フォローしているアーティスト",
"error.appleMusicSubRequired": "Apple Musicのサブスクリプションが必要です。",
"error.connectionError": "Apple Musicに接続できません。",
"error.noResults": "見つかりませんでした",
"error.noResults.description": "もう一度お試しください。",
"podcast.followOnCider": "Ciderでフォロー",
"podcast.followedOnCider": "フォロー中",
"podcast.subscribeOnItunes": "iTunesで購読",
"podcast.subscribedOnItunes": "Subscribed On iTunes",
"podcast.itunesStore": "iTunes Store",
"podcast.episodes": "番組",
"podcast.playEpisode": "再生",
"podcast.website": "Podcastウェブ",
"action.edit": "Edit",
"action.done": "Done",
"action.editTracklist": "Edit Tracklist",
"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.createPlaylist": "Create a New Playlist",
"action.addToPlaylist": "Add to Playlist",
"action.removeFromPlaylist": "Remove from Playlist",
"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": "WEBリモコンQRコードを表示",
"action.playTracksNext": "${app.selectedMediaItems.length}曲が次に再生",
"action.playTracksLater": "${app.selectedMediaItems.length}曲が最後に再生",
"action.removeTracks": "${self.selectedItems.length}をキューから除外する",
"action.import": "インポート",
"action.export": "エクスポート",
"action.showAlbum": "アルバムを表示",
"action.tray.minimize": "最小化",
"action.tray.quit": "終了",
"action.tray.show": "Show Cider",
"action.update": "アップデート",
"action.install": "インストール",
"action.copy": "コピー",
"action.newpreset": "新しいプリセット",
"action.deletepreset": "プリセットを削除",
"action.open": "開く",
"action.relaunch.confirm": "Ciderを再開しますか",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Cast to Devices",
"action.cast.stop": "Stop casting to all devices",
"action.cast.airplay": "AirPlay",
"action.cast.airplay.underdevelopment": "AirPlay is still under development",
"action.cast.scan": "Scan",
"action.cast.scanning": "Scanning...",
"action.createNew": "Create New...",
"action.openArtworkInBrowser": "Open artwork in browser",
"settings.header.general": "一般",
"settings.header.general.description": "Ciderの一般設定",
"settings.option.general.language": "言語",
"settings.option.general.resumebehavior": "Resume behavior",
"settings.option.general.resumebehavior.description": "Resume behavior affects how Cider will resume your session when you return to the app.",
"settings.option.general.resumebehavior.locally": "Locally",
"settings.option.general.resumebehavior.locally.description": "このコンピューターでの最終セッションを復元",
"settings.option.general.resumebehavior.history": "History",
"settings.option.general.resumebehavior.history.description": "Apple Musicの履歴から曲を復元",
"settings.option.general.resumetabs" : "Open Tab on Launch",
"settings.option.general.resumetabs.description" : "You can choose what tab you want to open when you launch Cider.",
"settings.option.general.resumetabs.dynamic" : "Dynamic",
"settings.option.general.resumetabs.dynamic.description" : "Cider will open the tab that you last used.",
"settings.option.general.language.main": "メイン",
"settings.option.general.language.fun": "荒らし",
"settings.option.general.language.unsorted": "未分類",
"settings.option.general.updateCider": "アップデート",
"settings.option.general.updateCider.branch": "Cider Update Branch",
"settings.option.general.updateCider.branch.description": "Select the branch to update Cider to",
"settings.option.general.updateCider.branch.main": "Stable",
"settings.option.general.updateCider.branch.develop": "Development",
"settings.option.general.customizeSidebar": "Customize Sidebar Items",
"settings.option.general.customizeSidebar.customize": "Customize",
"settings.option.general.keybindings": "Keybindings",
"settings.notyf.general.keybindings.update.success": "Keybind updated successfully",
"settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider",
"settings.option.general.keybindings.open": "Open",
"settings.description.search": "Search",
"settings.description.albums": "Library Albums",
"settings.description.artists": "Library Artists",
"settings.description.browse": "Browse",
"settings.description.private": "Toggle Private Session",
"settings.description.remote": "Web Remote",
"settings.description.audio": "Audio Settings",
"settings.description.plugins": "Plugins Menu",
"settings.description.cast": "Cast to Devices",
"settings.description.settings": "Settings",
"settings.description.developer": "Developer Tools",
"settings.notyf.updateCider.update-not-available": "現在最新版です",
"settings.notyf.updateCider.update-downloaded": "アップデートは再起動後に適用されます",
"settings.notyf.updateCider.update-error": "アップデートに失敗しました",
"settings.notyf.updateCider.update-timeout": "アップデートはタイムアウトしました",
"settings.header.audio": "オーディオ",
"settings.header.audio.description": "Ciderのオーディオ設定",
"settings.option.audio.volumeStep": "音量調整のステップ",
"settings.option.audio.maxVolume": "最大音量",
"settings.option.audio.changePlaybackRate": "Change Playback Rate",
"settings.option.audio.playbackRate": "Playback Rate",
"settings.option.audio.playbackRate.change": "Change",
"settings.option.audio.quality": "音質",
"settings.header.audio.quality.hireslossless": "ハイレゾロスレス",
"settings.header.audio.quality.hireslossless.description": "(最大解像度 24 ビット192 kHz)",
"settings.header.audio.quality.lossless": "ロスレス",
"settings.header.audio.quality.lossless.description": "(最大解像度 24 ビット48 kHz)",
"settings.header.audio.quality.enhanced": "エンハンスド",
"settings.header.audio.quality.high": "高品質",
"settings.header.audio.quality.standard": "高効率",
"settings.option.audio.seamlessTransition": "曲間なしで再生",
"settings.option.audio.enableAdvancedFunctionality": "先進的な機能",
"settings.option.audio.enableAdvancedFunctionality.description": "AudioContextを有効にすると、オーディオーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider thinks your PC can't handle these features. Are you sure you want to continue?",
"settings.option.audio.audioLab": "Cider Audio Lab",
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Korg Nutube 6P1をモデルにしたオーディオをシミュレートします",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Changes the intensity of the Analog Warmth Module processing.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Smooth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Warm",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizer™",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realizes a different musical atmosphere modelled after the state of the art audio setups.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizer™ Mode",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of operation of the Atmosphere Realizer module.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Natural (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Natural (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "音楽をより豊かに、生き生きとさせます",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAPはSpatializationと互換性がありません",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAPの強さ",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "音に施す処理の強さを設定します (強くしすぎると望ましい結果が得られないかもしれません)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "高",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "オーディオノーマライズ",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "さまざまな曲の音量を均一にし、より整った音を楽しめるようにする機能です。",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Managed by Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "オーディオ空間化",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "音声を空間化しすることで、より立体的にできます(Dolby Atmosではありません)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "開発チームがチューニングした設定を使用することができます。(オーディオ空間化を有効にする必要があります)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Changes the Tuning Profile of the Spatialization.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "オーディオ空間化はCAPと互換性がありません",
"settings.header.visual": "ビジュアル",
"settings.header.visual.description": "Ciderのビジュアル設定",
"settings.option.visual.windowStyle": "Window Style",
"settings.option.visual.windowBackgroundStyle": "背景の設定",
"settings.header.visual.windowBackgroundStyle.none": "なし",
"settings.header.visual.windowBackgroundStyle.artwork": "アートワーク",
"settings.header.visual.windowBackgroundStyle.image": "画像",
"settings.option.visual.animatedArtwork": "アニメーションアートワーク",
"settings.header.visual.animatedArtwork.always": "常に表示",
"settings.header.visual.animatedArtwork.limited": "アーティストページのみ表示",
"settings.header.visual.animatedArtwork.disable": "オフ",
"settings.option.visual.animatedArtworkQuality": "アニメーションアートワークの品質",
"settings.header.visual.animatedArtworkQuality.low": "低",
"settings.header.visual.animatedArtworkQuality.medium": "中",
"settings.header.visual.animatedArtworkQuality.high": "高",
"settings.header.visual.animatedArtworkQuality.veryHigh": "超高",
"settings.header.visual.animatedArtworkQuality.extreme": "最高",
"settings.option.visual.animatedWindowBackground": "背景のアニメーション",
"settings.option.visual.hardwareAcceleration": "ハードウェアアクセラレーション",
"settings.option.visual.hardwareAcceleration.description": "再起動してください",
"settings.header.visual.hardwareAcceleration.default": "既定",
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.option.visual.uiscale": "UI Scale",
"settings.header.visual.theme": "テーマ",
"settings.option.visual.theme.github.download": "GitHub URLからインストール",
"settings.option.visual.theme.github.openfolder": "Open Themes Folder",
"settings.option.visual.theme.github.explore": "GitHubで探す",
"settings.header.visual.theme.github.page": "GitHub",
"settings.option.visual.theme.github.install.confirm": "本当に {{ repo }} をインストールしますか?",
"settings.prompt.visual.theme.github.URL": "インストールしたいテーマのURLを入力してください",
"settings.notyf.visual.theme.install.success": "テーマのインストールが完了しました",
"settings.notyf.visual.theme.install.error": "テーマのインストールに失敗しました",
"settings.header.visual.plugin": "プラグイン",
"settings.option.visual.plugin.github.download": "GitHub URLからインストール",
"settings.option.visual.plugin.github.explore": "GitHubで探す",
"settings.header.visual.plugin.github.page": "GitHub",
"settings.option.visual.plugin.github.install.confirm": "本当に {{ repo }} をインストールしますか?",
"settings.prompt.visual.plugin.github.URL": "インストールしたいプラグインのURLを入力してください",
"settings.prompt.visual.plugin.github.success": "プラグインのインストールを完了させるには「完了」を押した後にCiderを再起動してください",
"settings.notyf.visual.plugin.install.success": "プラグインのインストールが完了しました",
"settings.notyf.visual.plugin.install.error": "プラグインのインストールに失敗しました",
"settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Dark",
"settings.option.visual.showPersonalInfo": "個人情報を表示する",
"settings.header.window": "ウィンドウ",
"settings.header.window.description": "ウィンドウの設定",
"settings.option.window.openOnStartup": "Ciderをスタートアップに設定する",
"settings.option.window.openOnStartup.hidden": "パソコン起動時にCiderをトレイに最小化",
"settings.option.window.useNativeTitleBar": "Use Native Title Bar",
"settings.option.window.windowControlStyle": "Window Control Style",
"settings.option.window.windowControlStyle.right": "右側",
"settings.option.window.windowControlStyle.left": "左側",
"settings.header.lyrics": "歌詞",
"settings.header.lyrics.description": "Adjust the lyrics settings for Cider.",
"settings.option.lyrics.enableMusixmatch": "Musixmatchが提供する歌詞を表示する",
"settings.option.lyrics.enableMusixmatchKaraoke": "カラオケモードを有効にする (Musixmatchのみで利用できます)",
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatchで表示する歌詞の言語",
"settings.option.lyrics.enableYoutubeLyrics": "YouTubeの歌詞をミュージックビデオで使用する",
"settings.option.lyrics.enableQQLyrics": "Enable QQ Lyrics",
"settings.header.connectivity": "接続",
"settings.header.connectivity.description": "Ciderの接続設定",
"settings.option.connectivity.playbackNotifications": "再生している曲を通知する",
"settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.discordRPC.clientName": "Client Name",
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause",
"settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discord Rich Presence",
"settings.option.connectivity.discordRPC.detailsFormat": "Details Format",
"settings.option.connectivity.discordRPC.stateFormat": "State Format",
"settings.option.connectivity.lastfmScrobble": "Last.fm に接続する",
"settings.option.connectivity.lastfmScrobble.delay": "遅延 (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Last.fm Now Playingを有効化する",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "曲名からフューチャリングいているアーティストの名前を削除する (Last.fm)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "ループトラックのフィルター(Last.fm)",
"settings.header.debug": "デバッグ",
"settings.option.debug.copy_log": "Copy logs to clipboard",
"settings.option.debug.openAppData": "Open Cider Folder",
"settings.header.experimental": "試験的な機能",
"settings.header.experimental.description": "試験的な設定",
"settings.option.experimental.reinstallwidevine": "Reinstall WidevineCDM",
"settings.option.experimental.reinstallwidevine.confirm": "Are you sure you want to reinstall Widevine?",
"settings.option.experimental.unknownPlugin": "未知のダウンロード元",
"settings.option.experimental.unknownPlugin.description": "外部からプラグインをインストールできるようにする",
"settings.option.experimental.compactUI": "コンパクトUI",
"settings.option.window.close_button_hide": "Ciderを閉じるとタスクに最小化する",
"settings.option.experimental.inline_playlists": "プレイリストをインラインに表示する",
"settings.option.advanced.playlistTrackMapping": "プレイリストをマッピング",
"settings.option.advanced.playlistTrackMapping.description": "プレイリストをスキャンすることで含まれる曲をより識別しやすくなります",
"settings.option.visual.transparent": "背景の透過",
"settings.option.visual.transparent.description": "(テーマがこの機能をサポートしている必要があります)",
"settings.header.advanced": "Advanced",
"settings.header.connect": "Sync",
"settings.option.connect.link_account": "Enable Sync with Cider Connect",
"settings.option.connect.link_account.description": "Linking your Discord account with Cider Connect allows you to store userdata including Settings, EQ's, and eventually more once finished. (Work In Progress)",
"spatial.notTurnedOn": "オーディオ空間化が無効になっています。この機能を使用するには有効にしてください!",
"spatial.spatialProperties": "空間化のプロパティ",
"spatial.width": "幅",
"spatial.height": "高さ",
"spatial.depth": "奥行",
"spatial.gain": "ゲイン",
"spatial.roomMaterials": "部屋のマテリアル",
"spatial.roomDimensions": "部屋の大きさ",
"spatial.roomPositions": "部屋の位置",
"spatial.setDimensions": "大きさを設定する",
"spatial.setPositions": "位置を設定する",
"spatial.up": "上",
"spatial.front": "手前",
"spatial.left": "左",
"spatial.right": "右",
"spatial.back": "奥",
"spatial.down": "下",
"spatial.listener": "リスナー",
"spatial.audioSource": "音源",
"settings.header.unfinished": "未完了",
"remote.web.title": "Cider リモート",
"remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする",
"share.platform.twitter.tweet": "{{song}}をApple Musicで聞いています\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Reddit",
"share.platform.telegram": "Telegram",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "Email",
"share.platform.songLink": "song.linkのURLをコピーする",
"share.platform.clipboard": "URLをコピーする",
"about.thanks": "Cider Collective とご協力いただいた貢献者様に感謝申し上げます。"
}
"i18n.languageName": "日本語",
"i18n.languageNameEnglish": "Japanese",
"i18n.category": "main",
"i18n.authors": "@maikirakiwi @tanaka_kakuel",
"app.name": "Cider",
"date.format": "${y}年${m}月${d}日",
"dialog.cancel": "キャンセル",
"dialog.ok": "完了",
"notification.updatingLibrarySongs": "ライブラリの更新中...",
"notification.updatingLibraryAlbums": "ライブラリの更新中...",
"notification.updatingLibraryArtists": "ライブラリの更新中...",
"term.variables": "Variables",
"term.appleInc": "Apple Inc.",
"term.appleMusic": "Apple Music",
"term.applePodcasts": "Apple Podcasts",
"term.itunes": "iTunes",
"term.github": "GitHub",
"term.discord": "Discord",
"term.learnMore": "詳しい情報",
"term.accountSettings": "アカウント設定",
"term.logout": "サインアウト",
"term.login": "サインイン",
"term.cast": "Cast",
"term.about": "Ciderについて",
"term.privateSession": "プライベートセッション",
"term.disablePrivateSession": "プライベートセッションを無効にする",
"term.queue": "次はこちら",
"term.lyrics": "歌詞",
"term.miniplayer": "ミニプレイヤー",
"term.history": "履歴",
"term.search": "検索",
"term.library": "ライブラリ",
"term.listenNow": "今すぐ聴く",
"term.browse": "見つける",
"term.radio": "ラジオ",
"term.recentlyAdded": "最近追加した項目",
"term.songs": "曲",
"term.albums": "アルバム",
"term.artists": "アーティスト",
"term.podcasts": "ポッドキャスト",
"term.playlists": "プレイリスト",
"term.playlist": "プレイリスト",
"term.newPlaylist": "New Playlist",
"term.newPlaylistFolder": "新しいプレイリストフォルダ",
"term.createNewPlaylist": "新しいプレイリストを作る",
"term.createNewPlaylistFolder": "新しいプレイリストフォルダを作る",
"term.deletePlaylist": "本当にこのプレイリストを削除しますか?",
"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.sortBy.dateAdded": "追加日",
"term.sortOrder": "並べ替え",
"term.sortOrder.ascending": "昇順",
"term.sortOrder.descending": "降順",
"term.viewAs": "表示",
"term.viewAs.coverArt": "カバーアート",
"term.viewAs.list": "リスト",
"term.size": "サイズ",
"term.size.normal": "普通",
"term.size.compact": "コンパクト",
"term.enabled": "ON",
"term.disable": "OFF",
"term.disabled": "OFF",
"term.enable": "ON",
"term.connect": "接続",
"term.connecting": "接続中",
"term.disconnect": "切断",
"term.authed": "認証済み",
"term.confirm": "よろしいでしょうか?",
"term.more": "もっと",
"term.less": "減らす",
"term.showMore": "もっと見る",
"term.showLess": "表示数を少なくする",
"term.topSongs": "トップソング",
"term.latestReleases": "ニューリリース",
"term.time.added": "追加日",
"term.time.released": "配信開始日",
"term.time.updated": "最終更新日",
"term.time.days": "日",
"term.time.day": {
"one": "日",
"other": "日"
},
"term.time.hours": "時間",
"term.time.hour": {
"one": "時間",
"other": "時間"
},
"term.time.minutes": "分",
"term.time.minute": {
"one": "分",
"other": "分"
},
"term.time.seconds": "秒",
"term.time.second": {
"one": "秒",
"other": "秒"
},
"term.fullscreenView": "全画面表示",
"term.defaultView": "ウィンドウ表示",
"term.audioSettings": "オーディオ設定",
"term.audioControls": "ボリューム設定",
"term.clearAll": "消去",
"term.recentStations": "最近の再生",
"term.language": "言語",
"term.funLanguages": "Fun",
"term.noLyrics": "ローディング。。 / 歌詞が見つからない / 器楽曲.",
"term.copyright": "Copyright",
"term.rightsReserved": "All Rights Reserved.",
"term.sponsor": "スポンサーになりましょう",
"term.ciderTeam": "Cider チーム",
"term.developer": "開発者",
"term.socialTeam": "ソーシャル チーム",
"term.socials": "ソーシャル",
"term.contributors": "貢献者",
"term.equalizer": "イコライザー",
"term.reset": "リセット",
"term.tracks": "曲",
"term.track": {
"one": "曲",
"other": "曲"
},
"term.videos": "ビデオ",
"term.menu": "メニュー",
"term.check": "確認",
"term.aboutArtist": "{{artistName}}について",
"term.topResult": "検索結果",
"term.sharedPlaylists": "プレイリストを共有",
"term.people": "ユーザー",
"term.newpreset.name": "名前を入力",
"term.addedpreset": "プリセットを追加",
"term.deletepreset.warn": "本当にこのプリセットを削除しますか?",
"term.deletedpreset": "プリセットを削除",
"term.defaultPresets": "プリセットを初期化",
"term.userPresets": "ユーザープリセット",
"term.requestError": "リクエストに問題がありました",
"term.song.link.generate": "song.link を取得する",
"term.musicVideos": "ミュージックビデオ",
"term.stations": "ステーション",
"term.curators": "キュレーター",
"term.appleCurators": "Apple キュレーター",
"term.radioShows": "ラジオ",
"term.recordLabels": "レーベル",
"term.videoExtras": "出演者",
"term.top": "トップ",
"term.version": "バージョン",
"term.noVideos": "ビデオが見つかりませんでした",
"term.plugin": "プラグイン",
"term.pluginMenu": "プラグインメニュー",
"term.pluginMenu.none": "プラグインが見つかりませんでした",
"term.replay": "リプレイ",
"term.uniqueAlbums": "ユニークアルバム",
"term.uniqueArtists": "ユニークアーティスト",
"term.uniqueSongs": "ユニークソング",
"term.topArtists": "トップアーティスト",
"term.listenedTo": "Now Playing:",
"term.times": "時間",
"term.topAlbums": "トップアルバム",
"term.plays": "再生",
"term.topGenres": "トップジャンル",
"term.confirmLogout": "本当にログアウトしますか?",
"term.creditDesignedBy": "${authorUsername}によってデザインされました",
"term.discNumber": "ディスク ${discNumber}",
"home.title": "ホーム",
"home.recentlyPlayed": "最近の再生",
"home.recentlyAdded": "最近追加した項目",
"home.artistsFeed": "アーティストのフィード",
"home.artistsFeed.noArtist": "アーティストをフォローすると最新情報を手に入れられます",
"home.madeForYou": "あなたにおすすめ",
"home.friendsListeningTo": "友達が聴いている",
"home.followedArtists": "フォローしているアーティスト",
"error.appleMusicSubRequired": "Apple Musicのサブスクリプションが必要です。",
"error.connectionError": "Apple Musicに接続できません。",
"error.noResults": "見つかりませんでした",
"error.noResults.description": "もう一度お試しください。",
"podcast.followOnCider": "Ciderでフォロー",
"podcast.followedOnCider": "フォロー中",
"podcast.subscribeOnItunes": "iTunesで購読",
"podcast.subscribedOnItunes": "iTunesで購読中",
"podcast.itunesStore": "iTunes Store",
"podcast.episodes": "番組",
"podcast.playEpisode": "再生",
"podcast.website": "Podcastウェブ",
"action.edit": "編集",
"action.done": "完了",
"action.editTracklist": "トラックリストを編集",
"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.createPlaylist": "新しいプレイリストを作成する",
"action.addToPlaylist": "プレイリストに追加する",
"action.removeFromPlaylist": "プレイリストから削除する",
"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": "WEBリモコンQRコードを表示",
"action.playTracksNext": "${app.selectedMediaItems.length}曲が次に再生",
"action.playTracksLater": "${app.selectedMediaItems.length}曲が最後に再生",
"action.removeTracks": "${self.selectedItems.length}をキューから除外する",
"action.import": "インポート",
"action.export": "エクスポート",
"action.showAlbum": "アルバムを表示",
"action.tray.minimize": "最小化",
"action.tray.quit": "終了",
"action.tray.show": "表示",
"action.update": "アップデート",
"action.install": "インストール",
"action.copy": "コピー",
"action.newpreset": "新しいプリセット",
"action.deletepreset": "プリセットを削除",
"action.open": "開く",
"action.relaunch.confirm": "Ciderを再開しますか",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "デバイスにキャストする",
"action.cast.stop": "すべてのデバイスでキャストを中止する",
"action.cast.airplay": "AirPlay",
"action.cast.airplay.underdevelopment": "AirPlayはまだ開発中です",
"action.cast.scan": "スキャン",
"action.cast.scanning": "スキャン中...",
"action.createNew": "新規作成...",
"action.openArtworkInBrowser": "アートワークをブラウザで表示する",
"settings.header.general": "一般",
"settings.header.general.description": "Ciderの一般設定",
"settings.option.general.language": "言語",
"settings.option.general.resumebehavior": "再開の動作",
"settings.option.general.resumebehavior.description": "この設定はciderを再起動した際に影響します",
"settings.option.general.resumebehavior.locally": "ローカル",
"settings.option.general.resumebehavior.locally.description": "このコンピューターでの最終セッションを復元",
"settings.option.general.resumebehavior.history": "履歴",
"settings.option.general.resumebehavior.history.description": "Apple Musicの履歴から曲を復元",
"settings.option.general.resumetabs" : "起動時にタブを開く",
"settings.option.general.resumetabs.description" : "Ciderを起動したときに開くタブを選択することができます",
"settings.option.general.resumetabs.dynamic" : "ダイナミック",
"settings.option.general.resumetabs.dynamic.description" : "最後のセッションで開いていたタブを開きます",
"settings.option.general.language.main": "メイン",
"settings.option.general.language.fun": "荒らし",
"settings.option.general.language.unsorted": "未分類",
"settings.option.general.updateCider": "アップデート",
"settings.option.general.updateCider.branch": "ciderのバージョン詳細",
"settings.option.general.updateCider.branch.description": "ciderのバージョンを設定できます",
"settings.option.general.updateCider.branch.main": "安定版",
"settings.option.general.updateCider.branch.develop": "ベータ版",
"settings.option.general.customizeSidebar": "サイドバーをカスタマイズ",
"settings.option.general.customizeSidebar.customize": "カスタマイズ",
"settings.option.general.keybindings": "キーバインド",
"settings.notyf.general.keybindings.update.success": "キーバインドのアップデートに成功しました",
"settings.prompt.general.keybindings.update.success": "キーバインドのアップデートに成功しました。OKを押すとciderが再起動します",
"settings.option.general.keybindings.open": "開く",
"settings.description.search": "検索",
"settings.description.albums": "ライブラリのアルバム",
"settings.description.artists": "ライブラリのアーティスト",
"settings.description.browse": "検索",
"settings.description.private": "プライベートセッションに切り替える",
"settings.description.remote": "WEBで遠隔操作",
"settings.description.audio": "オーディオの設定",
"settings.description.plugins": "プラグインのメニュー",
"settings.description.cast": "デバイスでキャストする",
"settings.description.settings": "設定",
"settings.description.developer": "デベロッパーツール",
"settings.notyf.updateCider.update-not-available": "現在最新版です",
"settings.notyf.updateCider.update-downloaded": "アップデートは再起動後に適用されます",
"settings.notyf.updateCider.update-error": "アップデートに失敗しました",
"settings.notyf.updateCider.update-timeout": "アップデートはタイムアウトしました",
"settings.header.audio": "オーディオ",
"settings.header.audio.description": "Ciderのオーディオ設定",
"settings.option.audio.volumeStep": "音量調整のステップ",
"settings.option.audio.maxVolume": "最大音量",
"settings.option.audio.changePlaybackRate": "再生速度の変更",
"settings.option.audio.playbackRate": "再生速度の変更",
"settings.option.audio.playbackRate.change": "変更",
"settings.option.audio.quality": "音質",
"settings.header.audio.quality.hireslossless": "ハイレゾロスレス",
"settings.header.audio.quality.hireslossless.description": "(最大解像度 24 ビット192 kHz)",
"settings.header.audio.quality.lossless": "ロスレス",
"settings.header.audio.quality.lossless.description": "(最大解像度 24 ビット48 kHz)",
"settings.header.audio.quality.enhanced": "エンハンスド",
"settings.header.audio.quality.high": "高品質",
"settings.header.audio.quality.standard": "高効率",
"settings.option.audio.seamlessTransition": "曲間なしで再生",
"settings.option.audio.enableAdvancedFunctionality": "先進的な機能",
"settings.option.audio.enableAdvancedFunctionality.description": "AudioContextを有効にすると、オーディオーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "あなたのPCがこの処理に耐えられないかもしれません。",
"settings.option.audio.audioLab": "Cider Audio Lab",
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
"settings.warn.audioLab.withoutAF": "Cider Audio Labを有効にするにはAudioContextを有効にする必要があります",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Korg Nutube 6P1をモデルにしたオーディオをシミュレートします",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Changes the intensity of the Analog Warmth Module processing.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "なめらか",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "暖かい",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizer™",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "最先端のオーディオセットアップを模した、異なる音楽の雰囲気を実現します。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizer™ モード",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Atmosphere Realizer™のモードを変更します",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "ほうじ茶チーズクリーマティー",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "玄米茶タピオカミルクティー",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "岩塩クリームチーズティー",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "宇治抹茶ミルクティー",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "春毫ジャスミンマキアート",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "北海道のロイヤルミルクティー",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500": "ムーンライトソフトケーキ",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "音楽をより豊かに、生き生きとさせます",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAPはSpatializationと互換性がありません",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAPの強さ",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "音に施す処理の強さを設定します (強くしすぎると望ましい結果が得られないかもしれません)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "高",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "オーディオノーマライズ",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "さまざまな曲の音量を均一にし、より整った音を楽しめるようにする機能です。",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Audio Labの設定",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "オーディオ空間化",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "音声を空間化しすることで、より立体的にできます(Dolby Atmosではありません)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "開発チームがチューニングした設定を使用することができます。(オーディオ空間化を有効にする必要があります)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "プロファイルをSpatializationに変更します",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "スタンダード",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "オーディオ空間化はCAPと互換性がありません",
"settings.header.visual": "ビジュアル",
"settings.header.visual.description": "Ciderのビジュアル設定",
"settings.option.visual.windowStyle": "Window Style",
"settings.option.visual.windowBackgroundStyle": "背景の設定",
"settings.header.visual.windowBackgroundStyle.none": "なし",
"settings.header.visual.windowBackgroundStyle.artwork": "アートワーク",
"settings.header.visual.windowBackgroundStyle.image": "画像",
"settings.option.visual.animatedArtwork": "アニメーションアートワーク",
"settings.header.visual.animatedArtwork.always": "常に表示",
"settings.header.visual.animatedArtwork.limited": "アーティストページのみ表示",
"settings.header.visual.animatedArtwork.disable": "オフ",
"settings.option.visual.animatedArtworkQuality": "アニメーションアートワークの品質",
"settings.header.visual.animatedArtworkQuality.low": "低",
"settings.header.visual.animatedArtworkQuality.medium": "中",
"settings.header.visual.animatedArtworkQuality.high": "高",
"settings.header.visual.animatedArtworkQuality.veryHigh": "超高",
"settings.header.visual.animatedArtworkQuality.extreme": "最高",
"settings.option.visual.animatedWindowBackground": "背景のアニメーション",
"settings.option.visual.hardwareAcceleration": "ハードウェアアクセラレーション",
"settings.option.visual.hardwareAcceleration.description": "再起動してください",
"settings.header.visual.hardwareAcceleration.default": "既定",
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.option.visual.uiscale": "UI Scale",
"settings.header.visual.theme": "テーマ",
"settings.option.visual.theme.github.download": "GitHub URLからインストール",
"settings.option.visual.theme.github.openfolder": "テーマフォルダを開く",
"settings.option.visual.theme.github.explore": "GitHubで探す",
"settings.header.visual.theme.github.page": "GitHub",
"settings.option.visual.theme.github.install.confirm": "本当に {{ repo }} をインストールしますか?",
"settings.prompt.visual.theme.github.URL": "インストールしたいテーマのURLを入力してください",
"settings.notyf.visual.theme.install.success": "テーマのインストールが完了しました",
"settings.notyf.visual.theme.install.error": "テーマのインストールに失敗しました",
"settings.header.visual.plugin": "プラグイン",
"settings.option.visual.plugin.github.download": "GitHub URLからインストール",
"settings.option.visual.plugin.github.explore": "GitHubで探す",
"settings.header.visual.plugin.github.page": "GitHub",
"settings.option.visual.plugin.github.install.confirm": "本当に {{ repo }} をインストールしますか?",
"settings.prompt.visual.plugin.github.URL": "インストールしたいプラグインのURLを入力してください",
"settings.prompt.visual.plugin.github.success": "プラグインのインストールを完了させるには「完了」を押した後にCiderを再起動してください",
"settings.notyf.visual.plugin.install.success": "プラグインのインストールが完了しました",
"settings.notyf.visual.plugin.install.error": "プラグインのインストールに失敗しました",
"settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Dark",
"settings.option.visual.showPersonalInfo": "個人情報を表示する",
"settings.header.window": "ウィンドウ",
"settings.header.window.description": "ウィンドウの設定",
"settings.option.window.openOnStartup": "Ciderをスタートアップに設定する",
"settings.option.window.openOnStartup.hidden": "パソコン起動時にCiderをトレイに最小化",
"settings.option.window.useNativeTitleBar": "タイトルバーを使用する",
"settings.option.window.windowControlStyle": "ウィンドウの設定",
"settings.option.window.windowControlStyle.right": "右側",
"settings.option.window.windowControlStyle.left": "左側",
"settings.header.lyrics": "歌詞",
"settings.header.lyrics.description": "歌詞の設定",
"settings.option.lyrics.enableMusixmatch": "Musixmatchが提供する歌詞を表示する",
"settings.option.lyrics.enableMusixmatchKaraoke": "カラオケモードを有効にする (Musixmatchのみで利用できます)",
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatchで表示する歌詞の言語",
"settings.option.lyrics.enableYoutubeLyrics": "YouTubeの歌詞をミュージックビデオで使用する",
"settings.option.lyrics.enableQQLyrics": "QQの歌詞を表示する",
"settings.header.connectivity": "接続",
"settings.header.connectivity.description": "Ciderの接続設定",
"settings.option.connectivity.playbackNotifications": "再生している曲を通知する",
"settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.discordRPC.clientName": "クライアントの名前",
"settings.option.connectivity.discordRPC.clearOnPause": "一時停止した時にDiscord Rich Presenceを非表示にする",
"settings.option.connectivity.discordRPC.hideButtons": "Discord Rich Presenceのボタンを非表示にする",
"settings.option.connectivity.discordRPC.detailsFormat": "ディティールのフォーマット",
"settings.option.connectivity.discordRPC.stateFormat": "状態のフォーマット",
"settings.option.connectivity.lastfmScrobble": "Last.fm に接続する",
"settings.option.connectivity.lastfmScrobble.delay": "遅延 (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Last.fm Now Playingを有効化する",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "曲名からフューチャリングいているアーティストの名前を削除する (Last.fm)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "ループトラックのフィルター(Last.fm)",
"settings.header.debug": "デバッグ",
"settings.option.debug.copy_log": "ログをクリップボードにコピーする",
"settings.option.debug.openAppData": "Ciderのフォルダを開く",
"settings.header.experimental": "試験的な機能",
"settings.header.experimental.description": "試験的な設定",
"settings.option.experimental.reinstallwidevine": "WidevineCDMを再インストールする",
"settings.option.experimental.reinstallwidevine.confirm": "本当にWidevineを再インストールしますか",
"settings.option.experimental.unknownPlugin": "未知のダウンロード元",
"settings.option.experimental.unknownPlugin.description": "外部からプラグインをインストールできるようにする",
"settings.option.experimental.compactUI": "コンパクトUI",
"settings.option.window.close_button_hide": "Ciderを閉じるとタスクに最小化する",
"settings.option.experimental.inline_playlists": "プレイリストをインラインに表示する",
"settings.option.advanced.playlistTrackMapping": "プレイリストをマッピング",
"settings.option.advanced.playlistTrackMapping.description": "プレイリストをスキャンすることで含まれる曲をより識別しやすくなります",
"settings.option.visual.transparent": "背景の透過",
"settings.option.visual.transparent.description": "(テーマがこの機能をサポートしている必要があります)",
"settings.header.advanced": "アドバンス",
"settings.header.connect": "リンク",
"settings.option.connect.link_account": "Ciderと他のアプリをリンクさせることができます",
"settings.option.connect.link_account.description": "DiscordとCiderを接続することで、Ciderの設定を保存することができます(開発中)",
"spatial.notTurnedOn": "オーディオ空間化が無効になっています。この機能を使用するには有効にしてください!",
"spatial.spatialProperties": "空間化のプロパティ",
"spatial.width": "幅",
"spatial.height": "高さ",
"spatial.depth": "奥行",
"spatial.gain": "ゲイン",
"spatial.roomMaterials": "部屋のマテリアル",
"spatial.roomDimensions": "部屋の大きさ",
"spatial.roomPositions": "部屋の位置",
"spatial.setDimensions": "大きさを設定する",
"spatial.setPositions": "位置を設定する",
"spatial.up": "上",
"spatial.front": "手前",
"spatial.left": "左",
"spatial.right": "右",
"spatial.back": "奥",
"spatial.down": "下",
"spatial.listener": "リスナー",
"spatial.audioSource": "音源",
"settings.header.unfinished": "未完了",
"remote.web.title": "Cider リモート",
"remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする",
"share.platform.twitter.tweet": "{{song}}をApple Musicで聞いています\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
"share.platform.reddit": "Reddit",
"share.platform.telegram": "Telegram",
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "Email",
"share.platform.songLink": "song.linkのURLをコピーする",
"share.platform.clipboard": "URLをコピーする",
"about.thanks": "Cider Collective とご協力いただいた貢献者様に感謝申し上げます。"
}

View file

@ -287,8 +287,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "적극적",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "오디오 노멀라이즈",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "개별 트랙의 최대 볼륨을 노멀라이즈하여 보다 균일한 청취 경험을 제공합니다.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "오디오 공간화",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "오디오를 공간화하고 더욱 삼차원적으로 만들어줍니다. (참고: 이 기능은 Dolby Atmos가 아닙니다.)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 튜닝된 공간화",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "사전 조정된 공간화 효과는 오디오 공간화의 사용자 정의 설정을 비활성화합니다. 사용하기 위해서는 오디오 공간화가 필요합니다.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 공간화 프로필",

View file

@ -302,8 +302,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressief",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalisatie",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliseert het piekvolume voor afzonderlijke nummers om een meer uniforme luisterervaring te creëren.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Verruimtelijking",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Verruimtelijke audio en maak audio driedimensionaal (let op: dit is geen Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Afgestemde Verruimtelijking",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Vooraf afgestemde Verruimtelijking Effect, schakelt de aanpasbare instellingen van Audio Verruimtelijking uit. Verruimtelijking moet ingeschakeld zijn.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Verruimtelijking Profiel",

View file

@ -227,8 +227,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressiva",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalização de Áudio",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza o volume alto para faixas individuais para criar uma experiência de audição mais uniforme.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Áudio Espacial",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Espacialize o áudio e torne o áudio mais tridimensional (nota: isto não é Dolby Atmos)",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Áudio Espacial não é compativel com o CAP. Por favor desative-o.",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Ajustar as configurações visuais do Cider.",

View file

@ -198,8 +198,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "Pornirea funcționalității AudioContext va permite folosirea funcțiilor audio avansate precum Normalizare Volum , Egalizator și Vizualizator, dar pe unele sisteme poate cauza probleme precum întreruperi în redare.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizare Volum",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizează volumul maxim al melodiilor pentru a genera o experiență audio optimă.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spațializare Audio",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spațializează sunetul și face sunetul 3-dimensional (notă: Nu este Dolby Atmos)",
"settings.header.visual": "Vizual",
"settings.header.visual.description": "Ajustează setările vizuale pentru Cider.",
"settings.option.visual.windowBackgroundStyle": "Stil Fundal Fereastră",

View file

@ -330,8 +330,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Нормализация звука",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Нормализует пиковую громкость для отдельных треков, чтобы создать более однородное впечатление от прослушивания.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Управляется Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Пространственное звучание",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Пространственное аудио; делает звук более трехмерным (примечание: это не Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Пространственное звучание, настроенное Cider",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Предварительно настроенная пространственная обработка; отключает параметр Пространственного звучания. Пространственное звучание должно быть включено.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Профиль пространственного звучания Cider",

View file

@ -203,8 +203,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresívná",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalízacia Zvuku",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizuje silu zvuku v pesničkách pre hľadší počúvací zážitok",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Priestorový Zvuk",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Priestorový zvuk urobí zvuk 3-dimenzionálny (poznámka: Toto nie je Dolby Atmos)",
"settings.header.visual": "Visuálne",
"settings.header.visual.description": "Zmenit Visuálne nastavenia pre Cider.",
"settings.option.visual.windowBackgroundStyle": "Štýl pozadia okna",

View file

@ -21,11 +21,13 @@
"term.accountSettings": "Account Settings",
"term.logout": "Logout",
"term.login": "Log In",
"term.quickNav": "Quick Nav",
"term.cast": "Cast",
"term.about": "About",
"term.privateSession": "Private Session",
"term.disablePrivateSession": "Disable Private Session",
"term.queue": "Queue",
"term.autoplay": "Autoplay",
"term.lyrics": "Lyrics",
"term.miniplayer": "MiniPlayer",
"term.history": "History",
@ -46,12 +48,19 @@
"term.createNewPlaylist": "Create New Playlist",
"term.createNewPlaylistFolder": "Create New Playlist Folder",
"term.deletePlaylist": "Are you sure you want to delete this playlist?",
"term.navigateBack": "Navigate back",
"term.navigateForward": "Navigate forward",
"term.play": "Play",
"term.pause": "Pause",
"term.previous": "Previous",
"term.next": "Next",
"term.shuffle": "Shuffle",
"term.enableShuffle": "Enable shuffle",
"term.disableShuffle": "Disable shuffle",
"term.repeat": "Repeat",
"term.enableRepeatOne": "Enable repeat one",
"term.disableRepeatOne": "Disable repeat one",
"term.disableRepeat": "Disable repeat",
"term.volume": "Volume",
"term.mute": "Mute",
"term.unmute": "Unmute",
@ -256,6 +265,7 @@
"action.newpreset": "New Preset...",
"action.deletepreset": "Delete Preset",
"action.open": "Open",
"action.close": "Close",
"action.relaunch.confirm": "Do you want to relaunch Cider?",
"action.cast.chromecast": "Chromecast",
"action.cast.todevices": "Cast to Devices",
@ -266,6 +276,7 @@
"action.cast.scanning": "Scanning...",
"action.createNew": "Create New...",
"action.openArtworkInBrowser": "Open artwork in browser",
"action.scrollToTop": "Scroll to top",
"menubar.options.about": "About",
"menubar.options.settings": "Settings",
"menubar.options.quit": "Quit Cider",
@ -302,6 +313,9 @@
"menubar.options.trans": "Translation Report/Request",
"menubar.options.license": "View License",
"menubar.options.conf": "Open Configuration File in Editor",
"menubar.options.listennow": "Listen Now",
"menubar.options.recentlyAdded": "Recently Added",
"menubar.options.songs": "Songs",
"settings.header.general": "General",
"settings.header.general.description": "Adjust the general settings for Cider.",
"settings.option.general.language": "Language",
@ -326,9 +340,13 @@
"settings.option.general.customizeSidebar": "Customize Sidebar Items",
"settings.option.general.customizeSidebar.customize": "Customize",
"settings.option.general.keybindings": "Keybindings",
"settings.option.general.keybindings.pressCombination": "Press a combination of two keys to update keybind.",
"settings.option.general.keybindings.pressEscape": "Press Escape key to go back.",
"settings.notyf.general.keybindings.update.success": "Keybind updated successfully",
"settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider",
"settings.option.general.keybindings.open": "Open",
"settings.option.general.themeUpdateNotification": "Automatically check for theme updates",
"settings.option.general.showLovedTracksInline": "Show loved tracks inline",
"settings.description.search": "Search",
"settings.description.albums": "Library Albums",
"settings.description.artists": "Library Artists",
@ -340,6 +358,9 @@
"settings.description.cast": "Cast to Devices",
"settings.description.settings": "Settings",
"settings.description.developer": "Developer Tools",
"settings.description.listnow": "Listen Now",
"settings.description.recentAdd": "Recently Added",
"settings.description.songs": "Songs",
"settings.notyf.updateCider.update-not-available": "No update available",
"settings.notyf.updateCider.update-downloaded": "Update has been downloaded, restart to apply",
"settings.notyf.updateCider.update-error": "Error updating Cider",
@ -368,6 +389,7 @@
"settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.",
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
"settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.",
"settings.warn.enableAdvancedFunctionality": "AudioContext (Advanced Functionality) is required to enable this feature.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity",
@ -378,9 +400,9 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realizes a different musical atmosphere modelled after the state of the art audio setups.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizer™ Mode",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of operation of the Atmosphere Realizer module.",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "Natural (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "Natural (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Natural (Standard)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "Natural (High)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Natural (Plus)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the perceived audio quality of 256 kbps AAC audio by using a real-time algorithm that takes advantage of both psychoacoustic models of human hearing and AAC encoding characteristics.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is not compatible with Spatialization. Please disable Spatialization to continue.",
@ -391,15 +413,20 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience. (Does not work on user uploaded tracks)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Managed by Audio Lab",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Pre-tuned Spatializing Effect, disables the customizable settings of Audio Spatialization. Spatialization must be enabled as a prerequisite.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider Spatialization Profile",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Changes the Tuning Profile of the Spatialization.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Soundstage",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separation",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimal",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization is not compatible with CAP. Please disable CAP to continue.",
"settings.option.audio.dbspl.display": "dB SPL Display",
"settings.option.audio.dbspl.description": "(Advanced users only) Display dB SPL instead of dBFS on the volume slider.",
"settings.option.audio.dbfs.calibration": "0 dBFS Calibration",
"settings.option.audio.dbfs.description": "Enter the peak Z-weighted dB SPL when Cider is at 0 dBFS.",
"settings.header.visual": "Visual",
"settings.header.visual.description": "Adjust the visual settings for Cider.",
"settings.option.visual.windowStyle": "Window Style",
@ -435,6 +462,8 @@
"settings.option.visual.theme.manageStyles": "Manage Styles",
"settings.option.visual.theme.uninstall": "Uninstall",
"settings.option.visual.theme.viewInfo": "View Info",
"settings.option.visual.theme.github.available": "Available",
"settings.option.visual.theme.github.applied": "Applied",
"settings.notyf.visual.theme.install.success": "Theme installed successfully",
"settings.notyf.visual.theme.install.error": "Theme installation failed",
"settings.header.visual.plugin": "Plugin",
@ -471,6 +500,7 @@
"settings.option.connectivity.discordRPC.clientName": "Client Name",
"settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause",
"settings.option.connectivity.discordRPC.hideButtons": "Hide buttons on Discord Rich Presence",
"settings.option.connectivity.discordRPC.hideTimestamp": "Hide timestamp on Discord Rich Presence",
"settings.option.connectivity.discordRPC.detailsFormat": "Details Format",
"settings.option.connectivity.discordRPC.stateFormat": "State Format",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",

View file

@ -197,8 +197,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "Om du aktiverar avancerade ljudfunktioner kommer funktioner som ljudnormalisering, EQ och virtualisering aktiveras, men på några system kan detta orsaka ljudproblem.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Ljudnormalisering",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliserar höga ljudnivåer för att förbättra ljudkvaliteten.",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spiralljud",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Gör ljudet mer 3D (Ej Dolby Atmos)",
"settings.header.visual": "Visuellt",
"settings.header.visual.description": "Ändra Ciders visuella inställningar.",
"settings.option.visual.windowBackgroundStyle": "Stil för bakgrunden",

View file

@ -304,8 +304,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Ses Normalleştirme",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Ses normalleştirme alçak ve yüksek sesli şarkıları dengeler ve daha düzgün bir dinleme deneyimi sağlar.",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Laboratuvar tarafından kontrol ediliyor",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Uzamsal Ses",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Sesi uzamsallaştırın ve sesi daha 3 boyutlu hale getirin (not: Bu Dolby Atmos değildir)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Özel Ayarlanmış Uzamsallaştırma",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Önceden ayarlanmış Uzamsallaştırma Etkisi, Ses Uzamsallaştırmanın özelleştirilebilir ayarlarını devre dışı bırakır. Uzamsallaştırma bir ön koşul olarak etkinleştirilmelidir.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Mekan Profili",

View file

@ -236,8 +236,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Mạnh",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Chuẩn hoá âm lượng",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Đặt cùng mức âm lượng cho mọi bài hát",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Tạo Âm thanh đa chiều ",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Làm cho âm thanh trở nên nhiều chiều hơn (Ghi chú: Đây không phải là Dolby Atmos)",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Âm thanh đa chiều không tương thích với CAP. Hãy tắt CAP để kích hoạt.",
"settings.header.visual": "Hiển thị",
"settings.header.visual.description": "Thay đổi các cài đặt hiển thị của Cider.",

View file

@ -283,11 +283,15 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "以最先进的音频置为蓝本,实现不同的音乐气氛。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider 音乐气氛™️模式",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "更改气氛实现器模块的操作模式。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "自然(标准)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "自然(高)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "自然(增强)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "红茶芝士奶盖",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "玄米珍珠奶茶",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "岩盐芝士奶茶",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "宇治抹茶奶茶",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "春毫茉莉玛琪雅朵",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "北海道奶茶",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500": "月光软饼干",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数码增强音频处理™️",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "通过人类的听力心理学模型和 AAC 编码特色的即时算法,强化 256 kbps AAC 音频的感知音频质量。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "通过人类的听力心理学模型和 AAC 编码特色的即时算法,强化 AAC 音频的感知音频质量。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "数码增强音频处理设置",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "将更改音频处理的激进/振奋程度(增强选项有可能会引起杂讯)。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "标准",
@ -295,8 +299,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "自动将歌曲播放音量调整到相同水平,享受更舒适的聆听体验。",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "此功能由音频实验室管理",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空间音频",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "将音频进行空间化处理来制造一个更立体的聆听体验(注:此功能不是官方的杜比全景声)。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 空间音频效果",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "预先调整音频空间效果,关闭空间音讯可自订设置。但必须先打开音频空间才可以做设置。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 音频空间配置档",

View file

@ -270,7 +270,7 @@
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "溫和",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "溫暖",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數碼音訊增強處理™️",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "透過人類的聽力心理學模型和 AAC 編碼特色的即時算法,強化 256 kbps AAC 音訊的感知音訊質素。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "透過人類的聽力心理學模型和 AAC 編碼特色的即時算法,強化 AAC 音訊的感知音訊質素。",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "音訊增強處理不相容於空間音訊,請先停用空間音訊。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數碼音訊增強處理設定",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進程度(激進型選項有可能會引起雜訊)",
@ -278,8 +278,6 @@
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "激進型",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "自動將歌曲播放音量調整至相同水平,建立更統一的聆聽體驗。",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(註:此功能不是官方的杜比全景聲)。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 空間音訊效果",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "預先調整空間音訊效果,關閉空間音訊可自訂設定。但必須先開啟空間音訊才可以做設定。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 空間音訊配置檔案",

View file

@ -267,11 +267,11 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "以最先進的音訊設定為設計,實現不同的音樂氣氛。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider 音樂氣氛™️模式",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "更改氣氛實現器模塊的操作模式。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1": "自然(標準)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2": "自然(高)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3": "自然(增強)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "自然(標準)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_HIGH": "自然(高)",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "自然(增強)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 數位增強音訊處理™️",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "透過人類的聽力心理學模型和 AAC 編碼特色的即時算法,強化 256 kbps AAC 音訊的感知音訊品質。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "透過人類的聽力心理學模型和 AAC 編碼特色的即時算法,強化 AAC 音訊的感知音訊品質。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "數位增強音訊處理設定",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "將更改音訊處理的激進/振奮程度(增強選項有可能會引起雜訊)。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "標準",
@ -279,8 +279,6 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "自動將歌曲播放音量調整至相同位準,享受更舒適的聆聽體驗。",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "此功能由音訊實驗室管理",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(註:此功能不是官方的杜比全景聲)。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 空間音訊效果",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "預先調整空間音訊效果,關閉空間音訊可自訂設定。但必須先開啟空間音訊才可以做設定。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 空間音訊配置檔案",
@ -312,8 +310,14 @@
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.header.visual.theme": "主題",
"settings.option.visual.theme.github.download": "從 GitHub 網址安裝",
"settings.option.visual.theme.github.openfolder": "打開主題存放位置",
"settings.option.visual.theme.github.explore": "探索 GitHub 上的主題",
"settings.prompt.visual.theme.github.URL": "輸入你要安裝的主題網址",
"settings.option.visual.theme.manageStyles": "管理主題",
"settings.option.visual.theme.uninstall": "移除",
"settings.option.visual.theme.viewInfo": "查看資訊",
"settings.option.visual.theme.github.available": "可用",
"settings.option.visual.theme.github.applied": "已套用",
"settings.notyf.visual.theme.install.success": "主題成功安裝",
"settings.notyf.visual.theme.install.error": "主題安裝失敗",
"settings.header.visual.plugin": "模組",
@ -362,7 +366,7 @@
"settings.option.debug.openAppData": "打開 Cider 資料夾",
"settings.header.experimental": "實驗性功能",
"settings.header.experimental.description": "調整 Cider 的實驗性功能",
"settings.option.experimental.reinstallwidevine": "重新安裝 WidevineCDM",
"settings.option.experimental.reinstallwidevine": "重新安裝 WidevineCDM",
"settings.option.experimental.reinstallwidevine.confirm": "你確定要重新安裝 WidevineCDM 嗎?",
"settings.option.experimental.unknownPlugin": "未知來源",
"settings.option.experimental.unknownPlugin.description": "允許從 Cider 來源以外的 repo 安裝套件",

View file

@ -214,8 +214,6 @@
"settings.option.audio.enableAdvancedFunctionality.description": "啟用AudioContext解鎖類似音量平衡和均衡器嘅進階功能但係會喺部分電腦造成音樂Lag機。",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "平衡輕柔同響亮嘅歌曲,令你有統一嘅聆聽體驗。",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊",
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "空間化音訊,製造一個更立體嘅聆聽體驗(注意:呢個功能唔係官方嘅杜比全景聲)",
"settings.header.visual": "外觀",
"settings.header.visual.description": "調整Cider嘅外觀",
"settings.option.visual.windowBackgroundStyle": "視窗背景樣式",

View file

@ -78,6 +78,7 @@ export class BrowserWindow {
"pages/audiolabs",
"pages/zoo",
"pages/plugin-renderer",
"pages/keybinds",
"components/mediaitem-artwork",
"components/artwork-material",
"components/menu-panel",
@ -342,6 +343,8 @@ export class BrowserWindow {
});
this.options.width = windowState.width;
this.options.height = windowState.height;
this.options.x = windowState.x;
this.options.y = windowState.y;
switch (process.platform) {
default:
@ -462,6 +465,16 @@ export class BrowserWindow {
}
})
app.get("/cideraudio/impulses/:file", (req, res) => {
const impulseExternals = join(utils.getPath("externals"), "/impulses/")
const impulseFile = join(impulseExternals, req.params.file)
if(existsSync(impulseFile)) {
res.sendFile(impulseFile)
}else{
res.sendFile(join(utils.getPath('srcPath'), "./renderer/audio/impulses/" + req.params.file))
}
})
app.get("/api/playback/:action", (req, res) => {
const action = req.params.action;
switch (action) {
@ -942,13 +955,23 @@ export class BrowserWindow {
switch (path) {
default:
case "plugins":
shell.openPath(utils.getPath("plugins"));
if (existsSync(utils.getPath("plugins"))) {
shell.openPath(utils.getPath("plugins"));
} else {
mkdirSync(utils.getPath("plugins"));
shell.openPath(utils.getPath("plugins"));
}
break;
case "userdata":
shell.openPath(app.getPath("userData"));
break;
case "themes":
shell.openPath(utils.getPath("themes"));
if (existsSync(utils.getPath("themes"))) {
shell.openPath(utils.getPath("themes"));
} else {
mkdirSync(utils.getPath("themes"));
shell.openPath(utils.getPath("themes"));
}
break;
}
});
@ -1060,6 +1083,11 @@ export class BrowserWindow {
BrowserWindow.win.setFullScreen(flag)
})
//Fullscreen
ipcMain.on('getFullScreen', (event, flag) => {
event.returnValue = BrowserWindow.win.isFullScreen()
})
//Fullscreen
ipcMain.on('detachDT', (_event, _) => {
BrowserWindow.win.webContents.openDevTools({mode: 'detach'});

View file

@ -17,6 +17,7 @@ export class Store {
"client": "Cider",
"clear_on_pause": true,
"hide_buttons": false,
"hide_timestamp": false,
"state_format": "by {artist}",
"details_format": "{title}",
},
@ -51,27 +52,39 @@ export class Store {
},
"keybindings": {
"search": [
process.platform == "darwin" ? "Command" : "Control",
"CommandOrControl",
"F"
],
"albums": [
process.platform == "darwin" ? "Command" : "Control",
"S"
],
"artists": [
process.platform == "darwin" ? "Command" : "Control",
"D"
"listnow": [
"CommandOrControl",
"L"
],
"browse": [
process.platform == "darwin" ? "Command" : "Control",
"CommandOrControl",
"B"
],
"recentAdd": [
"CommandOrControl",
"G"
],
"songs" : [
"CommandOrControl",
"J"
],
"albums": [
"CommandOrControl",
"A"
],
"artists": [
"CommandOrControl",
"D"
],
"togglePrivateSession": [
process.platform == "darwin" ? "Command" : "Control",
"CommandOrControl",
"P"
],
"webRemote": [
process.platform == "darwin" ? "Command" : "Control",
"CommandOrControl",
"W"
],
"audioSettings": [
@ -87,15 +100,16 @@ export class Store {
"C"
],
"settings": [
process.platform == "darwin" ? "Option" : "Shift",
"CommandOrControl", // Who the hell uses a different key for this? Fucking Option?
"S"
],
"openDeveloperTools": [
process.platform == "darwin" ? "Command" : "Control",
process.platform == "darwin" ? "Option" : "Shift",
"CommandOrControl",
"Shift",
"I"
]
}
},
"showLovedTracksInline": true
},
"home": {
"followedArtists": [],
@ -128,10 +142,10 @@ export class Store {
"maikiwiAudio": {
"ciderPPE": false,
"ciderPPE_value": "MAIKIWI",
"analogWarmth": false,
"analogWarmth_value": "SMOOTH",
"atmosphereRealizer": false,
"atmosphereRealizer_value": "NATURAL_STANDARD",
"atmosphereRealizer1": false,
"atmosphereRealizer1_value": "NATURAL_STANDARD",
"atmosphereRealizer2": false,
"atmosphereRealizer2_value": "NATURAL_STANDARD",
"spatial": false,
"spatialProfile": "71_420maikiwi",
"vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts

View file

@ -183,8 +183,8 @@ export default class DiscordRPC {
] //To change attributes.url => preload/cider-preload.js
}
// Add the timestamp if its playing
if (attributes.status) {
// Add the timestamp if its playing and people want them
if (!this._utils.getStoreValue("general.discordrpc.hide_timestamp") && attributes.status) {
activity.startTimestamp = Date.now() - (attributes?.durationInMillis - attributes?.remainingTime)
activity.endTimestamp = attributes.endTime
}

View file

@ -23,8 +23,9 @@ export default class Thumbar {
label: app.getName(),
submenu: [
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.about'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('about')`)
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.toggleprivate'),
accelerator: utils.getStoreValue("general.keybindings.togglePrivateSession").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.cfg.general.privateEnabled = !app.cfg.general.privateEnabled`)
},
{type: 'separator'},
{
@ -40,30 +41,63 @@ export default class Thumbar {
{role: 'hideOthers'},
{role: 'unhide'},
]: [
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.about'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('about')`)
},
{type: 'separator'},
{role: 'quit', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.quit')},
]),
],
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.view'),
submenu: [
{role: 'reload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.reload')},
{role: 'forceReload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.forcereload')},
...(this.isMac ? [
{role: 'toggleDevTools'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.search'),
accelerator: utils.getStoreValue("general.keybindings.search").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('search')`)
},
{type:'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.listennow'),
accelerator: utils.getStoreValue('general.keybindings.listnow').join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('listen_now')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.browse'),
accelerator: utils.getStoreValue("general.keybindings.browse").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('browse')`)
},
{type: 'separator'},
{role: 'resetZoom'},
{role: 'zoomIn'},
{role: 'zoomOut'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.recentlyAdded')
,accelerator: utils.getStoreValue("general.keybindings.recentAdd").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-recentlyadded')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.songs'),
accelerator: utils.getStoreValue("general.keybindings.songs").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-songs')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.albums'),
accelerator: utils.getStoreValue("general.keybindings.albums").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-albums')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.artists'),
accelerator: utils.getStoreValue("general.keybindings.artists").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-artists')`)
},
{type: 'separator'},
{role: 'togglefullscreen'},
...(this.isMac ? [
]: []),
],
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.window'),
submenu: [
@ -73,15 +107,24 @@ export default class Thumbar {
label: 'Show',
click: () => utils.getWindow().show()
},
{role: 'zoom'},
{role: 'toggleDevTools'},
{type: 'separator'},
{
label:'Zoom',
submenu: [
{role: 'zoom'},
{role: 'resetZoom'},
{role: 'zoomIn'},
{role: 'zoomOut'},
]
},
{type: 'separator'},
{role: 'togglefullscreen'},
{type: 'separator'},
{role: 'front'},
{role: 'close'},
{role: 'close'},
{role: 'close'},
{
label: 'Edit',
submenu: [
@ -93,33 +136,14 @@ export default class Thumbar {
{role: 'paste'},
]
},
] : []
),
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.toggleprivate'),
accelerator: utils.getStoreValue("general.keybindings.togglePrivateSession").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.cfg.general.privateEnabled = !app.cfg.general.privateEnabled`)
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.webremote'),
accelerator: utils.getStoreValue("general.keybindings.webRemote").join('+'),
sublabel: 'Opens in external window',
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('remote-pair')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.audio'),
accelerator: utils.getStoreValue("general.keybindings.audioSettings").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.audioSettings = true`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.plugins'),
accelerator: utils.getStoreValue("general.keybindings.pluginMenu").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.pluginMenu = true`)
}
] : [
{type:'separator'},
{role: 'reload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.reload')},
{role: 'forceReload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.forcereload')},
]),
]
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.controls'),
submenu: [
@ -148,35 +172,32 @@ export default class Thumbar {
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.volumedown'),
accelerator: 'CommandOrControl+Down',
click: () => utils.getWindow().webContents.executeJavaScript(`app.volumeDown()`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.browse'),
accelerator: utils.getStoreValue("general.keybindings.browse").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('browse')`)
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.artists'),
accelerator: utils.getStoreValue("general.keybindings.artists").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-artists')`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.search'),
accelerator: utils.getStoreValue("general.keybindings.search").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('search')`)
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.albums'),
accelerator: utils.getStoreValue("general.keybindings.albums").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-albums')`)
},
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.cast'),
accelerator: utils.getStoreValue("general.keybindings.castToDevices").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.castMenu = true`)
},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.webremote'),
accelerator: utils.getStoreValue("general.keybindings.webRemote").join('+'),
sublabel: 'Opens in external window',
click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('remote-pair')`)
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.audio'),
accelerator: utils.getStoreValue("general.keybindings.audioSettings").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.audioSettings = true`)
},
{type: 'separator'},
{
label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.plugins'),
accelerator: utils.getStoreValue("general.keybindings.pluginMenu").join('+'),
click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.pluginMenu = true`)
}
]
},
{

View file

@ -87,6 +87,7 @@ const MusicKitInterop = {
const nowPlayingItem = mk.nowPlayingItem;
const isPlayingExport = mk.isPlaying;
const remainingTimeExport = mk.currentPlaybackTimeRemaining;
const currentPlaybackProgress = mk.currentPlaybackProgress;
const attributes = (nowPlayingItem != null ? nowPlayingItem.attributes : {});
attributes.status = isPlayingExport ?? null;
@ -109,6 +110,7 @@ const MusicKitInterop = {
? remainingTimeExport * 1000
: 0;
attributes.durationInMillis = attributes?.durationInMillis ?? 0;
attributes.currentPlaybackProgress = currentPlaybackProgress ?? 0;
attributes.startTime = Date.now();
attributes.endTime = Math.round(
attributes?.playParams?.id === cache.playParams.id

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(-0.13004,0,0,0.13004,130.354,-21.1046)">
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1181.95,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1281.96,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(0.13004,0,0,0.13004,-96.3538,-21.1046)">
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1181.95,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
<g transform="matrix(7.11542e-17,1.16204,-1.00804,6.1725e-17,1281.96,-435.575)">
<path d="M620.408,312.185C621.766,309.468 624.28,307.794 627,307.794C629.72,307.794 632.234,309.468 633.592,312.185C643.701,332.402 662.969,370.939 673.563,392.126C675.098,395.195 675.096,398.975 673.558,402.043C672.021,405.111 669.181,407 666.107,407C645.499,407 608.501,407 587.893,407C584.819,407 581.979,405.111 580.442,402.043C578.904,398.975 578.902,395.195 580.437,392.126C591.031,370.939 610.299,332.402 620.408,312.185Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(0.136376,0,0,0.136376,-36.3229,-24.4659)">
<path d="M381,245.272C381,239.496 376.31,234.806 370.534,234.806L349.603,234.806C343.826,234.806 339.137,239.496 339.137,245.272L339.137,362.84C339.137,368.616 343.826,373.306 349.603,373.306L370.534,373.306C376.31,373.306 381,368.616 381,362.84L381,245.272Z" style="fill:white;"/>
<g transform="matrix(1,0,0,1,61.8631,0)">
<path d="M381,245.272C381,239.496 376.31,234.806 370.534,234.806L349.603,234.806C343.826,234.806 339.137,239.496 339.137,245.272L339.137,362.84C339.137,368.616 343.826,373.306 349.603,373.306L370.534,373.306C376.31,373.306 381,368.616 381,362.84L381,245.272Z" style="fill:white;"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1.19618e-17,0.195351,-0.169464,1.03767e-17,78.491,-105.485)">
<path d="M621.069,310.862C622.291,308.417 624.553,306.911 627,306.911C629.447,306.911 631.709,308.417 632.931,310.862C643.071,331.141 663.672,372.343 674.309,393.619C675.69,396.38 675.688,399.781 674.305,402.541C672.922,405.3 670.367,407 667.602,407C646.846,407 607.154,407 586.398,407C583.633,407 581.078,405.3 579.695,402.541C578.312,399.781 578.31,396.38 579.691,393.619C590.328,372.343 610.929,331.141 621.069,310.862Z" style="fill:white;"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1,000 B

File diff suppressed because it is too large Load diff

View file

@ -1579,19 +1579,27 @@ input[type=checkbox][switch]:checked:active::before {
}
.playback-button.pause {
background-image: url('./assets/pause.svg');
background-image: url('./assets/cider-icons/pause.svg');
background-size: 38px;
background-position: center;
}
.playback-button.play {
background-image: url('./assets/play.svg');
background-image: url('./assets/cider-icons/play.svg');
background-size: 38px;
background-position: center;
}
.playback-button.next {
background-image: url('./assets/forward.svg');
background-image: url('./assets/cider-icons/forward.svg');
background-size: 60%;
background-position: center;
}
.playback-button.previous {
background-image: url('./assets/backward.svg');
background-image: url('./assets/cider-icons/backward.svg');
background-size: 60%;
background-position: center;
}
.playback-button {

View file

@ -114,6 +114,25 @@
margin: 2em;
}
}
// Search Page
&.search-page {
.cd-mediaitem-square.mediaitem-brick {
width: 530px !important;
.artwork-container .artwork{
height:168px !important;
width:507px !important;
z-index: 1;
}
.title{
font-weight: bold;
justify-content: left;
font-size: 18px;
margin-top: -40px;
z-index: 5;
pointer-events: none;
}
}
}
// Podcast Page
.content-inner.podcasts-page {

View file

@ -29,6 +29,7 @@ const app = new Vue({
limit: 10
},
fullscreenLyrics: false,
fullscreenState: ipcRenderer.sendSync("getFullScreen"),
playerLCD: {
playbackDuration: 0,
desiredDuration: 0,
@ -237,7 +238,9 @@ const app = new Vue({
pages: [],
},
moreinfodata: [],
notyf: notyf
notyf: notyf,
idleTimer : null,
idleState : false,
},
watch: {
cfg: {
@ -787,8 +790,8 @@ const app = new Vue({
MusicKit.getInstance().videoContainerElement = document.getElementById("apple-music-video-player")
ipcRenderer.on('theme-update', (event, arg) => {
less.refresh(true, true, true)
ipcRenderer.on('theme-update', async (event, arg) => {
await less.refresh(true, true, true)
self.setTheme(self.cfg.visual.theme, true)
if (app.cfg.visual.styles.length != 0) {
app.reloadStyles()
@ -810,7 +813,7 @@ const app = new Vue({
}
numbers.shift()
let peak = Math.max(numbers[6], numbers[7]) / 32768.0
let gain = Math.pow(10, ((-1 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
let gain = Math.pow(10, ((-1.3 - (Math.log10(peak) * 20)) / 20))// EBU R 128 Compliant
console.debug(`[Cider][MaikiwiSoundCheck] Peak Gain: '${(Math.log10(peak) * 20).toFixed(2)}' dB | Adjusting '${(Math.log10(gain) * 20).toFixed(2)}' dB`)
try {
//CiderAudio.audioNodes.gainNode.gain.value = (Math.min(Math.pow(10, (replaygain.gain / 20)), (1 / replaygain.peak)))
@ -831,8 +834,9 @@ const app = new Vue({
}
});
this.mk.addEventListener(MusicKit.Events.playbackStateDidChange, () => {
this.mk.addEventListener(MusicKit.Events.playbackStateDidChange, (event) => {
ipcRenderer.send('wsapi-updatePlaybackState', wsapi.getAttributes());
document.body.setAttribute("playback-state", event.state == 2 ? "playing" : "paused")
})
this.mk.addEventListener(MusicKit.Events.playbackTimeDidChange, (a) => {
@ -856,8 +860,29 @@ const app = new Vue({
self.$refs.queue.updateQueue();
}
this.currentSongInfo = a
try {
if (app.mk.nowPlayingItem.flavor.includes("64")) {
if (localStorage.getItem("playingBitrate") !== "64") {
localStorage.setItem("playingBitrate", "64")
CiderAudio.hierarchical_loading();
}
}
else if (app.mk.nowPlayingItem.flavor.includes("256")) {
if (localStorage.getItem("playingBitrate") !== "256") {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
}
else {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
} catch(e) {
localStorage.setItem("playingBitrate", "256")
CiderAudio.hierarchical_loading();
}
if (app.cfg.audio.normalization) {
// get unencrypted audio previews to get SoundCheck's normalization tag
try {
@ -890,8 +915,10 @@ const app = new Vue({
if (type.includes("musicVideo") || type.includes("uploadedVideo") || type.includes("music-movie")) {
document.getElementById("apple-music-video-container").style.display = "block";
document.body.setAttribute("video-playing", "true")
// app.chrome.topChromeVisible = false
} else {
document.body.removeAttribute("video-playing")
document.getElementById("apple-music-video-container").style.display = "none";
// app.chrome.topChromeVisible = true
}
@ -936,12 +963,26 @@ const app = new Vue({
this.getBrowsePage();
this.$forceUpdate()
}, 500)
document.querySelector('#apple-music-video-player-controls').addEventListener('mousemove', () => {
this.showFoo('.music-player-info',2000);
})
ipcRenderer.invoke("renderer-ready", true)
document.querySelector("#LOADER").remove()
if (this.cfg.general.themeUpdateNotification && !this.isDev) {
this.checkForThemeUpdates()
}
},
showFoo(querySelector,time) {
clearTimeout(this.idleTimer);
if (this.idleState == true) {
document.querySelector(querySelector).classList.remove("inactive");
}
this.idleState = false;
this.idleTimer = setTimeout(() => {
document.querySelector(querySelector).classList.add("inactive");
this.idleState = true;
}, time);
},
setContentScrollPos(scroll) {
this.chrome.contentScrollPosY = scroll.target.scrollTop
},
@ -991,7 +1032,7 @@ const app = new Vue({
document.querySelectorAll(`[id*='less']`).forEach(el => {
el.remove()
});
less.refresh()
await less.refresh()
}
},
async reloadStyles() {
@ -1019,7 +1060,7 @@ const app = new Vue({
}
})
less.registerStylesheetsImmediately()
less.refresh(true, true, true)
await less.refresh(true, true, true)
this.$forceUpdate()
return
},
@ -1137,28 +1178,31 @@ const app = new Vue({
}
})
},
async refreshPlaylists(localOnly = false) {
async refreshPlaylists(localOnly = false, useCachedPlaylists = true) {
let self = this
let trackMap = this.cfg.advanced.playlistTrackMapping
let newListing = []
let trackMapping = {}
const cachedPlaylist = await CiderCache.getCache("library-playlists")
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks")
if (useCachedPlaylists) {
const cachedPlaylist = await CiderCache.getCache("library-playlists")
const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks")
if (cachedPlaylist) {
console.debug("using cached playlists")
this.playlists.listing = cachedPlaylist
self.sortPlaylists()
} else {
console.debug("playlist has no cache")
}
if (cachedPlaylist) {
console.debug("using cached playlists")
this.playlists.listing = cachedPlaylist
self.sortPlaylists()
} else {
console.debug("playlist has no cache")
}
if (cachedTrackMapping) {
console.debug("using cached track mapping")
this.playlists.trackMapping = cachedTrackMapping
}
if (localOnly) {
return
if (cachedTrackMapping) {
console.debug("using cached track mapping")
this.playlists.trackMapping = cachedTrackMapping
}
if (localOnly) {
return
}
}
this.library.backgroundNotification.message = "Building playlist cache..."
@ -1263,7 +1307,7 @@ const app = new Vue({
}
}
).then(res => {
self.refreshPlaylists()
self.refreshPlaylists(false, false)
})
},
async editPlaylist(id, name = app.getLz('term.newPlaylist')) {
@ -1278,7 +1322,7 @@ const app = new Vue({
}
}
).then(res => {
self.refreshPlaylists()
self.refreshPlaylists(false, false)
})
},
copyToClipboard(str) {
@ -1322,7 +1366,7 @@ const app = new Vue({
})
self.sortPlaylists()
setTimeout(() => {
app.refreshPlaylists()
app.refreshPlaylists(false, false)
}, 8000)
})
},
@ -1339,6 +1383,9 @@ const app = new Vue({
if (found) {
self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1)
}
setTimeout(() => {
app.refreshPlaylists(false, false);
}, 8000);
})
}
},
@ -2569,7 +2616,7 @@ const app = new Vue({
})
self.sortPlaylists()
setTimeout(() => {
app.refreshPlaylists()
app.refreshPlaylists(false, false)
}, 13000)
})
},
@ -3851,12 +3898,14 @@ const app = new Vue({
el.play()
})
document.querySelector("body").classList.remove("stopanimation")
document.body.setAttribute("focus-state", "focused")
this.animateBackground = true
} else {
document.querySelectorAll(".animated-artwork-video").forEach(el => {
el.pause()
})
document.querySelector("body").classList.add("stopanimation")
document.body.setAttribute("focus-state", "blurred")
this.animateBackground = false
}
},
@ -4091,10 +4140,11 @@ const app = new Vue({
});
},
fullscreen(flag) {
this.fullscreenState = flag;
if (flag) {
ipcRenderer.send('setFullScreen', true);
if (app.mk.nowPlayingItem.type && app.mk.nowPlayingItem.type.toLowerCase().includes("video")) {
document.querySelector('video#apple-music-video-player').requestFullscreen()
// document.querySelector('video#apple-music-video-player').requestFullscreen()
} else {
app.appMode = 'fullscreen';
}
@ -4105,9 +4155,21 @@ const app = new Vue({
});
} else {
ipcRenderer.send('setFullScreen', false);
app.appMode = 'player';
if (app.mk.nowPlayingItem.type && app.mk.nowPlayingItem.type.toLowerCase().includes("video")) {
} else {
app.appMode = 'player';
}
}
},
pip(){
document.querySelector('video#apple-music-video-player').requestPictureInPicture()
// .then(pictureInPictureWindow => {
// pictureInPictureWindow.addEventListener("resize", () => {
// console.log("[PIP] Resized")
// }, false);
// })
},
miniPlayer(flag) {
if (flag) {
this.tmpWidth = window.innerWidth;

View file

@ -13192,3 +13192,18 @@ body[platform="linux"] #window-controls-container {
#app.twopanel .collection-page .top-fab {
bottom: 96px;
}
.keybinds-page .md-option-header {
padding: 0px 0px;
border-bottom: unset;
border-top: unset;
font-weight: 600;
background: rgba(255, 255, 255, 0);
font-size: 2em;
}
.content-inner.keybinds-page {
top: var(--navigationBarHeight);
padding: 15px;
}

View file

@ -417,7 +417,7 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
position: absolute;
right: 16px;
top: 3%;
background: #1c1c1c8f;
background: var(--color2);
border-radius: 12px;
z-index: 10;
height: 94%;
@ -875,17 +875,17 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
border-radius: 10px;
left: 0px;
background: var(--keyColor);
animation: expandIndicator .2s cubic-bezier(0.25, 1, 0.5, 1);
// animation: expandIndicator .2s cubic-bezier(0.25, 1, 0.5, 1);
@keyframes expandIndicator {
0% {
transform: scaleY(0);
}
// @keyframes expandIndicator {
// 0% {
// transform: scaleY(0);
// }
100% {
transform: scaleY(1);
}
}
// 100% {
// transform: scaleY(1);
// }
// }
}
.app-chrome {
@ -2885,38 +2885,40 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
.wpfade_transform-enter-active,
.wpfade_transform-leave-active {
--transitionTime: 0.2s;
transition: opacity var(--transitionTime) var(--appleEase), transform var(--transitionTime) var(--appleEase);
will-change: opacity, transform;
--transitionTime: 0.2s;
transition : opacity var(--transitionTime) var(--appleEase);
will-change : opacity, transform;
}
.wpfade_transform-enter {
opacity: 0;
transform: translateX(50%) translate3d(0,0,0);
will-change: opacity, transform;
opacity : 0;
transform : unset;
will-change: opacity;
}
.wpfade_transform-leave-to {
opacity: 0;
transform: translateX(-50%) translate3d(0,0,0);
will-change: opacity, transform;
opacity : 0;
transform : unset;
will-change: opacity;
}
.wpfade_transform_backwards-enter-active,
.wpfade_transform_backwards-leave-active {
--transitionTime: 0.2s;
transition: opacity var(--transitionTime) var(--appleEase), transform var(--transitionTime) var(--appleEase);
--transitionTime: 0.2s;
transition : opacity var(--transitionTime) var(--appleEase);
}
.wpfade_transform_backwards-enter {
opacity: 0;
transform: translateX(-50%) translate3d(0,0,0);
will-change: opacity, transform;
opacity : 0;
transform : unset;
will-change: opacity;
}
.wpfade_transform_backwards-leave-to {
opacity: 0;
transform: translateX(50%) translate3d(0,0,0);
will-change: opacity, transform;
opacity : 0;
transform : unset;
will-change: opacity;
}
.fabfade-enter-active,
@ -2944,12 +2946,12 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
.drawertransition-enter-active,
.drawertransition-leave-active {
transition: right .25s var(--appleEase);
transition: transform .25s var(--appleEase);
}
.drawertransition-enter,
.drawertransition-leave-to {
right: -300px;
transform: translateX(400px);
}
@media (prefers-color-scheme: dark) {
@ -2969,12 +2971,81 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
float: left;
display: none;
width: 100%;
height: calc(100% - var(--chromeHeight));
height: 100%;
bottom: 0;
z-index: 100000;
z-index: 100000;
}
#apple-music-video-container {
// AM Web Style Fullscreen Button
#player-fullscreen {
background-size : 50%;
background-position: center;
background-repeat : no-repeat;
filter : opacity(0.6);
// filter: drop-shadow(0px 0px 4px rgb(0 0 0 / 80%));
background-color : transparent;
border-radius : 10px;
transition : 0.2s ease-in-out filter;
bottom : 0;
&:hover {
filter : opacity(1);
transition: 0.2s ease-in-out filter;
}
}
// AM Web Style PiP Button
#player-pip {
background-color: transparent;
border-radius : 10px;
bottom : 0;
filter : opacity(0.6);
transition : 0.2s ease-in-out filter;
&:hover {
filter : opacity(1);
transition: 0.2s ease-in-out filter;
}
}
.playback-info{
position: absolute;
width:100%;
bottom: 0;
padding: 20px 40px;
background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 50%);
.song-artist{
font-size: 1.7rem;
font-weight: bold;
}
.song-name{
font-size: 1.2rem;
font-weight: bold;
color:rgb(255,255,255,0.8);
}
}
input[type="range"]{
align-self: center;
height: 4px;
border-radius: .5rem;
margin-inline: 10px;
}
.song-progress input[type="range"]{
appearance: initial;
&::-webkit-slider-thumb {
box-shadow: 0px 0px 0px #000000;
border: 1px solid #39404D;
background: #fff;
height:0.7rem;
width:0.7rem;
border-radius: 50%;
cursor: pointer;
-webkit-appearance: none;
}
}
}
#apple-music-video-player {
position: absolute;
@ -2988,13 +3059,66 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
top: var(--chromeHeight1);
bottom: unset;
}
.inactive {
opacity: 0;
}
#apple-music-video-player-controls {
position: absolute;
z-index: 100001;
float: left;
width: 100%;
height: 100%;
.playback-info{
.song-progress {
display: flex;
}
.app-chrome-item.display--large{
position: relative;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
.playback-button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 3px;
}
}
.song-artist-album {
font-weight: 400;
font-size: 12px;
text-align: center;
/*height: 1.2em;
line-height: 1.2em;*/
z-index: 1;
align-items: center;
justify-content: center;
width: 80%;
max-width: 340px;
overflow: hidden;
.song-artist-album-content {
font-weight: 400;
font-size: 12px;
text-align: center;
width: 100%;
&.song-artist-normal {
height: inherit;
}
}
&.song-artist-marquee {
> marquee {
margin-bottom: -3px;
}
}
}
}
}
#apple-music-video-player-controls #player-exit {
@ -3014,7 +3138,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
margin: 10px;
right: 50px;
border-radius: 100%;
background: rgb(255 255 255 / 50%);
display: flex;
justify-content: center;
align-items: center;
@ -3033,7 +3156,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
margin: 10px;
right: 0px;
border-radius: 100%;
background: rgb(255 255 255 / 50%);
display: flex;
justify-content: center;
align-items: center;
@ -3111,6 +3233,27 @@ body.no-gpu {
}
}
.floating-header {
background: black;
backdrop-filter: unset;
}
.artworkContainer {
animation: unset!important;
opacity: 0.7;
}
.info-rect-card {
&:before {
display: none;
}
}
.menu-panel .menu-panel-body {
background: rgb(30 30 30);
backdrop-filter: unset;
}
#navigation-bar {
backdrop-filter: unset;
mix-blend-mode: unset;
@ -3342,6 +3485,20 @@ body[platform='darwin'] {
display: none;
}
.keybinds-page .md-option-header {
padding: 0px 0px;
border-bottom: unset;
border-top: unset;
font-weight: 600;
background: rgba(255, 255, 255, 0);
font-size: 2em;
}
.content-inner.keybinds-page {
top: var(--navigationBarHeight);
padding: 15px;
}
@import url("less/macos.less");
@import url("less/linux.less");
@import url("less/compact.less");

View file

@ -86,4 +86,40 @@
&:active {
}
}
.wpfade_transform-enter-active,
.wpfade_transform-leave-active {
--transitionTime: 0.2s;
transition: opacity var(--transitionTime) var(--appleEase), transform var(--transitionTime) var(--appleEase);
will-change: opacity, transform;
}
.wpfade_transform-enter {
opacity: 0;
transform: translateX(50%) translate3d(0,0,0);
will-change: opacity, transform;
}
.wpfade_transform-leave-to {
opacity: 0;
transform: translateX(-50%) translate3d(0,0,0);
will-change: opacity, transform;
}
.wpfade_transform_backwards-enter-active,
.wpfade_transform_backwards-leave-active {
--transitionTime: 0.2s;
transition: opacity var(--transitionTime) var(--appleEase), transform var(--transitionTime) var(--appleEase);
}
.wpfade_transform_backwards-enter {
opacity: 0;
transform: translateX(-50%) translate3d(0,0,0);
will-change: opacity, transform;
}
.wpfade_transform_backwards-leave-to {
opacity: 0;
transform: translateX(50%) translate3d(0,0,0);
will-change: opacity, transform;
}

View file

@ -37,6 +37,11 @@
</template>
</transition>
<!-- Library - Artists-->
<!-- Keybinds -->
<transition name="wpfade">
<template v-if="page == 'keybinds-settings'">
<keybinds-settings></keybinds-settings>
</template>
</transition>
</div>

View file

@ -39,7 +39,8 @@
</div>
<template v-if="mk.nowPlayingItem['attributes']['playParams']">
<div class="actions">
<button class="lcdMenu" @click="nowPlayingContextMenu">
<button class="lcdMenu" @click="nowPlayingContextMenu"
:title="$root.getLz('term.more')" v-b-tooltip.hover>
<div class="svg-icon"></div>
</button>
</div>
@ -55,27 +56,36 @@
<div class="app-chrome-playback-controls">
<div class="app-chrome-item">
<button class="playback-button--small shuffle" v-if="mk.shuffleMode == 0"
@click="mk.shuffleMode = 1"></button>
@click="mk.shuffleMode = 1" :title="$root.getLz('term.enableShuffle')"
v-b-tooltip.hover></button>
<button class="playback-button--small shuffle active" v-else
@click="mk.shuffleMode = 0"></button>
@click="mk.shuffleMode = 0" :title="$root.getLz('term.disableShuffle')"
v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button previous" @click="prevButton()"></button>
<button class="playback-button previous" @click="prevButton()"
:title="$root.getLz('term.previous')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"></button>
<button class="playback-button play" @click="mk.play()" v-else></button>
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"
:title="$root.getLz('term.pause')" v-b-tooltip.hover></button>
<button class="playback-button play" @click="mk.play()" v-else
:title="$root.getLz('term.play')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button next" @click="skipToNextItem()"></button>
<button class="playback-button next" @click="skipToNextItem()"
:title="$root.getLz('term.next')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="mk.repeatMode == 0"
@click="mk.repeatMode = 1"></button>
@click="mk.repeatMode = 1" :title="$root.getLz('term.enableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat repeatOne" @click="mk.repeatMode = 2"
v-else-if="mk.repeatMode == 1"></button>
v-else-if="mk.repeatMode == 1" :title="$root.getLz('term.disableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat active" @click="mk.repeatMode = 0"
v-else-if="mk.repeatMode == 2"></button>
v-else-if="mk.repeatMode == 2" :title="$root.getLz('term.disableRepeat')"
v-b-tooltip.hover></button>
</div>
</div>
<div class="app-chrome-playback-duration">
@ -98,7 +108,9 @@
<div class="app-chrome--right">
<div class="app-chrome-item volume">
<button class="volume-button--small volume" @click="muteButtonPressed()"
:class="{'active': this.cfg.audio.volume == 0}"></button>
:class="{'active': this.cfg.audio.volume == 0}"
:title="cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')"
v-b-tooltip.hover></button>
<input type="range" @wheel="volumeWheel" :step="cfg.audio.volumeStep" min="0" :max="cfg.audio.maxVolume"
v-model="mk.volume" v-if="typeof mk.volume != 'undefined'" @change="checkMuteChange()"
v-b-tooltip.hover :title="formatVolumeTooltip()">

View file

@ -14,17 +14,20 @@
<button class="app-mainmenu"
@blur="mainMenuVisibility(false)"
@click="mainMenuVisibility(true)"
:class="{active: chrome.menuOpened}"></button>
:class="{active: chrome.menuOpened}"
:aria-label="$root.getLz('term.quickNav')"></button>
</div>
<template v-if="getThemeDirective('appNavigation') != 'seperate'">
<div class="vdiv display--large" v-if="getThemeDirective('windowLayout') == 'twopanel'"></div>
<div class="app-chrome-item">
<button class="playback-button navigation" @click="navigateBack()">
<button class="playback-button navigation" @click="navigateBack()"
:title="$root.getLz('term.navigateBack')" v-b-tooltip.hover>
<%- include('../svg/chevron-left.svg') %>
</button>
</div>
<div class="app-chrome-item">
<button class="playback-button navigation" @click="navigateForward()">
<button class="playback-button navigation" @click="navigateForward()"
:title="$root.getLz('term.navigateForward')" v-b-tooltip.hover>
<%- include('../svg/chevron-right.svg') %>
</button>
</div>
@ -33,27 +36,36 @@
<template v-if="getThemeDirective('windowLayout') != 'twopanel'">
<div class="app-chrome-item display--large">
<button class="playback-button--small shuffle" v-if="mk.shuffleMode == 0"
@click="mk.shuffleMode = 1"></button>
@click="mk.shuffleMode = 1" :title="$root.getLz('term.enableShuffle')"
v-b-tooltip.hover></button>
<button class="playback-button--small shuffle active" v-else
@click="mk.shuffleMode = 0"></button>
@click="mk.shuffleMode = 0" :title="$root.getLz('term.disableShuffle')"
v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item display--large">
<button class="playback-button previous" @click="prevButton()"></button>
<button class="playback-button previous" @click="prevButton()"
:title="$root.getLz('term.previous')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item display--large">
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"></button>
<button class="playback-button play" @click="mk.play()" v-else></button>
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"
:title="$root.getLz('term.pause')" v-b-tooltip.hover></button>
<button class="playback-button play" @click="mk.play()" v-else
:title="$root.getLz('term.play')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item display--large">
<button class="playback-button next" @click="skipToNextItem()"></button>
<button class="playback-button next" @click="skipToNextItem()"
:title="$root.getLz('term.next')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item display--large">
<button class="playback-button--small repeat" v-if="mk.repeatMode == 0"
@click="mk.repeatMode = 1"></button>
@click="mk.repeatMode = 1" :title="$root.getLz('term.enableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat repeatOne" @click="mk.repeatMode = 2"
v-else-if="mk.repeatMode == 1"></button>
v-else-if="mk.repeatMode == 1" :title="$root.getLz('term.disableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat active" @click="mk.repeatMode = 0"
v-else-if="mk.repeatMode == 2"></button>
v-else-if="mk.repeatMode == 2" :title="$root.getLz('term.disableRepeat')"
v-b-tooltip.hover></button>
</div>
</template>
</div>
@ -113,7 +125,8 @@
</div>
<template v-if="mk.nowPlayingItem['attributes']['playParams']">
<div class="actions">
<button class="lcdMenu" @click="nowPlayingContextMenu">
<button class="lcdMenu" @click="nowPlayingContextMenu"
:title="$root.getLz('term.more')" v-b-tooltip.hover>
<div class="svg-icon"></div>
</button>
</div>
@ -131,7 +144,9 @@
<template v-if="getThemeDirective('windowLayout') != 'twopanel'">
<div class="app-chrome-item volume display--large">
<button class="volume-button--small volume" @click="muteButtonPressed()"
:class="{'active': this.cfg.audio.volume == 0}"></button>
:class="{'active': this.cfg.audio.volume == 0}"
:title="cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')"
v-b-tooltip.hover></button>
<input type="range" @wheel="volumeWheel" :step="cfg.audio.volumeStep" min="0" :max="cfg.audio.maxVolume"
v-model="mk.volume" v-if="typeof mk.volume != 'undefined'" @change="checkMuteChange()"
v-b-tooltip.hover :title="formatVolumeTooltip()">

View file

@ -62,15 +62,68 @@
:
'')}}
</div>
<div id="player-pip"
@click="document.querySelector('video#apple-music-video-player').requestPictureInPicture()"
title="Picture-in-Picture">
<%- include("../svg/pip.svg") %>
</div>
<div id="player-fullscreen"
@click="document.querySelector('video#apple-music-video-player').requestFullscreen()"
title="Fullscreen">
<%- include("../svg/fullscreen.svg") %>
<div class="playback-info music-player-info">
<div class="song-artist-album-content"
style="display: inline-block; -webkit-box-orient: horizontal; white-space: nowrap;">
<div class="song-artist" style="display: inline-block">
{{ mk.nowPlayingItem?.attributes?.artistName ?? '' }}
</div>
</div>
<div class="song-name">
{{ mk.nowPlayingItem?.attributes?.name ?? '' }}
<div class="explicit-icon"
v-if="mk.nowPlayingItem?.attributes?.contentRating == 'explicit'"
style="display: inline-block"></div>
</div>
<div class="song-progress">
<p style="width: auto">{{ convertTime(getSongProgress()) }}</p>
<input type="range" step="0.01" min="0" :style="progressBarStyle()" style="width: 95%"
@input="playerLCD.desiredDuration = $event.target.value;playerLCD.userInteraction = true"
@mouseup="mk.seekToTime($event.target.value);setTimeout(()=>{playerLCD.desiredDuration = 0;playerLCD.userInteraction = false}, 1000);"
@touchend="mk.seekToTime($event.target.value);setTimeout(()=>{playerLCD.desiredDuration = 0;playerLCD.userInteraction = false}, 1000);"
:max="mk.currentPlaybackDuration" :value="getSongProgress()">
<p style="width: auto">{{ convertTime(mk.currentPlaybackDuration) }}
</div>
<div class="app-chrome-item display--large">
<div class="app-chrome-item volume display--large">
<button class="volume-button--small volume" @click="muteButtonPressed()"
:class="{'active': this.cfg.audio.volume == 0}"
:title="cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')"
v-b-tooltip.hover></button>
<input type="range" @wheel="volumeWheel" :step="cfg.audio.volumeStep" min="0" :max="cfg.audio.maxVolume"
v-model="mk.volume" v-if="typeof mk.volume != 'undefined'" @change="checkMuteChange()"
v-b-tooltip.hover :title="formatVolumeTooltip()">
</div>
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"
:title="$root.getLz('term.pause')" v-b-tooltip.hover></button>
<button class="playback-button play" @click="mk.play()" v-else
:title="$root.getLz('term.play')" v-b-tooltip.hover></button>
<div class="app-chrome-item generic">
<template v-if="lyrics && lyrics != [] && lyrics.length > 0">
<button class="playback-button--small lyrics"
:title="$root.getLz('term.lyrics')"
v-b-tooltip.hover
:class="{'active': drawer.panel == 'lyrics'}"
@click="invokeDrawer('lyrics')"></button>
</template>
<template v-else>
<button class="playback-button--small lyrics"
:style="{'opacity': 0.3, 'pointer-events': 'none'}"></button>
</template>
</div>
<div id="player-pip"
@click="pip()"
title="Picture-in-Picture"
v-b-tooltip.hover>
<%- include("../svg/pip.svg") %>
</div>
<div id="player-fullscreen"
@click="fullscreen(!fullscreenState)"
title="Fullscreen"
v-b-tooltip.hover>
<%- include("../svg/fullscreen.svg") %>
</div>
</div>
</div>
</div>
<div id="apple-music-video-player"></div>

View file

@ -43,7 +43,7 @@
page="radio"></sidebar-library-item>
</template>
<div class="app-sidebar-header-text"
<div class="app-sidebar-header-text"
@click="cfg.general.sidebarCollapsed.library = !cfg.general.sidebarCollapsed.library"
:class="{collapsed: cfg.general.sidebarCollapsed.library}">
{{$root.getLz('term.library')}}
@ -65,7 +65,7 @@
</template>
<template v-if="getPlaylistFolderChildren('p.applemusic').length != 0">
<div class="app-sidebar-header-text"
<div class="app-sidebar-header-text"
@click="cfg.general.sidebarCollapsed.amplaylists = !cfg.general.sidebarCollapsed.amplaylists"
@contextmenu="playlistHeaderContextMenu"
:class="{collapsed: cfg.general.sidebarCollapsed.amplaylists}">
@ -76,7 +76,7 @@
</sidebar-playlist>
</template>
</template>
<div class="app-sidebar-header-text"
<div class="app-sidebar-header-text"
@click="cfg.general.sidebarCollapsed.playlists = !cfg.general.sidebarCollapsed.playlists"
@contextmenu="playlistHeaderContextMenu"
:class="{collapsed: cfg.general.sidebarCollapsed.playlists}">
@ -187,32 +187,44 @@
<div class="control-buttons">
<div class="app-chrome-item">
<button class="playback-button--small shuffle" v-if="mk.shuffleMode == 0"
@click="mk.shuffleMode = 1"></button>
<button class="playback-button--small shuffle active" v-else @click="mk.shuffleMode = 0"></button>
@click="mk.shuffleMode = 1" :title="$root.getLz('term.enableShuffle')"
v-b-tooltip.hover.righttop></button>
<button class="playback-button--small shuffle active" v-else
@click="mk.shuffleMode = 0" :title="$root.getLz('term.disableShuffle')"
v-b-tooltip.hover.righttop></button>
</div>
<div class="app-chrome-item">
<button class="playback-button previous" @click="prevButton()"></button>
<button class="playback-button previous" @click="prevButton()"
:title="$root.getLz('term.previous')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"></button>
<button class="playback-button play" @click="mk.play()" v-else></button>
<button class="playback-button pause" @click="mk.pause()" v-if="mk.isPlaying"
:title="$root.getLz('term.pause')" v-b-tooltip.hover></button>
<button class="playback-button play" @click="mk.play()" v-else
:title="$root.getLz('term.play')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button next" @click="skipToNextItem()"></button>
<button class="playback-button next" @click="skipToNextItem()"
:title="$root.getLz('term.next')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="mk.repeatMode == 0"
@click="mk.repeatMode = 1"></button>
@click="mk.repeatMode = 1" :title="$root.getLz('term.enableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat repeatOne" @click="mk.repeatMode = 2"
v-else-if="mk.repeatMode == 1"></button>
v-else-if="mk.repeatMode == 1" :title="$root.getLz('term.disableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat active" @click="mk.repeatMode = 0"
v-else-if="mk.repeatMode == 2"></button>
v-else-if="mk.repeatMode == 2" :title="$root.getLz('term.disableRepeat')"
v-b-tooltip.hover></button>
</div>
</div>
<div class="app-chrome-item volume">
<div class="input-container">
<button class="volume-button--small volume" @click="muteButtonPressed()"
:class="{'active': this.cfg.audio.volume == 0}"></button>
:class="{'active': this.cfg.audio.volume == 0}"
:title="cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')"
v-b-tooltip.hover></button>
<input type="range" class="" @wheel="volumeWheel" :step="cfg.audio.volumeStep" min="0"
:max="cfg.audio.maxVolume" v-model="mk.volume" v-if="typeof mk.volume != 'undefined'"
@change="checkMuteChange()" v-b-tooltip.hover

View file

@ -3,7 +3,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('action.addToPlaylist')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<button class="playlist-item"
@ -25,7 +25,7 @@
v-model="searchQuery"
@input="search()"
class="search-input">
</div>
</div>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-window airplay-modal">
<div class="modal-header">
<div class="modal-title">{{'Enter password'}}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content" style="overflow-y: overlay; padding: 3%">
<input type="text" v-model="passcode"/>

View file

@ -4,7 +4,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('term.audioControls')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<div class="md-option-line">

View file

@ -4,7 +4,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('settings.option.audio.changePlaybackRate')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<div class="md-option-line">

View file

@ -4,7 +4,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('term.audioSettings')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<button class="playlist-item"
@ -12,11 +12,6 @@
<div class="icon"><%- include("../svg/speaker.svg") %></div>
<div class="name">{{app.getLz('term.equalizer')}}</div>
</button>
<button class="playlist-item"
@click="openSpatialAudio()" style="width:100%;">
<div class="icon"><%- include("../svg/speaker.svg") %></div>
<div class="name">{{app.getLz('settings.option.audio.enableAdvancedFunctionality.audioSpatialization')}}</div>
</button>
<button class="playlist-item"
@click="openAudioControls()" style="width:100%;">
<div class="icon"><%- include("../svg/speaker.svg") %></div>
@ -53,14 +48,6 @@
app.modals.equalizer = true
app.modals.audioSettings = false
},
openSpatialAudio() {
if (app.cfg.audio.spatial === true && app.cfg.audio.maikiwiAudio.spatial === false) {
app.modals.spatialProperties = true
app.modals.audioSettings = false
} else {
notyf.error(app.getLz('spatial.notTurnedOn'))
}
},
openAudioControls() {
app.modals.audioControls = true
app.modals.audioSettings = false

View file

@ -3,11 +3,11 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{$root.getLz('action.cast.todevices')}}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="$root.getLz('action.close')"></button>
</div>
<div class="modal-content" style="overflow-y: overlay; padding: 3%">
<div class="md-labeltext">{{$root.getLz('action.cast.chromecast')}}</div>
<div class="md-option-container" style="margin-top: 12px;margin-bottom: 12px;">
<div class="md-option-container" style="margin-top: 12px;margin-bottom: 12px;overflow-y: scroll;">
<template v-if="!scanning">
<template v-for="(device) in devices.cast">
<div class="md-option-line" style="cursor: pointer" @click="setCast(device)">
@ -34,7 +34,7 @@
</template>
</div>
<div class="md-labeltext" >{{$root.getLz('action.cast.airplay')}}</div>
<div class="md-option-container" style="margin-top: 12px;margin-bottom: 12px;">
<div class="md-option-container" style="margin-top: 12px;margin-bottom: 12px;overflow-y: scroll;">
<div class="md-option-line">
<div class="md-option-segment">
{{'EXPERIMENTAL!!! Supports Homepods / Apple TVs / Shairport for now, AirPlay on Samsung/LG/Sony devices will be added later'}}
@ -111,11 +111,11 @@
},
setCast(device) {
CiderAudio.sendAudio();
this.activeCasts.push(device);
this.activeCasts.push(device);
ipcRenderer.send('performGCCast', device, "Cider", "Playing ...", "Test build", '');
},
setAirPlayCast(device) {
this.activeCasts.push(device);
this.activeCasts.push(device);
ipcRenderer.send("performAirplayPCM",device.host,device.port,null,"","","","",device.txt)
},
stopCasting() {

View file

@ -4,10 +4,10 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('action.addToLibrary')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<button class="playlist-item"
<button class="playlist-item"
:class="{ focused: playlist.id == focused }"
@click="addToPlaylist(playlist.id)" style="width:100%;" v-for="playlist in playlistSorted" v-if="playlist.attributes.canEdit && playlist.type != 'library-playlist-folders'">
<div class="icon"><%- include("../svg/playlist.svg") %></div>
@ -25,7 +25,7 @@
v-model="searchQuery"
@input="search()"
class="search-input">
</div>
</div>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-window" >
<div class="modal-header">
<div class="modal-title">{{$root.getLz('term.equalizer')}}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="$root.getLz('action.close')"></button>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select" style="width:220px;text-align:center;margin-right:245px" v-model="$root.cfg.audio.equalizer.preset" v-on:change="changePreset($root.cfg.audio.equalizer.preset)">
<optgroup :label="$root.getLz('term.userPresets')">
@ -50,7 +50,7 @@
<input tabindex="0" type="number" class="eq-freq" orient="vertical" min="-12" max="12" step="0.1" v-model="$root.cfg.audio.equalizer.gain[2]" @change="changeGain(2)">
<input tabindex="0" type="range" class="eq-slider" orient="vertical" min="-12" max="12" step="0.1" v-model="$root.cfg.audio.equalizer.gain[2]" @change="changeGain(2)">
<input type="number" class="eq-freq" orient="vertical" min="88" max="177" step="8" v-model="$root.cfg.audio.equalizer.frequencies[2]" @change="changeFreq(2)">
<input type="number" class="eq-q" orient="vertical" min="0" max="5" step="0.1" v-model="$root.cfg.audio.equalizer.Q[2]" @change="changeQ(2)">
<input type="number" class="eq-q" orient="vertical" min="0" max="5" step="0.1" v-model="$root.cfg.audio.equalizer.Q[2]" @change="changeQ(2)">
</div>
<div class="input-container">
<input tabindex="0" type="number" class="eq-freq" orient="vertical" min="-12" max="12" step="0.1" v-model="$root.cfg.audio.equalizer.gain[3]" @change="changeGain(3)">
@ -95,8 +95,8 @@
<input type="number" class="eq-q" orient="vertical" min="0" max="5" step="0.1" v-model="$root.cfg.audio.equalizer.Q[9]" @change="changeQ(9)">
</div>
</div>
</div>
</div>
<div class="modal-lowercontent">
<div class="row">
<div class="col">

View file

@ -51,39 +51,49 @@
:max="app.mk.currentPlaybackDuration" :value="app.getSongProgress()">
</div>
</div>
<div class="control-buttons">
<div class="control-buttons">
<div class="app-chrome-item">
<button class="playback-button--small shuffle" v-if="app.mk.shuffleMode == 0"
@click="app.mk.shuffleMode = 1"></button>
@click="app.mk.shuffleMode = 1" :title="$root.getLz('term.enableShuffle')"
v-b-tooltip.hover></button>
<button class="playback-button--small shuffle active" v-else
@click="app.mk.shuffleMode = 0"></button>
@click="app.mk.shuffleMode = 0" :title="$root.getLz('term.disableShuffle')"
v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button previous" @click="app.prevButton()"></button>
<button class="playback-button previous" @click="app.prevButton()"
:title="$root.getLz('term.previous')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button pause" @click="app.mk.pause()" v-if="app.mk.isPlaying"></button>
<button class="playback-button play" @click="app.mk.play()" v-else></button>
<button class="playback-button pause" @click="app.mk.pause()" v-if="app.mk.isPlaying"
:title="$root.getLz('term.pause')" v-b-tooltip.hover></button>
<button class="playback-button play" @click="app.mk.play()" v-else
:title="$root.getLz('term.play')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button next" @click="app.skipToNextItem()"></button>
<button class="playback-button next" @click="app.skipToNextItem()"
:title="$root.getLz('term.next')" v-b-tooltip.hover></button>
</div>
<div class="app-chrome-item">
<button class="playback-button--small repeat" v-if="app.mk.repeatMode == 0"
@click="app.mk.repeatMode = 1"></button>
@click="app.mk.repeatMode = 1" :title="$root.getLz('term.enableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat repeatOne" @click="app.mk.repeatMode = 2"
v-else-if="app.mk.repeatMode == 1"></button>
v-else-if="app.mk.repeatMode == 1" :title="$root.getLz('term.disableRepeatOne')"
v-b-tooltip.hover></button>
<button class="playback-button--small repeat active" @click="app.mk.repeatMode = 0"
v-else-if="app.mk.repeatMode == 2"></button>
v-else-if="app.mk.repeatMode == 2" :title="$root.getLz('term.disableRepeat')"
v-b-tooltip.hover></button>
</div>
</div>
<div class="app-chrome-item volume display--large">
<div class="input-container">
<button class="volume-button--small volume" @click="app.muteButtonPressed()" :class="{'active': app.cfg.audio.volume == 0}"></button>
<button class="volume-button--small volume" @click="app.muteButtonPressed()" :class="{'active': app.cfg.audio.volume == 0}"
:title="app.cfg.audio.muted ? $root.getLz('term.unmute') : $root.getLz('term.mute')" v-b-tooltip.hover></button>
<input type="range" class="slider" @wheel="app.volumeWheel" :step="app.cfg.audio.volumeStep" min="0" :max="app.cfg.audio.maxVolume" v-model="app.mk.volume"
v-if="typeof app.mk.volume != 'undefined'" @change="app.checkMuteChange()"
v-b-tooltip.hover :title="$root.formatVolumeTooltip()">
</div>
</div>
</div>
</div>
</template>
@ -99,17 +109,17 @@
<lyrics-view :yoffset="120" :time="time" :lyrics="lyrics"
:richlyrics="richlyrics"></lyrics-view>
</div>
<div class="queue-col" v-if="tabMode == 'queue'">
<cider-queue v-if="tabMode == 'queue'" ref="queue" ></cider-queue>
<div class="queue-col" v-if="tabMode == 'queue'">
<cider-queue v-if="tabMode == 'queue'" ref="queue" ></cider-queue>
</div>
</div>
</div>
<div class="tab-toggles">
<div class="lyrics" :class="{active: tabMode == 'lyrics'}" @click="tabMode = (tabMode == 'lyrics') ? '' : 'lyrics'"></div>
<div class="queue" :class="{active: tabMode == 'queue'}" @click="tabMode = (tabMode == 'queue') ? '' :'queue'"></div>
</div>
</div>
</div>
</script>

View file

@ -18,7 +18,7 @@
</button>
</div>
<transition name="fabfade">
<button class="top-fab" v-show="showFab" @click="scrollToTop()">
<button class="top-fab" v-show="showFab" @click="scrollToTop()" :aria-label="app.getLz('action.scrollToTop')">
<%- include("../svg/arrow-up.svg") %>
</button>
</transition>

View file

@ -1,6 +1,6 @@
<script type="text/x-template" id="lyrics-view">
<div ref="lyricsview" class="md-body lyric-body">
<template v-if="lyrics && lyrics != [] && lyrics.length > 0">
<template v-if="lyrics && lyrics != [] && lyrics.length > 0 && !qqInstrumental(lyrics)">
<template v-for="(lyric, index) in lyrics" v-if="lyric && lyric.line && lyric.line != 'lrcInstrumental'">
<h3 class="lyric-line" @click="seekTo(lyric.startTime)" :class="{unsynced : lyric.startTime == 9999999}"
v-bind:line-index="index.toString()">
@ -183,6 +183,14 @@
}
else return []
},
qqInstrumental(lyrics) {
for(lyric of lyrics){
if (lyric.line.includes("纯音乐") && lyric.line.includes("欣赏")){
return true
}
}
return false
},
checkIfScrollIsStatic : setInterval(() => {
try {
if (position === this.$refs.lyricsview.scrollTop) {

View file

@ -20,10 +20,10 @@
<div class="popular" v-if="!showInLibrary && item?.meta?.popularity != null && item?.meta?.popularity > 0.7"></div>
<div class="isLibrary" v-if="showLibraryStatus == true">
<div v-if="showInLibrary" :style="{display: (showInLibrary ? 'block' : 'none'), 'margin-left':'11px'}">
<button @click="addToLibrary()" v-if="!addedToLibrary && (showIndex == false ||(showIndex == true && showIndexPlaylist != false))">
<button @click="addToLibrary()" v-if="!addedToLibrary && (showIndex == false ||(showIndex == true && showIndexPlaylist != false))" :aria-label="$root.getLz('action.addToLibrary')">
<div class="svg-icon addIcon" :style="{'--color': 'var(--keyColor)', '--url': 'url(./assets/feather/plus.svg)'}"></div>
</button>
<button v-else-if='!(showArtwork == true && (showIndex == false ||(showIndex == true && showIndexPlaylist != false)))' @click="playTrack()">
<button v-else-if='!(showArtwork == true && (showIndex == false ||(showIndex == true && showIndexPlaylist != false)))' @click="playTrack()" :aria-label="$root.getLz('term.play')">
<div class="svg-icon playIcon" :style="{'--color': 'var(--keyColor)', '--url': 'url(./assets/feather/play.svg)'}"></div>
</button>
</div>
@ -42,7 +42,9 @@
:size="48"
:bgcolor="getBgColor()"
:type="item.type"></mediaitem-artwork>
<button class="overlay-play" @click="playTrack()"><%- include("../svg/play.svg") %></button>
<button class="overlay-play" @click="playTrack()" :aria-label="$root.getLz('term.play')">
<%- include("../svg/play.svg") %>
</button>
</div>
<div class="info-rect" :style="{'padding-left': (showArtwork ? '' : '16px')}"
@dblclick="route()">
@ -126,7 +128,7 @@
} else {
this.itemId = this.item.id;
}
if (this.item.attributes.playParams) {
if (this.item.attributes.playParams && this.$root.cfg.general.showLovedTracksInline) {
this.getHeartStatus();
}
let duration = this.item.attributes.durationInMillis ?? 0

View file

@ -8,7 +8,7 @@
<div v-if="reasonShown" class="reasonSP ">{{item?.meta?.reason?.stringForDisplay ?? ''}}</div>
<div style="{'--spcolor': getBgColor()}"
class="cd-mediaitem-square" :class="getClasses()" @contextmenu="getContextMenu">
<template>
<template>
<div class="artwork-container">
<div class="unavailable-overlay" v-if="unavailable">
<div class="codicon codicon-circle-slash"></div>
@ -24,9 +24,13 @@
:type="item.type"></mediaitem-artwork>
</div>
<button class="menu-btn" v-if="!nomenu.includes(item.type)"
@click="getContextMenu"><%- include("../svg/more.svg") %></button>
@click="getContextMenu" :aria-label="$root.getLz('term.more')">
<%- include("../svg/more.svg") %>
</button>
<button class="play-btn" v-if="!noplay.includes(item.type)"
@click="app.playMediaItem(item)"><%- include("../svg/play.svg") %></button>
@click="app.playMediaItem(item)" :aria-label="$root.getLz('term.play')">
<%- include("../svg/play.svg") %>
</button>
<div class="badge-container" v-if="itemBadges.length != 0">
<div class="socialBadge" v-for="badge in itemBadges.limit(1)">
<mediaitem-artwork
@ -39,7 +43,7 @@
<div class="title" :title="item.attributes?.name ?? (item.relationships?.contents?.data[0]?.attributes?.name ?? '')" v-if="item.attributes.artistNames == null || kind!= 'card'" @click='app.routeView(item)'>
<div class="item-navigate text-overflow-elipsis">{{ item.attributes?.name ?? (item.relationships?.contents?.data[0]?.attributes?.name ?? '') }}</div>
<div class="explicit-icon" v-if="item.attributes && item.attributes.contentRating == 'explicit'" style= "background-image: url(./assets/explicit.svg);height: 12px;width: 12px;filter: contrast(0);background-repeat: no-repeat;margin-top: 2.63px;margin-left: 4px;"></div>
</div>
</div>
<div :title="getSubtitle()" class="subtitle item-navigate text-overflow-elipsis" @click="getSubtitleNavigation()"
v-if="getSubtitle() != ''">
{{ getSubtitle() }}
@ -242,9 +246,9 @@
let type = []
try{
type = this.item.type
}catch(e) {console.log('sd',this.item)}
if (this.kind != "") {
type = this.kind
}
@ -252,7 +256,7 @@
default:
return []
break;
case "editorial-elements":
case "editorial-elements":
case "card":
return ["mediaitem-card"]
break;
@ -265,7 +269,7 @@
case "music-videos":
case "uploadedVideo":
case "uploaded-videos":
case "library-music-videos":
case "library-music-videos":
return "mediaitem-video";
break;
}

View file

@ -2,8 +2,15 @@
<div class="mini-view" tabindex="0">
<div class="background">
</div>
<div class="player-pin" title="Pin to Top" @click="app.pinMiniPlayer()">
<span id="mini-pin">📌</span>
<div class="player-pin" title="Pin to Top" v-if="app.cfg.visual.miniplayer_top_toggle === false" @click="app.pinMiniPlayer()">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" fill="none" class="feather feather-pin">
<path d="M7.05664 16.3613C7.05664 17.1523 7.59277 17.6797 8.42773 17.6797H13.1299V21.8369C13.1299 23.0762 13.7539 24.3242 14 24.3242C14.2373 24.3242 14.8613 23.0762 14.8613 21.8369V17.6797H19.5635C20.3984 17.6797 20.9346 17.1523 20.9346 16.3613C20.9346 14.4717 19.4316 12.5293 16.9531 11.6152L16.6631 7.52832C17.9727 6.78125 19.0098 5.96387 19.4668 5.38379C19.7041 5.06738 19.8271 4.75098 19.8271 4.46973C19.8271 3.88965 19.3789 3.45898 18.7197 3.45898H9.27148C8.6123 3.45898 8.16406 3.88965 8.16406 4.46973C8.16406 4.75098 8.28711 5.06738 8.52441 5.38379C8.98145 5.96387 10.0186 6.78125 11.3281 7.52832L11.0469 11.6152C8.55957 12.5293 7.05664 14.4717 7.05664 16.3613Z" fill="#ff2654"/>
</svg>
</div>
<div class="player-pin" title="Unpin to Top" v-if="app.cfg.visual.miniplayer_top_toggle === true" @click="app.pinMiniPlayer(false)">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" fill="none" class="feather feather-pin-slashed">
<path d="M9.271 3.459c-.659 0-1.107.43-1.107 1.01 0 .282.114.59.352.897.448.59 1.494 1.415 2.777 2.162l-.07 1.02 8.99 8.991c.458-.202.722-.615.722-1.178 0-1.89-1.503-3.832-3.947-4.746l-.29-4.087c1.275-.747 2.312-1.555 2.76-2.144.246-.308.37-.633.37-.914 0-.58-.45-1.011-1.108-1.011H9.27ZM5.15 6.061l16.076 16.057c.272.281.73.273.993 0a.703.703 0 0 0 0-.984L6.15 5.076a.716.716 0 0 0-1.002 0 .711.711 0 0 0 0 .985Zm1.908 10.3c0 .791.536 1.319 1.37 1.319h4.703v4.157c0 1.24.624 2.487.861 2.487.246 0 .87-1.248.87-2.487V17.81h.413l-5.537-5.545c-1.678 1.002-2.68 2.557-2.68 4.095Z" fill="#ff2654"/>
</svg>
</div>
<div class="player-exit" title="Close" @click="app.miniPlayer(false)">
<svg fill="#323232e3" width="21" height="21" viewBox="0 0 21 21" aria-role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg">

View file

@ -4,12 +4,12 @@
<div class="modal-header">
<div class="modal-title">{{data.title}}</div>
<div class="modal-subtitle modal-title">{{data.subtitle ?? ""}}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<div class="content" v-html="data.content">
</div>
</div>
</div>
</div>
</div>
</script>
@ -31,7 +31,7 @@
self.timedelay = true
}, 1000);
})
},
methods: {
close() {

View file

@ -3,7 +3,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{$root.getLz('term.pluginMenu')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<span class="playlist-item" v-if="!app.pluginInstalled">

View file

@ -3,11 +3,11 @@
<div class="modal-window" >
<div class="modal-header">
<div class="modal-title">{{`Web Remote QR : ` + url }}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<img class="qrimg" :src="src"/>
</div>
<img class="qrimg" :src="src"/>
</div>
</div>
</div>
</script>
@ -18,12 +18,12 @@
data: function () {
return {
app: this.$root,
}
},
props: ["src","url"],
mounted() {
},
methods: {
close() {

View file

@ -5,7 +5,11 @@
<h3 class="queue-header-text">{{app.getLz('term.queue')}}</h3>
</div>
<div class="col-auto flex-center">
<button class="autoplay" :style="{'background': app.mk.autoplayEnabled ? 'var(--keyColor)' : ''}" @click="app.mk.autoplayEnabled = !app.mk.autoplayEnabled"> <img class="infinity"></button>
<button class="autoplay" :style="{'background': app.mk.autoplayEnabled ? 'var(--keyColor)' : ''}"
@click="app.mk.autoplayEnabled = !app.mk.autoplayEnabled"
:title="app.getLz('term.autoplay')" v-b-tooltip.hover>
<img class="infinity">
</button>
</div>
</div>
<div class="queue-body" v-if="page == 'history'">
@ -17,7 +21,7 @@
<div class="cd-queue-item"
:class="{selected: selectedItems.includes(position)}"
@click="select($event, position)"
@dblclick="playQueueItem(position)" :key="position"
@dblclick="playQueueItem(queueItem.item.id)" :key="position"
@contextmenu="selected = position;queueContext($event, queueItem.item, position)">
<div class="row">
<div class="col-auto flex-center">
@ -146,8 +150,8 @@
}
app.showMenuPanel(menus[useMenu], event);
},
playQueueItem(index) {
app.mk.changeToMediaAtIndex(index)
playQueueItem(id) {
app.mk.changeToMediaAtIndex(app.mk.queue._itemIDs.indexOf(id))
},
updateQueue() {
this.selected = -1

View file

@ -4,7 +4,7 @@
<div class="modal-window">
<div class="modal-header">
<div class="modal-title">{{app.getLz('action.addToPlaylist')}}</div>
<button class="close-btn" @click="app.resetState()"></button>
<button class="close-btn" @click="app.resetState()" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="modal-content">
<button class="playlist-item"
@ -26,7 +26,7 @@
v-model="searchQuery"
@input="search()"
class="search-input">
</div>
</div>
</div>
</div>
</div>

View file

@ -3,7 +3,7 @@
<div class="modal-window" v-if="ready">
<div class="modal-header">
<div class="modal-title">{{$root.getLz('spatial.spatialProperties')}}</div>
<button class="close-btn" @click="close()"></button>
<button class="close-btn" @click="close()" :aria-label="$root.getLz('action.close')"></button>
</div>
<div class="modal-content">
<template v-if="roomEditType == 'dimensions'">
@ -15,7 +15,7 @@
</div>
<div class="row">
<div class="col">
<div class="row">
<div class="col-3 flex-center">
{{$root.getLz('spatial.width')}}
@ -29,7 +29,7 @@
v-model="room_dimensions.width" step="1"/>
</div>
</div>
<div class="row">
<div class="col-3 flex-center">
{{$root.getLz('spatial.height')}}
@ -43,7 +43,7 @@
v-model="room_dimensions.height" step="1"/>
</div>
</div>
<div class="row">
<div class="col-3 flex-center">
{{$root.getLz('spatial.depth')}}
@ -80,7 +80,7 @@
</div>
<div class="row">
<div class="col">
<div class="row">
<div class="col-3 flex-center">
X ({{$root.getLz('spatial.listener')}})

View file

@ -65,7 +65,7 @@
<div id="LOADER">
<%- include("../assets/cider-round.svg") %>
</div>
<div id="app" :class="getAppClasses()">
<div id="app" :class="getAppClasses()" :window-style="cfg.visual.directives.windowLayout">
<transition name="fsModeSwitch">
<div id="app-main" v-show="appMode == 'player'">
<%- include('app/chrome-top'); %>

View file

@ -16,7 +16,7 @@
size="190" type="artists"></mediaitem-artwork>
<button class="overlay-play" @click="app.mk.setStationQueue({artist:'a-'+data.id}).then(()=>{
app.mk.play()
})">
})" :aria-label="app.getLz('term.play')">
<%- include("../svg/play.svg") %>
</button>
</div>
@ -26,11 +26,11 @@
>
<button class="artist-play" @click="app.mk.setStationQueue({artist:'a-'+data.id}).then(()=>{
app.mk.play()
})"><%- include("../svg/play.svg") %></button>
})" :aria-label="app.getLz('term.play')"><%- include("../svg/play.svg") %></button>
<h1>{{ data.attributes.name }}</h1>
</div>
</div>
<button class="more-btn-round" @click="artistMenu" style="pointer-events: all;">
<button class="more-btn-round" @click="artistMenu" style="pointer-events: all;" :aria-label="app.getLz('term.more')">
<div class="svg-icon"></div>
</button>
</div>
@ -43,13 +43,13 @@
<div class="col-auto flex-center">
<button class="artist-play" style="display:block;" @click="app.mk.setStationQueue({artist:'a-'+data.id}).then(()=>{
app.mk.play()
})"><%- include("../svg/play.svg") %></button>
})" :aria-label="app.getLz('term.play')"><%- include("../svg/play.svg") %></button>
</div>
<div class="col">
<h3>{{ data.attributes.name }}</h3>
</div>
<div class="col-auto flex-center">
<button class="more-btn-round" @click="artistMenu">
<button class="more-btn-round" @click="artistMenu" :aria-label="app.getLz('term.more')">
<div class="svg-icon"></div>
</button>
</div>
@ -79,10 +79,10 @@
<div class="mediaitem-list-item__grid">
<listitem-horizontal :items="data.views['top-songs'].data.limit(20)">
</listitem-horizontal>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row well">
@ -112,7 +112,7 @@
</template>
<div class="row">
<div class="col" v-if="data.attributes.artistBio">
<h3>{{ $root.stringTemplateParser($root.getLz('term.aboutArtist'), {"artistName": data.attributes.name}) }}</h3>
<h3>{{ $root.stringTemplateParser($root.getLz('term.aboutArtist'), {"artistName": data.attributes.name}) }}</h3>
<p v-html="data.attributes.artistBio"></p>
</div>
<div class="col">

View file

@ -39,68 +39,56 @@
<option value="NATURAL">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard')}}
</option>
<option value="AGGRESSIVE">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive')}}
</option>
</select>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth')}}
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.analogWarmth"
v-on:change="CiderAudio.hierarchical_loading();" switch/>
</div>
</div>
<div class="md-option-line"
v-show="app.cfg.advanced.AudioContext === true && app.cfg.audio.maikiwiAudio.analogWarmth === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity')}}
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select" style="width:180px;"
v-model="app.cfg.audio.maikiwiAudio.analogWarmth_value"
v-on:change="ChangeanalogWarmth()">
<option value="SMOOTH">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth')}}
</option>
<option value="WARM">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm')}}
</option>
</select>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer')}}
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer')}} [1]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer"
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer1"
v-on:change="CiderAudio.hierarchical_loading();" switch/>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.atmosphereRealizer === true">
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.atmosphereRealizer1 === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode')}}
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode')}} [1]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select" style="width:180px;"
v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer_value"
v-on:change="CiderAudio.hierarchical_loading()">
<option value="NATURAL_STANDARD">{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural1')}}</option>
<option value="NATURAL_HIGH">{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural2')}}</option>
<option value="NATURAL_PLUS">{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.natural3')}}</option>
<option value="CRYPTO">Cryptofyre</option>
<select class="md-select" style="width:230px;"
v-model="$root.cfg.audio.maikiwiAudio.atmosphereRealizer1_value"
v-on:change="CiderAudio.hierarchical_loading();">
<option v-for="profile in arprofiles" :value="profile.id">{{ getProfileLz("CAR", profile.id) }}</option>
</select>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer')}} [2]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<input type="checkbox" v-model="app.cfg.audio.maikiwiAudio.atmosphereRealizer2"
v-on:change="CiderAudio.hierarchical_loading();" switch/>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.audio.maikiwiAudio.atmosphereRealizer2 === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode')}} [2]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<select class="md-select" style="width:230px;"
v-model="$root.cfg.audio.maikiwiAudio.atmosphereRealizer2_value"
v-on:change="CiderAudio.hierarchical_loading();">
<option v-for="profile in arprofiles" :value="profile.id">{{ getProfileLz("CAR", profile.id) }}</option>
</select>
</div>
</div>
@ -126,7 +114,7 @@
<select class="md-select" style="width:180px;"
v-model="$root.cfg.audio.maikiwiAudio.spatialProfile"
v-on:change="toggleMaikiwiSpatial">
<option v-for="profile in spprofiles" :value="profile.id">{{ profile.name }}</option>
<option v-for="profile in spprofiles" :value="profile.id">{{ getProfileLz("CTS", profile.name) }}</option>
</select>
</div>
</div>
@ -187,6 +175,7 @@
data: function () {
return {
app: this.$root,
arprofiles: CiderAudio.atmosphereRealizerProfiles,
spprofiles: CiderAudio.spatialProfiles
}
},
@ -194,6 +183,27 @@
},
methods: {
getProfileLz(type, name) {
switch (name) {
case "CRYPTO":
return "Cryptofyre";
break;
case "Maikiwi":
return "Maikiwi";
break;
}
switch (type) {
case "CAR":
return this.$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.' + name);
break;
case "CTS":
return this.$root.getLz('settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.' + name.toLowerCase());
break;
default:
return name;
}
},
profileNext() {
var next = this.spprofiles.find(function (profile) {
return profile.id === this.$root.cfg.audio.maikiwiAudio.spatialProfile;
@ -249,32 +259,6 @@
CiderAudio.hierarchical_loading();
}
},
ChangeanalogWarmth: function () {
let WARMTH_GAIN = [-4.81, 0.74, 0.55, -0.84, -1.52, 0.84, 0.66, -0.29, 0.29, 0.94, 1.67, 1.62, -0.53, -0.81, -4.98, 1.43, 0.86, 1.13, -1.06, -0.95, -1.13, 1.78, -3.86];
switch (app.cfg.audio.maikiwiAudio.analogWarmth_value) {
case "SMOOTH":
for (let i = 0; i < 23; i++) {
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
}
CiderAudio.intelliGainComp_h0_0();
break;
case "WARM":
for (let i = 0; i < 23; i++) {
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.75;
}
CiderAudio.intelliGainComp_h0_0();
break;
default:
app.cfg.audio.maikiwiAudio.analogWarmth_value = "SMOOTH";
for (let i = 0; i < 23; i++) {
CiderAudio.audioNodes.analogWarmth[i].gain.value = WARMTH_GAIN[i] * 1.25;
}
CiderAudio.intelliGainComp_h0_0();
break;
}
},
}
})
</script>

View file

@ -94,7 +94,7 @@
<img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
{{app.getLz('term.confirm')}}
</button>
<button class="more-btn-round" style="float:right;" @click="menu">
<button class="more-btn-round" style="float:right;" @click="menu" :aria-label="app.getLz('term.more')">
<div class="svg-icon"></div>
</button>
</div>
@ -145,7 +145,7 @@
</div>
</div>
<div class="col-auto flex-center">
<button class="more-btn-round" style="float:right;" @click="menu">
<button class="more-btn-round" style="float:right;" @click="menu" :aria-label="app.getLz('term.more')">
<div class="svg-icon"></div>
</button>
</div>

View file

@ -18,7 +18,7 @@
</button>
</div>
<transition name="fabfade">
<button class="top-fab" v-show="showFab" @click="scrollToTop()">
<button class="top-fab" v-show="showFab" @click="scrollToTop()" :aria-label="app.getLz('action.scrollToTop')">
<%- include("../svg/arrow-up.svg") %>
</button>
</transition>

View file

@ -28,7 +28,7 @@
<div class="gh-content">
<div class="repos-list">
<div class="repo-header">
<h4>Available</h4>
<h4>{{$root.getLz('settings.option.visual.theme.github.available')}}</h4>
</div>
<ul class="list-group list-group-flush">
<template v-for="theme in themes">
@ -85,7 +85,7 @@
<div class="style-editor-container">
<div class="repo-header">
<h4>Applied</h4>
<h4>{{ $root.getLz("settings.option.visual.theme.github.applied") }} </h4>
</div>
<stylestack-editor ref="stackEditor" v-if="themes.length != 0" :themes="themes"/>
</div>

View file

@ -0,0 +1,267 @@
<script type="text/x-template" id="keybinds-settings">
<div class="content-inner keybinds-page">
<div class="md-option-header">
<span>{{$root.getLz('settings.option.general.keybindings')}}</span>
</div>
<div class="settings-option-body">
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.search')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('search')">
{{app.cfg.general.keybindings.search.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.listnow')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('listnow')">
{{app.cfg.general.keybindings.listnow.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.browse')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('browse')">
{{app.cfg.general.keybindings.browse.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.recentAdd')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('recentAdd')">
{{app.cfg.general.keybindings.recentAdd.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.songs')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('songs')">
{{app.cfg.general.keybindings.songs.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.albums')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('albums')">
{{app.cfg.general.keybindings.albums.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.artists')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('artists')">
{{app.cfg.general.keybindings.artists.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.private')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('togglePrivateSession')">
{{app.cfg.general.keybindings.togglePrivateSession.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.remote')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('webRemote')">
{{app.cfg.general.keybindings.webRemote.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.audio')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('audioSettings')">
{{app.cfg.general.keybindings.audioSettings.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.plugins')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('pluginMenu')">
{{app.cfg.general.keybindings.pluginMenu.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.cast')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('castToDevices')">
{{app.cfg.general.keybindings.castToDevices.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.settings')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('settings')">
{{app.cfg.general.keybindings.settings.join(' + ')}}
</button>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.description.developer')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn md-btn-small md-btn-block"
@click="keyBindUpdate('openDeveloperTools')">
{{app.cfg.general.keybindings.openDeveloperTools.join(' + ')}}
</button>
</div>
</div>
<button class="md-btn md-btn-large md-btn-block" @click="keyBindReset()">
{{$root.getLz('term.reset')}}
</button>
</div>
</div>
</script>
<script>
Vue.component('keybinds-settings', {
template: "#keybinds-settings",
props: [],
methods: {
keyBindUpdate: function (action) {
const blur = document.createElement('div');
blur.className = 'blur';
blur.style.backgroundColor = 'rgba(0,0,0,0.25)';
blur.style.position = 'fixed';
blur.style.top = '0';
blur.style.left = '0';
blur.style.width = '100%';
blur.style.height = '100%';
blur.style.zIndex = '9999';
blur.style.display = 'flex';
blur.style.alignItems = 'center';
blur.style.justifyContent = 'center';
blur.style.fontSize = '2em';
blur.style.color = 'white';
blur.innerHTML = `<center>${app.getLz('settings.option.general.keybindings.pressCombination')}<br />${app.getLz('settings.option.general.keybindings.pressEscape')}</center>`
document.body.appendChild(blur);
let keyBind = [];
const keyBindTimeout = setTimeout(function () {
keyBind = [];
document.body.removeChild(blur);
}, 30000);
const keyBindUpdate = function (e) {
if (document.body.contains(blur)) {
if (e.key == 'Escape') {
document.body.removeChild(blur);
clearTimeout(keyBindTimeout);
return;
} else {
if (e.keyCode >= 65 && e.keyCode <= 90 && e.keyCode <= 97 && e.keyCode <= 122) {
keyBind.push(e.key.toUpperCase());
} else {
keyBind.push(e.key);
}
if (keyBind.length === 2) {
if (keyBind[0] !== keyBind[1]) {
app.cfg.general.keybindings[action] = keyBind
document.body.removeChild(blur);
clearTimeout(keyBindTimeout);
notyf.success(app.getLz('settings.notyf.general.keybindings.update.success'));
bootbox.confirm(app.getLz("settings.prompt.general.keybindings.update.success"), (ok) => {
if (ok) ipcRenderer.invoke("relaunchApp")
})
} else {
keyBind = [];
}
}
}
}
};
document.addEventListener('keydown', keyBindUpdate);
},
keyBindReset: function () {
app.cfg.general.keybindings.search = [app.platform == "darwin" ? "Command" : "Control", "F"];
app.cfg.general.keybindings.listnow = [app.platform == "darwin" ? "Command" : "Control", "L"];
app.cfg.general.keybindings.browse = [app.platform == "darwin" ? "Command" : "Control", "B"];
app.cfg.general.keybindings.recentAdd = [app.platform == "darwin" ? "Command" : "Control", "G"];
app.cfg.general.keybindings.songs = [app.platform == "darwin" ? "Command" : "Control", "J"];
app.cfg.general.keybindings.albums = [app.platform == "darwin" ? "Command" : "Control", "S"];
app.cfg.general.keybindings.artists = [app.platform == "darwin" ? "Command" : "Control", "D"];
app.cfg.general.keybindings.togglePrivateSession = [app.platform == "darwin" ? "Command" : "Control", "P"];
app.cfg.general.keybindings.webRemote = [app.platform == "darwin" ? "Command" : "Control", "W"];
app.cfg.general.keybindings.audioSettings = [app.platform == "darwin" ? "Option" : "Alt", "A"];
app.cfg.general.keybindings.pluginMenu = [app.platform == "darwin" ? "Option" : "Alt", "P"];
app.cfg.general.keybindings.castToDevices = [app.platform == "darwin" ? "Option" : "Alt", "C"];
app.cfg.general.keybindings.settings = [app.platform == "darwin" ? "Option" : "Alt", "S"];
app.cfg.general.keybindings.openDeveloperTools = [app.platform == "darwin" ? "Command" : "Control", app.platform == "darwin" ? "Option" : "Shift", "I"];
notyf.success(app.getLz('settings.notyf.general.keybindings.update.success'));
bootbox.confirm(app.getLz("settings.prompt.general.keybindings.update.success"), (ok) => {
if (ok) ipcRenderer.invoke("relaunchApp")
})
},
getLanguages: function () {
let langs = this.$root.lzListing
let categories = {
"main": [],
"fun": [],
"unsorted": []
}
// sort by category if category is undefined or empty put it in "unsorted"
for (let i = 0; i < langs.length; i++) {
if (langs[i].category === undefined || langs[i].category === "") {
categories.unsorted.push(langs[i])
} else {
categories[langs[i].category].push(langs[i])
}
}
// return
return categories
},
}
})
</script>

View file

@ -5,7 +5,8 @@
<h1 class="header-text">{{$root.getLz('term.albums')}}</h1>
</div>
<div class="col-auto">
<button v-if="library.albums.downloadState == 2" @click="$root.getLibraryAlbumsFull(true, 1)" class="reload-btn"><%- include('../svg/redo.svg') %></button>
<button v-if="library.albums.downloadState == 2" @click="$root.getLibraryAlbumsFull(true, 1)"
class="reload-btn" :aria-label="app.getLz('menubar.options.reload')"><%- include('../svg/redo.svg') %></button>
</div>
</div>
<div class="row">
@ -49,11 +50,11 @@
</div>
</div>
<div class="well">
<div class="albums-square-container">
<div>
<div class="albums-square-container">
<div>
<mediaitem-square v-if="prefs.viewAs == 'covers'" :size="'300'" :item="item" v-for="item in library.albums.displayListing">
</mediaitem-square>
</div>
</div>
</div>
<mediaitem-list-item v-if="prefs.viewAs == 'list'" :show-duration="false" :show-meta-data="true" :show-library-status="false" :item="item" v-for="item in library.albums.displayListing">
</mediaitem-list-item>
@ -72,9 +73,9 @@
}
},
mounted() {
this.$root.getLibraryAlbumsFull(null, 1);
this.$root.getAlbumSort();
this.$root.searchLibraryAlbums(1);
this.$root.getLibraryAlbumsFull(null, 1);
this.$root.getAlbumSort();
this.$root.searchLibraryAlbums(1);
this.$root.getLibrarySongsFull() ;
this.$root.searchLibraryAlbums(1);
},

View file

@ -6,7 +6,7 @@
</div>
<div class="col-auto">
<button v-if="library.albums.downloadState == 2" @click="getLibraryAlbumsFull(true, 0)"
class="reload-btn"><%- include('../svg/redo.svg') %></button>
class="reload-btn" :aria-label="app.getLz('menubar.options.reload')"><%- include('../svg/redo.svg') %></button>
</div>
</div>
<div class="row">
@ -44,7 +44,7 @@
</div>
</div>
<div class="well">
<div class="albums-square-container">
<div class="albums-square-container">
<mediaitem-square v-if="library.albums.viewAs == 'covers'" :item="item"
v-for="item in library.albums.displayListing">
</mediaitem-square>

View file

@ -15,7 +15,7 @@
v-model="library.songs.search" class="search-input">
</div>
</div>
<div class="col-auto flex-center">
<div class="col-auto flex-center">
<div class="row">
<button class="col md-btn md-btn-primary md-btn-icon" style="min-width: 100px;margin-right: 3px;"
@click="app.mk.shuffleMode = 0; play()"> <img class="md-ico-play">
@ -24,7 +24,7 @@
<button class="col md-btn md-btn-primary md-btn-icon" style="min-width: 100px;margin-right: 3px;"
@click="app.mk.shuffleMode = 1;play()"> <img class="md-ico-shuffle">
{{app.getLz('term.shuffle')}}
</button>
</button>
<div class="col">
<select class="md-select" v-model="prefs.sort" @change="$root.searchLibrarySongs()">
<optgroup :label="app.getLz('term.sortBy')">
@ -51,8 +51,9 @@
</div>
</div>
<div class="col-auto flex-center">
<button v-if="library.songs.downloadState == 2" @click="$root.getLibrarySongsFull(true)" class="reload-btn"><%- include('../svg/redo.svg') %></button>
<button v-else class="reload-btn" style="opacity: 0.8;pointer-events: none">
<button v-if="library.songs.downloadState == 2" @click="$root.getLibrarySongsFull(true)"
class="reload-btn" :aria-label="app.getLz('menubar.options.reload')"><%- include('../svg/redo.svg') %></button>
<button v-else class="reload-btn" style="opacity: 0.8;pointer-events: none" :aria-label="app.getLz('menubar.options.reload')">
<div class="spinner"></div>
</button>
</div>

View file

@ -101,7 +101,7 @@
<img :class="(!inLibrary) ? 'md-ico-add' : 'md-ico-remove'">
{{app.getLz('term.confirm')}}
</button>
<button class="more-btn-round" style="float:right;" @click="menu">
<button class="more-btn-round" style="float:right;" @click="menu" :aria-label="app.getLz('term.more')">
<div class="svg-icon"></div>
</button>
</div>
@ -145,7 +145,7 @@
</div>
</div>
<div class="col-auto flex-center">
<button class="more-btn-round" style="float:right;" @click="menu">
<button class="more-btn-round" style="float:right;" @click="menu" :aria-label="term.more">
<div class="svg-icon"></div>
</button>
</div>
@ -159,7 +159,7 @@
<div style="width:100%">
<draggable :sort="data.attributes.canEdit && data.type == 'library-playlists'"
v-model="data.relationships.tracks.data" @start="drag=true" @end="drag=false;put()">
<template v-if="nestedPlaylist == [] || nestedPlaylist.length <= 1">
<template v-if="nestedPlaylist == [] || nestedPlaylist.length <= 1">
<mediaitem-list-item :item="item" :parent="getItemParent(data)" :index="index"
:showIndex="true"
:showIndexPlaylist="(data.attributes.playParams.kind ?? data.type ?? '').includes('playlist')"
@ -173,14 +173,14 @@
:showIndex="true"
:showIndexPlaylist="(data.attributes.playParams.kind ?? data.type ?? '').includes('playlist')"
:context-ext="buildContextMenu()"
v-for="(item,index) in disc.tracks"></mediaitem-list-item>
</div>
</template>
v-for="(item,index) in disc.tracks"></mediaitem-list-item>
</div>
</template>
</draggable>
</div>
</div>
<div class="friends-info" v-if="itemBadges.length != 0">
<div class="well">
@ -228,7 +228,7 @@
</div>
</b-tab>
</template>
</b-tabs>
</div>
</template>
@ -361,7 +361,7 @@
if (this.data.type.includes('albums')) {
let date = this.data.attributes.releaseDate;
if (date == null || date === "") return "";
return `${this.data.relationships.tracks.data[0].attributes.genreNames[0]} · ${new Date(date).getFullYear()}`
return `${this.data.relationships.tracks.data[0].attributes.genreNames[0]} · ${new Date(date).getFullYear()}`
}
},
async isInLibrary() {

View file

@ -68,7 +68,7 @@
<transition name="wpfade">
<div class="podcasts-details" v-if="selected.id != -1">
<div class="podcasts-details-header">
<button class="close-btn" @click="selected.id = -1"></button>
<button class="close-btn" @click="selected.id = -1" :aria-label="app.getLz('action.close')"></button>
</div>
<div class="podcast-artwork">
<mediaitem-artwork shadow="large" :url="selected.attributes.artwork.url" size="300"></mediaitem-artwork>

View file

@ -1,5 +1,5 @@
<script type="text/x-template" id="cider-search">
<div class="content-inner">
<div class="content-inner search-page">
<div v-if="search != null && search != [] && search.term != ''">
<h3>{{app.getLz('term.topResult')}}</h3>
<mediaitem-scroller-horizontal

Some files were not shown because too many files have changed in this diff Show more