my balls ̧itch (#1039)

* Update es_ES

* Localization updates

* Documentation

* Localization updates

* Documentation

* Xd

* Expose playback progress.

* Cider The Wekeend Update

Add more keybinds and make own page to change it ( No more Pop Up)

Redesing the "Menu Bar" to more efficient order.

* CleanUp

* Some Strings Update made By "Monochromish"

* Documentation

* Goodbye Analog Warmth

* typo

* I can't fuckin read

* Updated config.yml

* Auto Triage

* Remove Spatialization from Audio Settings modal

* Remove customizable Spatialization strings

* Remove some whitespaces in ja_JP

* Add i18n updates to README

* Change some things in i18n README

* Remove whitespace in ja_JP

* uhh

* Add hide_timestamp to store

* Add hideTimestamp to en_US and source

* Add hideTimestamp to hu_HU

* Add check to discordrpc.ts

* Add hideTimestamp to settings

* Add missing button labels (fix for screen readers) (#1016)

* added some attributes for themes

https://docs.cider.sh/themes/available-attributes

* Fix unlove

* Revert "Fix unlove"

* Update ja_JP.json

Drafted by あづき#8046
Finalized by Maikiwi

* ja_JP credit change

* Update en_OWO.json

* Add Relaunch Prompt to nativeTitleBar and hw_acc

* Update zh_TW.json

Update TW language.

* made some new playback icons

* german language changes

* CiderAudio cleanup

* and I forgor

* perf increase

* electron version bump

* feat: 🌐 Update French language (#1030)

* further cideraudio trimming

* i18n support for CAR/CTS

* fix broken code

* Update es_ES

* Update Some "Audio Settings" String and added to es_ES

* optimizations

added show loved tracks inline

set several less operations to async

changed default transition to fade in, moved slide in to sweetener

changed drawer transition to transform

optimizations for disabled gpu

* readded audio strings

* Don't code while ur sleepy

* don't fix code while ur drunk

* test your commits before pushing

* impulses can now be external

* feat: 🌐 Update French Language

* Create Themes and Plugins folder if it doesnt't exist

Fixes #742

* Make cast device list scrollable

* Removal of Natural (High)

* i18n changes

* I'm an idiot

* fix queue menu

* CAR mode selector ext

* I forgor

Co-authored-by: Mefsaal <mefsaal@gmail.com>
Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com>
Co-authored-by: maikirakiwi <stella@mai.kiwi>
Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com>
Co-authored-by: Amaru8 <52407090+Amaru8@users.noreply.github.com>
Co-authored-by: Pedro Galhardo <pedromgalhardo@tecnico.ulisboa.pt>
Co-authored-by: booploops <49113086+booploops@users.noreply.github.com>
Co-authored-by: GamingLiamStudios <58615717+GamingLiamStudios@users.noreply.github.com>
Co-authored-by: 宥叡 <46503943+jay900604@users.noreply.github.com>
Co-authored-by: UnbreakCode <unbreakcode@gmail.com>
Co-authored-by: Erwan <24718500+ErwanGit@users.noreply.github.com>
Co-authored-by: Erwan <erwan977@gmail.com>
Co-authored-by: licia-tia <licia@s-cry.com>
Co-authored-by: vapormusic <vietanhfat@gmail.com>
This commit is contained in:
cryptofyre 2022-05-14 00:00:40 -05:00 committed by GitHub
parent 76320d435b
commit d376faafbb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
91 changed files with 2178 additions and 2140 deletions

View file

@ -168,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
@ -194,4 +194,4 @@ workflows:
- build-winget
filters:
branches:
only: main
only: develop

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

@ -109,9 +109,9 @@
}
],
"build": {
"electronVersion": "18.2.1",
"electronVersion": "18.2.2",
"electronDownload": {
"version": "18.2.1+wvcus",
"version": "18.2.2+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
@ -301,44 +301,89 @@ Update 28/04/2022 21:45 UTC
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`
* `menubar.options.view`: Added for `en_US`
* `menubar.options.reload`: Added for `en_US`
* `menubar.options.forcereload`: Added for `en_US`
* `menubar.options.toggledevtools`: Added for `en_US`
* `menubar.options.window`: Added for `en_US`
* `menubar.options.minimize`: Added for `en_US`
* `menubar.options.toggleprivate`: Added for `en_US`
* `menubar.options.webremote`: Added for `en_US`
* `menubar.options.audio`: Added for `en_US`
* `menubar.options.plugins`: Added for `en_US`
* `menubar.options.control`: Added for `en_US`
* `menubar.options.next`: "Added for `en_US`
* `menubar.options.previous`: Added for `en_US`
* `menubar.options.volumeup`: Added for `en_US`
* `menubar.options.volumedown`: Added for `en_US`
* `menubar.options.browse`: Added for `en_US`
* `menubar.options.artists`: Added for `en_US`
* `menubar.options.search`: Added for `en_US`
* `menubar.options.albums`: Added for `en_US`
* `menubar.options.cast`: Added for `en_US`
* `menubar.options.account`: Added for `en_US`
* `menubar.options.accountsettings`: Added for `en_US`
* `menubar.options.signout`: Added for `en_US`
* `menubar.options.support`: Added for `en_US`
* `menubar.options.discord`: Added for `en_US`
* `menubar.options.github`: Added for `en_US`
* `menubar.options.report`: Added for `en_US`
* `menubar.options.bug`: Added for `en_US`
* `menubar.options.feature`: Added for `en_US`
* `menubar.options.trans`: Added for `en_US`
* `menubar.options.license`: Added for `en_US`
* `menubar.options.conf`: Added for `en_US`
* `menubar.options.about`: Added for `en_US`
* `menubar.options.settings`: Added for `en_US`
* `menubar.options.quit`: Added for `en_US`
* `menubar.options.view`: Added for `en_US`
* `menubar.options.reload`: Added for `en_US`
* `menubar.options.forcereload`: Added for `en_US`
* `menubar.options.toggledevtools`: Added for `en_US`
* `menubar.options.window`: Added for `en_US`
* `menubar.options.minimize`: Added for `en_US`
* `menubar.options.toggleprivate`: Added for `en_US`
* `menubar.options.webremote`: Added for `en_US`
* `menubar.options.audio`: Added for `en_US`
* `menubar.options.plugins`: Added for `en_US`
* `menubar.options.control`: Added for `en_US`
* `menubar.options.next`: `Added for `en_US`
* `menubar.options.previous`: Added for `en_US`
* `menubar.options.volumeup`: Added for `en_US`
* `menubar.options.volumedown`: Added for `en_US`
* `menubar.options.browse`: Added for `en_US`
* `menubar.options.artists`: Added for `en_US`
* `menubar.options.search`: Added for `en_US`
* `menubar.options.albums`: Added for `en_US`
* `menubar.options.cast`: Added for `en_US`
* `menubar.options.account`: Added for `en_US`
* `menubar.options.accountsettings`: Added for `en_US`
* `menubar.options.signout`: Added for `en_US`
* `menubar.options.support`: Added for `en_US`
* `menubar.options.discord`: Added for `en_US`
* `menubar.options.github`: Added for `en_US`
* `menubar.options.report`: Added for `en_US`
* `menubar.options.bug`: Added for `en_US`
* `menubar.options.feature`: Added for `en_US`
* `menubar.options.trans`: Added for `en_US`
* `menubar.options.license`: Added for `en_US`
* `menubar.options.conf`: 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",
@ -254,6 +263,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",
@ -264,6 +274,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",
@ -300,6 +311,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",
@ -324,9 +338,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",
@ -338,6 +356,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",
@ -377,9 +398,13 @@
"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.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is not compatible with Spatialization. Please disable Spatialization to continue.",
@ -390,15 +415,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",
@ -472,6 +502,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",
@ -377,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.",
@ -390,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",
@ -472,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

@ -339,8 +339,6 @@
"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",
@ -416,6 +414,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",

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",
@ -254,6 +263,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",
@ -264,6 +274,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",
@ -300,6 +311,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",
@ -324,9 +338,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",
@ -338,6 +356,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",
@ -377,9 +398,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.",
@ -390,15 +411,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",
@ -472,6 +498,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,9 +283,13 @@
"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.ciderPPEStrength": "数码增强音频处理设置",
@ -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

@ -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,9 +267,9 @@
"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.ciderPPEStrength": "數位增強音訊處理設定",
@ -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

@ -77,6 +77,7 @@ export class BrowserWindow {
"pages/audiolabs",
"pages/zoo",
"pages/plugin-renderer",
"pages/keybinds",
"components/mediaitem-artwork",
"components/artwork-material",
"components/menu-panel",
@ -457,6 +458,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) {
@ -937,13 +948,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;
}
});

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}",
},
@ -54,6 +55,22 @@ export class Store {
process.platform == "darwin" ? "Command" : "Control",
"F"
],
"listnow": [
process.platform == "darwin" ? "Command" : "Control",
"L"
],
"browse": [
process.platform == "darwin" ? "Command" : "Control",
"B"
],
"recentAdd": [
process.platform == "darwin" ? "Command" : "Control",
"G"
],
"songs" : [
process.platform == "darwin" ? "Command" : "Control",
"J"
],
"albums": [
process.platform == "darwin" ? "Command" : "Control",
"S"
@ -62,10 +79,6 @@ export class Store {
process.platform == "darwin" ? "Command" : "Control",
"D"
],
"browse": [
process.platform == "darwin" ? "Command" : "Control",
"B"
],
"togglePrivateSession": [
process.platform == "darwin" ? "Command" : "Control",
"P"
@ -95,7 +108,8 @@ export class Store {
process.platform == "darwin" ? "Option" : "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

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

@ -784,8 +784,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()
@ -828,8 +828,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) => {
@ -887,8 +888,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
}
@ -988,7 +991,7 @@ const app = new Vue({
document.querySelectorAll(`[id*='less']`).forEach(el => {
el.remove()
});
less.refresh()
await less.refresh()
}
},
async reloadStyles() {
@ -1016,7 +1019,7 @@ const app = new Vue({
}
})
less.registerStylesheetsImmediately()
less.refresh(true, true, true)
await less.refresh(true, true, true)
this.$forceUpdate()
return
},
@ -3869,12 +3872,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
}
},

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) {
@ -3111,6 +3113,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 +3365,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

@ -46,6 +46,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

@ -43,7 +43,7 @@
</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="app.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

@ -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

@ -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

@ -45,62 +45,53 @@
</select>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext">
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext === true">
<div class="md-option-segment">
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth')}}
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer')}} [1]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmth.description')}}</small>
<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.analogWarmth"
<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.advanced.AudioContext === true && app.cfg.audio.maikiwiAudio.analogWarmth === 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.analogWarmthIntensity')}}
{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode')}} [1]
<br>
<small>{{$root.getLz('settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description')}}</small>
<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.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 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')}}
{{$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.atmosphereRealizer"
<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.atmosphereRealizer === true">
<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')}}
{{$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: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.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 +117,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 +178,7 @@
data: function () {
return {
app: this.$root,
arprofiles: CiderAudio.atmosphereRealizerProfiles,
spprofiles: CiderAudio.spatialProfiles
}
},
@ -194,6 +186,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 +262,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

@ -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

@ -185,146 +185,39 @@
</div>
</div>
</b-modal>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.general.keybindings')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<button class="md-btn" v-b-modal.modal-2>
<button class="md-btn" @click="app.appRoute('keybinds-settings')" >
{{$root.getLz('settings.option.general.keybindings.open')}}
</button>
</div>
<b-modal id="modal-2" centered size="lg"
:title="$root.getLz('settings.option.general.keybindings')" ok-only>
<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.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.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.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>
</b-modal>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.general.themeUpdateNotification')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<input type="checkbox" v-model="app.cfg.general.themeUpdateNotification"
switch/>
</label>
</div>
</div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.general.showLovedTracksInline')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<input type="checkbox" v-model="app.cfg.general.showLovedTracksInline"
switch/>
</label>
</div>
</div>
</div>
</div>
</b-tab>
@ -436,16 +329,16 @@
<label>
<input type="checkbox" v-model="app.cfg.audio.normalization"
v-on:change="toggleNormalization"
:disabled="app.cfg.audio.spatial === true || app.cfg.audio.maikiwiAudio.spatial === true || app.cfg.audio.maikiwiAudio.ciderPPE === true || app.cfg.audio.maikiwiAudio.atmosphereRealizer === true"
:disabled="app.cfg.audio.spatial === true || app.cfg.audio.maikiwiAudio.spatial === true || app.cfg.audio.maikiwiAudio.ciderPPE === true || app.cfg.audio.maikiwiAudio.atmosphereRealizer1 === true || app.cfg.audio.maikiwiAudio.atmosphereRealizer2 === true"
switch/>
</label>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.advanced.AudioContext && app.cfg.audio.normalization">
<div class="md-option-segment">
dB SPL Display
{{$root.getLz('settings.option.audio.dbspl.display')}}
<br>
<small>(Advanced users only) Display dB SPL instead of dBFS on the volume slider.</small>
<small>{{$root.getLz('settings.option.audio.dbspl.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
@ -455,9 +348,9 @@
</div>
<div class="md-option-line" v-show="app.cfg.audio.dBSPL">
<div class="md-option-segment">
0 dBFS Calibration
{{$root.getLz('settings.option.audio.dbfs.calibration')}}
<br>
<small>Enter the peak Z-weighted dB SPL when Cider is at 0 dBFS.</small>
<small>{{$root.getLz('settings.option.audio.dbfs.description')}}</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
@ -597,7 +490,7 @@
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<select class="md-select" style="width:180px;" v-model="app.cfg.visual.hw_acceleration">
<select class="md-select" style="width:180px;" v-model="app.cfg.visual.hw_acceleration" @change="promptForRelaunch()">
<option value="default">
{{$root.getLz('settings.header.visual.hardwareAcceleration.default')}}
</option>
@ -644,7 +537,8 @@
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<input type="checkbox" v-model="app.cfg.visual.nativeTitleBar" switch/>
<input type="checkbox" v-model="app.cfg.visual.nativeTitleBar" switch
@change="promptForRelaunch()"/>
</label>
</div>
</div>
@ -1067,6 +961,17 @@
</div>
</div>
<div class="md-option-line" v-show="app.cfg.general.discordrpc.enabled != false">
<div class="md-option-segment">
{{$root.getLz('settings.option.connectivity.discordRPC.hideTimestamp')}}
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<input type="checkbox" v-model="app.cfg.general.discordrpc.hide_timestamp" switch/>
</label>
</div>
</div>
<div class="md-option-line" v-show="app.cfg.general.discordrpc.enabled != false">
<div class="md-option-segment">
{{$root.getLz('settings.option.connectivity.discordRPC.detailsFormat')}}<br/>
@ -1462,76 +1367,6 @@
}
})
},
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 = 'Press a combination of two keys to update keybinding. Press Escape key to go back.'
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", "S"];
app.cfg.general.keybindings.albums = [app.platform == "darwin" ? "Command" : "Control", "F"];
app.cfg.general.keybindings.artists = [app.platform == "darwin" ? "Command" : "Control", "D"];
app.cfg.general.keybindings.browse = [app.platform == "darwin" ? "Command" : "Control", "B"];
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")
})
},
gitHubExplore() {
app.appRoute("themes-github")
},

View file

@ -14,9 +14,13 @@
:type="item.type"></mediaitem-artwork>
</div>
<button class="menu-btn" v-if="!nomenu.includes(item.type)"
@click="contextMenu"><%- include("../svg/more.svg") %></button>
@click="contextMenu" :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
@ -29,7 +33,7 @@
<div class="title" v-if="item.attributes.artistNames == null || kind!= 'card'" @click='app.routeView(item)'>
<div class="item-navigate text-overflow-elipsis">{{ item.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 class="subtitle item-navigate text-overflow-elipsis" @click="getSubtitleNavigation()"
v-if="getSubtitle() != ''">
{{ getSubtitle() }}