Mergy Mergy (#1399)

* Added scripts to produce separated macOS builds for different architectures

* yeet cache

* bye cache

* remove local playback ( it's a mess)

* ok

* some raop fix

* local store

* Update pt_BR.json

* chore: Updated Lockfile

* fix versioning for main

* Revert "fix versioning for main"

This reverts commit 905514225c.

* chore: Prettified Code
 [ci skip]

* temp

* verbose tmp

* chore: Prettified Code
 [ci skip]

* ci trigger

* Fixed remove primary artist stuff for lastfm

* chore: Prettified Code
 [ci skip]

* Update zh_CN.json (#1394)

* Increased timeout for lastfm to 40 seconds

* Added token link without callback to settings

* Fix for #1390

* Automatic locale setting

* chore: Prettified Code
 [ci skip]

* window control hidden when native title bar on

* Change Album Search and Pagination Layout (#1397)

* Updated Dutch translations

Updated Dutch translations

* Update nl_NL.json

* chore: Prettified Code
 [ci skip]

* Update en_OWO.json

* chore: Prettified Code
 [ci skip]

Co-authored-by: Sherlock Luk <sherlockluk@outlook.com>
Co-authored-by: vapormusic <vietanhfat@gmail.com>
Co-authored-by: Core <core@coredev.uk>
Co-authored-by: Arth Attack <86346283+ArthAttack@users.noreply.github.com>
Co-authored-by: vapormusic <vapormusic@users.noreply.github.com>
Co-authored-by: yazninja <yazlesean@gmail.com>
Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com>
Co-authored-by: coredev-uk <coredev-uk@users.noreply.github.com>
Co-authored-by: 椎名アヤネ <53814845+sakura0224@users.noreply.github.com>
Co-authored-by: Monochromish <79590499+Monochromish@users.noreply.github.com>
Co-authored-by: Sjoerd69 <74538108+Sjoerd-69@users.noreply.github.com>
Co-authored-by: GamingLiamStudios <58615717+GamingLiamStudios@users.noreply.github.com>
Co-authored-by: GamingLiamStudios <GamingLiamStudios@users.noreply.github.com>
This commit is contained in:
cryptofyre 2022-08-29 23:49:33 -05:00 committed by GitHub
parent b4db2d1826
commit 88f7b9004d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 410 additions and 960 deletions

View file

@ -57,8 +57,8 @@ jobs:
yarn install
cp resources/verror-types node_modules/@types/verror/index.d.ts
cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js
rm -r node_modules/pouchdb-node/node_modules/leveldown
rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown
rm -r node_modules/pouchdb-node/node_modules/leveldown || true
rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown || true
- name: Build the DMG
env:

1
.gitignore vendored
View file

@ -4,6 +4,7 @@ build
.flatpak*
yarn-cache
src/renderer/style.css
.pnpm-store
# Misc
.idea

1
.npmrc
View file

@ -3,3 +3,4 @@ public-hoist-pattern=*
shamefully-hoist=true
auto-install-peers=true
strict-peer-dependencies=false
store-dir=.pnpm-store

View file

@ -27,6 +27,8 @@
"pack": "electron-builder --dir",
"dist": "npm run build && electron-builder",
"dist:macarm": "npm run build && electron-builder --mac --arm64",
"slim-build:macarm": "ditto --arch arm64 ./dist/mac-universal/Cider.app ./dist/mac-universal/arm64/Cider.app",
"slim-build:macintel": "ditto --arch x86_64 ./dist/mac-universal/Cider.app ./dist/mac-universal/x86_x64/Cider.app",
"dist:universalNotWorking": "npm run build && electron-builder --mac --universal",
"dist:all": "npm run build && electron-builder -mwl",
"testdist": "npm run build && electron-builder --dir",
@ -39,8 +41,6 @@
"dependencies": {
"@sentry/electron": "^4.0.0",
"@sentry/integrations": "^7.8.1",
"@types/pouchdb": "^6.4.0",
"@types/pouchdb-node": "^6.1.4",
"adm-zip": "0.4.10",
"airtunes2": "git+https://github.com/ciderapp/node_airtunes2.git",
"castv2-client": "^1.2.0",
@ -58,16 +58,11 @@
"get-port": "5.1.1",
"jimp": "^0.16.1",
"lastfmapi": "^0.1.1",
"level": "^8.0.0",
"leveldown": "^6.1.1",
"mdns-js": "git+https://github.com/ciderapp/node-mdns-js.git",
"mpris-service": "^2.1.2",
"music-metadata": "7.12.6",
"node-gyp": "^9.1.0",
"node-ssdp": "^4.0.1",
"pouchdb-adapter-leveldb": "^7.3.0",
"pouchdb-node": "^7.3.0",
"pouchdb-upsert": "^2.2.0",
"qrcode": "^1.5.1",
"request": "^2.88.2",
"run-script-os": "^1.1.6",

640
pnpm-lock.yaml generated
View file

@ -7,8 +7,6 @@ specifiers:
'@types/discord-rpc': 4.0.3
'@types/express': ^4.17.13
'@types/node': ^18.7.13
'@types/pouchdb': ^6.4.0
'@types/pouchdb-node': ^6.1.4
'@types/qrcode-terminal': ^0.12.0
'@types/ws': ^8.5.3
adm-zip: 0.4.10
@ -33,17 +31,12 @@ specifiers:
jimp: ^0.16.1
lastfmapi: ^0.1.1
less: ^4.1.3
level: ^8.0.0
leveldown: ^6.1.1
mdns-js: git+https://github.com/ciderapp/node-mdns-js.git
mpris-service: ^2.1.2
music-metadata: 7.12.6
musickit-typescript: ^1.2.4
node-gyp: ^9.1.0
node-ssdp: ^4.0.1
pouchdb-adapter-leveldb: ^7.3.0
pouchdb-node: ^7.3.0
pouchdb-upsert: ^2.2.0
qrcode: ^1.5.1
request: ^2.88.2
run-script-os: ^1.1.6
@ -61,10 +54,8 @@ specifiers:
dependencies:
'@sentry/electron': 4.0.0
'@sentry/integrations': 7.11.1
'@types/pouchdb': 6.4.0
'@types/pouchdb-node': 6.1.4
adm-zip: 0.4.10
airtunes2: github.com/ciderapp/node_airtunes2/3ca66c6de35e3f84869c531c2a7c8572690751ab
airtunes2: github.com/ciderapp/node_airtunes2/63e3a34a551aa700f89b622d65d19f52f48548ce
castv2-client: 1.2.0
chokidar: 3.5.3
discord-auto-rpc: 1.0.17
@ -80,16 +71,11 @@ dependencies:
get-port: 5.1.1
jimp: 0.16.1
lastfmapi: 0.1.1
level: 8.0.0
leveldown: 6.1.1
mdns-js: github.com/ciderapp/node-mdns-js/d8f658b623233c3cf58be229332f3342f553cde2
mpris-service: 2.1.2
music-metadata: 7.12.6
node-gyp: 9.1.0
node-ssdp: 4.0.1
pouchdb-adapter-leveldb: 7.3.0
pouchdb-node: 7.3.0
pouchdb-upsert: 2.2.0
qrcode: 1.5.1
request: 2.88.2
run-script-os: 1.1.6
@ -2002,6 +1988,7 @@ packages:
resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
dependencies:
'@types/ms': 0.7.31
dev: true
/@types/discord-rpc/4.0.3:
resolution: {integrity: sha512-4Kh+8u1+OXRHD5OHET3zbBInDkx3cMLaj8Qif8JQbgHZjiru2IYf/WHhuYdzjgtJ/J0CuImOpvt98+Bhe/lr1g==}
@ -2089,6 +2076,7 @@ packages:
/@types/ms/0.7.31:
resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
dev: true
/@types/node/16.11.56:
resolution: {integrity: sha512-aFcUkv7EddxxOa/9f74DINReQ/celqH8DiB3fRYgVDM2Xm5QJL8sl80QKuAnGvwAsMn+H3IFA6WCrQh1CY7m1A==}
@ -2110,135 +2098,6 @@ packages:
dev: true
optional: true
/@types/pouchdb-adapter-cordova-sqlite/1.0.1:
resolution: {integrity: sha512-nqlXpW1ho3KBg1mUQvZgH2755y3z/rw4UA7ZJCPMRTHofxGMY8izRVw5rHBL4/7P615or0J2udpRYxgkT3D02g==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-fruitdown/6.1.3:
resolution: {integrity: sha512-Wz1Z1JLOW1hgmFQjqnSkmyyfH7by/iWb4abKn684WMvQfmxx6BxKJpJ4+eulkVPQzzgMMSgU1MpnQOm9FgRkbw==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-http/6.1.3:
resolution: {integrity: sha512-9Z4TLbF/KJWy/D2sWRPBA+RNU0odQimfdvlDX+EY7rGcd3aVoH8qjD/X0Xcd/0dfBH5pKrNIMFFQgW/TylRCmA==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-idb/6.1.4:
resolution: {integrity: sha512-KIAXbkF4uYUz0ZwfNEFLtEkK44mEWopAsD76UhucH92XnJloBysav+TjI4FFfYQyTjoW3S1s6V+Z14CUJZ0F6w==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-leveldb/6.1.3:
resolution: {integrity: sha512-ex8NFqQGFwEpFi7AaZ5YofmuemfZNsL3nTFZBUCAKYMBkazQij1pe2ILLStSvJr0XS0qxgXjCEW19T5Wqiiskg==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-localstorage/6.1.3:
resolution: {integrity: sha512-oor040tye1KKiGLWYtIy7rRT7C2yoyX3Tf6elEJRpjOA7Ja/H8lKc4LaSh9ATbptIcES6MRqZDxtp7ly9hsW3Q==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-memory/6.1.3:
resolution: {integrity: sha512-gVbsIMzDzgZYThFVT4eVNsmuZwVm/4jDxP1sjlgc3qtDIxbtBhGgyNfcskwwz9Zu5Lv1avkDsIWvcxQhnvRlHg==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-node-websql/6.1.3:
resolution: {integrity: sha512-F/P+os6Jsa7CgHtH64+Z0HfwIcj0hIRB5z8gNhF7L7dxPWoAfkopK5H2gydrP3sQrlGyN4WInF+UJW/Zu1+FKg==}
dependencies:
'@types/pouchdb-adapter-websql': 6.1.4
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-adapter-websql/6.1.4:
resolution: {integrity: sha512-zMJQCtXC40hBsIDRn0GhmpeGMK0f9l/OGWfLguvczROzxxcOD7REI+e6SEmX7gJKw5JuMvlfuHzkQwjmvSJbtg==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-browser/6.1.3:
resolution: {integrity: sha512-EdYowrWxW9SWBMX/rux2eq7dbHi5Zeyzz+FF/IAsgQKnUxgeCO5VO2j4zTzos0SDyJvAQU+EYRc11r7xGn5tvA==}
dependencies:
'@types/pouchdb-adapter-http': 6.1.3
'@types/pouchdb-adapter-idb': 6.1.4
'@types/pouchdb-adapter-websql': 6.1.4
'@types/pouchdb-core': 7.0.10
'@types/pouchdb-mapreduce': 6.1.7
'@types/pouchdb-replication': 6.4.4
dev: false
/@types/pouchdb-core/7.0.10:
resolution: {integrity: sha512-mKhjLlWWXyV3PTTjDhzDV1kc2dolO7VYFa75IoKM/hr8Er9eo8RIbS7mJLfC8r/C3p6ihZu9yZs1PWC1LQ0SOA==}
dependencies:
'@types/debug': 4.1.7
'@types/pouchdb-find': 6.3.7
dev: false
/@types/pouchdb-find/6.3.7:
resolution: {integrity: sha512-b2dr9xoZRK5Mwl8UiRA9l5j9mmCxNfqXuu63H1KZHwJLILjoIIz7BntCvM0hnlnl7Q8P8wORq0IskuaMq5Nnnw==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-http/6.1.3:
resolution: {integrity: sha512-0e9E5SqNOyPl/3FnEIbENssB4FlJsNYuOy131nxrZk36S+y1R/6qO7ZVRypWpGTqBWSuVd7gCsq2UDwO/285+w==}
dependencies:
'@types/pouchdb-adapter-http': 6.1.3
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-mapreduce/6.1.7:
resolution: {integrity: sha512-WzBwm7tmO9QhfRzVaWT4v6JQSS/fG2OoUDrWrhX87rPe2Pn6laPvdK5li6myNRxCoI/l5e8Jd+oYBAFnaiFucA==}
dependencies:
'@types/pouchdb-core': 7.0.10
dev: false
/@types/pouchdb-node/6.1.4:
resolution: {integrity: sha512-wnTCH8X1JOPpNOfVhz8HW0AvmdHh6pt40MuRj0jQnK7QEHsHS79WujsKTKSOF8QXtPwpvCNSsI7ut7H7tfxxJQ==}
dependencies:
'@types/pouchdb-adapter-http': 6.1.3
'@types/pouchdb-adapter-leveldb': 6.1.3
'@types/pouchdb-core': 7.0.10
'@types/pouchdb-mapreduce': 6.1.7
'@types/pouchdb-replication': 6.4.4
dev: false
/@types/pouchdb-replication/6.4.4:
resolution: {integrity: sha512-BsE5LKpjJK4iAf6Fx5kyrMw+33V+Ip7uWldUnU2BYrrvtR+MLD22dcImm7DZN1st2wPPb91i0XEnQzvP0w1C/Q==}
dependencies:
'@types/pouchdb-core': 7.0.10
'@types/pouchdb-find': 6.3.7
dev: false
/@types/pouchdb/6.4.0:
resolution: {integrity: sha512-eGCpX+NXhd5VLJuJMzwe3L79fa9+IDTrAG3CPaf4s/31PD56hOrhDJTSmRELSXuiqXr6+OHzzP0PldSaWsFt7w==}
dependencies:
'@types/pouchdb-adapter-cordova-sqlite': 1.0.1
'@types/pouchdb-adapter-fruitdown': 6.1.3
'@types/pouchdb-adapter-http': 6.1.3
'@types/pouchdb-adapter-idb': 6.1.4
'@types/pouchdb-adapter-leveldb': 6.1.3
'@types/pouchdb-adapter-localstorage': 6.1.3
'@types/pouchdb-adapter-memory': 6.1.3
'@types/pouchdb-adapter-node-websql': 6.1.3
'@types/pouchdb-adapter-websql': 6.1.4
'@types/pouchdb-browser': 6.1.3
'@types/pouchdb-core': 7.0.10
'@types/pouchdb-http': 6.1.3
'@types/pouchdb-mapreduce': 6.1.7
'@types/pouchdb-node': 6.1.4
'@types/pouchdb-replication': 6.4.4
dev: false
/@types/qrcode-terminal/0.12.0:
resolution: {integrity: sha512-g0fQKl3IVnUePV8tLkiBTduxAVSZsXts444T2aMfjOEGxd7XoeSIs16/AmRe2NlcJLqbvsOBSXov7dKSo4wigA==}
dev: true
@ -2452,60 +2311,6 @@ packages:
resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
dev: false
/abort-controller/3.0.0:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
dependencies:
event-target-shim: 5.0.1
dev: false
/abstract-level/1.0.3:
resolution: {integrity: sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==}
engines: {node: '>=12'}
dependencies:
buffer: 6.0.3
catering: 2.1.1
is-buffer: 2.0.5
level-supports: 4.0.1
level-transcoder: 1.0.1
module-error: 1.0.2
queue-microtask: 1.2.3
dev: false
/abstract-leveldown/6.2.3:
resolution: {integrity: sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==}
engines: {node: '>=6'}
dependencies:
buffer: 5.7.1
immediate: 3.3.0
level-concat-iterator: 2.0.1
level-supports: 1.0.1
xtend: 4.0.2
dev: false
/abstract-leveldown/6.3.0:
resolution: {integrity: sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==}
engines: {node: '>=6'}
dependencies:
buffer: 5.7.1
immediate: 3.3.0
level-concat-iterator: 2.0.1
level-supports: 1.0.1
xtend: 4.0.2
dev: false
/abstract-leveldown/7.2.0:
resolution: {integrity: sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==}
engines: {node: '>=10'}
dependencies:
buffer: 6.0.3
catering: 2.1.1
is-buffer: 2.0.5
level-concat-iterator: 3.1.0
level-supports: 2.1.0
queue-microtask: 1.2.3
dev: false
/abstract-socket/2.1.1:
resolution: {integrity: sha512-YZJizsvS1aBua5Gd01woe4zuyYBGgSMeqDOB6/ChwdTI904KP6QGtJswXl4hcqWxbz86hQBe++HWV0hF1aGUtA==}
engines: {node: '>=4.0.0'}
@ -2744,10 +2549,6 @@ packages:
/argparse/2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
/argsarray/0.0.1:
resolution: {integrity: sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg==}
dev: false
/arr-diff/4.0.0:
resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
engines: {node: '>=0.10.0'}
@ -3149,15 +2950,6 @@ packages:
resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
dev: false
/browser-level/1.0.1:
resolution: {integrity: sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==}
dependencies:
abstract-level: 1.0.3
catering: 2.1.1
module-error: 1.0.2
run-parallel-limit: 1.1.0
dev: false
/browserslist/4.21.3:
resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@ -3211,13 +3003,6 @@ packages:
base64-js: 1.5.1
ieee754: 1.2.1
/buffer/6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
dev: false
/builder-util-runtime/9.0.3:
resolution: {integrity: sha512-SfG2wnyjpUbbdtpnqDpWwklujofC6GarGpvdWrEkg9p5AD/xJmTF2buTNaqs3qtsNBEVQDDjZz9xc2GGpVyMfA==}
engines: {node: '>=12.0.0'}
@ -3411,11 +3196,6 @@ packages:
- supports-color
dev: false
/catering/2.1.1:
resolution: {integrity: sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==}
engines: {node: '>=6'}
dev: false
/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@ -3502,18 +3282,6 @@ packages:
static-extend: 0.1.2
dev: true
/classic-level/1.2.0:
resolution: {integrity: sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==}
engines: {node: '>=12'}
requiresBuild: true
dependencies:
abstract-level: 1.0.3
catering: 2.1.1
module-error: 1.0.2
napi-macros: 2.0.0
node-gyp-build: 4.5.0
dev: false
/clean-css/4.2.4:
resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
engines: {node: '>= 4.0'}
@ -3571,11 +3339,6 @@ packages:
wrap-ansi: 7.0.0
dev: true
/clone-buffer/1.0.0:
resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==}
engines: {node: '>= 0.10'}
dev: false
/clone-response/1.0.3:
resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
dependencies:
@ -4069,14 +3832,6 @@ packages:
engines: {node: '>=10'}
dev: false
/deferred-leveldown/5.3.0:
resolution: {integrity: sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==}
engines: {node: '>=6'}
dependencies:
abstract-leveldown: 6.2.3
inherits: 2.0.4
dev: false
/define-properties/1.1.4:
resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
engines: {node: '>= 0.4'}
@ -4326,10 +4081,6 @@ packages:
engines: {node: '>=10'}
dev: true
/double-ended-queue/2.1.0-0:
resolution: {integrity: sha512-+BNfZ+deCo8hMNpDqDnvT+c0XpJ5cUa6mqYq89bho2Ifze4URTqRkcwR399hWoTrTkbZ/XJYDgP6rc7pRgffEQ==}
dev: false
/duplexer/0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: false
@ -4567,16 +4318,6 @@ packages:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
/encoding-down/6.3.0:
resolution: {integrity: sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==}
engines: {node: '>=6'}
dependencies:
abstract-leveldown: 6.3.0
inherits: 2.0.4
level-codec: 9.0.2
level-errors: 2.0.1
dev: false
/encoding/0.1.13:
resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
dependencies:
@ -4588,12 +4329,6 @@ packages:
dependencies:
once: 1.4.0
/end-stream/0.1.0:
resolution: {integrity: sha512-Brl10T8kYnc75IepKizW6Y9liyW8ikz1B7n/xoHrJxoVSSjoqPn30sb7XVFfQERK4QfUMYRGs9dhWwtt2eu6uA==}
dependencies:
write-stream: 0.4.3
dev: false
/enhanced-resolve/4.5.0:
resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==}
engines: {node: '>=6.9.0'}
@ -4628,6 +4363,7 @@ packages:
hasBin: true
dependencies:
prr: 1.0.1
dev: true
/error-ex/1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@ -4762,11 +4498,6 @@ packages:
through: 2.3.8
dev: false
/event-target-shim/5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
dev: false
/eventemitter3/4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
dev: true
@ -5015,13 +4746,6 @@ packages:
pend: 1.2.0
dev: true
/fetch-cookie/0.11.0:
resolution: {integrity: sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA==}
engines: {node: '>=8'}
dependencies:
tough-cookie: 4.1.1
dev: false
/figgy-pudding/3.5.2:
resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==}
dev: true
@ -5928,10 +5652,6 @@ packages:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
dev: false
/immediate/3.3.0:
resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==}
dev: false
/import-lazy/2.1.0:
resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==}
engines: {node: '>=4'}
@ -6083,11 +5803,6 @@ packages:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
dev: true
/is-buffer/2.0.5:
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
engines: {node: '>=4'}
dev: false
/is-callable/1.2.4:
resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==}
engines: {node: '>= 0.4'}
@ -6631,137 +6346,6 @@ packages:
- supports-color
dev: true
/level-codec/9.0.2:
resolution: {integrity: sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==}
engines: {node: '>=6'}
dependencies:
buffer: 5.7.1
dev: false
/level-concat-iterator/2.0.1:
resolution: {integrity: sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==}
engines: {node: '>=6'}
dev: false
/level-concat-iterator/3.1.0:
resolution: {integrity: sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==}
engines: {node: '>=10'}
dependencies:
catering: 2.1.1
dev: false
/level-errors/2.0.1:
resolution: {integrity: sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==}
engines: {node: '>=6'}
dependencies:
errno: 0.1.8
dev: false
/level-iterator-stream/4.0.2:
resolution: {integrity: sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==}
engines: {node: '>=6'}
dependencies:
inherits: 2.0.4
readable-stream: 3.6.0
xtend: 4.0.2
dev: false
/level-js/5.0.2:
resolution: {integrity: sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg==}
dependencies:
abstract-leveldown: 6.2.3
buffer: 5.7.1
inherits: 2.0.4
ltgt: 2.2.1
dev: false
/level-packager/5.1.1:
resolution: {integrity: sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==}
engines: {node: '>=6'}
dependencies:
encoding-down: 6.3.0
levelup: 4.4.0
dev: false
/level-supports/1.0.1:
resolution: {integrity: sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==}
engines: {node: '>=6'}
dependencies:
xtend: 4.0.2
dev: false
/level-supports/2.1.0:
resolution: {integrity: sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==}
engines: {node: '>=10'}
dev: false
/level-supports/4.0.1:
resolution: {integrity: sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==}
engines: {node: '>=12'}
dev: false
/level-transcoder/1.0.1:
resolution: {integrity: sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==}
engines: {node: '>=12'}
dependencies:
buffer: 6.0.3
module-error: 1.0.2
dev: false
/level-write-stream/1.0.0:
resolution: {integrity: sha512-bBNKOEOMl8msO+uIM9YX/gUO6ckokZ/4pCwTm/lwvs46x6Xs8Zy0sn3Vh37eDqse4mhy4fOMIb/JsSM2nyQFtw==}
dependencies:
end-stream: 0.1.0
dev: false
/level/6.0.1:
resolution: {integrity: sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw==}
engines: {node: '>=8.6.0'}
dependencies:
level-js: 5.0.2
level-packager: 5.1.1
leveldown: 5.6.0
dev: false
/level/8.0.0:
resolution: {integrity: sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==}
engines: {node: '>=12'}
dependencies:
browser-level: 1.0.1
classic-level: 1.2.0
dev: false
/leveldown/5.6.0:
resolution: {integrity: sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==}
engines: {node: '>=8.6.0'}
requiresBuild: true
dependencies:
abstract-leveldown: 6.2.3
napi-macros: 2.0.0
node-gyp-build: 4.1.1
dev: false
/leveldown/6.1.1:
resolution: {integrity: sha512-88c+E+Eizn4CkQOBHwqlCJaTNEjGpaEIikn1S+cINc5E9HEvJ77bqY4JY/HxT5u0caWqsc3P3DcFIKBI1vHt+A==}
engines: {node: '>=10.12.0'}
requiresBuild: true
dependencies:
abstract-leveldown: 7.2.0
napi-macros: 2.0.0
node-gyp-build: 4.5.0
dev: false
/levelup/4.4.0:
resolution: {integrity: sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==}
engines: {node: '>=6'}
dependencies:
deferred-leveldown: 5.3.0
level-errors: 2.0.1
level-iterator-stream: 4.0.2
level-supports: 1.0.1
xtend: 4.0.2
dev: false
/lie/3.1.1:
resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==}
dependencies:
@ -6908,10 +6492,6 @@ packages:
resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==}
dev: false
/ltgt/2.2.1:
resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==}
dev: false
/make-dir/2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
@ -7203,11 +6783,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
/module-error/1.0.2:
resolution: {integrity: sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==}
engines: {node: '>=10'}
dev: false
/move-concurrently/1.0.1:
resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==}
dependencies:
@ -7294,10 +6869,6 @@ packages:
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
dev: false
/napi-macros/2.0.0:
resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==}
dev: false
/needle/3.1.0:
resolution: {integrity: sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==}
engines: {node: '>= 4.4.x'}
@ -7361,16 +6932,6 @@ packages:
engines: {node: '>= 6.0.0'}
dev: true
/node-gyp-build/4.1.1:
resolution: {integrity: sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==}
hasBin: true
dev: false
/node-gyp-build/4.5.0:
resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==}
hasBin: true
dev: false
/node-gyp/9.1.0:
resolution: {integrity: sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==}
engines: {node: ^12.22 || ^14.13 || >=16}
@ -7990,131 +7551,6 @@ packages:
source-map: 0.6.1
dev: true
/pouchdb-adapter-leveldb-core/7.3.0:
resolution: {integrity: sha512-OyUsEae1JlqR2jSGMohP03gj6VANh9fDR/3nPIa1vYyoQWlwQzOS7knKqDaJm7Nui3JC5q/lWos7/FGZBFuF5Q==}
dependencies:
argsarray: 0.0.1
buffer-from: 1.1.2
double-ended-queue: 2.1.0-0
levelup: 4.4.0
pouchdb-adapter-utils: 7.3.0
pouchdb-binary-utils: 7.3.0
pouchdb-collections: 7.3.0
pouchdb-errors: 7.3.0
pouchdb-json: 7.3.0
pouchdb-md5: 7.3.0
pouchdb-merge: 7.3.0
pouchdb-utils: 7.3.0
sublevel-pouchdb: 7.3.0
through2: 3.0.2
dev: false
/pouchdb-adapter-leveldb/7.3.0:
resolution: {integrity: sha512-OAPMZmMOd0j/PLivmKxXF9jelakncJ3X5nmFq8vcOeL4SW0gj5uKNIAkS5WfIemHhIHtJBiSu2xYWCQGhBCeRg==}
dependencies:
level: 6.0.1
level-write-stream: 1.0.0
leveldown: 5.6.0
pouchdb-adapter-leveldb-core: 7.3.0
pouchdb-merge: 7.3.0
pouchdb-utils: 7.3.0
through2: 3.0.2
dev: false
/pouchdb-adapter-utils/7.3.0:
resolution: {integrity: sha512-mU1+smcagWSpInVx/VQk7VVjjnJlyagKtusUS3OdCMFZY35L6RbXC8eIhoNVDbkBfEv3cIwqQ3t7fdvkaa1odQ==}
dependencies:
pouchdb-binary-utils: 7.3.0
pouchdb-collections: 7.3.0
pouchdb-errors: 7.3.0
pouchdb-md5: 7.3.0
pouchdb-merge: 7.3.0
pouchdb-utils: 7.3.0
dev: false
/pouchdb-binary-utils/7.3.0:
resolution: {integrity: sha512-xvBH/XGHGcou2vkEzszJxkCc7YElfRUrkLUg51Jbdmh1mogLDUO0bU3Tj6TOIIJfRkQrU/HV+dDkMAhsil0amQ==}
dependencies:
buffer-from: 1.1.2
dev: false
/pouchdb-collections/7.3.0:
resolution: {integrity: sha512-Xr54m2+fErShXn+qAT4xwqJ+8NwddNPeTMJT4z4k1sZsrwfHmZsWbsKAyGPMF04eQaaU+7DDRMciu2VzaBUXyg==}
dev: false
/pouchdb-errors/7.3.0:
resolution: {integrity: sha512-dTBbIC1BbCy6J9W/Csg5xROgb3wJN3HpbgAJHHSEtAkb8oA45KZmU3ZwEpNhf0AfPuQm4XgW1936PvlDlGgJiw==}
dependencies:
inherits: 2.0.4
dev: false
/pouchdb-json/7.3.0:
resolution: {integrity: sha512-D4wyi20ltyiFpuziQeMk3CbXs/Q58VoGTYTJQY8MWBw37OidtHGQAt1Kh5yJ435wJqDzJZyxMA5RxGZxEOBDVg==}
dependencies:
vuvuzela: 1.0.3
dev: false
/pouchdb-md5/7.3.0:
resolution: {integrity: sha512-wL04QgoKyd/L/TV5gxgcvlEyCJiZoXCOEFJklTzkdza/kBQNJGPH7i0ZhKa7Sb+AvZYoWZHddf1Zgv7rBScHkA==}
dependencies:
pouchdb-binary-utils: 7.3.0
spark-md5: 3.0.2
dev: false
/pouchdb-merge/7.3.0:
resolution: {integrity: sha512-E7LmchMzwYFm6V8OBxejzARLisanpksOju2LEfuiYnotGfNDeW7MByP0qBH0/zF8BfUyyjA1cl7ByaEpsapkeQ==}
dev: false
/pouchdb-node/7.3.0:
resolution: {integrity: sha512-8UaLY7/7+S1ciQntWs67kB6rJiklaUdjonLSB3dNWtt0WCfel1t7Yh6+Vx1VSCrb4TALRWhqn0Jn0rBoATekjg==}
dependencies:
abort-controller: 3.0.0
argsarray: 0.0.1
buffer-from: 1.1.2
clone-buffer: 1.0.0
double-ended-queue: 2.1.0-0
fetch-cookie: 0.11.0
inherits: 2.0.4
level: 6.0.1
level-codec: 9.0.2
level-write-stream: 1.0.0
leveldown: 5.6.0
levelup: 4.4.0
ltgt: 2.2.1
node-fetch: 2.6.7
readable-stream: 1.1.14
through2: 3.0.2
uuid: 8.3.2
vuvuzela: 1.0.3
transitivePeerDependencies:
- encoding
dev: false
/pouchdb-promise/6.4.3:
resolution: {integrity: sha512-ruJaSFXwzsxRHQfwNHjQfsj58LBOY1RzGzde4PM5CWINZwFjCQAhZwfMrch2o/0oZT6d+Xtt0HTWhq35p3b0qw==}
dependencies:
lie: 3.1.1
dev: false
/pouchdb-upsert/2.2.0:
resolution: {integrity: sha512-hZceBqSnBLodlHtsJJdGJP9ZN+OHj3IXj8+YCBoHUPpzgLw04wfIOp+PLYROqyL6BODeYF00VFdiX8iIGcCtUw==}
dependencies:
pouchdb-promise: 6.4.3
dev: false
/pouchdb-utils/7.3.0:
resolution: {integrity: sha512-HH+5IXXWn/ZgVCSnrlydBMYn6MabT7RS7SNoo9w8qVH9efpZSp3eLchw6yMQNLw8LQefWmbbskiHV9VgJmSVWQ==}
dependencies:
argsarray: 0.0.1
clone-buffer: 1.0.0
immediate: 3.3.0
inherits: 2.0.4
pouchdb-collections: 7.3.0
pouchdb-errors: 7.3.0
pouchdb-md5: 7.3.0
uuid: 8.3.2
dev: false
/prepend-http/1.0.4:
resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==}
engines: {node: '>=0.10.0'}
@ -8196,6 +7632,7 @@ packages:
/prr/1.0.1:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
dev: true
/pseudomap/1.0.2:
resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
@ -8275,10 +7712,7 @@ packages:
/querystringify/2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
/queue-microtask/1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: false
dev: true
/quick-lru/5.1.1:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
@ -8355,10 +7789,6 @@ packages:
path-type: 2.0.0
dev: false
/readable-stream/0.0.4:
resolution: {integrity: sha512-azrivNydKRYt7zwLV5wWUK7YzKTWs3q87xSmY6DlHapPrCvaT6ZrukvM5erV+yCSSPmZT8zkSdttOHQpWWm9zw==}
dev: false
/readable-stream/1.1.14:
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
dependencies:
@ -8560,6 +7990,7 @@ packages:
/requires-port/1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
dev: true
/resolve-alpn/1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
@ -8645,12 +8076,6 @@ packages:
dev: true
optional: true
/run-parallel-limit/1.1.0:
resolution: {integrity: sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==}
dependencies:
queue-microtask: 1.2.3
dev: false
/run-queue/1.0.3:
resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==}
dependencies:
@ -9072,10 +8497,6 @@ packages:
engines: {node: '>= 8'}
dev: true
/spark-md5/3.0.2:
resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==}
dev: false
/spdx-correct/3.1.1:
resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
dependencies:
@ -9343,15 +8764,6 @@ packages:
webpack: 5.74.0
dev: true
/sublevel-pouchdb/7.3.0:
resolution: {integrity: sha512-zp7u4jmv2N/s+dXZkWTtL4BjREs3SZ1nGBNNJ8RWX4yqN59oHgKmti4CfVOqfsAW9RMasmTqQAEPxL9hX8+CIA==}
dependencies:
inherits: 2.0.4
level-codec: 9.0.2
ltgt: 2.2.1
readable-stream: 1.1.14
dev: false
/sumchecker/3.0.1:
resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==}
engines: {node: '>= 8.0'}
@ -9510,13 +8922,6 @@ packages:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: false
/through2/3.0.2:
resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==}
dependencies:
inherits: 2.0.4
readable-stream: 3.6.0
dev: false
/thunky/1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
dev: true
@ -9604,16 +9009,6 @@ packages:
punycode: 2.1.1
dev: false
/tough-cookie/4.1.1:
resolution: {integrity: sha512-Ns3k8QxkEzIfLZbRwLOrMPDqRa1BEAl4BzNNAOYY4BhBmEkf+HvP467F4NrD9loK3NcYflWOpUH3LJg0ehq/rQ==}
engines: {node: '>=6'}
dependencies:
psl: 1.9.0
punycode: 2.1.1
universalify: 0.2.0
url-parse: 1.5.10
dev: false
/tr46/0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
dev: false
@ -9768,11 +9163,6 @@ packages:
engines: {node: '>= 4.0.0'}
dev: true
/universalify/0.2.0:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
dev: false
/universalify/2.0.0:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
@ -9864,6 +9254,7 @@ packages:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
dev: true
/url/0.11.0:
resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==}
@ -9913,6 +9304,7 @@ packages:
/uuid/8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
dev: true
/v8-compile-cache/2.3.0:
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
@ -9957,10 +9349,6 @@ packages:
engines: {node: '>=6'}
dev: true
/vuvuzela/1.0.3:
resolution: {integrity: sha512-Tm7jR1xTzBbPW+6y1tknKiEhz04Wf/1iZkcTJjSFcpNko43+dFW6+OOeQe9taJIug3NdfUAjFKgUSyQrIKaDvQ==}
dev: false
/wallpaper/5.0.1:
resolution: {integrity: sha512-yB9sBVfosR+NVabo/Ej21hga5u55NQUUdDVoo4LwrLJDRA+ezzX4wmNGwl5yxx/fkBgTADMqLL8ldnfN8TI9hQ==}
engines: {node: '>=12'}
@ -10242,12 +9630,6 @@ packages:
typedarray-to-buffer: 3.1.5
dev: true
/write-stream/0.4.3:
resolution: {integrity: sha512-IJrvkhbAnj89W/GAVdVgbnPiVw5Ntg/B4tc/MUCIEwj/g6JIww1DWJyB/yBMT3yw2/TkT6IUZ0+IYef3flEw8A==}
dependencies:
readable-stream: 0.0.4
dev: false
/ws/6.2.2:
resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
peerDependencies:
@ -10496,8 +9878,8 @@ packages:
- supports-color
dev: false
github.com/ciderapp/node_airtunes2/3ca66c6de35e3f84869c531c2a7c8572690751ab:
resolution: {tarball: https://codeload.github.com/ciderapp/node_airtunes2/tar.gz/3ca66c6de35e3f84869c531c2a7c8572690751ab}
github.com/ciderapp/node_airtunes2/63e3a34a551aa700f89b622d65d19f52f48548ce:
resolution: {tarball: https://codeload.github.com/ciderapp/node_airtunes2/tar.gz/63e3a34a551aa700f89b622d65d19f52f48548ce}
name: airtunes2
version: 2.3.2
hasBin: true

View file

@ -529,3 +529,7 @@ Update 25/07/2022 00:22 UTC
Update 01/08/2022 13:00 UTC
* `term.skip`: Added to `en_US`
Update 29/08/2022 12:00 UTC
* `settings.option.connectivity.lastfmScrobble.manualToken.link`: Added to `en_US`

View file

@ -543,6 +543,7 @@
"settings.option.connectivity.lastfmScrobble.filterLoop.description": "Pwevent wooped twacks fwom being scwobbwed ow dispwayed in the Nyow Pwaying wist on Wast.fm.",
"settings.option.connectivity.lastfmScrobble.filterTypes": "Fiwtew Media Types (Wast.fm)",
"settings.option.connectivity.lastfmScrobble.manualToken": "Entew Wast.fm Token Manyuawwy",
"settings.option.connectivity.lastfmScrobble.manualToken.link": "Cwick hewe to get a Wast.fm token",
"settings.notyf.connectivity.lastfmScrobble.connectError": "Wast.fm Connyection Timed Out",
"settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Wast.fm Connyection Successfuw",
"settings.notyf.connectivity.lastfmScrobble.connecting": "Connyecting to Wast.fm...",

View file

@ -543,6 +543,7 @@
"settings.option.connectivity.lastfmScrobble.filterLoop.description": "Prevent looped tracks from being scrobbled or displayed in the Now Playing list on Last.fm.",
"settings.option.connectivity.lastfmScrobble.filterTypes": "Filter Media Types (Last.fm)",
"settings.option.connectivity.lastfmScrobble.manualToken": "Enter Last.fm Token Manually",
"settings.option.connectivity.lastfmScrobble.manualToken.link": "Click here to get a Last.fm token",
"settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Connection Timed Out",
"settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Connection Successful",
"settings.notyf.connectivity.lastfmScrobble.connecting": "Connecting to Last.fm...",

View file

@ -17,12 +17,12 @@
"term.github": "GitHub",
"term.discord": "Discord",
"term.learnMore": "Leer meer",
"term.accountSettings": "Account Instellingen",
"term.accountSettings": "Accountinstellingen",
"term.logout": "Uitloggen",
"term.login": "Inloggen",
"term.about": "Over",
"term.privateSession": "Privésessie",
"term.queue": "Wachtlijst",
"term.queue": "Wachtrij",
"term.lyrics": "Songtekst",
"term.miniplayer": "MiniSpeler",
"term.history": "Geschiedenis",
@ -31,17 +31,17 @@
"term.listenNow": "Luister nu",
"term.browse": "Bladeren",
"term.radio": "Radio",
"term.recentlyAdded": "Onlangs Toegevoegd",
"term.recentlyAdded": "Onlangs toegevoegd",
"term.songs": "Nummers",
"term.albums": "Albums",
"term.artists": "Artiesten",
"term.podcasts": "Podcasts",
"term.playlists": "Afspeellijsten",
"term.playlists": "afspeellijsten",
"term.playlist": "Afspeellijst",
"term.newPlaylist": "Nieuwe Afspeellijst",
"term.newPlaylistFolder": "Nieuwe Afspeellijst Map",
"term.createNewPlaylist": "Maak Nieuwe Afspeellijst",
"term.createNewPlaylistFolder": "Maak Nieuwe Afspeellijst Map",
"term.newPlaylist": "Nieuwe afspeellijst",
"term.newPlaylistFolder": "Nieuwe map",
"term.createNewPlaylist": "Nieuwe afspeellijst",
"term.createNewPlaylistFolder": "Nieuwe map",
"term.deletePlaylist": "Weet je zeker dat je deze afspeellijst wilt verwijderen?",
"term.play": "Speel",
"term.pause": "Pauze",
@ -55,19 +55,19 @@
"term.share": "Delen",
"term.share.success": "Gekopieërd naar klembord",
"term.settings": "Instellingen",
"term.seeAll": "Zie Alles",
"term.sortBy": "Sorteren Op",
"term.seeAll": "Bekijk alles",
"term.sortBy": "Sorteren op",
"term.sortBy.album": "Album",
"term.sortBy.artist": "Artiest",
"term.sortBy.name": "Naam",
"term.sortBy.genre": "Genre",
"term.sortBy.releaseDate": "Releasedatum",
"term.sortBy.duration": "Duur",
"term.sortBy.dateAdded": "Datum Toegevoegd",
"term.sortBy.dateAdded": "Datum toegevoegd",
"term.sortOrder": "A-Z",
"term.sortOrder.ascending": "Oplopend",
"term.sortOrder.descending": "Aflopend",
"term.viewAs": "Zien Als",
"term.viewAs": "Bekijken als",
"term.viewAs.coverArt": "Albumcover",
"term.viewAs.list": "Lijst",
"term.size": "Grootte",
@ -86,8 +86,8 @@
"term.less": "Minder",
"term.showMore": "Laat meer zien",
"term.showLess": "Laat minder zien",
"term.topSongs": "Top Nummers",
"term.latestReleases": "Laatste Releases",
"term.topSongs": "Top nummers",
"term.latestReleases": "Laatste releases",
"term.time.added": "Toegevoegd",
"term.time.released": "Uitgebracht",
"term.time.updated": "Bijgewerkt",
@ -96,7 +96,7 @@
"one": "dag",
"other": "dagen"
},
"term.time.hours": "uren",
"term.time.hours": "uur",
"term.time.hour": {
"one": "uur",
"other": "uur"
@ -111,21 +111,21 @@
"one": "seconde",
"other": "seconden"
},
"term.fullscreenView": "Volledig Scherm",
"term.fullscreenView": "Volledig scherm",
"term.defaultView": "Standaard Weergave",
"term.audioSettings": "Geluidsinstellingen",
"term.audioControls": "Volumeregeling",
"term.clearAll": "Wis Alles",
"term.recentStations": "Recente Stations",
"term.clearAll": "Wis alles",
"term.recentStations": "Recente stations",
"term.language": "Taal",
"term.funLanguages": "Grappige",
"term.funLanguages": "Humor",
"term.noLyrics": "Laden... /Songtekst niet gevonden./ Instrumentaal.",
"term.copyright": "Copyright",
"term.rightsReserved": "Alle Rechten Voorbehouden.",
"term.rightsReserved": "Alle rechten voorbehouden.",
"term.sponsor": "Sponsor dit project",
"term.ciderTeam": "Cider Team",
"term.ciderTeam": "Cider team",
"term.developer": "Ontwikkelaar",
"term.socialTeam": "Sociale Team",
"term.socialTeam": "Sociale team",
"term.socials": "Sociaal",
"term.contributors": "Bijdragers",
"term.equalizer": "Equalizer",
@ -139,21 +139,21 @@
"term.menu": "Menu",
"term.check": "Controleer",
"term.aboutArtist": "Over {{artistName}}",
"term.topResult": "Top Resultaat",
"term.sharedPlaylists": "Gedeelde Afspeellijsten",
"term.topResult": "Topresultaten",
"term.sharedPlaylists": "Gedeelde afspeellijsten",
"term.people": "Mensen",
"term.newpreset.name": "Nieuwe EQ-voorinstellingsnaam",
"term.addedpreset": "Toegevoegde Voorinstelling",
"term.addedpreset": "Toegevoegde voorinstelling",
"term.deletepreset.warn": "Weet u zeker dat u deze voorinstelling wilt verwijderen?",
"term.deletedpreset": "Verwijderde voorinstelling",
"term.defaultPresets": "Standaard Voorinstellingen",
"term.defaultPresets": "Standaard voorinstellingen",
"term.userPresets": "Gebruikersvoorinstellingen",
"term.requestError": "Er was een probleem met het verzoek.",
"term.song.link.generate": "Bezig met het ophalen van de song.link URL...",
"term.musicVideos": "Muziek Video's",
"term.musicVideos": "Muziekvideo's",
"term.stations": "Stations",
"term.curators": "Curatoren",
"term.appleCurators": "Apple Curatoren",
"term.appleCurators": "Apple curatoren",
"term.radioShows": "Radioprogramma's",
"term.recordLabels": "Platenlabels",
"term.videoExtras": "Video-extra's",
@ -161,67 +161,67 @@
"term.version": "Versie",
"term.noVideos": "Geen video's gevonden.",
"term.plugin": "Plug-in",
"term.pluginMenu": "Plug-in Menu",
"term.pluginMenu": "Plug-in menu",
"term.pluginMenu.none": "Geen interactieve plug-ins",
"term.replay": "Herhalen",
"term.uniqueAlbums": "Unieke Albums",
"term.uniqueArtists": "Unieke Artiesten",
"term.uniqueSongs": "Unieke Nummers",
"term.topArtists": "Top Artiesten",
"term.listenedTo": "Geluisterd naar:",
"term.replay": "Replay",
"term.uniqueAlbums": "verschillende albums",
"term.uniqueArtists": "verschillende artiesten",
"term.uniqueSongs": "verschillende nummers",
"term.topArtists": "Top artiesten",
"term.listenedTo": "Beluisterd:",
"term.times": "keer",
"term.topAlbums": "Top Albums",
"term.topAlbums": "Top albums",
"term.plays": "keer gespeeld",
"term.topGenres": "Top Genres",
"term.topGenres": "Top genres",
"term.confirmLogout": "Weet je zeker dat je wilt uitloggen?",
"term.creditDesignedBy": "Ontworpen door ${authorUsername}",
"home.title": "Home",
"home.recentlyPlayed": "Recent Gespeeld",
"home.recentlyAdded": "Recent Toegevoegd",
"home.artistsFeed": "Je Artiesten Feed",
"home.recentlyPlayed": "Onlangs afgespeeld",
"home.recentlyAdded": "Pas toegevoegd",
"home.artistsFeed": "Je artiesten overzicht",
"home.artistsFeed.noArtist": "Volg artiesten om hun nieuwste releases te zien",
"home.madeForYou": "Gemaakt Voor Jou",
"home.friendsListeningTo": "Vrienden Luisteren Naar",
"home.followedArtists": "Gevolgde Artiesten",
"home.madeForYou": "Voor jou gemaakt",
"home.friendsListeningTo": "Vrienden luisteren naar",
"home.followedArtists": "Gevolgde artiesten",
"error.appleMusicSubRequired": "Apple Music vereist een abonnement.",
"error.connectionError": "Er is een probleem opgetreden bij het verbinden met Apple Music.",
"error.noResults": "Geen Resultaten.",
"error.noResults": "Niets gevonden.",
"error.noResults.description": "Probeer een nieuwe zoekopdracht.",
"podcast.followOnCider": "Volg Op Cider",
"podcast.followedOnCider": "Gevolgd Op Cider",
"podcast.subscribeOnItunes": "Abonneer Op iTunes",
"podcast.subscribedOnItunes": "Geabonneerd Op iTunes",
"podcast.followOnCider": "Volg op Cider",
"podcast.followedOnCider": "Gevolgd op Cider",
"podcast.subscribeOnItunes": "Abonneer op iTunes",
"podcast.subscribedOnItunes": "Geabonneerd op iTunes",
"podcast.itunesStore": "iTunes Store",
"podcast.episodes": "Afleveringen",
"podcast.playEpisode": "Speel Aflevering",
"podcast.website": "Podcast Website",
"action.addToLibrary": "Toevoegen aan Bibliotheek",
"action.addToLibrary.success": "Toegevoegd aan Bibliotheek",
"action.addToLibrary.error": "Fout bij Toevoegen aan Bibliotheek",
"action.removeFromLibrary": "Verwijder uit Bibliotheek",
"action.removeFromLibrary.success": "Verwijderd uit Bibliotheek",
"action.addToQueue": "Toevoegen aan Wachtrij",
"action.addToQueue.success": "Toegevoegd aan Wachtrij",
"action.addToQueue.error": "Fout bij Toevoegen aan Wachtrij",
"action.removeFromQueue": "Verwijder uit Wachtrij",
"action.removeFromQueue.success": "Verwijderd uit Wachtrij",
"action.removeFromQueue.error": "Fout bij Verwijderen uit Wachtrij",
"action.createPlaylist": "Maak een Nieuwe Afspeellijst",
"action.addToPlaylist": "Toevoegen aan Afspeellijst",
"action.removeFromPlaylist": "Verwijder uit Afspeellijst",
"action.addToFavorites": "Toevoegen aan Favorieten",
"podcast.playEpisode": "Speel aflevering",
"podcast.website": "Podcast website",
"action.addToLibrary": "Zet in bibliotheek",
"action.addToLibrary.success": "In bibliotheek",
"action.addToLibrary.error": "Fout bij toevoegen aan bibliotheek",
"action.removeFromLibrary": "Verwijder uit bibliotheek",
"action.removeFromLibrary.success": "Verwijderd uit bibliotheek",
"action.addToQueue": "Toevoegen aan wachtrij",
"action.addToQueue.success": "Toegevoegd aan wachtrij",
"action.addToQueue.error": "Fout bij toevoegen aan wachtrij",
"action.removeFromQueue": "Verwijder uit wachtrij",
"action.removeFromQueue.success": "Verwijderd uit wachtrij",
"action.removeFromQueue.error": "Fout bij verwijderen uit wachtrij",
"action.createPlaylist": "Maak een nieuwe afspeellijst",
"action.addToPlaylist": "Zet in een afspeellijst",
"action.removeFromPlaylist": "Verwijder uit afspeellijst",
"action.addToFavorites": "Toevoegen aan favorieten",
"action.follow": "Volgen",
"action.follow.success": "Gevolgd",
"action.follow.error": "Fout bij Volgen",
"action.follow.error": "Fout bij volgen",
"action.unfollow": "Ontvolgen",
"action.unfollow.success": "Ontvolgd",
"action.unfollow.error": "Fout bij Ontvolgen",
"action.playNext": "Speel Volgende",
"action.playLater": "Speel Later",
"action.startRadio": "Start Radio",
"action.goToArtist": "Ga naar Artiest",
"action.goToAlbum": "Ga naar Album",
"action.showInPlaylist": "Weergeven in Afspeellijst",
"action.unfollow.error": "Fout bij ontvolgen",
"action.playNext": "Speel hierna af",
"action.playLater": "Speel als laatste af",
"action.startRadio": "Maak station aan",
"action.goToArtist": "Toon artiest",
"action.goToAlbum": "Toon album",
"action.showInPlaylist": "Weergeven in afspeellijst",
"action.showInAppleMusic": "Weergeven in Apple Music",
"action.moveToTop": "Verplaatsen uit map",
"action.share": "Delen",
@ -230,20 +230,21 @@
"action.unlove": "Leuk ongedaan maken",
"action.dislike": "Niet leuk",
"action.undoDislike": "Niet leuk ongedaan maken",
"action.showWebRemoteQR": "Web Afstandsbediening",
"action.showWebRemoteQR": "Webbediening",
"action.playTracksNext": "Speel ${app.selectedMediaItems.length} nummers als volgende",
"action.playTracksLater": "Speel ${app.selectedMediaItems.length} nummers later",
"action.removeTracks": "Verwijder ${self.selectedItems.length} nummers uit wachtrij",
"action.import": "Importeren",
"action.export": "Exporteren",
"action.showAlbum": "Volledige Album Bekijken",
"action.tray.minimize": "Verkleinen naar Systeemvak",
"action.showAlbum": "Toon hele album",
"action.tray.minimize": "Verklein naar systeemvak",
"action.tray.quit": "Sluiten",
"action.tray.show": "Tonen",
"action.update": "Updaten",
"action.install": "Installeren",
"action.copy": "Kopiëren",
"action.newpreset": "Nieuwe Voorinstelling...",
"action.deletepreset": "Verwijder Voorinstelling",
"action.newpreset": "Nieuwe voorinstelling...",
"action.deletepreset": "Verwijder voorinstelling",
"action.open": "Open",
"action.relaunch.confirm": "Wil je Cider opnieuw starten?",
"settings.header.general": "Algemeen",
@ -256,15 +257,21 @@
"settings.option.general.resumebehavior.history": "Geschiedenis",
"settings.option.general.resumebehavior.history.description": "Cider zet het laatste nummer uit je algehele Apple Music-geschiedenis op verschillende apparaten in de wachtrij.",
"settings.option.general.language.main": "Talen",
"settings.option.general.language.fun": "Grappige Talen",
"settings.option.general.language.fun": "Grappige talen",
"settings.option.general.language.unsorted": "Ongesorteerd",
"settings.option.general.updateCider": "Update Cider",
"settings.option.general.updateCider.branch": "Cider update branch",
"settings.option.general.updateCider.branch.description": "Selecteer de branch om Cider naar te updaten",
"settings.option.general.updateCider.branch.main": "Stabiel",
"settings.option.general.updateCider.branch.develop": "Ontwikkeling",
"settings.notyf.updateCider.update-not-available": "Geen update beschikbaar",
"settings.notyf.updateCider.update-downloaded": "Update is gedownload, herstart om toe te passen",
"settings.notyf.updateCider.update-error": "Fout bij updaten van Cider",
"settings.notyf.updateCider.update-timeout": "Update time-out",
"settings.header.audio": "Audio",
"settings.header.audio.description": "Pas de audio-instellingen voor Cider aan.",
"settings.option.audio.volumeStep": "Volumestap",
"settings.option.audio.maxVolume": "Maximale Volume",
"settings.option.audio.maxVolume": "Maximale volume",
"settings.option.audio.quality": "Geluidskwaliteit",
"settings.header.audio.quality.hireslossless": "Hi-Res Lossless",
"settings.header.audio.quality.hireslossless.description": "tot 24-bit/192 kHz",
@ -274,8 +281,8 @@
"settings.header.audio.quality.high.description": "256 kbps",
"settings.header.audio.quality.standard": "Standaard",
"settings.header.audio.quality.standard.description": "64 kbps",
"settings.option.audio.seamlessTransition": "Naadloze Audio-overgang",
"settings.option.audio.enableAdvancedFunctionality": "Geavanceerde Functionaliteit Inschakelen",
"settings.option.audio.seamlessTransition": "Naadloze audio-overgang",
"settings.option.audio.enableAdvancedFunctionality": "Geavanceerde functionaliteit inschakelen",
"settings.option.audio.enableAdvancedFunctionality.description": "Het inschakelen van de AudioContext-functionaliteit zorgt voor uitgebreide audiofuncties zoals audionormalisatie, equalizers en visualisaties - op sommige systemen kan dit echter haperingen in audiotracks veroorzaken.",
"settings.option.audio.audioLab": "Cider Audio Lab",
"settings.option.audio.audioLab.description": "Een assortiment van zelf ontwikkelde audio-effecten voor Cider.",
@ -283,49 +290,51 @@
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analoge Warmte",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simuleert de analoge warmte gemodelleerd naar de Korg Nutube 6P1",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analoge Warmte-intensiteit",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Wijzigt de intensiteit van de Analoge Warmtemodule verwerking.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Wijzigt de intensiteit van de analoge warmtemodule verwerking.",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Plausibel",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Warm",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processor™",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Psychoakoestische verbeteringen waardoor alles rijker en levendiger klinkt.",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is niet compatibel met Verruimtelijking. Schakel Verruimtelijking uit om door te gaan.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP Sterkte",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP is niet compatibel met verruimtelijking. Schakel verruimtelijking uit om door te gaan.",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "CAP sterkte",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Verandert de sterkte van de audioverwerking. (Agressief kan ongewenste resultaten opleveren)",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standaard",
"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.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",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Wijzigt het Afstemmingsprofiel van de Verruimtelijking. (Vereist opnieuw opstarten van de app)",
"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 verruimtelijk effect, schakelt de aanpasbare instellingen van audio verruimtelijking uit. Verruimtelijking moet ingeschakeld zijn.",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider-verruimtelijking profiel",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Wijzigt het afstemmingsprofiel van de verruimtelijking. (Vereist herstart van de app)",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standaard",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiofiel",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Verruimtelijking is niet compatibel met CAP. Schakel CAP uit om door te gaan.",
"settings.header.visual": "Visueel",
"settings.header.visual.description": "Pas de visuele instellingen voor Cider aan.",
"settings.option.visual.windowBackgroundStyle": "Achtergrondstijl Venster",
"settings.option.visual.windowBackgroundStyle": "Achtergrondstijl venster",
"settings.header.visual.windowBackgroundStyle.none": "Geen",
"settings.header.visual.windowBackgroundStyle.artwork": "Omslag",
"settings.header.visual.windowBackgroundStyle.image": "Afbeelding",
"settings.option.visual.animatedArtwork": "Geanimeerde Omslag",
"settings.option.visual.animatedArtwork": "Geanimeerde omslag",
"settings.header.visual.animatedArtwork.always": "Altijd",
"settings.header.visual.animatedArtwork.limited": "Beperkt tot pagina's en speciale vermeldingen",
"settings.header.visual.animatedArtwork.disable": "Overal uitschakelen",
"settings.option.visual.animatedArtworkQuality": "Kwaliteit van Geanimeerde Omslagen",
"settings.option.visual.animatedArtworkQuality": "Kwaliteit van geanimeerde omslagen",
"settings.header.visual.animatedArtworkQuality.low": "Laag",
"settings.header.visual.animatedArtworkQuality.medium": "Gemiddeld",
"settings.header.visual.animatedArtworkQuality.high": "Hoog",
"settings.header.visual.animatedArtworkQuality.veryHigh": "Héél Hoog",
"settings.header.visual.animatedArtworkQuality.extreme": "Extreem",
"settings.option.visual.animatedWindowBackground": "Geanimeerde Vensterachtergrond",
"settings.option.visual.hardwareAcceleration": "Hardware Acceleratie",
"settings.option.visual.animatedWindowBackground": "Geanimeerde vensterachtergrond",
"settings.option.visual.hardwareAcceleration": "Hardware acceleratie",
"settings.option.visual.hardwareAcceleration.description": "Vereist herstart",
"settings.header.visual.hardwareAcceleration.default": "Standaard",
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
"settings.header.visual.theme": "Thema",
"settings.option.visual.theme.github.download": "Installeren vanuit GitHub-URL",
"settings.option.visual.theme.github.explore": "Verken GitHub Thema's",
"settings.option.visual.theme.github.explore": "Ontdek GitHub thema's",
"settings.header.visual.theme.github.page": "Thema's van GitHub",
"settings.option.visual.theme.github.install.confirm": "Weet je zeker dat je '{{ repo }}' wilt installeren?",
"settings.prompt.visual.theme.github.URL": "Voer de URL in van het thema dat je wilt installeren",
@ -333,7 +342,7 @@
"settings.notyf.visual.theme.install.error": "Thema-installatie mislukt",
"settings.header.visual.plugin": "Plug-in",
"settings.option.visual.plugin.github.download": "Installeren vanaf GitHub-URL",
"settings.option.visual.plugin.github.explore": "Verken GitHub Plug-ins",
"settings.option.visual.plugin.github.explore": "Ontdek GitHub Plug-ins",
"settings.header.visual.plugin.github.page": "Plug-ins van GitHub",
"settings.option.visual.plugin.github.install.confirm": "Weet je zeker dat je {{ repo }} wilt installeren?",
"settings.prompt.visual.plugin.github.URL": "Voer de URL in van de plug-in die u wilt installeren",
@ -342,7 +351,7 @@
"settings.notyf.visual.plugin.install.error": "Installatie van plug-in mislukt",
"settings.option.visual.theme.default": "Cider",
"settings.option.visual.theme.dark": "Donker",
"settings.option.visual.showPersonalInfo": "Toon Persoonlijke Informatie",
"settings.option.visual.showPersonalInfo": "Toon persoonlijke informatie",
"settings.header.window": "Venster",
"settings.header.window.description": "Pas de vensterinstellingen voor Cider aan.",
"settings.option.window.openOnStartup": "Cider openen bij opstarten",
@ -351,15 +360,17 @@
"settings.header.lyrics.description": "Pas de songtekstinstellingen voor Cider aan.",
"settings.option.lyrics.enableMusixmatch": "Musixmatch-songteksten inschakelen",
"settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke-modus inschakelen (alleen Musixmatch)",
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Vertaling Voorkeurstaal",
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch voorkeurstaal",
"settings.option.lyrics.enableYoutubeLyrics": "Schakel YouTube-songteksten in voor muziekvideo's",
"settings.header.connectivity": "Connectiviteit",
"settings.header.connectivity.description": "Pas de verbindingsinstellingen voor Cider aan.",
"settings.option.connectivity.discordRPC": "Discord Rich Presence",
"settings.option.connectivity.playbackNotifications": "Afspeelmeldingen",
"settings.header.connectivity.discordRPC.cider": "Weergeven als 'Cider'",
"settings.header.connectivity.discordRPC.appleMusic": "Weergeven als 'Apple Music'",
"settings.option.connectivity.discordRPC.clearOnPause": "Discord Rich Presence bij pauze wissen",
"settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling",
"settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Vertraging (%)",
"settings.option.connectivity.lastfmScrobble.delay": "Last.fm scrobble vertraging (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "Schakel 'Last.fm wordt nu afgespeeld' in",
"settings.option.connectivity.lastfmScrobble.removeFeatured": "Verwijder deelneemende artiesten uit de titel van het nummer (Last.fm)",
"settings.option.connectivity.lastfmScrobble.filterLoop": "Herhaalde tracks filteren (Last.fm)",
@ -369,16 +380,16 @@
"settings.header.experimental": "Experimenteel",
"settings.header.experimental.description": "Pas de experimentele instellingen voor Cider aan.",
"settings.option.experimental.unknownPlugin": "Onbekende Bronnen",
"settings.option.experimental.unknownPlugin.description": "Installatie van plug-ins van andere repo's dan de Cider Plugin Repository toestaan",
"settings.option.experimental.unknownPlugin.description": "Installatie van plug-ins van andere repo's dan de Cider plugin repository toestaan",
"settings.option.experimental.compactUI": "Compacte UI",
"settings.option.window.close_button_hide": "Sluitknop zou de toepassing moeten verbergen",
"settings.option.experimental.inline_playlists": "Inline Afspeellijsten en Albums",
"settings.option.advanced.playlistTrackMapping": "Afspeellijst Tracktoewijzing",
"settings.option.experimental.inline_playlists": "Inline afspeellijsten en albums",
"settings.option.advanced.playlistTrackMapping": "Afspeellijst tracktoewijzing",
"settings.option.advanced.playlistTrackMapping.description": "Maakt diep scannen van afspeellijsten mogelijk om te bepalen welke nummers in welke afspeellijsten staan. De bouwtijden van de cache van afspeellijsten kunnen aanzienlijk toenemen.",
"settings.option.visual.transparent": "Transparante kader",
"settings.option.visual.transparent.description": "Heeft thema-ondersteuning nodig, moet opnieuw worden gestart",
"spatial.notTurnedOn": "Audio Verruimtelijking is uitgeschakeld. Schakel het eerst in om het te gebruiken.",
"spatial.spatialProperties": "Ruimtelijke Eigenschappen",
"settings.option.visual.transparent.description": "Transparante kader (heeft thema-ondersteuning nodig, moet opnieuw worden gestart)",
"spatial.notTurnedOn": "Audio verruimtelijking is uitgeschakeld. Schakel het eerst in om het te gebruiken.",
"spatial.spatialProperties": "Ruimtelijke eigenschappen",
"spatial.width": "Breedte",
"spatial.height": "Hoogte",
"spatial.depth": "Diepte",
@ -398,7 +409,7 @@
"spatial.audioSource": "Geluidsbron",
"settings.header.unfinished": "Onvoltooid",
"remote.web.title": "Cider Remote",
"remote.web.description": "Scan de QR code om je telefoon te koppelen met deze Cider-instantie",
"remote.web.description": "Scan de QR-code om je telefoon te koppelen met deze Cider-instantie",
"share.platform.twitter.tweet": "Luister naar {{song}} op Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
@ -408,6 +419,6 @@
"share.platform.messenger": "Messenger",
"share.platform.email": "E-mail",
"share.platform.songLink": "Kopiëren met song.link",
"share.platform.clipboard": "Kopieer Link",
"about.thanks": "Grote dank aan het Cider Collective Team en alle bijdragers."
"share.platform.clipboard": "Kopieer link",
"about.thanks": "Dank aan het Cider Collective Team en al hun bijdragers."
}

View file

@ -39,7 +39,7 @@
"term.hideSearch": "Esconder barra de pesquisa",
"term.library": "Biblioteca",
"term.listenNow": "Escutar Agora",
"term.browse": "Navegar",
"term.browse": "Explorar",
"term.radio": "Rádio",
"term.recentlyAdded": "Adicionados Recentemente",
"term.songs": "Músicas",
@ -67,8 +67,8 @@
"term.enableShuffle": "Ativar ordem aleatória",
"term.disableShuffle": "Desativar ordem aleatória",
"term.repeat": "Repetir",
"term.enableRepeatOne": "Ativar repetir uma",
"term.disableRepeatOne": "Desativar repetir uma",
"term.enableRepeatOne": "Repetir música",
"term.disableRepeatOne": "Repetir tudo",
"term.disableRepeat": "Desativar repetição",
"term.volume": "Volume",
"term.mute": "Ativar Mudo",
@ -108,11 +108,11 @@
"term.less": "Menos",
"term.showMore": "Mostrar mais",
"term.showLess": "Mostrar menos",
"term.topSongs": "Top Músicas",
"term.topSongs": "Músicas populares",
"term.latestReleases": "Últimos lançamentos",
"term.time.added": "Adicionado",
"term.time.released": "Lançado",
"term.time.updated": "Atualizado",
"term.time.released": "Lançado em",
"term.time.updated": "Atualizado em",
"term.time.days": "dias",
"term.time.day": {
"one": "dia",
@ -189,7 +189,7 @@
"term.plugin": "Plugin",
"term.pluginMenu": "Menu de Plugins",
"term.pluginMenu.none": "Nenhum plugin interativo",
"term.replay": "Reproduzir novamente",
"term.replay": "Replay",
"term.uniqueAlbums": "Álbuns Únicos",
"term.uniqueArtists": "Artistas Únicos",
"term.uniqueSongs": "Músicas Únicas",
@ -197,7 +197,7 @@
"term.listenedTo": "Escutou:",
"term.times": "vezes",
"term.topAlbums": "Top Álbuns",
"term.plays": "Plays",
"term.plays": "vezes",
"term.topGenres": "Top Gêneros",
"term.confirmLogout": "Você tem certeza que você quer se desconectar?",
"term.creditDesignedBy": "Projetado por ${authorUsername}",
@ -219,11 +219,11 @@
"action.removeFavorite": "Remover Favorito",
"action.refresh": "Atualizar",
"home.title": "Início",
"home.recentlyPlayed": "Tocado Recentemente",
"home.recentlyPlayed": "Reproduções Recentes",
"home.recentlyAdded": "Adicionado Recentemente",
"home.artistsFeed": "Seu Feed de Artistas",
"home.artistsFeed.noArtist": "Siga alguns artistas para ver os seus últimos lançamentos",
"home.madeForYou": "Feito Para Você",
"home.madeForYou": "Feito para Você",
"home.friendsListeningTo": "Seus Amigos Estão Escutando",
"home.followedArtists": "Artistas Seguidos",
"error.appleMusicSubRequired": "Apple Music requer uma assinatura.",
@ -260,7 +260,7 @@
"action.removeFromQueue.success": "Removido da Fila",
"action.removeFromQueue.error": "Erro ao Remover da Fila",
"action.createPlaylist": "Criar uma Nova Playlist",
"action.addToPlaylist": "Adicionar à Playlist",
"action.addToPlaylist": "Adicionar a uma Playlist",
"action.removeFromPlaylist": "Remover da Playlist",
"action.addToFavorites": "Adicionar aos Favoritos",
"action.follow": "Seguir",
@ -269,28 +269,28 @@
"action.unfollow": "Deixar de Seguir",
"action.unfollow.success": "Deixou de Seguir",
"action.unfollow.error": "Erro ao Deixar de Seguir",
"action.playNext": "Reproduzir Próxima",
"action.playLater": "Reproduzir Depois",
"action.startRadio": "Iniciar Rádio",
"action.playNext": "Reproduzir a Seguir",
"action.playLater": "Reproduzir por Último",
"action.startRadio": "Criar Estação",
"action.goToArtist": "Ir para Artista",
"action.goToAlbum": "Ir para Álbum",
"action.showInPlaylist": "Mostrar na Playlist",
"action.showInAppleMusic": "Mostrar no Apple Music",
"action.moveToTop": "Mover fora da Pasta",
"action.moveToTop": "Mover pra Fora da Pasta",
"action.share": "Compartilhar",
"action.rename": "Renomear",
"action.love": "Gostar",
"action.unlove": "Deixar de Gostar",
"action.dislike": "Não Gostei",
"action.undoDislike": "Desfazer não gostei",
"action.dislike": "Não Curtir",
"action.undoDislike": "Desfazer Não Curtir",
"action.showWebRemoteQR": "Controle Web",
"action.playTracksNext": "Tocar ${app.selectedMediaItems.length} faixas na próxima",
"action.playTracksLater": "Tocar ${app.selectedMediaItems.length} faixas depois",
"action.removeTracks": "Remover ${self.selectedItems.length} faixas da fila",
"action.playTracksNext": "Reproduzir ${app.selectedMediaItems.length} a Seguir",
"action.playTracksLater": "Reproduzir ${app.selectedMediaItems.length} por Último",
"action.removeTracks": "Remover ${self.selectedItems.length} da fila",
"action.import": "Importar",
"action.export": "Exportar",
"action.showAlbum": "Mostrar Álbum Completo",
"action.tray.minimize": "Minimizar para Bandeja",
"action.tray.minimize": "Minimizar para Barra de Tarefas",
"action.tray.show": "Mostrar Cider",
"action.tray.listento": "Ouvir:",
"action.update": "Atualizar",
@ -308,7 +308,7 @@
"action.cast.airplay.underdevelopment": "AirPlay ainda está em desenvolvimento",
"action.cast.scan": "Escanear",
"action.cast.scanning": "Escaneando...",
"action.createNew": "Criar Novo...",
"action.createNew": "Criar Nova...",
"action.openArtworkInBrowser": "Abrir capa no navegador",
"action.scrollToTop": "Rolar até o topo",
"menubar.options.view": "Ver",
@ -362,7 +362,7 @@
"settings.option.general.themeUpdateNotification": "Verificar automaticamente por atualizações de temas",
"settings.option.general.showLovedTracksInline": "Mostrar faixas curtidas",
"settings.option.general.pagination": "Itens exibidos por página",
"settings.options.general.pagination.description": "Isso determina quantas músicas/álbuns para mostrar inicialmente na rolagem infinita, ou quantas músicas/álbuns mostrar numa página só",
"settings.options.general.pagination.description": "Isso determina quantas músicas/álbuns vão ser mostradas inicialmente na rolagem infinita, ou quantas músicas/álbuns serão mostradas numa página só",
"settings.description.search": "Buscar",
"settings.description.albums": "Biblioteca de Álbuns",
"settings.description.artists": "Biblioteca de Artistas",
@ -374,7 +374,7 @@
"settings.description.cast": "Transmitir para Dispositivos",
"settings.description.settings": "Configurações",
"settings.description.developer": "Ferramentas de Desenvolvedor",
"settings.description.listnow": "Escutar Agora",
"settings.description.listnow": "Ouvir Agora",
"settings.description.recentAdd": "Adicionados Recentemente",
"settings.description.songs": "Músicas",
"settings.notyf.updateCider.update-not-available": "Nenhuma atualização disponível",
@ -385,9 +385,9 @@
"settings.option.audio.volumeStep": "Etapas de Volume",
"settings.option.audio.advanced": "Controle Avançado de Volume",
"settings.option.audio.maxVolume": "Volume Máximo",
"settings.option.audio.changePlaybackRate": "Mudar Velocidade de Reprodução",
"settings.option.audio.changePlaybackRate": "Alterar Velocidade de Reprodução",
"settings.option.audio.playbackRate": "Velocidade de Reprodução",
"settings.option.audio.playbackRate.change": "Mudar",
"settings.option.audio.playbackRate.change": "Alterar",
"settings.option.audio.quality": "Qualidade de Áudio",
"settings.header.audio.quality.hireslossless": "Hi-Res Lossless",
"settings.header.audio.quality.hireslossless.description": "até 24-bit/192 kHz",
@ -487,13 +487,13 @@
"settings.option.visual.theme.github.install.confirm": "Você tem certeza que deseja instalar {{ repo }}?",
"settings.prompt.visual.theme.github.URL": "Introduza a URL do tema que você deseja instalar",
"settings.prompt.visual.theme.uninstallTheme": "Você tem certeza que deseja desinstalar? {{ theme }}?",
"settings.option.visual.theme.checkForUpdates": "Procurar por updates",
"settings.option.visual.theme.checkForUpdates": "Procurar por atualizações",
"settings.header.visual.styles": "Estilos",
"settings.option.visual.theme.manageStyles": "Gerenciar Estilos",
"settings.option.visual.theme.uninstall": "Desinstalar",
"settings.option.visual.theme.viewInfo": "Ver Informação",
"settings.option.visual.theme.github.available": "Disponível",
"settings.option.visual.theme.github.applied": "Aplicado",
"settings.option.visual.theme.github.available": "Disponíveis",
"settings.option.visual.theme.github.applied": "Aplicados",
"settings.notyf.visual.theme.install.success": "Tema instalado com sucesso",
"settings.notyf.visual.theme.install.error": "A instalização do tema falhou",
"settings.header.visual.plugin": "Plugin",
@ -513,7 +513,7 @@
"settings.option.window.openOnStartup": "Abrir Cider na Inicialização",
"settings.option.window.openOnStartup.hidden": "Abrir Escondido",
"settings.option.window.useNativeTitleBar": "Usar Barra de Título Nativa",
"settings.option.window.windowControlStyle": "Estilo de Controle de Janela",
"settings.option.window.windowControlStyle": "Estilo dos Botões da Janela",
"settings.option.window.windowControlStyle.right": "Direita",
"settings.option.window.windowControlStyle.left": "Esquerda",
"settings.header.lyrics": "Letras",
@ -620,29 +620,17 @@
"oobe.amupsell.promoExplained": "Algumas assinaturas promocionais e de avaliação da Apple Music fora dos EUA não têm acesso às APIs do Apple Music Web Player necessárias para o funcionamento do Cider. Para verificar se sua assinatura avaliativa funcionará com o Cider vá até <a href='{{ amWebUrl }}'>{{ amWebUrl }}</a> faça login e tente tocar alguma música. Se funcionar, ótimo! Você está pronto para utilizar o Cider, no entanto, se não funcionar considere se increver ao Apple Music aqui: <a href='{{ subscribeUrl }}'>{{ subscribeUrl }}</a>",
"oobe.intro.title": "Bem-vindo (a) ao Cider",
"oobe.intro.subtitle": "",
"oobe.intro.text": "Vamos preparar algumas coisas para que você possa usar o Cider como gostaria. Você sempre pode mudar essas configurações mais tarde.",
"oobe.intro.text": "Vamos preparar algumas coisas para que você possa usar o Cider como você gostaria. Você sempre pode mudar essas configurações mais tarde.",
"oobe.general.title": "Geral",
"oobe.general.subtitle": "",
"oobe.general.text": "",
"oobe.audio.title": "Áudio",
"oobe.audio.subtitle": "",
"oobe.audio.text": "Cider tem a sua disposição um conjunto personalizado de áudio sintonizado e projetado que entrega uma experiência de áudio em alta qualidade.\nApresentando Cider Adrenaline, Atmosphere Realizer, e Áudio Espacial.\nPara ativar essa funcionalidade \"Funcionalidade de Áudio Avançada\" deve ser ativada.\nAtivar a Funcionalidade de Áudio Avançada vai te dar acesso a essas melhorias no Laboratório de Áudio Cider, encontrado nas configurações do aplicativo.",
"oobe.audio.text": "Cider tem a sua disposição um conjunto personalizado de áudio sintonizado e feito especialmente para criar uma experiência de áudio em alta qualidade.\nApresentando Cider Adrenaline, Atmosphere Realizer, e Áudio Espacial.\nPara ativar essas funcionalidades, a \"Funcionalidade de Áudio Avançada\" deve ser ativada.\nAtivar a Funcionalidade de Áudio Avançada vai te dar acesso a essas melhorias no Laboratório de Áudio Cider, encontrado nas configurações do aplicativo.",
"oobe.audio.advancedFunctionality": "",
"oobe.visual.title": "Aparência",
"oobe.visual.subtitle": "",
"oobe.visual.text": "",
"oobe.visual.layout.text": "Cider apresenta dois layouts diferentes de janela.\nMaverick é um layout semelhante ao iTunes com o player na parte superior da janela.\nMojave é uma nova spin criada pela Cider Collective.\n\nVocê pode mudar o layout quando quiser nas configurações.",
"oobe.visual.suggestingThemes": "Usar temas é uma boa maneira de personalizar sua experiência. Aqui vão alguns que nós sugerimos: ",
"oobe.visual.suggestingThemes.subtext": "(Esses temas serão baixados do GitHub)",
"oobe.visual.suggestingThemes.default": "Cider",
"oobe.visual.suggestingThemes.default.text": "O tema clássico do Cider.",
"oobe.visual.suggestingThemes.dark": "Escuro",
"oobe.visual.suggestingThemes.dark.text": "Escuridão.",
"oobe.visual.suggestingThemes.community1": "Groovy",
"oobe.visual.suggestingThemes.community1.text": "Um tema inspirado na WinUI",
"oobe.visual.suggestingThemes.community2": "iTheme",
"oobe.visual.suggestingThemes.community2.text": "O layout clássico da maça.",
"oobe.visual.suggestingThemes.community3": "Dracula",
"oobe.visual.suggestingThemes.community3.text": "O icônico esquema de cores Dracula.",
"oobe.visual.layout.text": "Cider apresenta dois estilos diferentes de janela.\nMaverick é um estilo semelhante ao iTunes com o player na parte superior da janela.\nMojave é um novo estilo criado pela Cider Collective.\n\nVocê pode mudar o layout quando quiser nas configurações.",
"oobe.amsignin.title": ""
}

View file

@ -543,6 +543,7 @@
"settings.option.connectivity.lastfmScrobble.filterLoop.description": "Prevent looped tracks from being scrobbled or displayed in the Now Playing list on Last.fm.",
"settings.option.connectivity.lastfmScrobble.filterTypes": "Filter Media Types (Last.fm)",
"settings.option.connectivity.lastfmScrobble.manualToken": "Enter Last.fm Token Manually",
"settings.option.connectivity.lastfmScrobble.manualToken.link": "Click here to get a Last.fm token",
"settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Connection Timed Out",
"settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Connection Successful",
"settings.notyf.connectivity.lastfmScrobble.connecting": "Connecting to Last.fm...",

View file

@ -23,8 +23,8 @@
"term.login": "登录",
"term.quickNav": "快速导航",
"term.about": "关于",
"term.privateSession": "隐身聆听",
"term.disablePrivateSession": "停止隐身聆听",
"term.privateSession": "无痕聆听",
"term.disablePrivateSession": "关闭无痕聆听",
"term.queue": "待播清单",
"term.autoplay": "自动播放",
"term.lyrics": "歌词",
@ -121,8 +121,8 @@
"term.time.minute": "分钟",
"term.time.seconds": "秒",
"term.time.second": "秒",
"term.fullscreenView": "全屏",
"term.defaultView": "默认",
"term.fullscreenView": "全屏显示",
"term.defaultView": "默认显示",
"term.audioControls": "音频控制",
"term.audioSettings": "音频设置",
"term.clearAll": "清空",
@ -175,9 +175,9 @@
"term.pluginMenu": "插件菜单",
"term.pluginMenu.none": "沒有交互式插件",
"term.replay": "音乐回忆",
"term.uniqueAlbums": "独特专辑",
"term.uniqueArtists": "超绝艺人",
"term.uniqueSongs": "别致单曲",
"term.uniqueAlbums": "张精彩专辑",
"term.uniqueArtists": "位匠心艺人",
"term.uniqueSongs": "首独特单曲",
"term.topArtists": "热门艺人",
"term.listenedTo": "听过",
"term.times": "次",
@ -188,7 +188,7 @@
"term.creditDesignedBy": "由 ${authorUsername} 设计",
"term.discNumber": "碟 ${discNumber}",
"term.reload": "重新载入 Cider ",
"term.toggleprivate": "切换隐身聆听",
"term.toggleprivate": "切换无痕聆听",
"term.webremote": "远程控制",
"term.cast": "投射",
"term.cast2": "投射到设备",
@ -235,25 +235,25 @@
"action.editTracklist": "编辑歌曲清单",
"action.addToLibrary": "加入资料库",
"action.addToLibrary.success": "成功加入资料库",
"action.addToLibrary.error": "加入资料库的过程发生了错误",
"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.addToQueue.success": "成功加入待播清单",
"action.addToQueue.error": "加入待播清单的过程发生了错误",
"action.removeFromQueue": "从待播清单中移除",
"action.removeFromQueue.success": "已从待播清单中移除",
"action.removeFromQueue.error": "从待播清单中移除的过程发生了错误",
"action.createPlaylist": "新建播放列表",
"action.addToPlaylist": "添加到播放列表",
"action.removeFromPlaylist": "从播放列表移除",
"action.removeFromPlaylist": "从播放列表移除",
"action.addToFavorites": "添加至收藏",
"action.follow": "关注",
"action.follow.success": "已关注",
"action.follow.error": "尝试关注的过程发生了错误",
"action.follow.error": "尝试关注的过程发生了错误",
"action.unfollow": "取消关注",
"action.unfollow.success": "已取消关注",
"action.unfollow.error": "尝试取消关注的过程发生了错误",
"action.unfollow.error": "尝试取消关注的过程发生了错误",
"action.playNext": "插播",
"action.playLater": "最后播放",
"action.startRadio": "开始电台",
@ -274,15 +274,15 @@
"action.removeTracks": "从待播清单中移除 ${self.selectedItems.length} 首歌曲",
"action.import": "导入",
"action.export": "导出",
"action.showAlbum": "显示专辑",
"action.showAlbum": "显示完整专辑",
"action.tray.minimize": "最小化",
"action.tray.show": "显示 Cider",
"action.tray.listento": "Listen To:",
"action.update": "更新",
"action.install": "安装",
"action.copy": "复制",
"action.newpreset": "新建默认...",
"action.deletepreset": "删除默认",
"action.copy": "拷贝",
"action.newpreset": "新建预设...",
"action.deletepreset": "删除预设",
"action.open": "打开",
"action.close": "关闭",
"action.relaunch.confirm": "您想重新启动 Cider 吗?",
@ -296,7 +296,7 @@
"action.createNew": "添加...",
"action.openArtworkInBrowser": "在浏览器中打开专辑封面",
"action.scrollToTop": "回到顶部",
"menubar.options.view": "查看 ",
"menubar.options.view": "查看",
"menubar.options.reload": "重新载入",
"menubar.options.forcereload": "强制重新载入",
"menubar.options.toggledevtools": "切换开发人员工具",
@ -340,10 +340,10 @@
"settings.option.general.keybindings.control": "控制",
"settings.option.general.keybindings.interface": "界面",
"settings.option.general.keybindings.advanced": "高级",
"settings.option.general.keybindings.pressCombination": "按下两个键组合来更新操作设定。",
"settings.option.general.keybindings.pressCombination": "按下两个键的组合来更新快捷键。",
"settings.option.general.keybindings.pressEscape": "按下 Esc 键返回。",
"settings.notyf.general.keybindings.update.success": "快捷键更新成功。",
"settings.prompt.general.keybindings.update.success": "快捷键更新成功,按下 OK 重新启动 Cider 。",
"settings.prompt.general.keybindings.update.success": "快捷键更新成功。按下 OK 键重新启动 Cider 。",
"settings.option.general.themeUpdateNotification": "自动检查主题更新",
"settings.option.general.showLovedTracksInline": "行内显示喜爱曲目",
"settings.option.general.pagination": "每页显示的曲目数",
@ -352,15 +352,15 @@
"settings.description.albums": "资料库专辑",
"settings.description.artists": "资料库艺人",
"settings.description.browse": "浏览",
"settings.description.private": "隐身聆听",
"settings.description.private": "切换无痕聆听",
"settings.description.remote": "远程控制",
"settings.description.audio": "音频设定",
"settings.description.plugins": "插件目录",
"settings.description.cast": "投射到装置",
"settings.description.settings": "设置",
"settings.description.developer": "开发者",
"settings.description.developer": "开发者工具",
"settings.description.listnow": "现在就听",
"settings.description.recentAdd": "最近",
"settings.description.recentAdd": "最近加",
"settings.description.songs": "歌曲",
"settings.notyf.updateCider.update-not-available": "没有可用的更新",
"settings.notyf.updateCider.update-downloaded": "更新已成功下载,重启后进行更新",
@ -375,21 +375,21 @@
"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.hireslossless.description": "(最高 24 位/192 kHz",
"settings.header.audio.quality.lossless": "无损",
"settings.header.audio.quality.lossless.description": "(最高 24 位/48 kHz)",
"settings.header.audio.quality.lossless.description": "(最高 24 位/48 kHz",
"settings.header.audio.quality.high": "高音质",
"settings.header.audio.quality.high.description": "256 kbps",
"settings.header.audio.quality.standard": "高效率",
"settings.header.audio.quality.standard.description": "64 kbps",
"settings.option.audio.seamlessTransition": "无缝播放",
"settings.option.audio.enableAdvancedFunctionality": "高级音频功能",
"settings.option.audio.enableAdvancedFunctionality": "启用高级音频功能",
"settings.option.audio.enableAdvancedFunctionality.description": "打开 AudioContext 将启用类似音量平衡和等化器的高级设置。但这并不一定适合每部电脑,可能会发生音乐卡顿。",
"settings.warn.audio.enableAdvancedFunctionality.lowcores": "您的电脑可能无法处理这些功能, 您确定要继续?",
"settings.option.audio.audioLab": "Cider 音频实验室",
"settings.option.audio.audioLab.description": "包含由 Cider 开发团队进行的各种音频优化功能。",
"settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California",
"settings.warn.audioLab.withoutAF": "使用 Cider 音频实验室需要打开进阶音频功能才可使用。",
"settings.warn.audioLab.withoutAF": "Cider 音频实验室需要打开高级音频功能才可使用。",
"settings.warn.enableAdvancedFunctionality": "此功能需要开启高级音频功能才可使用。",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth": "模拟温暖",
"settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "以 Korg Nutube 6P1 为蓝本的模拟温暖。",
@ -397,10 +397,10 @@
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "改变模拟温暖模组处理的强度。",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "温和",
"settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "温暖",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider 音乐氛实现器™️",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "以最先进的音频置为蓝本,实现不同的音乐氛。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider 音乐氛™️模式",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "更改氛实现器模块的操作模式。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider 音乐实现器™️",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "以最先进的音频置为蓝本,实现不同的音乐。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider 音乐围实现器™️模式",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "更改实现器模块的操作模式。",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "红茶芝士奶盖",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "玄米珍珠奶茶",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "岩盐芝士奶茶",
@ -412,9 +412,9 @@
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "樱桃克拉芙缇",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "宇治抹茶麻糬",
"settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "温暖抱抱",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数码增强音频处理™️",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider 数码增强音频处理™️",
"settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "通过人类的听力心理学模型和 AAC 编码特色的即时算法,强化 AAC 音频的感知音频质量。",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "数码增强音频处理与空间音频不兼容,请先停用空间音频。",
"settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "数码增强音频处理器并不兼容空间音频。请关闭空间音频后再继续进行操作。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "数码增强音频处理设置",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "将更改音频处理的激进/振奋程度(增强选项有可能会引起杂讯)。",
"settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "标准",
@ -425,9 +425,9 @@
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "自动将歌曲播放音量调整到相同水平,享受更舒适的聆听体验。(不适用于用户上传的歌曲)",
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "此功能由音频实验室管理",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider 空间音频效果",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "预先调整音频空间效果,关闭空间音讯可自订设置。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 音频空间配置档",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "变更音频空间的配置档,需重新启动应用程序。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "预先调整的空间音频效果,已禁用空间音频的自定义设置。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider 空间音频配置文件",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "更改空间音频的配置文件,需重新启动应用程序。",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "标准",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "声场",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "分离感",
@ -436,7 +436,7 @@
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "扩散",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "安可",
"settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "延长版安可",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "音频空间无法与 CAP 相容,请关闭 CAP 在进行操作。",
"settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "空间音频并不兼容数码增强音频处理器。请关闭数码增强音频处理器后再继续进行操作。",
"settings.option.audio.dbspl.display": "显示 dB SPL(声压)",
"settings.option.audio.dbspl.description": "(专业用户选项) 音量滑动条显示 dB SPL 而非 dBFS。",
"settings.option.audio.dbfs.calibration": "0 dBFS 校正",
@ -479,7 +479,7 @@
"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.success": "主题安装成功",
"settings.notyf.visual.theme.install.error": "主题安装失败",
"settings.header.visual.plugin": "插件",
"settings.option.visual.plugin.github.download": "从 GitHub 链接安装",
@ -487,8 +487,8 @@
"settings.header.visual.plugin.github.page": "来自 GitHub 的插件",
"settings.option.visual.plugin.github.install.confirm": "您确定要安装 {{ repo }} 吗?",
"settings.prompt.visual.plugin.github.URL": "输入您要安装插件的链接",
"settings.prompt.visual.plugin.github.success": "插件已成功安装,请重新启动 Cider 以生效。",
"settings.notyf.visual.plugin.install.success": "插件成功安装",
"settings.prompt.visual.plugin.github.success": "插件已安装成功,请重新启动 Cider 以生效。",
"settings.notyf.visual.plugin.install.success": "插件安装成功",
"settings.notyf.visual.plugin.install.error": "插件安装失败",
"settings.option.visual.theme.default": "默认",
"settings.option.visual.theme.dark": "午夜黑",
@ -519,7 +519,7 @@
"settings.option.connectivity.discordRPC.detailsFormat": "详细信息格式",
"settings.option.connectivity.discordRPC.stateFormat": "动态格式",
"settings.option.connectivity.discordRPC.reload": "重新加载 DiscordRPC",
"settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC 重新连接至用户: {{user}} ({{userid}})",
"settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC 重新连接至用户{{user}} ({{userid}})",
"settings.option.connectivity.lastfmScrobble": "Last.FM 音乐记录",
"settings.option.connectivity.lastfmScrobble.delay": "Last.FM 歌曲追踪延迟 (%)",
"settings.option.connectivity.lastfmScrobble.nowPlaying": "打开 Last.FM 正在聆听",
@ -531,7 +531,7 @@
"settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm 连接超时",
"settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm 连接成功",
"settings.notyf.connectivity.lastfmScrobble.connecting": "正在连接至 Last.fm...",
"settings.header.debug": "Debug",
"settings.header.debug": "调试",
"settings.option.debug.copy_log": "拷贝日志至剪贴板",
"settings.option.debug.openAppData": "打开 Cider 程序文件夹",
"settings.header.experimental": "实验性功能",
@ -558,7 +558,7 @@
"settings.header.connect": "同步",
"settings.option.connect.link_account": "开启 Cider Connect 同步",
"settings.option.connect.link_account.description": "将您的 Discord 帐户与 Cider Connect 关联后,您可以储存用户资料,包括设定、均衡器,并在后续版本中加入更多可同步选项。(正在更新中)",
"spatial.notTurnedOn": "在设置中开启空间音频。",
"spatial.notTurnedOn": "空间音频已关闭。如需使用,请先在设置中开启空间音频。",
"spatial.spatialProperties": "空间属性",
"spatial.width": "宽度",
"spatial.height": "高度",
@ -579,7 +579,7 @@
"spatial.audioSource": "音源",
"settings.header.unfinished": "未完成",
"remote.web.title": "Cider 远程控制",
"remote.web.description": "扫描以下的二维码以控制 Cider",
"remote.web.description": "扫描以下二维码以将您的手机与 Cider 配对",
"share.platform.twitter.tweet": "在 Apple Music 上聆听 {{song}}。 \n\n{{url}}\n\n#AppleMusic #Cider",
"share.platform.twitter": "Twitter",
"share.platform.facebook": "Facebook",
@ -588,8 +588,8 @@
"share.platform.whatsapp": "WhatsApp",
"share.platform.messenger": "Messenger",
"share.platform.email": "电子邮件",
"share.platform.songLink": "复制 song.link 链接",
"share.platform.clipboard": "复制到剪贴板",
"share.platform.songLink": "拷贝 song.link 链接",
"share.platform.clipboard": "拷贝链接",
"about.thanks": "郑重感谢 Cider Collective 以及为这个项目提供支持的贡献者。",
"oobe.yes": "好的",
"oobe.no": "不",
@ -602,7 +602,7 @@
"oobe.amupsell.explainBtn": "这是什么?",
"oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ",
"oobe.amupsell.amWebUrl": "https://beta.music.apple.com/",
"oobe.amupsell.promoExplained": "Cider 无法获取部分促销活动与非美区 Apple Muisc 试用状态下的网络播放器API. 要验证您的试用订阅是否能够在 Cider 内使用, 点击<a href='{{ amWebUrl }}'>{{ amWebUrl }}</a>, 登陆后尝试播放音乐。如果能够播放,您就可以使用 Cider 了!否则请考虑订阅 Apple Music 服务: <a href='{{ subscribeUrl }}'>{{ subscribeUrl }}</a>。",
"oobe.amupsell.promoExplained": "Cider 无法获取部分促销活动与非美区 Apple Muisc 试用状态下的网络播放器API 要验证您的试用订阅是否能够在 Cider 内使用, 点击<a href='{{ amWebUrl }}'>{{ amWebUrl }}</a>, 登陆后尝试播放音乐。如果能够播放,您就可以使用 Cider 了!否则请考虑订阅 Apple Music 服务 <a href='{{ subscribeUrl }}'>{{ subscribeUrl }}</a>。",
"oobe.intro.title": "欢迎使用 Cider",
"oobe.intro.subtitle": "",
"oobe.intro.text": "为了按您喜欢的方式使用 Cider ,请先完成一些设置。您之后可以随时改变这些设置。",
@ -611,23 +611,11 @@
"oobe.general.text": "",
"oobe.audio.title": "音频设置",
"oobe.audio.subtitle": "",
"oobe.audio.text": "Cider 能够自定义调整和设置的音频属性提供丰富的高品质音频体验包括Cider Adrenaline Processor气氛实现器和空间音频。要启用这些功能必须启用 \"高级音频功能\"。",
"oobe.audio.text": "Cider 能够自定义调整和设置的音频属性以提供丰富的高品质音频体验。\n这些功能包括Cider 数码增强音频处理器,氛围实现器和空间音频。\n要启用这些功能必须先启用 \"高级音频功能\"。\n启用高级音频功能后您便可以使用位于应用设置中的 Cider 音频实验室里的这些增强功能了。",
"oobe.audio.advancedFunctionality": "",
"oobe.visual.title": "外观设置",
"oobe.visual.subtitle": "",
"oobe.visual.text": "",
"oobe.visual.layout.text": "Cider 拥有两种不同的窗口布局。Maverick 是一个类似 iTunes 的布局播放器在窗口的顶部。Mojave 是由 Cider 团队设计的一种新的布局。您可以在设置中随时改变布局。",
"oobe.visual.suggestingThemes": "主题能够个性化您的播放器。以下是推荐的几个主题:",
"oobe.visual.suggestingThemes.subtext": "(主题会从 GitHub 上下载)",
"oobe.visual.suggestingThemes.default": "Cider",
"oobe.visual.suggestingThemes.default.text": "经典的 Cider 主题。",
"oobe.visual.suggestingThemes.dark": "Dark",
"oobe.visual.suggestingThemes.dark.text": "暗黑模式。",
"oobe.visual.suggestingThemes.community1": "Groovy",
"oobe.visual.suggestingThemes.community1.text": "类 WinUI 主题。",
"oobe.visual.suggestingThemes.community2": "iTheme",
"oobe.visual.suggestingThemes.community2.text": "经典的苹果风主题。",
"oobe.visual.suggestingThemes.community3": "Dracula",
"oobe.visual.suggestingThemes.community3.text": "著名的德古拉吸血鬼主题。",
"oobe.visual.layout.text": "Cider 拥有两种不同的窗口布局。\nMaverick 是一个类似 iTunes 的布局,播放器在窗口的顶部。\nMojave 是由 Cider 团队设计的一种新的布局。\n\n您可以在设置中随时改变布局。",
"oobe.amsignin.title": ""
}

View file

@ -1178,13 +1178,14 @@ export class BrowserWindow {
`);
});
ipcMain.handle("scanLibrary", async (event, folders) => {
const oldmetadatalist = await LocalFiles.sendOldLibrary();
BrowserWindow.win.webContents.send("getUpdatedLocalList", oldmetadatalist);
const metadatalist = await LocalFiles.scanLibrary();
BrowserWindow.win.webContents.send("getUpdatedLocalList", metadatalist);
LocalFiles.cleanUpDB();
});
// ipcMain.handle("scanLibrary", async (event, folders) => {
// // const oldmetadatalist = await LocalFiles.sendOldLibrary();
// // BrowserWindow.win.webContents.send("getUpdatedLocalList", oldmetadatalist);
// const metadatalist = await LocalFiles.scanLibrary();
// BrowserWindow.win.webContents.send("getUpdatedLocalList", metadatalist);
// LocalFiles.localSongs = metadatalist;
// // LocalFiles.cleanUpDB();
// });
LocalFiles.eventEmitter.on("newtracks", (data) => {
BrowserWindow.win.webContents.send("getUpdatedLocalList", data);

View file

@ -1,7 +1,9 @@
import * as ElectronStore from "electron-store";
import * as electron from "electron";
import { app } from "electron";
import { app, ipcMain } from "electron";
import fetch from "electron-fetch";
import { existsSync } from "fs";
import { join } from "path";
import { utils } from "./utils";
export class Store {
static cfg: ElectronStore;
@ -13,7 +15,7 @@ export class Store {
},
general: {
close_button_hide: false,
language: "en_US", // electron.app.getLocale().replace('-', '_') this can be used in future
language: "en_US",
playbackNotifications: true,
resumeOnStartupBehavior: "local",
privateEnabled: false,
@ -230,6 +232,7 @@ export class Store {
};
constructor() {
this.defaults.general.language = this.checkLocale(app.getLocale().replace("-", "_")) ?? "en_US";
Store.cfg = new ElectronStore({
name: "cider-config",
defaults: this.defaults,
@ -266,8 +269,8 @@ export class Store {
}
let postBody = {
id: Store.cfg.get("connectUser.id"),
app: electron.app.getName(),
version: electron.app.isPackaged ? electron.app.getVersion() : "dev",
app: app.getName(),
version: app.isPackaged ? app.getVersion() : "dev",
syncData: syncData,
};
@ -305,20 +308,24 @@ export class Store {
* IPC Handler
*/
private ipcHandler(): void {
electron.ipcMain.handle("getStoreValue", (_event, key, defaultValue) => {
ipcMain.handle("getStoreValue", (_event, key, defaultValue) => {
return defaultValue ? Store.cfg.get(key, true) : Store.cfg.get(key);
});
electron.ipcMain.handle("setStoreValue", (_event, key, value) => {
ipcMain.handle("setStoreValue", (_event, key, value) => {
Store.cfg.set(key, value);
});
electron.ipcMain.on("getStore", (event) => {
ipcMain.on("getStore", (event) => {
event.returnValue = Store.cfg.store;
});
electron.ipcMain.on("setStore", (_event, store) => {
ipcMain.on("setStore", (_event, store) => {
Store.cfg.store = store;
});
}
private checkLocale(language: string) {
return existsSync(join(utils.getPath("i18nPath"), `${language}.json`)) ? language : "en_US";
}
}

View file

@ -236,6 +236,7 @@ export default class RAOP {
this.airtunes.stopAll(() => {
console.log("end");
});
this._win.webContents.executeJavaScript(`app.airplayDisconnect(true, ${[ipv4, ipport, sepassword, title, artist, album, artworkURL, txt, airplay2dv]})`).catch((err: any) => console.error(err));
this.airtunes = null;
this.device = null;
this.ipairplay = "";
@ -322,6 +323,7 @@ export default class RAOP {
this.airtunes.stopAll(function () {
console.log("end");
});
this._win.webContents.executeJavaScript("app.airplayDisconnect(false)").catch((err: any) => console.error(err));
this.airtunes = null;
this.device = null;
this.ipairplay = "";

View file

@ -1,12 +1,12 @@
import * as PouchDB from "pouchdb-node";
import { join } from "path";
import { app } from "electron";
PouchDB.plugin(require("pouchdb-upsert"));
export class ProviderDB {
public static db: any = null;
static init() {
if (ProviderDB.db == null) {
ProviderDB.db = new PouchDB(join(app.getPath("userData"), "tracksdb"));
}
}
}
// import * as PouchDB from "pouchdb-node";
// import { join } from "path";
// import { app } from "electron";
// PouchDB.plugin(require("pouchdb-upsert"));
// export class ProviderDB {
// public static db: any = null;
// static init() {
// if (ProviderDB.db == null) {
// ProviderDB.db = new PouchDB(join(app.getPath("userData"), "tracksdb"));
// }
// }
// }

View file

@ -1,4 +1,4 @@
import { ProviderDB } from "./db";
// import { ProviderDB } from "./db";
import * as path from "path";
const { readdir } = require("fs").promises;
import { utils } from "../../base/utils";
@ -10,7 +10,7 @@ import { EventEmitter } from "events";
export class LocalFiles {
static localSongs: any = [];
static localSongsArts: any = [];
public static DB = ProviderDB.db;
// public static DB = ProviderDB.db;
static eventEmitter = new EventEmitter();
static getDataType(item_id: String | any) {
@ -18,24 +18,24 @@ export class LocalFiles {
else if ((item_id ?? "").startsWith("ciderlocal")) return "track";
}
static async sendOldLibrary() {
ProviderDB.init();
let rows = (await ProviderDB.db.allDocs({ include_docs: true, attachments: true })).rows.map((item: any) => {
return item.doc;
});
let tracks = rows.filter((item: any) => {
return this.getDataType(item._id) == "track";
});
let arts = rows.filter((item: any) => {
return this.getDataType(item._id) == "artwork";
});
this.localSongs = tracks;
this.localSongsArts = arts;
return tracks;
}
// static async sendOldLibrary() {
// ProviderDB.init();
// let rows = (await ProviderDB.db.allDocs({ include_docs: true, attachments: true })).rows.map((item: any) => {
// return item.doc;
// });
// let tracks = rows.filter((item: any) => {
// return this.getDataType(item._id) == "track";
// });
// let arts = rows.filter((item: any) => {
// return this.getDataType(item._id) == "artwork";
// });
// this.localSongs = tracks;
// this.localSongsArts = arts;
// return tracks;
// }
static async scanLibrary() {
ProviderDB.init();
// ProviderDB.init();
let folders = utils.getStoreValue("libraryPrefs.localPaths");
if (folders == null || folders.length == null || folders.length == 0) folders = [];
let files: any[] = [];
@ -109,8 +109,8 @@ export class LocalFiles {
};
metadatalistart.push(art);
numid += 1;
ProviderDB.db.putIfNotExists(form);
ProviderDB.db.putIfNotExists(art);
// ProviderDB.db.putIfNotExists(form);
// ProviderDB.db.putIfNotExists(art);
metadatalist.push(form);
if (this.localSongs.length === 0 && numid % 10 === 0) {
@ -138,42 +138,42 @@ export class LocalFiles {
return Array.prototype.concat(...files);
}
static async cleanUpDB() {
let folders = utils.getStoreValue("libraryPrefs.localPaths");
let rows = (await ProviderDB.db.allDocs({ include_docs: true, attachments: true })).rows.map((item: any) => {
return item.doc;
});
let tracks = rows.filter((item: any) => {
return (
this.getDataType(item._id) == "track" &&
!folders.some((i: String) => {
return item["attributes"]["assetUrl"].startsWith("file:///" + i);
})
);
});
let hashs = tracks.map((i: any) => {
return i._id;
});
for (let hash of hashs) {
try {
ProviderDB.db.get(hash).then(function (doc: any) {
return ProviderDB.db.remove(doc);
});
} catch (e) {}
try {
ProviderDB.db.get(hash.replace("ciderlocal", "ciderlocalart")).then(function (doc: any) {
return ProviderDB.db.remove(doc);
});
} catch (e) {}
}
}
// static async cleanUpDB() {
// let folders = utils.getStoreValue("libraryPrefs.localPaths");
// let rows = (await ProviderDB.db.allDocs({ include_docs: true, attachments: true })).rows.map((item: any) => {
// return item.doc;
// });
// let tracks = rows.filter((item: any) => {
// return (
// this.getDataType(item._id) == "track" &&
// !folders.some((i: String) => {
// return item["attributes"]["assetUrl"].startsWith("file:///" + i);
// })
// );
// });
// let hashs = tracks.map((i: any) => {
// return i._id;
// });
// for (let hash of hashs) {
// try {
// ProviderDB.db.get(hash).then(function (doc: any) {
// return ProviderDB.db.remove(doc);
// });
// } catch (e) {}
// try {
// ProviderDB.db.get(hash.replace("ciderlocal", "ciderlocalart")).then(function (doc: any) {
// return ProviderDB.db.remove(doc);
// });
// } catch (e) {}
// }
// }
static setupHandlers() {
const app = utils.getExpress();
console.log("Setting up handlers for local files");
app.get("/ciderlocal/:songs", (req: any, res: any) => {
const audio = atob(req.params.songs.replace(/_/g, "/").replace(/-/g, "+"));
//console.log('auss', audio)
// console.log('auss', LocalFiles.localSongs)
let data = {
data: LocalFiles.localSongs.filter((f: any) => audio.split(",").includes(f.id)),
};

View file

@ -22,7 +22,7 @@ const MusicKitInterop = {
ipcRenderer.send("wsapi-updatePlaybackState", attributes);
// lastfm call
if (app.mk.currentPlaybackProgress === app.cfg.connectivity.lastfm.scrobble_after / 100) {
attributes.primaryArtist = app.cfg.connectivity.lastfm.enabled && app.cfg.connectivity.lastfm.remove_featured ? await this.fetchPrimaryArtist(attributes.artistName) : attributes.artistName;
attributes.primaryArtist = app.cfg.connectivity.lastfm.remove_featured ? await this.fetchPrimaryArtist() : attributes.artistName;
ipcRenderer.send("lastfm:scrobbleTrack", attributes);
}
});
@ -36,7 +36,7 @@ const MusicKitInterop = {
MusicKit.getInstance().addEventListener(MusicKit.Events.nowPlayingItemDidChange, async () => {
console.debug("[cider:preload] nowPlayingItemDidChange");
const attributes = MusicKitInterop.getAttributes();
attributes.primaryArtist = app.cfg.connectivity.lastfm.enabled && app.cfg.connectivity.lastfm.remove_featured ? await this.fetchPrimaryArtist(attributes.artistName) : attributes.artistName;
attributes.primaryArtist = app.cfg.connectivity.lastfm.remove_featured ? await this.fetchPrimaryArtist() : attributes.artistName;
if (MusicKitInterop.filterTrack(attributes, false, true)) {
global.ipcRenderer.send("nowPlayingItemDidChange", attributes);
@ -81,13 +81,31 @@ const MusicKitInterop = {
});
},
async fetchPrimaryArtist(artist) {
if (app.mk.nowPlayingItem?.relationships?.artists) {
const artist = await app.mk.api.artist(app.mk.nowPlayingItem.relationships.artists.data[0].id);
return artist.attributes.name;
} else {
return artist;
async fetchPrimaryArtist() {
const songID = app.mk.nowPlayingItem.attributes.playParams.catalogId || app.mk.nowPlayingItem.attributes.playParams.id;
const res = await MusicKit.getInstance().api.v3.music("/v1/catalog/" + MusicKit.getInstance().storefrontId + `/songs/${songID}`, {
include: {
songs: ["artists"],
},
});
if (!res || !res.data) {
console.warn("[cider:preload] fetchPrimaryArtist: no response");
return app.mk.nowPlayingItem.attributes.artistName;
}
if (!res.data.data.length) {
console.error(`[cider:preload] fetchPrimaryArtist: Unable to locate song with id of ${songID}`);
return app.mk.nowPlayingItem.attributes.artistName;
}
const songData = res.data.data[0];
const artistData = songData.relationships.artists.data;
if (artistData.length < 1) {
console.error(`[cider:preload] fetchPrimaryArtist: Unable to find artists related to the song with id of ${songID}`);
return app.mk.nowPlayingItem.attributes.artistName;
}
const primaryArtist = artistData[0];
return primaryArtist.attributes.name;
},
getAttributes: function () {

View file

@ -569,6 +569,23 @@
}
}
/* Album / Playlist Page */
.album-header {
position: sticky;
left: 0;
z-index: 6;
padding: 0px 2em;
backdrop-filter: blur(32px);
background: rgba(0, 0, 0, 0.25);
top: var(--navigationBarHeight);
--bs-gutter-x: 4rem;
--bs-gutter-y: 0;
display: flex;
flex-wrap: wrap;
margin-top: calc(-1 * var(--bs-gutter-y));
margin-right: calc(-0.5 * var(--bs-gutter-x));
margin-left: calc(-0.5 * var(--bs-gutter-x));
border-bottom: 1px solid rgba(200, 200, 200, 0.05);
}
.playlist-page {
--bgColor: transparent;
padding: 0px;

View file

@ -695,6 +695,23 @@
}
/* Album / Playlist Page */
.album-header {
position: sticky;
left: 0;
z-index: 6;
padding: 0px 2em;
backdrop-filter: blur(32px);
background: rgba(0, 0, 0, 0.25);
top: var(--navigationBarHeight);
--bs-gutter-x: 4rem;
--bs-gutter-y: 0;
display: flex;
flex-wrap: wrap;
margin-top: calc(-1 * var(--bs-gutter-y));
margin-right: calc(-0.5 * var(--bs-gutter-x));
margin-left: calc(-0.5 * var(--bs-gutter-x));
border-bottom: 1px solid rgba(200, 200, 200, 0.05);
}
.playlist-page {
--bgColor: transparent;
padding: 0px;
@ -2219,7 +2236,7 @@
padding: 0;
> .col-auto {
width: 230px;
width: auto;
overflow-x: hidden;
overflow-y: overlay;
transition: width 0.25s ease-in-out;

View file

@ -4340,7 +4340,17 @@ const app = new Vue({
notyf.success("Device paired successfully!");
},
sendAirPlayFailed() {
notyf.error("Device paring failed!");
notyf.success("Device paring failed!");
},
airplayDisconnect(dropped, array = []) {
console.log("airplay dropped", dropped, array);
// if (dropped) {
// let [ipv4, ipport, sepassword, title, artist, album, artworkURL, txt, airplay2dv] = array;
// ipcRenderer.send("performAirplayPCM", ipv4, ipport, sepassword, title, artist, album, artworkURL, txt, airplay2dv);
// } else {
// app.activeCasts = [];
// notyf.error("Devices disconnected!");
// }
},
windowFocus(val) {
if (val) {

View file

@ -262,7 +262,7 @@
</label>
</div>
</div>
<div class="md-option-line">
<!-- <div class="md-option-line">
<div class="md-option-segment">
{{'Local files path'}}
</div>
@ -271,7 +271,7 @@
{{'Edit Paths'}}
</button>
</div>
</div>
</div> -->
</div>
</div>
</div>
@ -620,7 +620,7 @@
</label>
</div>
</div>
<div class="md-option-line" v-show="app.platform !== 'darwin'">
<div class="md-option-line" v-show="app.platform !== 'darwin' && !app.cfg.visual.nativeTitleBar">
<div class="md-option-segment">
{{$root.getLz("settings.option.window.windowControlStyle")}}
</div>
@ -1016,6 +1016,11 @@
<div class="md-option-line" v-show="lastfmConnecting">
<div class="md-option-segment">
{{$root.getLz('settings.option.connectivity.lastfmScrobble.manualToken')}}
<small>
<a href="https://www.last.fm/api/auth?api_key=f9986d12aab5a0fe66193c559435ede3" target="_blank">
{{$root.getLz('settings.option.connectivity.lastfmScrobble.manualToken.link')}}
</a>
</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
@ -1523,7 +1528,7 @@
console.warn('[lastfm:authorize] Last.fm authorization timed out.');
this.lastfmConnecting = false;
}
}, 20000);
}, 40000);
ipcRenderer.once('lastfm:authenticated', (_e, session) => {
this.$root.cfg.connectivity.lastfm.secrets.username = session.username

View file

@ -139,7 +139,7 @@
>
</sidebar-library-item>
</template>
<template v-if="$root.cfg.libraryPrefs.localPaths.length != 0">
<!-- <template v-if="$root.cfg.libraryPrefs.localPaths.length != 0">
<div class="app-sidebar-header-text"
@click="$root.cfg.general.sidebarCollapsed.localLibrary = !$root.cfg.general.sidebarCollapsed.localLibrary"
:class="{collapsed: $root.cfg.general.sidebarCollapsed.localLibrary}">
@ -148,7 +148,7 @@
<template v-if="!$root.cfg.general.sidebarCollapsed.localLibrary">
<sidebar-playlist :item="{attributes: { name:'Songs'} , id:'ciderlocal'}"></sidebar-playlist>
</template>
</template>
</template> -->
<template v-if="$root.getPlaylistFolderChildren('p.applemusic').length != 0">
<div
class="app-sidebar-header-text"

View file

@ -10,7 +10,7 @@
:aria-label="app.getLz('menubar.options.reload')"><%- include('../svg/redo.svg') %></button>
</div>
</div>
<div class="row">
<div class="album-header">
<div class="col" style="padding:0;">
<div class="search-input-container" style="width:100%;margin: 16px 0;">
<div class="search-input--icon"></div>
@ -63,15 +63,15 @@
</div>
</div>
</div>
</div>
<pagination
:length="app.library.albums.displayListing.length
"
:length="app.library.albums.displayListing.length"
:pageSize="pageSize"
:scroll="prefs.scroll"
scrollSelector="#app-content"
@onRangeChange="onRangeChange"
style="margin-bottom: 0;"
/>
</div>
<div class="well">
<div class="albums-square-container">
<div>