Compare commits

...

26 Commits

Author SHA1 Message Date
3604e46661 chore(i18n): Translated using Weblate (Thai)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/th/
2025-07-15 19:01:50 +02:00
8cea079f26 chore(i18n): Translated using Weblate (Japanese)
Currently translated at 99.5% (428 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/ja/
2025-07-15 19:01:49 +02:00
83b68001cb chore(i18n): Translated using Weblate (Bosnian)
Currently translated at 20.2% (87 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/bs/
2025-07-14 13:47:47 +02:00
7a11a47f91 chore(i18n): Translated using Weblate (Bosnian)
Currently translated at 20.2% (87 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/bs/
2025-07-14 13:47:47 +02:00
2a9a00bd86 chore(i18n): Translated using Weblate (Serbian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/sr/
2025-07-14 13:47:47 +02:00
cfcbf37f98 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
7f5c854c00 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
7ec89580e7 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
56a5102377 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
b6e9b5ac2b chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
eecdbbd2c4 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
efeb871490 chore(i18n): Translated using Weblate (Croatian)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/hr/
2025-07-14 13:47:46 +02:00
f326a55247 chore(i18n): Translated using Weblate (Dutch)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/nl/
2025-07-14 13:47:46 +02:00
e788585bd4 chore(i18n): Translated using Weblate (Dutch)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/nl/
2025-07-14 13:47:46 +02:00
1396761b18 chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2025-07-14 13:47:45 +02:00
5872e0f736 chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2025-07-14 13:47:45 +02:00
1872c8193d chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2025-07-14 13:47:45 +02:00
187a0c54cb chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2025-07-14 13:47:45 +02:00
9533497388 chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2025-07-14 13:47:45 +02:00
f323b7bb1f chore(i18n): Translated using Weblate (Japanese)
Currently translated at 98.8% (425 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/ja/
2025-07-14 13:47:45 +02:00
68810b4762 chore(i18n): Translated using Weblate (French)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/fr/
2025-07-14 13:47:45 +02:00
d3e01d0732 chore(i18n): Translated using Weblate (Spanish)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/es/
2025-07-14 13:47:44 +02:00
970cf7ee91 chore(i18n): Translated using Weblate (Spanish)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/es/
2025-07-14 13:47:44 +02:00
4bf038e24d chore(i18n): Translated using Weblate (German)
Currently translated at 100.0% (430 of 430 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/de/
2025-07-14 13:47:44 +02:00
5925b765b8 fix(deps): update dependency @hono/zod-validator to v0.7.1 (#3616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-13 22:43:21 +09:00
78cd3a786c Update changelog for v3.10.0 2025-07-13 08:26:54 +00:00
13 changed files with 660 additions and 88 deletions

View File

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

View File

@ -73,7 +73,7 @@
"@hono/node-server": "1.15.0",
"@hono/swagger-ui": "0.5.2",
"@hono/zod-openapi": "1.0.0-beta.1",
"@hono/zod-validator": "0.7.0",
"@hono/zod-validator": "0.7.1",
"@jellybrick/dbus-next": "0.10.3",
"@jellybrick/electron-better-web-request": "1.0.4",
"@jellybrick/mpris-service": "2.1.5",

14
pnpm-lock.yaml generated
View File

@ -65,8 +65,8 @@ importers:
specifier: 1.0.0-beta.1
version: 1.0.0-beta.1(hono@4.8.4)(zod@4.0.5)
'@hono/zod-validator':
specifier: 0.7.0
version: 0.7.0(hono@4.8.4)(zod@4.0.5)
specifier: 0.7.1
version: 0.7.1(hono@4.8.4)(zod@4.0.5)
'@jellybrick/dbus-next':
specifier: 0.10.3
version: 0.10.3
@ -827,11 +827,11 @@ packages:
hono: '>=4.3.6'
zod: ^3.25.0
'@hono/zod-validator@0.7.0':
resolution: {integrity: sha512-qe2ZE6sHFE98dcUrbYMtS3bAV8hqcCOflykvZga2S7XhmNSZzT+dIz4OuMILsjLHkJw9JMn912/dB7dQOmuPvg==}
'@hono/zod-validator@0.7.1':
resolution: {integrity: sha512-8+vJT1RvezAx5sN7hiZ5Mis0RMuFL77nBEcqQQgT9ufoLkxr+7ll461WlBJQcGoQSY6EGMClVae19v3s/7bbgQ==}
peerDependencies:
hono: '>=3.9.0'
zod: ^3.25.0
zod: ^3.25.0 || ^4.0.0
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@ -5418,11 +5418,11 @@ snapshots:
'@hono/zod-openapi@1.0.0-beta.1(hono@4.8.4)(zod@4.0.5)':
dependencies:
'@asteasolutions/zod-to-openapi': 8.0.0-beta.4(zod@4.0.5)
'@hono/zod-validator': 0.7.0(hono@4.8.4)(zod@4.0.5)
'@hono/zod-validator': 0.7.1(hono@4.8.4)(zod@4.0.5)
hono: 4.8.4
zod: 4.0.5
'@hono/zod-validator@0.7.0(hono@4.8.4)(zod@4.0.5)':
'@hono/zod-validator@0.7.1(hono@4.8.4)(zod@4.0.5)':
dependencies:
hono: 4.8.4
zod: 4.0.5

View File

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

View File

@ -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):",

View File

@ -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": {
@ -859,7 +877,8 @@
},
"name": "Alternador de vídeo",
"templates": {
"button-song": "Canción"
"button-song": "Canción",
"button-video": "Vídeo"
}
},
"visualizer": {

View File

@ -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": {

View File

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

View File

@ -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": {

View File

@ -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": {

View File

@ -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",
@ -713,7 +713,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 +727,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 +750,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 +760,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 +792,7 @@
"label": "Efekat linije",
"submenu": {
"fancy": {
"label": "Fensi",
"label": "Kitnjast",
"tooltip": "Koristi velike (kao iz aplikacije) efekte na trenutnu liniju"
},
"focus": {
@ -800,8 +800,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 +812,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 +820,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 +835,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 +843,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 +877,7 @@
},
"name": "Video prebacivanje",
"templates": {
"button-song": "Numera",
"button-song": "Pesma",
"button-video": "Video"
}
},

View File

@ -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)",
@ -859,7 +877,8 @@
},
"name": "ปุ่มวิดีโอ",
"templates": {
"button-song": "เพลง"
"button-song": "เพลง",
"button-video": "วิดีโอ"
}
},
"visualizer": {

View File

@ -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": {