mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-20 14:42:05 +00:00
Compare commits
86 Commits
v3.10.0
...
c513959461
| Author | SHA1 | Date | |
|---|---|---|---|
| c513959461 | |||
| 66e414dd64 | |||
| 454d2a1d4e | |||
| ca3372d7f5 | |||
| 5bcbab1fac | |||
| 47656c08fd | |||
| 6374ff4a41 | |||
| 86e7c84e43 | |||
| d554fa34b2 | |||
| 1bec276c8b | |||
| 17153eacf0 | |||
| 20d25ca953 | |||
| b3b3d45b96 | |||
| 5ba65ea122 | |||
| 0108e3f603 | |||
| 8d23b13f70 | |||
| a8f9505255 | |||
| cd0509eb06 | |||
| 23504408ec | |||
| ba8282881d | |||
| ad1ac79fdb | |||
| 54736256a4 | |||
| 0d77ac096d | |||
| 6a2b27bfcb | |||
| 2a0aeac89b | |||
| 5dc11e2bdc | |||
| fba48dcd55 | |||
| 832c3103c7 | |||
| 49d9bf9859 | |||
| ef5d0c1222 | |||
| 1cb666d7dd | |||
| 45ca896bef | |||
| 624d5102a5 | |||
| 2e9e5cc51f | |||
| c5f755bfcf | |||
| 0d1cadd650 | |||
| 4cc7ffe74d | |||
| 7f59ca18b0 | |||
| f87030ff55 | |||
| 2406baa5a5 | |||
| d7bf973547 | |||
| 0d199b82ec | |||
| 7d7562d147 | |||
| 9d43fb2bb3 | |||
| 010da7536d | |||
| 3473f05823 | |||
| f72664957d | |||
| a127c2e5e2 | |||
| 952da4ddf6 | |||
| bf84477609 | |||
| e274a1b4c4 | |||
| e6150a5b53 | |||
| dfd881186a | |||
| 762b66dbcd | |||
| f1acfbf48f | |||
| 046faecf11 | |||
| c3612d2ca7 | |||
| 3da344fcad | |||
| 2b5380e67e | |||
| e3c7e4f524 | |||
| 3604e46661 | |||
| 8cea079f26 | |||
| 83b68001cb | |||
| 7a11a47f91 | |||
| 2a9a00bd86 | |||
| cfcbf37f98 | |||
| 7f5c854c00 | |||
| 7ec89580e7 | |||
| 56a5102377 | |||
| b6e9b5ac2b | |||
| eecdbbd2c4 | |||
| efeb871490 | |||
| f326a55247 | |||
| e788585bd4 | |||
| 1396761b18 | |||
| 5872e0f736 | |||
| 1872c8193d | |||
| 187a0c54cb | |||
| 9533497388 | |||
| f323b7bb1f | |||
| 68810b4762 | |||
| d3e01d0732 | |||
| 970cf7ee91 | |||
| 4bf038e24d | |||
| 5925b765b8 | |||
| 78cd3a786c |
173
changelog.md
173
changelog.md
@ -2,8 +2,181 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||
|
||||
#### [v3.10.0](https://github.com/th-ch/youtube-music/compare/v3.9.0...v3.10.0)
|
||||
|
||||
- fix(deps): update dependency butterchurn to v3.0.0-beta.5 [`#3610`](https://github.com/th-ch/youtube-music/pull/3610)
|
||||
- chore(deps): update eslint monorepo to v9.31.0 [`#3600`](https://github.com/th-ch/youtube-music/pull/3600)
|
||||
- chore(deps): update dependency rollup to v4.45.0 [`#3568`](https://github.com/th-ch/youtube-music/pull/3568)
|
||||
- feat: code splitting [`#3593`](https://github.com/th-ch/youtube-music/pull/3593)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.11.1 [`#3571`](https://github.com/th-ch/youtube-music/pull/3571)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.11.1 [`#3570`](https://github.com/th-ch/youtube-music/pull/3570)
|
||||
- chore(deps): update playwright monorepo to v1.54.1 [`#3599`](https://github.com/th-ch/youtube-music/pull/3599)
|
||||
- chore(deps): update playwright monorepo to v1.54.0 [`#3591`](https://github.com/th-ch/youtube-music/pull/3591)
|
||||
- chore(deps): update dependency electron to v37.2.1 [`#3559`](https://github.com/th-ch/youtube-music/pull/3559)
|
||||
- fix(deps): update dependency socks to v2.8.6 [`#3598`](https://github.com/th-ch/youtube-music/pull/3598)
|
||||
- fix(deps): update dependency zod to v4.0.5 [`#3594`](https://github.com/th-ch/youtube-music/pull/3594)
|
||||
- chore(deps): update dependency vite to v7.0.8 [`#3597`](https://github.com/th-ch/youtube-music/pull/3597)
|
||||
- chore(deps): update dependency vite to v7.0.7 [`#3590`](https://github.com/th-ch/youtube-music/pull/3590)
|
||||
- chore(deps): update dependency @electron/universal to v3 [`#3565`](https://github.com/th-ch/youtube-music/pull/3565)
|
||||
- fix(deps): update dependency electron-unhandled to v5 [`#2088`](https://github.com/th-ch/youtube-music/pull/2088)
|
||||
- feat: enable the ESM for main [`#3588`](https://github.com/th-ch/youtube-music/pull/3588)
|
||||
- fix(deps): update dependency zod to v4 [`#3587`](https://github.com/th-ch/youtube-music/pull/3587)
|
||||
- feat: migrate from raw HTML to JSX (TSX / SolidJS) [`#3583`](https://github.com/th-ch/youtube-music/pull/3583)
|
||||
- docs: add Unobtrusive Player in available plugins [`#3582`](https://github.com/th-ch/youtube-music/pull/3582)
|
||||
- fix(deps): update dependency @hono/node-server to v1.15.0 [`#3557`](https://github.com/th-ch/youtube-music/pull/3557)
|
||||
- chore(deps): update dependency vitefu to v1.1.1 [`#3564`](https://github.com/th-ch/youtube-music/pull/3564)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.15 [`#3562`](https://github.com/th-ch/youtube-music/pull/3562)
|
||||
- fix(deps): update dependency es-hangul to v2.3.5 [`#3563`](https://github.com/th-ch/youtube-music/pull/3563)
|
||||
- fix(deps): update dependency zod to v3.25.71 [`#3558`](https://github.com/th-ch/youtube-music/pull/3558)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.9.2 [`#3560`](https://github.com/th-ch/youtube-music/pull/3560)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.9.2 [`#3561`](https://github.com/th-ch/youtube-music/pull/3561)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.9.0 [`#3555`](https://github.com/th-ch/youtube-music/pull/3555)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.9.0 [`#3556`](https://github.com/th-ch/youtube-music/pull/3556)
|
||||
- chore(deps): update eslint monorepo to v9.30.1 [`#3552`](https://github.com/th-ch/youtube-music/pull/3552)
|
||||
- Fixed play/pause discord rich presence by fixing lastsonginfo tracking [`#3551`](https://github.com/th-ch/youtube-music/pull/3551)
|
||||
- feat: enable rolldown native plugin [`#3502`](https://github.com/th-ch/youtube-music/pull/3502)
|
||||
- fix(deps): update dependency virtua to v0.41.5 [`#3549`](https://github.com/th-ch/youtube-music/pull/3549)
|
||||
- chore(deps): update dependency typescript-eslint to v8.35.1 [`#3545`](https://github.com/th-ch/youtube-music/pull/3545)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.14 [`#3546`](https://github.com/th-ch/youtube-music/pull/3546)
|
||||
- chore(deps): update playwright monorepo to v1.53.2 [`#3547`](https://github.com/th-ch/youtube-music/pull/3547)
|
||||
- fix(deps): update dependency i18next to v25.3.0 [`#3548`](https://github.com/th-ch/youtube-music/pull/3548)
|
||||
- perf(synced-lyrics): virtual scrolling [`#3162`](https://github.com/th-ch/youtube-music/pull/3162)
|
||||
- chore(deps): update dependency vite to v7 [`#3524`](https://github.com/th-ch/youtube-music/pull/3524)
|
||||
- feat(synced-lyrics): Musixmatch [`#3261`](https://github.com/th-ch/youtube-music/pull/3261)
|
||||
- feat(api-server): add optional params for search [`#3440`](https://github.com/th-ch/youtube-music/pull/3440)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.3.0 [`#3543`](https://github.com/th-ch/youtube-music/pull/3543)
|
||||
- chore(deps): update eslint monorepo to v9.30.0 [`#3544`](https://github.com/th-ch/youtube-music/pull/3544)
|
||||
- chore(deps): update dependency rollup to v4.44.1 [`#3537`](https://github.com/th-ch/youtube-music/pull/3537)
|
||||
- chore(deps): update dependency ws to v8.18.3 [`#3538`](https://github.com/th-ch/youtube-music/pull/3538)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.9 [`#3540`](https://github.com/th-ch/youtube-music/pull/3540)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.2 [`#3539`](https://github.com/th-ch/youtube-music/pull/3539)
|
||||
- fix(deps): update dependency es-hangul to v2.3.4 [`#3541`](https://github.com/th-ch/youtube-music/pull/3541)
|
||||
- fix(deps): update dependency hono to v4.8.3 [`#3542`](https://github.com/th-ch/youtube-music/pull/3542)
|
||||
- fix(style): fix duplicated scrollbar [`#3483`](https://github.com/th-ch/youtube-music/pull/3483)
|
||||
- chore(deps): update dependency typescript-eslint to v8.35.0 [`#3518`](https://github.com/th-ch/youtube-music/pull/3518)
|
||||
- chore(deps): update dependency vite-plugin-solid to v2.11.7 [`#3520`](https://github.com/th-ch/youtube-music/pull/3520)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.13 [`#3517`](https://github.com/th-ch/youtube-music/pull/3517)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.4 [`#3534`](https://github.com/th-ch/youtube-music/pull/3534)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.8.0 [`#3521`](https://github.com/th-ch/youtube-music/pull/3521)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.5.1 [`#3535`](https://github.com/th-ch/youtube-music/pull/3535)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.8.0 [`#3522`](https://github.com/th-ch/youtube-music/pull/3522)
|
||||
- chore(deps): update dependency electron to v37 [`#3527`](https://github.com/th-ch/youtube-music/pull/3527)
|
||||
- feat: Add instructional note to Swagger documentation [`#3532`](https://github.com/th-ch/youtube-music/pull/3532)
|
||||
- chore(deps): update playwright monorepo to v1.53.1 [`#3504`](https://github.com/th-ch/youtube-music/pull/3504)
|
||||
- chore(deps): update dependency rollup to v4.44.0 [`#3508`](https://github.com/th-ch/youtube-music/pull/3508)
|
||||
- chore(deps): update dependency eslint-plugin-import to v2.32.0 [`#3513`](https://github.com/th-ch/youtube-music/pull/3513)
|
||||
- fix(deps): update dependency hono to v4.8.2 [`#3509`](https://github.com/th-ch/youtube-music/pull/3509)
|
||||
- chore(deps): update dependency electron to v36.5.0 [`#3503`](https://github.com/th-ch/youtube-music/pull/3503)
|
||||
- chore(deps): update stefanzweifel/git-auto-commit-action action to v6 [`#3500`](https://github.com/th-ch/youtube-music/pull/3500)
|
||||
- chore(deps): update dependency vite to v6.3.21 [`#3492`](https://github.com/th-ch/youtube-music/pull/3492)
|
||||
- fix(deps): update dependency hono to v4.8.0 [`#3499`](https://github.com/th-ch/youtube-music/pull/3499)
|
||||
- chore(deps): update playwright monorepo to v1.53.0 [`#3497`](https://github.com/th-ch/youtube-music/pull/3497)
|
||||
- chore(deps): update eslint monorepo to v9.29.0 [`#3496`](https://github.com/th-ch/youtube-music/pull/3496)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.2.0 [`#3495`](https://github.com/th-ch/youtube-music/pull/3495)
|
||||
- fix(deps): update dependency happy-dom to v18 [`#3501`](https://github.com/th-ch/youtube-music/pull/3501)
|
||||
- fix(deps): update dependency electron-store to v10.1.0 [`#3498`](https://github.com/th-ch/youtube-music/pull/3498)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.5.0 [`#3493`](https://github.com/th-ch/youtube-music/pull/3493)
|
||||
- chore(deps): update dependency rollup to v4.43.0 [`#3494`](https://github.com/th-ch/youtube-music/pull/3494)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.7.0 [`#3466`](https://github.com/th-ch/youtube-music/pull/3466)
|
||||
- fix(deps): update dependency @hono/swagger-ui to v0.5.2 [`#3465`](https://github.com/th-ch/youtube-music/pull/3465)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.7.0 [`#3467`](https://github.com/th-ch/youtube-music/pull/3467)
|
||||
- fix(deps): update dependency youtubei.js to v14 [`#3468`](https://github.com/th-ch/youtube-music/pull/3468)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.12 [`#3490`](https://github.com/th-ch/youtube-music/pull/3490)
|
||||
- chore(deps): update dependency glob to v11.0.3 [`#3491`](https://github.com/th-ch/youtube-music/pull/3491)
|
||||
- chore(deps): update dependency typescript-eslint to v8.34.1 [`#3469`](https://github.com/th-ch/youtube-music/pull/3469)
|
||||
- fix(deps): update dependency socks to v2.8.5 [`#3470`](https://github.com/th-ch/youtube-music/pull/3470)
|
||||
- fix(deps): update dependency zod to v3.25.67 [`#3471`](https://github.com/th-ch/youtube-music/pull/3471)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.6 [`#3451`](https://github.com/th-ch/youtube-music/pull/3451)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.3 [`#3453`](https://github.com/th-ch/youtube-music/pull/3453)
|
||||
- fix(deps): update dependency zod to v3.25.56 [`#3454`](https://github.com/th-ch/youtube-music/pull/3454)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.4 [`#3456`](https://github.com/th-ch/youtube-music/pull/3456)
|
||||
- chore(deps): update dependency rollup to v4.42.0 [`#3457`](https://github.com/th-ch/youtube-music/pull/3457)
|
||||
- fix(deps): update dependency conf to v14 [`#3458`](https://github.com/th-ch/youtube-music/pull/3458)
|
||||
- fix(deps): update dependency peerjs to v1.5.5 [`#3460`](https://github.com/th-ch/youtube-music/pull/3460)
|
||||
- chore(deps): update dependency @stylistic/eslint-plugin-js to v4.4.1 [`#3444`](https://github.com/th-ch/youtube-music/pull/3444)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.11 [`#3445`](https://github.com/th-ch/youtube-music/pull/3445)
|
||||
- chore(deps): update dependency electron to v36.4.0 [`#3447`](https://github.com/th-ch/youtube-music/pull/3447)
|
||||
- fix(deps): update dependency zod to v3.25.51 [`#3446`](https://github.com/th-ch/youtube-music/pull/3446)
|
||||
- fix(deps): update dependency hono to v4.7.11 [`#3435`](https://github.com/th-ch/youtube-music/pull/3435)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.1 [`#3434`](https://github.com/th-ch/youtube-music/pull/3434)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.2 [`#3432`](https://github.com/th-ch/youtube-music/pull/3432)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.4.1 [`#3433`](https://github.com/th-ch/youtube-music/pull/3433)
|
||||
- fix(deps): update dependency zod to v3.25.50 [`#3443`](https://github.com/th-ch/youtube-music/pull/3443)
|
||||
- fix(deps): update dependency happy-dom to v17.6.3 [`#3438`](https://github.com/th-ch/youtube-music/pull/3438)
|
||||
- fix(deps): update dependency zod to v3.25.49 [`#3436`](https://github.com/th-ch/youtube-music/pull/3436)
|
||||
- chore(deps): update eslint monorepo to v9.28.0 [`#3437`](https://github.com/th-ch/youtube-music/pull/3437)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.8 [`#3411`](https://github.com/th-ch/youtube-music/pull/3411)
|
||||
- fix: use gtk 3 switch as workaround [`#3366`](https://github.com/th-ch/youtube-music/pull/3366)
|
||||
- chore(deps): update dependency electron to v36.3.2 [`#3431`](https://github.com/th-ch/youtube-music/pull/3431)
|
||||
- fix(deps): update dependency @xhayper/discord-rpc to v1.2.2 [`#3413`](https://github.com/th-ch/youtube-music/pull/3413)
|
||||
- fix(deps): update dependency happy-dom to v17.5.6 [`#3417`](https://github.com/th-ch/youtube-music/pull/3417)
|
||||
- fix(deps): update dependency @hono/zod-validator to v0.7.0 [`#3414`](https://github.com/th-ch/youtube-music/pull/3414)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.10 [`#3430`](https://github.com/th-ch/youtube-music/pull/3430)
|
||||
- chore(deps): update dependency typescript-eslint to v8.33.1 [`#3416`](https://github.com/th-ch/youtube-music/pull/3416)
|
||||
- chore(docs): Improve README-es.md by adjusting the bad Spanish translation [`#3424`](https://github.com/th-ch/youtube-music/pull/3424)
|
||||
- chore(docs): Improve README.md by removing the extra flag for Spanish translation [`#3422`](https://github.com/th-ch/youtube-music/pull/3422)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.4 [`#3410`](https://github.com/th-ch/youtube-music/pull/3410)
|
||||
- fix(deps): update dependency ts-morph to v26 [`#3409`](https://github.com/th-ch/youtube-music/pull/3409)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.6.1 [`#3407`](https://github.com/th-ch/youtube-music/pull/3407)
|
||||
- fix(deps): update dependency zod to v3.25.30 [`#3408`](https://github.com/th-ch/youtube-music/pull/3408)
|
||||
- fix(precise-volume): replace constructor check for volume slider [`#3362`](https://github.com/th-ch/youtube-music/pull/3362)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.1.0 [`#3393`](https://github.com/th-ch/youtube-music/pull/3393)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.1 [`#3406`](https://github.com/th-ch/youtube-music/pull/3406)
|
||||
- chore(deps): update dependency @stylistic/eslint-plugin-js to v4.4.0 [`#3391`](https://github.com/th-ch/youtube-music/pull/3391)
|
||||
- fix(deps): update dependency i18next to v25.2.1 [`#3405`](https://github.com/th-ch/youtube-music/pull/3405)
|
||||
- chore(deps): update dependency esbuild to v0.25.5 [`#3403`](https://github.com/th-ch/youtube-music/pull/3403)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.3 [`#3404`](https://github.com/th-ch/youtube-music/pull/3404)
|
||||
- chore(deps): update dependency rollup to v4.41.1 [`#3392`](https://github.com/th-ch/youtube-music/pull/3392)
|
||||
- chore(deps): update eslint monorepo to v9.27.0 [`#3394`](https://github.com/th-ch/youtube-music/pull/3394)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.6.1 [`#3395`](https://github.com/th-ch/youtube-music/pull/3395)
|
||||
- fix(deps): update dependency hono to v4.7.10 [`#3390`](https://github.com/th-ch/youtube-music/pull/3390)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.3.5 [`#3388`](https://github.com/th-ch/youtube-music/pull/3388)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.2 [`#3389`](https://github.com/th-ch/youtube-music/pull/3389)
|
||||
- chore(deps): update dependency electron to v36.3.1 [`#3372`](https://github.com/th-ch/youtube-music/pull/3372)
|
||||
- chore(deps): update dependency typescript-eslint to v8.32.1 [`#3364`](https://github.com/th-ch/youtube-music/pull/3364)
|
||||
- fix(deps): update dependency semver to v7.7.2 [`#3365`](https://github.com/th-ch/youtube-music/pull/3365)
|
||||
- fix(album-actions): update playlist and button selectors [`#3367`](https://github.com/th-ch/youtube-music/pull/3367)
|
||||
- fix(deps): update dependency i18next to v25.2.0 [`#3370`](https://github.com/th-ch/youtube-music/pull/3370)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.8 [`#3361`](https://github.com/th-ch/youtube-music/pull/3361)
|
||||
- fix(deps): update dependency solid-js to v1.9.7 [`#3375`](https://github.com/th-ch/youtube-music/pull/3375)
|
||||
- chore(deps): update dependency electron to v36 [`#3307`](https://github.com/th-ch/youtube-music/pull/3307)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.0 [`#3357`](https://github.com/th-ch/youtube-music/pull/3357)
|
||||
- chore(deps): update eslint monorepo to v9.26.0 [`#3356`](https://github.com/th-ch/youtube-music/pull/3356)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.4.0 [`#3355`](https://github.com/th-ch/youtube-music/pull/3355)
|
||||
- fix(deps): update dependency zod to v3.24.4 [`#3354`](https://github.com/th-ch/youtube-music/pull/3354)
|
||||
- fix(deps): update dependency solid-js to v1.9.6 [`#3353`](https://github.com/th-ch/youtube-music/pull/3353)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.5.2 [`#3350`](https://github.com/th-ch/youtube-music/pull/3350)
|
||||
- fix(deps): update dependency happy-dom to v17.4.7 [`#3352`](https://github.com/th-ch/youtube-music/pull/3352)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.5.2 [`#3349`](https://github.com/th-ch/youtube-music/pull/3349)
|
||||
- chore(deps): update dependency vite to v6.3.5 [`#3346`](https://github.com/th-ch/youtube-music/pull/3346)
|
||||
- chore(deps): update dependency ws to v8.18.2 [`#3347`](https://github.com/th-ch/youtube-music/pull/3347)
|
||||
- feat(plugin): support authenticated proxy [`#3175`](https://github.com/th-ch/youtube-music/pull/3175)
|
||||
- chore(deps): update dependency esbuild to v0.25.4 [`#3344`](https://github.com/th-ch/youtube-music/pull/3344)
|
||||
- chore(deps): update dependency eslint-config-prettier to v10.1.5 [`#3345`](https://github.com/th-ch/youtube-music/pull/3345)
|
||||
- fix(deps): update dependency hono to v4.7.9 [`#3302`](https://github.com/th-ch/youtube-music/pull/3302)
|
||||
- chore(deps): update dependency electron to v34.5.5 [`#3343`](https://github.com/th-ch/youtube-music/pull/3343)
|
||||
- docs: Add Ukrainian translation [`#3338`](https://github.com/th-ch/youtube-music/pull/3338)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.4 [`#3342`](https://github.com/th-ch/youtube-music/pull/3342)
|
||||
- chore(deps): update dependency rollup to v4.40.2 [`#3301`](https://github.com/th-ch/youtube-music/pull/3301)
|
||||
- chore(deps): update dependency @electron/universal to v2.0.3 [`#3341`](https://github.com/th-ch/youtube-music/pull/3341)
|
||||
- fix(deps): update dependency @hono/zod-validator to v0.5.0 [`#3295`](https://github.com/th-ch/youtube-music/pull/3295)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.1 [`#3340`](https://github.com/th-ch/youtube-music/pull/3340)
|
||||
- fix(deps): update dependency i18next to v25.1.2 [`#3305`](https://github.com/th-ch/youtube-music/pull/3305)
|
||||
- fix(album-actions): use playlist shelf for playlist detection [`#3306`](https://github.com/th-ch/youtube-music/pull/3306)
|
||||
- chore(deps): update dependency typescript-eslint to v8.32.0 [`#3304`](https://github.com/th-ch/youtube-music/pull/3304)
|
||||
- chore(deps): update dependency vite to v6.3.4 [security] [`#3313`](https://github.com/th-ch/youtube-music/pull/3313)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.6 [`#3294`](https://github.com/th-ch/youtube-music/pull/3294)
|
||||
- fix(deps): update dependency es-hangul to v2.3.3 [`#3293`](https://github.com/th-ch/youtube-music/pull/3293)
|
||||
- fix(api-server): fix #3572 [`#3572`](https://github.com/th-ch/youtube-music/issues/3572)
|
||||
- fix(youtube-music): fix #3296, and macOS traffic lights [`#3296`](https://github.com/th-ch/youtube-music/issues/3296)
|
||||
- fix: kuromoji zlib and apply rolldown-vite [`f047dd2`](https://github.com/th-ch/youtube-music/commit/f047dd2d2df189b55b60188392c451aad65b7a1b)
|
||||
- fix: apply fix from eslint [`1da83ff`](https://github.com/th-ch/youtube-music/commit/1da83ff27c2ccfcdf48c0b0b125033b1a1c194d2)
|
||||
- feat: refactor [`51b3f53`](https://github.com/th-ch/youtube-music/commit/51b3f535695c0f19cd252049985578d11a853ccb)
|
||||
|
||||
#### [v3.9.0](https://github.com/th-ch/youtube-music/compare/v3.8.1...v3.9.0)
|
||||
|
||||
> 27 April 2025
|
||||
|
||||
- feat(tuna-obs): added alternativeTitle and tags to tuna [`#3288`](https://github.com/th-ch/youtube-music/pull/3288)
|
||||
- fix: rollback electron version to v34 (for fix #3216) [`#3216`](https://github.com/th-ch/youtube-music/issues/3216)
|
||||
- fix(synced-lyrics): fix #3157 [`#3157`](https://github.com/th-ch/youtube-music/issues/3157)
|
||||
|
||||
48
package.json
48
package.json
@ -45,12 +45,12 @@
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"vite": "npm:rolldown-vite@7.0.8",
|
||||
"vite": "npm:rolldown-vite@7.0.11",
|
||||
"node-gyp": "11.2.0",
|
||||
"xml2js": "0.6.2",
|
||||
"node-fetch": "3.3.2",
|
||||
"@electron/universal": "3.0.0",
|
||||
"@babel/runtime": "7.27.6",
|
||||
"@babel/runtime": "7.28.2",
|
||||
"vitefu": "1.1.1"
|
||||
},
|
||||
"patchedDependencies": {
|
||||
@ -68,18 +68,18 @@
|
||||
"@ffmpeg.wasm/main": "0.12.0",
|
||||
"@floating-ui/dom": "1.7.2",
|
||||
"@foobar404/wave": "2.0.5",
|
||||
"@ghostery/adblocker-electron": "2.11.1",
|
||||
"@ghostery/adblocker-electron-preload": "2.11.1",
|
||||
"@hono/node-server": "1.15.0",
|
||||
"@ghostery/adblocker-electron": "2.11.3",
|
||||
"@ghostery/adblocker-electron-preload": "2.11.3",
|
||||
"@hono/node-server": "1.17.1",
|
||||
"@hono/swagger-ui": "0.5.2",
|
||||
"@hono/zod-openapi": "1.0.0-beta.1",
|
||||
"@hono/zod-validator": "0.7.0",
|
||||
"@hono/zod-openapi": "1.0.2",
|
||||
"@hono/zod-validator": "0.7.2",
|
||||
"@jellybrick/dbus-next": "0.10.3",
|
||||
"@jellybrick/electron-better-web-request": "1.0.4",
|
||||
"@jellybrick/mpris-service": "2.1.5",
|
||||
"@jimp/plugin-color": "1.6.0",
|
||||
"@skyra/jaro-winkler": "1.1.1",
|
||||
"@xhayper/discord-rpc": "1.2.2",
|
||||
"@xhayper/discord-rpc": "1.3.0",
|
||||
"async-mutex": "0.5.0",
|
||||
"bgutils-js": "3.2.0",
|
||||
"butterchurn": "3.0.0-beta.5",
|
||||
@ -102,7 +102,7 @@
|
||||
"filenamify": "6.0.0",
|
||||
"hanja": "1.1.4",
|
||||
"happy-dom": "18.0.1",
|
||||
"hono": "4.8.4",
|
||||
"hono": "4.8.9",
|
||||
"howler": "2.2.4",
|
||||
"html-to-text": "9.0.5",
|
||||
"i18next": "25.3.2",
|
||||
@ -132,14 +132,14 @@
|
||||
"virtua": "0.41.5",
|
||||
"vudio": "2.1.1",
|
||||
"x11": "2.3.0",
|
||||
"youtubei.js": "14.0.0",
|
||||
"zod": "4.0.5"
|
||||
"youtubei.js": "15.0.1",
|
||||
"zod": "4.0.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "9.31.0",
|
||||
"@eslint/js": "9.32.0",
|
||||
"@malept/flatpak-bundler": "0.4.0",
|
||||
"@playwright/test": "1.54.1",
|
||||
"@stylistic/eslint-plugin": "5.1.0",
|
||||
"@stylistic/eslint-plugin": "5.2.2",
|
||||
"@total-typescript/ts-reset": "0.6.1",
|
||||
"@types/electron-localshortcut": "3.1.3",
|
||||
"@types/howler": "2.2.12",
|
||||
@ -148,31 +148,31 @@
|
||||
"@types/trusted-types": "2.0.7",
|
||||
"bufferutil": "4.0.9",
|
||||
"builtin-modules": "5.0.0",
|
||||
"cross-env": "7.0.3",
|
||||
"cross-env": "10.0.0",
|
||||
"del-cli": "6.0.0",
|
||||
"discord-api-types": "0.38.15",
|
||||
"electron": "38.0.0-alpha.5",
|
||||
"discord-api-types": "0.38.17",
|
||||
"electron": "37.2.4",
|
||||
"electron-builder": "26.0.12",
|
||||
"electron-builder-squirrel-windows": "26.0.12",
|
||||
"electron-devtools-installer": "4.0.0",
|
||||
"electron-vite": "4.0.0",
|
||||
"esbuild": "0.25.6",
|
||||
"eslint": "9.31.0",
|
||||
"eslint-config-prettier": "10.1.5",
|
||||
"esbuild": "0.25.8",
|
||||
"eslint": "9.32.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-import-resolver-exports": "1.0.0-beta.5",
|
||||
"eslint-import-resolver-typescript": "4.4.4",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-prettier": "5.5.1",
|
||||
"eslint-plugin-prettier": "5.5.3",
|
||||
"eslint-plugin-solid": "0.14.5",
|
||||
"glob": "11.0.3",
|
||||
"node-gyp": "11.2.0",
|
||||
"playwright": "1.54.1",
|
||||
"rollup": "4.45.0",
|
||||
"rollup": "4.46.1",
|
||||
"typescript": "5.8.3",
|
||||
"typescript-eslint": "8.36.0",
|
||||
"typescript-eslint": "8.38.0",
|
||||
"utf-8-validate": "6.0.5",
|
||||
"vite": "npm:rolldown-vite@7.0.8",
|
||||
"vite-plugin-inspect": "11.3.0",
|
||||
"vite": "npm:rolldown-vite@7.0.11",
|
||||
"vite-plugin-inspect": "11.3.2",
|
||||
"vite-plugin-resolve": "2.5.2",
|
||||
"vite-plugin-solid": "2.11.7",
|
||||
"ws": "8.18.3"
|
||||
|
||||
1230
pnpm-lock.yaml
generated
1230
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -34,6 +34,7 @@ export interface DefaultConfig {
|
||||
overrideUserAgent: boolean;
|
||||
usePodcastParticipantAsArtist: boolean;
|
||||
themes: string[];
|
||||
customWindowTitle?: string;
|
||||
};
|
||||
'plugins': Record<string, unknown>;
|
||||
}
|
||||
|
||||
@ -1,7 +1,91 @@
|
||||
{
|
||||
"common": {
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "Plagini icra etmək mümkün olmadı {{pluginName}}::{{contextName}}",
|
||||
"executed-at-ms": "Plagin {{pluginName}}::{{contextName}} {{ms}} millisaniyədə icra edildi",
|
||||
"initialize-failed": "\"{{pluginName}}\" plaginini başlatmaq mümkün olmadı",
|
||||
"load-all": "Bütün plaginlər yüklənir",
|
||||
"load-failed": "\"{{pluginName}}\" plaginini yükləmək mümkün olmadı",
|
||||
"loaded": "\"{{pluginName}}\" plagini yükləndi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"language": {
|
||||
"code": "az",
|
||||
"local-name": "Azərbaycan dili",
|
||||
"name": "Azerbaijani"
|
||||
},
|
||||
"main": {
|
||||
"console": {
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "Proqram keşi təmizlənir"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "Pəncərə ekran kənarında göstərilməyə çalışıldı, PəncərəÖlçüsü={{windowSize}}, EkranÖlçüsü={{displaySize}}, Vəziyyət={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "Menu gizlədildi, yenidən göstərmək üçün 'Alt' istifadə edin (Proqramiçi menu üçün 'Esc')",
|
||||
"message": "Gizlət menusu aktivləşdirildi",
|
||||
"title": "Gizlət menusu aktivləşdirildi"
|
||||
},
|
||||
"need-to-restart": {
|
||||
"buttons": {
|
||||
"later": "Sonra",
|
||||
"restart-now": "Yenidən başlat"
|
||||
},
|
||||
"detail": "\"{{pluginName}}\" plaginin işləməsi üçün proqramı yenidən başladın",
|
||||
"message": "\"{{pluginName}}\" üçün proqram yenidən başlamalıdır",
|
||||
"title": "Yenidən başlatmaq tələb edilir"
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
"quit": "Tərk et",
|
||||
"relaunch": "Yenidən işə sal",
|
||||
"wait": "Gözləyin"
|
||||
},
|
||||
"detail": "Narahatçılıq üçün üzr istəyirik! Nə etməli olduğumuzu seçin:",
|
||||
"message": "Proqram cavab vermir",
|
||||
"title": "Pəncərə Cavab vermir"
|
||||
},
|
||||
"update-available": {
|
||||
"buttons": {
|
||||
"disable": "Yeniləmələri deaktiv et",
|
||||
"download": "Yüklə",
|
||||
"ok": "Oldu"
|
||||
},
|
||||
"detail": "Yeni versiya mövcuddur və bu linkdən yüklənə bilər {{downloadLink}}",
|
||||
"message": "Yeni versiya mövcuddur",
|
||||
"title": "Yeniləmə mövcuddur"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"about": "Haqqında",
|
||||
"navigation": {
|
||||
"label": "İstiqamət",
|
||||
"submenu": {
|
||||
"copy-current-url": "Hazırkı linki kopyala",
|
||||
"go-back": "Geri qayıt",
|
||||
"go-forward": "İrəli get",
|
||||
"quit": "Çıx",
|
||||
"restart": "Proqramı Yenidən Başlat"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"label": "Seçimlər",
|
||||
"submenu": {
|
||||
"advanced-options": {
|
||||
"label": "Əlavə seçimlər",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Proqram başlayanda keşi təmizlə",
|
||||
"disable-hardware-acceleration": "Aparat təminatı sürətlənməsini deaktiv et",
|
||||
"edit-config-json": "Config.json dəyiş"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "ক্যাপশন নির্বাচক খুলুন"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "ক্যাপশন {{language}} ভাষায় পরিবর্তিত হয়েছে",
|
||||
"caption-disabled": "ক্যাপশন বন্ধ করা হয়েছে",
|
||||
"no-captions": "এই গানটির জন্য কোনো ক্যাপশন উপলব্ধ নেই"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "পরবর্তী/পূর্ববর্তী নেভিগেশন তীরগুলি আপনার প্রিয় ব্রাউজারের মতো সরাসরি ইন্টারফেসে অন্তর্ভুক্ত করা হয়েছে",
|
||||
"name": "নেভিগেশন"
|
||||
"name": "নেভিগেশন",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "আগের পাতায় যান"
|
||||
},
|
||||
"forward": {
|
||||
"title": "পরের পাতায় যান"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "ইন্টারফেস থেকে Google লগইন বাটন এবং লিঙ্কগুলি সরান",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "ভিডিও ওভারলেতে একটি বাটনের মাধ্যমে ভিডিও কোয়ালিটি পরিবর্তন করতে দেয়",
|
||||
"name": "ভিডিও কোয়ালিটি পরিবর্তক"
|
||||
"name": "ভিডিও কোয়ালিটি পরিবর্তক",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "প্লেয়ারের মান পরিবর্তনের অপশন খুলুন"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "স্ক্রবলিং সমর্থন যোগ করুন (যেমন last.fm, Listenbrainz)",
|
||||
@ -857,7 +875,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "ভিডিও টগল"
|
||||
"name": "ভিডিও টগল",
|
||||
"templates": {
|
||||
"button-song": "গান",
|
||||
"button-video": "ভিডিও"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
"description": "প্লেয়ারে একটি ভিজ্যুয়ালাইজার যোগ করে",
|
||||
|
||||
@ -123,7 +123,51 @@
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "Jezik će se promijeniti nakon ponovnog pokretanja"
|
||||
"message": "Jezik će se promijeniti nakon ponovnog pokretanja",
|
||||
"title": "Jezik je uspješno promjenjen"
|
||||
},
|
||||
"label": "Jezik",
|
||||
"submenu": {
|
||||
"to-help-translate": "Želite da pomognete s prijevodom? Kliknite ovdje"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Nastavi posljednju pjesmu pri sljedećem pokretaju",
|
||||
"single-instance-lock": "Sprječavanje višestrukog pokretanja",
|
||||
"start-at-login": "Pokreni čim se prijavite",
|
||||
"starting-page": {
|
||||
"label": "Početna stranica",
|
||||
"unset": "Ukinite postavu"
|
||||
},
|
||||
"tray": {
|
||||
"label": "Tacna",
|
||||
"submenu": {
|
||||
"disabled": "Onemogućeno",
|
||||
"enabled-and-hide-app": "Tacna je uključena, i prozor aplikacije skrijte",
|
||||
"enabled-and-show-app": "Tacna je uključena, i prozor aplikacije prikažite",
|
||||
"play-pause-on-click": "Pokreni/Zaustavi na klik"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Vizualne postavke",
|
||||
"submenu": {
|
||||
"like-buttons": {
|
||||
"default": "Zadano",
|
||||
"force-show": "Prinudno prikaži",
|
||||
"hide": "Sakrij",
|
||||
"label": "'Sviđa mi se' dugmadi"
|
||||
},
|
||||
"remove-upgrade-button": "Ukloni dugme za nadogradnju",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
"cancel": "Otkaži",
|
||||
"remove": "Ukloni"
|
||||
},
|
||||
"remove-theme": "Jeste li sigurni da želite ukloniti prilagođenu temu?",
|
||||
"remove-theme-message": "Ovo će ukloniti prilagođenu temu"
|
||||
},
|
||||
"label": "Tema"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -280,7 +280,10 @@
|
||||
"name": "Ambientní režim"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Přídá YouTube Music podporu pro Amuse právě těď hraje widget od 6k Labs"
|
||||
"description": "Přídá YouTube Music podporu pro Amuse právě těď hraje widget od 6k Labs",
|
||||
"response": {
|
||||
"query": "Server Amuse API běží. Pošli požadavek typu GET na /query, aby ses dozvěděl info o písničce."
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "Vlož API server abys mohl ovládat přehrávač",
|
||||
|
||||
@ -345,7 +345,7 @@
|
||||
"label": "Port"
|
||||
}
|
||||
},
|
||||
"name": "Auth Proxy Adapter",
|
||||
"name": "Authentifizierungs-Proxyadapter",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Hostnamen eingeben für lokalen Proxy-Server (Neustart erforderlich):",
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
"download": "Λήψη",
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "Μια νέα έκδοση είναι διαθέσιμη και μπορεί να ληφθεί από τον σύνδεσμο {{downloadLink}}",
|
||||
"detail": "Μια νέα έκδοση είναι διαθέσιμη και μπορεί να ληφθεί από το {{downloadLink}}",
|
||||
"message": "Μια νέα έκδοση είναι διαθέσιμη",
|
||||
"title": "Διατίθεται ενημέρωση"
|
||||
}
|
||||
@ -132,14 +132,14 @@
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Συνέχιση τελευταίου τραγουδιού όταν η εφαρμογή ξεκινά",
|
||||
"single-instance-lock": "Κλείδωμα Μοναδικής Εκδοχής",
|
||||
"start-at-login": "Έναρξη κατά την σύνδεση",
|
||||
"single-instance-lock": "Κλείδωμα μοναδικής εκδοχής",
|
||||
"start-at-login": "Έναρξη κατά τη σύνδεση",
|
||||
"starting-page": {
|
||||
"label": "Σελίδα έναρξης",
|
||||
"label": "Αρχική σελίδα",
|
||||
"unset": "Κατάργηση ορισμού"
|
||||
},
|
||||
"tray": {
|
||||
"label": "Δίσκος",
|
||||
"label": "Περιοχή συστήματος",
|
||||
"submenu": {
|
||||
"disabled": "Απενεργοποιημένο",
|
||||
"enabled-and-hide-app": "Ενεργοποιημένο και απόκρυψη της εφαρμογής",
|
||||
@ -148,7 +148,7 @@
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Τροποποιήσεις εμφάνισης",
|
||||
"label": "Οπτικές προσαρμογές",
|
||||
"submenu": {
|
||||
"like-buttons": {
|
||||
"default": "Προεπιλογή",
|
||||
@ -169,7 +169,7 @@
|
||||
"label": "Θέμα",
|
||||
"submenu": {
|
||||
"import-css-file": "Εισαγωγή προσαρμοσμένου αρχείου CSS",
|
||||
"no-theme": "Κανένα θέμα"
|
||||
"no-theme": "Χωρίς θέμα"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -208,11 +208,11 @@
|
||||
},
|
||||
"plugins": {
|
||||
"ad-speedup": {
|
||||
"description": "Εάν παίξει διαφήμιση κάνει σίγαση του ήχου και θέτει την ταχύτητα αναπαραγωγής στο 16x",
|
||||
"name": "Γρήγορη προώθηση διαφημίσεων"
|
||||
"description": "Εάν ξεκινήσει διαφήμιση, ο ήχος απενεργοποιείται και η ταχύτητα αναπαραγωγής ορίζεται σε 16x",
|
||||
"name": "Επιτάχυνση διαφημίσεων"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "Αποκλεισμός όλων των διαφημίσεων και tracker",
|
||||
"description": "Αποκλεισμός όλων των διαφημίσεων και της παρακολούθησης από προεπιλογή",
|
||||
"menu": {
|
||||
"blocker": "Πρόγραμμα αποκλεισμού"
|
||||
},
|
||||
@ -223,28 +223,28 @@
|
||||
"name": "Ενέργειες σε Άλμπουμ"
|
||||
},
|
||||
"album-color-theme": {
|
||||
"description": "Εφαρμόζει ένα δυναμικό θέμα και οπτικά εφέ με βάση τη χρωματική παλέτα του άλμπουμ",
|
||||
"description": "Εφαρμόζει ένα δυναμικό θέμα και οπτικά εφέ βάσει της παλέτας χρωμάτων του άλμπουμ",
|
||||
"menu": {
|
||||
"color-mix-ratio": {
|
||||
"label": "Αναλογία μίξης χρωμάτων",
|
||||
"label": "Αναλογία ανάμειξης χρωμάτων",
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Θέμα χρώματος άλμπουμ"
|
||||
"name": "Θέμα χρωμάτων άλμπουμ"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"description": "Εφαρμόζει ένα εφέ φωτισμού ρίχνοντας απαλά χρώματα από το βίντεο στο φόντο της οθόνης σας",
|
||||
"menu": {
|
||||
"blur-amount": {
|
||||
"label": "Ένταση θαμπώματος",
|
||||
"label": "Ποσότητα θολώματος",
|
||||
"submenu": {
|
||||
"pixels": "{{blurAmount}} pixels"
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"label": "Buffer",
|
||||
"label": "Ενδιάμεση μνήμη",
|
||||
"submenu": {
|
||||
"buffer": "{{buffer}}"
|
||||
}
|
||||
@ -270,18 +270,18 @@
|
||||
"smoothness-transition": {
|
||||
"label": "Ομαλή μετάβαση",
|
||||
"submenu": {
|
||||
"during": "Σε {{interpolationTime}} δευτερόλεπτα"
|
||||
"during": "Για {{interpolationTime}} δευτερόλεπτα"
|
||||
}
|
||||
},
|
||||
"use-fullscreen": {
|
||||
"label": "Χρήση πλήρους οθόνης"
|
||||
"label": "Σε πλήρη οθόνη"
|
||||
}
|
||||
},
|
||||
"name": "Λειτουργία περιβάλλοντος"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Προσθέτει υποστήριξη μουσικής YouTube για το widget Amuse now playing από την 6K Labs",
|
||||
"name": "Διασκέδαση",
|
||||
"description": "Προσθέτει υποστήριξη YouTube Music στο widget Amuse now playing από την 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Ο διακομιστής Amuse API εκτελείται. GET /query για να λάβετε πληροφορίες για το τραγούδι."
|
||||
}
|
||||
|
||||
@ -156,6 +156,13 @@
|
||||
"hide": "Hide",
|
||||
"label": "Like buttons"
|
||||
},
|
||||
"custom-window-title": {
|
||||
"label": "Custom window title",
|
||||
"prompt": {
|
||||
"label": "Enter custom window title: (leave empty to disable)",
|
||||
"placeholder": "Example: YouTube Music"
|
||||
}
|
||||
},
|
||||
"remove-upgrade-button": "Remove upgrade button",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
@ -334,7 +341,6 @@
|
||||
"name": "Audio Compressor"
|
||||
},
|
||||
"auth-proxy-adapter": {
|
||||
"name": "Auth Proxy Adapter",
|
||||
"description": "Support for the use of authentication proxy services",
|
||||
"menu": {
|
||||
"disable": "Disable Proxy Adapter",
|
||||
@ -346,14 +352,15 @@
|
||||
"label": "Port"
|
||||
}
|
||||
},
|
||||
"name": "Auth Proxy Adapter",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"title": "Proxy Hostname",
|
||||
"label": "Enter hostname for local proxy server (requires restart):"
|
||||
"label": "Enter hostname for local proxy server (requires restart):"
|
||||
},
|
||||
"port": {
|
||||
"title": "Proxy Port",
|
||||
"label": "Enter port for local proxy server (requires restart):"
|
||||
"label": "Enter port for local proxy server (requires restart):"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -704,13 +711,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Allows changing the video quality with a button on the video overlay",
|
||||
"name": "Video Quality Changer",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Open player quality changer"
|
||||
}
|
||||
},
|
||||
"description": "Allows changing the video quality with a button on the video overlay",
|
||||
"name": "Video Quality Changer"
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Add scrobbling support (etc. last.fm, Listenbrainz)",
|
||||
|
||||
@ -45,8 +45,8 @@
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "El menú está oculto, utiliza \"Alt\" para mostrarlo (o \"Escape\" si utilizas el menú integrado en la aplicación)",
|
||||
"message": "Menú Oculto está habilitado",
|
||||
"title": "Menú oculto habilitado"
|
||||
"message": "El \"Menú Oculto\" está habilitado",
|
||||
"title": "\"Menú oculto\" habilitado"
|
||||
},
|
||||
"need-to-restart": {
|
||||
"buttons": {
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Abrir el selector de subtítulos"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Subtítulos cambiados a {{language}}",
|
||||
"caption-disabled": "Subtítulos desactivados",
|
||||
"no-captions": "Sin subtítulos para ésta canción"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Flechas de navegación Siguiente/Atrás directamente integradas en la interfaz, como en tu navegador favorito",
|
||||
"name": "Navegación"
|
||||
"name": "Navegación",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Volver a la página anterior"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Ir a la siguiente página"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Eliminar los botones y enlaces de inicio de sesión de Google de la interfaz",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Permite cambiar la calidad del vídeo con un botón sobre puesto en el vídeo",
|
||||
"name": "Ajustador de calidad de vídeo"
|
||||
"name": "Ajustador de calidad de vídeo",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Abrir selector de calidad del reproductor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Añadir soporte para scrobbling (last.fm, Listenbrainz, etc.)",
|
||||
@ -712,7 +730,7 @@
|
||||
"token": "Introduzca el token de usuario de ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-title": "Usar títulos alternativos",
|
||||
"scrobble-other-media": "Scrobble en otros medios"
|
||||
"scrobble-other-media": "Hacer Scrobble sobre otros medios"
|
||||
},
|
||||
"name": "Scrobbler",
|
||||
"prompt": {
|
||||
@ -762,8 +780,8 @@
|
||||
"synced-lyrics": {
|
||||
"description": "Proporciona letras de canciones sincronizadas, utilizando proveedores como LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\tHa ocurrido un error al obtener la letra.\n\tPor favor, inténtalo de nuevo más tarde.",
|
||||
"not-found": "⚠️ No se ha encontrado ninguna letra para esta canción."
|
||||
"fetch": "⚠️\tSe produjo un error al obtener la letra.\n\tPor favor, inténtelo de nuevo más tarde.",
|
||||
"not-found": "⚠️ No se han encontrado letras para esta canción."
|
||||
},
|
||||
"menu": {
|
||||
"default-text-string": {
|
||||
@ -817,7 +835,7 @@
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - La letra puede estar desincronizada debido a un desajuste en la duración.",
|
||||
"inexact": "⚠️ - La letra de esta canción puede no ser exacta",
|
||||
"instrumental": "⚠️ - Se trata de una canción instrumental"
|
||||
"instrumental": "⚠️ - Esta es una canción instrumental"
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Alternador de vídeo",
|
||||
"templates": {
|
||||
"button-song": "Canción"
|
||||
"button-song": "Canción",
|
||||
"button-video": "Vídeo"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -280,7 +280,7 @@
|
||||
"name": "Mode ambiant"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Ajoute la prise en charge de YouTube Music pour le widget de lecture en cours Amuse par 6K Labs",
|
||||
"description": "Ajout de la prise en charge de YouTube Music pour le widget Amuse now playing de 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Le serveur API Amuse est en cours d'exécution. Envoyez une requête GET /query pour obtenir des informations sur la chanson."
|
||||
@ -320,11 +320,11 @@
|
||||
"name": "Serveur API [Beta]",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Entrer le nom de l'hôte (par exemple 0.0.0.0) pour le serveur API:",
|
||||
"label": "Entrer le nom de l'hôte (par exemple : 0.0.0.0) pour le serveur API :",
|
||||
"title": "Nom d'hôte"
|
||||
},
|
||||
"port": {
|
||||
"label": "Entrez le port du serveur de l'API:",
|
||||
"label": "Entrez le port du serveur de l'API :",
|
||||
"title": "Port"
|
||||
}
|
||||
}
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Ouvrir le sélecteur de sous-titres"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Sous-titres changés en {{language}}",
|
||||
"caption-disabled": "Sous-titres désactivés",
|
||||
"no-captions": "Aucun sous-titre disponible pour cette chanson"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Flèches de navigation Suivant/Retour directement intégrées dans l'interface, comme dans votre navigateur préféré",
|
||||
"name": "Navigation"
|
||||
"name": "Navigation",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Revenir à la page précédente"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Aller à la page suivante"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Supprimer les boutons et liens de connexion Google de l'interface",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Permet de changer la qualité vidéo avec un bouton sur la vidéo",
|
||||
"name": "Changeur de qualité vidéo"
|
||||
"name": "Changeur de qualité vidéo",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Ouvrir le sélecteur de qualité du lecteur"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Ajouter le support de scrobbling (ex. last.fm, Listenbrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Basculer la vidéo",
|
||||
"templates": {
|
||||
"button-song": "Musique"
|
||||
"button-song": "Musique",
|
||||
"button-video": "Vidéo"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -150,6 +150,11 @@
|
||||
"visual-tweaks": {
|
||||
"label": "दृश्य परिवर्तन",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"prompt": {
|
||||
"placeholder": "उदाहरण: यूट्यूब संगीत"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "डिफॉल्ट",
|
||||
"force-show": "बल पूर्वक दिखाएं",
|
||||
@ -381,6 +386,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "कैप्शन चयनकर्ता खोलें"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "कैप्शन {{language}} में बदल दिया गया है",
|
||||
"caption-disabled": "कैप्शन बंद कर दिए गए हैं",
|
||||
"no-captions": "इस गाने के लिए कोई कैप्शन उपलब्ध नहीं हैं"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -477,7 +487,7 @@
|
||||
"playlist-has-only-one-song": "प्लेलिस्ट में केवल एक आइटम है, इसे सीधे डाउनलोड करें",
|
||||
"playlist-id-not-found": "कोई प्लेलिस्ट आईडी नहीं मिली",
|
||||
"playlist-is-empty": "प्लेलिस्ट ख़ाली है",
|
||||
"playlist-is-mix-or-private": "प्लेलिस्ट जानकारी प्राप्त करने में दिक्कत: सुनिश्चित करें कि यह निजी या \"आपके लिए मिश्रित\" प्लेलिस्ट नहीं है\n\n{{त्रुटि}}",
|
||||
"playlist-is-mix-or-private": "प्लेलिस्ट जानकारी प्राप्त करने में दिक्कत: सुनिश्चित करें कि यह निजी या \"आपके लिए मिश्रित\" प्लेलिस्ट नहीं है\n\n{{error}}",
|
||||
"preparing-file": "फ़ाइल तैयार की जा रही है…",
|
||||
"saving": "सेव जा रहा है…",
|
||||
"trying-to-get-playlist-id": "प्लेलिस्ट आईडी प्राप्त करने का प्रयास किया जा रहा है: {{playlistId}}",
|
||||
@ -525,7 +535,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "इक्वलाइज़र"
|
||||
"name": "एक्विलाइज़र"
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "वॉल्यूम स्लाइडर को घातांकीय बनाता है ताकि कम वॉल्यूम का चयन करना आसान हो।",
|
||||
@ -600,7 +610,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "आगे /पीछे नेविगेशन अर्रोस सीधे इंटरफ़ेस में एकीकृत, जैसे आपके पसंदीदा ब्राउज़र में",
|
||||
"name": "नेविगेशन"
|
||||
"name": "नेविगेशन",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "पिछले पेज पर जाएं"
|
||||
},
|
||||
"forward": {
|
||||
"title": "अगले पेज पर जाएं"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "इंटरफ़ेस से गूगल लॉगिन बटन और लिंक हटाएँ",
|
||||
@ -692,7 +710,12 @@
|
||||
}
|
||||
},
|
||||
"description": "वीडियो ओवरले पर एक बटन के साथ वीडियो की गुणवत्ता बदलने की अनुमति देता है",
|
||||
"name": "वीडियो गुणवत्ता परिवर्तक"
|
||||
"name": "वीडियो गुणवत्ता परिवर्तक",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "प्लेयर क्वालिटी सेटिंग खोलें"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "स्क्रोब्लिंग सपोर्ट जोड़ें (etc. last.fm, listenbrainz)",
|
||||
@ -728,6 +751,23 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "प्लेबैक (प्ले/पॉज़/नेक्स्ट/प्रीवियस) के लिए ग्लोबल हॉटकी सेट करने की सुविधा देता है, मीडिया कुंजियों को ओवरराइड करके मीडिया OSD बंद करता है, Ctrl/CMD + F से खोज चालू करता है, Linux में मीडिया कुंजियों के लिए MPRIS सपोर्ट चालू करता है, और उन्नत उपयोगकर्ताओं के लिए कस्टम हॉटकी की अनुमति देता है",
|
||||
"menu": {
|
||||
"override-media-keys": "मीडिया कुंजियों पर नियंत्रण प्राप्त करें",
|
||||
"set-keybinds": "वैश्विक गीत नियंत्रण सेट करें"
|
||||
},
|
||||
"name": "शॉर्टकट कुंजियाँ (और MPRIS)",
|
||||
"prompt": {
|
||||
"keybind": {
|
||||
"keybind-options": {
|
||||
"next": "अगला",
|
||||
"play-pause": "चलाएं / विराम दें",
|
||||
"previous": "पिछला"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"video-toggle": {
|
||||
"menu": {
|
||||
"align": {
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Otvori izbornik za titlove"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Titlovi su promenjeni u {{language}}",
|
||||
"caption-disabled": "Titlovi su isključeni",
|
||||
"no-captions": "Za ovu pjesmu nisu dostupni titlovi"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Naprijed/Nazad navigacijske strelice su izravno integrirane u sučelje, kao i u vašem omiljenom pregledniku",
|
||||
"name": "Navigacija"
|
||||
"name": "Navigacija",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Vrati se na prijethodnu stranicu"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Idi na sljedeću stranicu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Ukloni Google prijavne gumbe i linkove iz sučelja",
|
||||
@ -627,6 +640,253 @@
|
||||
"performance-improvement": {
|
||||
"description": "Poboljšati performanse uključivanjem eksperimentalnih skripti",
|
||||
"name": "Poboljšanje performansa (Beta)"
|
||||
},
|
||||
"picture-in-picture": {
|
||||
"description": "Dozvoljava aplikaciji da se prebaci u režim slike-u-slici",
|
||||
"menu": {
|
||||
"always-on-top": "Uvijek na vrhu",
|
||||
"hotkey": {
|
||||
"label": "Prečac",
|
||||
"prompt": {
|
||||
"keybind-options": {
|
||||
"hotkey": "Prečac"
|
||||
},
|
||||
"label": "Odaberi prečac za prebacivanje u režim slike-u-slici",
|
||||
"title": "Prečac za režim slike-u-slici"
|
||||
}
|
||||
},
|
||||
"save-window-position": "Sačuvaj mjesto prozora",
|
||||
"save-window-size": "Sačuvaj veličinu prozora",
|
||||
"use-native-pip": "Koristi izvorni režim slike-u-slici za pretraživače"
|
||||
},
|
||||
"name": "Slika-u-slici",
|
||||
"templates": {
|
||||
"button": "Slika-u-slici"
|
||||
}
|
||||
},
|
||||
"playback-speed": {
|
||||
"description": "Slušajte brzo, slušajte sporo! Ovo će dodat klizač koji kontrolira brzinu pjesme",
|
||||
"name": "Brzina pokretanja",
|
||||
"templates": {
|
||||
"button": "Brzina"
|
||||
}
|
||||
},
|
||||
"precise-volume": {
|
||||
"description": "Precizno kontrolirajte jačinu zvuka korištenjem točkih na mišu/prečaca, sa prilagođenim sučeljem i prilagodivim stupnjevima jačine",
|
||||
"menu": {
|
||||
"arrows-shortcuts": "Lokalne kontrole tipkih sa strelicama",
|
||||
"custom-volume-steps": "Postavi prilagođene stope za promjenu jačine",
|
||||
"global-shortcuts": "Globalni prečaci"
|
||||
},
|
||||
"name": "Precizna jačina zvuka",
|
||||
"prompt": {
|
||||
"global-shortcuts": {
|
||||
"keybind-options": {
|
||||
"decrease": "Snizi jačinu zvuka",
|
||||
"increase": "Pojačaj jačinu zvuka"
|
||||
},
|
||||
"label": "Odaberi globalne prečace na tipkovnici za jačinu zvuka:",
|
||||
"title": "Globalni prečaci na tipkovnici za jačinu zvuka"
|
||||
},
|
||||
"volume-steps": {
|
||||
"label": "Odaberi stope za povišenje/sniženje jačine zvuka",
|
||||
"title": "Stope za promjenu jačine zvuka"
|
||||
}
|
||||
}
|
||||
},
|
||||
"quality-changer": {
|
||||
"backend": {
|
||||
"dialog": {
|
||||
"quality-changer": {
|
||||
"detail": "Trenutni kvalitet: {{quality}}",
|
||||
"message": "Odaberi kvalitet videa:",
|
||||
"title": "Odaberi kvalitet videa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Dozvoljava promjenu kvaliteta videa pomoću gumba na video preklopu",
|
||||
"name": "Promjena kvalitete videa",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Otvori izbornik za promjenu kvalitete pokretača"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Dodaj podršku za 'četkanje' (poput last.fm, Listenbrainz)",
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"message": "Autentifikacija sa Last.fm nije uspjela.\nZatvori skočni prozor do sljedećeg ponovnog pokretanja.",
|
||||
"title": "Autentifikacija je neuspješna"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"lastfm": {
|
||||
"api-settings": "Postavke za Last.fm API"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": "Unesi korisnički žeton za ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-title": "Koristi alternativne naslove",
|
||||
"scrobble-other-media": "Učetkaj druge medije"
|
||||
},
|
||||
"name": "Četkarnik",
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "Last.fm API ključ",
|
||||
"api-secret": "Last.fm API tajna"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": {
|
||||
"label": "Unesi svoj ListenBrainz korisnički žeton:",
|
||||
"title": "ListenBrainz žeton"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "Dozvoljava postavljanje globalnih prečaca na tipkovnici za reproduciranje (pokreni/zaustavi/sljedeće/prijethodno) i isključivanje OSD-a za medije tako što će prebrisati tipke za medije, uključiti Ctrl/CMD + F za pretragu, isključiti MPRIS podršku za medijske tipke na Linux-u, i prilagođene prečace za napredne korisnike",
|
||||
"menu": {
|
||||
"override-media-keys": "Prebriši medijske tipke",
|
||||
"set-keybinds": "Postavi globalne kontrole za pjesme"
|
||||
},
|
||||
"name": "Prečaci (& MPRIS)",
|
||||
"prompt": {
|
||||
"keybind": {
|
||||
"keybind-options": {
|
||||
"next": "Sljedeće",
|
||||
"play-pause": "Pokreni / Zaustavi",
|
||||
"previous": "Prijethodno"
|
||||
},
|
||||
"label": "Odaberi globalne prečace za upravljanje pjesmama:",
|
||||
"title": "Globalni prečaci na tipkovnici"
|
||||
}
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Preskače pjesme koje vam se ne sviđaju",
|
||||
"name": "Preskočite pjesme koje vam se ne sviđaju"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "Automatski preskočite dijelove pjesama gdje nema zvuka",
|
||||
"name": "Preskoči tišine"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Automatski preskače dijelove pjesama koji nisu glazba poput uvoda/odjave ili dijelove spotova u kojima nema muzike",
|
||||
"name": "Bloker sponzora"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Obezbjeđava sinkronizirane lirike pjesama, korištenjem dobavljača poput LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\tDošlo je do greške prilikom dobavljanja stihova pjesme.\n\tMolimo vas da probate ponovno kasnije.",
|
||||
"not-found": "⚠️ Tekst za ovu pjesmu nije pronađen."
|
||||
},
|
||||
"menu": {
|
||||
"default-text-string": {
|
||||
"label": "Zadani karakteri između stihova pjesama",
|
||||
"tooltip": "Odaberi zadane karaktere koji će biti korišteni za razmake između stihova pjesama"
|
||||
},
|
||||
"line-effect": {
|
||||
"label": "Efekat crte",
|
||||
"submenu": {
|
||||
"fancy": {
|
||||
"label": "Kitnjast",
|
||||
"tooltip": "Koristi velike (kao iz aplikacije) efekte na trenutnu crtu"
|
||||
},
|
||||
"focus": {
|
||||
"label": "Fokus",
|
||||
"tooltip": "Pretvorite samo trenutnu crtu bijelu"
|
||||
},
|
||||
"offset": {
|
||||
"label": "Izmak",
|
||||
"tooltip": "Izmak na trenutnoj crti"
|
||||
},
|
||||
"scale": {
|
||||
"label": "Razmjera",
|
||||
"tooltip": "Promjeni razmjeru trenutne crte"
|
||||
}
|
||||
},
|
||||
"tooltip": "Odaberi efekat koji će biti primjenjen na trenutnoj crti"
|
||||
},
|
||||
"precise-timing": {
|
||||
"label": "Napravi da tekst pjesme bude izvrsno usklađen",
|
||||
"tooltip": "Izračunaj do milisekunde prikaz sljedeće crteteksta (može malo utjecati na učinak)"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "Romanizuj stihove pjesama",
|
||||
"tooltip": "Ako je tekst pjesme na drugom jeziku, probajte da ga prikažete na latinici."
|
||||
},
|
||||
"show-lyrics-even-if-inexact": {
|
||||
"label": "Prikaži tekst pjesme čak i ako je netačan",
|
||||
"tooltip": "Ako pjesma nije pronađena, produžetak će probati ponovno sa novim upitom za pretragu.\nRezultat iz drugog pokušaja možda neće biti tačan."
|
||||
},
|
||||
"show-time-codes": {
|
||||
"label": "Prikaži vremenske oznake",
|
||||
"tooltip": "Prikaži vremenske oznake pored teksta pjesme"
|
||||
}
|
||||
},
|
||||
"name": "Sinkronizovani stihovi pjesama",
|
||||
"refetch-btn": {
|
||||
"fetching": "Dobavljanje...",
|
||||
"normal": "Ponovo dobavite tekst pjesme"
|
||||
},
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - Tekst pjesme možda nije usklađen zbog neuklapanja u daljini trajanja.",
|
||||
"inexact": "⚠️ - Tekst za ovu pjesmu možda nije tačan",
|
||||
"instrumental": "⚠️ - Ovo je instrumentalna glazba"
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
"description": "Upravljajte reprodukcijom iz Windows radne trake",
|
||||
"name": "Upravljanje medijima iz radne trake"
|
||||
},
|
||||
"touchbar": {
|
||||
"description": "Dodaje dodatak dodirne trake za macOS korisnike",
|
||||
"name": "Dodirna Traka"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "Integracija sa OBS-ovim Tuna dodatkom",
|
||||
"name": "Tuna OBS"
|
||||
},
|
||||
"unobtrusive-player": {
|
||||
"description": "Onemogućava pokretaču da iskoči u toku pokretanja pjesme",
|
||||
"name": "Nenametljivi pokretač"
|
||||
},
|
||||
"video-toggle": {
|
||||
"description": "Dodaje gumb za šaltanje između režima za video/numeru. Dodatno, može da ukloni cijelu karticu sa videom",
|
||||
"menu": {
|
||||
"align": {
|
||||
"label": "Izravnanje",
|
||||
"submenu": {
|
||||
"left": "Lijevo",
|
||||
"middle": "Sredina",
|
||||
"right": "Desno"
|
||||
}
|
||||
},
|
||||
"force-hide": "Nasilno uklonite karticu sa videom",
|
||||
"mode": {
|
||||
"label": "Režim",
|
||||
"submenu": {
|
||||
"custom": "Prilagođeno šaltanje",
|
||||
"disabled": "Isključeno",
|
||||
"native": "Izvorno šaltanje"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Video šaltanje",
|
||||
"templates": {
|
||||
"button-song": "Pjesma",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
"description": "Dodaje vizualizator u plejer",
|
||||
"menu": {
|
||||
"visualizer-type": "Tip vizualizacije"
|
||||
},
|
||||
"name": "Vizualizacija"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Buka pemilih caption"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "caption diganti ke bahasa {{language}}",
|
||||
"caption-disabled": "Caption dinonaktifkan",
|
||||
"no-captions": "tidak tersedia caption untuk lagu ini"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "panah navigasi Selanjutnya/Sebelumnya terintegrasi pada antarmuka, layaknya peramban kesukaan Anda",
|
||||
"name": "Navigasi"
|
||||
"name": "Navigasi",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Kunjungi halaman sebelumnya"
|
||||
},
|
||||
"forward": {
|
||||
"title": "pergi ke halaman berikutnya"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Hapus tombol dan tautan masuk Google dari antarmuka",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Izinkan untuk mengubah kualitas video dengan tombol pada hamparan video",
|
||||
"name": "Pengubah Kualitas Video"
|
||||
"name": "Pengubah Kualitas Video",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "pengubah kualitas pemain terbuka"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Tambahkan dukungan scrobbling (mis. last.fm, Listenbrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Peralih Video",
|
||||
"templates": {
|
||||
"button-song": "Lagu"
|
||||
"button-song": "Lagu",
|
||||
"button-video": "video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -573,7 +573,7 @@
|
||||
"connected-users": "Utenti connessi",
|
||||
"disconnect": "Disconetti Music Together",
|
||||
"empty-user": "Utenti non connessi",
|
||||
"host": "Music Together Host",
|
||||
"host": "Host di Music Together",
|
||||
"join": "Unisciti a Music Together",
|
||||
"permission": {
|
||||
"all": "Consenti ai Guest di controllare la playlist e il player",
|
||||
@ -646,13 +646,13 @@
|
||||
"menu": {
|
||||
"always-on-top": "Sempre in primo piano",
|
||||
"hotkey": {
|
||||
"label": "Hotkey",
|
||||
"label": "Tasto di scelta rapida",
|
||||
"prompt": {
|
||||
"keybind-options": {
|
||||
"hotkey": "Hotkey"
|
||||
"hotkey": "Tasto di scelta rapida"
|
||||
},
|
||||
"label": "Scegliere un'hotkey per attivare Picture-in-picture",
|
||||
"title": "Picture-in-picture Hotkey"
|
||||
"title": "Tasto di scelta rapida per Picture-in-picture"
|
||||
}
|
||||
},
|
||||
"save-window-position": "Salva la posizione della finestra",
|
||||
@ -705,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Permette di cambiare la qualità del video con un pulsante in sovrimpressione",
|
||||
"name": "Cambia qualità video"
|
||||
"name": "Cambia qualità video",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Apri il selettore di qualità del player"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Aggiunge il supporto per lo scrobbling (Last.fm, Listenbrainz ecc.)",
|
||||
@ -761,7 +766,7 @@
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Salta i brani che non ti piacciono",
|
||||
"description": "Salta le canzoni non gradite",
|
||||
"name": "Salta i brani che non ti piacciono"
|
||||
},
|
||||
"skip-silences": {
|
||||
|
||||
@ -379,6 +379,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "字幕選択機を開く"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "字幕を{{language}}に変更しました",
|
||||
"caption-disabled": "字幕を無効にしました",
|
||||
"no-captions": "この曲には字幕がありません"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -598,7 +603,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "ブラウザの戻る・進むボタンのようにUIからコントロールできるボタン",
|
||||
"name": "ナビゲーション"
|
||||
"name": "ナビゲーション",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "前のページに戻ります"
|
||||
},
|
||||
"forward": {
|
||||
"title": "次のページに進みます"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "インターフェースからGoogleのログインボタンとリンクを削除",
|
||||
@ -690,7 +703,12 @@
|
||||
}
|
||||
},
|
||||
"description": "ビデオオーバーレイのボタンを使用してビデオ品質を変更できるようにします",
|
||||
"name": "ビデオ品質チェンジャー"
|
||||
"name": "ビデオ品質チェンジャー",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "ビデオ品質チェンジャーを開きます"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "スクロブリング対応を追加します(例:last.fm、Listenbrainzなど)",
|
||||
@ -857,7 +875,8 @@
|
||||
},
|
||||
"name": "動画の切り替え",
|
||||
"templates": {
|
||||
"button-song": "曲"
|
||||
"button-song": "曲",
|
||||
"button-video": "動画"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -207,6 +207,10 @@
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"ad-speedup": {
|
||||
"description": "Jeigu gros reklama, bus įrašo garsas išjungtas ir pagreitintas 16x",
|
||||
"name": "Reklamos Pagreitinimas"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "Blokuoti visas reklamas ir seklius",
|
||||
"menu": {
|
||||
@ -215,6 +219,7 @@
|
||||
"name": "Reklamų blokuotojas"
|
||||
},
|
||||
"album-actions": {
|
||||
"description": "Prideda Nepatinka, Patinka bei atžymėti Nepatika ir Patinka visoms dainoms grojaraštyje arba albume.",
|
||||
"name": "Albumo Veiksmai"
|
||||
},
|
||||
"album-color-theme": {
|
||||
@ -274,6 +279,56 @@
|
||||
},
|
||||
"name": "Aplinkos rėžimas"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Prideda Youtube Muzika palaikyma Amuse grojimo valdikliui pagal 6K Labs",
|
||||
"name": "Amuse (Platforma Dainininkams)",
|
||||
"response": {
|
||||
"query": "Amuse API serveris yra veikiantis. Parašykite Get /query kad gautumėte dainos informacija."
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "Prideda API serveri, kad būtų galima kontroliuoti grotuvą",
|
||||
"dialog": {
|
||||
"request": {
|
||||
"buttons": {
|
||||
"allow": "Leisti",
|
||||
"deny": "Neleisti"
|
||||
},
|
||||
"message": "Leisti {{ID}} ({{origin}}) prieiga prie API?",
|
||||
"title": "API įgaliojimo užklausa"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"auth-strategy": {
|
||||
"label": "Įgaliojimo strategija",
|
||||
"submenu": {
|
||||
"auth-at-first": {
|
||||
"label": "Įgalioti per pirmą užklausą"
|
||||
},
|
||||
"none": {
|
||||
"label": "Nėra įgaliojimo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"hostname": {
|
||||
"label": "Serverio Pavadinimas"
|
||||
},
|
||||
"port": {
|
||||
"label": "Prievadas"
|
||||
}
|
||||
},
|
||||
"name": "API Serverio {Beta}",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Įveskite serverio pavadinimą (pavyzdžiui kaip 0.0.0.0) skirtą API serveriui:",
|
||||
"title": "Serverio Pavadinimas"
|
||||
},
|
||||
"port": {
|
||||
"label": "Įveskite prievadą API serveriui:",
|
||||
"title": "Prievadas"
|
||||
}
|
||||
}
|
||||
},
|
||||
"audio-compressor": {
|
||||
"description": "Pritaikyti garso kompresiją (sumažina garsiausių signalo dalių garsumą ir padidina švelniausių dalių garsumą)",
|
||||
"name": "Garso Kompresorius"
|
||||
@ -583,6 +638,17 @@
|
||||
"description": "Automatiškai praleidžia ne muzikines dalis, pvz., įžangą/užvedimą arba muzikinių vaizdo įrašų dalis, kuriose daina negrojama",
|
||||
"name": "Rėmėjų blokuotojas"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"refetch-btn": {
|
||||
"fetching": "Gaunama...",
|
||||
"normal": "Atgauti dainos žodžius"
|
||||
},
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - Dainos žodžiai gali būti nesinchronizuoti dėl trukmės nesutikimo.",
|
||||
"inexact": "⚠️ - Dainos žodžiai gali šiek tiek skirtis",
|
||||
"instrumental": "⚠️ – Tai instrumentinė daina"
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
"description": "Valdykite atkūrimą iš „Windows“ užduočių juostos",
|
||||
"name": "Užduočių juostos medijos valdymas"
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Atvērt subtitru izvēlni"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Subtitri pamainīti uz {{language}}",
|
||||
"caption-disabled": "Subtitri izslēgti",
|
||||
"no-captions": "Subtitri nav pieejami priekš šīs dziesmas"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -479,7 +484,9 @@
|
||||
"playlist-is-empty": "Atskaņošanas saraksts ir tukšs",
|
||||
"playlist-is-mix-or-private": "Neizdevās iegūt atskaņošanas saraksta informāciju: pārliecinieties, ka tas nav privāts vai \"Jums izveidotā izlase\" saraksts.\n\n{{error}}",
|
||||
"preparing-file": "Faila sagatavošana…",
|
||||
"saving": "Saglabāšana…"
|
||||
"saving": "Saglabāšana…",
|
||||
"video-id-not-found": "Video nav atrasts",
|
||||
"writing-id3": "Rakstam ID3 tegus…"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "क्याप्सन चयनकर्ता खोल्नुहोस्"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "क्याप्सन {{language}} मा परिवर्तन भयो",
|
||||
"caption-disabled": "क्याप्सन उपलब्ध छैन",
|
||||
"no-captions": "यो गीतको लागि कुनै क्याप्सन उपलब्ध छैन।"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "अर्को/पछाडि नेभिगेसन तपाईँको मनपर्ने ब्राउजरमा जस्तै सिधा इन्टरफेसमा एकीकृत तीरहरू",
|
||||
"name": "नेभिगेसन"
|
||||
"name": "नेभिगेसन",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "अघिल्लो पृष्ठमा जानुहोस्"
|
||||
},
|
||||
"forward": {
|
||||
"title": "अर्को पृष्ठमा जानुहोस्"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "इन्टरफेसबाट गुगल लगइन बटन र लिङ्कहरू हटाउनुहोस्",
|
||||
@ -859,7 +872,8 @@
|
||||
},
|
||||
"name": "भिडियो टगल",
|
||||
"templates": {
|
||||
"button-song": "गीत"
|
||||
"button-song": "गीत",
|
||||
"button-video": "भिडियो"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -345,7 +345,7 @@
|
||||
"label": "Poort"
|
||||
}
|
||||
},
|
||||
"name": "Auth proxy adapter",
|
||||
"name": "Proxy-authenticatieadapter",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Hostname voor lokale proxy server (vereist herstart):",
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Open ondertitelkeuze"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Ondertitel veranderd naar {{language}}",
|
||||
"caption-disabled": "Ondertitels uitgeschakeld",
|
||||
"no-captions": "Geen ondertitels beschikbaar voor dit lied"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Volgende/Vorige navigatiepijlen rechtstreeks geïntegreerd in de interface, zoals in je favoriete browser",
|
||||
"name": "Navigatie"
|
||||
"name": "Navigatie",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Ga naar de vorige pagina"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Ga naar de volgende pagina"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Verwijder Google aanmeldknoppen en -links uit de interface",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Maakt het mogelijk de videokwaliteit te wijzigen met een knop op de video-overlay",
|
||||
"name": "Videokwaliteitwisselaar"
|
||||
"name": "Videokwaliteitwisselaar",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Open speler kwaliteitswisselaar"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Ondersteuning voor scrobbling toevoegen (etc. last.fm, Listenbrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Videoschakelaar",
|
||||
"templates": {
|
||||
"button-song": "Nummer"
|
||||
"button-song": "Nummer",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Poprawki wizualne",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Niestandardowy tytuł okna",
|
||||
"prompt": {
|
||||
"label": "Podaj niestandardowy tytuł okna (zostaw puste, aby to wyłączyć):",
|
||||
"placeholder": "Przykład: YouTube Music"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Domyślne",
|
||||
"force-show": "Wymuś pokazywanie",
|
||||
@ -381,6 +388,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Otwórz selektor napisów"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Zmieniono napisy na {{language}}",
|
||||
"caption-disabled": "Napisy zostały wyłączone",
|
||||
"no-captions": "Nie znaleziono napisów dla tego utworu"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +612,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Strzałki nawigacyjne Dalej/Wstecz zintegrowane bezpośrednio z interfejsem, tak jak w Twojej ulubionej przeglądarce",
|
||||
"name": "Nawigacja"
|
||||
"name": "Nawigacja",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Przejdź do poprzedniej strony"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Przejdź do następnej strony"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Usuń przyciski i linki logowania Google z interfejsu",
|
||||
@ -692,7 +712,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Umożliwia zmianę jakości wideo za pomocą przycisku na nakładce wideo",
|
||||
"name": "Zmieniacz jakości wideo"
|
||||
"name": "Zmieniacz jakości wideo",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Otwórz manipulator jakości odtwarzacza"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Umożliwia scrobbling utworów do m.in. last.fm lub Listenbrainz",
|
||||
@ -859,7 +884,8 @@
|
||||
},
|
||||
"name": "Przełącznik wideo",
|
||||
"templates": {
|
||||
"button-song": "Utwór"
|
||||
"button-song": "Utwór",
|
||||
"button-video": "Wideo"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Abrir seletor de legendas"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Legenda alterada para {{language}}",
|
||||
"caption-disabled": "Legendas desativadas",
|
||||
"no-captions": "Sem legendas disponíveis para essa música"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Setas de navegação para avançar/retornar diretamente integradas na interface, como no seu navegador favorito",
|
||||
"name": "Navegação"
|
||||
"name": "Navegação",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Ir para a página anterior"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Ir para a próxima página"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Remova os botões e links de login do Google da interface",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Permite alterar a qualidade do vídeo com um botão na sobreposição de vídeo",
|
||||
"name": "Alterador de qualidade do vídeo"
|
||||
"name": "Alterador de qualidade do vídeo",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Abrir o player de troca de qualidade"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Adicionar suporte para scrobbling (last.fm, Listenbrainz, etc.)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Alternar vídeo",
|
||||
"templates": {
|
||||
"button-song": "Música"
|
||||
"button-song": "Música",
|
||||
"button-video": "Vídeo"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Abrir o seletor de legendas"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Idioma das legendas alterado para {{language}}",
|
||||
"caption-disabled": "Legendas desativadas",
|
||||
"no-captions": "Não existem legendas disponíveis para esta música"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Setas de navegação Avançar/Retroceder integradas diretamente na interface, como no seu navegador favorito",
|
||||
"name": "Navegação"
|
||||
"name": "Navegação",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Retroceder a página"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Avançar para a próxima página"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Remove os botões de login do Google e links da interface",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Permite alterar a qualidade do vídeo com um botão sobreposto ao vídeo",
|
||||
"name": "Alterador de qualidade de vídeo"
|
||||
"name": "Alterador de qualidade de vídeo",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Selecionar a qualidade de reprodução"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Adicionar suporte para scrobbling (last.fm, Listenbrainz, etc.)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Botão de Alternar Vídeo",
|
||||
"templates": {
|
||||
"button-song": "Música"
|
||||
"button-song": "Música",
|
||||
"button-video": "Vídeo"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Deschide selectorul de subtitrări"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Subtitrare schimbata in {{language}}",
|
||||
"caption-disabled": "Subtitrari dezactivate",
|
||||
"no-captions": "Nu exista subtitrari disponibile pentru aceasta piesa"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Săgețile pentru Următorul/Anteriorul integrate direct în interfață, ca în browser-ul tău preferat",
|
||||
"name": "Navigație"
|
||||
"name": "Navigație",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Inapoi la pagina anterioara"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Urmatoarea pagina"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Elimină butonul de autentificare Google și link-urile din interfață",
|
||||
@ -859,7 +872,8 @@
|
||||
},
|
||||
"name": "Comutator video",
|
||||
"templates": {
|
||||
"button-song": "Melodie"
|
||||
"button-song": "Melodie",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Nastavi trenutnu numeru pri sledećem pokretanju",
|
||||
"single-instance-lock": "Jedna instanca aplikacije",
|
||||
"single-instance-lock": "Sprečavanje višestrukog pokretanja",
|
||||
"start-at-login": "Pokreni po prijavi u sistem",
|
||||
"starting-page": {
|
||||
"label": "Početna strana",
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Vizuelna podešavanja",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Prilagođeni naziv prozora",
|
||||
"prompt": {
|
||||
"label": "Unesite prilagođeni naslov prozora: (ostavite prazno da onemogućite)",
|
||||
"placeholder": "Primer: YouTube Muzika"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Podrazumevano",
|
||||
"force-show": "Prinudno prikaži",
|
||||
@ -281,7 +288,7 @@
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Dodaje podršku za 'Amuse now' vidžet (6K Labs) u YouTube Muziku",
|
||||
"name": "Amuse",
|
||||
"name": "Zabavi",
|
||||
"response": {
|
||||
"query": "Amuse API server je pokrenut. Koristite GET /query da biste dobili informacije o numeri."
|
||||
}
|
||||
@ -439,7 +446,7 @@
|
||||
"play-on-youtube-music": "Reprodukuj na YouTube Muzici",
|
||||
"set-inactivity-timeout": "Podesi tajmer za neaktivnost"
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"name": "Discord Bogato Prisustvo",
|
||||
"prompt": {
|
||||
"set-inactivity-timeout": {
|
||||
"label": "Unesi vreme za tajmer neaktivnosti u sekundama:",
|
||||
@ -713,7 +720,7 @@
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Dodaj podršku za 'scrobbling' (poput last.fm, Listenbrainz)",
|
||||
"description": "Dodaj podršku za 'četkanje' (poput last.fm, Listenbrainz)",
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
@ -727,21 +734,21 @@
|
||||
"api-settings": "Podešavanja za Last.fm API"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": "Unesi korisnički token za ListenBrainz"
|
||||
"token": "Unesi korisnički žeton za ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-title": "Koristi alternativne naslove",
|
||||
"scrobble-other-media": "'Scrobble'-uj druge medije"
|
||||
"scrobble-other-media": "Učetkaj druge medije"
|
||||
},
|
||||
"name": "Scrobbler",
|
||||
"name": "Četkarnik",
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "Last.fm API ključ",
|
||||
"api-secret": "Last.fm API tajna (secret)"
|
||||
"api-secret": "Last.fm API tajna"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": {
|
||||
"label": "Unesi svoj ListenBrainz korisnički token:",
|
||||
"title": "ListenBrainz token"
|
||||
"label": "Unesi svoj ListenBrainz korisnički žeton:",
|
||||
"title": "ListenBrainz žeton"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -750,7 +757,7 @@
|
||||
"description": "Dozvoljava postavljanje globalnih prečica na tastaturi za reproduciju (pusti/pauziraj/sledeće/prethodno) i isključivanje OSD za medije tako što će prepisati tastere za medije, uključiti Ctrl/CMD + F za pretragu, isključiti MPRIS podršku za medija tastere na Linux-u, i prilagođene prečice za napredne korisnike",
|
||||
"menu": {
|
||||
"override-media-keys": "Prepiši medija tastere",
|
||||
"set-keybinds": "Podesi globalne kontrole za numere"
|
||||
"set-keybinds": "Podesi globalne kontrole za pesme"
|
||||
},
|
||||
"name": "Prečice (& MPRIS)",
|
||||
"prompt": {
|
||||
@ -760,27 +767,27 @@
|
||||
"play-pause": "Pusti / Pauziraj",
|
||||
"previous": "Prethodno"
|
||||
},
|
||||
"label": "Izaberi globalne prečice za upravljanje numerama:",
|
||||
"label": "Izaberi globalne prečice za upravljanje pesmama:",
|
||||
"title": "Globalne prečice na tastaturi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Preskače numere koje su označene sa 'Ne sviđa mi se'",
|
||||
"name": "Preskoči pesme označene sa 'Ne sviđa mi se'"
|
||||
"description": "Preskače pesme koje vam se nisu svidele",
|
||||
"name": "Preskočite pesme koje vam se nisu svidele"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "Automatski preskoči delove numera u kojima je tišina",
|
||||
"description": "Automatski preskočite delove pesama gde nema zvuka",
|
||||
"name": "Preskoči tišine"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Automatski preskače delove numera koji nisu muzika poput uvod/odjava ili delove muzičkih spotova u kojima se muzika ne pušta",
|
||||
"description": "Automatski preskače delove pesama koji nisu muzika poput uvod/odjava ili delove muzičkih spotova u kojima nema muzike",
|
||||
"name": "Blok sponzora"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Obezbeđuje sinhronizovane tekstove pesama, korišćenjem dobavljača poput LRClib.",
|
||||
"description": "Obezbeđuje sinhronizovane lirike pesama, korišćenjem dobavljača poput LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\tDošlo je do greške prilikom dobavljanja teksta pesme.\n\tMolimo vas da pokušate ponovo kasnije.",
|
||||
"fetch": "⚠️\tDošlo je do greške prilikom dobavljanja stihova pesme.\n\tMolimo vas da pokušate ponovo kasnije.",
|
||||
"not-found": "⚠️ Tekst za ovu pesmu nije pronađen."
|
||||
},
|
||||
"menu": {
|
||||
@ -792,7 +799,7 @@
|
||||
"label": "Efekat linije",
|
||||
"submenu": {
|
||||
"fancy": {
|
||||
"label": "Fensi",
|
||||
"label": "Kitnjast",
|
||||
"tooltip": "Koristi velike (kao iz aplikacije) efekte na trenutnu liniju"
|
||||
},
|
||||
"focus": {
|
||||
@ -800,8 +807,8 @@
|
||||
"tooltip": "Učini samo trenutnu liniju belom"
|
||||
},
|
||||
"offset": {
|
||||
"label": "Pomeraj (offset)",
|
||||
"tooltip": "Pomeraj (offset) na trenutnoj liniji"
|
||||
"label": "Pomeraj",
|
||||
"tooltip": "Pomeraj na trenutnoj liniji"
|
||||
},
|
||||
"scale": {
|
||||
"label": "Razmera",
|
||||
@ -812,7 +819,7 @@
|
||||
},
|
||||
"precise-timing": {
|
||||
"label": "Učini da tekst pesme bude savršeno usklađen",
|
||||
"tooltip": "Izračunaj do milisekunde prikaz sledeće linije teksta (može malo uticati na performanse)"
|
||||
"tooltip": "Izračunaj do milisekunde prikaz sledeće linije teksta (može malo uticati na učinak)"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "Romanizuj tekstove pesama",
|
||||
@ -820,7 +827,7 @@
|
||||
},
|
||||
"show-lyrics-even-if-inexact": {
|
||||
"label": "Prikaži tekst pesme čak iako nije tačan",
|
||||
"tooltip": "Ako numera nije pronađena, ekstenzija će pokušati ponovo sa novim upitom za pretragu.\nRezultat iz drugog pokušaja možda neće biti tačan."
|
||||
"tooltip": "Ako pesma nije pronađena, produžetak će pokušati ponovo sa novim upitom za pretragu.\nRezultat iz drugog pokušaja možda neće biti tačan."
|
||||
},
|
||||
"show-time-codes": {
|
||||
"label": "Prikaži vremenske oznake",
|
||||
@ -835,7 +842,7 @@
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - Tekst pesme možda nije usklađen zbog neuklapanja u dužini trajanja.",
|
||||
"inexact": "⚠️ - Tekst za ovu pesmu možda nije tačan",
|
||||
"instrumental": "⚠️ - Ovo je instrumentalna numera"
|
||||
"instrumental": "⚠️ - Ovo je instrumentalna pesma"
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
@ -843,15 +850,15 @@
|
||||
"name": "Upravljanje medijima iz trake sa zadacima"
|
||||
},
|
||||
"touchbar": {
|
||||
"description": "Dodaje 'TouchBar' vidžet za macOS korisnike",
|
||||
"name": "TouchBar"
|
||||
"description": "Dodaje dodatak dodirne trake za macOS korisnike",
|
||||
"name": "Dodirna Traka"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "Integracija sa OBS-ovom ekstenzijom Tuna",
|
||||
"description": "Integracija sa OBS-ovim Tuna dodatkom",
|
||||
"name": "Tuna OBS"
|
||||
},
|
||||
"unobtrusive-player": {
|
||||
"description": "Onemogućava plejeru da iskače kada reprodukuje numeru",
|
||||
"description": "Onemogućava plejeru da iskače u toku pokretanja pesme",
|
||||
"name": "Nenametljivi plejer"
|
||||
},
|
||||
"video-toggle": {
|
||||
@ -877,7 +884,7 @@
|
||||
},
|
||||
"name": "Video prebacivanje",
|
||||
"templates": {
|
||||
"button-song": "Numera",
|
||||
"button-song": "Pesma",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "ปรับแต่งหน้าตาแอป",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "ชื่อหน้าต่างกำหนดเอง",
|
||||
"prompt": {
|
||||
"label": "กำหนดชื่อหน้าต่างที่ต้องการ: (ปล่อยว่างเพื่อปิดใช้งาน)",
|
||||
"placeholder": "ตัวอย่าง: Youtube Music"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "ค่าเริ่มต้น",
|
||||
"force-show": "บังคับให้แสดง",
|
||||
@ -381,6 +388,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "เปิดตัวเลือกคำบรรยาย"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "เปลี่ยนคำบรรยายเป็นภาษา {{language}}",
|
||||
"caption-disabled": "คำบรรยายถูกปิดใช้งาน",
|
||||
"no-captions": "ไม่มีคำบรรยายสำหรับเพลงนี้"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +612,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "ลูกศรนำทางถัดไป/ย้อนกลับรวมอยู่ในอินเทอร์เฟซโดยตรง เช่นเดียวกับในเบราว์เซอร์ที่คุณชื่นชอบ",
|
||||
"name": "การนำทาง"
|
||||
"name": "การนำทาง",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "ไปหน้าก่อนหน้า"
|
||||
},
|
||||
"forward": {
|
||||
"title": "ไปหน้าถัดไป"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "ลบปุ่มเข้าสู่ระบบ Google และลิงก์ออกจากอินเทอร์เฟซ",
|
||||
@ -692,7 +712,12 @@
|
||||
}
|
||||
},
|
||||
"description": "อนุญาตให้เปลี่ยนคุณภาพของวิดีโอด้วยปุ่มที่แสดงเหนือวิดีโอ",
|
||||
"name": "ที่เปลี่ยนคุณภาพวิดีโอ"
|
||||
"name": "ที่เปลี่ยนคุณภาพวิดีโอ",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "เปิดตัวเปลี่ยนคุณภาพเครื่องเล่น"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "รองรับการบันทึกการเล่นเพลง (เช่น last.fm, Listenbrainz)",
|
||||
@ -859,7 +884,8 @@
|
||||
},
|
||||
"name": "ปุ่มวิดีโอ",
|
||||
"templates": {
|
||||
"button-song": "เพลง"
|
||||
"button-song": "เพลง",
|
||||
"button-video": "วิดีโอ"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
"receive-command": "Đã nhận được lệnh qua giao thức: \"{{command}}\""
|
||||
},
|
||||
"theme": {
|
||||
"css-file-not-found": "Tệp tin CSS \"{{cssFile}}\"không tồn tại, đang bỏ qua"
|
||||
"css-file-not-found": "Tệp CSS \"{{cssFile}}\" không tồn tại, đang bỏ qua"
|
||||
},
|
||||
"unresponsive": {
|
||||
"details": "Lỗi không phản hồi!\n{{error}}"
|
||||
@ -44,7 +44,7 @@
|
||||
},
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "Menu đã ẩn, ấn phím 'Alt' để hiện menu (hoặc ấn 'Escape' nếu bạn đang bật In-app Menu)",
|
||||
"detail": "Menu đã ẩn, ấn phím 'Alt' để hiện menu (hoặc ấn phím 'Esc' nếu bạn đang bật In-app Menu)",
|
||||
"message": "Ẩn Menu đã được bật",
|
||||
"title": "Ẩn Menu đã được bật"
|
||||
},
|
||||
@ -53,7 +53,7 @@
|
||||
"later": "Để sau",
|
||||
"restart-now": "Khởi động lại ngay"
|
||||
},
|
||||
"detail": "Tiện ích mở rộng \"{{pluginName}}\" yêu cầu khởi động lại ứng dụng để áp dụng",
|
||||
"detail": "Phần mở rộng \"{{pluginName}}\" yêu cầu khởi động lại ứng dụng để áp dụng",
|
||||
"message": "\"{{pluginName}}\" cần khởi động lại",
|
||||
"title": "Yêu cầu khởi động lại"
|
||||
},
|
||||
@ -74,7 +74,7 @@
|
||||
"ok": "Đồng ý"
|
||||
},
|
||||
"detail": "Đã có phiên bản mới hơn, bạn có thể tải xuống tại {{downloadLink}}",
|
||||
"message": "Đã có phiên bản mới",
|
||||
"message": "Đã có một phiên bản mới",
|
||||
"title": "Cập nhật có sẵn"
|
||||
}
|
||||
},
|
||||
@ -96,7 +96,7 @@
|
||||
"advanced-options": {
|
||||
"label": "Tùy chọn nâng cao",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Làm mới bộ nhớ đệm khi khởi động ứng dụng",
|
||||
"auto-reset-app-cache": "Làm mới bộ nhớ đệm khi mở ứng dụng",
|
||||
"disable-hardware-acceleration": "Vô hiệu hóa tăng tốc phần cứng",
|
||||
"edit-config-json": "Chỉnh sửa config.json",
|
||||
"override-user-agent": "Ghi đè User-Agent",
|
||||
@ -106,7 +106,7 @@
|
||||
"prompt": {
|
||||
"label": "Nhập địa chỉ Proxy: (để trống nếu muốn tắt)",
|
||||
"placeholder": "Ví dụ: SOCKS5://127.0.0.1:9999",
|
||||
"title": "Cài proxy"
|
||||
"title": "Cài đặt proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "Bật/tắt DevTools"
|
||||
@ -116,19 +116,19 @@
|
||||
"auto-update": "Tự động cập nhật",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "Menu sẽ bị ẩn khi ứng dụng được chạy vào lần tới, dùng phím [Alt] để hiện nó (hoặc phím [`] nếu sử dụng in-app-menu)",
|
||||
"message": "Menu sẽ bị ẩn trong lần khởi chạy tiếp theo, dùng phím [Alt] để hiện nó (hoặc phím [`] nếu sử dụng in-app-menu)",
|
||||
"title": "Ẩn Menu đã được bật"
|
||||
},
|
||||
"label": "Ẩn Menu"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "Ngôn ngữ sẽ được thay đổi sau khi ứng dụng khởi động lại",
|
||||
"message": "Ngôn ngữ sẽ được thay đổi sau khi khởi động lại ứng dụng",
|
||||
"title": "Ngôn ngữ đã thay đổi"
|
||||
},
|
||||
"label": "Ngôn ngữ",
|
||||
"submenu": {
|
||||
"to-help-translate": "Bạn muốn giúp dịch? Bấm vào đây"
|
||||
"to-help-translate": "— Bạn muốn hỗ trợ dịch? Bấm vào đây —"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Tiếp tục bài hát cuối cùng khi ứng dụng khởi động",
|
||||
@ -163,7 +163,7 @@
|
||||
"cancel": "Hủy",
|
||||
"remove": "Loại bỏ"
|
||||
},
|
||||
"remove-theme": "Bạn có chắc muốn loại bỏ chủ đề tùy chỉnh không?",
|
||||
"remove-theme": "Bạn có chắc muốn loại bỏ chủ đề tùy chỉnh này không?",
|
||||
"remove-theme-message": "Tùy chọn này sẽ loại bỏ chủ đề tùy chỉnh"
|
||||
},
|
||||
"label": "Chủ đề",
|
||||
@ -186,7 +186,7 @@
|
||||
"submenu": {
|
||||
"force-reload": "Buộc tải lại",
|
||||
"reload": "Tải lại",
|
||||
"reset-zoom": "Kích thước thực",
|
||||
"reset-zoom": "Đặt lại",
|
||||
"toggle-fullscreen": "Bật chế độ toàn màn hình",
|
||||
"zoom-in": "Phóng to",
|
||||
"zoom-out": "Thu nhỏ"
|
||||
@ -202,7 +202,7 @@
|
||||
"show": "Hiện cửa sổ",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"with-song-info": "YouTube Music: {{title}} - {{artist}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -219,7 +219,7 @@
|
||||
"name": "Chặn quảng cáo"
|
||||
},
|
||||
"album-actions": {
|
||||
"description": "Thêm nút hủy không thích, không thích, thích và không thích để áp dụng cho tất cả danh sách phát hoặc album",
|
||||
"description": "Thêm nút Hủy không thích, Không thích, Thích và Hủy thích để áp dụng cho tất cả bài hát trong danh sách phát hoặc album",
|
||||
"name": "Tác vụ với album"
|
||||
},
|
||||
"album-color-theme": {
|
||||
@ -280,7 +280,7 @@
|
||||
"name": "Chế độ Môi trường xung quanh"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Thêm hỗ trợ YouTube Music cho tiện ích hiển thị bài hát đang phát Amuse của 6K Labs.",
|
||||
"description": "Thêm hỗ trợ YouTube Music cho tiện ích hiển thị bài hát đang phát Amuse của 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Máy chủ API của Amuse đang chạy. GET /query để lấy thông tin về bài hát."
|
||||
@ -317,7 +317,7 @@
|
||||
"label": "Cổng"
|
||||
}
|
||||
},
|
||||
"name": "Máy chủ API [Beta]",
|
||||
"name": "Máy chủ API [Thử nghiệm]",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Điền tên máy chủ (như 0.0.0.0) cho máy chủ API:",
|
||||
@ -348,7 +348,7 @@
|
||||
"name": "Bộ chuyển đổi xác minh máy chủ Proxy",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Nhập tên của máy chủ proxy lân cận (bắt buộc khởi động lại ứng dụng):",
|
||||
"label": "Nhập tên của máy chủ proxy lân cận (yêu cầu khởi động lại ứng dụng):",
|
||||
"title": "Tên máy chủ Proxy"
|
||||
},
|
||||
"port": {
|
||||
@ -369,7 +369,7 @@
|
||||
"description": "Bộ lựa chọn phụ đề cho các bài hát trên Youtube Music",
|
||||
"menu": {
|
||||
"autoload": "Tự động chọn phụ đề vừa sử dụng",
|
||||
"disable-captions": "Không có phụ đề đặt làm mặc định"
|
||||
"disable-captions": "Không có phụ đề làm mặc định"
|
||||
},
|
||||
"name": "Bộ lựa chọn phụ đề",
|
||||
"prompt": {
|
||||
@ -381,10 +381,15 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Mở lựa chọn phụ đề"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Phụ đề đã chuyển sang {{language}}",
|
||||
"caption-disabled": "Tắt phụ đề",
|
||||
"no-captions": "Không có phụ đề nào cho bài hát này"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
"description": "Luôn đặt thanh bên cạnh ở chế độ thu gọn",
|
||||
"description": "Luôn đặt thanh bên ở chế độ thu gọn",
|
||||
"name": "Thanh bên thu gọn"
|
||||
},
|
||||
"crossfade": {
|
||||
@ -392,12 +397,12 @@
|
||||
"menu": {
|
||||
"advanced": "Nâng cao"
|
||||
},
|
||||
"name": "Xen kẽ [thử nghiệm]",
|
||||
"name": "Xen kẽ [Thử nghiệm]",
|
||||
"prompt": {
|
||||
"options": {
|
||||
"multi-input": {
|
||||
"fade-in-duration": "Xuất hiện mờ dần trong khoảng thời gian (ms)",
|
||||
"fade-out-duration": "Khoảng thời gian hoát ra mờ dần (ms)",
|
||||
"fade-in-duration": "Thời lượng mờ dần vào (ms)",
|
||||
"fade-out-duration": "Thời lượng mờ dần ra (ms)",
|
||||
"fade-scaling": {
|
||||
"label": "Làm mờ theo tỉ lệ",
|
||||
"linear": "Trực tuyến",
|
||||
@ -410,9 +415,9 @@
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Bắt đầu bài hát khi ở chế độ \"tạm dừng\"",
|
||||
"description": "Làm nhạc bắt đầu ở chế độ \"tạm dừng\"\nNgoài ra có thể dừng nhạc khi khởi động ứng dụng (nếu có bật tính năng \"Tiếp tục bài hát cuối cùng khi ứng dụng khởi động\")",
|
||||
"menu": {
|
||||
"apply-once": "Áp dụng khi khởi động"
|
||||
"apply-once": "Chỉ áp dụng khi khởi động"
|
||||
},
|
||||
"name": "Tắt tự động phát"
|
||||
},
|
||||
@ -477,8 +482,8 @@
|
||||
"playlist-has-only-one-song": "Danh sách phát chỉ có một mục, tải trực tiếp",
|
||||
"playlist-id-not-found": "Không tìm thấy ID danh sách phát",
|
||||
"playlist-is-empty": "Danh sách phát trống",
|
||||
"playlist-is-mix-or-private": "Lỗi lấy thông tin danh sách phát: đảm bảo danh sách phát không ở chế độ riêng tư hoặc là danh sách phát \"Dành cho bạn\"\n\n{{error}}",
|
||||
"preparing-file": "Đang chuẩn bị thư mục…",
|
||||
"playlist-is-mix-or-private": "Lỗi lấy thông tin danh sách phát: hãy đảm bảo danh sách phát không ở chế độ riêng tư hoặc danh sách phát \"Dành cho bạn\"\n\n{{error}}",
|
||||
"preparing-file": "Đang chuẩn bị tệp…",
|
||||
"saving": "Đang lưu…",
|
||||
"trying-to-get-playlist-id": "Đang lấy ID danh sách phát: {{playlistId}}",
|
||||
"video-id-not-found": "Không tìm thấy video",
|
||||
@ -504,8 +509,8 @@
|
||||
}
|
||||
},
|
||||
"download-playlist": "Tải danh sách phát",
|
||||
"presets": "Cài đặt sẵn",
|
||||
"skip-existing": "Bỏ qua các tập tin hiện có"
|
||||
"presets": "Tùy chọn định dạng",
|
||||
"skip-existing": "Bỏ qua các tập tin đã có"
|
||||
},
|
||||
"name": "Trình tải xuống",
|
||||
"renderer": {
|
||||
@ -516,15 +521,16 @@
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
"description": "Thêm bộ cân bằng âm thanh vào trình phát nhạc.",
|
||||
"description": "Thêm bộ chỉnh âm để điều chỉnh âm thanh cho trình phát nhạc",
|
||||
"menu": {
|
||||
"presets": {
|
||||
"label": "Thiết lập có sẵn",
|
||||
"list": {
|
||||
"bass-booster": "Bộ tăng âm trầm"
|
||||
"bass-booster": "Tăng âm trầm"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Cân bằng âm thanh"
|
||||
"name": "Bộ chỉnh âm"
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Làm cho thanh trượt âm lượng theo cấp số nhân để dễ dàng chọn âm lượng thấp hơn.",
|
||||
@ -544,7 +550,7 @@
|
||||
"lyrics-genius": {
|
||||
"description": "Thêm hỗ trợ lời bài hát cho hầu hết các bài hát",
|
||||
"menu": {
|
||||
"romanized-lyrics": "Lời bài hát La Mã"
|
||||
"romanized-lyrics": "Chuyển lời bài hát sang chữ Latin"
|
||||
},
|
||||
"name": "Lời bài hát từ Genius",
|
||||
"renderer": {
|
||||
@ -599,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Mũi tên điều hướng Tiếp theo/Quay lại được tích hợp trực tiếp trong giao diện, giống như trong trình duyệt yêu thích của bạn",
|
||||
"name": "Điều hướng"
|
||||
"name": "Điều hướng",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Đi đến trang trước"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Đi đến trang tiếp theo"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Xóa các nút và liên kết đăng nhập Google khỏi giao diện",
|
||||
@ -613,7 +627,7 @@
|
||||
"label": "Cài đặt tương tác",
|
||||
"submenu": {
|
||||
"hide-button-text": "Ẩn tên nút",
|
||||
"refresh-on-play-pause": "Làm mới khi phát/tạm dừng",
|
||||
"refresh-on-play-pause": "Làm mới khi Phát/Tạm dừng",
|
||||
"tray-controls": "Mở/Đóng khi nhấp vào khay"
|
||||
}
|
||||
},
|
||||
@ -625,20 +639,20 @@
|
||||
},
|
||||
"performance-improvement": {
|
||||
"description": "Cải thiện hiệu suất thông qua kích hoạt scripts thử nghiệm",
|
||||
"name": "Cải thiện hiệu năng [Beta]"
|
||||
"name": "Cải thiện hiệu năng [Thử nghiệm]"
|
||||
},
|
||||
"picture-in-picture": {
|
||||
"description": "Cho phép chuyển ứng dụng sang chế độ ảnh trong ảnh",
|
||||
"menu": {
|
||||
"always-on-top": "Luôn ở trên cùng",
|
||||
"hotkey": {
|
||||
"label": "Phím nóng",
|
||||
"label": "Phím tắt",
|
||||
"prompt": {
|
||||
"keybind-options": {
|
||||
"hotkey": "Phím nóng"
|
||||
"hotkey": "Phím tắt"
|
||||
},
|
||||
"label": "Chọn phím nóng để chuyển đổi ảnh trong ảnh",
|
||||
"title": "Phím nóng ảnh trong ảnh"
|
||||
"label": "Chọn phím tắt để chuyển đổi ảnh trong ảnh",
|
||||
"title": "Phím tắt ảnh trong ảnh"
|
||||
}
|
||||
},
|
||||
"save-window-position": "Lưu vị trí cửa sổ",
|
||||
@ -686,19 +700,24 @@
|
||||
"quality-changer": {
|
||||
"detail": "Chất lượng hiện tại: {{quality}}",
|
||||
"message": "Chọn chất lượng video:",
|
||||
"title": "Chọn chất lượng video:"
|
||||
"title": "Chọn chất lượng video"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Cho phép thay đổi chất lượng video bằng một nút trên lớp phủ video",
|
||||
"name": "Thay đổi chất lượng video"
|
||||
"name": "Thay đổi chất lượng video",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Mở trình thay đổi chất lượng"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Thêm hỗ trợ scrobbling (v.v. Last.fm, Listenbrainz)",
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"message": "Không thể xác minh với \nẨn thông báo cho đến lần bật ứng dụng tiếp theo.",
|
||||
"message": "Không thể xác minh với Last.fm \nẨn thông báo cho đến lần bật ứng dụng tiếp theo.",
|
||||
"title": "Xác minh thất bại"
|
||||
}
|
||||
}
|
||||
@ -747,45 +766,46 @@
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Bỏ qua những bài hát không thích",
|
||||
"name": "Bỏ qua những bài hát không thích"
|
||||
"description": "Tự động bỏ qua những bài hát bạn nhấn không thích",
|
||||
"name": "Bỏ qua bài hát không thích"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "Tự động bỏ qua các đoạn im lặng trong bài hát",
|
||||
"name": "Bỏ qua đoạn im lặng"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Tự động bỏ qua các phần không phải âm nhạc như phần giới thiệu/kết thúc hoặc các phần của video nhạc mà bài hát không được phát",
|
||||
"description": "Tự động bỏ qua các phần không phải âm nhạc như phần intro/outro hoặc các phần không được phát của video nhạc",
|
||||
"name": "SponsorBlock"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Cung cấp lời bài hát được đồng bộ hoá với các bài hát, sử dụng những nhà cung cấp như LRClib.",
|
||||
"description": "Cung cấp lời được đồng bộ với bài hát, sử dụng các nhà cung cấp như LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\t\tĐã xảy ra lỗi khi tìm lời bài hát.\n\tVui lòng thử lại sau.",
|
||||
"not-found": "⚠️ Không tìm thấy lời cho bài hát này."
|
||||
},
|
||||
"menu": {
|
||||
"default-text-string": {
|
||||
"label": "Kí tự mặc định giữa các lời bài hát",
|
||||
"label": "Kí tự giữa các lời bài hát",
|
||||
"tooltip": "Chọn kí tự mặc định cho khoảng trống giữa các lời bài hát"
|
||||
},
|
||||
"line-effect": {
|
||||
"label": "Kiểu đường thẳng",
|
||||
"label": "Kiểu lời nhạc",
|
||||
"submenu": {
|
||||
"fancy": {
|
||||
"label": "Màu mè"
|
||||
"label": "Màu mè",
|
||||
"tooltip": "Làm đoạn lời nhạc đang nghe to hơn và nổi bật hơn"
|
||||
},
|
||||
"focus": {
|
||||
"label": "Tập trung",
|
||||
"tooltip": "Chỉ làm cho dòng hiện tại có màu trắng"
|
||||
},
|
||||
"offset": {
|
||||
"label": "Độ lệch",
|
||||
"tooltip": "Độ lệch bên phải của dòng hiện tại"
|
||||
"label": "Lệch",
|
||||
"tooltip": "Làm dòng hiện tại lệch sang bên phải"
|
||||
},
|
||||
"scale": {
|
||||
"label": "Tỉ lệ",
|
||||
"tooltip": "Áp dụng tỉ lệ cho dòng hiện tại"
|
||||
"label": "Phóng to",
|
||||
"tooltip": "Làm dòng hiện tại to hơn các dòng khác"
|
||||
}
|
||||
},
|
||||
"tooltip": "Chọn kiểu để áp dụng cho dòng hiện tại"
|
||||
@ -815,12 +835,12 @@
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - Lời bài hát có thể không đồng bộ do thời lượng không khớp.",
|
||||
"inexact": "⚠️ - Lời bài hát này có thể không chính xác",
|
||||
"instrumental": "⚠️ - Đây là một bài hát trình diễn bằng nhạc khí"
|
||||
"instrumental": "⚠️ - Đây là một bài hát không lời"
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
"description": "Kiểm soát phát lại từ thanh tác vụ Windows của bạn",
|
||||
"name": "Kiểm soát phương tiện trên thanh tác vụ"
|
||||
"description": "Điều khiển nhạc từ cửa sổ xem trước trên thanh tác vụ Windows của bạn",
|
||||
"name": "Điều khiển phương tiện trên thanh tác vụ"
|
||||
},
|
||||
"touchbar": {
|
||||
"description": "Thêm tiện ích TouchBar cho người dùng macOS",
|
||||
@ -831,11 +851,11 @@
|
||||
"name": "Tuna OBS"
|
||||
},
|
||||
"unobtrusive-player": {
|
||||
"description": "Ngăn trình phát nhạc xuất hiện đột ngột khi phát một bài hát.",
|
||||
"name": "Trình phát nhạc ẩn"
|
||||
"description": "Ngăn trình phát nhạc xuất hiện đột ngột khi phát một bài hát",
|
||||
"name": "Không hiện trình phát nhạc khi phát"
|
||||
},
|
||||
"video-toggle": {
|
||||
"description": "Thêm nút để chuyển giữa chế độ Video/Bài hát. Cũng có thể tùy ý xóa toàn bộ tab video",
|
||||
"description": "Thêm nút để chuyển giữa chế độ Video/Bài hát. Cũng có thể ẩn toàn bộ video",
|
||||
"menu": {
|
||||
"align": {
|
||||
"label": "Căn chỉnh",
|
||||
@ -845,27 +865,28 @@
|
||||
"right": "Phải"
|
||||
}
|
||||
},
|
||||
"force-hide": "Buộc loại bỏ tab video",
|
||||
"force-hide": "Buộc ẩn video",
|
||||
"mode": {
|
||||
"label": "Chế độ",
|
||||
"submenu": {
|
||||
"custom": "Chuyển đổi tùy chỉnh",
|
||||
"custom": "Tùy chỉnh",
|
||||
"disabled": "Vô hiệu hoá",
|
||||
"native": "Chuyển đổi gốc"
|
||||
"native": "Gốc"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Chuyển đổi video",
|
||||
"templates": {
|
||||
"button-song": "Bài hát"
|
||||
"button-song": "Bài hát",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
"description": "Thêm trình hiển thị cho trình phát",
|
||||
"description": "Hiển thị sóng nhạc thay thế cho video (hay \"Music visualizer\")",
|
||||
"menu": {
|
||||
"visualizer-type": "Loại trình hiển thị"
|
||||
"visualizer-type": "Loại Sóng nhạc"
|
||||
},
|
||||
"name": "Trình hiển thị"
|
||||
"name": "Sóng nhạc"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "视觉调整",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "自定义窗口标题",
|
||||
"prompt": {
|
||||
"label": "输入自定义窗口标题:(留空表示停用)",
|
||||
"placeholder": "示例:YouTube Music"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "默认",
|
||||
"force-show": "强制显示",
|
||||
|
||||
@ -53,17 +53,17 @@
|
||||
"later": "稍後",
|
||||
"restart-now": "立即重啟"
|
||||
},
|
||||
"detail": "\"{{pluginName}}\" 外掛需要重新啟動之後才會生效",
|
||||
"message": "\"{{pluginName}}\" 需要重新啟動",
|
||||
"title": "需要重新啟動"
|
||||
"detail": "外掛 \"{{pluginName}}\" 需要重啟應用才會生效",
|
||||
"message": "\"{{pluginName}}\" 需要重啟應用",
|
||||
"title": "需要重啟應用"
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
"quit": "結束",
|
||||
"relaunch": "重新啟動",
|
||||
"wait": "等一下"
|
||||
"quit": "離開",
|
||||
"relaunch": "重啟應用",
|
||||
"wait": "稍等"
|
||||
},
|
||||
"detail": "造成不便我們深表歉意!請選擇動作:",
|
||||
"detail": "造成不便我們深表歉意!請選擇動作:",
|
||||
"message": "應用程式沒有回應",
|
||||
"title": "視窗沒有回應"
|
||||
},
|
||||
@ -73,7 +73,7 @@
|
||||
"download": "前往下載",
|
||||
"ok": "略過"
|
||||
},
|
||||
"detail": "新版本已經推出,你可以至 {{downloadLink}} 下載",
|
||||
"detail": "新版本已經推出,前往下載 {{downloadLink}}",
|
||||
"message": "有新版本可用",
|
||||
"title": "有可用的更新"
|
||||
}
|
||||
@ -83,11 +83,11 @@
|
||||
"navigation": {
|
||||
"label": "導覽列",
|
||||
"submenu": {
|
||||
"copy-current-url": "複製目前頁面的網址",
|
||||
"go-back": "回到上一頁",
|
||||
"go-forward": "回到下一頁",
|
||||
"quit": "結束",
|
||||
"restart": "重新啟動"
|
||||
"copy-current-url": "複製當前頁面的網址",
|
||||
"go-back": "返回上一頁",
|
||||
"go-forward": "前往下一頁",
|
||||
"quit": "退出",
|
||||
"restart": "重啟應用"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
@ -96,20 +96,20 @@
|
||||
"advanced-options": {
|
||||
"label": "進階選項",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "啟動時重設應用快取",
|
||||
"auto-reset-app-cache": "啟動時清除應用程式快取",
|
||||
"disable-hardware-acceleration": "關閉硬體加速",
|
||||
"edit-config-json": "編輯 config.json",
|
||||
"override-user-agent": "覆寫使用者代理",
|
||||
"restart-on-config-changes": "設定變更時自動重新啟動",
|
||||
"restart-on-config-changes": "設定變更時自動重啟應用",
|
||||
"set-proxy": {
|
||||
"label": "設定代理伺服器",
|
||||
"prompt": {
|
||||
"label": "輸入代理伺服器位置:(留空以停用本設定)",
|
||||
"placeholder": "範例:SOCKS5://127.0.0.1:9999",
|
||||
"placeholder": "例: SOCKS5://127.0.0.1:9999",
|
||||
"title": "設定代理伺服器"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "切換開發者人員工具"
|
||||
"toggle-dev-tools": "開發人員工具"
|
||||
}
|
||||
},
|
||||
"always-on-top": "最上層顯示",
|
||||
@ -123,7 +123,7 @@
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "語言會在重新啟動後變更",
|
||||
"message": "語言會在重啟應用後變更",
|
||||
"title": "語言已變更"
|
||||
},
|
||||
"label": "語言",
|
||||
@ -366,26 +366,26 @@
|
||||
"name": "繞過年齡驗證"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Music 音軌字幕選擇器",
|
||||
"description": "Youtube Music 音軌字幕選項",
|
||||
"menu": {
|
||||
"autoload": "自動選擇上次使用的字幕",
|
||||
"disable-captions": "預設無標題"
|
||||
"disable-captions": "預設無字幕"
|
||||
},
|
||||
"name": "標題選擇器",
|
||||
"name": "字幕選項",
|
||||
"prompt": {
|
||||
"selector": {
|
||||
"label": "目前字幕語言:{{language}}",
|
||||
"label": "當前語言: {{language}}",
|
||||
"none": "無",
|
||||
"title": "選擇字幕語言"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"title": "打開標題選擇器"
|
||||
"title": "開啟字幕選項"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "字幕語言更改為{{language}}",
|
||||
"caption-disabled": "停用字幕",
|
||||
"no-captions": "此歌曲無標題"
|
||||
"caption-changed": "字幕語言已更改至 {{language}}",
|
||||
"caption-disabled": "字幕已停用",
|
||||
"no-captions": "該首歌曲無可用的字幕"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
|
||||
@ -599,6 +599,15 @@ app.once('browser-window-created', (_event, win) => {
|
||||
win.webContents.on('will-prevent-unload', (event) => {
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
const customWindowTitle = config.get('options.customWindowTitle');
|
||||
|
||||
if (customWindowTitle) {
|
||||
win.on('page-title-updated', (event) => {
|
||||
event.preventDefault();
|
||||
win.setTitle(customWindowTitle);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
|
||||
31
src/menu.ts
31
src/menu.ts
@ -216,6 +216,37 @@ export const mainMenuTemplate = async (
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: t(
|
||||
'main.menu.options.submenu.visual-tweaks.submenu.custom-window-title.label',
|
||||
),
|
||||
async click() {
|
||||
const output = await prompt(
|
||||
{
|
||||
title: t(
|
||||
'main.menu.options.submenu.visual-tweaks.submenu.custom-window-title.label',
|
||||
),
|
||||
label: t(
|
||||
'main.menu.options.submenu.visual-tweaks.submenu.custom-window-title.prompt.label',
|
||||
),
|
||||
value: config.get('options.customWindowTitle') || '',
|
||||
type: 'input',
|
||||
inputAttrs: {
|
||||
type: 'text',
|
||||
placeholder: t(
|
||||
'main.menu.options.submenu.visual-tweaks.submenu.custom-window-title.prompt.placeholder',
|
||||
),
|
||||
},
|
||||
width: 500,
|
||||
...promptOptions(),
|
||||
},
|
||||
win,
|
||||
);
|
||||
if (typeof output === 'string') {
|
||||
config.setMenuOption('options.customWindowTitle', output);
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
label: t(
|
||||
'main.menu.options.submenu.visual-tweaks.submenu.like-buttons.label',
|
||||
|
||||
@ -75,9 +75,11 @@ export const register = (
|
||||
// SKIP CHECK
|
||||
}
|
||||
|
||||
setConfig({
|
||||
authorizedClients: [...config.authorizedClients, id],
|
||||
});
|
||||
if (!config.authorizedClients.includes(id)) {
|
||||
setConfig({
|
||||
authorizedClients: [...config.authorizedClients, id],
|
||||
});
|
||||
}
|
||||
|
||||
const token = await sign(
|
||||
{
|
||||
|
||||
@ -848,5 +848,7 @@ const getMetadata = (info: TrackInfo): CustomSongInfo => ({
|
||||
const getAndroidTvInfo = async (id: string): Promise<VideoInfo> => {
|
||||
// GetInfo 404s with the bypass, so we use getBasicInfo instead
|
||||
// that's fine as we only need the streaming data
|
||||
return await yt.getBasicInfo(id, 'TV_EMBEDDED');
|
||||
return await yt.getBasicInfo(id, {
|
||||
client: 'TV_EMBEDDED',
|
||||
});
|
||||
};
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { extractToken, getAuthorizationHeader, getClient } from './client';
|
||||
import type { YouTubeMusicAppElement } from '@/types/youtube-music-app-element';
|
||||
import type { QueueElement } from '@/types/queue';
|
||||
|
||||
type QueueRendererResponse = {
|
||||
queueDatas: {
|
||||
@ -11,40 +12,15 @@ type QueueRendererResponse = {
|
||||
export const getMusicQueueRenderer = async (
|
||||
videoIds: string[],
|
||||
): Promise<QueueRendererResponse | null> => {
|
||||
const token = extractToken();
|
||||
if (!token) return null;
|
||||
const queue = document.querySelector<QueueElement>('#queue');
|
||||
const app = document.querySelector<YouTubeMusicAppElement>('ytmusic-app');
|
||||
if (!app) return null;
|
||||
|
||||
const response = await fetch(
|
||||
'https://music.youtube.com/youtubei/v1/music/get_queue?key=AIzaSyC9XL3ZjWddXya6X74dJoCTL-WEYFDNX30&prettyPrint=false',
|
||||
{
|
||||
method: 'POST',
|
||||
credentials: 'include',
|
||||
body: JSON.stringify({
|
||||
context: {
|
||||
client: getClient(),
|
||||
request: {
|
||||
useSsl: true,
|
||||
internalExperimentFlags: [],
|
||||
consistencyTokenJars: [],
|
||||
},
|
||||
user: {
|
||||
lockedSafetyMode: false,
|
||||
},
|
||||
},
|
||||
videoIds,
|
||||
}),
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Origin': 'https://music.youtube.com',
|
||||
'Authorization': await getAuthorizationHeader(token),
|
||||
},
|
||||
},
|
||||
);
|
||||
const store = queue?.queue.store.store;
|
||||
if (!store) return null;
|
||||
|
||||
const text = await response.text();
|
||||
try {
|
||||
return JSON.parse(text) as QueueRendererResponse;
|
||||
} catch {}
|
||||
|
||||
return null;
|
||||
return (await app.networkManager.fetch('/music/get_queue', {
|
||||
queueContextParams: store.getState().queue.queueContextParams,
|
||||
videoIds,
|
||||
})) as QueueRendererResponse | null;
|
||||
};
|
||||
|
||||
@ -21,9 +21,7 @@ export default createPlugin<
|
||||
this.observer = new MutationObserver(() => {
|
||||
if (dislikeBtn?.getAttribute('like-status') == 'DISLIKE') {
|
||||
document
|
||||
.querySelector<HTMLButtonElement>(
|
||||
'tp-yt-paper-icon-button.next-button',
|
||||
)
|
||||
.querySelector<HTMLButtonElement>('yt-icon-button.next-button')
|
||||
?.click();
|
||||
}
|
||||
});
|
||||
|
||||
@ -171,6 +171,7 @@ export default createPlugin({
|
||||
const video = document.querySelector<HTMLVideoElement>('video');
|
||||
|
||||
const switchButtonContainer = document.createElement('div');
|
||||
switchButtonContainer.id = 'ytmd-video-toggle-switch-button-container';
|
||||
switchButtonContainer.style.display = 'flex';
|
||||
render(
|
||||
() => (
|
||||
|
||||
Reference in New Issue
Block a user