Compare commits
82 Commits
v3.11.0
...
e2f19a705a
| Author | SHA1 | Date | |
|---|---|---|---|
| e2f19a705a | |||
| 2eac030235 | |||
| c644d418dd | |||
| 18692b0283 | |||
| f81dd1f910 | |||
| 1452c4ae8a | |||
| 504c73df73 | |||
| 0c16467a8b | |||
| 26539544ab | |||
| 9f84e2771c | |||
| a2be98588b | |||
| b445ef8aeb | |||
| a49ee4fd11 | |||
| c8c380841f | |||
| 6fa89db2f3 | |||
| c4ef6efddd | |||
| 55a6e815af | |||
| 8238262afe | |||
| a81aa4b7c9 | |||
| 56c903d5df | |||
| b0931c8924 | |||
| 5142b673c1 | |||
| 36eaeef45f | |||
| da2f3e5102 | |||
| 7ceb160e96 | |||
| a563084055 | |||
| ced531133a | |||
| 345c2e59fd | |||
| b3e0fd5588 | |||
| 7f35738667 | |||
| 1fa827df89 | |||
| 78ba710b3f | |||
| bcb61a922e | |||
| c046a76972 | |||
| ed25d11b23 | |||
| 8de5599240 | |||
| ce7fcc5d01 | |||
| 30ed2b5c75 | |||
| 12d4241668 | |||
| 0eb65f082c | |||
| 25fccc9a62 | |||
| 414a560205 | |||
| 7c1b8ed0a4 | |||
| 8084a175cf | |||
| f5175a6be7 | |||
| c9ae7cb277 | |||
| e455932754 | |||
| a1e3bf23be | |||
| 8ccd510700 | |||
| c0a495640f | |||
| 6060e138ee | |||
| 98b2e182fb | |||
| 715ddb8923 | |||
| 3104111f6b | |||
| e064c37859 | |||
| 1de223b4ca | |||
| 50a1365a6f | |||
| cc83804491 | |||
| 92cf306439 | |||
| a8be510a07 | |||
| 58524fb3c1 | |||
| aeb6997117 | |||
| 0116188623 | |||
| af63edb058 | |||
| bd0ac52832 | |||
| 5b537d2a9e | |||
| d9a7c352d3 | |||
| 84add37441 | |||
| 9a88f11f16 | |||
| 51b4441e5c | |||
| 29784e6a39 | |||
| e2981c22fa | |||
| d7513dcc20 | |||
| 5c0face2c9 | |||
| a1805f7662 | |||
| 46889098e8 | |||
| 607938c170 | |||
| 58a03db898 | |||
| 67ef3408dc | |||
| 27f16e26b3 | |||
| e38200bc1f | |||
| 736e63d259 |
149
README.md
@ -1,6 +1,6 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
# YouTube Music
|
# YTMD
|
||||||
|
|
||||||
[](https://github.com/th-ch/youtube-music/releases/)
|
[](https://github.com/th-ch/youtube-music/releases/)
|
||||||
[](https://github.com/th-ch/youtube-music/blob/master/license)
|
[](https://github.com/th-ch/youtube-music/blob/master/license)
|
||||||
@ -14,31 +14,27 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
- Native look & feel extension, aims at keeping the original interface
|
||||||
<div align="center">
|
|
||||||
<a href="https://github.com/th-ch/youtube-music/releases/latest">
|
|
||||||
<img src="web/youtube-music.svg" width="400" height="100" alt="YouTube Music SVG">
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
Read this in other languages: [한국어](./docs/readme/README-ko.md), [Française](./docs/readme/README-fr.md), [Íslenska](./docs/readme/README-is.md), [Español](./docs/readme/README-es.md), [Pусский](./docs/readme/README-ru.md), [Українська](./docs/readme/README-uk.md), [Magyar](./docs/readme/README-hu.md), [Português](./docs/readme/README-pt.md), [日本語](./docs/readme/README-ja.md)
|
|
||||||
|
|
||||||
**Electron wrapper around YouTube Music featuring:**
|
|
||||||
|
|
||||||
- Native look & feel, aims at keeping the original interface
|
|
||||||
- Framework for custom plugins: change YouTube Music to your needs (style, content, features), enable/disable plugins in
|
|
||||||
one click
|
one click
|
||||||
|
|
||||||
## Demo Image
|
> [!IMPORTANT]
|
||||||
|
> ⚠️ Disclaimer
|
||||||
| Player Screen (album color theme & ambient light) |
|
>
|
||||||
|:---------------------------------------------------------------------------------------------------------:|
|
> **No Affiliation**
|
||||||
||
|
>
|
||||||
|
> This project, and its contributors, are not affiliated with, authorized by, endorsed by, or in any way officially connected with Google LLC, YouTube, or any of their subsidiaries or affiliates. **This is an independent, non-profit, and unofficial extension developed by a team of volunteers with the goal of providing a desktop experience.**
|
||||||
|
>
|
||||||
|
> **Trademarks**
|
||||||
|
>
|
||||||
|
> The names "Google" and "YouTube Music", as well as related names, marks, emblems, and images, are registered trademarks of their respective owners. Any use of these trademarks is for identification and reference purposes only and does not imply any association with the trademark holder. We have no intention of infringing upon these trademarks or causing harm to the trademark holders.
|
||||||
|
>
|
||||||
|
> **Limitation of Liability**
|
||||||
|
>
|
||||||
|
> This application (extension) is provided "AS IS", and you use it at your own risk. In no event shall the developers or contributors be liable for any claim, damages, or other liability, including any legal consequences, arising from, out of, or in connection with the software or the use or other dealings in the software. The responsibility for any and all outcomes of using this software rests entirely with the user.
|
||||||
|
|
||||||
## Content
|
## Content
|
||||||
|
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Available plugins](#available-plugins)
|
|
||||||
- [Translation](#translation)
|
- [Translation](#translation)
|
||||||
- [Download](#download)
|
- [Download](#download)
|
||||||
- [Arch Linux](#arch-linux)
|
- [Arch Linux](#arch-linux)
|
||||||
@ -56,116 +52,6 @@ Read this in other languages: [한국어](./docs/readme/README-ko.md), [Françai
|
|||||||
- [License](#license)
|
- [License](#license)
|
||||||
- [FAQ](#faq)
|
- [FAQ](#faq)
|
||||||
|
|
||||||
## Features:
|
|
||||||
|
|
||||||
- **Auto confirm when paused** (Always Enabled): disable
|
|
||||||
the ["Continue Watching?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png)
|
|
||||||
popup that pause music after a certain time
|
|
||||||
|
|
||||||
- And more ...
|
|
||||||
|
|
||||||
## Available plugins:
|
|
||||||
|
|
||||||
- **Ad Blocker**: Block all ads and tracking out of the box
|
|
||||||
|
|
||||||
- **Album Actions**: Adds Undislike, Dislike, Like, and Unlike buttons to apply this to all songs in a playlist or album
|
|
||||||
|
|
||||||
- **Album Color Theme**: Applies a dynamic theme and visual effects based on the album color palette
|
|
||||||
|
|
||||||
- **Ambient Mode**: Applies a lighting effect by casting gentle colors from the video, into your screen’s background
|
|
||||||
|
|
||||||
- **Audio Compressor**: Apply compression to audio (lowers the volume of the loudest parts of the signal and raises the
|
|
||||||
volume of the softest parts)
|
|
||||||
|
|
||||||
- **Blur Navigation Bar**: makes navigation bar transparent and blurry
|
|
||||||
|
|
||||||
- **Bypass Age Restrictions**: bypass YouTube's age verification
|
|
||||||
|
|
||||||
- **Captions Selector**: Enable captions
|
|
||||||
|
|
||||||
- **Compact Sidebar**: Always set the sidebar in compact mode
|
|
||||||
|
|
||||||
- **Crossfade**: Crossfade between songs
|
|
||||||
|
|
||||||
- **Disable Autoplay**: Makes every song start in "paused" mode
|
|
||||||
|
|
||||||
- **[Discord](https://discord.com/) Rich Presence**: Show your friends what you listen to
|
|
||||||
with [Rich Presence](https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png)
|
|
||||||
|
|
||||||
- **Downloader**: downloads
|
|
||||||
MP3 [directly from the interface](https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png) [(youtube-dl)](https://github.com/ytdl-org/youtube-dl)
|
|
||||||
|
|
||||||
- **Equalizer**: add filters to boost or cut specific range of frequencies (e.g. bass booster)
|
|
||||||
|
|
||||||
- **Exponential Volume**: Makes the volume
|
|
||||||
slider [exponential](https://greasyfork.org/en/scripts/397686-youtube-music-fix-volume-ratio/) so it's easier to
|
|
||||||
select lower volumes
|
|
||||||
|
|
||||||
- **In-App Menu**: [gives bars a fancy, dark look](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png)
|
|
||||||
|
|
||||||
> (see [this post](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) if you have problem
|
|
||||||
accessing the menu after enabling this plugin and hide-menu option)
|
|
||||||
|
|
||||||
- **Scrobbler**: Adds scrobbling support for [Last.fm](https://www.last.fm/) and [ListenBrainz](https://listenbrainz.org/)
|
|
||||||
|
|
||||||
- **Lumia Stream**: Adds [Lumia Stream](https://lumiastream.com/) support
|
|
||||||
|
|
||||||
- **Lyrics Genius**: Adds lyrics support for most songs
|
|
||||||
|
|
||||||
- **Music Together**: Share a playlist with others. When the host plays a song, everyone else will hear the same song
|
|
||||||
|
|
||||||
- **Navigation**: Next/Back navigation arrows directly integrated in the interface, like in your favorite browser
|
|
||||||
|
|
||||||
- **No Google Login**: Remove Google login buttons and links from the interface
|
|
||||||
|
|
||||||
- **Notifications**: Display a notification when a song starts
|
|
||||||
playing ([interactive notifications](https://user-images.githubusercontent.com/78568641/114102651-63ce0e00-98d0-11eb-9dfe-c5a02bb54f9c.png)
|
|
||||||
are available on windows)
|
|
||||||
|
|
||||||
- **Picture-in-picture**: allows to switch the app to picture-in-picture mode
|
|
||||||
|
|
||||||
- **Playback Speed**: Listen fast, listen
|
|
||||||
slow! [Adds a slider that controls song speed](https://user-images.githubusercontent.com/61631665/129976003-e55db5ba-bf42-448c-a059-26a009775e68.png)
|
|
||||||
|
|
||||||
- **Precise Volume**: Control the volume precisely using mousewheel/hotkeys, with a custom hud and customizable volume
|
|
||||||
steps
|
|
||||||
|
|
||||||
- **Shortcuts (& MPRIS)**: Allows setting global hotkeys for playback (play/pause/next/previous) +
|
|
||||||
disable [media osd](https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png)
|
|
||||||
by overriding media keys + enable Ctrl/CMD + F to search + enable linux mpris support for
|
|
||||||
mediakeys + [custom hotkeys](https://github.com/Araxeus/youtube-music/blob/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50)
|
|
||||||
for [advanced users](https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902)
|
|
||||||
|
|
||||||
- **Skip Disliked Song**: Skips disliked songs
|
|
||||||
|
|
||||||
- **Skip Silences**: Automatically skip silenced sections
|
|
||||||
|
|
||||||
- [**SponsorBlock**](https://github.com/ajayyy/SponsorBlock): Automatically Skips non-music parts like intro/outro or
|
|
||||||
parts of music videos where the song isn't playing
|
|
||||||
|
|
||||||
- **Synced Lyrics**: Provides synced lyrics to songs, using providers like [LRClib](https://lrclib.net).
|
|
||||||
|
|
||||||
- **Taskbar Media Control**: Control playback from
|
|
||||||
your [Windows taskbar](https://user-images.githubusercontent.com/78568641/111916130-24a35e80-8a82-11eb-80c8-5021c1aa27f4.png)
|
|
||||||
|
|
||||||
- **TouchBar**: Custom TouchBar layout for macOS
|
|
||||||
|
|
||||||
- **Tuna OBS**: Integration with [OBS](https://obsproject.com/)'s
|
|
||||||
plugin [Tuna](https://obsproject.com/forum/resources/tuna.843/)
|
|
||||||
|
|
||||||
- **Unobtrusive Player**: Prevents the player from popping up when playing a song
|
|
||||||
|
|
||||||
- **Video Quality Changer**: Allows changing the video quality with
|
|
||||||
a [button](https://user-images.githubusercontent.com/78568641/138574366-70324a5e-2d64-4f6a-acdd-dc2a2b9cecc5.png) on
|
|
||||||
the video overlay
|
|
||||||
|
|
||||||
- **Video Toggle**: Adds
|
|
||||||
a [button](https://user-images.githubusercontent.com/28893833/173663950-63e6610e-a532-49b7-9afa-54cb57ddfc15.png) to
|
|
||||||
switch between Video/Song mode. can also optionally remove the whole video tab
|
|
||||||
|
|
||||||
- **Visualizer**: Different music visualizers
|
|
||||||
|
|
||||||
|
|
||||||
## Translation
|
## Translation
|
||||||
|
|
||||||
You can help with translation on [Hosted Weblate](https://hosted.weblate.org/projects/youtube-music/).
|
You can help with translation on [Hosted Weblate](https://hosted.weblate.org/projects/youtube-music/).
|
||||||
@ -355,8 +241,7 @@ export default createPlugin({
|
|||||||
enabled: false,
|
enabled: false,
|
||||||
}, // your custom config
|
}, // your custom config
|
||||||
renderer() {
|
renderer() {
|
||||||
// Remove the login button
|
console.log('hello from renderer');
|
||||||
document.querySelector(".sign-in-link.ytmusic-nav-bar").remove();
|
|
||||||
} // define renderer hook
|
} // define renderer hook
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 600 B |
|
Before Width: | Height: | Size: 931 B |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 353 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 40 KiB |
@ -1,6 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 176 176" width="32" height="32">
|
|
||||||
<circle fill="red" cx="88" cy="88" r="88"/>
|
|
||||||
<path fill="#FFF"
|
|
||||||
d="M88 46c23.1 0 42 18.8 42 42s-18.8 42-42 42-42-18.8-42-42 18.9-42 42-42m0-4c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46z"/>
|
|
||||||
<path fill="#FFF" d="M72 111l39-24-39-22z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 353 B |
88
changelog.md
@ -2,8 +2,96 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||||
|
|
||||||
|
#### [v3.11.0](https://github.com/th-ch/youtube-music/compare/v3.10.0...v3.11.0)
|
||||||
|
|
||||||
|
- Fixed missing videochange dataupdated event when using shuffle [`#3659`](https://github.com/th-ch/youtube-music/pull/3659)
|
||||||
|
- feat(synced-lyrics): preferred provider (global/per-song) [`#3741`](https://github.com/th-ch/youtube-music/pull/3741)
|
||||||
|
- feat(api-server): send shuffle state over websocket [`#3837`](https://github.com/th-ch/youtube-music/pull/3837)
|
||||||
|
- feat(synced-lyrics): add new "spacer" [`#3742`](https://github.com/th-ch/youtube-music/pull/3742)
|
||||||
|
- feat(downloader): Add context menu button for playlists and albums [`#3768`](https://github.com/th-ch/youtube-music/pull/3768)
|
||||||
|
- feat(transparent-player): new plugin for Acrylic, Mica or Tabbed effects [`#3529`](https://github.com/th-ch/youtube-music/pull/3529)
|
||||||
|
- fix(audio-compressor): real-time behavior and duplicated audio bug [`#3786`](https://github.com/th-ch/youtube-music/pull/3786)
|
||||||
|
- fix: Added Min height and width to the window which doesnt breaks the UI responsiveness [`#3602`](https://github.com/th-ch/youtube-music/pull/3602)
|
||||||
|
- chore(deps): update dependency discord-api-types to v0.38.23 [`#3833`](https://github.com/th-ch/youtube-music/pull/3833)
|
||||||
|
- feat(plugin): Custom output device plugin [`#3789`](https://github.com/th-ch/youtube-music/pull/3789)
|
||||||
|
- chore(deps): update dependency @babel/runtime to v7.28.4 [`#3831`](https://github.com/th-ch/youtube-music/pull/3831)
|
||||||
|
- chore(deps): update eslint monorepo to v9.35.0 [`#3829`](https://github.com/th-ch/youtube-music/pull/3829)
|
||||||
|
- feat(api-server): Add websocket as `/api/v1/ws` route [`#3707`](https://github.com/th-ch/youtube-music/pull/3707)
|
||||||
|
- feat(api-server): Improved api-server volume and like/dislike state [`#3592`](https://github.com/th-ch/youtube-music/pull/3592)
|
||||||
|
- fix(deps): update dependency i18next to v25.5.2 [`#3826`](https://github.com/th-ch/youtube-music/pull/3826)
|
||||||
|
- fix(deps): update dependency virtua to v0.42.2 [`#3827`](https://github.com/th-ch/youtube-music/pull/3827)
|
||||||
|
- fix(exponential-volume): volume desync bug [`#3787`](https://github.com/th-ch/youtube-music/pull/3787)
|
||||||
|
- feat(synced-lyrics): thai romanization [`#3618`](https://github.com/th-ch/youtube-music/pull/3618)
|
||||||
|
- feat(discord): add option to display artist/title in status [`#3692`](https://github.com/th-ch/youtube-music/pull/3692)
|
||||||
|
- chore(deps): update playwright monorepo to v1.55.0 [`#3819`](https://github.com/th-ch/youtube-music/pull/3819)
|
||||||
|
- fix(deps): update dependency i18next to v25.5.1 [`#3820`](https://github.com/th-ch/youtube-music/pull/3820)
|
||||||
|
- fix(deps): update dependency virtua to v0.42.0 [`#3821`](https://github.com/th-ch/youtube-music/pull/3821)
|
||||||
|
- fix(deps): update dependency zod to v4.1.5 [`#3822`](https://github.com/th-ch/youtube-music/pull/3822)
|
||||||
|
- chore(deps): update eslint monorepo to v9.34.0 [`#3818`](https://github.com/th-ch/youtube-music/pull/3818)
|
||||||
|
- chore(deps): update actions/setup-node action to v5 [`#3823`](https://github.com/th-ch/youtube-music/pull/3823)
|
||||||
|
- chore(deps): update dependency electron to v38 [`#3824`](https://github.com/th-ch/youtube-music/pull/3824)
|
||||||
|
- chore(deps): update dependency @stylistic/eslint-plugin to v5.3.1 [`#3817`](https://github.com/th-ch/youtube-music/pull/3817)
|
||||||
|
- fix(deps): update dependency serve to v14.2.5 [`#3816`](https://github.com/th-ch/youtube-music/pull/3816)
|
||||||
|
- feat(discord): add song & artist URLs to rich presence [`#3737`](https://github.com/th-ch/youtube-music/pull/3737)
|
||||||
|
- fix: fix #3621 [`#3774`](https://github.com/th-ch/youtube-music/pull/3774)
|
||||||
|
- feat(refactor): PluginDefinition::platform [`#3665`](https://github.com/th-ch/youtube-music/pull/3665)
|
||||||
|
- chore(docs): update copyright footer year [`#3792`](https://github.com/th-ch/youtube-music/pull/3792)
|
||||||
|
- chore(deps): update dependency vite-plugin-inspect to v11.3.3 [`#3814`](https://github.com/th-ch/youtube-music/pull/3814)
|
||||||
|
- fix(deps): update dependency @floating-ui/dom to v1.7.4 [`#3815`](https://github.com/th-ch/youtube-music/pull/3815)
|
||||||
|
- fix(deps): update dependency @ghostery/adblocker-electron to v2.11.6 [`#3770`](https://github.com/th-ch/youtube-music/pull/3770)
|
||||||
|
- chore(deps): update dependency discord-api-types to v0.38.22 [`#3813`](https://github.com/th-ch/youtube-music/pull/3813)
|
||||||
|
- chore(deps): update dependency @types/semver to v7.7.1 [`#3812`](https://github.com/th-ch/youtube-music/pull/3812)
|
||||||
|
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.11.6 [`#3771`](https://github.com/th-ch/youtube-music/pull/3771)
|
||||||
|
- fix(deps): update dependency @hono/node-server to v1.19.1 [`#3759`](https://github.com/th-ch/youtube-music/pull/3759)
|
||||||
|
- chore(deps): update dependency typescript-eslint to v8.42.0 [`#3761`](https://github.com/th-ch/youtube-music/pull/3761)
|
||||||
|
- chore(deps): update dependency node-gyp to v11.4.2 [`#3772`](https://github.com/th-ch/youtube-music/pull/3772)
|
||||||
|
- chore(deps): update actions/checkout action to v5 [`#3757`](https://github.com/th-ch/youtube-music/pull/3757)
|
||||||
|
- chore(deps): update dependency vite to v7.1.5 [`#3760`](https://github.com/th-ch/youtube-music/pull/3760)
|
||||||
|
- fix(deps): update dependency hono to v4.9.6 [security] [`#3807`](https://github.com/th-ch/youtube-music/pull/3807)
|
||||||
|
- chore(deps): update dependency electron to v37.3.1 [security] [`#3806`](https://github.com/th-ch/youtube-music/pull/3806)
|
||||||
|
- chore(deps): bump hono from 4.9.2 to 4.9.6 [`#3805`](https://github.com/th-ch/youtube-music/pull/3805)
|
||||||
|
- chore(deps): update playwright monorepo to v1.54.2 [`#3713`](https://github.com/th-ch/youtube-music/pull/3713)
|
||||||
|
- chore(deps): update dependency vite to v7.1.2 [`#3710`](https://github.com/th-ch/youtube-music/pull/3710)
|
||||||
|
- chore(deps): update dependency @stylistic/eslint-plugin to v5.2.3 [`#3754`](https://github.com/th-ch/youtube-music/pull/3754)
|
||||||
|
- chore(deps): update dependency @babel/runtime to v7.28.3 [`#3753`](https://github.com/th-ch/youtube-music/pull/3753)
|
||||||
|
- chore(deps): update dependency discord-api-types to v0.38.20 [`#3706`](https://github.com/th-ch/youtube-music/pull/3706)
|
||||||
|
- fix(deps): update dependency @floating-ui/dom to v1.7.3 [`#3714`](https://github.com/th-ch/youtube-music/pull/3714)
|
||||||
|
- chore(deps): update dependency vite-plugin-solid to v2.11.8 [`#3711`](https://github.com/th-ch/youtube-music/pull/3711)
|
||||||
|
- chore(deps): update dependency rollup to v4.46.2 [`#3709`](https://github.com/th-ch/youtube-music/pull/3709)
|
||||||
|
- chore(deps): update dependency @electron/universal to v3.0.1 [`#3705`](https://github.com/th-ch/youtube-music/pull/3705)
|
||||||
|
- chore(deps): update dependency electron to v37.3.0 [`#3708`](https://github.com/th-ch/youtube-music/pull/3708)
|
||||||
|
- chore(docs): Grammar mistakes [`#3722`](https://github.com/th-ch/youtube-music/pull/3722)
|
||||||
|
- Fixes the error 500 for /auth/ endpoint [`#3627`](https://github.com/th-ch/youtube-music/pull/3627)
|
||||||
|
- feat: add custom window title option [`#3656`](https://github.com/th-ch/youtube-music/pull/3656)
|
||||||
|
- fix(deps): update dependency zod to v4.0.10 [`#3686`](https://github.com/th-ch/youtube-music/pull/3686)
|
||||||
|
- chore(deps): update dependency @babel/runtime to v7.28.2 [`#3687`](https://github.com/th-ch/youtube-music/pull/3687)
|
||||||
|
- chore(deps): update dependency rollup to v4.46.1 [`#3632`](https://github.com/th-ch/youtube-music/pull/3632)
|
||||||
|
- chore(deps): update dependency electron to v38.0.0-alpha.10 [`#3681`](https://github.com/th-ch/youtube-music/pull/3681)
|
||||||
|
- chore(deps): update dependency eslint-config-prettier to v10.1.8 [`#3676`](https://github.com/th-ch/youtube-music/pull/3676)
|
||||||
|
- chore(deps): update dependency eslint-plugin-prettier to v5.5.3 [`#3678`](https://github.com/th-ch/youtube-music/pull/3678)
|
||||||
|
- fix(deps): update dependency @ghostery/adblocker-electron to v2.11.3 [`#3679`](https://github.com/th-ch/youtube-music/pull/3679)
|
||||||
|
- chore(deps): update dependency discord-api-types to v0.38.17 [`#3620`](https://github.com/th-ch/youtube-music/pull/3620)
|
||||||
|
- chore(deps): update dependency esbuild to v0.25.8 [`#3675`](https://github.com/th-ch/youtube-music/pull/3675)
|
||||||
|
- chore(deps): update dependency @stylistic/eslint-plugin to v5.2.2 [`#3636`](https://github.com/th-ch/youtube-music/pull/3636)
|
||||||
|
- fix(deps): update dependency @hono/node-server to v1.17.1 [`#3625`](https://github.com/th-ch/youtube-music/pull/3625)
|
||||||
|
- fix(deps): update dependency hono to v4.8.7 [`#3567`](https://github.com/th-ch/youtube-music/pull/3567)
|
||||||
|
- chore(deps): update dependency typescript-eslint to v8.38.0 [`#3628`](https://github.com/th-ch/youtube-music/pull/3628)
|
||||||
|
- chore(deps): update dependency electron to v38.0.0-alpha.9 [`#3626`](https://github.com/th-ch/youtube-music/pull/3626)
|
||||||
|
- fix(Skip Disliked Song): updated querySelector [`#3667`](https://github.com/th-ch/youtube-music/pull/3667)
|
||||||
|
- chore(deps): update dependency vite to v7.0.11 [`#3624`](https://github.com/th-ch/youtube-music/pull/3624)
|
||||||
|
- fix(deps): update dependency @hono/zod-validator to v0.7.1 [`#3616`](https://github.com/th-ch/youtube-music/pull/3616)
|
||||||
|
- fix(discord-rpc, scrobbler): Align artist and title with the last.fm's de facto standard [`#3358`](https://github.com/th-ch/youtube-music/issues/3358) [`#3641`](https://github.com/th-ch/youtube-music/issues/3641)
|
||||||
|
- fix: fix #3621 (#3774) [`#3621`](https://github.com/th-ch/youtube-music/issues/3621)
|
||||||
|
- fix: fix #3661 [`#3661`](https://github.com/th-ch/youtube-music/issues/3661)
|
||||||
|
- fix: fix #3613, fix #3651 [`#3613`](https://github.com/th-ch/youtube-music/issues/3613) [`#3651`](https://github.com/th-ch/youtube-music/issues/3651)
|
||||||
|
- chore: remove unused deps [`2a81a4e`](https://github.com/th-ch/youtube-music/commit/2a81a4e887cb5cc3c91a672302db6da3c15544e8)
|
||||||
|
- chore(i18n): Translated using Weblate (Swedish) [`0a6f244`](https://github.com/th-ch/youtube-music/commit/0a6f244035f17724ab1934f3cb2e011adf838e09)
|
||||||
|
- fix: bump dependencies [`5ba65ea`](https://github.com/th-ch/youtube-music/commit/5ba65ea1221236478efa8cb61bca3ffb1bb2d061)
|
||||||
|
|
||||||
#### [v3.10.0](https://github.com/th-ch/youtube-music/compare/v3.9.0...v3.10.0)
|
#### [v3.10.0](https://github.com/th-ch/youtube-music/compare/v3.9.0...v3.10.0)
|
||||||
|
|
||||||
|
> 13 July 2025
|
||||||
|
|
||||||
- fix(deps): update dependency butterchurn to v3.0.0-beta.5 [`#3610`](https://github.com/th-ch/youtube-music/pull/3610)
|
- 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 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)
|
- chore(deps): update dependency rollup to v4.45.0 [`#3568`](https://github.com/th-ch/youtube-music/pull/3568)
|
||||||
|
|||||||
@ -1,9 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400">
|
|
||||||
<g transform="translate(183.604 196.396)" stroke="#fff" stroke-width="2.23">
|
|
||||||
<path
|
|
||||||
style="line-height:normal;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;block-progression:tb;marker:none"
|
|
||||||
d="M-116.99 106.245l31.82 31.82 236.31-236.31-31.82-31.82z" color="#000" font-weight="400"
|
|
||||||
font-family="Sans" overflow="visible" fill="#fff" stroke="none"/>
|
|
||||||
<circle r="171.304" cy="4" cx="16" fill="none" stroke-width="44.6"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 588 B |
@ -1,35 +0,0 @@
|
|||||||
<svg width="1440" height="582" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<defs>
|
|
||||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="a">
|
|
||||||
<stop stop-color="#606483" stop-opacity="0" offset="0%"/>
|
|
||||||
<stop stop-color="#363636" stop-opacity=".72" offset="100%"/>
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient x1="50%" y1="0%" x2="39.334%" y2="79.282%" id="b">
|
|
||||||
<stop stop-color="#363636" offset="0%"/>
|
|
||||||
<stop stop-color="#363636" stop-opacity="0" offset="100%"/>
|
|
||||||
</linearGradient>
|
|
||||||
<radialGradient cx="33.3%" cy="43.394%" fx="33.3%" fy="43.394%" r="57.93%"
|
|
||||||
gradientTransform="matrix(.24796 -.96592 .92535 .25883 -.151 .643)" id="c">
|
|
||||||
<stop stop-color="#c3352e" stop-opacity="0" offset="0%"/>
|
|
||||||
<stop stop-color="#c3352e" stop-opacity=".64" offset="51.712%"/>
|
|
||||||
<stop stop-color="#c3352e" stop-opacity=".24" offset="100%"/>
|
|
||||||
</radialGradient>
|
|
||||||
<filter id="d">
|
|
||||||
<feTurbulence type="fractalNoise" numOctaves="2" baseFrequency=".3" result="turb"/>
|
|
||||||
<feComposite in="turb" operator="arithmetic" k1=".1" k2=".1" k3=".1" k4=".1" result="result1"/>
|
|
||||||
<feComposite operator="in" in="result1" in2="SourceGraphic" result="finalFilter"/>
|
|
||||||
<feBlend mode="multiply" in="finalFilter" in2="SourceGraphic"/>
|
|
||||||
</filter>
|
|
||||||
</defs>
|
|
||||||
<g fill="none" fill-rule="evenodd">
|
|
||||||
<path
|
|
||||||
d="M252.464 335.471c101.27 115.965 283.227-105.29 283.227-154.996 0-49.705-111.929-90-250-90s-250 40.295-250 90c0 49.706 115.503 39.032 216.773 154.996z"
|
|
||||||
fill="url(#a)" transform="rotate(24 -272.272 -82.087)"/>
|
|
||||||
<path
|
|
||||||
d="M302.512 242.909c88.025 32.428 156-25.04 156-55.93 0-30.888-69.844-55.928-156-55.928-86.157 0-156 25.04-156 55.929 0 30.888 67.974 23.5 156 55.929z"
|
|
||||||
fill="url(#b)" transform="rotate(24 -255.451 -119.868)"/>
|
|
||||||
<path
|
|
||||||
d="M103.064 315.218c128.156 12.998 192.38 157.059 218.627 106.632 26.247-50.427-44.059-106.456 60.397-202.707 104.457-96.252-143.2-285.785-172.392-122.551C180.503 259.825-25.091 302.22 103.064 315.218z"
|
|
||||||
transform="translate(1176 -33)" fill="url(#c)" filter="url(#d)"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 721 KiB |
@ -1,6 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 176 176" width="32" height="32">
|
|
||||||
<circle fill="red" cx="88" cy="88" r="88"/>
|
|
||||||
<path fill="#FFF"
|
|
||||||
d="M88 46c23.1 0 42 18.8 42 42s-18.8 42-42 42-42-18.8-42-42 18.9-42 42-42m0-4c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46z"/>
|
|
||||||
<path fill="#FFF" d="M72 111l39-24-39-22z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 360 B |
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
|
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
|
||||||
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
<meta content="width=device-width, initial-scale=1" name="viewport"/>
|
||||||
<title>YouTube Music Desktop App (Unofficial)</title>
|
<title>YTMD App (Unofficial)</title>
|
||||||
<link
|
<link
|
||||||
href="./favicon/favicon.ico"
|
href="./favicon/favicon.ico"
|
||||||
rel="icon"
|
rel="icon"
|
||||||
@ -39,22 +39,22 @@
|
|||||||
|
|
||||||
<meta content="#131313" name="theme-color"/>
|
<meta content="#131313" name="theme-color"/>
|
||||||
<meta
|
<meta
|
||||||
content="YouTube Music Unofficial Desktop App with built-in ad blocker and downloader"
|
content="YTMD App"
|
||||||
name="description"
|
name="description"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
content="YouTube Music Desktop App"
|
content="YTMD App"
|
||||||
property="og:site_name"
|
property="og:site_name"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
class="meta-url"
|
class="meta-url"
|
||||||
content="https://th-ch.github.io/youtube-music"
|
content="https://ytmd-devs.github.io/ytmd"
|
||||||
property="og:url"
|
property="og:url"
|
||||||
/>
|
/>
|
||||||
<meta content="website" property="og:type"/>
|
<meta content="website" property="og:type"/>
|
||||||
<meta
|
<meta
|
||||||
class="meta-url"
|
class="meta-url"
|
||||||
content="https://th-ch.github.io/youtube-music"
|
content="https://ytmd-devs.github.io/ytmd"
|
||||||
name="twitter:url"
|
name="twitter:url"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -69,11 +69,11 @@
|
|||||||
<div class="site-header-inner">
|
<div class="site-header-inner">
|
||||||
<div class="brand header-brand">
|
<div class="brand header-brand">
|
||||||
<h1 class="m-0">
|
<h1 class="m-0">
|
||||||
<a href="https://github.com/th-ch/youtube-music">
|
<a href="https://github.com/ytmd-devs/ytmd">
|
||||||
<img
|
<img
|
||||||
alt="YouTube Music"
|
alt="YTM"
|
||||||
class="header-logo-image"
|
class="header-logo-image"
|
||||||
src="./img/youtube-music.svg"
|
src="./img/ytmd.svg"
|
||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
</h1>
|
</h1>
|
||||||
@ -92,17 +92,16 @@
|
|||||||
<div class="hero-inner">
|
<div class="hero-inner">
|
||||||
<div class="hero-copy">
|
<div class="hero-copy">
|
||||||
<h1 class="hero-title mt-0">
|
<h1 class="hero-title mt-0">
|
||||||
Custom YouTube Music Desktop App
|
Custom YTMD App
|
||||||
</h1>
|
</h1>
|
||||||
<p class="hero-paragraph">
|
<p class="hero-paragraph">
|
||||||
Open source, cross-platform, unofficial YouTube Music Desktop
|
Open source, cross-platform, unofficial YTMD
|
||||||
App with built-in <strong>ad blocker</strong> and
|
App
|
||||||
<strong>downloader</strong>
|
|
||||||
</p>
|
</p>
|
||||||
<div class="hero-cta">
|
<div class="hero-cta">
|
||||||
<a
|
<a
|
||||||
class="button button-primary button-wide-mobile"
|
class="button button-primary button-wide-mobile"
|
||||||
href="https://github.com/th-ch/youtube-music/releases/latest"
|
href="https://github.com/ytmd-devs/ytmd/releases/latest"
|
||||||
>Download</a
|
>Download</a
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@ -110,9 +109,9 @@
|
|||||||
<div class="mockup-container">
|
<div class="mockup-container">
|
||||||
<div class="mockup-bg">
|
<div class="mockup-bg">
|
||||||
<img
|
<img
|
||||||
alt="YouTube Music"
|
alt="YTM"
|
||||||
id="mockup-header-img"
|
id="mockup-header-img"
|
||||||
src="./img/youtube-music.png"
|
src="./img/ytmd.png"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -255,11 +254,6 @@
|
|||||||
transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
|
transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<h3 class="mt-0 mb-16">Built-in downloader</h3>
|
|
||||||
<p class="m-0">
|
|
||||||
Download (like youtube-dl) to custom formats (mp3, opus,
|
|
||||||
etc) directly from the interface
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="feature-extended">
|
<div class="feature-extended">
|
||||||
@ -428,7 +422,7 @@
|
|||||||
<div class="cta-cta">
|
<div class="cta-cta">
|
||||||
<a
|
<a
|
||||||
class="button button-primary button-wide-mobile"
|
class="button button-primary button-wide-mobile"
|
||||||
href="https://github.com/th-ch/youtube-music"
|
href="https://github.com/ytmd-devs/ytmd"
|
||||||
>Go to code</a
|
>Go to code</a
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@ -441,28 +435,28 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="site-footer-inner">
|
<div class="site-footer-inner">
|
||||||
<div class="brand footer-brand">
|
<div class="brand footer-brand">
|
||||||
<a href="https://github.com/th-ch/youtube-music">
|
<a href="https://github.com/ytmd-devs/ytmd">
|
||||||
<img alt="YouTube Music logo" src="./img/youtube-music.svg"/>
|
<img alt="YTM logo" src="./img/ytmd.svg"/>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<ul class="footer-links list-reset">
|
<ul class="footer-links list-reset">
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/th-ch/youtube-music">Main page</a>
|
<a href="https://github.com/ytmd-devs/ytmd">Main page</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/th-ch/youtube-music/issues"
|
<a href="https://github.com/ytmd-devs/ytmd/issues"
|
||||||
>Issues</a
|
>Issues</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/th-ch/youtube-music/pulls"
|
<a href="https://github.com/ytmd-devs/ytmd/pulls"
|
||||||
>Pull requests</a
|
>Pull requests</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="footer-social-links list-reset">
|
<ul class="footer-social-links list-reset">
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/th-ch/youtube-music">
|
<a href="https://github.com/ytmd-devs/ytmd">
|
||||||
<span class="screen-reader-text">GitHub</span>
|
<span class="screen-reader-text">GitHub</span>
|
||||||
<svg
|
<svg
|
||||||
height="16"
|
height="16"
|
||||||
|
|||||||
10
package.json
@ -45,7 +45,7 @@
|
|||||||
},
|
},
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"vite": "npm:rolldown-vite@7.1.5",
|
"vite": "npm:rolldown-vite@7.1.8",
|
||||||
"node-gyp": "11.4.2",
|
"node-gyp": "11.4.2",
|
||||||
"xml2js": "0.6.2",
|
"xml2js": "0.6.2",
|
||||||
"node-fetch": "3.3.2",
|
"node-fetch": "3.3.2",
|
||||||
@ -129,7 +129,7 @@
|
|||||||
"solid-transition-group": "0.3.0",
|
"solid-transition-group": "0.3.0",
|
||||||
"tiny-pinyin": "1.3.2",
|
"tiny-pinyin": "1.3.2",
|
||||||
"tinyld": "1.3.4",
|
"tinyld": "1.3.4",
|
||||||
"virtua": "0.42.2",
|
"virtua": "0.42.3",
|
||||||
"vudio": "2.1.1",
|
"vudio": "2.1.1",
|
||||||
"x11": "2.3.0",
|
"x11": "2.3.0",
|
||||||
"youtubei.js": "15.0.1",
|
"youtubei.js": "15.0.1",
|
||||||
@ -167,11 +167,11 @@
|
|||||||
"glob": "11.0.3",
|
"glob": "11.0.3",
|
||||||
"node-gyp": "11.4.2",
|
"node-gyp": "11.4.2",
|
||||||
"playwright": "1.55.0",
|
"playwright": "1.55.0",
|
||||||
"ts-morph": "26.0.0",
|
"ts-morph": "27.0.0",
|
||||||
"typescript": "5.9.2",
|
"typescript": "5.9.2",
|
||||||
"typescript-eslint": "8.42.0",
|
"typescript-eslint": "8.43.0",
|
||||||
"utf-8-validate": "6.0.5",
|
"utf-8-validate": "6.0.5",
|
||||||
"vite": "npm:rolldown-vite@7.1.5",
|
"vite": "npm:rolldown-vite@7.1.8",
|
||||||
"vite-plugin-inspect": "11.3.3",
|
"vite-plugin-inspect": "11.3.3",
|
||||||
"vite-plugin-resolve": "2.5.2",
|
"vite-plugin-resolve": "2.5.2",
|
||||||
"vite-plugin-solid": "2.11.8",
|
"vite-plugin-solid": "2.11.8",
|
||||||
|
|||||||
414
pnpm-lock.yaml
generated
@ -5,7 +5,7 @@ settings:
|
|||||||
excludeLinksFromLockfile: false
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
overrides:
|
overrides:
|
||||||
vite: npm:rolldown-vite@7.1.5
|
vite: npm:rolldown-vite@7.1.8
|
||||||
node-gyp: 11.4.2
|
node-gyp: 11.4.2
|
||||||
xml2js: 0.6.2
|
xml2js: 0.6.2
|
||||||
node-fetch: 3.3.2
|
node-fetch: 3.3.2
|
||||||
@ -235,8 +235,8 @@ importers:
|
|||||||
specifier: 1.3.4
|
specifier: 1.3.4
|
||||||
version: 1.3.4
|
version: 1.3.4
|
||||||
virtua:
|
virtua:
|
||||||
specifier: 0.42.2
|
specifier: 0.42.3
|
||||||
version: 0.42.2(solid-js@1.9.9)
|
version: 0.42.3(solid-js@1.9.9)
|
||||||
vudio:
|
vudio:
|
||||||
specifier: 2.1.1
|
specifier: 2.1.1
|
||||||
version: 2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d)
|
version: 2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d)
|
||||||
@ -309,7 +309,7 @@ importers:
|
|||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
electron-vite:
|
electron-vite:
|
||||||
specifier: 4.0.0
|
specifier: 4.0.0
|
||||||
version: 4.0.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
version: 4.0.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
||||||
eslint:
|
eslint:
|
||||||
specifier: 9.35.0
|
specifier: 9.35.0
|
||||||
version: 9.35.0
|
version: 9.35.0
|
||||||
@ -324,7 +324,7 @@ importers:
|
|||||||
version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.35.0)
|
version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.35.0)
|
||||||
eslint-plugin-import:
|
eslint-plugin-import:
|
||||||
specifier: 2.32.0
|
specifier: 2.32.0
|
||||||
version: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: 5.5.4
|
specifier: 5.5.4
|
||||||
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.35.0))(eslint@9.35.0)(prettier@3.6.2)
|
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.35.0))(eslint@9.35.0)(prettier@3.6.2)
|
||||||
@ -341,29 +341,29 @@ importers:
|
|||||||
specifier: 1.55.0
|
specifier: 1.55.0
|
||||||
version: 1.55.0
|
version: 1.55.0
|
||||||
ts-morph:
|
ts-morph:
|
||||||
specifier: 26.0.0
|
specifier: 27.0.0
|
||||||
version: 26.0.0
|
version: 27.0.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: 5.9.2
|
specifier: 5.9.2
|
||||||
version: 5.9.2
|
version: 5.9.2
|
||||||
typescript-eslint:
|
typescript-eslint:
|
||||||
specifier: 8.42.0
|
specifier: 8.43.0
|
||||||
version: 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
version: 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
utf-8-validate:
|
utf-8-validate:
|
||||||
specifier: 6.0.5
|
specifier: 6.0.5
|
||||||
version: 6.0.5
|
version: 6.0.5
|
||||||
vite:
|
vite:
|
||||||
specifier: npm:rolldown-vite@7.1.5
|
specifier: npm:rolldown-vite@7.1.8
|
||||||
version: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
version: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
vite-plugin-inspect:
|
vite-plugin-inspect:
|
||||||
specifier: 11.3.3
|
specifier: 11.3.3
|
||||||
version: 11.3.3(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
version: 11.3.3(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
||||||
vite-plugin-resolve:
|
vite-plugin-resolve:
|
||||||
specifier: 2.5.2
|
specifier: 2.5.2
|
||||||
version: 2.5.2
|
version: 2.5.2
|
||||||
vite-plugin-solid:
|
vite-plugin-solid:
|
||||||
specifier: 2.11.8
|
specifier: 2.11.8
|
||||||
version: 2.11.8(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))(solid-js@1.9.9)
|
version: 2.11.8(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))(solid-js@1.9.9)
|
||||||
ws:
|
ws:
|
||||||
specifier: 8.18.3
|
specifier: 8.18.3
|
||||||
version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
|
version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
|
||||||
@ -1062,12 +1062,12 @@ packages:
|
|||||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||||
deprecated: This functionality has been moved to @npmcli/fs
|
deprecated: This functionality has been moved to @npmcli/fs
|
||||||
|
|
||||||
'@oxc-project/runtime@0.82.3':
|
'@oxc-project/runtime@0.87.0':
|
||||||
resolution: {integrity: sha512-LNh5GlJvYHAnMurO+EyA8jJwN1rki7l3PSHuosDh2I7h00T6/u9rCkUjg/SvPmT1CZzvhuW0y+gf7jcqUy/Usg==}
|
resolution: {integrity: sha512-ky2Hqi2q/uGX36UfY79zxMbUqiNIl1RyKKVJfFenG70lbn+/fcaKBVTbhmUwn8a2wPyv2gNtDQxuDytbKX9giQ==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@oxc-project/types@0.82.3':
|
'@oxc-project/types@0.87.0':
|
||||||
resolution: {integrity: sha512-6nCUxBnGX0c6qfZW5MaF6/fmu5dHJDMiMPaioKHKs5mi5+8/FHQ7WGjgQIz1zxpmceMYfdIXkOaLYE+ejbuOtA==}
|
resolution: {integrity: sha512-ipZFWVGE9fADBVXXWJWY/cxpysc41Gt5upKDeb32F6WMgFyO7XETUMVq8UuREKCih+Km5E6p2VhEvf6Fuhey6g==}
|
||||||
|
|
||||||
'@pkgjs/parseargs@0.11.0':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
||||||
@ -1103,78 +1103,91 @@ packages:
|
|||||||
'@remusao/trie@2.1.0':
|
'@remusao/trie@2.1.0':
|
||||||
resolution: {integrity: sha512-Er3Q8q0/2OcCJPQYJOPLmCuqO0wu7cav3SPtpjlxSbjFi1x+A1pZkkLD6c9q2rGEkGW/tkrRzfrhNMt8VQjzXg==}
|
resolution: {integrity: sha512-Er3Q8q0/2OcCJPQYJOPLmCuqO0wu7cav3SPtpjlxSbjFi1x+A1pZkkLD6c9q2rGEkGW/tkrRzfrhNMt8VQjzXg==}
|
||||||
|
|
||||||
'@rolldown/binding-android-arm64@1.0.0-beta.34':
|
'@rolldown/binding-android-arm64@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-jf5GNe5jP3Sr1Tih0WKvg2bzvh5T/1TA0fn1u32xSH7ca/p5t+/QRr4VRFCV/na5vjwKEhwWrChsL2AWlY+eoA==}
|
resolution: {integrity: sha512-0y4+MDSw9GzX4VZtATiygDv+OtijxsRtNBZW6qA3OUGi0fq6Gq+MnvFHMjdJxz3mv/thIHMmJ0AL7d8urYBCUw==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.34':
|
'@rolldown/binding-darwin-arm64@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-2F/TqH4QuJQ34tgWxqBjFL3XV1gMzeQgUO8YRtCPGBSP0GhxtoFzsp7KqmQEothsxztlv+KhhT9Dbg3HHwHViQ==}
|
resolution: {integrity: sha512-F/xv0vsxXuwpyecy3GMpXPhRLI4WogQkSYYl6hh61OfmyX4lxsemSoYQ5nlK/MopdVaT111wS1dRO2eXgzBHuA==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@rolldown/binding-darwin-x64@1.0.0-beta.34':
|
'@rolldown/binding-darwin-x64@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-E1QuFslgLWbHQ8Qli/AqUKdfg0pockQPwRxVbhNQ74SciZEZpzLaujkdmOLSccMlSXDfFCF8RPnMoRAzQ9JV8Q==}
|
resolution: {integrity: sha512-FX3x/GSybYRt4/fUljqIMuB7JRJThxnwzjK9Ka4qKwSw92RNmxRtw+NEkpuKq/Tzcq5qpnvSWudKmjcbBSMH1g==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.34':
|
'@rolldown/binding-freebsd-x64@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-VS8VInNCwnkpI9WeQaWu3kVBq9ty6g7KrHdLxYMzeqz24+w9hg712TcWdqzdY6sn+24lUoMD9jTZrZ/qfVpk0g==}
|
resolution: {integrity: sha512-j7Y/OG4XxICRgGMLB7VVbROAzdnvtr0ZTBBYnv53KZESE97Ta4zXfGhEe+EiXLRKW8JWSMeNumOaBrWAXDMiZQ==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-4St4emjcnULnxJYb/5ZDrH/kK/j6PcUgc3eAqH5STmTrcF+I9m/X2xvSF2a2bWv1DOQhxBewThu0KkwGHdgu5w==}
|
resolution: {integrity: sha512-j3rDknokIJZ+iVGjWw2cVRgKLmk9boUoHtp2k3Ba6p7vWIv+D/YypQKHxAayyzvUkxTBZsw64Ojq5/zrytRODA==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-a737FTqhFUoWfnebS2SnQ2BS50p0JdukdkUBwy2J06j4hZ6Eej0zEB8vTfAqoCjn8BQKkXBy+3Sx0IRkgwz1gA==}
|
resolution: {integrity: sha512-7Ds2nl3ZhC0eaSJnw7dQ5uCK1cmaBKC+EL7IIpjTpzqY10y1xCn5w6gTFKzpqKhD2nSraY4MHOyAnE+zmSAZRA==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-NH+FeQWKyuw0k+PbXqpFWNfvD8RPvfJk766B/njdaWz4TmiEcSB0Nb6guNw1rBpM1FmltQYb3fFnTumtC6pRfA==}
|
resolution: {integrity: sha512-0Qa4b3gv956iSdJQplV1xdI9ALbEdNo5xsFpcLU4mW2A+CqWNenVHqcHbCvwvKTP07yX6yoUvUqZR1CBxxQShg==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.34':
|
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-Q3RSCivp8pNadYK8ke3hLnQk08BkpZX9BmMjgwae2FWzdxhxxUiUzd9By7kneUL0vRQ4uRnhD9VkFQ+Haeqdvw==}
|
resolution: {integrity: sha512-wUdZljtx9W1V9KlnmwPgF0o2ZPFq2zffr/q+wM+GUrSFIJNmP9w0zgyl1coCt1ESnNyYYyJh8T1bqvx8+16SqA==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.34':
|
'@rolldown/binding-linux-x64-musl@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-wDd/HrNcVoBhWWBUW3evJHoo7GJE/RofssBy3Dsiip05YUBmokQVrYAyrboOY4dzs/lJ7HYeBtWQ9hj8wlyF0A==}
|
resolution: {integrity: sha512-Up56sJMDSKYi92/28lq9xB2wonuCwVnqBzjRnKmQauZJ5QOor9h1RtcMeCzSxg4ReMsNvrdYomBogewcZgKEww==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.34':
|
'@rolldown/binding-openharmony-arm64@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-dH3FTEV6KTNWpYSgjSXZzeX7vLty9oBYn6R3laEdhwZftQwq030LKL+5wyQdlbX5pnbh4h127hpv3Hl1+sj8dg==}
|
resolution: {integrity: sha512-qX3covX7EX00yrgQl3oi8GuRTS1XFe+YHm+sGsxQvPok+r7Ct2eDFpLmmw7wajZ2SuvAJYSo/9BXLSCGR0ve2w==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [openharmony]
|
os: [openharmony]
|
||||||
|
|
||||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.34':
|
'@rolldown/binding-wasm32-wasi@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-y5BUf+QtO0JsIDKA51FcGwvhJmv89BYjUl8AmN7jqD6k/eU55mH6RJYnxwCsODq5m7KSSTigVb6O7/GqB8wbPw==}
|
resolution: {integrity: sha512-phFsiR97/nbQEtyo5GTPX4h/Ootz0Pdd7P7+gTmkiashePwPUik5aoMAluvzY1tTUAfhdrFR2Y8WiWbnxnsSrQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
cpu: [wasm32]
|
cpu: [wasm32]
|
||||||
|
|
||||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-ga5hFhdTwpaNxEiuxZHWnD3ed0GBAzbgzS5tRHpe0ObptxM1a9Xrq6TVfNQirBLwb5Y7T/FJmJi3pmdLy95ljg==}
|
resolution: {integrity: sha512-dvvByfl7TRVhD9zY/VJ94hOVJmpN8Cfxl/A77yJ/oKV67IPEXx9hRUIhuL/V9eJ0RphNbLo4VKxdVuZ+wzEWTA==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-4/MBp9T9eRnZskxWr8EXD/xHvLhdjWaeX/qY9LPRG1JdCGV3DphkLTy5AWwIQ5jhAy2ZNJR5z2fYRlpWU0sIyQ==}
|
resolution: {integrity: sha512-n7odfY4zatppNGY/EE8wE8B78wIxlQzBaY7Ycyjun+HvYu4dJgz8A4JCKHhyYYoEA8+VXO167Or4EJ9SyBLNnw==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-7O5iUBX6HSBKlQU4WykpUoEmb0wQmonb6ziKFr3dJTHud2kzDnWMqk344T0qm3uGv9Ddq6Re/94pInxo1G2d4w==}
|
resolution: {integrity: sha512-ik9dlOa/bhRk+8NmbqCEZm9BBPy5UfSOg/Y6cAQac29Aw2/uoyoBbFUBFUKMsvfLg8F0dNxUOsT3IcVlfOJu0g==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@rolldown/pluginutils@1.0.0-beta.34':
|
'@rolldown/pluginutils@1.0.0-beta.36':
|
||||||
resolution: {integrity: sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==}
|
resolution: {integrity: sha512-qa+gfzhv0/Xv52zZInENLu6JbsnSjSExD7kTaNm7Qn5LUIH6IQb7l9pB+NrsU5/Bvt9aqcBTdRGc7x1DYMTiqQ==}
|
||||||
|
|
||||||
'@rtsao/scc@1.1.0':
|
'@rtsao/scc@1.1.0':
|
||||||
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
|
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
|
||||||
@ -1237,8 +1250,8 @@ packages:
|
|||||||
'@total-typescript/ts-reset@0.6.1':
|
'@total-typescript/ts-reset@0.6.1':
|
||||||
resolution: {integrity: sha512-cka47fVSo6lfQDIATYqb/vO1nvFfbPw7uWLayIXIhGETj0wcOOlrlkobOMDNQOFr9QOafegUPq13V2+6vtD7yg==}
|
resolution: {integrity: sha512-cka47fVSo6lfQDIATYqb/vO1nvFfbPw7uWLayIXIhGETj0wcOOlrlkobOMDNQOFr9QOafegUPq13V2+6vtD7yg==}
|
||||||
|
|
||||||
'@ts-morph/common@0.27.0':
|
'@ts-morph/common@0.28.0':
|
||||||
resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==}
|
resolution: {integrity: sha512-4w6X/oFmvXcwux6y6ExfM/xSqMHw20cYwFJH+BlYrtGa6nwY9qGq8GXnUs1sVYeF2o/KT3S8hAH6sKBI3VOkBg==}
|
||||||
|
|
||||||
'@tybys/wasm-util@0.10.0':
|
'@tybys/wasm-util@0.10.0':
|
||||||
resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
|
resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
|
||||||
@ -1324,16 +1337,16 @@ packages:
|
|||||||
'@types/yauzl@2.10.3':
|
'@types/yauzl@2.10.3':
|
||||||
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
|
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.42.0':
|
'@typescript-eslint/eslint-plugin@8.43.0':
|
||||||
resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==}
|
resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^8.42.0
|
'@typescript-eslint/parser': ^8.43.0
|
||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
typescript: '>=4.8.4 <6.0.0'
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
'@typescript-eslint/parser@8.42.0':
|
'@typescript-eslint/parser@8.43.0':
|
||||||
resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==}
|
resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
@ -1345,18 +1358,34 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.8.4 <6.0.0'
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
|
'@typescript-eslint/project-service@8.43.0':
|
||||||
|
resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
peerDependencies:
|
||||||
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
'@typescript-eslint/scope-manager@8.42.0':
|
'@typescript-eslint/scope-manager@8.42.0':
|
||||||
resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
|
resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@typescript-eslint/scope-manager@8.43.0':
|
||||||
|
resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@typescript-eslint/tsconfig-utils@8.42.0':
|
'@typescript-eslint/tsconfig-utils@8.42.0':
|
||||||
resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
|
resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.8.4 <6.0.0'
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@8.42.0':
|
'@typescript-eslint/tsconfig-utils@8.43.0':
|
||||||
resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==}
|
resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
peerDependencies:
|
||||||
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
|
'@typescript-eslint/type-utils@8.43.0':
|
||||||
|
resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
@ -1366,12 +1395,22 @@ packages:
|
|||||||
resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
|
resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@typescript-eslint/types@8.43.0':
|
||||||
|
resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@8.42.0':
|
'@typescript-eslint/typescript-estree@8.42.0':
|
||||||
resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
|
resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.8.4 <6.0.0'
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
|
'@typescript-eslint/typescript-estree@8.43.0':
|
||||||
|
resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
peerDependencies:
|
||||||
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
'@typescript-eslint/utils@8.42.0':
|
'@typescript-eslint/utils@8.42.0':
|
||||||
resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
|
resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
@ -1379,10 +1418,21 @@ packages:
|
|||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
typescript: '>=4.8.4 <6.0.0'
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
|
'@typescript-eslint/utils@8.43.0':
|
||||||
|
resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
peerDependencies:
|
||||||
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
|
typescript: '>=4.8.4 <6.0.0'
|
||||||
|
|
||||||
'@typescript-eslint/visitor-keys@8.42.0':
|
'@typescript-eslint/visitor-keys@8.42.0':
|
||||||
resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
|
resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
|
'@typescript-eslint/visitor-keys@8.43.0':
|
||||||
|
resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
|
||||||
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
|
|
||||||
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
|
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
|
||||||
resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
|
resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
@ -3997,8 +4047,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==}
|
resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==}
|
||||||
engines: {node: '>=8.0'}
|
engines: {node: '>=8.0'}
|
||||||
|
|
||||||
rolldown-vite@7.1.5:
|
rolldown-vite@7.1.8:
|
||||||
resolution: {integrity: sha512-NgHjKatQn1B5TjtNVS3+Uq3JBUPP8s70cMxLzGHpv/UyCGj0SQUtVYImNWbU2uqfOpNSnqhI+nbR7tmPPcb1qQ==}
|
resolution: {integrity: sha512-AfI/iNNsTjJv6E3nUSAra8bP4j30MZTt8JSB6iBZP1dblxnF6+3EE6TXQc75M69aH/Cr5p6N1Sk/1JyTDKFgOg==}
|
||||||
engines: {node: ^20.19.0 || >=22.12.0}
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -4037,8 +4087,9 @@ packages:
|
|||||||
yaml:
|
yaml:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
rolldown@1.0.0-beta.34:
|
rolldown@1.0.0-beta.36:
|
||||||
resolution: {integrity: sha512-Wwh7EwalMzzX3Yy3VN58VEajeR2Si8+HDNMf706jPLIqU7CxneRW+dQVfznf5O0TWTnJyu4npelwg2bzTXB1Nw==}
|
resolution: {integrity: sha512-eethnJ/UfQWg2VWBDDMEu7IDvEh4WPbPb1azPWDCHcuOwoPT9C2NT4Y/ecZztCl9OBzXoA+CXXb5MS+qbukAig==}
|
||||||
|
engines: {node: ^20.19.0 || >=22.12.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
run-applescript@7.0.0:
|
run-applescript@7.0.0:
|
||||||
@ -4391,6 +4442,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=12.0.0'}
|
||||||
|
|
||||||
|
tinyglobby@0.2.15:
|
||||||
|
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
|
||||||
tinyld@1.3.4:
|
tinyld@1.3.4:
|
||||||
resolution: {integrity: sha512-u26CNoaInA4XpDU+8s/6Cq8xHc2T5M4fXB3ICfXPokUQoLzmPgSZU02TAkFwFMJCWTjk53gtkS8pETTreZwCqw==}
|
resolution: {integrity: sha512-u26CNoaInA4XpDU+8s/6Cq8xHc2T5M4fXB3ICfXPokUQoLzmPgSZU02TAkFwFMJCWTjk53gtkS8pETTreZwCqw==}
|
||||||
engines: {node: '>= 12.10.0', npm: '>= 6.12.0', yarn: '>= 1.20.0'}
|
engines: {node: '>= 12.10.0', npm: '>= 6.12.0', yarn: '>= 1.20.0'}
|
||||||
@ -4430,8 +4485,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.8.4'
|
typescript: '>=4.8.4'
|
||||||
|
|
||||||
ts-morph@26.0.0:
|
ts-morph@27.0.0:
|
||||||
resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==}
|
resolution: {integrity: sha512-xcqelpTR5PCuZMs54qp9DE3t7tPgA2v/P1/qdW4ke5b3Y5liTGTYj6a/twT35EQW/H5okRqp1UOqwNlgg0K0eQ==}
|
||||||
|
|
||||||
tsconfig-paths@3.15.0:
|
tsconfig-paths@3.15.0:
|
||||||
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
|
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
|
||||||
@ -4471,8 +4526,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
|
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
typescript-eslint@8.42.0:
|
typescript-eslint@8.43.0:
|
||||||
resolution: {integrity: sha512-ozR/rQn+aQXQxh1YgbCzQWDFrsi9mcg+1PM3l/z5o1+20P7suOIaNg515bpr/OYt6FObz/NHcBstydDLHWeEKg==}
|
resolution: {integrity: sha512-FyRGJKUGvcFekRRcBKFBlAhnp4Ng8rhe8tuvvkR9OiU0gfd4vyvTRQHEckO6VDlH57jbeUQem2IpqPq9kLJH+w==}
|
||||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.57.0 || ^9.0.0
|
eslint: ^8.57.0 || ^9.0.0
|
||||||
@ -4579,8 +4634,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==}
|
resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==}
|
||||||
engines: {node: '>=0.6.0'}
|
engines: {node: '>=0.6.0'}
|
||||||
|
|
||||||
virtua@0.42.2:
|
virtua@0.42.3:
|
||||||
resolution: {integrity: sha512-9ZQ1HtN6IhJ9tEG6NenjbcSPGpnbd8QeHLEjPadZ1rMVX7T4g+9QybetSeECNq2q2sXh799xw4mrMCYKx4HXmQ==}
|
resolution: {integrity: sha512-5FoAKcEvh05qsUF97Yz42SWJ7bwnPExjUYHGuoxz1EUtfWtaOgXaRwnylJbDpA0QcH1rKvJ2qsGRi9MK1fpQbg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: '>=16.14.0'
|
react: '>=16.14.0'
|
||||||
react-dom: '>=16.14.0'
|
react-dom: '>=16.14.0'
|
||||||
@ -5618,9 +5673,9 @@ snapshots:
|
|||||||
mkdirp: 1.0.4
|
mkdirp: 1.0.4
|
||||||
rimraf: 3.0.2
|
rimraf: 3.0.2
|
||||||
|
|
||||||
'@oxc-project/runtime@0.82.3': {}
|
'@oxc-project/runtime@0.87.0': {}
|
||||||
|
|
||||||
'@oxc-project/types@0.82.3': {}
|
'@oxc-project/types@0.87.0': {}
|
||||||
|
|
||||||
'@pkgjs/parseargs@0.11.0':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
optional: true
|
optional: true
|
||||||
@ -5650,51 +5705,51 @@ snapshots:
|
|||||||
|
|
||||||
'@remusao/trie@2.1.0': {}
|
'@remusao/trie@2.1.0': {}
|
||||||
|
|
||||||
'@rolldown/binding-android-arm64@1.0.0-beta.34':
|
'@rolldown/binding-android-arm64@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-darwin-arm64@1.0.0-beta.34':
|
'@rolldown/binding-darwin-arm64@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-darwin-x64@1.0.0-beta.34':
|
'@rolldown/binding-darwin-x64@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-freebsd-x64@1.0.0-beta.34':
|
'@rolldown/binding-freebsd-x64@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.34':
|
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.34':
|
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-linux-x64-musl@1.0.0-beta.34':
|
'@rolldown/binding-linux-x64-musl@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-openharmony-arm64@1.0.0-beta.34':
|
'@rolldown/binding-openharmony-arm64@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-wasm32-wasi@1.0.0-beta.34':
|
'@rolldown/binding-wasm32-wasi@1.0.0-beta.36':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@napi-rs/wasm-runtime': 1.0.3
|
'@napi-rs/wasm-runtime': 1.0.3
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.34':
|
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.36':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@rolldown/pluginutils@1.0.0-beta.34': {}
|
'@rolldown/pluginutils@1.0.0-beta.36': {}
|
||||||
|
|
||||||
'@rtsao/scc@1.1.0': {}
|
'@rtsao/scc@1.1.0': {}
|
||||||
|
|
||||||
@ -5746,11 +5801,11 @@ snapshots:
|
|||||||
|
|
||||||
'@total-typescript/ts-reset@0.6.1': {}
|
'@total-typescript/ts-reset@0.6.1': {}
|
||||||
|
|
||||||
'@ts-morph/common@0.27.0':
|
'@ts-morph/common@0.28.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
fast-glob: 3.3.3
|
|
||||||
minimatch: 10.0.3
|
minimatch: 10.0.3
|
||||||
path-browserify: 1.0.1
|
path-browserify: 1.0.1
|
||||||
|
tinyglobby: 0.2.14
|
||||||
|
|
||||||
'@tybys/wasm-util@0.10.0':
|
'@tybys/wasm-util@0.10.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5855,14 +5910,14 @@ snapshots:
|
|||||||
'@types/node': 24.3.0
|
'@types/node': 24.3.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
|
'@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.12.1
|
'@eslint-community/regexpp': 4.12.1
|
||||||
'@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/scope-manager': 8.42.0
|
'@typescript-eslint/scope-manager': 8.43.0
|
||||||
'@typescript-eslint/type-utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/visitor-keys': 8.42.0
|
'@typescript-eslint/visitor-keys': 8.43.0
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 7.0.5
|
ignore: 7.0.5
|
||||||
@ -5872,12 +5927,12 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
|
'@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 8.42.0
|
'@typescript-eslint/scope-manager': 8.43.0
|
||||||
'@typescript-eslint/types': 8.42.0
|
'@typescript-eslint/types': 8.43.0
|
||||||
'@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
|
'@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/visitor-keys': 8.42.0
|
'@typescript-eslint/visitor-keys': 8.43.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
typescript: 5.9.2
|
typescript: 5.9.2
|
||||||
@ -5893,20 +5948,38 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
debug: 4.4.1
|
||||||
|
typescript: 5.9.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/scope-manager@8.42.0':
|
'@typescript-eslint/scope-manager@8.42.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.42.0
|
'@typescript-eslint/types': 8.42.0
|
||||||
'@typescript-eslint/visitor-keys': 8.42.0
|
'@typescript-eslint/visitor-keys': 8.42.0
|
||||||
|
|
||||||
|
'@typescript-eslint/scope-manager@8.43.0':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
'@typescript-eslint/visitor-keys': 8.43.0
|
||||||
|
|
||||||
'@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
|
'@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.9.2
|
typescript: 5.9.2
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
|
'@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.42.0
|
typescript: 5.9.2
|
||||||
'@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
|
|
||||||
'@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
'@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
|
||||||
|
'@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||||
@ -5916,6 +5989,8 @@ snapshots:
|
|||||||
|
|
||||||
'@typescript-eslint/types@8.42.0': {}
|
'@typescript-eslint/types@8.42.0': {}
|
||||||
|
|
||||||
|
'@typescript-eslint/types@8.43.0': {}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
|
'@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
|
'@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
|
||||||
@ -5932,6 +6007,22 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
|
||||||
|
'@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
'@typescript-eslint/visitor-keys': 8.43.0
|
||||||
|
debug: 4.4.1
|
||||||
|
fast-glob: 3.3.3
|
||||||
|
is-glob: 4.0.3
|
||||||
|
minimatch: 9.0.5
|
||||||
|
semver: 7.7.2
|
||||||
|
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||||
|
typescript: 5.9.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
|
'@typescript-eslint/utils@8.42.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
||||||
@ -5943,11 +6034,27 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
|
||||||
|
dependencies:
|
||||||
|
'@eslint-community/eslint-utils': 4.8.0(eslint@9.35.0)
|
||||||
|
'@typescript-eslint/scope-manager': 8.43.0
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
'@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
|
||||||
|
eslint: 9.35.0
|
||||||
|
typescript: 5.9.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/visitor-keys@8.42.0':
|
'@typescript-eslint/visitor-keys@8.42.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.42.0
|
'@typescript-eslint/types': 8.42.0
|
||||||
eslint-visitor-keys: 4.2.1
|
eslint-visitor-keys: 4.2.1
|
||||||
|
|
||||||
|
'@typescript-eslint/visitor-keys@8.43.0':
|
||||||
|
dependencies:
|
||||||
|
'@typescript-eslint/types': 8.43.0
|
||||||
|
eslint-visitor-keys: 4.2.1
|
||||||
|
|
||||||
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
|
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@ -6928,7 +7035,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
electron-vite@4.0.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
electron-vite@4.0.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.3
|
'@babel/core': 7.28.3
|
||||||
'@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3)
|
'@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.3)
|
||||||
@ -6936,7 +7043,7 @@ snapshots:
|
|||||||
esbuild: 0.25.9
|
esbuild: 0.25.9
|
||||||
magic-string: 0.30.17
|
magic-string: 0.30.17
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@ -7135,7 +7242,7 @@ snapshots:
|
|||||||
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.35.0):
|
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.35.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
||||||
resolve.exports: 2.0.3
|
resolve.exports: 2.0.3
|
||||||
|
|
||||||
eslint-import-resolver-node@0.3.9:
|
eslint-import-resolver-node@0.3.9:
|
||||||
@ -7157,22 +7264,22 @@ snapshots:
|
|||||||
tinyglobby: 0.2.14
|
tinyglobby: 0.2.14
|
||||||
unrs-resolver: 1.11.1
|
unrs-resolver: 1.11.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0):
|
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.35.0)
|
eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.35.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0):
|
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rtsao/scc': 1.1.0
|
'@rtsao/scc': 1.1.0
|
||||||
array-includes: 3.1.9
|
array-includes: 3.1.9
|
||||||
@ -7183,7 +7290,7 @@ snapshots:
|
|||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
eslint-import-resolver-node: 0.3.9
|
eslint-import-resolver-node: 0.3.9
|
||||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.35.0)
|
||||||
hasown: 2.0.2
|
hasown: 2.0.2
|
||||||
is-core-module: 2.16.1
|
is-core-module: 2.16.1
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@ -7195,7 +7302,7 @@ snapshots:
|
|||||||
string.prototype.trimend: 1.0.9
|
string.prototype.trimend: 1.0.9
|
||||||
tsconfig-paths: 3.15.0
|
tsconfig-paths: 3.15.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-typescript
|
- eslint-import-resolver-typescript
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
@ -8835,41 +8942,41 @@ snapshots:
|
|||||||
sprintf-js: 1.1.3
|
sprintf-js: 1.1.3
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1):
|
rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
fdir: 6.5.0(picomatch@4.0.3)
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
lightningcss: 1.30.1
|
lightningcss: 1.30.1
|
||||||
picomatch: 4.0.3
|
picomatch: 4.0.3
|
||||||
postcss: 8.5.6
|
postcss: 8.5.6
|
||||||
rolldown: 1.0.0-beta.34
|
rolldown: 1.0.0-beta.36
|
||||||
tinyglobby: 0.2.14
|
tinyglobby: 0.2.15
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 24.3.0
|
'@types/node': 24.3.0
|
||||||
esbuild: 0.25.9
|
esbuild: 0.25.9
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
yaml: 2.8.1
|
yaml: 2.8.1
|
||||||
|
|
||||||
rolldown@1.0.0-beta.34:
|
rolldown@1.0.0-beta.36:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@oxc-project/runtime': 0.82.3
|
'@oxc-project/runtime': 0.87.0
|
||||||
'@oxc-project/types': 0.82.3
|
'@oxc-project/types': 0.87.0
|
||||||
'@rolldown/pluginutils': 1.0.0-beta.34
|
'@rolldown/pluginutils': 1.0.0-beta.36
|
||||||
ansis: 4.1.0
|
ansis: 4.1.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@rolldown/binding-android-arm64': 1.0.0-beta.34
|
'@rolldown/binding-android-arm64': 1.0.0-beta.36
|
||||||
'@rolldown/binding-darwin-arm64': 1.0.0-beta.34
|
'@rolldown/binding-darwin-arm64': 1.0.0-beta.36
|
||||||
'@rolldown/binding-darwin-x64': 1.0.0-beta.34
|
'@rolldown/binding-darwin-x64': 1.0.0-beta.36
|
||||||
'@rolldown/binding-freebsd-x64': 1.0.0-beta.34
|
'@rolldown/binding-freebsd-x64': 1.0.0-beta.36
|
||||||
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.34
|
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.36
|
||||||
'@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.34
|
'@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.36
|
||||||
'@rolldown/binding-linux-arm64-musl': 1.0.0-beta.34
|
'@rolldown/binding-linux-arm64-musl': 1.0.0-beta.36
|
||||||
'@rolldown/binding-linux-x64-gnu': 1.0.0-beta.34
|
'@rolldown/binding-linux-x64-gnu': 1.0.0-beta.36
|
||||||
'@rolldown/binding-linux-x64-musl': 1.0.0-beta.34
|
'@rolldown/binding-linux-x64-musl': 1.0.0-beta.36
|
||||||
'@rolldown/binding-openharmony-arm64': 1.0.0-beta.34
|
'@rolldown/binding-openharmony-arm64': 1.0.0-beta.36
|
||||||
'@rolldown/binding-wasm32-wasi': 1.0.0-beta.34
|
'@rolldown/binding-wasm32-wasi': 1.0.0-beta.36
|
||||||
'@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.34
|
'@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.36
|
||||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.34
|
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.36
|
||||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.34
|
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.36
|
||||||
|
|
||||||
run-applescript@7.0.0: {}
|
run-applescript@7.0.0: {}
|
||||||
|
|
||||||
@ -9278,6 +9385,11 @@ snapshots:
|
|||||||
fdir: 6.5.0(picomatch@4.0.3)
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
picomatch: 4.0.3
|
picomatch: 4.0.3
|
||||||
|
|
||||||
|
tinyglobby@0.2.15:
|
||||||
|
dependencies:
|
||||||
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
|
picomatch: 4.0.3
|
||||||
|
|
||||||
tinyld@1.3.4: {}
|
tinyld@1.3.4: {}
|
||||||
|
|
||||||
tldts-core@7.0.12: {}
|
tldts-core@7.0.12: {}
|
||||||
@ -9311,9 +9423,9 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.9.2
|
typescript: 5.9.2
|
||||||
|
|
||||||
ts-morph@26.0.0:
|
ts-morph@27.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ts-morph/common': 0.27.0
|
'@ts-morph/common': 0.28.0
|
||||||
code-block-writer: 13.0.3
|
code-block-writer: 13.0.3
|
||||||
|
|
||||||
tsconfig-paths@3.15.0:
|
tsconfig-paths@3.15.0:
|
||||||
@ -9369,12 +9481,12 @@ snapshots:
|
|||||||
possible-typed-array-names: 1.1.0
|
possible-typed-array-names: 1.1.0
|
||||||
reflect.getprototypeof: 1.0.10
|
reflect.getprototypeof: 1.0.10
|
||||||
|
|
||||||
typescript-eslint@8.42.0(eslint@9.35.0)(typescript@5.9.2):
|
typescript-eslint@8.43.0(eslint@9.35.0)(typescript@5.9.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/eslint-plugin': 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/parser': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
'@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
|
'@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
|
||||||
'@typescript-eslint/utils': 8.42.0(eslint@9.35.0)(typescript@5.9.2)
|
'@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
|
||||||
eslint: 9.35.0
|
eslint: 9.35.0
|
||||||
typescript: 5.9.2
|
typescript: 5.9.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -9494,21 +9606,21 @@ snapshots:
|
|||||||
extsprintf: 1.4.1
|
extsprintf: 1.4.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
virtua@0.42.2(solid-js@1.9.9):
|
virtua@0.42.3(solid-js@1.9.9):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
solid-js: 1.9.9
|
solid-js: 1.9.9
|
||||||
|
|
||||||
vite-dev-rpc@1.1.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
vite-dev-rpc@1.1.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
birpc: 2.5.0
|
birpc: 2.5.0
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
vite-hot-client: 2.1.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
vite-hot-client: 2.1.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
||||||
|
|
||||||
vite-hot-client@2.1.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
vite-hot-client@2.1.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
|
|
||||||
vite-plugin-inspect@11.3.3(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
vite-plugin-inspect@11.3.3(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
ansis: 4.1.0
|
ansis: 4.1.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
@ -9518,8 +9630,8 @@ snapshots:
|
|||||||
perfect-debounce: 2.0.0
|
perfect-debounce: 2.0.0
|
||||||
sirv: 3.0.1
|
sirv: 3.0.1
|
||||||
unplugin-utils: 0.3.0
|
unplugin-utils: 0.3.0
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
vite-dev-rpc: 1.1.0(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
vite-dev-rpc: 1.1.0(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@ -9527,7 +9639,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
lib-esm: 0.4.2
|
lib-esm: 0.4.2
|
||||||
|
|
||||||
vite-plugin-solid@2.11.8(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))(solid-js@1.9.9):
|
vite-plugin-solid@2.11.8(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))(solid-js@1.9.9):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.3
|
'@babel/core': 7.28.3
|
||||||
'@types/babel__core': 7.20.5
|
'@types/babel__core': 7.20.5
|
||||||
@ -9535,14 +9647,14 @@ snapshots:
|
|||||||
merge-anything: 5.1.7
|
merge-anything: 5.1.7
|
||||||
solid-js: 1.9.9
|
solid-js: 1.9.9
|
||||||
solid-refresh: 0.6.3(solid-js@1.9.9)
|
solid-refresh: 0.6.3(solid-js@1.9.9)
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
vitefu: 1.1.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
vitefu: 1.1.1(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
vitefu@1.1.1(rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
vitefu@1.1.1(rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: rolldown-vite@7.1.5(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
vite: rolldown-vite@7.1.8(@types/node@24.3.0)(esbuild@0.25.9)(yaml@2.8.1)
|
||||||
|
|
||||||
vudio@2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d): {}
|
vudio@2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d): {}
|
||||||
|
|
||||||
|
|||||||
@ -150,6 +150,12 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "تعديلات المظهر",
|
"label": "تعديلات المظهر",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "عنوان نافذة مخصص",
|
||||||
|
"prompt": {
|
||||||
|
"placeholder": "مثال: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "الافتراضي",
|
"default": "الافتراضي",
|
||||||
"force-show": "اجبار الظهور",
|
"force-show": "اجبار الظهور",
|
||||||
@ -414,6 +420,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "اختر جهاز"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "يجعل الأغنية تبدأ في وضع \"الإيقاف المؤقت\"",
|
"description": "يجعل الأغنية تبدأ في وضع \"الإيقاف المؤقت\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -846,6 +857,18 @@
|
|||||||
"description": "يضيف أداة TouchBar لمستخدمي macOS",
|
"description": "يضيف أداة TouchBar لمستخدمي macOS",
|
||||||
"name": "شريط اللمس (TouchBar)"
|
"name": "شريط اللمس (TouchBar)"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"menu": {
|
||||||
|
"type": {
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "زجاجي",
|
||||||
|
"mica": "حجري",
|
||||||
|
"none": "لاشيء"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "مشغل شفاف"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "التكامل مع الإضافة\" Tuna\" الخاصة بـ OBS",
|
"description": "التكامل مع الإضافة\" Tuna\" الخاصة بـ OBS",
|
||||||
"name": "إضافة Tuna OBS"
|
"name": "إضافة Tuna OBS"
|
||||||
|
|||||||
@ -150,6 +150,13 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Визуални настройки",
|
"label": "Визуални настройки",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Персонализирано заглавие на прозорец",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Въведи персонализирано заглавие: (остави празно за да изключиш)",
|
||||||
|
"placeholder": "Пример: Youtube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "По подразбиране",
|
"default": "По подразбиране",
|
||||||
"force-show": "Принудително показване",
|
"force-show": "Принудително показване",
|
||||||
@ -414,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Конфигуриране на изходно медийно устройство за песни",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Избери устройство"
|
||||||
|
},
|
||||||
|
"name": "Персонализирано изходно устройство",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Избери изходното медийно устройство",
|
||||||
|
"title": "Избери изходно устройство"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Започва песента в паузиран режим",
|
"description": "Започва песента в паузиран режим",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -437,7 +457,15 @@
|
|||||||
"hide-duration-left": "Скрий оставащото време",
|
"hide-duration-left": "Скрий оставащото време",
|
||||||
"hide-github-button": "Скрий бутона за линк към GitHub",
|
"hide-github-button": "Скрий бутона за линк към GitHub",
|
||||||
"play-on-youtube-music": "Възпроизведи в YouTube Music",
|
"play-on-youtube-music": "Възпроизведи в YouTube Music",
|
||||||
"set-inactivity-timeout": "Задай таймаут за неактивност"
|
"set-inactivity-timeout": "Задай таймаут за неактивност",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Статус текст",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Слушам {artist}",
|
||||||
|
"title": "Слушам {song title}",
|
||||||
|
"youtube-music": "Слушам YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Дискорд Разширен статус",
|
"name": "Дискорд Разширен статус",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -729,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Въведете ListenBrainz потребителски токен"
|
"token": "Въведете ListenBrainz потребителски токен"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Използвай алтернативни изпълнители",
|
||||||
"scrobble-alternative-title": "Използвай алтернативни заглавия",
|
"scrobble-alternative-title": "Използвай алтернативни заглавия",
|
||||||
"scrobble-other-media": "Скробъл на други медии"
|
"scrobble-other-media": "Скробъл на други медии"
|
||||||
},
|
},
|
||||||
@ -814,6 +843,14 @@
|
|||||||
"label": "Направете текстовете перфектно синхронизирани",
|
"label": "Направете текстовете перфектно синхронизирани",
|
||||||
"tooltip": "Изчислете до милисекунда показването на следващия ред (може да има малък ефект върху производителността)"
|
"tooltip": "Изчислете до милисекунда показването на следващия ред (може да има малък ефект върху производителността)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Предпочитан доставчик",
|
||||||
|
"none": {
|
||||||
|
"label": "Празно",
|
||||||
|
"tooltip": "Без предпочитан доставчик"
|
||||||
|
},
|
||||||
|
"tooltip": "Изберете доставчик по подразбиране"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Романизиране на текстовете",
|
"label": "Романизиране на текстовете",
|
||||||
"tooltip": "Ако текстовете са на друг език, опитайте да покажете латинска версия."
|
"tooltip": "Ако текстовете са на друг език, опитайте да покажете латинска версия."
|
||||||
@ -846,6 +883,27 @@
|
|||||||
"description": "Добавя уиджет за TouchBar за потребители на macOS",
|
"description": "Добавя уиджет за TouchBar за потребители на macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Прави прозореца на приложението прозрачен",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Прозрачност",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Тип",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Акрил",
|
||||||
|
"mica": "Слюда",
|
||||||
|
"none": "Празно",
|
||||||
|
"tabbed": "С раздели"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Прозрачен плейър"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Интеграция с плъгина Tuna за OBS",
|
"description": "Интеграция с плъгина Tuna за OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Configura un dispositiu multimèdia de sortida personalitzat per a cançons",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Selecciona un dispositiu"
|
||||||
|
},
|
||||||
|
"name": "Dispositiu de sortida personalitzat",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Trieu el dispositiu de sortida que s'utilitzarà",
|
||||||
|
"title": "Escull el dispositiu de sortida"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Fa que la cançó comenci en mode «pausat»",
|
"description": "Fa que la cançó comenci en mode «pausat»",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Amaga la durada restant",
|
"hide-duration-left": "Amaga la durada restant",
|
||||||
"hide-github-button": "Amaga el botó de l'enllaç a GitHub",
|
"hide-github-button": "Amaga el botó de l'enllaç a GitHub",
|
||||||
"play-on-youtube-music": "Reprodueix a YouTube Music",
|
"play-on-youtube-music": "Reprodueix a YouTube Music",
|
||||||
"set-inactivity-timeout": "Estableix temps d'espera d'inactivitat"
|
"set-inactivity-timeout": "Estableix temps d'espera d'inactivitat",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Text d'estat",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Escoltant {artist}",
|
||||||
|
"title": "Escoltant {song title}",
|
||||||
|
"youtube-music": "Escoltant YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Estat d'activitat de Discord",
|
"name": "Estat d'activitat de Discord",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -615,10 +636,10 @@
|
|||||||
"name": "Navegació",
|
"name": "Navegació",
|
||||||
"templates": {
|
"templates": {
|
||||||
"back": {
|
"back": {
|
||||||
"title": "Tornar a la pàgina anterior"
|
"title": "Pàgina anterior"
|
||||||
},
|
},
|
||||||
"forward": {
|
"forward": {
|
||||||
"title": "Anar a la pàgina següent"
|
"title": "Pàgina següent"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Introduir token d'usuari de ListenBrainz"
|
"token": "Introduir token d'usuari de ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Utilitza artistes alternatius",
|
||||||
"scrobble-alternative-title": "Useu títols alternatius",
|
"scrobble-alternative-title": "Useu títols alternatius",
|
||||||
"scrobble-other-media": "Scrobble amb altres mitjans"
|
"scrobble-other-media": "Scrobble amb altres mitjans"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Fes que les lletres es sincronitzin a la perfecció",
|
"label": "Fes que les lletres es sincronitzin a la perfecció",
|
||||||
"tooltip": "Calcula al mil·lisegon l'aparició de la següent línia (pot tenir un petit impacte en el rendiment)"
|
"tooltip": "Calcula al mil·lisegon l'aparició de la següent línia (pot tenir un petit impacte en el rendiment)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Proveïdor preferit",
|
||||||
|
"none": {
|
||||||
|
"label": "Cap",
|
||||||
|
"tooltip": "Cap proveïdor preferit"
|
||||||
|
},
|
||||||
|
"tooltip": "Trieu el proveïdor predeterminat que voleu utilitzar"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanitza les lletres",
|
"label": "Romanitza les lletres",
|
||||||
"tooltip": "Si les lletres són en un idioma diferent, intenta mostrar la versió amb alfabet llatí."
|
"tooltip": "Si les lletres són en un idioma diferent, intenta mostrar la versió amb alfabet llatí."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Afegeix un giny a la Touch Bar per usuaris de macOS",
|
"description": "Afegeix un giny a la Touch Bar per usuaris de macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Fa la finestra de l'aplicació transparent",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacitat",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipus",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrílic",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Cap",
|
||||||
|
"tabbed": "En pestanyes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Reproductor Transparent"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integració amb l'extensió «Tuna» del OBS",
|
"description": "Integració amb l'extensió «Tuna» del OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
"load-all": "Načítání všech pluginů",
|
"load-all": "Načítání všech pluginů",
|
||||||
"load-failed": "Selhalo načtení \"{{pluginName}}\" pluginu",
|
"load-failed": "Selhalo načtení \"{{pluginName}}\" pluginu",
|
||||||
"loaded": "Plugin \"{{pluginName}}\" načten",
|
"loaded": "Plugin \"{{pluginName}}\" načten",
|
||||||
"unload-failed": "Selhalo unload \"{{pluginName}}\" pluginu",
|
"unload-failed": "Selhalo vypnutí \"{{pluginName}}\" pluginu",
|
||||||
"unloaded": "Plugin {{pluginName}} byl odnačten"
|
"unloaded": "Plugin {{pluginName}} byl odnačten"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -288,6 +288,7 @@
|
|||||||
},
|
},
|
||||||
"amuse": {
|
"amuse": {
|
||||||
"description": "Přídá YouTube Music podporu pro Amuse ‚právě hraje‘ widget od 6K Labs",
|
"description": "Přídá YouTube Music podporu pro Amuse ‚právě hraje‘ widget od 6K Labs",
|
||||||
|
"name": "Amuse",
|
||||||
"response": {
|
"response": {
|
||||||
"query": "Server Amuse API běží. Pošli požadavek typu GET na /query, aby ses dozvěděl info o písničce."
|
"query": "Server Amuse API běží. Pošli požadavek typu GET na /query, aby ses dozvěděl info o písničce."
|
||||||
}
|
}
|
||||||
@ -351,6 +352,7 @@
|
|||||||
"label": "Port"
|
"label": "Port"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"name": "Autorizační Proxy adaptér",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
"hostname": {
|
"hostname": {
|
||||||
"label": "Zadejte hostname lokálního proxy serveru (vyžaduje restart):",
|
"label": "Zadejte hostname lokálního proxy serveru (vyžaduje restart):",
|
||||||
@ -419,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Nastavte vlastní výstupní zařízení pro skladby",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Vyberte zařízení"
|
||||||
|
},
|
||||||
|
"name": "Vlastní výstupní zařízení",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Vyberte zařízení pro výstup zvuku",
|
||||||
|
"title": "Vyberte výstupní zařízení"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Spustí písničku v režimu \"pozastaveno\"",
|
"description": "Spustí písničku v režimu \"pozastaveno\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -442,7 +457,15 @@
|
|||||||
"hide-duration-left": "Skrýt zbývající duration",
|
"hide-duration-left": "Skrýt zbývající duration",
|
||||||
"hide-github-button": "Skrýt tlačítko s odkazem na GitHub",
|
"hide-github-button": "Skrýt tlačítko s odkazem na GitHub",
|
||||||
"play-on-youtube-music": "Hrát na YouTube Music",
|
"play-on-youtube-music": "Hrát na YouTube Music",
|
||||||
"set-inactivity-timeout": "Nastavit timeout pro neaktivitu"
|
"set-inactivity-timeout": "Nastavit timeout pro neaktivitu",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Text statusu",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Poslouchám: {artist}",
|
||||||
|
"title": "Poslouchám {song title}",
|
||||||
|
"youtube-music": "Poslouchám YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Persence",
|
"name": "Discord Rich Persence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -643,7 +666,8 @@
|
|||||||
"name": "Oznámení"
|
"name": "Oznámení"
|
||||||
},
|
},
|
||||||
"performance-improvement": {
|
"performance-improvement": {
|
||||||
"description": "Zlepšit výkon povolením experimentálních skriptů"
|
"description": "Zlepšit výkon povolením experimentálních skriptů",
|
||||||
|
"name": "Zlepšení výkonu [Beta]"
|
||||||
},
|
},
|
||||||
"picture-in-picture": {
|
"picture-in-picture": {
|
||||||
"description": "Povoluje switch aplikaci do režimu obrázek v obrázku",
|
"description": "Povoluje switch aplikaci do režimu obrázek v obrázku",
|
||||||
@ -733,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Vložte Listenbrainz user token"
|
"token": "Vložte Listenbrainz user token"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Použij alternativní umělce",
|
||||||
"scrobble-alternative-title": "Používat alternativní názvy",
|
"scrobble-alternative-title": "Používat alternativní názvy",
|
||||||
"scrobble-other-media": "Scrobble jiné média"
|
"scrobble-other-media": "Scrobble jiné média"
|
||||||
},
|
},
|
||||||
@ -795,20 +820,44 @@
|
|||||||
"line-effect": {
|
"line-effect": {
|
||||||
"label": "Efekt řádku",
|
"label": "Efekt řádku",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"fancy": {
|
||||||
|
"label": "Luxusní",
|
||||||
|
"tooltip": "Použijte velké, aplikací inspirované efekty na aktuální řádek"
|
||||||
|
},
|
||||||
|
"focus": {
|
||||||
|
"label": "Soustředění",
|
||||||
|
"tooltip": "Nechat pouze aktuální řádek bílý"
|
||||||
|
},
|
||||||
"offset": {
|
"offset": {
|
||||||
"label": "Posun"
|
"label": "Posun",
|
||||||
|
"tooltip": "Posunout aktuální řádek doprava"
|
||||||
|
},
|
||||||
|
"scale": {
|
||||||
|
"label": "Zvětšení",
|
||||||
|
"tooltip": "Změnit velikost aktuálního řádku"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"tooltip": "Vyberte efekt pro aktuální řádek"
|
||||||
},
|
},
|
||||||
"precise-timing": {
|
"precise-timing": {
|
||||||
|
"label": "Dokonale synchronizovat texty",
|
||||||
"tooltip": "Vypočítat zobrazení dalšího řádku na milisekundu (může mít menší dopad na výkon)"
|
"tooltip": "Vypočítat zobrazení dalšího řádku na milisekundu (může mít menší dopad na výkon)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Preferovaný poskytovatel",
|
||||||
|
"none": {
|
||||||
|
"label": "Žádný",
|
||||||
|
"tooltip": "Žádný preferovaný poskytovatel"
|
||||||
|
},
|
||||||
|
"tooltip": "Zvolte výchozího poskytovatele"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanizovat texty",
|
"label": "Romanizovat texty",
|
||||||
"tooltip": "Pokud je text v jiném jazyce, zkusit zobrazit verzi v latince."
|
"tooltip": "Pokud je text v jiném jazyce, zkusit zobrazit verzi v latince."
|
||||||
},
|
},
|
||||||
"show-lyrics-even-if-inexact": {
|
"show-lyrics-even-if-inexact": {
|
||||||
"label": "Zobrazit i nepřesné texty"
|
"label": "Zobrazit i nepřesné texty",
|
||||||
|
"tooltip": "Pokud se píseň nenajde, plugin to zkusí znovu s jiným vyhledávacím výrazem.\nVýsledek druhého pokusu nemusí být přesný."
|
||||||
},
|
},
|
||||||
"show-time-codes": {
|
"show-time-codes": {
|
||||||
"label": "Zobrazit časové kódy",
|
"label": "Zobrazit časové kódy",
|
||||||
@ -817,7 +866,8 @@
|
|||||||
},
|
},
|
||||||
"name": "Synchronizované texty",
|
"name": "Synchronizované texty",
|
||||||
"refetch-btn": {
|
"refetch-btn": {
|
||||||
"fetching": "Získávání..."
|
"fetching": "Získávání...",
|
||||||
|
"normal": "Znovu načíst texty"
|
||||||
},
|
},
|
||||||
"warnings": {
|
"warnings": {
|
||||||
"duration-mismatch": "⚠️ - Text nemusí být synchronizován kvůli neshodě v délce trvání.",
|
"duration-mismatch": "⚠️ - Text nemusí být synchronizován kvůli neshodě v délce trvání.",
|
||||||
@ -833,10 +883,35 @@
|
|||||||
"description": "Přidává Touch Bar widget pro macOS uživatele",
|
"description": "Přidává Touch Bar widget pro macOS uživatele",
|
||||||
"name": "Touch Bar"
|
"name": "Touch Bar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Zprůhlední okno aplikace",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Průhlednost",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Typ",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Akryl",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Žádné",
|
||||||
|
"tabbed": "Záložkovaný"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Průhledný přehrávač"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integrace s OBS's plugin Tuna",
|
"description": "Integrace s OBS's plugin Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
},
|
},
|
||||||
|
"unobtrusive-player": {
|
||||||
|
"description": "Zabrání tomu, aby se přehrávač objevil při hraní písně",
|
||||||
|
"name": "Nepřekážející přehrávač"
|
||||||
|
},
|
||||||
"video-toggle": {
|
"video-toggle": {
|
||||||
"description": "Přidává tlačítko k switch mezi video/písničko režimem. Může také odstranit celou video kartu",
|
"description": "Přidává tlačítko k switch mezi video/písničko režimem. Může také odstranit celou video kartu",
|
||||||
"menu": {
|
"menu": {
|
||||||
|
|||||||
@ -8,7 +8,8 @@
|
|||||||
"load-all": "Indlæser alle plugins",
|
"load-all": "Indlæser alle plugins",
|
||||||
"load-failed": "Fejl ved indlæsning af plugin \"{{pluginName}}\"",
|
"load-failed": "Fejl ved indlæsning af plugin \"{{pluginName}}\"",
|
||||||
"loaded": "Plugin \"{{pluginName}}\" indlæst",
|
"loaded": "Plugin \"{{pluginName}}\" indlæst",
|
||||||
"unload-failed": "Fejl ved unload af plugin \"{{pluginName}}\""
|
"unload-failed": "Fejl ved aflæsning af plugin \"{{pluginNavn}}\"",
|
||||||
|
"unloaded": "Plugin \"{{pluginNavn}}\" aflæssede"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -98,6 +99,7 @@
|
|||||||
"auto-reset-app-cache": "Nulstil app cache når appen starter",
|
"auto-reset-app-cache": "Nulstil app cache når appen starter",
|
||||||
"disable-hardware-acceleration": "Deaktiver hardware acceleration",
|
"disable-hardware-acceleration": "Deaktiver hardware acceleration",
|
||||||
"edit-config-json": "Rediger config.json",
|
"edit-config-json": "Rediger config.json",
|
||||||
|
"override-user-agent": "Erstat Bruger-Agent",
|
||||||
"restart-on-config-changes": "Genstart ved config ændringer",
|
"restart-on-config-changes": "Genstart ved config ændringer",
|
||||||
"set-proxy": {
|
"set-proxy": {
|
||||||
"label": "Indstil proxy",
|
"label": "Indstil proxy",
|
||||||
@ -130,22 +132,34 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resume-on-start": "Genoptag sidste sang når appen starter",
|
"resume-on-start": "Genoptag sidste sang når appen starter",
|
||||||
|
"single-instance-lock": "Enkeltinstans lås",
|
||||||
"start-at-login": "Start ved login",
|
"start-at-login": "Start ved login",
|
||||||
"starting-page": {
|
"starting-page": {
|
||||||
"label": "Startside",
|
"label": "Startside",
|
||||||
"unset": "Ikke valgt"
|
"unset": "Ikke valgt"
|
||||||
},
|
},
|
||||||
"tray": {
|
"tray": {
|
||||||
|
"label": "Bakke",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"disabled": "Deaktiveret",
|
"disabled": "Deaktiveret",
|
||||||
|
"enabled-and-hide-app": "Bakke aktiveret, og skjul programvindue",
|
||||||
"enabled-and-show-app": "Aktiver og vis app",
|
"enabled-and-show-app": "Aktiver og vis app",
|
||||||
"play-pause-on-click": "Start/Stop ved klik"
|
"play-pause-on-click": "Start/Stop ved klik"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
|
"label": "Visuelle Justeringer",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Tilpasset vindues titel",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Indtast tilpasset vindues titel: (lad være top for deaktiveret)",
|
||||||
|
"placeholder": "Eksempel: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Standard",
|
"default": "Standard",
|
||||||
|
"force-show": "Tving visning",
|
||||||
"hide": "Skjul",
|
"hide": "Skjul",
|
||||||
"label": "Like knapper"
|
"label": "Like knapper"
|
||||||
},
|
},
|
||||||
@ -153,11 +167,15 @@
|
|||||||
"theme": {
|
"theme": {
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"button": {
|
"button": {
|
||||||
|
"cancel": "Annuller",
|
||||||
"remove": "Fjern"
|
"remove": "Fjern"
|
||||||
}
|
},
|
||||||
|
"remove-theme": "Er du sikker på at du til fjerne det brugerdefinerede tema?",
|
||||||
|
"remove-theme-message": "Dette vil fjerne det brugerdefinerede tema"
|
||||||
},
|
},
|
||||||
"label": "Tema",
|
"label": "Tema",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"import-css-file": "Importer brugerdefinerede CSS fil",
|
||||||
"no-theme": "Intet tema"
|
"no-theme": "Intet tema"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -173,6 +191,7 @@
|
|||||||
"view": {
|
"view": {
|
||||||
"label": "Vis",
|
"label": "Vis",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"force-reload": "Tving Genindlæs",
|
||||||
"reload": "Genindlæs",
|
"reload": "Genindlæs",
|
||||||
"zoom-in": "Zoom ind",
|
"zoom-in": "Zoom ind",
|
||||||
"zoom-out": "Zoom ud"
|
"zoom-out": "Zoom ud"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Einen maßgeschneiderten Ausgabemedienträger für Lieder einrichten",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Gerät auswählen"
|
||||||
|
},
|
||||||
|
"name": "Benutzerdefiniertes Ausgabegerät",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Wähle das Ausgabegerät, welches benutzt werden soll",
|
||||||
|
"title": "Wähle ein Ausgabegerät"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Startet Lied im pausierten Modus",
|
"description": "Startet Lied im pausierten Modus",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Verbleibende Zeit verstecken",
|
"hide-duration-left": "Verbleibende Zeit verstecken",
|
||||||
"hide-github-button": "Knopf mit Link zu GitHub ausblenden",
|
"hide-github-button": "Knopf mit Link zu GitHub ausblenden",
|
||||||
"play-on-youtube-music": "Auf YouTube Music abspielen",
|
"play-on-youtube-music": "Auf YouTube Music abspielen",
|
||||||
"set-inactivity-timeout": "Inaktivitätstimeout setzen"
|
"set-inactivity-timeout": "Inaktivitätstimeout setzen",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Status Text",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Hört {artist} zu",
|
||||||
|
"title": "Du hörst {song title}",
|
||||||
|
"youtube-music": "Hört YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discords Aktivitätsstatus",
|
"name": "Discords Aktivitätsstatus",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "ListenBrainz-Benutzer-Token eintragen"
|
"token": "ListenBrainz-Benutzer-Token eintragen"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Benutze Alternative Künstler",
|
||||||
"scrobble-alternative-title": "Nutze alternative Titel",
|
"scrobble-alternative-title": "Nutze alternative Titel",
|
||||||
"scrobble-other-media": "Andere Medien scrobbeln"
|
"scrobble-other-media": "Andere Medien scrobbeln"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Den Songtext perfekt synchronisieren",
|
"label": "Den Songtext perfekt synchronisieren",
|
||||||
"tooltip": "Auf die Millisekunde genau berechnen, wann die nächste Zeile angezeigt werden soll (Kann Einfluss auf die Leistung haben)"
|
"tooltip": "Auf die Millisekunde genau berechnen, wann die nächste Zeile angezeigt werden soll (Kann Einfluss auf die Leistung haben)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "bevorzugter Anbieter",
|
||||||
|
"none": {
|
||||||
|
"label": "Nichts",
|
||||||
|
"tooltip": "Kein bevorzugter Anbieter"
|
||||||
|
},
|
||||||
|
"tooltip": "Standardanbieter auswählen"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Lateinische Umschrift anzeigen",
|
"label": "Lateinische Umschrift anzeigen",
|
||||||
"tooltip": "Wenn der Liedtext in einer anderen Schrift ist, zeige nach Möglichkeit eine Version in lateinischer Schrift an."
|
"tooltip": "Wenn der Liedtext in einer anderen Schrift ist, zeige nach Möglichkeit eine Version in lateinischer Schrift an."
|
||||||
@ -855,7 +885,6 @@
|
|||||||
},
|
},
|
||||||
"transparent-player": {
|
"transparent-player": {
|
||||||
"description": "Macht das Player-Fenster transparent",
|
"description": "Macht das Player-Fenster transparent",
|
||||||
"name": "Transparent Player",
|
|
||||||
"menu": {
|
"menu": {
|
||||||
"opacity": {
|
"opacity": {
|
||||||
"label": "Hintergrund-Sichtbarkeit",
|
"label": "Hintergrund-Sichtbarkeit",
|
||||||
@ -868,10 +897,12 @@
|
|||||||
"submenu": {
|
"submenu": {
|
||||||
"acrylic": "Acrylic",
|
"acrylic": "Acrylic",
|
||||||
"mica": "Mica",
|
"mica": "Mica",
|
||||||
|
"none": "Nichts",
|
||||||
"tabbed": "Tabbed"
|
"tabbed": "Tabbed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"name": "Transparent Player"
|
||||||
},
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integration mit dem OBS-Plugin Tuna",
|
"description": "Integration mit dem OBS-Plugin Tuna",
|
||||||
|
|||||||
@ -2,14 +2,14 @@
|
|||||||
"common": {
|
"common": {
|
||||||
"console": {
|
"console": {
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"execute-failed": "Error al ejecutar el plugin {{pluginName}}::{{contextName}}",
|
"execute-failed": "Error al ejecutar el complemento {{pluginName}}::{{contextName}}",
|
||||||
"executed-at-ms": "Plugin {{pluginName}}::{{contextName}} Ejecutó en {{ms}}ms",
|
"executed-at-ms": "Complemento {{pluginName}}::{{contextName}} Ejecutó en {{ms}}ms",
|
||||||
"initialize-failed": "Error al inicializar el plugin \"{{pluginName}}\"",
|
"initialize-failed": "Error al inicializar el complemento \"{{pluginName}}\"",
|
||||||
"load-all": "Cargando todos los plugins",
|
"load-all": "Cargando todos los complementos",
|
||||||
"load-failed": "Error al cargar el plugin \"{{pluginName}}\"",
|
"load-failed": "Error al cargar el complemento \"{{pluginName}}\"",
|
||||||
"loaded": "Plugin \"{{pluginName}}\" cargado",
|
"loaded": "Complementos \"{{pluginName}}\" cargado",
|
||||||
"unload-failed": "No se ha podido descargar el plugin \"{{pluginName}}\"",
|
"unload-failed": "No se ha podido descargar el complemento \"{{pluginName}}\"",
|
||||||
"unloaded": "Plugin \"{{pluginName}}\" descargado"
|
"unloaded": "Complemento \"{{pluginName}}\" descargado"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -53,7 +53,7 @@
|
|||||||
"later": "Más tarde",
|
"later": "Más tarde",
|
||||||
"restart-now": "Reiniciar ahora"
|
"restart-now": "Reiniciar ahora"
|
||||||
},
|
},
|
||||||
"detail": "El plugin \"{{pluginName}}\" requiere reiniciar para tomar efecto",
|
"detail": "El complemento \"{{pluginName}}\" requiere reiniciar para tomar efecto",
|
||||||
"message": "\"{{pluginName}}\" necesita reiniciar",
|
"message": "\"{{pluginName}}\" necesita reiniciar",
|
||||||
"title": "Se requiere reinicio"
|
"title": "Se requiere reinicio"
|
||||||
},
|
},
|
||||||
@ -185,7 +185,7 @@
|
|||||||
},
|
},
|
||||||
"plugins": {
|
"plugins": {
|
||||||
"enabled": "Habilitado",
|
"enabled": "Habilitado",
|
||||||
"label": "Plugins",
|
"label": "Complementos",
|
||||||
"new": "NUEVO"
|
"new": "NUEVO"
|
||||||
},
|
},
|
||||||
"view": {
|
"view": {
|
||||||
@ -457,7 +457,15 @@
|
|||||||
"hide-duration-left": "Ocultar la duración restante",
|
"hide-duration-left": "Ocultar la duración restante",
|
||||||
"hide-github-button": "Ocultar el botón de enlace a GitHub",
|
"hide-github-button": "Ocultar el botón de enlace a GitHub",
|
||||||
"play-on-youtube-music": "Reproducir en YouTube Music",
|
"play-on-youtube-music": "Reproducir en YouTube Music",
|
||||||
"set-inactivity-timeout": "Establecer tiempo de inactividad"
|
"set-inactivity-timeout": "Establecer tiempo de inactividad",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Texto de estado",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Escuchando a {artist}",
|
||||||
|
"title": "Escuchando {song title}",
|
||||||
|
"youtube-music": "Escuchando YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -482,7 +490,7 @@
|
|||||||
"ok": "OK"
|
"ok": "OK"
|
||||||
},
|
},
|
||||||
"detail": "({{playlistSize}} canciones)",
|
"detail": "({{playlistSize}} canciones)",
|
||||||
"message": "Descargando Playlist {{playlistTitle}}",
|
"message": "Descargando lista de reproducción {{playlistTitle}}",
|
||||||
"title": "Descarga iniciada"
|
"title": "Descarga iniciada"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -749,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Introduzca el token de usuario de ListenBrainz"
|
"token": "Introduzca el token de usuario de ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Usar artistas alternativos",
|
||||||
"scrobble-alternative-title": "Usar títulos alternativos",
|
"scrobble-alternative-title": "Usar títulos alternativos",
|
||||||
"scrobble-other-media": "Hacer Scrobble sobre otros medios"
|
"scrobble-other-media": "Hacer Scrobble sobre otros medios"
|
||||||
},
|
},
|
||||||
@ -834,6 +843,14 @@
|
|||||||
"label": "Haz que la letra esté perfectamente sincronizada",
|
"label": "Haz que la letra esté perfectamente sincronizada",
|
||||||
"tooltip": "Calcular al milisegundo la visualización de la siguiente línea (puede tener un pequeño impacto en el rendimiento)"
|
"tooltip": "Calcular al milisegundo la visualización de la siguiente línea (puede tener un pequeño impacto en el rendimiento)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Proveedor preferido",
|
||||||
|
"none": {
|
||||||
|
"label": "Ninguno",
|
||||||
|
"tooltip": "Ningún proveedor preferido"
|
||||||
|
},
|
||||||
|
"tooltip": "Elige el proveedor predeterminado que deseas usar"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanizar letras",
|
"label": "Romanizar letras",
|
||||||
"tooltip": "Si la letra está en un idioma diferente, intenta mostrar una versión en latín."
|
"tooltip": "Si la letra está en un idioma diferente, intenta mostrar una versión en latín."
|
||||||
@ -866,8 +883,29 @@
|
|||||||
"description": "Añade un widget TouchBar para los usuarios de macOS",
|
"description": "Añade un widget TouchBar para los usuarios de macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Hace que la ventana de la aplicación sea transparente",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacidad",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipo",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrílico",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Ninguno",
|
||||||
|
"tabbed": "Con pestañas"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Reproductor transparente"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integración con el plugin Tuna de OBS",
|
"description": "Integración con el complemento Tuna de OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
},
|
},
|
||||||
"unobtrusive-player": {
|
"unobtrusive-player": {
|
||||||
|
|||||||
@ -150,6 +150,13 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Mga Biswal na Tweak",
|
"label": "Mga Biswal na Tweak",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Custom na window title",
|
||||||
|
"prompt": {
|
||||||
|
"label": "I-enter ang custom na window tile: (iwanang blanko para ma-disable)",
|
||||||
|
"placeholder": "Halimbawa: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Default",
|
"default": "Default",
|
||||||
"force-show": "Pilitang ipakita",
|
"force-show": "Pilitang ipakita",
|
||||||
@ -378,6 +385,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "I-configure ang custom na output media device para sa mga kanta",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Pumili ng Device"
|
||||||
|
},
|
||||||
|
"name": "Custom na Output Device",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Pumili ng output media device na gagamitin",
|
||||||
|
"title": "Pumili ng Output Device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Gawing simulan ang kanta sa \"naka-pause\" na mode",
|
"description": "Gawing simulan ang kanta sa \"naka-pause\" na mode",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -401,7 +421,14 @@
|
|||||||
"hide-duration-left": "Itago ang natitirang oras",
|
"hide-duration-left": "Itago ang natitirang oras",
|
||||||
"hide-github-button": "Itago ang button na GitHub link",
|
"hide-github-button": "Itago ang button na GitHub link",
|
||||||
"play-on-youtube-music": "Patugtugin sa YouTube Music",
|
"play-on-youtube-music": "Patugtugin sa YouTube Music",
|
||||||
"set-inactivity-timeout": "I-set ang inactivity timeout"
|
"set-inactivity-timeout": "I-set ang inactivity timeout",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Nakikinig sa {artist}",
|
||||||
|
"title": "Nakikinig sa {song title}",
|
||||||
|
"youtube-music": "Kumikinig sa YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"prompt": {
|
"prompt": {
|
||||||
"set-inactivity-timeout": {
|
"set-inactivity-timeout": {
|
||||||
@ -649,6 +676,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Ilagay ang user token ng ListenBrainz"
|
"token": "Ilagay ang user token ng ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Gumamit ng mga alternatibong artist",
|
||||||
"scrobble-alternative-title": "Gumamit ng alternatibong mga title",
|
"scrobble-alternative-title": "Gumamit ng alternatibong mga title",
|
||||||
"scrobble-other-media": "Mag-Scrobble ng ibang media"
|
"scrobble-other-media": "Mag-Scrobble ng ibang media"
|
||||||
},
|
},
|
||||||
@ -728,6 +756,14 @@
|
|||||||
"label": "Gawing perpektong naka-sync ang lyrics",
|
"label": "Gawing perpektong naka-sync ang lyrics",
|
||||||
"tooltip": "Kalkulahin sa millisecond ang pagpapakita ng susunod na linya (maaaring magkaroon ng maliit na epekto sa performance)"
|
"tooltip": "Kalkulahin sa millisecond ang pagpapakita ng susunod na linya (maaaring magkaroon ng maliit na epekto sa performance)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Napiling Provider",
|
||||||
|
"none": {
|
||||||
|
"label": "Wala",
|
||||||
|
"tooltip": "Walang napiling provider"
|
||||||
|
},
|
||||||
|
"tooltip": "Pumili ng default na provider para gagamitin"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "I-romanize ang lyrics",
|
"label": "I-romanize ang lyrics",
|
||||||
"tooltip": "Kung ang lyrics ay nasa ibang wika, subukang magpakita ng latin na bersyon."
|
"tooltip": "Kung ang lyrics ay nasa ibang wika, subukang magpakita ng latin na bersyon."
|
||||||
@ -758,6 +794,19 @@
|
|||||||
"touchbar": {
|
"touchbar": {
|
||||||
"description": "Idaragdag ang TouchBar na widget para sa mga user ng macOS"
|
"description": "Idaragdag ang TouchBar na widget para sa mga user ng macOS"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Gawing transparent ang app window",
|
||||||
|
"menu": {
|
||||||
|
"type": {
|
||||||
|
"label": "Uri",
|
||||||
|
"submenu": {
|
||||||
|
"none": "Wala",
|
||||||
|
"tabbed": "Naka-tab"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Transparent na Player"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integrasyon kasama ang Tuna na OBS plugin"
|
"description": "Integrasyon kasama ang Tuna na OBS plugin"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -79,7 +79,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"about": "À-propos",
|
"about": "À propos",
|
||||||
"navigation": {
|
"navigation": {
|
||||||
"label": "Navigation",
|
"label": "Navigation",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
@ -94,7 +94,7 @@
|
|||||||
"label": "Paramètres",
|
"label": "Paramètres",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"advanced-options": {
|
"advanced-options": {
|
||||||
"label": "Options avancée",
|
"label": "Options avancées",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"auto-reset-app-cache": "Réinitialiser le cache de l'application au démarrage",
|
"auto-reset-app-cache": "Réinitialiser le cache de l'application au démarrage",
|
||||||
"disable-hardware-acceleration": "Désactiver les accélérations matérielles",
|
"disable-hardware-acceleration": "Désactiver les accélérations matérielles",
|
||||||
@ -189,7 +189,7 @@
|
|||||||
"new": "NOUVEAU"
|
"new": "NOUVEAU"
|
||||||
},
|
},
|
||||||
"view": {
|
"view": {
|
||||||
"label": "Vue",
|
"label": "Fenêtre",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"force-reload": "Forcer l'actualisation",
|
"force-reload": "Forcer l'actualisation",
|
||||||
"reload": "Actualiser",
|
"reload": "Actualiser",
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Configurer un périphérique de sortie personnalisé pour les morceaux",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Sélectionner un appareil"
|
||||||
|
},
|
||||||
|
"name": "Périphérique de sortie personnalisé",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Choisissez le périphérique de sortie à utiliser",
|
||||||
|
"title": "Sélectionner le périphérique de sortie"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Fait démarrer la chanson en mode \"pause\"",
|
"description": "Fait démarrer la chanson en mode \"pause\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Masquer la durée restante",
|
"hide-duration-left": "Masquer la durée restante",
|
||||||
"hide-github-button": "Masquer le bouton du lien GitHub",
|
"hide-github-button": "Masquer le bouton du lien GitHub",
|
||||||
"play-on-youtube-music": "Jouer sur YouTube Music",
|
"play-on-youtube-music": "Jouer sur YouTube Music",
|
||||||
"set-inactivity-timeout": "Définir le délai d'inactivité"
|
"set-inactivity-timeout": "Définir le délai d'inactivité",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Texte d'état",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Écoute {artiste}",
|
||||||
|
"title": "Écoute {titre de la chanson}",
|
||||||
|
"youtube-music": "Écoute YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Entrer le token utilisateur de ListenBrainz"
|
"token": "Entrer le token utilisateur de ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Utilisez d'autres artistes",
|
||||||
"scrobble-alternative-title": "Utiliser des titres alternatifs",
|
"scrobble-alternative-title": "Utiliser des titres alternatifs",
|
||||||
"scrobble-other-media": "Scrobbler d'autres médias"
|
"scrobble-other-media": "Scrobbler d'autres médias"
|
||||||
},
|
},
|
||||||
@ -743,7 +765,7 @@
|
|||||||
"prompt": {
|
"prompt": {
|
||||||
"lastfm": {
|
"lastfm": {
|
||||||
"api-key": "Clé API de Last.fm",
|
"api-key": "Clé API de Last.fm",
|
||||||
"api-secret": "API secret de Last.fm"
|
"api-secret": "Secret de l'API de Last.fm"
|
||||||
},
|
},
|
||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": {
|
"token": {
|
||||||
@ -774,7 +796,7 @@
|
|||||||
},
|
},
|
||||||
"skip-disliked-songs": {
|
"skip-disliked-songs": {
|
||||||
"description": "Passer les musiques que je n'aime pas",
|
"description": "Passer les musiques que je n'aime pas",
|
||||||
"name": "Passer Chansons Déplaisantes"
|
"name": "Passer les chansons « Je n'aime pas »"
|
||||||
},
|
},
|
||||||
"skip-silences": {
|
"skip-silences": {
|
||||||
"description": "Ignorer automatiquement les sections de silence dans les chansons",
|
"description": "Ignorer automatiquement les sections de silence dans les chansons",
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Rend les paroles parfaitement synchronisées",
|
"label": "Rend les paroles parfaitement synchronisées",
|
||||||
"tooltip": "Calcul à la milliseconde près l'affichage de la ligne suivante (peut avoir un faible impact sur les performances)"
|
"tooltip": "Calcul à la milliseconde près l'affichage de la ligne suivante (peut avoir un faible impact sur les performances)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Fournisseur privilégié",
|
||||||
|
"none": {
|
||||||
|
"label": "Aucun",
|
||||||
|
"tooltip": "Aucun fournisseur privilégié"
|
||||||
|
},
|
||||||
|
"tooltip": "Choisissez le fournisseur par défaut à utiliser"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romaniser les paroles",
|
"label": "Romaniser les paroles",
|
||||||
"tooltip": "Si les paroles sont dans une autre langue, essayez de les afficher dans une version latine."
|
"tooltip": "Si les paroles sont dans une autre langue, essayez de les afficher dans une version latine."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Ajoute un widget TouchBar pour les utilisateurs de macOS",
|
"description": "Ajoute un widget TouchBar pour les utilisateurs de macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Rend la fenêtre de l'application transparente",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacité",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Type",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrylique",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Aucun",
|
||||||
|
"tabbed": "À onglets"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Lecteur transparent"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Intégration avec le plugin OBS Tuna",
|
"description": "Intégration avec le plugin OBS Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "गानों के लिए एक कस्टम आउटपुट मीडिया डिवाइस कॉन्फ़िगर करें",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "डिवाइस चुनें"
|
||||||
|
},
|
||||||
|
"name": "अपनी पसंद का आउटपुट डिवाइस"
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "गीत को \"रुके हुए \" मोड में शुरू करता है",
|
"description": "गीत को \"रुके हुए \" मोड में शुरू करता है",
|
||||||
"menu": {
|
"menu": {
|
||||||
|
|||||||
@ -150,6 +150,13 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Megjelenési beállítások",
|
"label": "Megjelenési beállítások",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Saját ablak cím",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Kérem az egyéni ablak címét: (hagyd üresen a kikapcsoláshoz)",
|
||||||
|
"placeholder": "Példa: Youtube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Alapértelmezett",
|
"default": "Alapértelmezett",
|
||||||
"force-show": "Megjelenítés kényszerítése",
|
"force-show": "Megjelenítés kényszerítése",
|
||||||
@ -333,6 +340,28 @@
|
|||||||
"description": "Hang tömörítés alkalmazása (csökkenti a jel legzajosabb részeinek hangerősségét, és emeli a legcsendesebb részek hangerősségét)",
|
"description": "Hang tömörítés alkalmazása (csökkenti a jel legzajosabb részeinek hangerősségét, és emeli a legcsendesebb részek hangerősségét)",
|
||||||
"name": "Hangtömörítő"
|
"name": "Hangtömörítő"
|
||||||
},
|
},
|
||||||
|
"auth-proxy-adapter": {
|
||||||
|
"menu": {
|
||||||
|
"disable": "Proxy adapder kikapcsolása",
|
||||||
|
"enable": "Proxy adapter bekapcsolása",
|
||||||
|
"hostname": {
|
||||||
|
"label": "Gazdanév"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"label": "Port"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"prompt": {
|
||||||
|
"hostname": {
|
||||||
|
"label": "Adjon meg egy hosztnevet a lokális proxy szerverhez (újraindítást igényel):",
|
||||||
|
"title": "Proxy hosztnév"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"label": "Adjon meg egy portot a lokális proxy szerverhez (újraindátást igényel):",
|
||||||
|
"title": "Proxy Port"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"blur-nav-bar": {
|
"blur-nav-bar": {
|
||||||
"description": "Átlátszóvá és elmosódottá teszi a navigációs sávot",
|
"description": "Átlátszóvá és elmosódottá teszi a navigációs sávot",
|
||||||
"name": "Navigációs sáv elmosása"
|
"name": "Navigációs sáv elmosása"
|
||||||
@ -357,6 +386,11 @@
|
|||||||
},
|
},
|
||||||
"templates": {
|
"templates": {
|
||||||
"title": "Feliratválasztó megnyitása"
|
"title": "Feliratválasztó megnyitása"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"caption-changed": "Felirat {{language}} nyelvűre állítva",
|
||||||
|
"caption-disabled": "Feliratok kikapcsolva",
|
||||||
|
"no-captions": "Nincsenek elérhető feliratok ehhez a dalhoz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compact-sidebar": {
|
"compact-sidebar": {
|
||||||
@ -385,6 +419,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Eszköz kiválasztása"
|
||||||
|
},
|
||||||
|
"name": "Saját kimeneti eszköz",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Válaszd ki a kimeneti eszközt",
|
||||||
|
"title": "Kimeneti eszköz választása"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Ez a funkció kikapcsolja az automatikus lejátszást, így a zenék nem indulnak el maguktól. Amikor egy album vagy egy dal lejátszása véget ér, a következő szám nem kezdődik el automatikusan. A bővítmény használata során minden zenét manuálisan kell elindítani",
|
"description": "Ez a funkció kikapcsolja az automatikus lejátszást, így a zenék nem indulnak el maguktól. Amikor egy album vagy egy dal lejátszása véget ér, a következő szám nem kezdődik el automatikusan. A bővítmény használata során minden zenét manuálisan kell elindítani",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -408,7 +454,15 @@
|
|||||||
"hide-duration-left": "Hátralévő idő elrejtése",
|
"hide-duration-left": "Hátralévő idő elrejtése",
|
||||||
"hide-github-button": "GitHub url gombjának elrejtése",
|
"hide-github-button": "GitHub url gombjának elrejtése",
|
||||||
"play-on-youtube-music": "Lejátszás a YouTube Music-on",
|
"play-on-youtube-music": "Lejátszás a YouTube Music-on",
|
||||||
"set-inactivity-timeout": "Inaktivitási időkorlát beállítása"
|
"set-inactivity-timeout": "Inaktivitási időkorlát beállítása",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Tevékenység szöveg",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Hallgatja: {artist}",
|
||||||
|
"title": "Hallgatja: {song title}",
|
||||||
|
"youtube-music": "Hallgatja: YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -576,7 +630,15 @@
|
|||||||
},
|
},
|
||||||
"navigation": {
|
"navigation": {
|
||||||
"description": "Következő/Vissza navigációs nyilak közvetlenül az interfészbe integrálva, mint a kedvenc böngésződben",
|
"description": "Következő/Vissza navigációs nyilak közvetlenül az interfészbe integrálva, mint a kedvenc böngésződben",
|
||||||
"name": "Navigáció"
|
"name": "Navigáció",
|
||||||
|
"templates": {
|
||||||
|
"back": {
|
||||||
|
"title": "Előző oldal"
|
||||||
|
},
|
||||||
|
"forward": {
|
||||||
|
"title": "Következő oldal"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"no-google-login": {
|
"no-google-login": {
|
||||||
"description": "A Bejelentkezés gomb eltávolítása az interfészről (Jobb fentről eltünik a bejelentkezés gomb.)",
|
"description": "A Bejelentkezés gomb eltávolítása az interfészről (Jobb fentről eltünik a bejelentkezés gomb.)",
|
||||||
@ -600,6 +662,10 @@
|
|||||||
},
|
},
|
||||||
"name": "Értesítések"
|
"name": "Értesítések"
|
||||||
},
|
},
|
||||||
|
"performance-improvement": {
|
||||||
|
"description": "Teljesítmény fejlesztése kísérleti kódok engedélyezésével",
|
||||||
|
"name": "Teljesítmény fejlesztése [Béta]"
|
||||||
|
},
|
||||||
"picture-in-picture": {
|
"picture-in-picture": {
|
||||||
"description": "Lehetővé teszi az alkalmazás kép a képben módra váltását",
|
"description": "Lehetővé teszi az alkalmazás kép a képben módra váltását",
|
||||||
"menu": {
|
"menu": {
|
||||||
|
|||||||
@ -150,6 +150,13 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Penyesuaian Visual",
|
"label": "Penyesuaian Visual",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Judul jendela kustom",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Masukkan judul jendela kustom (kosongkan untuk menonaktifkan)",
|
||||||
|
"placeholder": "Contoh: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Standar",
|
"default": "Standar",
|
||||||
"force-show": "Pertunjukan paksa",
|
"force-show": "Pertunjukan paksa",
|
||||||
@ -414,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Atur perangkat media keluaran khusus untuk lagu-lagu",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Pilih Perangkat"
|
||||||
|
},
|
||||||
|
"name": "Perangkat Keluaran Kustom",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Pilih perangkat media keluaran yang akan digunakan",
|
||||||
|
"title": "Pilih Perangkat Keluaran"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Buat lagu mulai dalam mode \"jeda\"",
|
"description": "Buat lagu mulai dalam mode \"jeda\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -437,7 +457,15 @@
|
|||||||
"hide-duration-left": "Sembunyikan sisa durasi",
|
"hide-duration-left": "Sembunyikan sisa durasi",
|
||||||
"hide-github-button": "Sembunyikan tombol link GitHub",
|
"hide-github-button": "Sembunyikan tombol link GitHub",
|
||||||
"play-on-youtube-music": "Mainkan di YouTube Music",
|
"play-on-youtube-music": "Mainkan di YouTube Music",
|
||||||
"set-inactivity-timeout": "Tetapkan batas waktu tidak aktif"
|
"set-inactivity-timeout": "Tetapkan batas waktu tidak aktif",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Teks status",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Sedang mendengarkan {artist}",
|
||||||
|
"title": "Sedang mendengarkan {song title}",
|
||||||
|
"youtube-music": "Sedang mendengarkan YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Rich Presence Discord",
|
"name": "Rich Presence Discord",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -454,16 +482,16 @@
|
|||||||
"buttons": {
|
"buttons": {
|
||||||
"ok": "Oke"
|
"ok": "Oke"
|
||||||
},
|
},
|
||||||
"message": "Argh! Maaf, dowloadnya gagal…",
|
"message": "Argh! Maaf, dowload gagal…",
|
||||||
"title": "Downloadnya error!"
|
"title": "Terjadi kesalahan dalam unduhan!"
|
||||||
},
|
},
|
||||||
"start-download-playlist": {
|
"start-download-playlist": {
|
||||||
"buttons": {
|
"buttons": {
|
||||||
"ok": "Oke"
|
"ok": "Oke"
|
||||||
},
|
},
|
||||||
"detail": "({{playlistSize}} lagu-lagu)",
|
"detail": "({{playlistSize}} lagu-lagu)",
|
||||||
"message": "Mengunduh Playlist {{playlistTitle}}",
|
"message": "Mengunduh Daftar Putar {{playlistTitle}}",
|
||||||
"title": "Download dimulai"
|
"title": "Pengunduhan dimulai"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"feedback": {
|
"feedback": {
|
||||||
@ -474,8 +502,8 @@
|
|||||||
"download-progress": "Mengunduh: {{percent}}%",
|
"download-progress": "Mengunduh: {{percent}}%",
|
||||||
"downloading": "Mengunduh…",
|
"downloading": "Mengunduh…",
|
||||||
"downloading-counter": "Mengunduh {{current}}/{{total}}…",
|
"downloading-counter": "Mengunduh {{current}}/{{total}}…",
|
||||||
"downloading-playlist": "Mengunduh playlist \"{{playlistTitle}}\" - {{playlistSize}} lagu ({{playlistId}})",
|
"downloading-playlist": "Mengunduh Daftar Putar \"{{playlistTitle}}\" - {{playlistSize}} lagu-lagu ({{playlistId}})",
|
||||||
"error-while-downloading": "Gagal mengunduh \"{{author}} - {{title}}\": {{error}}",
|
"error-while-downloading": "Gagal dalam mengunduh \"{{author}} - {{title}}\": {{error}}",
|
||||||
"folder-already-exists": "Folder {{playlistFolder}} sudah ada",
|
"folder-already-exists": "Folder {{playlistFolder}} sudah ada",
|
||||||
"getting-playlist-info": "Mendapatkan informasi playlist…",
|
"getting-playlist-info": "Mendapatkan informasi playlist…",
|
||||||
"loading": "Memuat…",
|
"loading": "Memuat…",
|
||||||
@ -530,7 +558,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "Equalizer"
|
"name": "Ekualiser"
|
||||||
},
|
},
|
||||||
"exponential-volume": {
|
"exponential-volume": {
|
||||||
"description": "Buat penggeser volume menjadi eksponen sehingga memudahkan memilih volume yang lebih rendah.",
|
"description": "Buat penggeser volume menjadi eksponen sehingga memudahkan memilih volume yang lebih rendah.",
|
||||||
@ -729,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Masukkan token pengguna ListenBrainz"
|
"token": "Masukkan token pengguna ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Pindah ke artis lain",
|
||||||
"scrobble-alternative-title": "Gunakan judul alternatif",
|
"scrobble-alternative-title": "Gunakan judul alternatif",
|
||||||
"scrobble-other-media": "Scrobble media lain"
|
"scrobble-other-media": "Scrobble media lain"
|
||||||
},
|
},
|
||||||
@ -814,6 +843,14 @@
|
|||||||
"label": "Buat liriknya tersinkronisasi dengan sempurna",
|
"label": "Buat liriknya tersinkronisasi dengan sempurna",
|
||||||
"tooltip": "Hitung hingga milidetik tampilan baris berikutnya (dapat berdampak kecil pada kinerja)"
|
"tooltip": "Hitung hingga milidetik tampilan baris berikutnya (dapat berdampak kecil pada kinerja)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Penyedia Pilihan",
|
||||||
|
"none": {
|
||||||
|
"label": "Tidak ada",
|
||||||
|
"tooltip": "Tidak ada penyedia pilihan"
|
||||||
|
},
|
||||||
|
"tooltip": "Pilih penyedia bawaan untuk dipakai"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanize Liriknya",
|
"label": "Romanize Liriknya",
|
||||||
"tooltip": "Apabila lirik berada dalam bahasa berbeda, cobalah untuk menampilkan versi latinnya."
|
"tooltip": "Apabila lirik berada dalam bahasa berbeda, cobalah untuk menampilkan versi latinnya."
|
||||||
@ -846,6 +883,27 @@
|
|||||||
"description": "Tambahkan widget TouchBar untuk pengguna macOS",
|
"description": "Tambahkan widget TouchBar untuk pengguna macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Buat jendela aplikasi transparan",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opasitas",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipe",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Akrilik",
|
||||||
|
"mica": "Mika",
|
||||||
|
"none": "TIdak ada",
|
||||||
|
"tabbed": "Tabulasi"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Pemutar Transparan"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integrasi dengan plugin Tuna OBS",
|
"description": "Integrasi dengan plugin Tuna OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -150,6 +150,13 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Miglioramenti visivi",
|
"label": "Miglioramenti visivi",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Personalizza titolo finestra",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Inserisci un titolo della finestra personalizzato: (lascia vuoto per disattivare)",
|
||||||
|
"placeholder": "Esempio: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Predefinito",
|
"default": "Predefinito",
|
||||||
"force-show": "Forza la visualizzazione",
|
"force-show": "Forza la visualizzazione",
|
||||||
@ -414,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Scegli da quale uscita audio vuoi riprodurre i brani",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Seleziona un'uscita"
|
||||||
|
},
|
||||||
|
"name": "Dispositivo di Output Personalizzato",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Scegli il dispositivo d'output da utilizzare",
|
||||||
|
"title": "Scegli il dispositivo d'output"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Fa iniziare i brani in modalità \"pausa\"",
|
"description": "Fa iniziare i brani in modalità \"pausa\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -437,7 +457,15 @@
|
|||||||
"hide-duration-left": "Nascondi la durata rimasta",
|
"hide-duration-left": "Nascondi la durata rimasta",
|
||||||
"hide-github-button": "Nascondi il pulsante link a GitHub",
|
"hide-github-button": "Nascondi il pulsante link a GitHub",
|
||||||
"play-on-youtube-music": "Riproduci su YouTube Music",
|
"play-on-youtube-music": "Riproduci su YouTube Music",
|
||||||
"set-inactivity-timeout": "Imposta il timeout di inattività"
|
"set-inactivity-timeout": "Imposta il timeout di inattività",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Testo dello status",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Stai ascoltando {artist}",
|
||||||
|
"title": "Stai ascoltando {song title}",
|
||||||
|
"youtube-music": "Ascoltando YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -729,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Inserire il token utente per ListenBrainz"
|
"token": "Inserire il token utente per ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Usa artisti alternativi",
|
||||||
"scrobble-alternative-title": "Usa titoli alternativi",
|
"scrobble-alternative-title": "Usa titoli alternativi",
|
||||||
"scrobble-other-media": "Scrobble altri media"
|
"scrobble-other-media": "Scrobble altri media"
|
||||||
},
|
},
|
||||||
@ -814,6 +843,14 @@
|
|||||||
"label": "Rendi i testi perfettamente sincronizzati",
|
"label": "Rendi i testi perfettamente sincronizzati",
|
||||||
"tooltip": "Calcola al millisecondo la visualizzazione della riga successiva (può avere un piccolo impatto sulle prestazioni)"
|
"tooltip": "Calcola al millisecondo la visualizzazione della riga successiva (può avere un piccolo impatto sulle prestazioni)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Provider preferito",
|
||||||
|
"none": {
|
||||||
|
"label": "Nessuno",
|
||||||
|
"tooltip": "Nessun provider preferito"
|
||||||
|
},
|
||||||
|
"tooltip": "Scegli quale provider predefinito utilizzare"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Testi in caratteri occidentali",
|
"label": "Testi in caratteri occidentali",
|
||||||
"tooltip": "Qualora il testo fosse scritto in una lingua non occidentale, prova a visualizzarlo in caratteri latini."
|
"tooltip": "Qualora il testo fosse scritto in una lingua non occidentale, prova a visualizzarlo in caratteri latini."
|
||||||
@ -846,6 +883,27 @@
|
|||||||
"description": "Aggiunge un widget TouchBar per gli utenti macOS",
|
"description": "Aggiunge un widget TouchBar per gli utenti macOS",
|
||||||
"name": "Touch Bar (per MacOS)"
|
"name": "Touch Bar (per MacOS)"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Rende trasparente la finestra del programma",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacità",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipo",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrilico",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Nessuno",
|
||||||
|
"tabbed": "In scheda"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Player Trasparente"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integrazione con il plugin OBS Tuna",
|
"description": "Integrazione con il plugin OBS Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "曲用のカスタム出力メディアデバイスを構成する",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "デバイスの選択"
|
||||||
|
},
|
||||||
|
"name": "カスタム出力デバイス",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "使用する出力メディアデバイスを選択します",
|
||||||
|
"title": "出力デバイスの選択"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "曲を「一時停止」モードで始めさせます",
|
"description": "曲を「一時停止」モードで始めさせます",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "残りの再生時間を隠す",
|
"hide-duration-left": "残りの再生時間を隠す",
|
||||||
"hide-github-button": "GitHubリンクボタンを隠す",
|
"hide-github-button": "GitHubリンクボタンを隠す",
|
||||||
"play-on-youtube-music": "YouTube Musicで再生",
|
"play-on-youtube-music": "YouTube Musicで再生",
|
||||||
"set-inactivity-timeout": "タイムアウト時間を設定"
|
"set-inactivity-timeout": "タイムアウト時間を設定",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "ステータステキスト",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "{artist}を聴いている",
|
||||||
|
"title": "{曲名}を聴いている",
|
||||||
|
"youtube-music": "YouTube Musicを聴く"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discordアクティビティステータス",
|
"name": "Discordアクティビティステータス",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "ListenBrainzユーザートークンを入力してください"
|
"token": "ListenBrainzユーザートークンを入力してください"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "代替アーティストを使用する",
|
||||||
"scrobble-alternative-title": "代替タイトルを使用する",
|
"scrobble-alternative-title": "代替タイトルを使用する",
|
||||||
"scrobble-other-media": "他のメディアをScrobbleする"
|
"scrobble-other-media": "他のメディアをScrobbleする"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "歌詞を完璧に同期させる",
|
"label": "歌詞を完璧に同期させる",
|
||||||
"tooltip": "次の行の表示をミリ秒単位で計算する(パフォーマンスに若干の影響を与える可能性があります)"
|
"tooltip": "次の行の表示をミリ秒単位で計算する(パフォーマンスに若干の影響を与える可能性があります)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "優先プロバイダー",
|
||||||
|
"none": {
|
||||||
|
"label": "なし",
|
||||||
|
"tooltip": "指定医療機関なし"
|
||||||
|
},
|
||||||
|
"tooltip": "使用するデフォルトプロバイダを選択してください"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "ローマ字歌詞",
|
"label": "ローマ字歌詞",
|
||||||
"tooltip": "歌詞が異なる言語で書かれている場合は、ラテン語バージョンを表示するようにしてください。"
|
"tooltip": "歌詞が異なる言語で書かれている場合は、ラテン語バージョンを表示するようにしてください。"
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "masOSユーザー向けにTouchBarウィジェットを追加",
|
"description": "masOSユーザー向けにTouchBarウィジェットを追加",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "アプリウィンドウを透明にする",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "不透明度",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "タイプ",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "アクリル",
|
||||||
|
"mica": "マイカ(Mica)",
|
||||||
|
"none": "なし",
|
||||||
|
"tabbed": "タブ付き"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "透明プレイヤー"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "OBSのプラグインTunaの統合",
|
"description": "OBSのプラグインTunaの統合",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -59,6 +59,7 @@
|
|||||||
},
|
},
|
||||||
"unresponsive": {
|
"unresponsive": {
|
||||||
"buttons": {
|
"buttons": {
|
||||||
|
"quit": "ഉപേക്ഷിക്കുക",
|
||||||
"relaunch": "പുനരാരംഭിക്കുക",
|
"relaunch": "പുനരാരംഭിക്കുക",
|
||||||
"wait": "കാത്തിരിക്കൂ"
|
"wait": "കാത്തിരിക്കൂ"
|
||||||
},
|
},
|
||||||
@ -109,5 +110,22 @@
|
|||||||
"enabled": "പ്രവർത്തനക്ഷമമാക്കി"
|
"enabled": "പ്രവർത്തനക്ഷമമാക്കി"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"plugins": {
|
||||||
|
"video-toggle": {
|
||||||
|
"menu": {
|
||||||
|
"align": {
|
||||||
|
"label": "ക്രമപ്പെടുത്തൽ",
|
||||||
|
"submenu": {
|
||||||
|
"left": "ഇടത്",
|
||||||
|
"middle": "മധ്യഭാഗം",
|
||||||
|
"right": "വലത്"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"templates": {
|
||||||
|
"button-video": "വീഡിയോ"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -124,7 +124,7 @@
|
|||||||
"language": {
|
"language": {
|
||||||
"dialog": {
|
"dialog": {
|
||||||
"message": "Bahasa akan ditukar selepas dimulakan semula",
|
"message": "Bahasa akan ditukar selepas dimulakan semula",
|
||||||
"title": "Bahasa Berubah"
|
"title": "Bahasa diubah"
|
||||||
},
|
},
|
||||||
"label": "Bahasa",
|
"label": "Bahasa",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
@ -150,11 +150,18 @@
|
|||||||
"visual-tweaks": {
|
"visual-tweaks": {
|
||||||
"label": "Pembaikan Visual",
|
"label": "Pembaikan Visual",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Tajuk tetingkap tersuai",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Masukkan tajuk tetingkap tersuai: (biarkan kosong untuk matikan)",
|
||||||
|
"placeholder": "Contoh: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
"like-buttons": {
|
"like-buttons": {
|
||||||
"default": "Lalai",
|
"default": "Lalai",
|
||||||
"force-show": "Paksa pamer",
|
"force-show": "Paksa pamer",
|
||||||
"hide": "Sembunyi",
|
"hide": "Sembunyi",
|
||||||
"label": "Suka butang"
|
"label": "Butang suka"
|
||||||
},
|
},
|
||||||
"remove-upgrade-button": "Buang butang naik taraf",
|
"remove-upgrade-button": "Buang butang naik taraf",
|
||||||
"theme": {
|
"theme": {
|
||||||
@ -243,8 +250,17 @@
|
|||||||
"pixels": "{{blurAmount}}piksel"
|
"pixels": "{{blurAmount}}piksel"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"buffer": {
|
||||||
|
"label": "Buffer",
|
||||||
|
"submenu": {
|
||||||
|
"buffer": "{{buffer}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
"opacity": {
|
"opacity": {
|
||||||
"label": "Kelegapan"
|
"label": "Kelegapan",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"quality": {
|
"quality": {
|
||||||
"label": "Kualiti",
|
"label": "Kualiti",
|
||||||
@ -271,7 +287,11 @@
|
|||||||
"name": "Mod Sekitaran"
|
"name": "Mod Sekitaran"
|
||||||
},
|
},
|
||||||
"amuse": {
|
"amuse": {
|
||||||
"description": "Menambahkan sokongan YouTube Music untuk widget sedang dimain Amuse oleh 6K Labs"
|
"description": "Menambahkan sokongan YouTube Music untuk widget sedang dimain Amuse oleh 6K Labs",
|
||||||
|
"name": "Terhibur",
|
||||||
|
"response": {
|
||||||
|
"query": "API server Amuse telah berjalan. GET /query untuk mendapatkan maklumat lagu."
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"api-server": {
|
"api-server": {
|
||||||
"description": "Perlukan server API untuk mengawal pemain",
|
"description": "Perlukan server API untuk mengawal pemain",
|
||||||
@ -321,13 +341,31 @@
|
|||||||
"name": "Pemampat Audio"
|
"name": "Pemampat Audio"
|
||||||
},
|
},
|
||||||
"auth-proxy-adapter": {
|
"auth-proxy-adapter": {
|
||||||
|
"description": "Sokongan untuk penggunaan perkhidmatan proksi pengesahan",
|
||||||
"menu": {
|
"menu": {
|
||||||
|
"disable": "Matikan adapter proksi",
|
||||||
|
"enable": "Nyalakan adapter proksi",
|
||||||
"hostname": {
|
"hostname": {
|
||||||
"label": "Nama perumah"
|
"label": "Nama perumah"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"label": "Port"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Adapter Auth Proksi",
|
||||||
|
"prompt": {
|
||||||
|
"hostname": {
|
||||||
|
"label": "Nyatakan nama hos untuk server proksi tempatan (memerlukan mulakan semula):",
|
||||||
|
"title": "Nama hos proksi"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"label": "Masukkan port untuk server proksi tempatan (memerlukan restart):",
|
||||||
|
"title": "Port Proksi"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"blur-nav-bar": {
|
"blur-nav-bar": {
|
||||||
|
"description": "Menjadikan bar navigasi telus dan kabur",
|
||||||
"name": "Kaburkan Bar navigasi"
|
"name": "Kaburkan Bar navigasi"
|
||||||
},
|
},
|
||||||
"bypass-age-restrictions": {
|
"bypass-age-restrictions": {
|
||||||
@ -347,6 +385,172 @@
|
|||||||
"none": "Tiada",
|
"none": "Tiada",
|
||||||
"title": "Pilih bahasa kapsyen"
|
"title": "Pilih bahasa kapsyen"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"templates": {
|
||||||
|
"title": "Buka pemilih kapsyen"
|
||||||
|
},
|
||||||
|
"toast": {
|
||||||
|
"caption-changed": "Sarikata berubah kepada {{language}}",
|
||||||
|
"caption-disabled": "Sarikata dimatikan",
|
||||||
|
"no-captions": "Tiada sarikata untuk lagu ini"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compact-sidebar": {
|
||||||
|
"description": "Sentiasa tetapkan bar sisi dalam mod padat",
|
||||||
|
"name": "Bar Sisi Padat"
|
||||||
|
},
|
||||||
|
"crossfade": {
|
||||||
|
"description": "Pudar silang antara lagu",
|
||||||
|
"menu": {
|
||||||
|
"advanced": "Maju"
|
||||||
|
},
|
||||||
|
"name": "Pudar Selang [Beta]",
|
||||||
|
"prompt": {
|
||||||
|
"options": {
|
||||||
|
"multi-input": {
|
||||||
|
"fade-in-duration": "Pudar dalam tempoh (ms)",
|
||||||
|
"fade-out-duration": "Tempoh pudar (ms)",
|
||||||
|
"fade-scaling": {
|
||||||
|
"label": "Penskalaan pudar",
|
||||||
|
"linear": "Linear",
|
||||||
|
"logarithmic": "Logaritma"
|
||||||
|
},
|
||||||
|
"seconds-before-end": "Pudar silang N saat sebelum tamat"
|
||||||
|
},
|
||||||
|
"title": "Opsi pudar silang"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Konfigurasikan peranti media output tersuai untuk lagu",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Pilih peranti"
|
||||||
|
},
|
||||||
|
"name": "Peranti Output Tersuai",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Pilih peranti media output yang akan digunakan",
|
||||||
|
"title": "Pilih Peranti Output"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"disable-autoplay": {
|
||||||
|
"description": "Membuat lagu bermula dalam mod \"jeda\"",
|
||||||
|
"menu": {
|
||||||
|
"apply-once": "Terpakai hanya pada permulaan"
|
||||||
|
},
|
||||||
|
"name": "Matikan automain"
|
||||||
|
},
|
||||||
|
"discord": {
|
||||||
|
"backend": {
|
||||||
|
"already-connected": "Cuba untuk menyambung dengan sambungan aktif",
|
||||||
|
"connected": "Disambungkan ke Discord",
|
||||||
|
"disconnected": "Diputuskan sambungan daripada Discord"
|
||||||
|
},
|
||||||
|
"description": "Tunjukkan kepada rakan anda perkara yang anda dengar dengan Rich Presence",
|
||||||
|
"menu": {
|
||||||
|
"auto-reconnect": "Auto sambung semula",
|
||||||
|
"clear-activity": "Padamkan aktiviti",
|
||||||
|
"clear-activity-after-timeout": "Kosongkan aktiviti selepas tamat masa",
|
||||||
|
"connected": "Tersambung",
|
||||||
|
"disconnected": "Tidak disambungkan",
|
||||||
|
"hide-duration-left": "Sembunyikan tempoh yang tinggal",
|
||||||
|
"hide-github-button": "Sembunyikan Butang pautan GitHub",
|
||||||
|
"play-on-youtube-music": "Main di YouTube Music",
|
||||||
|
"set-inactivity-timeout": "Tetapkan tamat masa tidak aktif",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Teks status",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Sedang mendengar {artist}",
|
||||||
|
"youtube-music": "Mendengar YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Discord Rich Presence",
|
||||||
|
"prompt": {
|
||||||
|
"set-inactivity-timeout": {
|
||||||
|
"label": "Masukkan tamat masa tidak aktif dalam beberapa saat:",
|
||||||
|
"title": "Tetapkan tamat masa tidak aktif"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"downloader": {
|
||||||
|
"backend": {
|
||||||
|
"dialog": {
|
||||||
|
"error": {
|
||||||
|
"buttons": {
|
||||||
|
"ok": "OK"
|
||||||
|
},
|
||||||
|
"message": "Argh! Maaf, muat turun gagal…",
|
||||||
|
"title": "Ralat dalam muat turun!"
|
||||||
|
},
|
||||||
|
"start-download-playlist": {
|
||||||
|
"buttons": {
|
||||||
|
"ok": "OK"
|
||||||
|
},
|
||||||
|
"detail": "({{playlistSize}} lagu)",
|
||||||
|
"message": "Memuat turun senarai main {{playlistTitle}}",
|
||||||
|
"title": "Memuat turn bermula"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"feedback": {
|
||||||
|
"conversion-progress": "Penukaran: {{percent}}%",
|
||||||
|
"converting": "Menukarkan…",
|
||||||
|
"done": "Selesai: {{filePath}}",
|
||||||
|
"download-info": "Memuat turun {{artist}} - {{title}} [{{videoId}}",
|
||||||
|
"downloading": "Memuat turun…",
|
||||||
|
"downloading-counter": "Memuat turun {{current}}/{{total}}…",
|
||||||
|
"downloading-playlist": "Memuat turun senarai main \"{{playlistTitle}}\" - {{playlistSize}} lagu ({{playlistId}})",
|
||||||
|
"error-while-downloading": "Gagal memuat turun \"{{author}} - {{title}}\": {{error}}",
|
||||||
|
"folder-already-exists": "Folder {{playlistFolder}} sudah ada",
|
||||||
|
"getting-playlist-info": "Mendapatkan maklumat senarai main…",
|
||||||
|
"loading": "Memuat…",
|
||||||
|
"playlist-has-only-one-song": "Senarai main hanya mempunyai satu item, memuat turunnya terus",
|
||||||
|
"playlist-id-not-found": "ID senarai main tidak dijumpai",
|
||||||
|
"playlist-is-empty": "Senarai main kosong",
|
||||||
|
"saving": "Menyimpan…",
|
||||||
|
"trying-to-get-playlist-id": "Mencuba untuk mendapatkan ID senarai main: {{playlistId}}",
|
||||||
|
"video-id-not-found": "Video tidak dijumpai"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"description": "Memuat turun audio MP3 / sumber terus dari antara muka",
|
||||||
|
"menu": {
|
||||||
|
"choose-download-folder": "Pilih folder muat turun",
|
||||||
|
"download-finish-settings": {
|
||||||
|
"prompt": {
|
||||||
|
"title": "Konfigurasikan masa untuk memuat turun"
|
||||||
|
},
|
||||||
|
"submenu": {
|
||||||
|
"enabled": "Dinyalakan",
|
||||||
|
"mode": "Mod masa",
|
||||||
|
"percent": "Peratus",
|
||||||
|
"seconds": "Saat"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"download-playlist": "Muat turun senarai main"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lumiastream": {
|
||||||
|
"name": "Lumia Stream [Beta]"
|
||||||
|
},
|
||||||
|
"lyrics-genius": {
|
||||||
|
"description": "Menambahkan sokongan lirik untuk kebanyakan lagu",
|
||||||
|
"menu": {
|
||||||
|
"romanized-lyrics": "Lirik Romanized"
|
||||||
|
},
|
||||||
|
"name": "Lirik Genius",
|
||||||
|
"renderer": {
|
||||||
|
"fetched-lyrics": "Lirik yang diambil untuk Genius"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"music-together": {
|
||||||
|
"description": "Kongsi senarai main dengan orang lain. Apabila hos memainkan lagu, semua orang akan mendengar lagu yang sama",
|
||||||
|
"internal": {
|
||||||
|
"save": "Simpan",
|
||||||
|
"unknown-user": "Pengguna tidak diketahui"
|
||||||
|
},
|
||||||
|
"menu": {
|
||||||
|
"close": "Tutup Music Together"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"synced-lyrics": {
|
"synced-lyrics": {
|
||||||
|
|||||||
@ -189,12 +189,12 @@
|
|||||||
"new": "NIEUW"
|
"new": "NIEUW"
|
||||||
},
|
},
|
||||||
"view": {
|
"view": {
|
||||||
"label": "Weergeven",
|
"label": "Bekijken",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"force-reload": "Forceer Herladen",
|
"force-reload": "Forceer Herladen",
|
||||||
"reload": "Herladen",
|
"reload": "Herladen",
|
||||||
"reset-zoom": "Ware Grootte",
|
"reset-zoom": "Ware Grootte",
|
||||||
"toggle-fullscreen": "Volledig Scherm Wisselen",
|
"toggle-fullscreen": "Volledig Scherm Ja/Nee",
|
||||||
"zoom-in": "Inzoomen",
|
"zoom-in": "Inzoomen",
|
||||||
"zoom-out": "Uitzoomen"
|
"zoom-out": "Uitzoomen"
|
||||||
}
|
}
|
||||||
@ -204,12 +204,12 @@
|
|||||||
"next": "Volgende",
|
"next": "Volgende",
|
||||||
"play-pause": "Afspelen/Pauze",
|
"play-pause": "Afspelen/Pauze",
|
||||||
"previous": "Vorige",
|
"previous": "Vorige",
|
||||||
"quit": "Afsluiten",
|
"quit": "Verlaat",
|
||||||
"restart": "Herstarten App",
|
"restart": "Herstarten App",
|
||||||
"show": "Weergeven Venster",
|
"show": "Weergeven Venster",
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"default": "YouTube Music",
|
"default": "YouTube Music",
|
||||||
"with-song-info": "YouTube Music: {{artiest}} - {{titel}}"
|
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Configureer een aangepast media uitvoerapparaat voor liedjes",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Selecteer je apparaat"
|
||||||
|
},
|
||||||
|
"name": "Aangepast uitvoerapparaat",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Kies het uitvoermedia-apparaat dat gebruikt zal worden",
|
||||||
|
"title": "Selecteer het uitvoermedia"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Zorgt ervoor dat nummers starten in 'gepauzeerde' modus",
|
"description": "Zorgt ervoor dat nummers starten in 'gepauzeerde' modus",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Verberg resterende tijd",
|
"hide-duration-left": "Verberg resterende tijd",
|
||||||
"hide-github-button": "GitHub-knop verbergen",
|
"hide-github-button": "GitHub-knop verbergen",
|
||||||
"play-on-youtube-music": "Afspelen op YouTube Music",
|
"play-on-youtube-music": "Afspelen op YouTube Music",
|
||||||
"set-inactivity-timeout": "Inactiviteitstime-out instellen"
|
"set-inactivity-timeout": "Inactiviteitstime-out instellen",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Status tekst",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Naar {artist} aan het luisteren",
|
||||||
|
"title": "Naar {song title} aan het luisteren",
|
||||||
|
"youtube-music": "Naar Youtube Music aan het luisteren"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Voer het ListenBrainz-gebruikerstoken in"
|
"token": "Voer het ListenBrainz-gebruikerstoken in"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Gebruik alternatieve artiesten",
|
||||||
"scrobble-alternative-title": "Gebruik alternatieve titels",
|
"scrobble-alternative-title": "Gebruik alternatieve titels",
|
||||||
"scrobble-other-media": "Scrobble andere media"
|
"scrobble-other-media": "Scrobble andere media"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Zorg ervoor dat de songteksten perfect gesynchroniseerd zijn",
|
"label": "Zorg ervoor dat de songteksten perfect gesynchroniseerd zijn",
|
||||||
"tooltip": "Bereken tot op de milliseconde de weergave van de volgende regel (kan een kleine impact hebben op de prestaties)"
|
"tooltip": "Bereken tot op de milliseconde de weergave van de volgende regel (kan een kleine impact hebben op de prestaties)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Voorkeur van Provider",
|
||||||
|
"none": {
|
||||||
|
"label": "Geen",
|
||||||
|
"tooltip": "Geen provider beschikbaar"
|
||||||
|
},
|
||||||
|
"tooltip": "Kies de standaardprovider om te gebruiken"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romaniseer songtekst",
|
"label": "Romaniseer songtekst",
|
||||||
"tooltip": "Als de songtekst in een andere taal is, probeer dan een Latijnse versie weer te geven."
|
"tooltip": "Als de songtekst in een andere taal is, probeer dan een Latijnse versie weer te geven."
|
||||||
@ -853,6 +883,24 @@
|
|||||||
"description": "Voegt een TouchBar-widget toe voor macOS-gebruikers",
|
"description": "Voegt een TouchBar-widget toe voor macOS-gebruikers",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Soort",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrylic",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Geen",
|
||||||
|
"tabbed": "Tabbed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integratie met OBS's plug-in Tuna",
|
"description": "Integratie met OBS's plug-in Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Skonfiguruj niestandardowe wyjście audio dla odtwarzanych utworów",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Wybierz urządzenie"
|
||||||
|
},
|
||||||
|
"name": "Niestandardowe wyjście audio",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Wybierz wyjście audio które ma być użyte",
|
||||||
|
"title": "Wybierz wyjście audio"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Wyłącza automatyczne odtwarzanie utworów",
|
"description": "Wyłącza automatyczne odtwarzanie utworów",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Ukryj pozostały czas trwania",
|
"hide-duration-left": "Ukryj pozostały czas trwania",
|
||||||
"hide-github-button": "Ukryj przycisk do GitHub",
|
"hide-github-button": "Ukryj przycisk do GitHub",
|
||||||
"play-on-youtube-music": "Odtwórz w YouTube Music",
|
"play-on-youtube-music": "Odtwórz w YouTube Music",
|
||||||
"set-inactivity-timeout": "Ustaw limit czasu bezczynności"
|
"set-inactivity-timeout": "Ustaw limit czasu bezczynności",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Opis statusu",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Słucha {artist}",
|
||||||
|
"title": "Słucha {song title}",
|
||||||
|
"youtube-music": "Słucha YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Podaj token użytkownika ListenBrainz"
|
"token": "Podaj token użytkownika ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Urzyj alternatywnych artytów",
|
||||||
"scrobble-alternative-title": "Użyj alternatywnych tytułów",
|
"scrobble-alternative-title": "Użyj alternatywnych tytułów",
|
||||||
"scrobble-other-media": "Scrobbluj pozostałe multimedia"
|
"scrobble-other-media": "Scrobbluj pozostałe multimedia"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Zsynchronizuj tekst utworu do perfekcji",
|
"label": "Zsynchronizuj tekst utworu do perfekcji",
|
||||||
"tooltip": "Wylicz czas wyświetlania następnej linijki co do milisekundy (może mieć mały wpływ na wydajność systemu)"
|
"tooltip": "Wylicz czas wyświetlania następnej linijki co do milisekundy (może mieć mały wpływ na wydajność systemu)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Preferowane Źródło",
|
||||||
|
"none": {
|
||||||
|
"label": "Żaden",
|
||||||
|
"tooltip": "Brak preferowanego źródła"
|
||||||
|
},
|
||||||
|
"tooltip": "Wybierz domyślne źródło"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanizacja utworów",
|
"label": "Romanizacja utworów",
|
||||||
"tooltip": "Jeżeli tekst piosenki nie jest w alfabecie łacińskim, poddaje ją romanizacji, czyli przedstawia mowy za pomocą owych liter."
|
"tooltip": "Jeżeli tekst piosenki nie jest w alfabecie łacińskim, poddaje ją romanizacji, czyli przedstawia mowy za pomocą owych liter."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Dodaje widżet do paska dotykowego dla użytkowników systemu macOS",
|
"description": "Dodaje widżet do paska dotykowego dla użytkowników systemu macOS",
|
||||||
"name": "Pasek dotykowy"
|
"name": "Pasek dotykowy"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Sprawia, że okno aplikacji jest przeźroczyste",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Nieprzezroczystość",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Typ",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Akryl",
|
||||||
|
"mica": "Mika",
|
||||||
|
"none": "Brak",
|
||||||
|
"tabbed": "Zakładkowy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Przeźroczysty odtwarzacz"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integracja z wtyczką OBS Tuna",
|
"description": "Integracja z wtyczką OBS Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -757,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Insira o token de usuário ListenBrainz"
|
"token": "Insira o token de usuário ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Use artistas alternativos",
|
||||||
"scrobble-alternative-title": "Usar títulos alternativos",
|
"scrobble-alternative-title": "Usar títulos alternativos",
|
||||||
"scrobble-other-media": "Scrobble outras mídias"
|
"scrobble-other-media": "Scrobble outras mídias"
|
||||||
},
|
},
|
||||||
@ -842,6 +843,14 @@
|
|||||||
"label": "Deixa as letras perfeitamente sincronizadas",
|
"label": "Deixa as letras perfeitamente sincronizadas",
|
||||||
"tooltip": "Calcular até o milissegundo a exibição da próxima linha (pode ter um pequeno impacto no desempenho)"
|
"tooltip": "Calcular até o milissegundo a exibição da próxima linha (pode ter um pequeno impacto no desempenho)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Provedor Preferido",
|
||||||
|
"none": {
|
||||||
|
"label": "Nenhum",
|
||||||
|
"tooltip": "Sem provedor preferido"
|
||||||
|
},
|
||||||
|
"tooltip": "Escolha o provedor padrão para uso"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Letras romanizadas",
|
"label": "Letras romanizadas",
|
||||||
"tooltip": "Se as letras estiverem em um idioma diferente, tente exibir uma versão latina."
|
"tooltip": "Se as letras estiverem em um idioma diferente, tente exibir uma versão latina."
|
||||||
@ -874,6 +883,27 @@
|
|||||||
"description": "Adiciona um widget TouchBar para usuários do macOS",
|
"description": "Adiciona um widget TouchBar para usuários do macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Faz a janela do app transparente",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacidade",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipo",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrílico",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Nenhum",
|
||||||
|
"tabbed": "Em abas"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Player transparente"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integração com o plugin Tuna do OBS",
|
"description": "Integração com o plugin Tuna do OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -136,13 +136,13 @@
|
|||||||
"start-at-login": "Iniciar com o sistema",
|
"start-at-login": "Iniciar com o sistema",
|
||||||
"starting-page": {
|
"starting-page": {
|
||||||
"label": "Página inicial",
|
"label": "Página inicial",
|
||||||
"unset": "Limpar"
|
"unset": "Indefinida"
|
||||||
},
|
},
|
||||||
"tray": {
|
"tray": {
|
||||||
"label": "Área de notificação",
|
"label": "Área de notificação",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"disabled": "Desativada",
|
"disabled": "Desativada",
|
||||||
"enabled-and-hide-app": "Ativado e ocultar aplicação",
|
"enabled-and-hide-app": "Ativada e ocultar aplicação",
|
||||||
"enabled-and-show-app": "Ativada e a mostrar aplicação",
|
"enabled-and-show-app": "Ativada e a mostrar aplicação",
|
||||||
"play-pause-on-click": "Reprodução/Pausa ao clicar"
|
"play-pause-on-click": "Reprodução/Pausa ao clicar"
|
||||||
}
|
}
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Configurar um dispositivo de saída padrão para as músicas",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Selecionar dispositivo"
|
||||||
|
},
|
||||||
|
"name": "Dispositivo personalizado",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Escolha o dispositivo de saída a utilizar",
|
||||||
|
"title": "Selecione o dispositivo de saída"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Faz com que a música inicie no modo \"pausa\"",
|
"description": "Faz com que a música inicie no modo \"pausa\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Ocultar tempo restante",
|
"hide-duration-left": "Ocultar tempo restante",
|
||||||
"hide-github-button": "Ocultar botão GitHub",
|
"hide-github-button": "Ocultar botão GitHub",
|
||||||
"play-on-youtube-music": "Reproduzir em YouTube Music",
|
"play-on-youtube-music": "Reproduzir em YouTube Music",
|
||||||
"set-inactivity-timeout": "Definir tempo de inatividade"
|
"set-inactivity-timeout": "Definir tempo de inatividade",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Texto de estado",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "A ouvir {artist}",
|
||||||
|
"title": "A ouvir {song title}",
|
||||||
|
"youtube-music": "A reproduzir YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Introduza o 'token' do utilizador ListenBrainz"
|
"token": "Introduza o 'token' do utilizador ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Utilizar artistas alternativos",
|
||||||
"scrobble-alternative-title": "Utilizar títulos alternativos",
|
"scrobble-alternative-title": "Utilizar títulos alternativos",
|
||||||
"scrobble-other-media": "Scrobble de outros conteúdos"
|
"scrobble-other-media": "Scrobble de outros conteúdos"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Sincronização perfeita da entre letra e música",
|
"label": "Sincronização perfeita da entre letra e música",
|
||||||
"tooltip": "Calcular, ao milissegundo, a exibição da linha seguinte (pode ter um pequeno impacto no desempenho)"
|
"tooltip": "Calcular, ao milissegundo, a exibição da linha seguinte (pode ter um pequeno impacto no desempenho)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Serviço preferencial",
|
||||||
|
"none": {
|
||||||
|
"label": "Nenhum",
|
||||||
|
"tooltip": "Nenhum serviço preferencial"
|
||||||
|
},
|
||||||
|
"tooltip": "Escolha o serviço padrão a utilizar"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Letras romanas",
|
"label": "Letras romanas",
|
||||||
"tooltip": "Se as letras estiverem num idioma diferente, tentar mostrar uma versão em latim"
|
"tooltip": "Se as letras estiverem num idioma diferente, tentar mostrar uma versão em latim"
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Adicionar widget TouchBar para utilizadores macOS",
|
"description": "Adicionar widget TouchBar para utilizadores macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Tornar janela da aplicação transparente",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacidade",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tipo",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrílico",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Nada",
|
||||||
|
"tabbed": "Separadores"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Reprodutor transparente"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integração com o plugin Tuna do OBS",
|
"description": "Integração com o plugin Tuna do OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Configurați un dispozitiv de ieșire personalizat pentru melodii",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Selectați dispozitivul"
|
||||||
|
},
|
||||||
|
"name": "Dispozitiv de ieșire personalizat",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Alegeți dispozitivul media de ieșire care va fi utilizat",
|
||||||
|
"title": "Selectați dispozitivul de ieșire"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Face cântecul să înceapă în modul \"pauză\"",
|
"description": "Face cântecul să înceapă în modul \"pauză\"",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Ascunde timpul rămas",
|
"hide-duration-left": "Ascunde timpul rămas",
|
||||||
"hide-github-button": "Ascunde butonul cu link-ul GitHub",
|
"hide-github-button": "Ascunde butonul cu link-ul GitHub",
|
||||||
"play-on-youtube-music": "Redă pe YouTube Music",
|
"play-on-youtube-music": "Redă pe YouTube Music",
|
||||||
"set-inactivity-timeout": "Setează intervalul de inactivitate"
|
"set-inactivity-timeout": "Setează intervalul de inactivitate",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Text stare",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Ascultând {artist}",
|
||||||
|
"title": "Ascultând {song title}",
|
||||||
|
"youtube-music": "Ascultând YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Rich Presence",
|
"name": "Discord Rich Presence",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -712,7 +733,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description": "Permite schimbarea calității video cu un buton prezent peste video",
|
"description": "Permite schimbarea calității video cu un buton prezent peste video",
|
||||||
"name": "Schimbător de calitate video"
|
"name": "Schimbător de calitate video",
|
||||||
|
"renderer": {
|
||||||
|
"quality-settings-button": {
|
||||||
|
"label": "Deschide setările de calitate"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"scrobbler": {
|
"scrobbler": {
|
||||||
"description": "Adaugă asistenta pentru scrobbling (etc. last.fm, Listenbrainz)",
|
"description": "Adaugă asistenta pentru scrobbling (etc. last.fm, Listenbrainz)",
|
||||||
@ -731,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Introdu token-ul de utilizator ListenBrainz"
|
"token": "Introdu token-ul de utilizator ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Utilizați artiști alternativi",
|
||||||
"scrobble-alternative-title": "Folosește titluri alternative",
|
"scrobble-alternative-title": "Folosește titluri alternative",
|
||||||
"scrobble-other-media": "Scrobble alte surse media"
|
"scrobble-other-media": "Scrobble alte surse media"
|
||||||
},
|
},
|
||||||
@ -816,6 +843,14 @@
|
|||||||
"label": "Sincronizează versurile perfect",
|
"label": "Sincronizează versurile perfect",
|
||||||
"tooltip": "Calculează afisarea următoarei linii până la milisecundă (poate afecta performanța)"
|
"tooltip": "Calculează afisarea următoarei linii până la milisecundă (poate afecta performanța)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Furnizor preferat",
|
||||||
|
"none": {
|
||||||
|
"label": "Niciunul",
|
||||||
|
"tooltip": "Niciun furnizor preferat"
|
||||||
|
},
|
||||||
|
"tooltip": "Alegeți furnizorul preferat"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Transcrie versurile în alfabet latin",
|
"label": "Transcrie versurile în alfabet latin",
|
||||||
"tooltip": "Dacă versurile sunt într-o altă limbă, încearcă să afișezi o versiune în alfabet latin."
|
"tooltip": "Dacă versurile sunt într-o altă limbă, încearcă să afișezi o versiune în alfabet latin."
|
||||||
@ -848,6 +883,27 @@
|
|||||||
"description": "Adaugă un widget TouchBar pentru utilizatorii macOS",
|
"description": "Adaugă un widget TouchBar pentru utilizatorii macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Face fereastra aplicației transparentă",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacitate",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tip",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Acrilic",
|
||||||
|
"mica": "Efect mica",
|
||||||
|
"none": "Niciunul",
|
||||||
|
"tabbed": "Cu file"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Player transparent"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integrare cu plugin-ul OBS Tuna",
|
"description": "Integrare cu plugin-ul OBS Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -53,9 +53,9 @@
|
|||||||
"later": "Позже",
|
"later": "Позже",
|
||||||
"restart-now": "Перезапустить сейчас"
|
"restart-now": "Перезапустить сейчас"
|
||||||
},
|
},
|
||||||
"detail": "Перезагрузите приложение для включения плагина {{pluginName}}",
|
"detail": "Перезапустите приложение для включения плагина {{pluginName}}",
|
||||||
"message": "{{pluginName}} нуждается в перезагрузке",
|
"message": "Перезапуск для применения плагина {{pluginName}}",
|
||||||
"title": "Нужна перезагрузка"
|
"title": "Нужен перезапуск"
|
||||||
},
|
},
|
||||||
"unresponsive": {
|
"unresponsive": {
|
||||||
"buttons": {
|
"buttons": {
|
||||||
@ -191,8 +191,8 @@
|
|||||||
"view": {
|
"view": {
|
||||||
"label": "Вид",
|
"label": "Вид",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"force-reload": "Принудительная перезагрузка",
|
"force-reload": "Принудительный перезапуск",
|
||||||
"reload": "Перезагрузить",
|
"reload": "Перезапустить",
|
||||||
"reset-zoom": "Текущий размер",
|
"reset-zoom": "Текущий размер",
|
||||||
"toggle-fullscreen": "Включить полноэкранный режим",
|
"toggle-fullscreen": "Включить полноэкранный режим",
|
||||||
"zoom-in": "Приблизить",
|
"zoom-in": "Приблизить",
|
||||||
@ -205,7 +205,7 @@
|
|||||||
"play-pause": "Пауза/Продолжить",
|
"play-pause": "Пауза/Продолжить",
|
||||||
"previous": "Предыдущий",
|
"previous": "Предыдущий",
|
||||||
"quit": "Выйти",
|
"quit": "Выйти",
|
||||||
"restart": "Перезагрузить приложение",
|
"restart": "Перезапустить приложение",
|
||||||
"show": "Показать окно",
|
"show": "Показать окно",
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"default": "YouTube Music",
|
"default": "YouTube Music",
|
||||||
@ -843,6 +843,14 @@
|
|||||||
"label": "Идеально синхронизировать слова",
|
"label": "Идеально синхронизировать слова",
|
||||||
"tooltip": "До миллисекунды рассчитывает отображение следующей строки(может оказать небольшое влияние на производительность)"
|
"tooltip": "До миллисекунды рассчитывает отображение следующей строки(может оказать небольшое влияние на производительность)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Предпочитаемый источник",
|
||||||
|
"none": {
|
||||||
|
"label": "Никакой",
|
||||||
|
"tooltip": "Нет предпочитаемого источника"
|
||||||
|
},
|
||||||
|
"tooltip": "Выберите источник по умолчанию"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Романизировать слова",
|
"label": "Романизировать слова",
|
||||||
"tooltip": "Если слова на другом языке, пытаться отображать версию на латинице."
|
"tooltip": "Если слова на другом языке, пытаться отображать версию на латинице."
|
||||||
@ -887,10 +895,10 @@
|
|||||||
"type": {
|
"type": {
|
||||||
"label": "Тип",
|
"label": "Тип",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"acrylic": "Acrylic",
|
"acrylic": "Акриловый",
|
||||||
"mica": "Mica",
|
"mica": "Слюдяной",
|
||||||
"none": "Отключено",
|
"none": "Отключено",
|
||||||
"tabbed": "Tabbed"
|
"tabbed": "Страничный"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
214
src/i18n/resources/sk.json
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
{
|
||||||
|
"common": {
|
||||||
|
"console": {
|
||||||
|
"plugins": {
|
||||||
|
"execute-failed": "Nepodarilo sa spustiť plugin {{pluginName}}:{{contextName}}",
|
||||||
|
"executed-at-ms": "Plugin {{pluginName}}::{{contextName}} spustený za {{ms}}ms",
|
||||||
|
"initialize-failed": "Zlyhalo spustenie \"{{pluginName}}\" pluginu",
|
||||||
|
"load-all": "Načítavanie všetkých pluginov",
|
||||||
|
"load-failed": "Načítanie \"{{pluginName}}\" pluginu zlyhalo",
|
||||||
|
"loaded": "Plugin \"{{pluginName}}\" sa načítal",
|
||||||
|
"unload-failed": "Zlyhalo vypnutie \"{{pluginName}}\" pluginu",
|
||||||
|
"unloaded": "Plugin \"{{pluginName}}\" bol vypnutý"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"code": "sk",
|
||||||
|
"local-name": "Slovenčina",
|
||||||
|
"name": "Slovak"
|
||||||
|
},
|
||||||
|
"main": {
|
||||||
|
"console": {
|
||||||
|
"did-finish-load": {
|
||||||
|
"dev-tools": "Načítanie dokončené. DevTools otvorené"
|
||||||
|
},
|
||||||
|
"i18n": {
|
||||||
|
"loaded": "i18n načítaný"
|
||||||
|
},
|
||||||
|
"second-instance": {
|
||||||
|
"receive-command": "Prijatý príkaz skrze protokol \"{{command}}\""
|
||||||
|
},
|
||||||
|
"theme": {
|
||||||
|
"css-file-not-found": "CSS súbor \"{{cssFile}}\" neexistuje, ignorované"
|
||||||
|
},
|
||||||
|
"unresponsive": {
|
||||||
|
"details": "Aplikácia nereaguje\n{{error}}"
|
||||||
|
},
|
||||||
|
"when-ready": {
|
||||||
|
"clearing-cache-after-20s": "Čistenie medzipamäte aplikácie"
|
||||||
|
},
|
||||||
|
"window": {
|
||||||
|
"tried-to-render-offscreen": "Okno sa pokúšalo vykresliť na pozadí, windowSize={{windowSize}}, displaySize={{displaySize}}, position={{position}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dialog": {
|
||||||
|
"hide-menu-enabled": {
|
||||||
|
"detail": "Menu je skryté, stlačte \"Alt\" na zobrazenie (alebo \"Escape\" keď používate Aplikačné menu)",
|
||||||
|
"message": "Skryté menu je zapnuté",
|
||||||
|
"title": "Skryté menu zapnuté"
|
||||||
|
},
|
||||||
|
"need-to-restart": {
|
||||||
|
"buttons": {
|
||||||
|
"later": "Neskôr",
|
||||||
|
"restart-now": "Reštartovať teraz"
|
||||||
|
},
|
||||||
|
"detail": "\"{{pluginName}}\" plugin potrebuje reštart aby sa spustil",
|
||||||
|
"message": "\"{{pluginName}}\" sa potrebuje reštartovať",
|
||||||
|
"title": "Reštart potrebný"
|
||||||
|
},
|
||||||
|
"unresponsive": {
|
||||||
|
"buttons": {
|
||||||
|
"quit": "Skončiť",
|
||||||
|
"relaunch": "Spustiť znova",
|
||||||
|
"wait": "Počkajte"
|
||||||
|
},
|
||||||
|
"detail": "Ospravedlňujeme sa za nepríjemnosti! prosím vyberte, čo robiť:",
|
||||||
|
"message": "Aplikácia nereaguje",
|
||||||
|
"title": "Okno nereaguje"
|
||||||
|
},
|
||||||
|
"update-available": {
|
||||||
|
"buttons": {
|
||||||
|
"disable": "Vypnúť aktualizácie",
|
||||||
|
"download": "Sťiahnuť",
|
||||||
|
"ok": "OK"
|
||||||
|
},
|
||||||
|
"detail": "Nová verzia je k dispozícii a je možné ju stiahnuť na {{downloadLink}}",
|
||||||
|
"message": "Nová verzia je k dispozícii",
|
||||||
|
"title": "Aktualizácia je k dispozícii"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menu": {
|
||||||
|
"about": "O nás",
|
||||||
|
"navigation": {
|
||||||
|
"label": "Navigovať",
|
||||||
|
"submenu": {
|
||||||
|
"copy-current-url": "Skopírovať aktuálnu URL",
|
||||||
|
"go-back": "Späť",
|
||||||
|
"go-forward": "Dopredu",
|
||||||
|
"quit": "Skončiť",
|
||||||
|
"restart": "Reštartovať Aplikáciu"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"options": {
|
||||||
|
"label": "Možnosti",
|
||||||
|
"submenu": {
|
||||||
|
"advanced-options": {
|
||||||
|
"label": "Rozšírené možnosti",
|
||||||
|
"submenu": {
|
||||||
|
"auto-reset-app-cache": "Vymazať vyrovnávaciu pamäť, pri štarte",
|
||||||
|
"disable-hardware-acceleration": "Vypnúť hardvérovú akceleráciu",
|
||||||
|
"edit-config-json": "Upraviť config.json",
|
||||||
|
"override-user-agent": "Prepísať User-Agent",
|
||||||
|
"restart-on-config-changes": "Reštartovať pri zmene configu",
|
||||||
|
"set-proxy": {
|
||||||
|
"label": "Nastavtiť proxy",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Zadajte Proxy adresu: (nechajte prázdne pre vypnutie)",
|
||||||
|
"placeholder": "Príklad: SOCKS5://127.0.0.1:9999",
|
||||||
|
"title": "Nastavtiť proxy"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"toggle-dev-tools": "Prepnúť DevTools"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"always-on-top": "Vždy na vrchu",
|
||||||
|
"auto-update": "Automatická aktualizácia",
|
||||||
|
"hide-menu": {
|
||||||
|
"dialog": {
|
||||||
|
"message": "Menu bude skryté pri ďalšom štarte, použite [Alt] na ukázanie (alebo [`] ak používate aplikačné menu)",
|
||||||
|
"title": "Skryté menu Zapnuté"
|
||||||
|
},
|
||||||
|
"label": "Skryť menu"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"dialog": {
|
||||||
|
"message": "Jazyk sa zmení po reštarte",
|
||||||
|
"title": "Jazyk sa zmenil"
|
||||||
|
},
|
||||||
|
"label": "Jazyk",
|
||||||
|
"submenu": {
|
||||||
|
"to-help-translate": "Chcete pomôcť preložiť? Kliknite sem"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resume-on-start": "Pokračovať od poslednej piesne, pri spustení aplikácie",
|
||||||
|
"single-instance-lock": "Zámok jedného spustenia",
|
||||||
|
"start-at-login": "Spustiť pri štarte",
|
||||||
|
"starting-page": {
|
||||||
|
"label": "Spúšťacia stránka",
|
||||||
|
"unset": "Nevybrať"
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"label": "Panel oznámení",
|
||||||
|
"submenu": {
|
||||||
|
"disabled": "Vypnuý",
|
||||||
|
"enabled-and-hide-app": "Zapnutý , a skryť okno aplikácie",
|
||||||
|
"enabled-and-show-app": "Spustené a ukáž aplikáciu",
|
||||||
|
"play-pause-on-click": "Prehrať/Pozastaviť na stlačenie"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"visual-tweaks": {
|
||||||
|
"label": "Vizuálne úpravy",
|
||||||
|
"submenu": {
|
||||||
|
"custom-window-title": {
|
||||||
|
"label": "Vlastný názov okna",
|
||||||
|
"prompt": {
|
||||||
|
"label": "Napíšte vlastný názov okna: (nechajte prázdne pre vypnutie)",
|
||||||
|
"placeholder": "Napríklad: YouTube Music"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"like-buttons": {
|
||||||
|
"default": "Základný",
|
||||||
|
"force-show": "Vynútiť zobrazenie",
|
||||||
|
"hide": "Skryť",
|
||||||
|
"label": "Like tlačítko"
|
||||||
|
},
|
||||||
|
"remove-upgrade-button": "Odstrániť tlačidlo povýšiť",
|
||||||
|
"theme": {
|
||||||
|
"dialog": {
|
||||||
|
"button": {
|
||||||
|
"cancel": "Zrušiť",
|
||||||
|
"remove": "Odstrániť"
|
||||||
|
},
|
||||||
|
"remove-theme": "Ste si istý že chcete odstrániť tento vlastný štýl?",
|
||||||
|
"remove-theme-message": "Toto odstráni vlastný štýl"
|
||||||
|
},
|
||||||
|
"label": "Štýl",
|
||||||
|
"submenu": {
|
||||||
|
"import-css-file": "Nahrať vlasný CSS súbor",
|
||||||
|
"no-theme": "Žiadny štýl"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"plugins": {
|
||||||
|
"enabled": "Zapnuté",
|
||||||
|
"new": "NOVÝ"
|
||||||
|
},
|
||||||
|
"view": {
|
||||||
|
"submenu": {
|
||||||
|
"force-reload": "Natvrdo obnoviť",
|
||||||
|
"reload": "Obnoviť",
|
||||||
|
"reset-zoom": "Ozajstná veľkosť",
|
||||||
|
"toggle-fullscreen": "Prepnúť režim Celej Obrazovky",
|
||||||
|
"zoom-in": "Priblížiť",
|
||||||
|
"zoom-out": "Oddialiť"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"next": "Ďalšie",
|
||||||
|
"play-pause": "Prehrať/Pozastaviť",
|
||||||
|
"previous": "Predcházdajúce",
|
||||||
|
"quit": "Skončiť",
|
||||||
|
"restart": "Reštartovať aplikáciu",
|
||||||
|
"show": "Zobraziť okno",
|
||||||
|
"tooltip": {
|
||||||
|
"default": "YouTube Hudba",
|
||||||
|
"with-song-info": "Youtube Hudba: {{artist}} - {{title}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Konfigurišite prilagođeni izlazni medijski uređaj za pesme",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Izaberite uređaj"
|
||||||
|
},
|
||||||
|
"name": "Prilagođeni izlazni uređaj",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Izaberite izlazni medijski uređaj koji će se koristiti",
|
||||||
|
"title": "Izaberite izlazni uređaj"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Numere se pokreću u pauziranom režimu",
|
"description": "Numere se pokreću u pauziranom režimu",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Sakrij preostalo vreme",
|
"hide-duration-left": "Sakrij preostalo vreme",
|
||||||
"hide-github-button": "Sakrij dugme sa GitHub linkom",
|
"hide-github-button": "Sakrij dugme sa GitHub linkom",
|
||||||
"play-on-youtube-music": "Reprodukuj na YouTube Muzici",
|
"play-on-youtube-music": "Reprodukuj na YouTube Muzici",
|
||||||
"set-inactivity-timeout": "Podesi tajmer za neaktivnost"
|
"set-inactivity-timeout": "Podesi tajmer za neaktivnost",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Tekst statusa",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Slušanje {artist}",
|
||||||
|
"title": "Slušanje {song title}",
|
||||||
|
"youtube-music": "Slušanje YouTube muzike"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Bogato Prisustvo",
|
"name": "Discord Bogato Prisustvo",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Unesi korisnički žeton za ListenBrainz"
|
"token": "Unesi korisnički žeton za ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Koristi alternativne izvođače",
|
||||||
"scrobble-alternative-title": "Koristi alternativne naslove",
|
"scrobble-alternative-title": "Koristi alternativne naslove",
|
||||||
"scrobble-other-media": "Učetkaj druge medije"
|
"scrobble-other-media": "Učetkaj druge medije"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Učini da tekst pesme bude savršeno usklađen",
|
"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 učinak)"
|
"tooltip": "Izračunaj do milisekunde prikaz sledeće linije teksta (može malo uticati na učinak)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Preferirani dobavljač",
|
||||||
|
"none": {
|
||||||
|
"label": "Nijedan",
|
||||||
|
"tooltip": "Bez preferiranog dobavljača"
|
||||||
|
},
|
||||||
|
"tooltip": "Izaberite podrazumevanog dobavljača kog ćete koristiti"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanizuj tekstove pesama",
|
"label": "Romanizuj tekstove pesama",
|
||||||
"tooltip": "Ako je tekst pesme na drugom jeziku, pokušaj da ga prikažeš u latiničnoj varijanti."
|
"tooltip": "Ako je tekst pesme na drugom jeziku, pokušaj da ga prikažeš u latiničnoj varijanti."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Dodaje dodatak dodirne trake za macOS korisnike",
|
"description": "Dodaje dodatak dodirne trake za macOS korisnike",
|
||||||
"name": "Dodirna Traka"
|
"name": "Dodirna Traka"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Čini prozor aplikacije transparentnim",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Neprozirnost",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Tip",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Akrilan",
|
||||||
|
"mica": "Mika",
|
||||||
|
"none": "Nijedan",
|
||||||
|
"tabbed": "Kartice"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Transparentni plejer"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integracija sa OBS-ovim Tuna dodatkom",
|
"description": "Integracija sa OBS-ovim Tuna dodatkom",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -86,7 +86,7 @@
|
|||||||
"copy-current-url": "Kopiera nuvarande länk",
|
"copy-current-url": "Kopiera nuvarande länk",
|
||||||
"go-back": "Gå tillbaka",
|
"go-back": "Gå tillbaka",
|
||||||
"go-forward": "Gå framåt",
|
"go-forward": "Gå framåt",
|
||||||
"quit": "Lämna",
|
"quit": "Avsluta",
|
||||||
"restart": "Starta om appen"
|
"restart": "Starta om appen"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "Konfigurera en anpassad utdataenhet för låtar",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "Välj enhet"
|
||||||
|
},
|
||||||
|
"name": "Anpassad Utdataenhet",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "Välj den utdataenhet som ska användas",
|
||||||
|
"title": "Välj utdataenhet"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "Starta låt i \"pausat\" läge",
|
"description": "Starta låt i \"pausat\" läge",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "Dölj återstående tid",
|
"hide-duration-left": "Dölj återstående tid",
|
||||||
"hide-github-button": "Dölj knapp för GitHub-länk",
|
"hide-github-button": "Dölj knapp för GitHub-länk",
|
||||||
"play-on-youtube-music": "Spela på YouTube Music",
|
"play-on-youtube-music": "Spela på YouTube Music",
|
||||||
"set-inactivity-timeout": "Ställ in inaktivitetstid"
|
"set-inactivity-timeout": "Ställ in inaktivitetstid",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "Statusmeddelande",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "Lyssnar på {artist}",
|
||||||
|
"title": "Lyssnar på {song title}",
|
||||||
|
"youtube-music": "Lyssnar på YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord Aktivitetsdelning",
|
"name": "Discord Aktivitetsdelning",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "Ange ListenBrainz användartoken"
|
"token": "Ange ListenBrainz användartoken"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "Använd alternativa artister",
|
||||||
"scrobble-alternative-title": "Använd alternativa titlar",
|
"scrobble-alternative-title": "Använd alternativa titlar",
|
||||||
"scrobble-other-media": "Scrobbla annan media"
|
"scrobble-other-media": "Scrobbla annan media"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "Gör låttexterna perfekt synkroniserade",
|
"label": "Gör låttexterna perfekt synkroniserade",
|
||||||
"tooltip": "Beräkna till millisekunden när nästa rad ska visas (kan ha en liten inverkan på prestanda)"
|
"tooltip": "Beräkna till millisekunden när nästa rad ska visas (kan ha en liten inverkan på prestanda)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Föredragen leverantör",
|
||||||
|
"none": {
|
||||||
|
"label": "Ingen",
|
||||||
|
"tooltip": "Ingen föredragen leverantör"
|
||||||
|
},
|
||||||
|
"tooltip": "Välj standardleverantör att använda"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Romanisera låttexter",
|
"label": "Romanisera låttexter",
|
||||||
"tooltip": "Om låttexterna är på ett annat språk, försök visa en latinsk version."
|
"tooltip": "Om låttexterna är på ett annat språk, försök visa en latinsk version."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "Lägger till en TouchBar-widget för macOS-användare",
|
"description": "Lägger till en TouchBar-widget för macOS-användare",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "Gör appfönstret genomskinligt",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "Opacitet",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "Typ",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "Akryl",
|
||||||
|
"mica": "Mica",
|
||||||
|
"none": "Ingen",
|
||||||
|
"tabbed": "Flikad"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "Genomskinlig Spelare"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "Integration med OBS-pluginprogrammet Tuna",
|
"description": "Integration med OBS-pluginprogrammet Tuna",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "பாடல்களுக்கான தனிப்பயன் வெளியீட்டு ஊடக சாதனத்தை கட்டமைக்கவும்",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "சாதனத்தை தேர்ந்தெடுக்கவும்"
|
||||||
|
},
|
||||||
|
"name": "விருப்பமான வெளியிட்டு சாதனம்",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "பயன்படுத்தப்பட வேண்டிய வெளிப்பாட்டு ஊடக சாதனத்தை தேர்ந்தெடுக்கவும்",
|
||||||
|
"title": "வெளியிட்டு சாதனத்தை தேர்ந்தெடுக்கவும்"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "\"இடைநிறுத்தப்பட்ட\" பயன்முறையில் பாடல் தொடங்குகிறது",
|
"description": "\"இடைநிறுத்தப்பட்ட\" பயன்முறையில் பாடல் தொடங்குகிறது",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "காலம் மீதமுள்ளதை மறைக்கவும்",
|
"hide-duration-left": "காலம் மீதமுள்ளதை மறைக்கவும்",
|
||||||
"hide-github-button": "அறிவிலிமையம் இணைப்பு பொத்தானை மறைக்கவும்",
|
"hide-github-button": "அறிவிலிமையம் இணைப்பு பொத்தானை மறைக்கவும்",
|
||||||
"play-on-youtube-music": "யூடியூப் இசையில் விளையாடுங்கள்",
|
"play-on-youtube-music": "யூடியூப் இசையில் விளையாடுங்கள்",
|
||||||
"set-inactivity-timeout": "செயலற்ற நேரம் முடிந்தது"
|
"set-inactivity-timeout": "செயலற்ற நேரம் முடிந்தது",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "நிலை உரை",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "{கலைஞர்} பாடலைக் கேட்கிறேன்",
|
||||||
|
"title": "பாடலைக் கேட்கிறேன்{பாடல் தலைப்பு}",
|
||||||
|
"youtube-music": "வலையொளி இசையில் கேட்கிறது"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "முரண்பாடு பணக்கார இருப்பு",
|
"name": "முரண்பாடு பணக்கார இருப்பு",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "WeskBrainz பயனர் கிள்ளாக்கை உள்ளிடவும்"
|
"token": "WeskBrainz பயனர் கிள்ளாக்கை உள்ளிடவும்"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "மாற்று கலைஞர்களை பயன்படுத்துங்கள்",
|
||||||
"scrobble-alternative-title": "மாற்று தலைப்புகளைப் பயன்படுத்தவும்",
|
"scrobble-alternative-title": "மாற்று தலைப்புகளைப் பயன்படுத்தவும்",
|
||||||
"scrobble-other-media": "மற்ற ஊடகங்களை வெல்லுங்கள்"
|
"scrobble-other-media": "மற்ற ஊடகங்களை வெல்லுங்கள்"
|
||||||
},
|
},
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "பாடல் வரிகளை சரியாக ஒத்திசைக்கவும்",
|
"label": "பாடல் வரிகளை சரியாக ஒத்திசைக்கவும்",
|
||||||
"tooltip": "அடுத்த வரியின் காட்சியைக் கணக்கிடுங்கள் (செயல்திறனில் ஒரு சிறிய தாக்கத்தை ஏற்படுத்தும்)"
|
"tooltip": "அடுத்த வரியின் காட்சியைக் கணக்கிடுங்கள் (செயல்திறனில் ஒரு சிறிய தாக்கத்தை ஏற்படுத்தும்)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "விருப்பமான வழங்குநர்",
|
||||||
|
"none": {
|
||||||
|
"label": "இல்லை",
|
||||||
|
"tooltip": "விருப்பமான வழங்குநர் இல்லை"
|
||||||
|
},
|
||||||
|
"tooltip": "வழமையான வழங்குநரை தேர்ந்தெடுக்கவும்"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "பாடல் வரிகள் ரோமானியமாக்குங்கள்",
|
"label": "பாடல் வரிகள் ரோமானியமாக்குங்கள்",
|
||||||
"tooltip": "பாடல் வரிகள் வேறு மொழியில் இருந்தால், லத்தீன் பதிப்பைக் காட்ட முயற்சிக்கவும்."
|
"tooltip": "பாடல் வரிகள் வேறு மொழியில் இருந்தால், லத்தீன் பதிப்பைக் காட்ட முயற்சிக்கவும்."
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "MACOS பயனர்களுக்கான டச்ச்பார் விட்செட்டை சேர்க்கிறது",
|
"description": "MACOS பயனர்களுக்கான டச்ச்பார் விட்செட்டை சேர்க்கிறது",
|
||||||
"name": "டக்பார்"
|
"name": "டக்பார்"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "பயன்பாட்டு சாளரத்தை வெளிப்படையானதாக மாற்றுக",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "ஒளிபுகாநிலை",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "வகை",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "மங்கலான திரை தோற்றம்",
|
||||||
|
"mica": "மெல்லிய ஒளிவிடும் பின்புல தோற்றம் / மின்மினி கண்ணாடி",
|
||||||
|
"none": "மாற்றமில்லை அல்லது ஒன்றுமில்லை",
|
||||||
|
"tabbed": "ஒருங்கிணைக்கப்பற்ற பிரிவுகள்"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "வெளிப்படையான சாதனம்"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "OBS இன் சொருகி டுனாவுடன் ஒருங்கிணைப்பு",
|
"description": "OBS இன் சொருகி டுனாவுடன் ஒருங்கிணைப்பு",
|
||||||
"name": "டுனா குறிப்பு"
|
"name": "டுனா குறிப்பு"
|
||||||
|
|||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "ตั้งค่าอุปกรณ์เสียงออกสำหรับเพลง",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "เลือกอุปกรณ์"
|
||||||
|
},
|
||||||
|
"name": "อุปกรณ์เสียงออกที่กำหนดเอง",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "เลือกอุปกรณ์เสียงออกที่ต้องการใช้",
|
||||||
|
"title": "เลือกอุปกรณ์เสียงออก"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "เริ่มเพลงในโหมดหยุดชั่วคราว",
|
"description": "เริ่มเพลงในโหมดหยุดชั่วคราว",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -744,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "ใส่ user token ของ ListenBrainz"
|
"token": "ใส่ user token ของ ListenBrainz"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "ใช้ชื่อศิลปินอื่น",
|
||||||
"scrobble-alternative-title": "ใช้ชื่ออื่น",
|
"scrobble-alternative-title": "ใช้ชื่ออื่น",
|
||||||
"scrobble-other-media": "บันทึกการเล่นสื่ออื่นๆ"
|
"scrobble-other-media": "บันทึกการเล่นสื่ออื่นๆ"
|
||||||
},
|
},
|
||||||
@ -829,6 +843,14 @@
|
|||||||
"label": "ให้เนื้อเพลงตรงกับเพลงเป๊ะๆ",
|
"label": "ให้เนื้อเพลงตรงกับเพลงเป๊ะๆ",
|
||||||
"tooltip": "คำนวณมิลิวินาทีในการแสดงบรรทัดถัดไป (มีผลเล็กน้อยกับประสิทธิภาพการทำงาน)"
|
"tooltip": "คำนวณมิลิวินาทีในการแสดงบรรทัดถัดไป (มีผลเล็กน้อยกับประสิทธิภาพการทำงาน)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "ผู้ให้บริการที่ต้องการ",
|
||||||
|
"none": {
|
||||||
|
"label": "ไม่มี",
|
||||||
|
"tooltip": "ไม่มีผู้ให้บริการที่ต้องการ"
|
||||||
|
},
|
||||||
|
"tooltip": "เลือกผู้ให้บริการที่ต้องการใช้งาน"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "เนื้อเพลงตัวด้วยอักษรโรมัน",
|
"label": "เนื้อเพลงตัวด้วยอักษรโรมัน",
|
||||||
"tooltip": "ถ้าหากเนื้อเพลงอยู่ในภาษาอื่น ลองเปลี่ยนการแสดงผลโดยใช้เวอร์ชั่นลาติน"
|
"tooltip": "ถ้าหากเนื้อเพลงอยู่ในภาษาอื่น ลองเปลี่ยนการแสดงผลโดยใช้เวอร์ชั่นลาติน"
|
||||||
@ -861,6 +883,27 @@
|
|||||||
"description": "เพิ่ม Widget บน TouchBar สำหรับผู้ใช้ macOS",
|
"description": "เพิ่ม Widget บน TouchBar สำหรับผู้ใช้ macOS",
|
||||||
"name": "TouchBar"
|
"name": "TouchBar"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "ทำให้หน้าต่างของแอปโปร่งใส",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "ความทึบแสง",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "ประเภท",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "อะคริลิก",
|
||||||
|
"mica": "ไมกา",
|
||||||
|
"none": "ไม่มี",
|
||||||
|
"tabbed": "Tabbed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "ที่เล่นเพลงโปร่งใส"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "ใช้งานร่วมกันกับปลั้กอิน Tuna บน OBS",
|
"description": "ใช้งานร่วมกันกับปลั้กอิน Tuna บน OBS",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
@ -843,6 +843,14 @@
|
|||||||
"label": "Şarkı sözlerini mükemmel şekilde senkronize edin",
|
"label": "Şarkı sözlerini mükemmel şekilde senkronize edin",
|
||||||
"tooltip": "Bir sonraki satırın görüntülenmesini milisaniyesine kadar hesaplayın (performans üzerinde küçük bir etkisi olabilir)"
|
"tooltip": "Bir sonraki satırın görüntülenmesini milisaniyesine kadar hesaplayın (performans üzerinde küçük bir etkisi olabilir)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Tercih edilen Sağlayıcı",
|
||||||
|
"none": {
|
||||||
|
"label": "Hiçbiri",
|
||||||
|
"tooltip": "Varsayılan sağlayıcı yok"
|
||||||
|
},
|
||||||
|
"tooltip": "Kullanmak İçin varsayılan sağlayıcıyı seçin"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Sözleri Romanize Et",
|
"label": "Sözleri Romanize Et",
|
||||||
"tooltip": "Sözler başka bir dilde gözüküyorsa, Latin versiyonunu dene."
|
"tooltip": "Sözler başka bir dilde gözüküyorsa, Latin versiyonunu dene."
|
||||||
|
|||||||
@ -843,6 +843,14 @@
|
|||||||
"label": "Làm cho lời bài hát được đồng bộ hoàn hảo",
|
"label": "Làm cho lời bài hát được đồng bộ hoàn hảo",
|
||||||
"tooltip": "Tính toán chính xác đến mili giây thời gian hiển thị dòng tiếp theo (có thể có tác động nhỏ đến hiệu suất)"
|
"tooltip": "Tính toán chính xác đến mili giây thời gian hiển thị dòng tiếp theo (có thể có tác động nhỏ đến hiệu suất)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "Nhà cung cấp ưa thích",
|
||||||
|
"none": {
|
||||||
|
"label": "Không có",
|
||||||
|
"tooltip": "Không có nhà cung cấp ưu thích"
|
||||||
|
},
|
||||||
|
"tooltip": "Chọn nhà cung cấp lời bài hát mặc định để sử dụng"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "Chuyển lời bài hát sang chữ Latin",
|
"label": "Chuyển lời bài hát sang chữ Latin",
|
||||||
"tooltip": "Nếu lời bài hát đang ở ngôn ngữ khác, thử hiển thị phiên bản bảng chữ cái La-tinh."
|
"tooltip": "Nếu lời bài hát đang ở ngôn ngữ khác, thử hiển thị phiên bản bảng chữ cái La-tinh."
|
||||||
|
|||||||
@ -843,6 +843,14 @@
|
|||||||
"label": "让滚动歌词完全同步",
|
"label": "让滚动歌词完全同步",
|
||||||
"tooltip": "以毫秒精度估算下句歌词的显示时间(可能对性能有小幅影响)"
|
"tooltip": "以毫秒精度估算下句歌词的显示时间(可能对性能有小幅影响)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "首选歌词源",
|
||||||
|
"none": {
|
||||||
|
"label": "无",
|
||||||
|
"tooltip": "没有首选的歌词源"
|
||||||
|
},
|
||||||
|
"tooltip": "选择默认要用的源"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "将歌词罗马化",
|
"label": "将歌词罗马化",
|
||||||
"tooltip": "如果歌词以不同语言显示,试着展示拉丁字母版本。"
|
"tooltip": "如果歌词以不同语言显示,试着展示拉丁字母版本。"
|
||||||
|
|||||||
@ -151,9 +151,9 @@
|
|||||||
"label": "介面設定",
|
"label": "介面設定",
|
||||||
"submenu": {
|
"submenu": {
|
||||||
"custom-window-title": {
|
"custom-window-title": {
|
||||||
"label": "客制化窗口標題",
|
"label": "客製化窗口標題",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
"label": "輸入客制化窗口標題: (留空讓其禁用)",
|
"label": "輸入客製化窗口標題: (留空讓其停用)",
|
||||||
"placeholder": "例如: YouTube 音樂"
|
"placeholder": "例如: YouTube 音樂"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -421,6 +421,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom-output-device": {
|
||||||
|
"description": "為歌曲設定自訂輸出媒體裝置",
|
||||||
|
"menu": {
|
||||||
|
"device-selector": "選擇裝置"
|
||||||
|
},
|
||||||
|
"name": "自訂輸出裝置",
|
||||||
|
"prompt": {
|
||||||
|
"device-selector": {
|
||||||
|
"label": "選擇要使用的輸出媒體裝置",
|
||||||
|
"title": "選擇輸出裝置"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"disable-autoplay": {
|
"disable-autoplay": {
|
||||||
"description": "讓歌曲開始時為暫停模式",
|
"description": "讓歌曲開始時為暫停模式",
|
||||||
"menu": {
|
"menu": {
|
||||||
@ -444,7 +457,15 @@
|
|||||||
"hide-duration-left": "隱藏音樂剩餘時間狀態",
|
"hide-duration-left": "隱藏音樂剩餘時間狀態",
|
||||||
"hide-github-button": "隱藏 GitHub 頁面按鈕",
|
"hide-github-button": "隱藏 GitHub 頁面按鈕",
|
||||||
"play-on-youtube-music": "顯示 Play on YouTube Music 按鈕",
|
"play-on-youtube-music": "顯示 Play on YouTube Music 按鈕",
|
||||||
"set-inactivity-timeout": "設定閒置狀態時長"
|
"set-inactivity-timeout": "設定閒置狀態時長",
|
||||||
|
"set-status-display-type": {
|
||||||
|
"label": "狀態文字",
|
||||||
|
"submenu": {
|
||||||
|
"artist": "正在聽 {artist}",
|
||||||
|
"title": "正在聽 {song title}",
|
||||||
|
"youtube-music": "正在聽 YouTube Music"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"name": "Discord 狀態",
|
"name": "Discord 狀態",
|
||||||
"prompt": {
|
"prompt": {
|
||||||
@ -645,8 +666,8 @@
|
|||||||
"name": "歌曲播放通知"
|
"name": "歌曲播放通知"
|
||||||
},
|
},
|
||||||
"performance-improvement": {
|
"performance-improvement": {
|
||||||
"description": "使用實驗性的腳本以優化效能",
|
"description": "使用實驗性的腳本以最佳化效能",
|
||||||
"name": "效能優化 [Beta]"
|
"name": "效能最佳化 [Beta]"
|
||||||
},
|
},
|
||||||
"picture-in-picture": {
|
"picture-in-picture": {
|
||||||
"description": "允許應用程式切換至子母畫面模式",
|
"description": "允許應用程式切換至子母畫面模式",
|
||||||
@ -724,7 +745,7 @@
|
|||||||
"dialog": {
|
"dialog": {
|
||||||
"lastfm": {
|
"lastfm": {
|
||||||
"auth-failed": {
|
"auth-failed": {
|
||||||
"message": "Last.fm 認證失敗\n將隱藏彈窗直到重啟。",
|
"message": "Last.fm 認證失敗\n將隱藏彈出視窗直到重啟。",
|
||||||
"title": "認證失敗"
|
"title": "認證失敗"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -736,6 +757,7 @@
|
|||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": "輸入 ListenBrainz 使用者憑證"
|
"token": "輸入 ListenBrainz 使用者憑證"
|
||||||
},
|
},
|
||||||
|
"scrobble-alternative-artist": "使用替代的藝人",
|
||||||
"scrobble-alternative-title": "使用替代歌曲標題",
|
"scrobble-alternative-title": "使用替代歌曲標題",
|
||||||
"scrobble-other-media": "紀錄其他媒體檔案"
|
"scrobble-other-media": "紀錄其他媒體檔案"
|
||||||
},
|
},
|
||||||
@ -743,7 +765,7 @@
|
|||||||
"prompt": {
|
"prompt": {
|
||||||
"lastfm": {
|
"lastfm": {
|
||||||
"api-key": "Last.fm API 金鑰",
|
"api-key": "Last.fm API 金鑰",
|
||||||
"api-secret": "Last.fm API 密鑰"
|
"api-secret": "Last.fm API 金鑰"
|
||||||
},
|
},
|
||||||
"listenbrainz": {
|
"listenbrainz": {
|
||||||
"token": {
|
"token": {
|
||||||
@ -821,6 +843,14 @@
|
|||||||
"label": "使歌詞完美同步",
|
"label": "使歌詞完美同步",
|
||||||
"tooltip": "更精確的計算下一行歌詞的顯示 (將會降低些許效能)"
|
"tooltip": "更精確的計算下一行歌詞的顯示 (將會降低些許效能)"
|
||||||
},
|
},
|
||||||
|
"preferred-provider": {
|
||||||
|
"label": "偏好提供者",
|
||||||
|
"none": {
|
||||||
|
"label": "無",
|
||||||
|
"tooltip": "沒有偏好的提供者"
|
||||||
|
},
|
||||||
|
"tooltip": "選擇要使用的預設提供者"
|
||||||
|
},
|
||||||
"romanization": {
|
"romanization": {
|
||||||
"label": "羅馬拼音化歌詞",
|
"label": "羅馬拼音化歌詞",
|
||||||
"tooltip": "如果歌詞使用不同語言,嘗試使用拉丁文顯示。"
|
"tooltip": "如果歌詞使用不同語言,嘗試使用拉丁文顯示。"
|
||||||
@ -853,6 +883,27 @@
|
|||||||
"description": "為 macOS 使用者新增觸控列支援",
|
"description": "為 macOS 使用者新增觸控列支援",
|
||||||
"name": "觸控列 (Touchbar) 支援"
|
"name": "觸控列 (Touchbar) 支援"
|
||||||
},
|
},
|
||||||
|
"transparent-player": {
|
||||||
|
"description": "讓應用程式視窗變為透明",
|
||||||
|
"menu": {
|
||||||
|
"opacity": {
|
||||||
|
"label": "不透明度",
|
||||||
|
"submenu": {
|
||||||
|
"percent": "{{opacity}}%"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"label": "類型",
|
||||||
|
"submenu": {
|
||||||
|
"acrylic": "壓克力",
|
||||||
|
"mica": "雲母",
|
||||||
|
"none": "無",
|
||||||
|
"tabbed": "分頁式"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"name": "透明撥放器"
|
||||||
|
},
|
||||||
"tuna-obs": {
|
"tuna-obs": {
|
||||||
"description": "與 OBS 的 Tuna 外掛連線",
|
"description": "與 OBS 的 Tuna 外掛連線",
|
||||||
"name": "Tuna OBS"
|
"name": "Tuna OBS"
|
||||||
|
|||||||
1
src/plugins/adblocker/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/ad-blocker-engine.bin
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
function skipAd(target: Element) {
|
|
||||||
const skipButton = target.querySelector<HTMLButtonElement>(
|
|
||||||
'button.ytp-ad-skip-button-modern',
|
|
||||||
);
|
|
||||||
if (skipButton) {
|
|
||||||
skipButton.click();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function speedUpAndMute(player: Element, isAdShowing: boolean) {
|
|
||||||
const video = player.querySelector<HTMLVideoElement>('video');
|
|
||||||
if (!video) return;
|
|
||||||
if (isAdShowing) {
|
|
||||||
video.playbackRate = 16;
|
|
||||||
video.muted = true;
|
|
||||||
} else if (!isAdShowing) {
|
|
||||||
video.playbackRate = 1;
|
|
||||||
video.muted = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export const loadAdSpeedup = () => {
|
|
||||||
const player = document.querySelector<HTMLVideoElement>('#movie_player');
|
|
||||||
if (!player) return;
|
|
||||||
|
|
||||||
new MutationObserver((mutations) => {
|
|
||||||
for (const mutation of mutations) {
|
|
||||||
if (
|
|
||||||
mutation.type === 'attributes' &&
|
|
||||||
mutation.attributeName === 'class'
|
|
||||||
) {
|
|
||||||
const target = mutation.target as HTMLElement;
|
|
||||||
|
|
||||||
const isAdShowing =
|
|
||||||
target.classList.contains('ad-showing') ||
|
|
||||||
target.classList.contains('ad-interrupting');
|
|
||||||
speedUpAndMute(target, isAdShowing);
|
|
||||||
}
|
|
||||||
if (
|
|
||||||
mutation.type === 'childList' &&
|
|
||||||
mutation.addedNodes.length &&
|
|
||||||
mutation.target instanceof HTMLElement
|
|
||||||
) {
|
|
||||||
skipAd(mutation.target);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).observe(player, {
|
|
||||||
attributes: true,
|
|
||||||
childList: true,
|
|
||||||
subtree: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
const isAdShowing =
|
|
||||||
player.classList.contains('ad-showing') ||
|
|
||||||
player.classList.contains('ad-interrupting');
|
|
||||||
speedUpAndMute(player, isAdShowing);
|
|
||||||
skipAd(player);
|
|
||||||
};
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
// Used for caching
|
|
||||||
import path from 'node:path';
|
|
||||||
import fs, { promises } from 'node:fs';
|
|
||||||
|
|
||||||
import { ElectronBlocker } from '@ghostery/adblocker-electron';
|
|
||||||
import { app, net } from 'electron';
|
|
||||||
|
|
||||||
const SOURCES = [
|
|
||||||
'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
|
|
||||||
// UBlock Origin
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2021.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2022.txt',
|
|
||||||
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2023.txt',
|
|
||||||
// Fanboy Annoyances
|
|
||||||
'https://secure.fanboy.co.nz/fanboy-annoyance_ubo.txt',
|
|
||||||
// AdGuard
|
|
||||||
'https://filters.adtidy.org/extension/ublock/filters/122_optimized.txt',
|
|
||||||
];
|
|
||||||
|
|
||||||
let blocker: ElectronBlocker | undefined;
|
|
||||||
|
|
||||||
export const loadAdBlockerEngine = async (
|
|
||||||
session: Electron.Session | undefined = undefined,
|
|
||||||
cache: boolean = true,
|
|
||||||
additionalBlockLists: string[] = [],
|
|
||||||
disableDefaultLists: boolean | unknown[] = false,
|
|
||||||
) => {
|
|
||||||
// Only use cache if no additional blocklists are passed
|
|
||||||
const cacheDirectory = path.join(app.getPath('userData'), 'adblock_cache');
|
|
||||||
if (!fs.existsSync(cacheDirectory)) {
|
|
||||||
fs.mkdirSync(cacheDirectory);
|
|
||||||
}
|
|
||||||
const cachingOptions =
|
|
||||||
cache && additionalBlockLists.length === 0
|
|
||||||
? {
|
|
||||||
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
|
|
||||||
read: promises.readFile,
|
|
||||||
write: promises.writeFile,
|
|
||||||
}
|
|
||||||
: undefined;
|
|
||||||
const lists = [
|
|
||||||
...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||
|
|
||||||
(Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0)
|
|
||||||
? []
|
|
||||||
: SOURCES),
|
|
||||||
...additionalBlockLists,
|
|
||||||
];
|
|
||||||
|
|
||||||
try {
|
|
||||||
blocker = await ElectronBlocker.fromLists(
|
|
||||||
(url: string) => net.fetch(url),
|
|
||||||
lists,
|
|
||||||
{
|
|
||||||
enableCompression: true,
|
|
||||||
// When generating the engine for caching, do not load network filters
|
|
||||||
// So that enhancing the session works as expected
|
|
||||||
// Allowing to define multiple webRequest listeners
|
|
||||||
loadNetworkFilters: session !== undefined,
|
|
||||||
},
|
|
||||||
cachingOptions,
|
|
||||||
);
|
|
||||||
if (session) {
|
|
||||||
blocker.enableBlockingInSession(session);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error loading adBlocker engine', error);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const unloadAdBlockerEngine = (session: Electron.Session) => {
|
|
||||||
if (blocker) {
|
|
||||||
blocker.disableBlockingInSession(session);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const isBlockerEnabled = (session: Electron.Session) =>
|
|
||||||
blocker !== undefined && blocker.isBlockingEnabled(session);
|
|
||||||
@ -1,148 +0,0 @@
|
|||||||
import { contextBridge, webFrame } from 'electron';
|
|
||||||
|
|
||||||
import { blockers } from './types';
|
|
||||||
import { createPlugin } from '@/utils';
|
|
||||||
import {
|
|
||||||
isBlockerEnabled,
|
|
||||||
loadAdBlockerEngine,
|
|
||||||
unloadAdBlockerEngine,
|
|
||||||
} from './blocker';
|
|
||||||
|
|
||||||
import { inject, isInjected } from './injectors/inject';
|
|
||||||
import { loadAdSpeedup } from './adSpeedup';
|
|
||||||
|
|
||||||
import { t } from '@/i18n';
|
|
||||||
|
|
||||||
import type { BrowserWindow } from 'electron';
|
|
||||||
|
|
||||||
interface AdblockerConfig {
|
|
||||||
/**
|
|
||||||
* Whether to enable the adblocker.
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
enabled: boolean;
|
|
||||||
/**
|
|
||||||
* When enabled, the adblocker will cache the blocklists.
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
cache: boolean;
|
|
||||||
/**
|
|
||||||
* Which adblocker to use.
|
|
||||||
* @default blockers.InPlayer
|
|
||||||
*/
|
|
||||||
blocker: (typeof blockers)[keyof typeof blockers];
|
|
||||||
/**
|
|
||||||
* Additional list of filters to use.
|
|
||||||
* @example ["https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt"]
|
|
||||||
* @default []
|
|
||||||
*/
|
|
||||||
additionalBlockLists: string[];
|
|
||||||
/**
|
|
||||||
* Disable the default blocklists.
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
disableDefaultLists: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export default createPlugin({
|
|
||||||
name: () => t('plugins.adblocker.name'),
|
|
||||||
description: () => t('plugins.adblocker.description'),
|
|
||||||
restartNeeded: false,
|
|
||||||
config: {
|
|
||||||
enabled: true,
|
|
||||||
cache: true,
|
|
||||||
blocker: blockers.InPlayer,
|
|
||||||
additionalBlockLists: [],
|
|
||||||
disableDefaultLists: false,
|
|
||||||
} as AdblockerConfig,
|
|
||||||
menu: async ({ getConfig, setConfig }) => {
|
|
||||||
const config = await getConfig();
|
|
||||||
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
label: t('plugins.adblocker.menu.blocker'),
|
|
||||||
submenu: Object.values(blockers).map((blocker) => ({
|
|
||||||
label: blocker,
|
|
||||||
type: 'radio',
|
|
||||||
checked: (config.blocker || blockers.WithBlocklists) === blocker,
|
|
||||||
click() {
|
|
||||||
setConfig({ blocker });
|
|
||||||
},
|
|
||||||
})),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
},
|
|
||||||
renderer: {
|
|
||||||
async onPlayerApiReady(_, { getConfig }) {
|
|
||||||
const config = await getConfig();
|
|
||||||
if (config.blocker === blockers.AdSpeedup) {
|
|
||||||
loadAdSpeedup();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
backend: {
|
|
||||||
mainWindow: null as BrowserWindow | null,
|
|
||||||
async start({ getConfig, window }) {
|
|
||||||
const config = await getConfig();
|
|
||||||
this.mainWindow = window;
|
|
||||||
|
|
||||||
if (config.blocker === blockers.WithBlocklists) {
|
|
||||||
await loadAdBlockerEngine(
|
|
||||||
window.webContents.session,
|
|
||||||
config.cache,
|
|
||||||
config.additionalBlockLists,
|
|
||||||
config.disableDefaultLists,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
stop({ window }) {
|
|
||||||
if (isBlockerEnabled(window.webContents.session)) {
|
|
||||||
unloadAdBlockerEngine(window.webContents.session);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async onConfigChange(newConfig) {
|
|
||||||
if (this.mainWindow) {
|
|
||||||
if (
|
|
||||||
newConfig.blocker === blockers.WithBlocklists &&
|
|
||||||
!isBlockerEnabled(this.mainWindow.webContents.session)
|
|
||||||
) {
|
|
||||||
await loadAdBlockerEngine(
|
|
||||||
this.mainWindow.webContents.session,
|
|
||||||
newConfig.cache,
|
|
||||||
newConfig.additionalBlockLists,
|
|
||||||
newConfig.disableDefaultLists,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
preload: {
|
|
||||||
// see #1478
|
|
||||||
script: `const _prunerFn = window._pruner;
|
|
||||||
window._pruner = undefined;
|
|
||||||
JSON.parse = new Proxy(JSON.parse, {
|
|
||||||
apply() {
|
|
||||||
return _prunerFn(Reflect.apply(...arguments));
|
|
||||||
},
|
|
||||||
});
|
|
||||||
Response.prototype.json = new Proxy(Response.prototype.json, {
|
|
||||||
apply() {
|
|
||||||
return Reflect.apply(...arguments).then((o) => _prunerFn(o));
|
|
||||||
},
|
|
||||||
}); 0`,
|
|
||||||
async start({ getConfig }) {
|
|
||||||
const config = await getConfig();
|
|
||||||
|
|
||||||
if (config.blocker === blockers.InPlayer && !isInjected()) {
|
|
||||||
inject(contextBridge);
|
|
||||||
await webFrame.executeJavaScript(this.script);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async onConfigChange(newConfig) {
|
|
||||||
if (newConfig.blocker === blockers.InPlayer && !isInjected()) {
|
|
||||||
inject(contextBridge);
|
|
||||||
await webFrame.executeJavaScript(this.script);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
export default async () => {
|
|
||||||
await import('@ghostery/adblocker-electron-preload');
|
|
||||||
};
|
|
||||||
5
src/plugins/adblocker/injectors/inject.d.ts
vendored
@ -1,5 +0,0 @@
|
|||||||
import type { ContextBridge } from 'electron';
|
|
||||||
|
|
||||||
export const inject: (contextBridge: ContextBridge) => void;
|
|
||||||
|
|
||||||
export const isInjected: () => boolean;
|
|
||||||
@ -1,259 +0,0 @@
|
|||||||
/* eslint-disable */
|
|
||||||
|
|
||||||
// Source: https://addons.mozilla.org/en-US/firefox/addon/adblock-for-youtube/
|
|
||||||
// https://robwu.nl/crxviewer/?crx=https%3A%2F%2Faddons.mozilla.org%2Fen-US%2Ffirefox%2Faddon%2Fadblock-for-youtube%2F
|
|
||||||
|
|
||||||
/*
|
|
||||||
Parts of this code is derived from set-constant.js:
|
|
||||||
https://github.com/gorhill/uBlock/blob/5de0ce975753b7565759ac40983d31978d1f84ca/assets/resources/scriptlets.js#L704
|
|
||||||
*/
|
|
||||||
|
|
||||||
let injected = false;
|
|
||||||
|
|
||||||
export const isInjected = () => injected;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {Electron.ContextBridge} contextBridge
|
|
||||||
* @returns {*}
|
|
||||||
*/
|
|
||||||
export const inject = (contextBridge) => {
|
|
||||||
injected = true;
|
|
||||||
{
|
|
||||||
const pruner = function (o) {
|
|
||||||
delete o.playerAds;
|
|
||||||
delete o.adPlacements;
|
|
||||||
delete o.adSlots;
|
|
||||||
//
|
|
||||||
if (o.playerResponse) {
|
|
||||||
delete o.playerResponse.playerAds;
|
|
||||||
delete o.playerResponse.adPlacements;
|
|
||||||
delete o.playerResponse.adSlots;
|
|
||||||
}
|
|
||||||
if (o.ytInitialPlayerResponse) {
|
|
||||||
delete o.ytInitialPlayerResponse.playerAds;
|
|
||||||
delete o.ytInitialPlayerResponse.adPlacements;
|
|
||||||
delete o.ytInitialPlayerResponse.adSlots;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
contextBridge.exposeInMainWorld('_pruner', pruner);
|
|
||||||
}
|
|
||||||
|
|
||||||
const chains = [
|
|
||||||
{
|
|
||||||
chain: 'playerResponse.adPlacements',
|
|
||||||
cValue: 'undefined',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
chain: 'ytInitialPlayerResponse.playerAds',
|
|
||||||
cValue: 'undefined',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
chain: 'ytInitialPlayerResponse.adPlacements',
|
|
||||||
cValue: 'undefined',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
chain: 'ytInitialPlayerResponse.adSlots',
|
|
||||||
cValue: 'undefined',
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
chains.forEach(function ({ chain, cValue }) {
|
|
||||||
const thisScript = document.currentScript;
|
|
||||||
//
|
|
||||||
switch (cValue) {
|
|
||||||
case 'null': {
|
|
||||||
cValue = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case "''": {
|
|
||||||
cValue = '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'true': {
|
|
||||||
cValue = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'false': {
|
|
||||||
cValue = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'undefined': {
|
|
||||||
cValue = undefined;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'noopFunc': {
|
|
||||||
cValue = function () {};
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'trueFunc': {
|
|
||||||
cValue = function () {
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case 'falseFunc': {
|
|
||||||
cValue = function () {
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
default: {
|
|
||||||
if (/^\d+$/.test(cValue)) {
|
|
||||||
cValue = Number.parseFloat(cValue);
|
|
||||||
//
|
|
||||||
if (isNaN(cValue)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Math.abs(cValue) > 0x7f_ff) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
let aborted = false;
|
|
||||||
const mustAbort = function (v) {
|
|
||||||
if (aborted) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
aborted =
|
|
||||||
v !== undefined &&
|
|
||||||
v !== null &&
|
|
||||||
cValue !== undefined &&
|
|
||||||
cValue !== null &&
|
|
||||||
typeof v !== typeof cValue;
|
|
||||||
return aborted;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
Support multiple trappers for the same property:
|
|
||||||
https://github.com/uBlockOrigin/uBlock-issues/issues/156
|
|
||||||
*/
|
|
||||||
|
|
||||||
const trapProp = function (owner, prop, configurable, handler) {
|
|
||||||
if (handler.init(owner[prop]) === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
const odesc = Object.getOwnPropertyDescriptor(owner, prop);
|
|
||||||
let previousGetter;
|
|
||||||
let previousSetter;
|
|
||||||
if (odesc instanceof Object) {
|
|
||||||
if (odesc.configurable === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (odesc.get instanceof Function) {
|
|
||||||
previousGetter = odesc.get;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (odesc.set instanceof Function) {
|
|
||||||
previousSetter = odesc.set;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
Object.defineProperty(owner, prop, {
|
|
||||||
configurable,
|
|
||||||
get() {
|
|
||||||
if (previousGetter !== undefined) {
|
|
||||||
previousGetter();
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
return handler.getter();
|
|
||||||
},
|
|
||||||
set(a) {
|
|
||||||
if (previousSetter !== undefined) {
|
|
||||||
previousSetter(a);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
handler.setter(a);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const trapChain = function (owner, chain) {
|
|
||||||
const pos = chain.indexOf('.');
|
|
||||||
if (pos === -1) {
|
|
||||||
trapProp(owner, chain, false, {
|
|
||||||
v: undefined,
|
|
||||||
getter() {
|
|
||||||
return document.currentScript === thisScript ? this.v : cValue;
|
|
||||||
},
|
|
||||||
setter(a) {
|
|
||||||
if (mustAbort(a) === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
cValue = a;
|
|
||||||
},
|
|
||||||
init(v) {
|
|
||||||
if (mustAbort(v)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
this.v = v;
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
//
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
const prop = chain.slice(0, pos);
|
|
||||||
const v = owner[prop];
|
|
||||||
//
|
|
||||||
chain = chain.slice(pos + 1);
|
|
||||||
if (v instanceof Object || (typeof v === 'object' && v !== null)) {
|
|
||||||
trapChain(v, chain);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
trapProp(owner, prop, true, {
|
|
||||||
v: undefined,
|
|
||||||
getter() {
|
|
||||||
return this.v;
|
|
||||||
},
|
|
||||||
setter(a) {
|
|
||||||
this.v = a;
|
|
||||||
if (a instanceof Object) {
|
|
||||||
trapChain(a, chain);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
init(v) {
|
|
||||||
this.v = v;
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
//
|
|
||||||
trapChain(window, chain);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
export const blockers = {
|
|
||||||
WithBlocklists: 'With blocklists',
|
|
||||||
InPlayer: 'In player',
|
|
||||||
AdSpeedup: 'Ad speedup',
|
|
||||||
} as const;
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
import { inject } from 'simple-youtube-age-restriction-bypass';
|
|
||||||
|
|
||||||
import { createPlugin } from '@/utils';
|
|
||||||
import { t } from '@/i18n';
|
|
||||||
|
|
||||||
export default createPlugin({
|
|
||||||
name: () => t('plugins.bypass-age-restrictions.name'),
|
|
||||||
description: () => t('plugins.bypass-age-restrictions.description'),
|
|
||||||
restartNeeded: true,
|
|
||||||
|
|
||||||
// See https://github.com/organization/Simple-YouTube-Age-Restriction-Bypass#userscript
|
|
||||||
renderer: () => inject(),
|
|
||||||
});
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
declare module 'simple-youtube-age-restriction-bypass' {
|
|
||||||
export const inject: () => void;
|
|
||||||
}
|
|
||||||
@ -126,6 +126,7 @@ export const onMainLoad = async ({
|
|||||||
|
|
||||||
yt = await Innertube.create({
|
yt = await Innertube.create({
|
||||||
cache: new UniversalCache(false),
|
cache: new UniversalCache(false),
|
||||||
|
player_id: '0004de42',
|
||||||
cookie: await getCookieFromWindow(win),
|
cookie: await getCookieFromWindow(win),
|
||||||
generate_session_locally: true,
|
generate_session_locally: true,
|
||||||
fetch: getNetFetchAsFetch(),
|
fetch: getNetFetchAsFetch(),
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
import style from './style.css?inline';
|
|
||||||
import { createPlugin } from '@/utils';
|
|
||||||
import { t } from '@/i18n';
|
|
||||||
|
|
||||||
export default createPlugin({
|
|
||||||
name: () => t('plugins.no-google-login.name'),
|
|
||||||
description: () => t('plugins.no-google-login.description'),
|
|
||||||
restartNeeded: true,
|
|
||||||
config: {
|
|
||||||
enabled: false,
|
|
||||||
},
|
|
||||||
stylesheets: [style],
|
|
||||||
renderer() {
|
|
||||||
const elementsToRemove = [
|
|
||||||
'.sign-in-link.ytmusic-nav-bar',
|
|
||||||
'.ytmusic-pivot-bar-renderer[tab-id="FEmusic_liked"]',
|
|
||||||
];
|
|
||||||
|
|
||||||
for (const selector of elementsToRemove) {
|
|
||||||
const node = document.querySelector(selector);
|
|
||||||
if (node) {
|
|
||||||
node.remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
.ytmusic-pivot-bar-renderer[tab-id='FEmusic_liked'],
|
|
||||||
ytmusic-guide-signin-promo-renderer,
|
|
||||||
a[href='/music_premium'],
|
|
||||||
.sign-in-link {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
@ -314,38 +314,37 @@ export default createPlugin({
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (config.mode !== 'native' && config.mode != 'disabled') {
|
if (config.mode !== 'native' && config.mode != 'disabled') {
|
||||||
document
|
setTimeout(() => {
|
||||||
.querySelector<HTMLVideoElement>('#player')
|
const playerSelector =
|
||||||
?.prepend(switchButtonContainer);
|
document.querySelector<HTMLVideoElement>('#player');
|
||||||
|
if (!playerSelector) return;
|
||||||
|
|
||||||
setVideoState(!config.hideVideo);
|
playerSelector.prepend(switchButtonContainer);
|
||||||
forcePlaybackMode();
|
setVideoState(!config.hideVideo);
|
||||||
// Fix black video
|
forcePlaybackMode();
|
||||||
if (video) {
|
if (video) {
|
||||||
video.style.height = 'auto';
|
video.style.height = 'auto';
|
||||||
}
|
|
||||||
|
|
||||||
video?.addEventListener('ytmd:src-changed', videoStarted);
|
|
||||||
|
|
||||||
observeThumbnail();
|
|
||||||
videoStarted();
|
|
||||||
|
|
||||||
switch (config.align) {
|
|
||||||
case 'right': {
|
|
||||||
switchButtonContainer.style.justifyContent = 'flex-end';
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
video?.addEventListener('ytmd:src-changed', videoStarted);
|
||||||
|
observeThumbnail();
|
||||||
|
videoStarted();
|
||||||
|
switch (config.align) {
|
||||||
|
case 'right': {
|
||||||
|
switchButtonContainer.style.justifyContent = 'flex-end';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
case 'middle': {
|
case 'middle': {
|
||||||
switchButtonContainer.style.justifyContent = 'center';
|
switchButtonContainer.style.justifyContent = 'center';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
case 'left': {
|
case 'left': {
|
||||||
switchButtonContainer.style.justifyContent = 'flex-start';
|
switchButtonContainer.style.justifyContent = 'flex-start';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}, 0);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onConfigChange(newConfig) {
|
onConfigChange(newConfig) {
|
||||||
|
|||||||