mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-14 20:01:47 +00:00
Compare commits
72 Commits
798bfc0708
...
synced-lyr
| Author | SHA1 | Date | |
|---|---|---|---|
| 1e9f32e248 | |||
| 6c4ae0dbfa | |||
| f7aaa3377a | |||
| ab1a0478cf | |||
| 127f56905c | |||
| 8d448c667f | |||
| e00f33eb2d | |||
| 8100804ced | |||
| dbbdb63aa8 | |||
| 4fba3ffd92 | |||
| bef8252314 | |||
| a96cc5aa8a | |||
| b7e43e3125 | |||
| 2d059eb353 | |||
| bce0f8ad17 | |||
| e04a084be9 | |||
| e94aa5c513 | |||
| fa2862ca9a | |||
| e764c69f2b | |||
| b5052d85ad | |||
| e4fa850871 | |||
| db4be4ae25 | |||
| 55680531c5 | |||
| ae4557d32c | |||
| f5f65e73ca | |||
| e9f4958252 | |||
| 00626bc37d | |||
| 8e36d77245 | |||
| 8f6d16ae89 | |||
| 2d1d0257ef | |||
| 7b2543847a | |||
| 00af45ddee | |||
| 786961c33b | |||
| 8dc69cd9ac | |||
| d8e0bd903e | |||
| 4f31d47097 | |||
| cdb1ccec76 | |||
| 4998fa1e28 | |||
| f912598416 | |||
| 1f063c41d4 | |||
| 7b4a4b81ae | |||
| b7750ad50e | |||
| 886f2ae3b2 | |||
| 4c2d3253e7 | |||
| c03d3af289 | |||
| b006466eab | |||
| 39a859703d | |||
| d1e9f5272f | |||
| 2c16e68799 | |||
| d7381f1847 | |||
| 97cee6ca54 | |||
| b2c339a879 | |||
| 7192ad74bc | |||
| 022125755b | |||
| b40851e92a | |||
| 1590f2e309 | |||
| b8e0d53ef3 | |||
| ffa61687bf | |||
| 4f716d8e0b | |||
| 9932316be1 | |||
| 86a4a1b41e | |||
| c6c71bea9f | |||
| cbc6449621 | |||
| 9b8daac28c | |||
| cbc0077690 | |||
| c43d636549 | |||
| af1513a0b5 | |||
| 3a7d3ff73d | |||
| f22b887a3f | |||
| 5d0116ff2e | |||
| 98a8244f5f | |||
| 127760d509 |
20
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
20
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -1,5 +1,5 @@
|
||||
name: Bug Report
|
||||
description: Report a YouTube Music bug
|
||||
description: Report a Pear Desktop bug
|
||||
title: "[Bug]: "
|
||||
labels: "bug :beetle:"
|
||||
body:
|
||||
@ -8,17 +8,17 @@ body:
|
||||
label: Preflight Checklist
|
||||
description: Please ensure you've completed all of the following.
|
||||
options:
|
||||
- label: I use the latest version of YouTube Music (Application).
|
||||
- label: I use the latest version of Pear Desktop (Application).
|
||||
required: true
|
||||
- label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a bug report that matches the one I want to file, without success.
|
||||
- label: I have searched the [issue tracker](https://github.com/pear-devs/pear-desktop/issues) for a bug report that matches the one I want to file, without success.
|
||||
required: true
|
||||
- label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube**
|
||||
- label: I understand that **pear-devs/pear-desktop has NO affiliation with Google or YouTube**
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: YouTube Music (Application) Version
|
||||
label: Pear Desktop (Application) Version
|
||||
description: |
|
||||
What version of the YouTube Music Application are you using?
|
||||
What version of the Pear Desktop Application are you using?
|
||||
|
||||
Note: Please check if this issue is reproducible with the latest stable release.
|
||||
placeholder: 2.0.0
|
||||
@ -28,7 +28,7 @@ body:
|
||||
attributes:
|
||||
label: Checklists
|
||||
options:
|
||||
- label: I use the portable version of the YouTube Music Application.
|
||||
- label: I use the portable version of the Pear Desktop Application.
|
||||
- label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com).
|
||||
- type: dropdown
|
||||
attributes:
|
||||
@ -60,8 +60,8 @@ body:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Last Known Working YouTube Music (Application) version
|
||||
description: (If applicable) What is the last version of YouTube Music this worked in?
|
||||
label: Last Known Working Pear Desktop (Application) version
|
||||
description: (If applicable) What is the last version of Pear Desktop this worked in?
|
||||
placeholder: 1.20.0
|
||||
- type: textarea
|
||||
attributes:
|
||||
@ -92,4 +92,4 @@ body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional Information
|
||||
description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
|
||||
description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
6
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -1,5 +1,5 @@
|
||||
name: Feature Request
|
||||
description: Suggest an idea for YouTube Music
|
||||
description: Suggest an idea for Pear Desktop
|
||||
title: "[Feature Request]: "
|
||||
labels: "enhancement :sparkles:"
|
||||
body:
|
||||
@ -8,9 +8,9 @@ body:
|
||||
label: Preflight Checklist
|
||||
description: Please ensure you've completed all of the following.
|
||||
options:
|
||||
- label: I use the latest version of YouTube Music (Application).
|
||||
- label: I use the latest version of Pear Desktop (Application).
|
||||
required: true
|
||||
- label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success.
|
||||
- label: I have searched the [issue tracker](https://github.com/pear-devs/pear-desktop/issues) for a feature request that matches the one I want to file, without success.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
||||
21
.github/workflows/build.yml
vendored
21
.github/workflows/build.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Build YouTube Music
|
||||
name: Build Pear Desktop
|
||||
|
||||
on:
|
||||
push:
|
||||
@ -10,7 +10,8 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build YouTube Music
|
||||
if: github.event.pull_request.draft == false
|
||||
name: Build Pear Desktop
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: true
|
||||
@ -44,20 +45,20 @@ jobs:
|
||||
|
||||
# Only vite build without release if it is a fork, or it is a pull-request
|
||||
- name: Vite Build
|
||||
if: github.repository == 'th-ch/youtube-music' && github.event_name == 'pull_request'
|
||||
if: github.repository == 'pear-devs/pear-desktop' && github.event_name == 'pull_request'
|
||||
run: |
|
||||
pnpm build
|
||||
|
||||
# Build and release if it's the main repository and is not pull-request
|
||||
- name: Build and release on Mac
|
||||
if: startsWith(matrix.os, 'macOS') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
|
||||
if: startsWith(matrix.os, 'macOS') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
pnpm release:mac
|
||||
|
||||
- name: Build and release on Linux
|
||||
if: startsWith(matrix.os, 'ubuntu') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
|
||||
if: startsWith(matrix.os, 'ubuntu') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
@ -71,7 +72,7 @@ jobs:
|
||||
pnpm release:linux
|
||||
|
||||
- name: Build and release on Windows
|
||||
if: startsWith(matrix.os, 'windows') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
|
||||
if: startsWith(matrix.os, 'windows') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
@ -87,8 +88,8 @@ jobs:
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
name: Release YouTube Music
|
||||
if: github.repository == 'th-ch/youtube-music' && github.ref == 'refs/heads/master'
|
||||
name: Release Pear Desktop
|
||||
if: github.repository == 'pear-devs/pear-desktop' && github.ref == 'refs/heads/master'
|
||||
needs: build
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
@ -149,11 +150,11 @@ jobs:
|
||||
name: ${{ env.VERSION_TAG }}
|
||||
replacebody: true
|
||||
body: |
|
||||
See [changelog](https://github.com/th-ch/youtube-music/blob/master/changelog.md#${{ env.CHANGELOG_ANCHOR }}) for the list of updates and the full diff.
|
||||
See [changelog](https://github.com/pear-devs/pear-desktop/blob/master/changelog.md#${{ env.CHANGELOG_ANCHOR }}) for the list of updates and the full diff.
|
||||
|
||||
Thanks to all contributors! 🏅
|
||||
|
||||
(Note for Windows: `YouTube-Music-Web-Setup-${{ env.VERSION_TAG }}.exe` is an installer, and `YouTube-Music-${{ env.VERSION_TAG }}.exe` is a portable version)
|
||||
(Note for Windows: `Pear-Desktop-Web-Setup-${{ env.VERSION_TAG }}.exe` is an installer, and `Pear-Desktop-${{ env.VERSION_TAG }}.exe` is a portable version)
|
||||
|
||||
- name: Update changelog
|
||||
if: ${{ env.VERSION_HASH == '' }}
|
||||
|
||||
1
.github/workflows/dependency-review.yml
vendored
1
.github/workflows/dependency-review.yml
vendored
@ -12,6 +12,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
dependency-review:
|
||||
if: github.event.pull_request.draft == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "Checkout Repository"
|
||||
|
||||
1
.github/workflows/pr-build-artifacts.yml
vendored
1
.github/workflows/pr-build-artifacts.yml
vendored
@ -9,6 +9,7 @@ env:
|
||||
|
||||
jobs:
|
||||
check-permissions:
|
||||
if: github.event.pull_request.draft == false
|
||||
name: Check if user has write access
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
|
||||
1
.github/workflows/reviewdog.yml
vendored
1
.github/workflows/reviewdog.yml
vendored
@ -7,6 +7,7 @@ env:
|
||||
|
||||
jobs:
|
||||
eslint:
|
||||
if: github.event.pull_request.draft == false
|
||||
name: runner / eslint
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
|
||||
6
.github/workflows/winget-submission.yml
vendored
6
.github/workflows/winget-submission.yml
vendored
@ -22,9 +22,9 @@ jobs:
|
||||
- name: Submit package to Windows Package Manager Community Repository
|
||||
uses: vedantmgoyal2009/winget-releaser@main
|
||||
with:
|
||||
identifier: th-ch.YouTubeMusic
|
||||
installers-regex: '^YouTube-Music-Web-Setup-[\d\.]+\.exe$'
|
||||
identifier: pear-devs.PearDesktop
|
||||
installers-regex: '^Pear-Desktop-Web-Setup-[\d\.]+\.exe$'
|
||||
version: ${{ env.WINGET_TAG_NAME }}
|
||||
release-tag: ${{ inputs.tag_name || github.event.release.tag_name }}
|
||||
token: ${{ secrets.WINGET_ACC_TOKEN }}
|
||||
fork-user: youtube-music-winget
|
||||
fork-user: pear-desktop-winget
|
||||
|
||||
38
README.md
38
README.md
@ -2,12 +2,12 @@
|
||||
|
||||
# :pear: Pear Desktop
|
||||
|
||||
[](https://github.com/pear-devs/pear-desktop/releases/)
|
||||
[](https://github.com/pear-devs/pear-desktop/releases/)
|
||||
[](https://github.com/pear-devs/pear-desktop/blob/master/license)
|
||||
[](https://github.com/pear-devs/pear-desktop/blob/master/eslint.config.mjs)
|
||||
[](https://GitHub.com/pear-devs/pear-desktop/releases/)
|
||||
[](https://GitHub.com/pear-devs/pear-desktop/releases/)
|
||||
[](https://aur.archlinux.org/packages/youtube-music-bin)
|
||||
[](https://GitHub.com/pear-devs/pear-desktop/releases/)
|
||||
[](https://GitHub.com/pear-devs/pear-desktop/releases/)
|
||||
<!--[](https://aur.archlinux.org/packages/pear-desktop-bin)-->
|
||||
[](https://snyk.io/test/github/pear-devs/pear-desktop)
|
||||
|
||||
</div>
|
||||
@ -16,19 +16,19 @@
|
||||
|
||||
- Native look & feel extension
|
||||
|
||||
> [!IMPORTANT]
|
||||
> [!IMPORTANT]
|
||||
> ⚠️ Disclaimer
|
||||
>
|
||||
> **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
|
||||
@ -53,11 +53,11 @@
|
||||
|
||||
## 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://bit.ly/48n5YF7).
|
||||
|
||||
<a href="https://hosted.weblate.org/engage/youtube-music/">
|
||||
<img src="https://hosted.weblate.org/widget/youtube-music/i18n/multi-auto.svg" alt="translation status" />
|
||||
<img src="https://hosted.weblate.org/widget/youtube-music/i18n/287x66-black.png" alt="translation status 2" />
|
||||
<a href="https://bit.ly/48n5YF7/">
|
||||
<img src="https://bit.ly/4q83L6S" alt="translation status" />
|
||||
<img src="https://bit.ly/4h3zBxo" alt="translation status 2" />
|
||||
</a>
|
||||
|
||||
## Download
|
||||
@ -67,12 +67,12 @@ latest version.
|
||||
|
||||
### Arch Linux
|
||||
|
||||
Install the [`youtube-music-bin`](https://aur.archlinux.org/packages/youtube-music-bin) package from the AUR. For AUR installation instructions, take a look at
|
||||
Install the [`pear-desktop`](https://aur.archlinux.org/packages/pear-desktop) package from the AUR. For AUR installation instructions, take a look at
|
||||
this [wiki page](https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages).
|
||||
|
||||
### macOS
|
||||
|
||||
You can install the app using Homebrew (see the [cask definition](https://github.com/th-ch/homebrew-youtube-music)):
|
||||
You can install the app using Homebrew (see the [cask definition](https://github.com/pear-devs/pear-desktop-homebrew)):
|
||||
|
||||
```bash
|
||||
brew install pear-devs/pear-desktop
|
||||
@ -86,23 +86,23 @@ If you install the app manually and get an error "is damaged and can’t be open
|
||||
|
||||
### Windows
|
||||
|
||||
You can use the [Scoop package manager](https://scoop.sh) to install the `youtube-music` package from
|
||||
You can use the [Scoop package manager](https://scoop.sh) to install the `pear-desktop` package from
|
||||
the [`extras` bucket](https://github.com/ScoopInstaller/Extras).
|
||||
|
||||
```bash
|
||||
scoop bucket add extras
|
||||
scoop install extras/youtube-music
|
||||
scoop install extras/pear-desktop
|
||||
```
|
||||
|
||||
Alternately you can use [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), Windows 11s
|
||||
official CLI package manager to install the `th-ch.YouTubeMusic` package.
|
||||
official CLI package manager to install the `pear-devs.pear-desktop` package.
|
||||
|
||||
*Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also
|
||||
true for the manual installation when trying to run the executable(.exe) after a manual download here on github (same
|
||||
file).*
|
||||
|
||||
```bash
|
||||
winget install th-ch.YouTubeMusic
|
||||
winget install pear-devs.pear-desktop
|
||||
```
|
||||
|
||||
#### How to install without a network connection? (in Windows)
|
||||
@ -190,7 +190,7 @@ export default createPlugin({
|
||||
console.log(await context.ipc.invoke('some-event'));
|
||||
},
|
||||
// Only renderer available hook
|
||||
onPlayerApiReady(api: YoutubePlayer, context: RendererContext) {
|
||||
onPlayerApiReady(api, context) {
|
||||
// set plugin config easily
|
||||
context.setConfig({ myConfig: api.getVolume() });
|
||||
},
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Cannot load YouTube Music</title>
|
||||
<title>Cannot load Pear Desktop</title>
|
||||
<style>
|
||||
body {
|
||||
background: #000;
|
||||
@ -43,7 +43,7 @@
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<p>Cannot load YouTube Music… Internet disconnected?</p>
|
||||
<p>Cannot load Pear Desktop… Internet disconnected?</p>
|
||||
<a class="button" href="#" onclick="reload()">Retry</a>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
607
assets/mdui.css
Normal file
607
assets/mdui.css
Normal file
@ -0,0 +1,607 @@
|
||||
:root {
|
||||
--mdui-breakpoint-xs: 0px;
|
||||
--mdui-breakpoint-sm: 600px;
|
||||
--mdui-breakpoint-md: 840px;
|
||||
--mdui-breakpoint-lg: 1080px;
|
||||
--mdui-breakpoint-xl: 1440px;
|
||||
--mdui-breakpoint-xxl: 1920px;
|
||||
}
|
||||
|
||||
:root {
|
||||
--mdui-color-primary-light: 103, 80, 164;
|
||||
--mdui-color-primary-container-light: 234, 221, 255;
|
||||
--mdui-color-on-primary-light: 255, 255, 255;
|
||||
--mdui-color-on-primary-container-light: 33, 0, 94;
|
||||
--mdui-color-inverse-primary-light: 208, 188, 255;
|
||||
--mdui-color-secondary-light: 98, 91, 113;
|
||||
--mdui-color-secondary-container-light: 232, 222, 248;
|
||||
--mdui-color-on-secondary-light: 255, 255, 255;
|
||||
--mdui-color-on-secondary-container-light: 30, 25, 43;
|
||||
--mdui-color-tertiary-light: 125, 82, 96;
|
||||
--mdui-color-tertiary-container-light: 255, 216, 228;
|
||||
--mdui-color-on-tertiary-light: 255, 255, 255;
|
||||
--mdui-color-on-tertiary-container-light: 55, 11, 30;
|
||||
--mdui-color-surface-light: 254, 247, 255;
|
||||
--mdui-color-surface-dim-light: 222, 216, 225;
|
||||
--mdui-color-surface-bright-light: 254, 247, 255;
|
||||
--mdui-color-surface-container-lowest-light: 255, 255, 255;
|
||||
--mdui-color-surface-container-low-light: 247, 242, 250;
|
||||
--mdui-color-surface-container-light: 243, 237, 247;
|
||||
--mdui-color-surface-container-high-light: 236, 230, 240;
|
||||
--mdui-color-surface-container-highest-light: 230, 224, 233;
|
||||
--mdui-color-surface-variant-light: 231, 224, 236;
|
||||
--mdui-color-on-surface-light: 28, 27, 31;
|
||||
--mdui-color-on-surface-variant-light: 73, 69, 78;
|
||||
--mdui-color-inverse-surface-light: 49, 48, 51;
|
||||
--mdui-color-inverse-on-surface-light: 244, 239, 244;
|
||||
--mdui-color-background-light: 254, 247, 255;
|
||||
--mdui-color-on-background-light: 28, 27, 31;
|
||||
--mdui-color-error-light: 179, 38, 30;
|
||||
--mdui-color-error-container-light: 249, 222, 220;
|
||||
--mdui-color-on-error-light: 255, 255, 255;
|
||||
--mdui-color-on-error-container-light: 65, 14, 11;
|
||||
--mdui-color-outline-light: 121, 116, 126;
|
||||
--mdui-color-outline-variant-light: 196, 199, 197;
|
||||
--mdui-color-shadow-light: 0, 0, 0;
|
||||
--mdui-color-surface-tint-color-light: 103, 80, 164;
|
||||
--mdui-color-scrim-light: 0, 0, 0;
|
||||
--mdui-color-primary-dark: 208, 188, 255;
|
||||
--mdui-color-primary-container-dark: 79, 55, 139;
|
||||
--mdui-color-on-primary-dark: 55, 30, 115;
|
||||
--mdui-color-on-primary-container-dark: 234, 221, 255;
|
||||
--mdui-color-inverse-primary-dark: 103, 80, 164;
|
||||
--mdui-color-secondary-dark: 204, 194, 220;
|
||||
--mdui-color-secondary-container-dark: 74, 68, 88;
|
||||
--mdui-color-on-secondary-dark: 51, 45, 65;
|
||||
--mdui-color-on-secondary-container-dark: 232, 222, 248;
|
||||
--mdui-color-tertiary-dark: 239, 184, 200;
|
||||
--mdui-color-tertiary-container-dark: 99, 59, 72;
|
||||
--mdui-color-on-tertiary-dark: 73, 37, 50;
|
||||
--mdui-color-on-tertiary-container-dark: 255, 216, 228;
|
||||
--mdui-color-surface-dark: 20, 18, 24;
|
||||
--mdui-color-surface-dim-dark: 20, 18, 24;
|
||||
--mdui-color-surface-bright-dark: 59, 56, 62;
|
||||
--mdui-color-surface-container-lowest-dark: 15, 13, 19;
|
||||
--mdui-color-surface-container-low-dark: 29, 27, 32;
|
||||
--mdui-color-surface-container-dark: 33, 31, 38;
|
||||
--mdui-color-surface-container-high-dark: 43, 41, 48;
|
||||
--mdui-color-surface-container-highest-dark: 54, 52, 59;
|
||||
--mdui-color-surface-variant-dark: 73, 69, 79;
|
||||
--mdui-color-on-surface-dark: 230, 225, 229;
|
||||
--mdui-color-on-surface-variant-dark: 202, 196, 208;
|
||||
--mdui-color-inverse-surface-dark: 230, 225, 229;
|
||||
--mdui-color-inverse-on-surface-dark: 49, 48, 51;
|
||||
--mdui-color-background-dark: 20, 18, 24;
|
||||
--mdui-color-on-background-dark: 230, 225, 229;
|
||||
--mdui-color-error-dark: 242, 184, 181;
|
||||
--mdui-color-error-container-dark: 140, 29, 24;
|
||||
--mdui-color-on-error-dark: 96, 20, 16;
|
||||
--mdui-color-on-error-container-dark: 249, 222, 220;
|
||||
--mdui-color-outline-dark: 147, 143, 153;
|
||||
--mdui-color-outline-variant-dark: 68, 71, 70;
|
||||
--mdui-color-shadow-dark: 0, 0, 0;
|
||||
--mdui-color-surface-tint-color-dark: 208, 188, 255;
|
||||
--mdui-color-scrim-dark: 0, 0, 0;
|
||||
}
|
||||
|
||||
.mdui-theme-dark,
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
--mdui-color-primary: var(--mdui-color-primary-dark);
|
||||
--mdui-color-primary-container: var(--mdui-color-primary-container-dark);
|
||||
--mdui-color-on-primary: var(--mdui-color-on-primary-dark);
|
||||
--mdui-color-on-primary-container: var(
|
||||
--mdui-color-on-primary-container-dark
|
||||
);
|
||||
--mdui-color-inverse-primary: var(--mdui-color-inverse-primary-dark);
|
||||
--mdui-color-secondary: var(--mdui-color-secondary-dark);
|
||||
--mdui-color-secondary-container: var(--mdui-color-secondary-container-dark);
|
||||
--mdui-color-on-secondary: var(--mdui-color-on-secondary-dark);
|
||||
--mdui-color-on-secondary-container: var(
|
||||
--mdui-color-on-secondary-container-dark
|
||||
);
|
||||
--mdui-color-tertiary: var(--mdui-color-tertiary-dark);
|
||||
--mdui-color-tertiary-container: var(--mdui-color-tertiary-container-dark);
|
||||
--mdui-color-on-tertiary: var(--mdui-color-on-tertiary-dark);
|
||||
--mdui-color-on-tertiary-container: var(
|
||||
--mdui-color-on-tertiary-container-dark
|
||||
);
|
||||
--mdui-color-surface: var(--mdui-color-surface-dark);
|
||||
--mdui-color-surface-dim: var(--mdui-color-surface-dim-dark);
|
||||
--mdui-color-surface-bright: var(--mdui-color-surface-bright-dark);
|
||||
--mdui-color-surface-container-lowest: var(
|
||||
--mdui-color-surface-container-lowest-dark
|
||||
);
|
||||
--mdui-color-surface-container-low: var(
|
||||
--mdui-color-surface-container-low-dark
|
||||
);
|
||||
--mdui-color-surface-container: var(--mdui-color-surface-container-dark);
|
||||
--mdui-color-surface-container-high: var(
|
||||
--mdui-color-surface-container-high-dark
|
||||
);
|
||||
--mdui-color-surface-container-highest: var(
|
||||
--mdui-color-surface-container-highest-dark
|
||||
);
|
||||
--mdui-color-surface-variant: var(--mdui-color-surface-variant-dark);
|
||||
--mdui-color-on-surface: var(--mdui-color-on-surface-dark);
|
||||
--mdui-color-on-surface-variant: var(--mdui-color-on-surface-variant-dark);
|
||||
--mdui-color-inverse-surface: var(--mdui-color-inverse-surface-dark);
|
||||
--mdui-color-inverse-on-surface: var(--mdui-color-inverse-on-surface-dark);
|
||||
--mdui-color-background: var(--mdui-color-background-dark);
|
||||
--mdui-color-on-background: var(--mdui-color-on-background-dark);
|
||||
--mdui-color-error: var(--mdui-color-error-dark);
|
||||
--mdui-color-error-container: var(--mdui-color-error-container-dark);
|
||||
--mdui-color-on-error: var(--mdui-color-on-error-dark);
|
||||
--mdui-color-on-error-container: var(--mdui-color-on-error-container-dark);
|
||||
--mdui-color-outline: var(--mdui-color-outline-dark);
|
||||
--mdui-color-outline-variant: var(--mdui-color-outline-variant-dark);
|
||||
--mdui-color-shadow: var(--mdui-color-shadow-dark);
|
||||
--mdui-color-surface-tint-color: var(--mdui-color-surface-tint-color-dark);
|
||||
--mdui-color-scrim: var(--mdui-color-scrim-dark);
|
||||
color: rgb(var(--mdui-color-on-background));
|
||||
background-color: rgb(var(--mdui-color-background));
|
||||
}
|
||||
|
||||
:root {
|
||||
--mdui-elevation-level0: none;
|
||||
--mdui-elevation-level1: 0 0.5px 1.5px 0 rgba(var(--mdui-color-shadow), 19%),
|
||||
0 0 1px 0 rgba(var(--mdui-color-shadow), 3.9%);
|
||||
--mdui-elevation-level2: 0 0.85px 3px 0 rgba(var(--mdui-color-shadow), 19%),
|
||||
0 0.25px 1px 0 rgba(var(--mdui-color-shadow), 3.9%);
|
||||
--mdui-elevation-level3: 0 1.25px 5px 0 rgba(var(--mdui-color-shadow), 19%),
|
||||
0 0.3333px 1.5px 0 rgba(var(--mdui-color-shadow), 3.9%);
|
||||
--mdui-elevation-level4: 0 1.85px 6.25px 0 rgba(var(--mdui-color-shadow), 19%),
|
||||
0 0.5px 1.75px 0 rgba(var(--mdui-color-shadow), 3.9%);
|
||||
--mdui-elevation-level5: 0 2.75px 9px 0 rgba(var(--mdui-color-shadow), 19%),
|
||||
0 0.25px 3px 0 rgba(var(--mdui-color-shadow), 3.9%);
|
||||
}
|
||||
|
||||
:root {
|
||||
--mdui-motion-easing-linear: cubic-bezier(0, 0, 1, 1);
|
||||
--mdui-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
|
||||
--mdui-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
|
||||
--mdui-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);
|
||||
--mdui-motion-easing-emphasized: var(--mdui-motion-easing-standard);
|
||||
--mdui-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
|
||||
--mdui-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
|
||||
--mdui-motion-duration-short1: 50ms;
|
||||
--mdui-motion-duration-short2: 100ms;
|
||||
--mdui-motion-duration-short3: 150ms;
|
||||
--mdui-motion-duration-short4: 200ms;
|
||||
--mdui-motion-duration-medium1: 250ms;
|
||||
--mdui-motion-duration-medium2: 300ms;
|
||||
--mdui-motion-duration-medium3: 350ms;
|
||||
--mdui-motion-duration-medium4: 400ms;
|
||||
--mdui-motion-duration-long1: 450ms;
|
||||
--mdui-motion-duration-long2: 500ms;
|
||||
--mdui-motion-duration-long3: 550ms;
|
||||
--mdui-motion-duration-long4: 600ms;
|
||||
--mdui-motion-duration-extra-long1: 700ms;
|
||||
--mdui-motion-duration-extra-long2: 800ms;
|
||||
--mdui-motion-duration-extra-long3: 900ms;
|
||||
--mdui-motion-duration-extra-long4: 1000ms;
|
||||
}
|
||||
|
||||
.mdui-prose {
|
||||
line-height: 1.75;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.mdui-prose :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.mdui-prose :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.mdui-prose code,
|
||||
.mdui-prose kbd,
|
||||
.mdui-prose pre,
|
||||
.mdui-prose pre tt,
|
||||
.mdui-prose samp {
|
||||
font-family: Consolas, Courier, 'Courier New', monospace;
|
||||
}
|
||||
|
||||
.mdui-prose caption {
|
||||
text-align: left;
|
||||
}
|
||||
.mdui-prose [draggable='true'],
|
||||
.mdui-prose [draggable] {
|
||||
cursor: move;
|
||||
}
|
||||
.mdui-prose [draggable='false'] {
|
||||
cursor: inherit;
|
||||
}
|
||||
.mdui-prose dl,
|
||||
.mdui-prose form,
|
||||
.mdui-prose ol,
|
||||
.mdui-prose p,
|
||||
.mdui-prose ul {
|
||||
margin-top: 1.25em;
|
||||
margin-bottom: 1.25em;
|
||||
}
|
||||
.mdui-prose a {
|
||||
text-decoration: none;
|
||||
outline: 0;
|
||||
color: rgb(var(--mdui-color-primary));
|
||||
}
|
||||
.mdui-prose a:focus,
|
||||
.mdui-prose a:hover {
|
||||
border-bottom: 0.0625rem solid rgb(var(--mdui-color-primary));
|
||||
}
|
||||
.mdui-prose small {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
.mdui-prose strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
.mdui-prose blockquote {
|
||||
margin: 1.6em 2em;
|
||||
padding-left: 1em;
|
||||
border-left: 0.25rem solid rgb(var(--mdui-color-surface-variant));
|
||||
}
|
||||
@media only screen and (max-width: 599.98px) {
|
||||
.mdui-prose blockquote {
|
||||
margin: 1.6em 0;
|
||||
}
|
||||
}
|
||||
.mdui-prose blockquote footer {
|
||||
font-size: 86%;
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose mark {
|
||||
color: inherit;
|
||||
background-color: rgb(var(--mdui-color-secondary-container));
|
||||
border-bottom: 0.0625rem solid rgb(var(--mdui-color-secondary));
|
||||
margin: 0 0.375rem;
|
||||
padding: 0.125rem;
|
||||
}
|
||||
.mdui-prose h1,
|
||||
.mdui-prose h2,
|
||||
.mdui-prose h3,
|
||||
.mdui-prose h4,
|
||||
.mdui-prose h5,
|
||||
.mdui-prose h6 {
|
||||
font-weight: 400;
|
||||
}
|
||||
.mdui-prose h1 small,
|
||||
.mdui-prose h2 small,
|
||||
.mdui-prose h3 small,
|
||||
.mdui-prose h4 small,
|
||||
.mdui-prose h5 small,
|
||||
.mdui-prose h6 small {
|
||||
font-weight: inherit;
|
||||
font-size: 65%;
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose h1 strong,
|
||||
.mdui-prose h2 strong,
|
||||
.mdui-prose h3 strong,
|
||||
.mdui-prose h4 strong,
|
||||
.mdui-prose h5 strong,
|
||||
.mdui-prose h6 strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
.mdui-prose h1 {
|
||||
font-size: 2.5em;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1.25em;
|
||||
line-height: 1.1111;
|
||||
}
|
||||
.mdui-prose h2 {
|
||||
font-size: 1.875em;
|
||||
margin-top: 2.25em;
|
||||
margin-bottom: 1.125em;
|
||||
line-height: 1.3333;
|
||||
}
|
||||
.mdui-prose h3 {
|
||||
font-size: 1.5em;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 1em;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.mdui-prose h4 {
|
||||
font-size: 1.25em;
|
||||
margin-top: 1.875em;
|
||||
margin-bottom: 0.875em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.mdui-prose h2 + *,
|
||||
.mdui-prose h3 + *,
|
||||
.mdui-prose h4 + *,
|
||||
.mdui-prose hr + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
.mdui-prose code,
|
||||
.mdui-prose kbd {
|
||||
font-size: 0.875em;
|
||||
color: rgb(var(--mdui-color-on-surface-container));
|
||||
background-color: rgba(var(--mdui-color-surface-variant), 0.28);
|
||||
padding: 0.125rem 0.375rem;
|
||||
border-radius: var(--mdui-shape-corner-extra-small);
|
||||
}
|
||||
.mdui-prose kbd {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.mdui-prose abbr[title] {
|
||||
text-decoration: none;
|
||||
cursor: help;
|
||||
border-bottom: 0.0625rem dotted rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose ins,
|
||||
.mdui-prose u {
|
||||
text-decoration: none;
|
||||
border-bottom: 0.0625rem solid rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose del {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
.mdui-prose hr {
|
||||
margin-top: 3em;
|
||||
margin-bottom: 3em;
|
||||
border: none;
|
||||
border-bottom: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
}
|
||||
.mdui-prose pre {
|
||||
margin-top: 1.7143em;
|
||||
margin-bottom: 1.7143em;
|
||||
}
|
||||
.mdui-prose pre code {
|
||||
padding: 0.8571em 1.1429em;
|
||||
overflow-x: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
background-color: rgb(var(--mdui-color-surface-container));
|
||||
color: rgb(var(--mdui-color-on-surface-container));
|
||||
border-radius: var(--mdui-shape-corner-extra-small);
|
||||
}
|
||||
.mdui-prose ol,
|
||||
.mdui-prose ul {
|
||||
padding-left: 1.625em;
|
||||
}
|
||||
.mdui-prose ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
.mdui-prose ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
.mdui-prose ol[type='A'] {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
.mdui-prose ol[type='a'] {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
.mdui-prose ol[type='I'] {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
.mdui-prose ol[type='i'] {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
.mdui-prose ol[type='1'] {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
.mdui-prose li {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.mdui-prose ol > li,
|
||||
.mdui-prose ul > li {
|
||||
padding-left: 0.375em;
|
||||
}
|
||||
.mdui-prose ol > li > p,
|
||||
.mdui-prose ul > li > p {
|
||||
margin-top: 0.75em;
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
.mdui-prose ol > li > :first-child,
|
||||
.mdui-prose ul > li > :first-child {
|
||||
margin-top: 1.25em;
|
||||
}
|
||||
.mdui-prose ol > li > :last-child,
|
||||
.mdui-prose ul > li > :last-child {
|
||||
margin-bottom: 1.25em;
|
||||
}
|
||||
.mdui-prose ol > li::marker {
|
||||
font-weight: 400;
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose ul > li::marker {
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose ol ol,
|
||||
.mdui-prose ol ul,
|
||||
.mdui-prose ul ol,
|
||||
.mdui-prose ul ul {
|
||||
margin-top: 0.75em;
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
.mdui-prose fieldset,
|
||||
.mdui-prose img {
|
||||
border: none;
|
||||
}
|
||||
.mdui-prose figure,
|
||||
.mdui-prose img,
|
||||
.mdui-prose video {
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
max-width: 100%;
|
||||
}
|
||||
.mdui-prose figure > * {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.mdui-prose figcaption {
|
||||
font-size: 0.875em;
|
||||
line-height: 1.4286;
|
||||
margin-top: 0.8571em;
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose figcaption:empty::before {
|
||||
z-index: -1;
|
||||
cursor: text;
|
||||
content: attr(placeholder);
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
}
|
||||
.mdui-prose table {
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
border: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
border-radius: var(--mdui-shape-corner-large);
|
||||
}
|
||||
.mdui-table {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
border: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
border-radius: var(--mdui-shape-corner-large);
|
||||
}
|
||||
.mdui-table table {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
.mdui-prose table,
|
||||
.mdui-table table {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.mdui-prose td,
|
||||
.mdui-prose th,
|
||||
.mdui-table td,
|
||||
.mdui-table th {
|
||||
border-top: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
}
|
||||
.mdui-prose td:not(:first-child),
|
||||
.mdui-prose th:not(:first-child),
|
||||
.mdui-table td:not(:first-child),
|
||||
.mdui-table th:not(:first-child) {
|
||||
border-left: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
}
|
||||
.mdui-prose td:not(:last-child),
|
||||
.mdui-prose th:not(:last-child),
|
||||
.mdui-table td:not(:last-child),
|
||||
.mdui-table th:not(:last-child) {
|
||||
border-right: 0.0625rem solid rgb(var(--mdui-color-surface-variant));
|
||||
}
|
||||
.mdui-prose tfoot td,
|
||||
.mdui-prose tfoot th,
|
||||
.mdui-prose thead td,
|
||||
.mdui-prose thead th,
|
||||
.mdui-table tfoot td,
|
||||
.mdui-table tfoot th,
|
||||
.mdui-table thead td,
|
||||
.mdui-table thead th {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
padding: 1.125rem 1rem;
|
||||
font-weight: var(--mdui-typescale-title-medium-weight);
|
||||
letter-spacing: var(--mdui-typescale-title-medium-tracking);
|
||||
line-height: var(--mdui-typescale-title-medium-line-height);
|
||||
color: rgb(var(--mdui-color-on-surface-variant));
|
||||
box-shadow: var(--mdui-elevation-level1);
|
||||
}
|
||||
.mdui-prose tbody td,
|
||||
.mdui-prose tbody th,
|
||||
.mdui-table tbody td,
|
||||
.mdui-table tbody th {
|
||||
padding: 0.875rem 1rem;
|
||||
}
|
||||
.mdui-prose tbody th,
|
||||
.mdui-table tbody th {
|
||||
vertical-align: middle;
|
||||
font-weight: inherit;
|
||||
}
|
||||
.mdui-prose tbody td,
|
||||
.mdui-table tbody td {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.mdui-prose tbody:first-child tr:first-child td,
|
||||
.mdui-prose thead:first-child tr:first-child th,
|
||||
.mdui-table tbody:first-child tr:first-child td,
|
||||
.mdui-table thead:first-child tr:first-child th {
|
||||
border-top: 0;
|
||||
}
|
||||
:root {
|
||||
--mdui-shape-corner-none: 0;
|
||||
--mdui-shape-corner-extra-small: 0.25rem;
|
||||
--mdui-shape-corner-small: 0.5rem;
|
||||
--mdui-shape-corner-medium: 0.75rem;
|
||||
--mdui-shape-corner-large: 1rem;
|
||||
--mdui-shape-corner-extra-large: 1.75rem;
|
||||
--mdui-shape-corner-full: 1000rem;
|
||||
}
|
||||
:root {
|
||||
--mdui-state-layer-hover: 0.08;
|
||||
--mdui-state-layer-focus: 0.12;
|
||||
--mdui-state-layer-pressed: 0.12;
|
||||
--mdui-state-layer-dragged: 0.16;
|
||||
}
|
||||
:root {
|
||||
--mdui-typescale-display-large-weight: 400;
|
||||
--mdui-typescale-display-medium-weight: 400;
|
||||
--mdui-typescale-display-small-weight: 400;
|
||||
--mdui-typescale-display-large-line-height: 4rem;
|
||||
--mdui-typescale-display-medium-line-height: 3.25rem;
|
||||
--mdui-typescale-display-small-line-height: 2.75rem;
|
||||
--mdui-typescale-display-large-size: 3.5625rem;
|
||||
--mdui-typescale-display-medium-size: 2.8125rem;
|
||||
--mdui-typescale-display-small-size: 2.25rem;
|
||||
--mdui-typescale-display-large-tracking: 0rem;
|
||||
--mdui-typescale-display-medium-tracking: 0rem;
|
||||
--mdui-typescale-display-small-tracking: 0rem;
|
||||
--mdui-typescale-headline-large-weight: 400;
|
||||
--mdui-typescale-headline-medium-weight: 400;
|
||||
--mdui-typescale-headline-small-weight: 400;
|
||||
--mdui-typescale-headline-large-line-height: 2.5rem;
|
||||
--mdui-typescale-headline-medium-line-height: 2.25rem;
|
||||
--mdui-typescale-headline-small-line-height: 2rem;
|
||||
--mdui-typescale-headline-large-size: 2rem;
|
||||
--mdui-typescale-headline-medium-size: 1.75rem;
|
||||
--mdui-typescale-headline-small-size: 1.5rem;
|
||||
--mdui-typescale-headline-large-tracking: 0rem;
|
||||
--mdui-typescale-headline-medium-tracking: 0rem;
|
||||
--mdui-typescale-headline-small-tracking: 0rem;
|
||||
--mdui-typescale-title-large-weight: 400;
|
||||
--mdui-typescale-title-medium-weight: 500;
|
||||
--mdui-typescale-title-small-weight: 500;
|
||||
--mdui-typescale-title-large-line-height: 1.75rem;
|
||||
--mdui-typescale-title-medium-line-height: 1.5rem;
|
||||
--mdui-typescale-title-small-line-height: 1.25rem;
|
||||
--mdui-typescale-title-large-size: 1.375rem;
|
||||
--mdui-typescale-title-medium-size: 1rem;
|
||||
--mdui-typescale-title-small-size: 0.875rem;
|
||||
--mdui-typescale-title-large-tracking: 0rem;
|
||||
--mdui-typescale-title-medium-tracking: 0.009375rem;
|
||||
--mdui-typescale-title-small-tracking: 0.00625rem;
|
||||
--mdui-typescale-label-large-weight: 500;
|
||||
--mdui-typescale-label-medium-weight: 500;
|
||||
--mdui-typescale-label-small-weight: 500;
|
||||
--mdui-typescale-label-large-line-height: 1.25rem;
|
||||
--mdui-typescale-label-medium-line-height: 1rem;
|
||||
--mdui-typescale-label-small-line-height: 0.375rem;
|
||||
--mdui-typescale-label-large-size: 0.875rem;
|
||||
--mdui-typescale-label-medium-size: 0.75rem;
|
||||
--mdui-typescale-label-small-size: 0.6875rem;
|
||||
--mdui-typescale-label-large-tracking: 0.00625rem;
|
||||
--mdui-typescale-label-medium-tracking: 0.03125rem;
|
||||
--mdui-typescale-label-small-tracking: 0.03125rem;
|
||||
--mdui-typescale-body-large-weight: 400;
|
||||
--mdui-typescale-body-medium-weight: 400;
|
||||
--mdui-typescale-body-small-weight: 400;
|
||||
--mdui-typescale-body-large-line-height: 1.5rem;
|
||||
--mdui-typescale-body-medium-line-height: 1.25rem;
|
||||
--mdui-typescale-body-small-line-height: 1rem;
|
||||
--mdui-typescale-body-large-size: 1rem;
|
||||
--mdui-typescale-body-medium-size: 0.875rem;
|
||||
--mdui-typescale-body-small-size: 0.75rem;
|
||||
--mdui-typescale-body-large-tracking: 0.009375rem;
|
||||
--mdui-typescale-body-medium-tracking: 0.015625rem;
|
||||
--mdui-typescale-body-small-tracking: 0.025rem;
|
||||
}
|
||||
.mdui-lock-screen {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
3790
changelog.md
3790
changelog.md
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
appId: com.github.th-ch.youtube-music
|
||||
productName: YouTube Music
|
||||
appId: com.github.th-ch.pear-desktop
|
||||
productName: Pear Desktop
|
||||
files:
|
||||
- '!*'
|
||||
- dist
|
||||
@ -43,7 +43,7 @@ linux:
|
||||
category: AudioVideo
|
||||
desktop:
|
||||
entry:
|
||||
StartupWMClass: com.github.th_ch.youtube_music
|
||||
StartupWMClass: com.github.th_ch.pear_desktop
|
||||
target:
|
||||
- target: AppImage
|
||||
arch:
|
||||
@ -77,12 +77,12 @@ linux:
|
||||
- armv7l
|
||||
appImage:
|
||||
description: >-
|
||||
YouTube Music Desktop App bundled with custom plugins (and built-in ad
|
||||
Pear Desktop App bundled with custom plugins (and built-in ad
|
||||
blocker / downloader)
|
||||
category: AudioVideo
|
||||
flatpak:
|
||||
description: >-
|
||||
YouTube Music Desktop App bundled with custom plugins (and built-in ad
|
||||
Pear Desktop App bundled with custom plugins (and built-in ad
|
||||
blocker / downloader)
|
||||
category: AudioVideo
|
||||
runtimeVersion: '24.08'
|
||||
@ -98,7 +98,7 @@ flatpak:
|
||||
- '--talk-name=org.freedesktop.Notifications'
|
||||
- '--talk-name=org.gnome.SessionManager'
|
||||
- '--talk-name=org.kde.StatusNotifierWatcher'
|
||||
- '--own-name=org.mpris.MediaPlayer2.YoutubeMusic.*'
|
||||
- '--own-name=org.mpris.MediaPlayer2.PearDesktop.*'
|
||||
deb:
|
||||
depends:
|
||||
- libgtk-3-0
|
||||
|
||||
@ -159,7 +159,8 @@ export default defineConfig({
|
||||
},
|
||||
server: {
|
||||
cors: {
|
||||
origin: 'https://music.youtube.com',
|
||||
origin:
|
||||
'https://music.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
2
license
2
license
@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) th-ch <th-ch@users.noreply.github.com> (https://github.com/th-ch/youtube-music)
|
||||
Copyright (c) th-ch <th-ch@users.noreply.github.com> (https://github.com/pear-devs/pear-desktop)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
24
package.json
24
package.json
@ -1,17 +1,17 @@
|
||||
{
|
||||
"name": "youtube-music",
|
||||
"desktopName": "com.github.th_ch.youtube_music",
|
||||
"productName": "YouTube Music",
|
||||
"name": "pear-music",
|
||||
"desktopName": "com.github.th_ch.pear_music",
|
||||
"productName": "Pear Desktop",
|
||||
"version": "3.11.0",
|
||||
"description": "YouTube Music Desktop App - including custom plugins",
|
||||
"description": "Pear Desktop App - including custom plugins",
|
||||
"main": "./dist/main/index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"repository": "th-ch/youtube-music",
|
||||
"repository": "pear-devs/pear-desktop",
|
||||
"author": {
|
||||
"name": "th-ch",
|
||||
"email": "th-ch@users.noreply.github.com",
|
||||
"url": "https://github.com/th-ch/youtube-music"
|
||||
"url": "https://github.com/pear-devs/pear-desktop"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "pnpm playwright test",
|
||||
@ -57,7 +57,8 @@
|
||||
"@malept/flatpak-bundler@0.4.0": "patches/@malept__flatpak-bundler@0.4.0.patch",
|
||||
"kuromoji@0.1.2": "patches/kuromoji@0.1.2.patch",
|
||||
"file-type@16.5.4": "patches/file-type@16.5.4.patch",
|
||||
"electron-is@3.0.0": "patches/electron-is@3.0.0.patch"
|
||||
"electron-is@3.0.0": "patches/electron-is@3.0.0.patch",
|
||||
"mdui@2.1.4": "patches/mdui@2.1.4.patch"
|
||||
},
|
||||
"neverBuiltDependencies": []
|
||||
},
|
||||
@ -80,6 +81,7 @@
|
||||
"@jellybrick/electron-better-web-request": "1.0.4",
|
||||
"@jellybrick/mpris-service": "2.1.5",
|
||||
"@jimp/plugin-color": "1.6.0",
|
||||
"@mdui/icons": "^1.0.3",
|
||||
"@skyra/jaro-winkler": "1.1.1",
|
||||
"@xhayper/discord-rpc": "1.3.0",
|
||||
"async-mutex": "0.5.0",
|
||||
@ -88,6 +90,7 @@
|
||||
"butterchurn-presets": "3.0.0-beta.4",
|
||||
"color": "5.0.0",
|
||||
"conf": "14.0.0",
|
||||
"crypto-js": "^4.2.0",
|
||||
"custom-electron-prompt": "1.5.8",
|
||||
"deepmerge-ts": "7.1.5",
|
||||
"delay": "6.0.0",
|
||||
@ -115,12 +118,12 @@
|
||||
"kuroshiro": "1.2.0",
|
||||
"kuroshiro-analyzer-kuromoji": "1.1.0",
|
||||
"lazy-var": "2.2.2",
|
||||
"mdui": "2.1.4",
|
||||
"node-html-parser": "7.0.1",
|
||||
"node-id3": "0.2.9",
|
||||
"peerjs": "1.5.5",
|
||||
"semver": "7.7.2",
|
||||
"serve": "14.2.5",
|
||||
"simple-youtube-age-restriction-bypass": "github:organization/Simple-YouTube-Age-Restriction-Bypass#v2.5.9",
|
||||
"socks": "2.8.7",
|
||||
"solid-element": "1.9.1",
|
||||
"solid-floating-ui": "0.3.1",
|
||||
@ -132,7 +135,7 @@
|
||||
"virtua": "0.42.3",
|
||||
"vudio": "2.1.1",
|
||||
"x11": "2.3.0",
|
||||
"youtubei.js": "15.0.1",
|
||||
"youtubei.js": "^16.0.1",
|
||||
"zod": "4.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -142,6 +145,7 @@
|
||||
"@playwright/test": "1.55.0",
|
||||
"@stylistic/eslint-plugin": "5.3.1",
|
||||
"@total-typescript/ts-reset": "0.6.1",
|
||||
"@types/crypto-js": "^4.2.2",
|
||||
"@types/electron-localshortcut": "3.1.3",
|
||||
"@types/howler": "2.2.12",
|
||||
"@types/html-to-text": "9.0.4",
|
||||
@ -152,7 +156,7 @@
|
||||
"cross-env": "10.0.0",
|
||||
"del-cli": "6.0.0",
|
||||
"discord-api-types": "0.38.23",
|
||||
"electron": "38.0.0",
|
||||
"electron": "38.2.0",
|
||||
"electron-builder": "26.0.12",
|
||||
"electron-builder-squirrel-windows": "26.0.12",
|
||||
"electron-devtools-installer": "4.0.0",
|
||||
|
||||
40
patches/mdui@2.1.4.patch
Normal file
40
patches/mdui@2.1.4.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff --git a/jsx.en.d.ts b/jsx.en.d.ts
|
||||
index 514d455dcdb436aaf7b2ee88deaefe01943c8b4b..48dff045dead4315936afd931336198996c88217 100644
|
||||
--- a/jsx.en.d.ts
|
||||
+++ b/jsx.en.d.ts
|
||||
@@ -1,12 +1,8 @@
|
||||
-import React from 'react';
|
||||
import { JQ } from '@mdui/jq';
|
||||
|
||||
-type HTMLElementProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>;
|
||||
+type HTMLElementProps = import("solid-js").JSX.HTMLAttributes<HTMLElement>;
|
||||
|
||||
-declare global {
|
||||
- namespace React {
|
||||
- namespace JSX {
|
||||
- interface IntrinsicElements {
|
||||
+export interface IntrinsicElements {
|
||||
/**
|
||||
* Avatar Component
|
||||
*
|
||||
@@ -3296,7 +3292,4 @@ declare global {
|
||||
*/
|
||||
'order'?: number;
|
||||
} & HTMLElementProps;
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
}
|
||||
diff --git a/package.json b/package.json
|
||||
index 3fa3eeb471ce4c31d7ac1c9bcb2d6823947e91ca..c4b062020bf20b8db34ccfea500fa682a4af19a6 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -60,5 +60,8 @@
|
||||
"tslib": "^2.8.1",
|
||||
"@mdui/shared": "^1.0.8",
|
||||
"@mdui/jq": "^3.0.3"
|
||||
+ },
|
||||
+ "peerDependencies": {
|
||||
+ "solid-js": "^1.9.7"
|
||||
}
|
||||
}
|
||||
223
pnpm-lock.yaml
generated
223
pnpm-lock.yaml
generated
@ -25,6 +25,9 @@ patchedDependencies:
|
||||
kuromoji@0.1.2:
|
||||
hash: 4a948f1ea45c61779fa371feb020253ccf7a24e1f7c6b2e250b3ce53d86216d4
|
||||
path: patches/kuromoji@0.1.2.patch
|
||||
mdui@2.1.4:
|
||||
hash: 008b925e23862ced06c38f9765eef4322eb8a93cb5e9a6b684fd717fec0ea0d9
|
||||
path: patches/mdui@2.1.4.patch
|
||||
vudio@2.1.1:
|
||||
hash: 0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d
|
||||
path: patches/vudio@2.1.1.patch
|
||||
@ -41,7 +44,7 @@ importers:
|
||||
version: 1.0.1(@types/node@24.3.0)
|
||||
'@electron/remote':
|
||||
specifier: 2.1.3
|
||||
version: 2.1.3(electron@38.0.0)
|
||||
version: 2.1.3(electron@38.2.0)
|
||||
'@ffmpeg.wasm/core-mt':
|
||||
specifier: 0.12.0
|
||||
version: 0.12.0
|
||||
@ -56,10 +59,10 @@ importers:
|
||||
version: 2.0.5
|
||||
'@ghostery/adblocker-electron':
|
||||
specifier: 2.11.6
|
||||
version: 2.11.6(electron@38.0.0)
|
||||
version: 2.11.6(electron@38.2.0)
|
||||
'@ghostery/adblocker-electron-preload':
|
||||
specifier: 2.11.6
|
||||
version: 2.11.6(electron@38.0.0)
|
||||
version: 2.11.6(electron@38.2.0)
|
||||
'@hono/node-server':
|
||||
specifier: 1.19.1
|
||||
version: 1.19.1(hono@4.9.6)
|
||||
@ -87,6 +90,9 @@ importers:
|
||||
'@jimp/plugin-color':
|
||||
specifier: 1.6.0
|
||||
version: 1.6.0
|
||||
'@mdui/icons':
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
'@skyra/jaro-winkler':
|
||||
specifier: 1.1.1
|
||||
version: 1.1.1
|
||||
@ -111,9 +117,12 @@ importers:
|
||||
conf:
|
||||
specifier: 14.0.0
|
||||
version: 14.0.0
|
||||
crypto-js:
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0
|
||||
custom-electron-prompt:
|
||||
specifier: 1.5.8
|
||||
version: 1.5.8(electron@38.0.0)
|
||||
version: 1.5.8(electron@38.2.0)
|
||||
deepmerge-ts:
|
||||
specifier: 7.1.5
|
||||
version: 7.1.5
|
||||
@ -192,6 +201,9 @@ importers:
|
||||
lazy-var:
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2
|
||||
mdui:
|
||||
specifier: 2.1.4
|
||||
version: 2.1.4(patch_hash=008b925e23862ced06c38f9765eef4322eb8a93cb5e9a6b684fd717fec0ea0d9)
|
||||
node-html-parser:
|
||||
specifier: 7.0.1
|
||||
version: 7.0.1
|
||||
@ -207,9 +219,6 @@ importers:
|
||||
serve:
|
||||
specifier: 14.2.5
|
||||
version: 14.2.5
|
||||
simple-youtube-age-restriction-bypass:
|
||||
specifier: github:organization/Simple-YouTube-Age-Restriction-Bypass#v2.5.9
|
||||
version: https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6
|
||||
socks:
|
||||
specifier: 2.8.7
|
||||
version: 2.8.7
|
||||
@ -244,8 +253,8 @@ importers:
|
||||
specifier: 2.3.0
|
||||
version: 2.3.0
|
||||
youtubei.js:
|
||||
specifier: 15.0.1
|
||||
version: 15.0.1
|
||||
specifier: ^16.0.1
|
||||
version: 16.0.1
|
||||
zod:
|
||||
specifier: 4.1.5
|
||||
version: 4.1.5
|
||||
@ -265,6 +274,9 @@ importers:
|
||||
'@total-typescript/ts-reset':
|
||||
specifier: 0.6.1
|
||||
version: 0.6.1
|
||||
'@types/crypto-js':
|
||||
specifier: ^4.2.2
|
||||
version: 4.2.2
|
||||
'@types/electron-localshortcut':
|
||||
specifier: 3.1.3
|
||||
version: 3.1.3
|
||||
@ -296,8 +308,8 @@ importers:
|
||||
specifier: 0.38.23
|
||||
version: 0.38.23
|
||||
electron:
|
||||
specifier: 38.0.0
|
||||
version: 38.0.0
|
||||
specifier: 38.2.0
|
||||
version: 38.2.0
|
||||
electron-builder:
|
||||
specifier: 26.0.12
|
||||
version: 26.0.12(electron-builder-squirrel-windows@26.0.12)
|
||||
@ -476,8 +488,8 @@ packages:
|
||||
resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@bufbuild/protobuf@2.6.3':
|
||||
resolution: {integrity: sha512-w/gJKME9mYN7ZoUAmSMAWXk4hkVpxRKvEJCb3dV5g9wwWdxTJJ0ayOJAVcNxtdqaxDyFuC0uz4RSGVacJ030PQ==}
|
||||
'@bufbuild/protobuf@2.10.0':
|
||||
resolution: {integrity: sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==}
|
||||
|
||||
'@dehoist/romanize-thai@1.0.0':
|
||||
resolution: {integrity: sha512-6SqD4vyZ48otnypLXMh901CeQetoP5ptYOaIr58N6zDqjjoN0bHszMb5d/6AXJJQf8kIvbmSWBeuDrbAWLajPQ==}
|
||||
@ -1011,6 +1023,15 @@ packages:
|
||||
'@jridgewell/trace-mapping@0.3.30':
|
||||
resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==}
|
||||
|
||||
'@lit-labs/ssr-dom-shim@1.4.0':
|
||||
resolution: {integrity: sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==}
|
||||
|
||||
'@lit/localize@0.12.2':
|
||||
resolution: {integrity: sha512-Qv9kvgJKDq/JVSwXOxuWvQnnOBysHA99ti9im9a4fImCmx+fto+XXcUYQbjZHqiueEEc4V20PcRDPO+1g/6seQ==}
|
||||
|
||||
'@lit/reactive-element@2.1.1':
|
||||
resolution: {integrity: sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==}
|
||||
|
||||
'@malept/cross-spawn-promise@2.0.0':
|
||||
resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==}
|
||||
engines: {node: '>= 12.13.0'}
|
||||
@ -1019,6 +1040,18 @@ packages:
|
||||
resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
|
||||
'@material/material-color-utilities@0.3.0':
|
||||
resolution: {integrity: sha512-ztmtTd6xwnuh2/xu+Vb01btgV8SQWYCaK56CkRK8gEkWe5TuDyBcYJ0wgkMRn+2VcE9KUmhvkz+N9GHrqw/C0g==}
|
||||
|
||||
'@mdui/icons@1.0.3':
|
||||
resolution: {integrity: sha512-Jq9juUqIJMBvIRSTr0qBKiqnlbY5pVUzUP20EHSN8dT7GcqN7bq0AL8MASL5DxKs09kgcERq+z5bHJOkz/VDlA==}
|
||||
|
||||
'@mdui/jq@3.0.3':
|
||||
resolution: {integrity: sha512-nI8QK9UPHhiIbECrC1aMdLXNxP6WgUtC9XwRPs/e56FtwduePyxPyloXmgU8VYw85i6TtYdgClHS9tW8JweNZA==}
|
||||
|
||||
'@mdui/shared@1.0.8':
|
||||
resolution: {integrity: sha512-YY863fjHBuk8KtiO4uLDm1YyIVdGrWv4xUxfv8jP32WqIQBkSTbV7HN8jnKXXIej0NFP7pU89yGr4GJYzVszPg==}
|
||||
|
||||
'@msgpack/msgpack@2.8.0':
|
||||
resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -1271,6 +1304,9 @@ packages:
|
||||
'@types/cacheable-request@6.0.3':
|
||||
resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==}
|
||||
|
||||
'@types/crypto-js@4.2.2':
|
||||
resolution: {integrity: sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==}
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
|
||||
|
||||
@ -1890,6 +1926,9 @@ packages:
|
||||
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
classcat@5.0.5:
|
||||
resolution: {integrity: sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==}
|
||||
|
||||
clean-stack@2.2.0:
|
||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||
engines: {node: '>=6'}
|
||||
@ -2024,6 +2063,9 @@ packages:
|
||||
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
crypto-js@4.2.0:
|
||||
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
|
||||
|
||||
css-select@5.2.2:
|
||||
resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
|
||||
|
||||
@ -2289,8 +2331,8 @@ packages:
|
||||
resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
electron@38.0.0:
|
||||
resolution: {integrity: sha512-egljptiPJqbL/oamFCEY+g3RNeONWTVxZSGeyLqzK8xq106JhzuxnhJZ3sxt4DzJFaofbGyGJA37Oe9d+gVzYw==}
|
||||
electron@38.2.0:
|
||||
resolution: {integrity: sha512-Cw5Mb+N5NxsG0Hc1qr8I65Kt5APRrbgTtEEn3zTod30UNJRnAE1xbGk/1NOaDn3ODzI/MYn6BzT9T9zreP7xWA==}
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
@ -2541,6 +2583,9 @@ packages:
|
||||
exponential-backoff@3.1.2:
|
||||
resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==}
|
||||
|
||||
exponential-backoff@3.1.3:
|
||||
resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==}
|
||||
|
||||
extract-zip@2.0.1:
|
||||
resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
|
||||
engines: {node: '>= 10.17.0'}
|
||||
@ -3085,6 +3130,9 @@ packages:
|
||||
resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
is-promise@4.0.0:
|
||||
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
|
||||
|
||||
is-regex@1.2.1:
|
||||
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -3181,9 +3229,6 @@ packages:
|
||||
resolution: {integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
jintr@3.3.1:
|
||||
resolution: {integrity: sha512-nnOzyhf0SLpbWuZ270Omwbj5LcXUkTcZkVnK8/veJXtSZOiATM5gMZMdmzN75FmTyj+NVgrGaPdH12zIJ24oIA==}
|
||||
|
||||
jpeg-js@0.4.4:
|
||||
resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==}
|
||||
|
||||
@ -3346,6 +3391,15 @@ packages:
|
||||
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
lit-element@4.2.1:
|
||||
resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==}
|
||||
|
||||
lit-html@3.3.1:
|
||||
resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==}
|
||||
|
||||
lit@3.3.1:
|
||||
resolution: {integrity: sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==}
|
||||
|
||||
locate-path@6.0.0:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
@ -3420,6 +3474,9 @@ packages:
|
||||
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
mdui@2.1.4:
|
||||
resolution: {integrity: sha512-QtK5xia5HXtVO7yH30QjwvvNruw5JdrJL1MEc1k6S/ZfsbHOj6BxxdYjrdv2HiN5ikkGqt5CIbZdFyq6shaZyw==}
|
||||
|
||||
meow@13.2.0:
|
||||
resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
|
||||
engines: {node: '>=18'}
|
||||
@ -3435,6 +3492,10 @@ packages:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
meriyah@6.1.4:
|
||||
resolution: {integrity: sha512-Sz8FzjzI0kN13GK/6MVEsVzMZEPvOhnmmI1lU5+/1cGOiK3QUahntrNNtdVeihrO7t9JpoH75iMNXg6R6uWflQ==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
|
||||
micromatch@4.0.8:
|
||||
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||
engines: {node: '>=8.6'}
|
||||
@ -4228,11 +4289,6 @@ packages:
|
||||
resolution: {integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==}
|
||||
engines: {node: '>=20.12.2'}
|
||||
|
||||
simple-youtube-age-restriction-bypass@https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6:
|
||||
resolution: {tarball: https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6}
|
||||
version: 2.5.9
|
||||
engines: {node: '>=18.0.0', npm: '>=7.0.0'}
|
||||
|
||||
sirv@3.0.1:
|
||||
resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
|
||||
engines: {node: '>=18'}
|
||||
@ -4309,6 +4365,9 @@ packages:
|
||||
sprintf-js@1.1.3:
|
||||
resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
|
||||
|
||||
ssr-window@5.0.1:
|
||||
resolution: {integrity: sha512-WVXlhQsm54HC+FnJfEbccEgNF7mKXtnFUB8Xn7rx2dsWHOlBdqezdX88Vjh6pVGaa0ZvL+PoSu7rEcBuNmxt6g==}
|
||||
|
||||
ssri@12.0.0:
|
||||
resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==}
|
||||
engines: {node: ^18.17.0 || >=20.5.0}
|
||||
@ -4832,8 +4891,8 @@ packages:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
youtubei.js@15.0.1:
|
||||
resolution: {integrity: sha512-2slapqJS5NuXKHvcACEknyVz0AjH/TrXaOhDM0q2twQKa54kCmfj+7B/2nGfd20uzAe29zW1ejk2qOc4ABuGkg==}
|
||||
youtubei.js@16.0.1:
|
||||
resolution: {integrity: sha512-3802bCAGkBc2/G5WUTc0l/bO5mPYJbQAHL04d9hE9PnrDHoBUT8MN721Yqt4RCNncAXdHcfee9VdJy3Fhq1r5g==}
|
||||
|
||||
zlibjs@0.3.1:
|
||||
resolution: {integrity: sha512-+J9RrgTKOmlxFSDHo0pI1xM6BLVUv+o0ZT9ANtCxGkjIVCCUdx9alUF8Gm+dGLKbkkkidWIHFDZHDMpfITt4+w==}
|
||||
@ -4978,7 +5037,7 @@ snapshots:
|
||||
'@babel/helper-string-parser': 7.27.1
|
||||
'@babel/helper-validator-identifier': 7.27.1
|
||||
|
||||
'@bufbuild/protobuf@2.6.3': {}
|
||||
'@bufbuild/protobuf@2.10.0': {}
|
||||
|
||||
'@dehoist/romanize-thai@1.0.0': {}
|
||||
|
||||
@ -5048,7 +5107,7 @@ snapshots:
|
||||
'@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2':
|
||||
dependencies:
|
||||
env-paths: 2.2.1
|
||||
exponential-backoff: 3.1.2
|
||||
exponential-backoff: 3.1.3
|
||||
glob: 8.1.0
|
||||
graceful-fs: 4.2.11
|
||||
make-fetch-happen: 10.2.1
|
||||
@ -5100,9 +5159,9 @@ snapshots:
|
||||
- bluebird
|
||||
- supports-color
|
||||
|
||||
'@electron/remote@2.1.3(electron@38.0.0)':
|
||||
'@electron/remote@2.1.3(electron@38.2.0)':
|
||||
dependencies:
|
||||
electron: 38.0.0
|
||||
electron: 38.2.0
|
||||
|
||||
'@electron/universal@3.0.1':
|
||||
dependencies:
|
||||
@ -5293,16 +5352,16 @@ snapshots:
|
||||
dependencies:
|
||||
'@ghostery/adblocker-extended-selectors': 2.11.6
|
||||
|
||||
'@ghostery/adblocker-electron-preload@2.11.6(electron@38.0.0)':
|
||||
'@ghostery/adblocker-electron-preload@2.11.6(electron@38.2.0)':
|
||||
dependencies:
|
||||
'@ghostery/adblocker-content': 2.11.6
|
||||
electron: 38.0.0
|
||||
electron: 38.2.0
|
||||
|
||||
'@ghostery/adblocker-electron@2.11.6(electron@38.0.0)':
|
||||
'@ghostery/adblocker-electron@2.11.6(electron@38.2.0)':
|
||||
dependencies:
|
||||
'@ghostery/adblocker': 2.11.6
|
||||
'@ghostery/adblocker-electron-preload': 2.11.6(electron@38.0.0)
|
||||
electron: 38.0.0
|
||||
'@ghostery/adblocker-electron-preload': 2.11.6(electron@38.2.0)
|
||||
electron: 38.2.0
|
||||
tldts-experimental: 7.0.12
|
||||
|
||||
'@ghostery/adblocker-extended-selectors@2.11.6': {}
|
||||
@ -5606,6 +5665,16 @@ snapshots:
|
||||
'@jridgewell/resolve-uri': 3.1.2
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
'@lit-labs/ssr-dom-shim@1.4.0': {}
|
||||
|
||||
'@lit/localize@0.12.2':
|
||||
dependencies:
|
||||
lit: 3.3.1
|
||||
|
||||
'@lit/reactive-element@2.1.1':
|
||||
dependencies:
|
||||
'@lit-labs/ssr-dom-shim': 1.4.0
|
||||
|
||||
'@malept/cross-spawn-promise@2.0.0':
|
||||
dependencies:
|
||||
cross-spawn: 7.0.6
|
||||
@ -5619,6 +5688,27 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@material/material-color-utilities@0.3.0': {}
|
||||
|
||||
'@mdui/icons@1.0.3':
|
||||
dependencies:
|
||||
'@mdui/shared': 1.0.8
|
||||
lit: 3.3.1
|
||||
tslib: 2.8.1
|
||||
|
||||
'@mdui/jq@3.0.3':
|
||||
dependencies:
|
||||
ssr-window: 5.0.1
|
||||
tslib: 2.8.1
|
||||
|
||||
'@mdui/shared@1.0.8':
|
||||
dependencies:
|
||||
'@lit/reactive-element': 2.1.1
|
||||
'@mdui/jq': 3.0.3
|
||||
lit: 3.3.1
|
||||
ssr-window: 5.0.1
|
||||
tslib: 2.8.1
|
||||
|
||||
'@msgpack/msgpack@2.8.0': {}
|
||||
|
||||
'@napi-rs/wasm-runtime@0.2.12':
|
||||
@ -5840,13 +5930,15 @@ snapshots:
|
||||
'@types/node': 24.3.0
|
||||
'@types/responselike': 1.0.3
|
||||
|
||||
'@types/crypto-js@4.2.2': {}
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
'@types/ms': 2.1.0
|
||||
|
||||
'@types/electron-localshortcut@3.1.3':
|
||||
dependencies:
|
||||
electron: 38.0.0
|
||||
electron: 38.2.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -6576,6 +6668,8 @@ snapshots:
|
||||
|
||||
ci-info@3.9.0: {}
|
||||
|
||||
classcat@5.0.5: {}
|
||||
|
||||
clean-stack@2.2.0: {}
|
||||
|
||||
clean-stack@5.2.0:
|
||||
@ -6715,6 +6809,8 @@ snapshots:
|
||||
shebang-command: 2.0.0
|
||||
which: 2.0.2
|
||||
|
||||
crypto-js@4.2.0: {}
|
||||
|
||||
css-select@5.2.2:
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
@ -6727,9 +6823,9 @@ snapshots:
|
||||
|
||||
csstype@3.1.3: {}
|
||||
|
||||
custom-electron-prompt@1.5.8(electron@38.0.0):
|
||||
custom-electron-prompt@1.5.8(electron@38.2.0):
|
||||
dependencies:
|
||||
electron: 38.0.0
|
||||
electron: 38.2.0
|
||||
|
||||
data-uri-to-buffer@4.0.1: {}
|
||||
|
||||
@ -7059,7 +7155,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
electron@38.0.0:
|
||||
electron@38.2.0:
|
||||
dependencies:
|
||||
'@electron/get': 2.0.3
|
||||
'@types/node': 22.17.2
|
||||
@ -7429,6 +7525,8 @@ snapshots:
|
||||
|
||||
exponential-backoff@3.1.2: {}
|
||||
|
||||
exponential-backoff@3.1.3: {}
|
||||
|
||||
extract-zip@2.0.1:
|
||||
dependencies:
|
||||
debug: 4.4.1
|
||||
@ -8009,6 +8107,8 @@ snapshots:
|
||||
|
||||
is-port-reachable@4.0.0: {}
|
||||
|
||||
is-promise@4.0.0: {}
|
||||
|
||||
is-regex@1.2.1:
|
||||
dependencies:
|
||||
call-bound: 1.0.4
|
||||
@ -8122,10 +8222,6 @@ snapshots:
|
||||
'@jimp/types': 1.6.0
|
||||
'@jimp/utils': 1.6.0
|
||||
|
||||
jintr@3.3.1:
|
||||
dependencies:
|
||||
acorn: 8.15.0
|
||||
|
||||
jpeg-js@0.4.4: {}
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
@ -8262,6 +8358,22 @@ snapshots:
|
||||
lightningcss-win32-arm64-msvc: 1.30.1
|
||||
lightningcss-win32-x64-msvc: 1.30.1
|
||||
|
||||
lit-element@4.2.1:
|
||||
dependencies:
|
||||
'@lit-labs/ssr-dom-shim': 1.4.0
|
||||
'@lit/reactive-element': 2.1.1
|
||||
lit-html: 3.3.1
|
||||
|
||||
lit-html@3.3.1:
|
||||
dependencies:
|
||||
'@types/trusted-types': 2.0.7
|
||||
|
||||
lit@3.3.1:
|
||||
dependencies:
|
||||
'@lit/reactive-element': 2.1.1
|
||||
lit-element: 4.2.1
|
||||
lit-html: 3.3.1
|
||||
|
||||
locate-path@6.0.0:
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
@ -8352,6 +8464,20 @@ snapshots:
|
||||
|
||||
math-intrinsics@1.1.0: {}
|
||||
|
||||
mdui@2.1.4(patch_hash=008b925e23862ced06c38f9765eef4322eb8a93cb5e9a6b684fd717fec0ea0d9):
|
||||
dependencies:
|
||||
'@floating-ui/utils': 0.2.10
|
||||
'@lit/localize': 0.12.2
|
||||
'@lit/reactive-element': 2.1.1
|
||||
'@material/material-color-utilities': 0.3.0
|
||||
'@mdui/jq': 3.0.3
|
||||
'@mdui/shared': 1.0.8
|
||||
classcat: 5.0.5
|
||||
is-promise: 4.0.0
|
||||
lit: 3.3.1
|
||||
ssr-window: 5.0.1
|
||||
tslib: 2.8.1
|
||||
|
||||
meow@13.2.0: {}
|
||||
|
||||
merge-anything@5.1.7:
|
||||
@ -8362,6 +8488,8 @@ snapshots:
|
||||
|
||||
merge2@1.4.1: {}
|
||||
|
||||
meriyah@6.1.4: {}
|
||||
|
||||
micromatch@4.0.8:
|
||||
dependencies:
|
||||
braces: 3.0.3
|
||||
@ -9139,8 +9267,6 @@ snapshots:
|
||||
|
||||
simple-xml-to-json@1.2.3: {}
|
||||
|
||||
simple-youtube-age-restriction-bypass@https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6: {}
|
||||
|
||||
sirv@3.0.1:
|
||||
dependencies:
|
||||
'@polka/url': 1.0.0-next.29
|
||||
@ -9232,6 +9358,8 @@ snapshots:
|
||||
sprintf-js@1.1.3:
|
||||
optional: true
|
||||
|
||||
ssr-window@5.0.1: {}
|
||||
|
||||
ssri@12.0.0:
|
||||
dependencies:
|
||||
minipass: 7.1.2
|
||||
@ -9796,11 +9924,10 @@ snapshots:
|
||||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
youtubei.js@15.0.1:
|
||||
youtubei.js@16.0.1:
|
||||
dependencies:
|
||||
'@bufbuild/protobuf': 2.6.3
|
||||
jintr: 3.3.1
|
||||
undici: 6.21.3
|
||||
'@bufbuild/protobuf': 2.10.0
|
||||
meriyah: 6.1.4
|
||||
|
||||
zlibjs@0.3.1: {}
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ export const defaultConfig: DefaultConfig = {
|
||||
x: -1,
|
||||
y: -1,
|
||||
},
|
||||
'url': 'https://music.youtube.com',
|
||||
'url': 'https://music.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com',
|
||||
'options': {
|
||||
tray: false,
|
||||
appVisible: true,
|
||||
|
||||
@ -13,7 +13,7 @@ export function getPlugins() {
|
||||
|
||||
export async function isEnabled(plugin: string) {
|
||||
const pluginConfig = deepmerge(
|
||||
(await allPlugins())[plugin].config ?? { enabled: false },
|
||||
(await allPlugins())[plugin]?.config ?? { enabled: false },
|
||||
(store.get('plugins') as Record<string, PluginConfig>)[plugin] ?? {},
|
||||
);
|
||||
return pluginConfig !== undefined && pluginConfig.enabled;
|
||||
|
||||
@ -112,7 +112,7 @@ const migrations = {
|
||||
'>=2.1.3'(store: IStore) {
|
||||
const listenAlong = store.get('plugins.discord.listenAlong');
|
||||
if (listenAlong !== undefined) {
|
||||
store.set('plugins.discord.playOnYouTubeMusic', listenAlong);
|
||||
store.set('plugins.discord.playOnPearMusic', listenAlong);
|
||||
store.delete('plugins.discord.listenAlong');
|
||||
}
|
||||
},
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
"common": {
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "فشل تشغيل الاضافة {{pluginName}}::{{contextName}}",
|
||||
"executed-at-ms": "تم تشغيل الاضافة {{pluginName}}::{{contextName}} خلال {{ms}} جزء من الثانية",
|
||||
"initialize-failed": "فشل تنفيذ الاضافة \"{{pluginName}}\"",
|
||||
"load-all": "جاري تحميل جميع الاضافات",
|
||||
"execute-failed": "فشل بدأ الاضافة {{pluginName}}::{{contextName}}",
|
||||
"executed-at-ms": "تم بدأ الاضافة {{pluginName}}::{{contextName}} خلال {{ms}} جزء من الثانية",
|
||||
"initialize-failed": "فشل تشغيل الاضافة \"{{pluginName}}\"",
|
||||
"load-all": "جار تحميل جميع الاضافات",
|
||||
"load-failed": "فشل في تحميل الاضافة \"{{pluginName}}\"",
|
||||
"loaded": "تم تحميل الاضافة \"{{pluginName}}\"",
|
||||
"unload-failed": "فشل ازالة الاضافة \"{{pluginName}}\"",
|
||||
@ -30,21 +30,21 @@
|
||||
"receive-command": "تم الحصول على أمر عن طريق: \"{{command}}\""
|
||||
},
|
||||
"theme": {
|
||||
"css-file-not-found": "ملف \"{{cssFile}}\" غير متواجد,سيتم التجاهل"
|
||||
"css-file-not-found": "ملف \"{{cssFile}}\" غير متواجد، سيتم التجاهل"
|
||||
},
|
||||
"unresponsive": {
|
||||
"details": "خطء عدم استجابة!\n{{error}}"
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "ازالة بيانات التطبيق المخزنة"
|
||||
"clearing-cache-after-20s": "ازالة ذاكرة التخزين المؤقت للتطبيق"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "تم محاولة فتح الصفحة خارج الشاشة, حجم الصفحة={{windowSize}}, حجم الشاشة={{displaySize}}, مكان={{position}}"
|
||||
"tried-to-render-offscreen": "تم محاولة فتح الصفحة خارج الشاشة, حجم الصفحة={{windowSize}}, حجم النافذة={{displaySize}}, المكان={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "تم اخفاء القائمة, استخدم 'Alt' لاظهار القائمة (أو 'Escape' اذا كنت تستخدم القائمة داخل التطبيق)",
|
||||
"detail": "تم اخفاء القائمة, استخدم 'Alt' لاظهار القائمة (أو 'Escape' اذا كنت تستخدم القائمة التي داخل التطبيق)",
|
||||
"message": "اخفاء القائمة مفعل",
|
||||
"title": "تم تفعيل اخفاء القائمة"
|
||||
},
|
||||
@ -65,27 +65,27 @@
|
||||
},
|
||||
"detail": "نأسف على الإزعاج! يرجى اختيار ما يجب القيام به:",
|
||||
"message": "التطبيق لا يستجيب",
|
||||
"title": "الصفحة لا تستجيب"
|
||||
"title": "النافذة لا تستجيب"
|
||||
},
|
||||
"update-available": {
|
||||
"buttons": {
|
||||
"disable": "ايقاف التحديثات",
|
||||
"download": "تحميل",
|
||||
"ok": "موافق"
|
||||
"download": "تنزيل",
|
||||
"ok": "حسنا"
|
||||
},
|
||||
"detail": "يوجد نسخة جديدة يمكن تحميلها من خلال {{downloadLink}}",
|
||||
"message": "يوجد نسخة حديثة",
|
||||
"detail": "يوجد نسخة جديدة يمكن تنزيلها من {{downloadLink}}",
|
||||
"message": "يوجد نسخة جديدة",
|
||||
"title": "يوجد تحديث"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"about": "عنا",
|
||||
"navigation": {
|
||||
"label": "التنقل",
|
||||
"label": "شريط التنقل",
|
||||
"submenu": {
|
||||
"copy-current-url": "نسخ الرابط الحالي",
|
||||
"go-back": "العودة للخلف",
|
||||
"go-forward": "التقدم",
|
||||
"go-back": "عودة",
|
||||
"go-forward": "تقدم",
|
||||
"quit": "الخروج",
|
||||
"restart": "اعادة تشغيل التطبيق"
|
||||
}
|
||||
@ -96,28 +96,28 @@
|
||||
"advanced-options": {
|
||||
"label": "الاعدادات المتقدمة",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "إعادة تعيين ذاكرة التخزين المؤقت للتطبيق عند بدء التشغيل",
|
||||
"disable-hardware-acceleration": "تعطيل تسريع الأجهزة",
|
||||
"auto-reset-app-cache": "إعادة ضبط ذاكرة التخزين المؤقت للتطبيق عند بدء التشغيل",
|
||||
"disable-hardware-acceleration": "اطفاء تسريع الأجهزة",
|
||||
"edit-config-json": "تعديل ملف الاعدادات",
|
||||
"override-user-agent": "تجاوز وكيل المستخدم",
|
||||
"restart-on-config-changes": "اعادة التشغيل بعد تعديل الاعدادات",
|
||||
"set-proxy": {
|
||||
"label": "تعيين الوكيل",
|
||||
"prompt": {
|
||||
"label": "أدخل عنوان الوكيل: (اتركه فارغًا للتعطيل)",
|
||||
"label": "أدخل عنوان الوكيل: (اتركه فارغًا لإطفائه)",
|
||||
"placeholder": "مثال: SOCKS5://127.0.0.1:9999",
|
||||
"title": "اضافة الوكيل"
|
||||
"title": "ضع proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "تثبيت أدوات التطوير"
|
||||
}
|
||||
},
|
||||
"always-on-top": "دائما في القمة",
|
||||
"always-on-top": "دائما في المقدمة",
|
||||
"auto-update": "تحديث تلقائي",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "سيتم إخفاء القائمة عند التشغيل التالي، استخدم [Alt] لإظهارها (أو ضع علامة اختيار على [`] في حالة استخدام القائمة داخل التطبيق)",
|
||||
"title": "إخفاء القائمة ممكن"
|
||||
"message": "سيتم إخفاء القائمة عند التشغيل التالي، استخدم [Alt] لإظهارها (أو اضغط [`] في حالة استخدام القائمة التي داخل التطبيق)",
|
||||
"title": "إخفاء القائمة مفعل"
|
||||
},
|
||||
"label": "إخفاء القائمة"
|
||||
},
|
||||
@ -131,20 +131,20 @@
|
||||
"to-help-translate": "تريد المساعدة في الترجمة؟ اضغط هنا"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "تكملة الأغنية الأخيرة عند بدأ التشغيل",
|
||||
"resume-on-start": "استأنف الأغنية الأخيرة عند بدأ التشغيل",
|
||||
"single-instance-lock": "قفل مثيل واحد",
|
||||
"start-at-login": "ابدأ عند تسجيل الدخول",
|
||||
"starting-page": {
|
||||
"label": "صفحة البداية",
|
||||
"unset": "الغاء"
|
||||
"unset": "عدم تعيين"
|
||||
},
|
||||
"tray": {
|
||||
"label": "قائمة",
|
||||
"submenu": {
|
||||
"disabled": "غير مفعل",
|
||||
"enabled-and-hide-app": "تمكين وإخفاء التطبيق",
|
||||
"enabled-and-show-app": "ممكين وأظهر التطبيق",
|
||||
"play-pause-on-click": "تشغيل/إيقاف مؤقت عند النقر"
|
||||
"enabled-and-hide-app": "مفعل وإخفاء التطبيق",
|
||||
"enabled-and-show-app": "مفعل وأظهر التطبيق",
|
||||
"play-pause-on-click": "تشغيل/إيقاف عند النقر"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
@ -153,7 +153,8 @@
|
||||
"custom-window-title": {
|
||||
"label": "عنوان نافذة مخصص",
|
||||
"prompt": {
|
||||
"placeholder": "مثال: YouTube Music"
|
||||
"label": "ادخل عنوان مخصص للنافذة: (اتركه فارغًا إلغاء التفعيل)",
|
||||
"placeholder": "مثال: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -162,7 +163,7 @@
|
||||
"hide": "اخفاء",
|
||||
"label": "أزرار الاعجاب"
|
||||
},
|
||||
"remove-upgrade-button": "ازالة زرار التطوير",
|
||||
"remove-upgrade-button": "ازالة زر التطوير",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
@ -207,8 +208,8 @@
|
||||
"restart": "إعادة تشغيل التطبيق",
|
||||
"show": "عرض النافدة",
|
||||
"tooltip": {
|
||||
"default": "يوتيوب اغاني",
|
||||
"with-song-info": "أغاني يوتيوب: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -232,25 +233,25 @@
|
||||
"description": "يطبق ثيمًا ديناميكيًا وتأثيرات بصرية بناء على ألوان الألبوم",
|
||||
"menu": {
|
||||
"color-mix-ratio": {
|
||||
"label": "نسبة قوة اللون",
|
||||
"label": "نسبة قوة مزيج الألوان",
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
"percent": "{{ratio}}٪"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "ثيم ألوان الألبوم"
|
||||
"name": "سمة ألوان الألبوم"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"description": "يطبق تأثير إضاءة عن طريق إسقاط ألوان ناعمة من الفيديو على خلفية شاشتك",
|
||||
"menu": {
|
||||
"blur-amount": {
|
||||
"label": "مقدار التمويه",
|
||||
"label": "مقدار الطمس",
|
||||
"submenu": {
|
||||
"pixels": "{{blurAmount}} بكسل"
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"label": "تخزين الصوت الؤقت",
|
||||
"label": "تخزين الصوت المؤقت",
|
||||
"submenu": {
|
||||
"buffer": "{{buffer}}"
|
||||
}
|
||||
@ -258,7 +259,7 @@
|
||||
"opacity": {
|
||||
"label": "الشفافية",
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
"percent": "{{opacity}}٪"
|
||||
}
|
||||
},
|
||||
"quality": {
|
||||
@ -270,7 +271,7 @@
|
||||
"size": {
|
||||
"label": "الحجم",
|
||||
"submenu": {
|
||||
"percent": "{{size}}%"
|
||||
"percent": "{{size}}٪"
|
||||
}
|
||||
},
|
||||
"smoothness-transition": {
|
||||
@ -286,30 +287,30 @@
|
||||
"name": "الوضع المحيطي"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "تكامل دعم YouTube Music مع ويدجت Amuse لعرض الأغنية قيد التشغيل، من إنتاج 6K Labs",
|
||||
"description": "تكامل دعم Pear Desktop مع ويدجت Amuse لعرض الأغنية التي قيد التشغيل، من إنتاج 6K Labs",
|
||||
"name": "تلسيه",
|
||||
"response": {
|
||||
"query": "خادم Amuse API قيد التشغيل. استخدم GET /query للحصول على معلومات الأغنية."
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "يضيف خادم للتحكم في المشغل",
|
||||
"description": "يضيف API للتحكم في المشغل",
|
||||
"dialog": {
|
||||
"request": {
|
||||
"buttons": {
|
||||
"allow": "سماح",
|
||||
"deny": "رفض"
|
||||
},
|
||||
"message": "السماح لـ {{ID}} ({{origin}}) بالوصول إلى واجهة برمجة التطبيقات (API)؟",
|
||||
"title": "طلب السماح بالوصول إلى واجهة برمجة التطبيقات(API)"
|
||||
"message": "السماح لـ {{ID}} ({{origin}}) بالوصول إلى الAPI؟",
|
||||
"title": "طلب السماح بالوصول إلى الAPI"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"auth-strategy": {
|
||||
"label": "نهج التفويض",
|
||||
"label": "استراتيجية التفويض",
|
||||
"submenu": {
|
||||
"auth-at-first": {
|
||||
"label": "التفويض المبدئي عند الطلب الأول"
|
||||
"label": "التفويض عند الطلب الأول"
|
||||
},
|
||||
"none": {
|
||||
"label": "بدون تفويض"
|
||||
@ -340,10 +341,10 @@
|
||||
"name": "ضاغط الصوت"
|
||||
},
|
||||
"auth-proxy-adapter": {
|
||||
"description": "دعم استخدام خدمات وكيل المصادقة",
|
||||
"description": "دعم استخدام خدمات proxy للإثبات",
|
||||
"menu": {
|
||||
"disable": "تعطيل مكيف الوكيل",
|
||||
"enable": "تفعيل مكيف الوكيل",
|
||||
"enable": "تفعيل مكيف proxy للصداقة",
|
||||
"hostname": {
|
||||
"label": "إسم المستضيف"
|
||||
},
|
||||
@ -351,28 +352,28 @@
|
||||
"label": "المدخل"
|
||||
}
|
||||
},
|
||||
"name": "مكيّف وسيط المصادقة",
|
||||
"name": "مكيّف proxy للمصادقة",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "أدخل اسم المستضيف لخادم الوسيط المحلي (يتطلب إعادة التشغيل):",
|
||||
"title": "إسم مستضيف الوسيط"
|
||||
"label": "أدخل اسم المستضيف لخادم proxy المحلي (يتطلب إعادة التشغيل):",
|
||||
"title": "إسم مستضيف proxy"
|
||||
},
|
||||
"port": {
|
||||
"label": "أدخل مدخلًا لخادم الوسيط المحلي (يتطلب إعادة التشغيل):",
|
||||
"title": "مدخل الوسيط"
|
||||
"label": "أدخل مدخلًا لخادم proxy المحلي (يتطلب إعادة التشغيل):",
|
||||
"title": "مدخل proxy"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blur-nav-bar": {
|
||||
"description": "يجعل شريط التنقل شفاف و ضبابي",
|
||||
"name": "تغبيش شريط التنقل"
|
||||
"description": "يجعل شريط التنقل شفاف و مطموس",
|
||||
"name": "طمس شريط التنقل"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "تجاوز تَحَقّق اليوتيوب من السن",
|
||||
"description": "تجاوز تَحَقّق مشغل الموسيقى من السن",
|
||||
"name": "تجاوز التحقق من السن"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "محدد ترجمات المقاطع الصوتية لYoutube Music",
|
||||
"description": "محدد ترجمات المقاطع الصوتية لPear Desktop",
|
||||
"menu": {
|
||||
"autoload": "اختار اخر ترجمة مستخدمة تلقائيا",
|
||||
"disable-captions": "لا توجد ترجمات بشكل افتراضي"
|
||||
@ -390,7 +391,7 @@
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "تم تغيير الترجمة الى {{language}}",
|
||||
"caption-disabled": "الترجمة معطلة",
|
||||
"caption-disabled": "الترجمة غير مفعلة",
|
||||
"no-captions": "الترجمة لهاته الأغنية غير متاحة"
|
||||
}
|
||||
},
|
||||
@ -408,25 +409,33 @@
|
||||
"options": {
|
||||
"multi-input": {
|
||||
"fade-in-duration": "مدة التداخل (بأجزاء الثانية)",
|
||||
"fade-out-duration": "مدة التلاشي (جزء ثانية)",
|
||||
"fade-out-duration": "مدة التلاشي (بأجزاء الثانية)",
|
||||
"fade-scaling": {
|
||||
"label": "توسيع التداخل",
|
||||
"linear": "خطي",
|
||||
"logarithmic": "لوغاريتمي"
|
||||
},
|
||||
"seconds-before-end": "التلاشي قبل النهاية بـ N ثوانٍ"
|
||||
"seconds-before-end": "التداخل قبل النهاية بـ N ثوانٍ"
|
||||
},
|
||||
"title": "خيارات التداخل"
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "ضبط مخرج جهاز وسائط مخصص للأغاني",
|
||||
"menu": {
|
||||
"device-selector": "اختر جهاز"
|
||||
},
|
||||
"name": "جهاز اخراج مخصص",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "اختر جهاز الوسائط الذي سيتم استخدامه للاخراج",
|
||||
"title": "اختر الجهاز الإخراج"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "يجعل الأغنية تبدأ في وضع \"الإيقاف المؤقت\"",
|
||||
"description": "يجعل الأغنية تبدأ في وضع \"الإيقاف\"",
|
||||
"menu": {
|
||||
"apply-once": "ينطبق فقط عند بدء التشغيل"
|
||||
},
|
||||
@ -444,13 +453,21 @@
|
||||
"clear-activity": "مسح النشاط",
|
||||
"clear-activity-after-timeout": "مسح النشاط بعد انتهاء المهلة",
|
||||
"connected": "متصل",
|
||||
"disconnected": "قطع الاتصال",
|
||||
"disconnected": "غير متصل",
|
||||
"hide-duration-left": "إخفاء المدة المتبقية",
|
||||
"hide-github-button": "إخفاء زر رابط GitHub",
|
||||
"play-on-youtube-music": "شغل في YouTube Music",
|
||||
"set-inactivity-timeout": "ضبط مهلة عدم النشاط"
|
||||
"play-on-pear-desktop": "شغل في Pear Desktop",
|
||||
"set-inactivity-timeout": "ضبط مهلة عدم النشاط",
|
||||
"set-status-display-type": {
|
||||
"label": "نص الحالة",
|
||||
"submenu": {
|
||||
"artist": "جار السمع ل{artist}",
|
||||
"pear-desktop": "جار السمع لPear Desktop",
|
||||
"title": "جار السمع ل{song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "حالة ديسكورد",
|
||||
"name": "Discord Rich Presence",
|
||||
"prompt": {
|
||||
"set-inactivity-timeout": {
|
||||
"label": "أدخل مهلة عدم النشاط بالثواني:",
|
||||
@ -465,70 +482,70 @@
|
||||
"buttons": {
|
||||
"ok": "حسنا"
|
||||
},
|
||||
"message": "نعتذر، فشل التحميل…",
|
||||
"title": "خطأ في التحميل!"
|
||||
"message": "اه! نعتذر، فشل التنزيل…",
|
||||
"title": "خطأ في التنزيل!"
|
||||
},
|
||||
"start-download-playlist": {
|
||||
"buttons": {
|
||||
"ok": "حسنا"
|
||||
},
|
||||
"detail": "({{playlistSize}} أغنية)",
|
||||
"message": "تحميل القائمة {{playlistTitle}}",
|
||||
"title": "بدأ التحميل"
|
||||
"message": "تنزيل القائمة {{playlistTitle}}",
|
||||
"title": "تم بدأ التنزيل"
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"conversion-progress": "التحويل: {{percent}}%",
|
||||
"conversion-progress": "التحويل: {{percent}}٪",
|
||||
"converting": "جارٍ التحويل…",
|
||||
"done": "تم: {{filePath}}",
|
||||
"download-info": "تحميل {{artist}} - {{title}} {{videoId}}",
|
||||
"download-progress": "تحميل: {{percent}}%",
|
||||
"downloading": "تحميل…",
|
||||
"downloading-counter": "تنزيل {{current}}/{{total}}…",
|
||||
"downloading-playlist": "يتم تحميل القائمة \"{{playlistTitle}}\" - {{playlistSize}} أغاني ({{playlistId}})",
|
||||
"error-while-downloading": "خطأ في تحميل \"{{author}} - {{title}}\": {{error}}",
|
||||
"download-info": "تنزيل {{artist}} - {{title}} {{videoId}}",
|
||||
"download-progress": "تنزيل: {{percent}}٪",
|
||||
"downloading": "جار التنزيل…",
|
||||
"downloading-counter": "جار التنزيل {{current}}/{{total}}…",
|
||||
"downloading-playlist": "جار تنزيل القائمة \"{{playlistTitle}}\" - {{playlistSize}} أغاني ({{playlistId}})",
|
||||
"error-while-downloading": "خطأ في تنزيل \"{{author}} - {{title}}\": {{error}}",
|
||||
"folder-already-exists": "الملف {{playlistFolder}} موجود بالفعل",
|
||||
"getting-playlist-info": "الحصول على معلومات القائمة…",
|
||||
"loading": "جار التحميل…",
|
||||
"playlist-has-only-one-song": "تحتوي قائمة التشغيل على عنصر واحد فقط، يتم تحميله الأن",
|
||||
"getting-playlist-info": "جار الحصول على معلومات القائمة…",
|
||||
"loading": "جارِ التنزيل…",
|
||||
"playlist-has-only-one-song": "تحتوي قائمة التشغيل على عنصر واحد فقط، جار تنزيله الأن",
|
||||
"playlist-id-not-found": "لم يتم العثور على معرف قائمة التشغيل",
|
||||
"playlist-is-empty": "قائمة التشغيل فارغة",
|
||||
"playlist-is-mix-or-private": "حدث خطأ أثناء الحصول على معلومات قائمة التشغيل: تأكد من أنها ليست قائمة تشغيل خاصة أو قائمة تشغيل \"مختلطة لك\"\n\n{{error}}",
|
||||
"preparing-file": "يتم تجهيز الملف…",
|
||||
"saving": "يتم الحفظ…",
|
||||
"trying-to-get-playlist-id": "محاولة الحصول على معرف قائمة التشغيل: {{playlistId}}",
|
||||
"preparing-file": "جار تجهيز الملف…",
|
||||
"saving": "جار الحفظ…",
|
||||
"trying-to-get-playlist-id": "جار محاولة الحصول على معرف قائمة التشغيل: {{playlistId}}",
|
||||
"video-id-not-found": "لم يتم ايجاد الفيديو",
|
||||
"writing-id3": "كتابة علامات ID3…"
|
||||
"writing-id3": "جار كتابة علامات ID3…"
|
||||
}
|
||||
},
|
||||
"description": "يقوم بتنزيل ملفات MP3/مصدر الصوت مباشرة من الواجهة",
|
||||
"menu": {
|
||||
"choose-download-folder": "اختر مكان التحميل",
|
||||
"choose-download-folder": "اختر مكان التنزيل",
|
||||
"download-finish-settings": {
|
||||
"label": "تحميل عند الانتهاء",
|
||||
"label": "تنزيل عند الانتهاء",
|
||||
"prompt": {
|
||||
"last-percent": "بعد ( عدد مجهول ) بالمئة",
|
||||
"last-seconds": "آخر (x) ثانية",
|
||||
"title": "تكوين وقت التحميل"
|
||||
"last-percent": "بعد x بالمئة",
|
||||
"last-seconds": "آخر x ثانية",
|
||||
"title": "تكوين وقت التنزيل"
|
||||
},
|
||||
"submenu": {
|
||||
"advanced": "متقدم",
|
||||
"enabled": "مفعل",
|
||||
"mode": "وضع الوقت",
|
||||
"percent": "النسبة",
|
||||
"percent": "نسبة",
|
||||
"seconds": "ثواني"
|
||||
}
|
||||
},
|
||||
"download-playlist": "تحميل قائمة التشغيل",
|
||||
"download-playlist": "تنزيل قائمة التشغيل",
|
||||
"presets": "الإعدادات المسبقة",
|
||||
"skip-existing": "تخطي الملفات الموجودة"
|
||||
"skip-existing": "تخطي الملفات الموجودة بالفعل"
|
||||
},
|
||||
"name": "أداة التنزيل",
|
||||
"renderer": {
|
||||
"can-not-update-progress": "لا يمكن تحديث التقدم"
|
||||
},
|
||||
"templates": {
|
||||
"button": "تحميل"
|
||||
"button": "تنزيل"
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
@ -552,11 +569,11 @@
|
||||
"menu": {
|
||||
"hide-dom-window-controls": "إخفاء عناصر التحكم في نافذة DOM"
|
||||
},
|
||||
"name": "قائمة داخل التطبيق"
|
||||
"name": "قائمة التي داخل التطبيق"
|
||||
},
|
||||
"lumiastream": {
|
||||
"description": "يضيف دعم Lumia Stream",
|
||||
"name": "Lumia Stream [بيتا]"
|
||||
"name": "Lumia Stream [تجريبي]"
|
||||
},
|
||||
"lyrics-genius": {
|
||||
"description": "يضيف دعم الكلمات لمعظم الأغاني",
|
||||
@ -575,17 +592,17 @@
|
||||
},
|
||||
"internal": {
|
||||
"save": "حفظ",
|
||||
"track-source": "مصدر الاغنية",
|
||||
"track-source": "تتبع مصدر الاغنية",
|
||||
"unknown-user": "مستخدم مجهول"
|
||||
},
|
||||
"menu": {
|
||||
"click-to-copy-id": "نسخ معرف المستضيف",
|
||||
"close": "إغلاق \"الموسيقى معًا\"",
|
||||
"close": "إغلاق الموسيقى معًا",
|
||||
"connected-users": "المستخدمون المتصلون",
|
||||
"disconnect": "قطع اتصال من \"الموسيقى معًا\"",
|
||||
"disconnect": "قطع اتصال من الموسيقى معًا",
|
||||
"empty-user": "لا يوجد مستعملون متصلون",
|
||||
"host": "مضيف \"الموسيقى معًا\"",
|
||||
"join": "الانضمام إلى \"الموسيقى معا\"",
|
||||
"host": "مضيف الموسيقى معًا",
|
||||
"join": "الانضمام إلى الموسيقى معا",
|
||||
"permission": {
|
||||
"all": "السماح للضيوف بالتحكم في قائمة التشغيل والمشغل",
|
||||
"host-only": "فقط المضيف يستطيع التحكم بالقائمة و المشغل",
|
||||
@ -593,29 +610,29 @@
|
||||
},
|
||||
"set-permission": "تغيير إذن التحكم",
|
||||
"status": {
|
||||
"disconnected": "قطع الاتصال",
|
||||
"disconnected": "غير متصل",
|
||||
"guest": "متصل كضيف",
|
||||
"host": "متصل كمضيف"
|
||||
}
|
||||
},
|
||||
"name": "الموسيقى معا [بيتا]",
|
||||
"name": "الموسيقى معا [تجريبي]",
|
||||
"toast": {
|
||||
"add-song-failed": "فشل في إضافة أغنية",
|
||||
"closed": "تم إغلاق \"الموسيقى معا\"",
|
||||
"disconnected": "تم قطع اتصال \"الموسيقى معًا\"",
|
||||
"host-failed": "فشل في استضافة \"الموسيقى معا\"",
|
||||
"closed": "تم إغلاق الموسيقى معا",
|
||||
"disconnected": "تم قطع اتصال الموسيقى معًا",
|
||||
"host-failed": "فشل في استضافة الموسيقى معا",
|
||||
"id-copied": "تم نسخ معرف المضيف",
|
||||
"id-copy-failed": "لم يتم نسخ معرف المضيف",
|
||||
"join-failed": "فشل الانضمام إلى \"الموسيقى معا\"",
|
||||
"joined": "تم الانضمام إلى \"الموسيقى معا\"",
|
||||
"permission-changed": "تم تغيير إذن \"الموسيقى معًا\" إلى \"{{permission}}\"",
|
||||
"id-copy-failed": "فشل نسخ معرف المضيف",
|
||||
"join-failed": "فشل الانضمام إلى الموسيقى معا",
|
||||
"joined": "تم الانضمام إلى الموسيقى معا",
|
||||
"permission-changed": "تم تغيير إذن الموسيقى معًا إلى \"{{permission}}\"",
|
||||
"remove-song-failed": "فشل في إزالة الأغنية",
|
||||
"user-connected": "{{name}} انضم إلى \"الموسيقى معًا\"",
|
||||
"user-disconnected": "{{name}} غادر \"الموسيقى معًا\""
|
||||
"user-connected": "{{name}} انضم إلى الموسيقى معًا",
|
||||
"user-disconnected": "{{name}} غادر الموسيقى معًا"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
"description": "أسهم التنقل \"التالي/السابق\" مدمجة مباشرة في الواجهة، كما في متصفحك",
|
||||
"description": "أسهم التنقل \"التالي/السابق\" مدمجة مباشرة في الواجهة، كما في متصفحك المفضل",
|
||||
"name": "التنقل",
|
||||
"templates": {
|
||||
"back": {
|
||||
@ -631,31 +648,31 @@
|
||||
"name": "لا يوجد تسجيل دخول بجوجل"
|
||||
},
|
||||
"notifications": {
|
||||
"description": "عرض إشعار عندما تبدأ الأغنية بالتشغيل (الإشعارات التفاعلية متوفرة على ويندوز)",
|
||||
"description": "عرض إشعار عندما تبدأ الأغنية (الإشعارات التفاعلية متوفرة على ويندوز)",
|
||||
"menu": {
|
||||
"interactive": "إشعارات تفاعلية",
|
||||
"interactive-settings": {
|
||||
"label": "إعدادات تفاعلية",
|
||||
"submenu": {
|
||||
"hide-button-text": "إخفاء زر النص",
|
||||
"refresh-on-play-pause": "تحديث عند التشغيل/الإيقاف المؤقت",
|
||||
"hide-button-text": "إخفاء نص الزر",
|
||||
"refresh-on-play-pause": "اعادة تحميل عند التشغيل/الإيقاف",
|
||||
"tray-controls": "فتح/إغلاق عند النقر على علامة الشريط"
|
||||
}
|
||||
},
|
||||
"priority": "أولوية الإشعار",
|
||||
"toast-style": "تنسيق التوست",
|
||||
"toast-style": "تنسيق النخب",
|
||||
"unpause-notification": "إظهار إشعار عند استئناف التشغيل"
|
||||
},
|
||||
"name": "الإشعارات"
|
||||
},
|
||||
"performance-improvement": {
|
||||
"description": "تحسين الأداء عبر تفعيل السكربتات التجريبية",
|
||||
"name": "تحسين الأداء [بيتا]"
|
||||
"name": "تحسين الأداء [تجريبي]"
|
||||
},
|
||||
"picture-in-picture": {
|
||||
"description": "يسمح بتحويل التطبيق إلى وضع الصورة داخل الصورة",
|
||||
"menu": {
|
||||
"always-on-top": "دائمًا في الأعلى",
|
||||
"always-on-top": "دائمًا في المقدمة",
|
||||
"hotkey": {
|
||||
"label": "مفتاح اختصار",
|
||||
"prompt": {
|
||||
@ -670,7 +687,7 @@
|
||||
"save-window-size": "حفظ حجم النافذة",
|
||||
"use-native-pip": "استخدام وضع الصورة داخل الصورة الأصلي للمتصفح"
|
||||
},
|
||||
"name": "الصورة داخل الصورة",
|
||||
"name": "وضع الصورة داخل الصورة",
|
||||
"templates": {
|
||||
"button": "وضع الصورة داخل الصورة"
|
||||
}
|
||||
@ -683,7 +700,7 @@
|
||||
}
|
||||
},
|
||||
"precise-volume": {
|
||||
"description": "التحكم في مستوى الصوت بدقة باستخدام عجلة الفأرة/مفاتيح الاختصار، مع واجهة مستخدم مخصصة وقابلة للتخصيص وخطوات صوتية قابلة للتعديل",
|
||||
"description": "التحكم في مستوى الصوت بدقة باستخدام عجلة الفأرة/مفاتيح الاختصار، مع واجهة مستخدم مخصصة وخطوات صوتية قابلة للتخصيص",
|
||||
"menu": {
|
||||
"arrows-shortcuts": "عناصر التحكم بأسهم المفاتيح",
|
||||
"custom-volume-steps": "تعيين خطوات صوتية خاصة",
|
||||
@ -728,8 +745,8 @@
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"message": "فشل المصادقة مع Last.fm\nإخفاء النافذة المنبثقة حتى إعادة التشغيل التالية.",
|
||||
"title": "فشلت المصادقة"
|
||||
"message": "فشل التفويض مع Last.fm\nإخفاء النافذة المصغرة حتى إعادة التشغيل التالية.",
|
||||
"title": "فشل التفويض"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -740,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "أدخل رمز مستخدم ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-artist": "استخدم فنانين بديلين",
|
||||
"scrobble-alternative-title": "استخدم عناوين بديلة",
|
||||
"scrobble-other-media": "Scrobble الوسائط الأخرى"
|
||||
},
|
||||
@ -758,12 +776,12 @@
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "يسمح بضبط اختصارات لوحة المفاتيح العالمية للتحكم في التشغيل (تشغيل/إيقاف مؤقت/التالي/السابق) وإيقاف تشغيل OSD الوسائط عن طريق تجاوز مفاتيح الوسائط، وتشغيل Ctrl/CMD + F للبحث، وتفعيل دعم Linux MPRIS لمفاتيح الوسائط، واختصارات مخصصة للمستخدمين المتقدمين",
|
||||
"description": "يسمح بضبط اختصارات لوحة المفاتيح للتحكم في التشغيل (تشغيل/إيقاف/التالي/السابق) وإيقاف تشغيل OSD الوسائط عن طريق تجاوز مفاتيح الوسائط، وتشغيل Ctrl/CMD + F للبحث، وتفعيل دعم Linux MPRIS لمفاتيح الوسائط، واختصارات مخصصة للمستخدمين المتقدمين",
|
||||
"menu": {
|
||||
"override-media-keys": "تجاوز مفاتيح الوسائط",
|
||||
"set-keybinds": "تعيين عناصر التحكم بالأغاني"
|
||||
},
|
||||
"name": "الاختصارات (& MPRIS)",
|
||||
"name": "الاختصارات (و MPRIS)",
|
||||
"prompt": {
|
||||
"keybind": {
|
||||
"keybind-options": {
|
||||
@ -772,17 +790,17 @@
|
||||
"previous": "السابق"
|
||||
},
|
||||
"label": "اختر اختصارات لوحة المفاتيح للتحكم في الأغاني:",
|
||||
"title": "اختصارات لوحة المفاتيح العالمية"
|
||||
"title": "اختصارات لوحة المفاتيح"
|
||||
}
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "تخطي الأغاني غير المرغوب فيها",
|
||||
"name": "تخطي الأغاني الغير مرغوب فيها"
|
||||
"description": "يتخطى الأغاني الغير معجب فيها",
|
||||
"name": "تخطي الأغاني الغير معجب فيها"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "تخطي أقسام الصمت تلقائيًا في الأغاني",
|
||||
"name": "تخطي فترات الصمت"
|
||||
"description": "تخطي أقسام التي ليس لها صوت تلقائيًا في الأغاني",
|
||||
"name": "تخطي الفترات التي ليس لها صوت"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "تخطي تلقائيًا الأجزاء غير الموسيقية مثل المقدمة/الختام أو أجزاء مقاطع الفيديو الموسيقية حيث لا يتم تشغيل الأغنية",
|
||||
@ -796,7 +814,7 @@
|
||||
},
|
||||
"menu": {
|
||||
"default-text-string": {
|
||||
"label": "المسافة الافتراضي بين كلمات الأغاني",
|
||||
"label": "المسافة الافتراضية بين كلمات الأغاني",
|
||||
"tooltip": "اختر الحرف الافتراضي لاستخدامه في الفجوة بين كلمات الأغنية"
|
||||
},
|
||||
"line-effect": {
|
||||
@ -816,14 +834,22 @@
|
||||
},
|
||||
"scale": {
|
||||
"label": "تحجيم",
|
||||
"tooltip": "تكبير السطر الحالي"
|
||||
"tooltip": "حجم السطر الحالي"
|
||||
}
|
||||
},
|
||||
"tooltip": "اختر التأثير لتطبيقه على السطر الحالي"
|
||||
},
|
||||
"precise-timing": {
|
||||
"label": "اجعل كلمات الأغنية متزامنة بشكل مثالي",
|
||||
"tooltip": "احسب بدقة الملي ثانية عرض السطر التالي (قد يكون له تأثير طفيف على الأداء)"
|
||||
"tooltip": "احسب بدقة الملي ثانية عرض السطر التالي (قد يكون له تأثير صغير على الأداء)"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "المزود المفضل",
|
||||
"none": {
|
||||
"label": "لا شيء",
|
||||
"tooltip": "لا يوجد مزود مفضل"
|
||||
},
|
||||
"tooltip": "اختر المزود المفضل للإستخدام"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "اجعل الكلمات رومانية",
|
||||
@ -850,7 +876,7 @@
|
||||
}
|
||||
},
|
||||
"taskbar-mediacontrol": {
|
||||
"description": "التحكم في المشغل من شريط المهام ويندوز",
|
||||
"description": "التحكم في المشغل من شريط مهام ويندوز",
|
||||
"name": "التحكم بالوسائط من شريط المهام"
|
||||
},
|
||||
"touchbar": {
|
||||
@ -858,12 +884,21 @@
|
||||
"name": "شريط اللمس (TouchBar)"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "يجعل نافذة التطبيق شفافة",
|
||||
"menu": {
|
||||
"type": {
|
||||
"opacity": {
|
||||
"label": "الشفافية",
|
||||
"submenu": {
|
||||
"acrylic": "زجاجي",
|
||||
"mica": "حجري",
|
||||
"none": "لاشيء"
|
||||
"percent": "{{opacity}}٪"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"label": "النوع",
|
||||
"submenu": {
|
||||
"acrylic": "أكريليك",
|
||||
"mica": "ميكا",
|
||||
"none": "لاشيء",
|
||||
"tabbed": "بديل ميكا"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -892,13 +927,13 @@
|
||||
"mode": {
|
||||
"label": "وضع",
|
||||
"submenu": {
|
||||
"custom": "تبديل مخصص",
|
||||
"custom": "زر مخصص",
|
||||
"disabled": "غير مفعل",
|
||||
"native": "تبديل طبيعي"
|
||||
"native": "زر طبيعي"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "تفعيل الفيديو",
|
||||
"name": "زر الفيديو",
|
||||
"templates": {
|
||||
"button-song": "أغنية",
|
||||
"button-video": "فيديو"
|
||||
@ -907,7 +942,7 @@
|
||||
"visualizer": {
|
||||
"description": "يضيف معاينًا بصريًا للمشغل",
|
||||
"menu": {
|
||||
"visualizer-type": "نوع المعاينة المصرية"
|
||||
"visualizer-type": "نوع المعاين البصري"
|
||||
},
|
||||
"name": "معاين بصري"
|
||||
}
|
||||
|
||||
@ -116,7 +116,54 @@
|
||||
"auto-update": "Avtomatik Yeniləmə",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "Menu will be hidden on next launch, use [Alt] to show it (or backtick [`] if using in-app-menu)"
|
||||
"message": "Menyu növbəti açılışda gizlədiləcək, göstərmək üçün [Alt] düyməsini basın (proqramdaxili menyudan istifadə edildikdə isə, [`] düyməsi).",
|
||||
"title": "Menyu gizlətmə aktivdir"
|
||||
},
|
||||
"label": "Menyunu gizlət"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "Dil yenidən başlatmadan sonra dəyişiləcək",
|
||||
"title": "Dil dəyişdirildi"
|
||||
},
|
||||
"label": "Dil",
|
||||
"submenu": {
|
||||
"to-help-translate": "Tərcüməyə kömək etmək istəyirsiniz? Buraya basın"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Tətbiq başladıqda son mahnıdan davam et",
|
||||
"single-instance-lock": "Tək proqram kilidi",
|
||||
"start-at-login": "Giriş səhifəsində başlat",
|
||||
"starting-page": {
|
||||
"label": "Giriş səhifəsi",
|
||||
"unset": "Təyin edilməyib"
|
||||
},
|
||||
"tray": {
|
||||
"submenu": {
|
||||
"disabled": "Deaktiv edilib"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Vizual düzəlişlər",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"prompt": {
|
||||
"placeholder": "Nümunə: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Standart",
|
||||
"hide": "Gizlət"
|
||||
},
|
||||
"remove-upgrade-button": "Yeniləmə düyməsini sil",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
"cancel": "Ləğv et",
|
||||
"remove": "Sil"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1
src/i18n/resources/be.json
Normal file
1
src/i18n/resources/be.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Персонализирано заглавие на прозорец",
|
||||
"prompt": {
|
||||
"label": "Въведи персонализирано заглавие: (остави празно за да изключиш)",
|
||||
"placeholder": "Пример: Youtube Music"
|
||||
"placeholder": "Пример: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Рестартирай приложението",
|
||||
"show": "Покажи прозорец",
|
||||
"tooltip": {
|
||||
"default": "YouTube Музика",
|
||||
"with-song-info": "YouTube Музика: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Атмосферен режим"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Добавя поддръжка на YouTube Music за джаджата Amuse Now Play от 6K Labs",
|
||||
"description": "Добавя поддръжка на Pear Desktop за джаджата Amuse Now Play от 6K Labs",
|
||||
"name": "Забавление",
|
||||
"response": {
|
||||
"query": "Сървърът на Amuse API работи. Изпратете GET /query за информация за песента."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Размазанa навигационна лента"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Избягване на възрастова верификация на YouTube",
|
||||
"description": "Избягване на възрастова верификация на Music Player",
|
||||
"name": "Избягване на възрастови ограничения"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Избор на надписи за аудио тракове в YouTube Music",
|
||||
"description": "Избор на надписи за аудио тракове в Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Автоматично избиране на последно използвания надпис",
|
||||
"disable-captions": "Без надписи по подразбиране"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Прекъснато",
|
||||
"hide-duration-left": "Скрий оставащото време",
|
||||
"hide-github-button": "Скрий бутона за линк към GitHub",
|
||||
"play-on-youtube-music": "Възпроизведи в YouTube Music",
|
||||
"play-on-pear-desktop": "Възпроизведи в Pear Desktop",
|
||||
"set-inactivity-timeout": "Задай таймаут за неактивност",
|
||||
"set-status-display-type": {
|
||||
"label": "Статус текст",
|
||||
"submenu": {
|
||||
"artist": "Слушам {artist}",
|
||||
"title": "Слушам {song title}",
|
||||
"youtube-music": "Слушам YouTube Music"
|
||||
"pear-desktop": "Слушам Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "কাস্টম উইন্ডো টাইটেল",
|
||||
"prompt": {
|
||||
"label": "নিজস্ব উইন্ডোর টাইটেল দিন (বন্ধ করতে ফাঁকা রাখুন)",
|
||||
"placeholder": "উদাহরণস্বরূপ: YouTube Music"
|
||||
"placeholder": "উদাহরণস্বরূপ: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -443,7 +443,7 @@
|
||||
"disconnected": "সংযোগ বিচ্ছিন্ন",
|
||||
"hide-duration-left": "অবশিষ্ট সময় লুকান",
|
||||
"hide-github-button": "গিটহাব লিঙ্ক বাটন লুকান",
|
||||
"play-on-youtube-music": "ইউটিউব মিউজিকে চালান",
|
||||
"play-on-pear-desktop": "ইউটিউব মিউজিকে চালান",
|
||||
"set-inactivity-timeout": "নিষ্ক্রিয়তার সময়সীমা সেট করুন"
|
||||
},
|
||||
"name": "ডিসকর্ড রিচ প্রেজেন্স",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Prilagođeni naslov prozora",
|
||||
"prompt": {
|
||||
"label": "Unesite vlastiti naslov prozora: (ostavite prazno za isključenje)",
|
||||
"placeholder": "Primjer: YouTube Music"
|
||||
"placeholder": "Primjer: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Títol personalitzat de la finestra",
|
||||
"prompt": {
|
||||
"label": "Introdueix un títol personalitzat per a la finestra (deixa-ho buit per deshabilitar-ho)",
|
||||
"placeholder": "Exemple: YouTube Music"
|
||||
"placeholder": "Exemple: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Reinicia l'aplicació",
|
||||
"show": "Mostra la finestra",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Mode ambient"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Afegeix suport a Youtube Music per el widget \"now playing\" d'Amuse per 6K Labs",
|
||||
"description": "Afegeix suport a Pear Desktop per el widget \"now playing\" d'Amuse per 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "L'API del servidor de Amuse està funcionant. GET /query per tenir informació de la cançó."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Desenfoca la barra de navegació"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Esquiva la verificació d'edat de YouTube",
|
||||
"description": "Esquiva la verificació d'edat de Music Player",
|
||||
"name": "Esquiva les restriccions d'edat"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selector de subtítols per les pistes d'àudio de YouTube Music",
|
||||
"description": "Selector de subtítols per les pistes d'àudio de Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Selecciona automàticament l'últim subtítol emprat",
|
||||
"disable-captions": "Sense subtítols per defecte"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Desconnectat",
|
||||
"hide-duration-left": "Amaga la durada restant",
|
||||
"hide-github-button": "Amaga el botó de l'enllaç a GitHub",
|
||||
"play-on-youtube-music": "Reprodueix a YouTube Music",
|
||||
"play-on-pear-desktop": "Reprodueix a Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Escoltant Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Vlastní název okna",
|
||||
"prompt": {
|
||||
"label": "Zadejte vlastní název okna: (zanechejte prázdné pro zakázání)",
|
||||
"placeholder": "Příklad: Hudba YouTube"
|
||||
"placeholder": "Příklad: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Restartovat aplikaci",
|
||||
"show": "Zobrazit okno",
|
||||
"tooltip": {
|
||||
"default": "Youtube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambientní režim"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Přídá YouTube Music podporu pro Amuse ‚právě hraje‘ widget od 6K Labs",
|
||||
"description": "Přídá Pear Desktop podporu pro Amuse ‚právě hraje‘ widget od 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Server Amuse API běží. Pošli požadavek typu GET na /query, aby ses dozvěděl info o písničce."
|
||||
@ -337,7 +337,7 @@
|
||||
}
|
||||
},
|
||||
"audio-compressor": {
|
||||
"description": "Apply compression k audiu (snižuje hlasitost nejhlasitěších částí signálu and zvyšuje hlasitost nejjemnějších částí)",
|
||||
"description": "Aplikuje kompresi k audiu (snižuje hlasitost nejhlasitěších částí signálu a zvyšuje hlasitost nejjemnějších částí)",
|
||||
"name": "Audio kompresor"
|
||||
},
|
||||
"auth-proxy-adapter": {
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Rozmazaný navigační panel"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Obejít ověření věku na YouTube",
|
||||
"description": "Obejít ověření věku na Music Player",
|
||||
"name": "Obejít věková omezení"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Titulkový selector pro zvukové stopy v YouTube Music",
|
||||
"description": "Titulkový selector pro zvukové stopy v Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Automaticky vybrat naposledy použité titulky",
|
||||
"disable-captions": "Žádné titulky ve vychozím nastavení"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Odpojeno",
|
||||
"hide-duration-left": "Skrýt zbývající duration",
|
||||
"hide-github-button": "Skrýt tlačítko s odkazem na GitHub",
|
||||
"play-on-youtube-music": "Hrát na YouTube Music",
|
||||
"play-on-pear-desktop": "Hrát na Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Poslouchám Pear Desktop",
|
||||
"title": "Poslouchám {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Tilpasset vindues titel",
|
||||
"prompt": {
|
||||
"label": "Indtast tilpasset vindues titel: (lad være top for deaktiveret)",
|
||||
"placeholder": "Eksempel: YouTube Music"
|
||||
"placeholder": "Eksempel: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -206,8 +206,8 @@
|
||||
"restart": "Genstart app",
|
||||
"show": "Vis vindue",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "Erweiterung {{pluginName}}::{{contextName}} konnte nicht ausgeführt werden",
|
||||
"executed-at-ms": "Erweiterung {{pluginName}}::{{contextName}} ausgeführt in {{ms}}ms",
|
||||
"executed-at-ms": "Erweiterung {{pluginName}}::{{contextName}} in {{ms}}ms ausgeführt",
|
||||
"initialize-failed": "Initialisierung der Erweiterung \"{{pluginName}}\" fehlgeschlagen",
|
||||
"load-all": "Lade alle Erweiterungen",
|
||||
"load-failed": "Laden der Erweiterung \"{{pluginName}}\" fehlgeschlagen",
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Benutzerdefinierter Fenstertitel",
|
||||
"prompt": {
|
||||
"label": "Benutzerdefinierten Fenstertitel eingeben: (zum Deaktivieren leer lassen)",
|
||||
"placeholder": "Beispiel: YouTube Music"
|
||||
"placeholder": "Beispiel: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Anwendung neu starten",
|
||||
"show": "Fenster anzeigen",
|
||||
"tooltip": {
|
||||
"default": "YouTube Musik",
|
||||
"with-song-info": "YouTube Musik: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Verschwommene Navigationsleiste"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Youtubes Altersbestätigung umgehen",
|
||||
"description": "Music Player Altersbestätigung umgehen",
|
||||
"name": "Altersbeschränkungen umgehen"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Untertitelwähler für YouTube Music-Audio-Lieder",
|
||||
"description": "Untertitelwähler für Pear Desktop-Audio-Lieder",
|
||||
"menu": {
|
||||
"autoload": "Wähle automatisch den zuletzt verwendeten Untertitel",
|
||||
"disable-captions": "Standardmäßig keine Untertitel"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Getrennt",
|
||||
"hide-duration-left": "Verbleibende Zeit verstecken",
|
||||
"hide-github-button": "Knopf mit Link zu GitHub ausblenden",
|
||||
"play-on-youtube-music": "Auf YouTube Music abspielen",
|
||||
"play-on-pear-desktop": "Auf Pear Desktop abspielen",
|
||||
"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"
|
||||
"pear-desktop": "Hört Pear Desktop",
|
||||
"title": "Du hörst {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Προσαρμοσμένος τίτλος παραθύρου",
|
||||
"prompt": {
|
||||
"label": "Εισαγωγή προσαρμοσμένου τίτλου παραθύρου: (κενό για απενεργοποίηση)",
|
||||
"placeholder": "Παράδειγμα: YouTube Music"
|
||||
"placeholder": "Παράδειγμα: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Επανεκκίνηση εφαρμογής",
|
||||
"show": "Εμφάνιση παραθύρου",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Λειτουργία περιβάλλοντος"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Προσθέτει υποστήριξη YouTube Music στο widget Amuse now playing από την 6K Labs",
|
||||
"description": "Προσθέτει υποστήριξη Pear Desktop στο widget Amuse now playing από την 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Ο διακομιστής Amuse API εκτελείται. GET /query για να λάβετε πληροφορίες για το τραγούδι."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Θόλωμα γραμμής πλοήγησης"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Παράκαμψη επαλήθευσης ηλικίας στο YouTube",
|
||||
"description": "Παράκαμψη επαλήθευσης ηλικίας στο Music Player",
|
||||
"name": "Παράκαμψη ηλικιακών περιορισμών"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Επιλογέας λεζάντας για μουσικά κομμάτια ήχου του YouTube",
|
||||
"description": "Επιλογέας λεζάντας για μουσικά κομμάτια ήχου του Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Αυτόματη επιλογή της τελευταίας χρησιμοποιούμενης λεζάντας",
|
||||
"disable-captions": "Χωρίς λεζάντες από προεπιλογή"
|
||||
@ -443,7 +443,7 @@
|
||||
"disconnected": "Αποσυνδεδεμένο",
|
||||
"hide-duration-left": "Απόκρυψη της διάρκειας που απομένει",
|
||||
"hide-github-button": "Απόκρυψη κουμπιού συνδέσμου GitHub",
|
||||
"play-on-youtube-music": "Αναπαραγωγή στο YouTube Music",
|
||||
"play-on-pear-desktop": "Αναπαραγωγή στο Pear Desktop",
|
||||
"set-inactivity-timeout": "Ορισμός χρονικού ορίου αδράνειας"
|
||||
},
|
||||
"name": "Discord Πλούσια παρουσία",
|
||||
|
||||
@ -160,7 +160,7 @@
|
||||
"label": "Custom window title",
|
||||
"prompt": {
|
||||
"label": "Enter custom window title: (leave empty to disable)",
|
||||
"placeholder": "Example: YouTube Music"
|
||||
"placeholder": "Example: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"remove-upgrade-button": "Remove upgrade button",
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Restart App",
|
||||
"show": "Show window",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "Enable seekbar theming"
|
||||
},
|
||||
"name": "Album Color Theme"
|
||||
},
|
||||
@ -287,7 +288,7 @@
|
||||
"name": "Ambient Mode"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Adds YouTube Music support for the Amuse now playing widget by 6K Labs",
|
||||
"description": "Adds Pear Desktop support for the Amuse now playing widget by 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API server is running. GET /query to get song info."
|
||||
@ -369,11 +370,11 @@
|
||||
"name": "Blur Navigation Bar"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Bypass YouTube's age verification",
|
||||
"description": "Bypass Music Player's age verification",
|
||||
"name": "Bypass Age Restrictions"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Caption selector for YouTube Music audio tracks",
|
||||
"description": "Caption selector for Pear Desktop audio tracks",
|
||||
"menu": {
|
||||
"autoload": "Automatically select last used caption",
|
||||
"disable-captions": "No captions by default"
|
||||
@ -456,12 +457,12 @@
|
||||
"disconnected": "Disconnected",
|
||||
"hide-duration-left": "Hide duration left",
|
||||
"hide-github-button": "Hide GitHub link Button",
|
||||
"play-on-youtube-music": "Play on YouTube Music",
|
||||
"play-on-pear-desktop": "Play on Pear Desktop",
|
||||
"set-inactivity-timeout": "Set inactivity timeout",
|
||||
"set-status-display-type": {
|
||||
"label": "Status text",
|
||||
"submenu": {
|
||||
"youtube-music": "Listening to YouTube Music",
|
||||
"pear-desktop": "Listening to Pear Desktop",
|
||||
"artist": "Listening to {artist}",
|
||||
"title": "Listening to {song title}"
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Título de ventana personalizado",
|
||||
"prompt": {
|
||||
"label": "Ingresa un título de ventana personalizado: (déjalo vacío para desactivar)",
|
||||
"placeholder": "Ejemplo: YouTube Music"
|
||||
"placeholder": "Ejemplo: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Reiniciar la aplicación",
|
||||
"show": "Mostrar ventana",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Modo ambiente"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Agrega soporte a YouTube Music para el widget \"reproduciendo\" de Amuse por 6K Labs",
|
||||
"description": "Agrega soporte a Pear Desktop para el widget \"reproduciendo\" de Amuse por 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "El servidor API de Amuse se está ejecutando. Usa GET /query para obtener información de la canción."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Desenfocar barra de navegación"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Saltarse la verificación de edad de YouTube",
|
||||
"description": "Saltarse la verificación de edad de Music Player",
|
||||
"name": "Saltarse las restricciones de edad"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selector de subtítulos para pistas de audio de YouTube Music",
|
||||
"description": "Selector de subtítulos para pistas de audio de Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Seleccionar automáticamente el último subtítulo utilizado",
|
||||
"disable-captions": "Sin subtítulos por defecto"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Desconectado",
|
||||
"hide-duration-left": "Ocultar la duración restante",
|
||||
"hide-github-button": "Ocultar el botón de enlace a GitHub",
|
||||
"play-on-youtube-music": "Reproducir en YouTube Music",
|
||||
"play-on-pear-desktop": "Reproducir en Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Escuchando Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -31,6 +31,15 @@
|
||||
},
|
||||
"theme": {
|
||||
"css-file-not-found": "CSS faili „{{cssFile}}“ pole olemas, seega eirame eelistust"
|
||||
},
|
||||
"unresponsive": {
|
||||
"details": "Tõrge ei vasta!\n{{error}}"
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "Programmi vahemälu kustutamine"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "Akent prooviti renderdada väljaspool ekraani, windowSize={{windowSize}}, displaySize={{displaySize}}, position={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
@ -89,9 +98,29 @@
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Rakenduse käivitamisel lähtesta puhverdatud andmed",
|
||||
"disable-hardware-acceleration": "Lülita raudvaraline kiirendamine välja",
|
||||
"edit-config-json": "Muuda config.json faili"
|
||||
"edit-config-json": "Muuda config.json faili",
|
||||
"override-user-agent": "Jõudlusta User-Agent",
|
||||
"restart-on-config-changes": "Taaskäivita pärast konfiguratsiooni muutmist",
|
||||
"set-proxy": {
|
||||
"label": "Määra proxy",
|
||||
"prompt": {
|
||||
"label": "Sisesta proxy aadress: (jäta täitmata, et välja lülitada)",
|
||||
"placeholder": "Näide: SOCKS5://127.0.0.1:9999",
|
||||
"title": "Määra proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "Lülita sisse arendaja tööriistad"
|
||||
}
|
||||
},
|
||||
"always-on-top": "Alati esiplaanil",
|
||||
"auto-update": "Automaatsed uuendused",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "Järgmisel käivitamisel jääb menüü peidetuks, kasutage [Alt] klahvi, et näidata (või [`], kui kasutate rakendusesisest menüüd)",
|
||||
"title": "Menüü peitmine on sisse lülitatud"
|
||||
},
|
||||
"label": "Peida menüü"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "Keele muutmine jõustub peale uuesti käivitamist",
|
||||
@ -102,15 +131,69 @@
|
||||
"to-help-translate": "Soovid aidata tõlkimisel? Klõpsi siin"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Rakenduse käivitamisel jätka viimatiesitatud loo esitamist"
|
||||
"resume-on-start": "Rakenduse käivitamisel jätka viimatiesitatud loo esitamist",
|
||||
"single-instance-lock": "Ühe instantsi lukk",
|
||||
"start-at-login": "Käivita sisselogimisel",
|
||||
"starting-page": {
|
||||
"label": "Avaleht",
|
||||
"unset": "Määramata"
|
||||
},
|
||||
"tray": {
|
||||
"label": "Trey",
|
||||
"submenu": {
|
||||
"disabled": "Välja lülitatud",
|
||||
"enabled-and-hide-app": "Sisse lülitatud ja rakendus peidetud",
|
||||
"enabled-and-show-app": "Sisse lülitatud ja rakendus nähtav",
|
||||
"play-pause-on-click": "Mängi/Peata klõpsates"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Visuaalsed muudatused",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Kohandatud akna tiitel",
|
||||
"prompt": {
|
||||
"label": "Sisesta kohandatud akna tiitel: (jäta täitmata, et välja lülitada)",
|
||||
"placeholder": "Näide: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Vaikimisi",
|
||||
"force-show": "Sunni näitama",
|
||||
"hide": "Peida",
|
||||
"label": "Meeldib nupud"
|
||||
},
|
||||
"remove-upgrade-button": "Eemalda upgrade nupp",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
"cancel": "Katkesta",
|
||||
"remove": "Eemalda"
|
||||
},
|
||||
"remove-theme": "Kas oled kindel, et soovid enda loodud kujunduse eemaldada?",
|
||||
"remove-theme-message": "Sellega saab sinu loodud kujundus eemdladatud"
|
||||
},
|
||||
"label": "Kujundus",
|
||||
"submenu": {
|
||||
"import-css-file": "Impordi kohandatud CSS fail",
|
||||
"no-theme": "Ilma kujunduseta"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"enabled": "Kasutusel",
|
||||
"label": "Lisamoodulid",
|
||||
"new": "UUS"
|
||||
},
|
||||
"view": {
|
||||
"label": "Vaata",
|
||||
"submenu": {
|
||||
"force-reload": "Laadi sundkorras uuesti",
|
||||
"reload": "Laadi uuesti",
|
||||
"reset-zoom": "Tegelik suurus",
|
||||
"toggle-fullscreen": "Lülita täisekraanivaade sisse/välja",
|
||||
"zoom-in": "Suumi sisse",
|
||||
"zoom-out": "Suumi välja"
|
||||
@ -125,8 +208,8 @@
|
||||
"restart": "Käivita rakendus uuesti",
|
||||
"show": "Näita akent",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -142,8 +225,28 @@
|
||||
},
|
||||
"name": "Reklaamiblokeerija"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"album-actions": {
|
||||
"description": "Lisab Undislike, Ebameeldiv, Meeldiv ja Unlike nupud selle rakendamiseks kõikidele loendisse või albumisse kuuluvatele lauludele.",
|
||||
"name": "Albumi aktsioonid"
|
||||
},
|
||||
"album-color-theme": {
|
||||
"description": "Rakendab dünaamilist teemat ja visuaalseid efekte, mis põhinevad albumi värvipalettil",
|
||||
"menu": {
|
||||
"color-mix-ratio": {
|
||||
"label": "Värvide segamissuhe",
|
||||
"submenu": {
|
||||
"percent": "{{suhe}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Albumi värviteema"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"description": "Rakendab valgusefekti, projitseerides videost õrnad värvid ekraani taustale",
|
||||
"menu": {
|
||||
"blur-amount": {
|
||||
"label": "Hägusus"
|
||||
},
|
||||
"opacity": {
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"common": {
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "اجرای افزونه {{pluginName}}::{{contextName}} با خطا مواجه شد",
|
||||
"execute-failed": "اجراى {{اسمزمىنه}}::{{اسمپلاگىن}} با خطا مواجه شد",
|
||||
"executed-at-ms": "افزونه {{pluginName}}::{{contextName}} در {{ms}} میلیثانیه اجرا شد",
|
||||
"initialize-failed": "افزونه \"{{pluginName}}\" با خطا در حین مقداردهی اولیه مواجه شد",
|
||||
"load-all": "در حال بارگذاری تمامی افزونهها",
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "تغییرات ظاهری",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "عنوان پنجره سفارشى",
|
||||
"prompt": {
|
||||
"label": "عنوان پنجره سفارشى را وارد کنىد: (خالى بزارىد تا غىرفعال شود)",
|
||||
"placeholder": "مثال :Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "پیشفرض",
|
||||
"force-show": "اجبار به نمایش",
|
||||
@ -201,8 +208,8 @@
|
||||
"restart": "راهاندازی مجدد برنامه",
|
||||
"show": "نمایش پنجره",
|
||||
"tooltip": {
|
||||
"default": "یوتیوب موسیقی",
|
||||
"with-song-info": "یوتیوب موسیقی: {{artist}} - {{title}}"
|
||||
"default": "پىر دسکتاپ",
|
||||
"with-song-info": "پىر دسکتاپ: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -280,7 +287,7 @@
|
||||
"name": "حالت محیطی"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "حالا ویجت Amuse از YouTube Music هم پشتیبانی میکنه! (توسط 6K Labs)",
|
||||
"description": "حالا ویجت Amuse از Pear Desktop هم پشتیبانی میکنه! (توسط 6K Labs)",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "سرور Amuse فعال است. برای دریافت اطلاعات آهنگ، از آدرس /query استفاده کنید."
|
||||
@ -362,11 +369,11 @@
|
||||
"name": "محو کردن نوار کنترل"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "دور زدن تأیید سن یوتیوب",
|
||||
"description": "دور زدن تأیید سن مىوزىک پلىر",
|
||||
"name": "دور زدن محدودیتهای سنی"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "انتخاب زیرنویس برای آهنگهای یوتیوب موسیقی",
|
||||
"description": "انتخاب زیرنویس برای آهنگهای پىر دسکتاپ",
|
||||
"menu": {
|
||||
"autoload": "به طور خودکار انتخاب آخرین زیرنویس استفاده شده",
|
||||
"disable-captions": "بدون زیرنویس به صورت پیشفرض"
|
||||
@ -414,6 +421,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "ىک اسپىکر براى پخش آهنگها انتخاب کنىد",
|
||||
"menu": {
|
||||
"device-selector": "دستگاه را انتخاب کنىد"
|
||||
},
|
||||
"name": "اسپىکر دلخواه",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "اسپىکر دلخواه را انتخاب کنىد",
|
||||
"title": "اسپىکر دلخواهتان را انتخاب کنىد"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "شروع آهنگ در حالت \"توقف\"",
|
||||
"menu": {
|
||||
@ -436,8 +456,16 @@
|
||||
"disconnected": "اتصال قطع شد",
|
||||
"hide-duration-left": "مخفی کردن مدت زمان باقیمانده",
|
||||
"hide-github-button": "مخفی کردن دکمه لینک گیت هاب",
|
||||
"play-on-youtube-music": "پخش در یوتیوب موزیک",
|
||||
"set-inactivity-timeout": "تنظیم زمان عدم فعالیت"
|
||||
"play-on-pear-desktop": "پخش در یوتیوب موزیک",
|
||||
"set-inactivity-timeout": "تنظیم زمان عدم فعالیت",
|
||||
"set-status-display-type": {
|
||||
"label": "متن وضعىت",
|
||||
"submenu": {
|
||||
"artist": "به {artist} گوش مىکند",
|
||||
"pear-desktop": "به پىر دسکتاپ گوش مىکند",
|
||||
"title": "به {song title} گوش مىکند"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"prompt": {
|
||||
@ -729,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "توکن کاربری ListenBrainz را وارد کنید"
|
||||
},
|
||||
"scrobble-alternative-artist": "از هنرمند دىگرى استفاده کنىد",
|
||||
"scrobble-alternative-title": "از عناوین جایگزین استفاده کنید",
|
||||
"scrobble-other-media": "ردیابی رسانههای دیگر"
|
||||
},
|
||||
@ -814,6 +843,14 @@
|
||||
"label": "هماهنگسازی کامل متن ترانه",
|
||||
"tooltip": "محاسبه دقیق نمایش خط بعدی تا میلیثانیه (ممکن است تاثیر کمی بر عملکرد داشته باشد)"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "منبع دلخواه",
|
||||
"none": {
|
||||
"label": "هىچکدام",
|
||||
"tooltip": "منبح دلخواهى انتخاب نشده"
|
||||
},
|
||||
"tooltip": "منبع دلخواهتان را انتخاب کنىد"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "اشعار رومی شده",
|
||||
"tooltip": "اگر اشعار به زبانی متفاوت هستند، سعی کنید نسخه لاتین را نمایش دهید."
|
||||
@ -846,6 +883,27 @@
|
||||
"description": "افزودن ویجت TouchBar برای کاربران macOS",
|
||||
"name": "نوار لمسی"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "پنجره برنامه را شفاف مىکند",
|
||||
"menu": {
|
||||
"opacity": {
|
||||
"label": "تارى",
|
||||
"submenu": {
|
||||
"percent": "%{{تارى}}"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"label": "نوع",
|
||||
"submenu": {
|
||||
"acrylic": "اکرىلىک",
|
||||
"mica": "مىکا",
|
||||
"none": "هىچکدام",
|
||||
"tabbed": "نوار دار"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "پلىر شفاف"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "ادغام با پلاگین Tuna در OBS",
|
||||
"name": "Tuna OBS"
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Mukautettu ikkunan otsikko",
|
||||
"prompt": {
|
||||
"label": "Syötä mukautettu ikkunan otsikko: (jätä tyhjäksi poistaaksesi päältä)",
|
||||
"placeholder": "Esimerkki: YouTube Music"
|
||||
"placeholder": "Esimerkki: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Uudelleen käynnistä appi",
|
||||
"show": "Näytä ikkuna",
|
||||
"tooltip": {
|
||||
"default": "Youtube Music",
|
||||
"with-song-info": "Youtube Music {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Tunnelmallinen Tila"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Lisää YouTube Music tuen Amusen nyt soitetaan -widgetille, kehittäjänä 6K Labs",
|
||||
"description": "Lisää Pear Desktop tuen Amusen nyt soitetaan -widgetille, kehittäjänä 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API-palvelin on päällä. Käytä GET /query-rajapintaa saadaksesi kappaleen tiedot."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Sumenna Siirtymäpalkki"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Ohita YouTuben iän vahvistus",
|
||||
"description": "Ohita Music Player iän vahvistus",
|
||||
"name": "Ohita Ikään Perustuvat Rajoitukset"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Music ääniraitojen tekstitysten valitsin",
|
||||
"description": "Pear Desktop ääniraitojen tekstitysten valitsin",
|
||||
"menu": {
|
||||
"autoload": "Valitse automaattisesti viimeksi käytetty tekstitys",
|
||||
"disable-captions": "Tekstitys ei oletusarvoisesti käytössä"
|
||||
@ -443,7 +443,7 @@
|
||||
"disconnected": "Yhteys katkaistu",
|
||||
"hide-duration-left": "Piilota kappaleen jäljellä oleva kesto",
|
||||
"hide-github-button": "Piilota \"linkki GitHubiin\" -nappi",
|
||||
"play-on-youtube-music": "Kuuntele palvelussa YouTube Music",
|
||||
"play-on-pear-desktop": "Kuuntele palvelussa Pear Desktop",
|
||||
"set-inactivity-timeout": "Aseta toimettomuuden aikakatkaisu"
|
||||
},
|
||||
"name": "Discord Aktiviteetti (Rich Presence)",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Custom na window title",
|
||||
"prompt": {
|
||||
"label": "I-enter ang custom na window tile: (iwanang blanko para di-mapagana)",
|
||||
"placeholder": "Halimbawa: YouTube Music"
|
||||
"placeholder": "Halimbawa: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "I-restart ang App",
|
||||
"show": "Ipakita ang window",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambient Mode"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Nagdaragdag ng suporta sa YouTube Music para sa Amuse now playing widget ng 6K Labs",
|
||||
"description": "Nagdaragdag ng suporta sa Pear Desktop para sa Amuse now playing widget ng 6K Labs",
|
||||
"response": {
|
||||
"query": "Tumatakbo ang Amuse API server. Gamitin ang GET /query para makuha ang impo ng kanta."
|
||||
}
|
||||
@ -365,11 +365,11 @@
|
||||
"name": "Palabuin ang Bar ng Nabigasyon"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "I-bypass ang pag-verify ng edad ng YouTube",
|
||||
"description": "I-bypass ang pag-verify ng edad ng Music Player",
|
||||
"name": "I-bypass ang Restriksyon sa Edad"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Tagapili ng caption para sa mga audio track ng YouTube Music",
|
||||
"description": "Tagapili ng caption para sa mga audio track ng Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Awtomatikong piliin ang huling ginamit na caption",
|
||||
"disable-captions": "Walang mga caption bilang default"
|
||||
@ -446,13 +446,13 @@
|
||||
"disconnected": "Nadiskonekta",
|
||||
"hide-duration-left": "Itago ang natitirang oras",
|
||||
"hide-github-button": "Itago ang button na GitHub link",
|
||||
"play-on-youtube-music": "Patugtugin sa YouTube Music",
|
||||
"play-on-pear-desktop": "Patugtugin sa Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Kumikinig sa Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Titre de fenêtre personnalisé",
|
||||
"prompt": {
|
||||
"label": "Entrés un titre de fenêtre : (Laissé vide pour déactiver)",
|
||||
"placeholder": "Exemple : YouTube Musique"
|
||||
"placeholder": "Exemple : Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Redémarrer l'application",
|
||||
"show": "Afficher la fenêtre",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music : {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop : {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Mode ambiant"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Ajout de la prise en charge de YouTube Music pour le widget Amuse now playing de 6K Labs",
|
||||
"description": "Ajout de la prise en charge de Pear Desktop pour le widget Amuse now playing de 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Le serveur API Amuse est en cours d'exécution. Envoyez une requête GET /query pour obtenir des informations sur la chanson."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Barre de navigation floue"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Contourner la vérification de l'âge de YouTube",
|
||||
"description": "Contourner la vérification de l'âge de Music Player",
|
||||
"name": "Contourner les restrictions d’âge"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Sélecteur de sous-titres pour les pistes audio YouTube Music",
|
||||
"description": "Sélecteur de sous-titres pour les pistes audio Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Sélectionner automatiquement la dernière légende utilisée",
|
||||
"disable-captions": "Pas de sous-titres par défaut"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Déconnecté",
|
||||
"hide-duration-left": "Masquer la durée restante",
|
||||
"hide-github-button": "Masquer le bouton du lien GitHub",
|
||||
"play-on-youtube-music": "Jouer sur YouTube Music",
|
||||
"play-on-pear-desktop": "Jouer sur Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Écoute Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -53,8 +53,158 @@
|
||||
"later": "Despois",
|
||||
"restart-now": "Reiniciar Agora"
|
||||
},
|
||||
"detail": "O plugin \"{{pluginName}}\" precisa dun reinicio para tomar efecto"
|
||||
"detail": "O plugin \"{{pluginName}}\" precisa dun reinicio para tomar efecto",
|
||||
"message": "\"{{pluginName}}\" precisa reiniciar",
|
||||
"title": "Requírese reinicio"
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
"quit": "Saír",
|
||||
"relaunch": "Lanzar de novo",
|
||||
"wait": "Agardar"
|
||||
},
|
||||
"detail": "Desculpa o inconveniente! Por favor escolle que facer:",
|
||||
"message": "A aplicación non responde",
|
||||
"title": "A xanela non responde"
|
||||
},
|
||||
"update-available": {
|
||||
"buttons": {
|
||||
"disable": "Desactivar actualizacións",
|
||||
"download": "Descarregar",
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "Está dispoñíbel unha nova versión que se pode descarregar de {{downloadLink}}",
|
||||
"message": "Hai una nova versión dispoñíbel",
|
||||
"title": "Actualización dispoñíbel"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"about": "Sobre",
|
||||
"navigation": {
|
||||
"label": "Navegación",
|
||||
"submenu": {
|
||||
"copy-current-url": "Copiar o URL actual",
|
||||
"go-back": "Atrás",
|
||||
"go-forward": "Adiante",
|
||||
"quit": "Saír",
|
||||
"restart": "Reiniciar a aplicación"
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"label": "Opcións",
|
||||
"submenu": {
|
||||
"advanced-options": {
|
||||
"label": "Opcións avanzadas",
|
||||
"submenu": {
|
||||
"auto-reset-app-cache": "Reiniciar a caché cando a aplicación arrinque",
|
||||
"disable-hardware-acceleration": "Desactivar a aceleración hardware",
|
||||
"edit-config-json": "Editar config.json",
|
||||
"override-user-agent": "Substituír o User-Agent",
|
||||
"restart-on-config-changes": "Reiniciar ao alterar a configuración",
|
||||
"set-proxy": {
|
||||
"label": "Configurar o proxy",
|
||||
"prompt": {
|
||||
"label": "Introducir o enderezo do proxy (deixar baleiro para desactivalo)",
|
||||
"placeholder": "Exemplo: SOCKS5://127.0.0.1:9999",
|
||||
"title": "Configurar o proxy"
|
||||
}
|
||||
},
|
||||
"toggle-dev-tools": "Activar ou desactivar as DevTools"
|
||||
}
|
||||
},
|
||||
"always-on-top": "Sempre en primeiro plano",
|
||||
"auto-update": "Actualización automática",
|
||||
"hide-menu": {
|
||||
"dialog": {
|
||||
"message": "O menú ocultarase no próximo inicio; use [Alt] para mostralo (ou a tecla [`] se emprega o menú integrado)",
|
||||
"title": "Ocultar Menú activado"
|
||||
},
|
||||
"label": "Ocultar Menú"
|
||||
},
|
||||
"language": {
|
||||
"dialog": {
|
||||
"message": "A lingua hase mudar despois do reinicio",
|
||||
"title": "Mudouse a lingua"
|
||||
},
|
||||
"label": "Lingua",
|
||||
"submenu": {
|
||||
"to-help-translate": "Quere axudar a traducir? Prema aquí"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Retomar a última canción ao iniciar a aplicación",
|
||||
"single-instance-lock": "Bloqueo de instancia única",
|
||||
"start-at-login": "Iniciar co inicio de sesión",
|
||||
"starting-page": {
|
||||
"label": "Páxina de inicio",
|
||||
"unset": "Sen definir"
|
||||
},
|
||||
"tray": {
|
||||
"label": "Bandexa",
|
||||
"submenu": {
|
||||
"disabled": "Desactivado",
|
||||
"enabled-and-hide-app": "Activado e ocultar a aplicación",
|
||||
"enabled-and-show-app": "Activado e mostrar a aplicación",
|
||||
"play-pause-on-click": "Reproducir/Pausar ao premer"
|
||||
}
|
||||
},
|
||||
"visual-tweaks": {
|
||||
"label": "Axustes visuais",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Título de xanela personalizado",
|
||||
"prompt": {
|
||||
"label": "Introduza o título personalizado da xanela (deixe baleiro para desactivala)",
|
||||
"placeholder": "Exemplo: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Predeterminado",
|
||||
"force-show": "Forzar a visualización",
|
||||
"hide": "Agochar",
|
||||
"label": "Botóns de Gústame"
|
||||
},
|
||||
"remove-upgrade-button": "Retirar o botón de anovación",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
"cancel": "Cancelar",
|
||||
"remove": "Retirar"
|
||||
},
|
||||
"remove-theme": "Estás certo que queres retirar o tema personalizado?",
|
||||
"remove-theme-message": "Isto ha retirar o tema personalizado"
|
||||
},
|
||||
"label": "Tema",
|
||||
"submenu": {
|
||||
"import-css-file": "Importar arquivo CSS personalizado",
|
||||
"no-theme": "Sen tema"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"enabled": "Activado",
|
||||
"label": "Complementos",
|
||||
"new": "NOVO"
|
||||
},
|
||||
"view": {
|
||||
"label": "Vista",
|
||||
"submenu": {
|
||||
"force-reload": "Forzar recarga",
|
||||
"reload": "Recargar",
|
||||
"reset-zoom": "Tamaño real",
|
||||
"toggle-fullscreen": "Alternar Pantalla Completa",
|
||||
"zoom-in": "Achegarse",
|
||||
"zoom-out": "Afastarse"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
"next": "Seguinte",
|
||||
"play-pause": "Reproducir/Pausar",
|
||||
"previous": "Anterior",
|
||||
"quit": "Saír"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,6 +150,11 @@
|
||||
"visual-tweaks": {
|
||||
"label": "תיקונים חזותיים",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"prompt": {
|
||||
"placeholder": "לדוגמה: שולחן כתיבה אגסי"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "ברירת מחדל",
|
||||
"force-show": "הפעל בכוח",
|
||||
@ -201,8 +206,8 @@
|
||||
"restart": "הפעל מחדש",
|
||||
"show": "הראה חלון",
|
||||
"tooltip": {
|
||||
"default": "יוטיוב מיוזיק",
|
||||
"with-song-info": "יוטיוב מיוזיק: {{artist}} - {{title}}"
|
||||
"default": "שולחן כתיבה אגסי",
|
||||
"with-song-info": "שולחן כתיב אגסי: {{יוצר}} - {{כותרת}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -212,7 +217,7 @@
|
||||
"name": "הגבר מהירות פרסומת"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "חסום את כל המודעות והמעקב מחוץ לקופסה",
|
||||
"description": "חסום את כל המודעות והמעקבים",
|
||||
"menu": {
|
||||
"blocker": "חוסם"
|
||||
},
|
||||
@ -244,6 +249,7 @@
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"label": "חוצץ",
|
||||
"submenu": {
|
||||
"buffer": "{{buffer}}"
|
||||
}
|
||||
@ -279,7 +285,7 @@
|
||||
"name": "מצב אווירה"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "מוסיף תמיכה ב-YouTube Music עבור הווידג'ט של Amuse המתנגן כעת על ידי 6K Labs",
|
||||
"description": "מוסיף תמיכה ב-Pear Desktop עבור הווידג'ט של Amuse המתנגן כעת על ידי 6K Labs",
|
||||
"name": "משעשע",
|
||||
"response": {
|
||||
"query": "שרת ה-API של Amuse פועל. קבל מידע על השיר באמצעות GET /query."
|
||||
@ -365,7 +371,7 @@
|
||||
"name": "עקוף את ההחמרות של הגיל"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "בורר כתוביות עבור רצועות אודיו של YouTube Music",
|
||||
"description": "בורר כתוביות עבור רצועות אודיו של Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "בחר אוטומטי את הכתובית האחרונה שנבחרה",
|
||||
"disable-captions": "ברירת מחד ללא כתוביות"
|
||||
@ -380,6 +386,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "פתח בחירת כתוביות"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "תרגום שונה ל {{שפה}}",
|
||||
"caption-disabled": "תרגום בוטל",
|
||||
"no-captions": "אין תרגום זמין לשיר הזה"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -391,9 +402,11 @@
|
||||
"menu": {
|
||||
"advanced": "מתקדם"
|
||||
},
|
||||
"name": "התפיידות צלב[בית]",
|
||||
"prompt": {
|
||||
"options": {
|
||||
"multi-input": {
|
||||
"fade-in-duration": "תתפייד בזמן[מילישניות]",
|
||||
"fade-scaling": {
|
||||
"linear": "לינארי",
|
||||
"logarithmic": "לוגריתמי"
|
||||
@ -419,7 +432,7 @@
|
||||
"connected": "מחובר",
|
||||
"disconnected": "מנותק",
|
||||
"hide-github-button": "הסתר את לחצן הקישור של GitHub",
|
||||
"play-on-youtube-music": "הפעל ביוטיוב מיוזיק",
|
||||
"play-on-pear-desktop": "הפעל ביוטיוב מיוזיק",
|
||||
"set-inactivity-timeout": "הגדר פסק זמן לחוסר פעילות"
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "कस्टम विंडो टाइटल",
|
||||
"prompt": {
|
||||
"label": "कस्टम विंडो टाइटल डालें: (डिसएबल करने के लिए खाली छोड़ें)",
|
||||
"placeholder": "उदाहरण: यूट्यूब संगीत"
|
||||
"placeholder": "उदाहरण: पियर डेस्कटॉप"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "ऐप पुनः प्रारंभ करें",
|
||||
"show": "ऐप दिखाए",
|
||||
"tooltip": {
|
||||
"default": "यूट्यूब म्यूजिक",
|
||||
"with-song-info": "यूट्यूब म्यूजिक: {{artist}} - {{title}}"
|
||||
"default": "पियर डेस्कटॉप",
|
||||
"with-song-info": "पियर डेस्कटॉप: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "अम्बिएन्ट मोड्"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "6K लैब्स द्वारा Amuse now playing विजेट के लिए YouTube म्यूजिक समर्थन जोड़ा गया",
|
||||
"description": "6K लैब्स द्वारा Amuse now playing विजेट के लिए Music Player म्यूजिक समर्थन जोड़ा गया",
|
||||
"name": "मन बहलाना",
|
||||
"response": {
|
||||
"query": "अमयूस ए.पि.ऐ. चल रहा है। गाने की जान्कारि होने के लिये GET /query कीजिये।"
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "नेविगेशन बार को ब्लर करें"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "YouTube आयु की जांच को बायपास करें",
|
||||
"description": "Music Player आयु की जांच को बायपास करें",
|
||||
"name": "आयु प्रतिबंध को बायपास करें"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube म्यूज़िक ऑडियो ट्रैक के लिए कैप्शन चयनकर्ता",
|
||||
"description": "Pear Desktop म्यूज़िक ऑडियो ट्रैक के लिए कैप्शन चयनकर्ता",
|
||||
"menu": {
|
||||
"autoload": "अंतिम बार उपयोग किए गए कैप्शन का ऑटोमैटिक रूप से चयन करें",
|
||||
"disable-captions": "डिफ़ॉल्ट रूप में कोई कैप्शन नहीं"
|
||||
@ -426,7 +426,13 @@
|
||||
"menu": {
|
||||
"device-selector": "डिवाइस चुनें"
|
||||
},
|
||||
"name": "अपनी पसंद का आउटपुट डिवाइस"
|
||||
"name": "अपनी पसंद का आउटपुट डिवाइस",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "उपयोग किए जाने वाला आउटपुट मीडिया चुने",
|
||||
"title": "आउटपुट डिवाइस चुनें"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "गीत को \"रुके हुए \" मोड में शुरू करता है",
|
||||
@ -450,8 +456,16 @@
|
||||
"disconnected": "डिस्कनेक्ट किया गया",
|
||||
"hide-duration-left": "शेष अवधि छिपाएँ",
|
||||
"hide-github-button": "GitHub लिंक के बटन को छिपाएँ",
|
||||
"play-on-youtube-music": "YouTube म्यूज़िक पर चलाएँ",
|
||||
"set-inactivity-timeout": "निष्क्रियता समय समाप्ति सेट करें"
|
||||
"play-on-pear-desktop": "Pear Desktop म्यूज़िक पर चलाएँ",
|
||||
"set-inactivity-timeout": "निष्क्रियता समय समाप्ति सेट करें",
|
||||
"set-status-display-type": {
|
||||
"label": "स्टेटस टेक्स्ट",
|
||||
"submenu": {
|
||||
"artist": "{artist} को सुन रहे है",
|
||||
"pear-desktop": "Pear Desktop सुन रहे है",
|
||||
"title": "{song title} सुन रहे है"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "डिस्कॉर्ड रिच प्रेजेंस",
|
||||
"prompt": {
|
||||
@ -743,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "listenbrainz उपयोगकर्ता टोकन दर्ज करें"
|
||||
},
|
||||
"scrobble-alternative-artist": "वैकल्पिक आर्टिस्ट का उपयोग करें",
|
||||
"scrobble-alternative-title": "वैकल्पिक शीर्षक का उपयोग करें",
|
||||
"scrobble-other-media": "अन्य मीडिया स्क्रोबल करें"
|
||||
},
|
||||
@ -788,9 +803,12 @@
|
||||
"name": "साइलेंस स्किप करें"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Intro/Outro जैसे गैर-संगीत भागों को स्किप करता है",
|
||||
"description": "गाने के वीडियो में जहाँ म्यूजिक नहीं चलता, जैसे शुरुआत या अंत के हिस्से, उन्हें अपने आप स्किप कर देता है",
|
||||
"name": "SponsorBlock"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "LRClib जैसे सोर्सेज के उपयोग से, गानों के लिए सिंक किए गए लिरिक्स देता है।"
|
||||
},
|
||||
"video-toggle": {
|
||||
"menu": {
|
||||
"align": {
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
},
|
||||
"detail": "\"{{pluginName}}\" plugin zahtjeva ponovno pokretanje da bi postao aktivan",
|
||||
"message": "\"{{pluginName}}\" se treba ponovo pokreniti",
|
||||
"title": "Ponovno Pokrećanje je Potrebno"
|
||||
"title": "Potrebno Ponovno Pokretanje"
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
@ -128,7 +128,7 @@
|
||||
},
|
||||
"label": "Jezik",
|
||||
"submenu": {
|
||||
"to-help-translate": "Želite pomoć za prijevodom? Kliknite ovdje"
|
||||
"to-help-translate": "Želite pomoći sa prijevodom? Kliknite ovdje"
|
||||
}
|
||||
},
|
||||
"resume-on-start": "Nastavi zadnju pjesmu kad se aplikacija pokrene",
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Vizualna podešavanja",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Prilagođeni naslov prozora",
|
||||
"prompt": {
|
||||
"label": "Unesi prilagođeni naslov prozora: (ostavi prazno za onemogućiti)",
|
||||
"placeholder": "Primjer: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Zadano",
|
||||
"force-show": "Prisilno prikaži",
|
||||
@ -201,8 +208,8 @@
|
||||
"restart": "Ponovo Pokreni Aplikaciju",
|
||||
"show": "Prikaži prozor",
|
||||
"tooltip": {
|
||||
"default": "YouTube Glazba",
|
||||
"with-song-info": "YouTube Glazba: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -280,8 +287,8 @@
|
||||
"name": "Ambijentalni Način"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Dodaje podršku za YouTube Glazbu za widget \"sada reproducira\" od Amuse od strane 6K Labs",
|
||||
"name": "Amuse",
|
||||
"description": "Dodaje podršku za Pear Desktop za widget \"sada reproducira\" od Amuse od strane 6K Labs",
|
||||
"name": "Zabavljati",
|
||||
"response": {
|
||||
"query": "Amuse API poslužitelj je pokrenut. Koristi GET /query za dohvat informacija o pjesmi."
|
||||
}
|
||||
@ -362,11 +369,11 @@
|
||||
"name": "Zamagli Navigacijsku Traku"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Zaobiđi YouTubeovu provjeru dobi",
|
||||
"description": "Zaobiđi Music Player provjeru dobi",
|
||||
"name": "Zaobiđi dobna ograničenja"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Izbornik titlova za audiozapise od YouTube Musica",
|
||||
"description": "Izbornik titlova za audiozapise od Pear Desktopa",
|
||||
"menu": {
|
||||
"autoload": "Automatski izaberi posljednje korištene titlove",
|
||||
"disable-captions": "Bez titlova"
|
||||
@ -383,7 +390,7 @@
|
||||
"title": "Otvori izbornik za titlove"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Titlovi su promenjeni u {{language}}",
|
||||
"caption-changed": "Titlovi su promijenjeni u {{language}}",
|
||||
"caption-disabled": "Titlovi su isključeni",
|
||||
"no-captions": "Za ovu pjesmu nisu dostupni titlovi"
|
||||
}
|
||||
@ -414,8 +421,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "Konfiguriraj prilagođeni izlazni medijski uređaj za pjesme",
|
||||
"menu": {
|
||||
"device-selector": "Odaberi Uređaj"
|
||||
},
|
||||
"name": "Prilagođeni uređaj za izlaz",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "Odaberi izlazni medijski uređaj za korištenje",
|
||||
"title": "Odaberi izlazni uređaj"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Postavlja da pjesma počne pauzirana",
|
||||
"description": "Pokreće pjesmu u pauziranom načinu rada",
|
||||
"menu": {
|
||||
"apply-once": "Primjenjuje se samo pri pokretanju aplikacije"
|
||||
},
|
||||
@ -436,10 +456,18 @@
|
||||
"disconnected": "Odspojen",
|
||||
"hide-duration-left": "Sakrij preostalo vrijeme",
|
||||
"hide-github-button": "Sakrij gumb sa GitHub poveznicom",
|
||||
"play-on-youtube-music": "Reproduciraj na YouTube Musicu",
|
||||
"set-inactivity-timeout": "Postavi vremensko ograničenje neaktivnosti (inactivity timeout)"
|
||||
"play-on-pear-desktop": "Reproduciraj na Pear Desktopu",
|
||||
"set-inactivity-timeout": "Postavi vremensko ograničenje neaktivnosti (inactivity timeout)",
|
||||
"set-status-display-type": {
|
||||
"label": "Tekst statusa",
|
||||
"submenu": {
|
||||
"artist": "Slušate {glazbenika}",
|
||||
"pear-desktop": "Slušate Pear Desktop",
|
||||
"title": "Slušate {naslov pjesme}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"name": "Bogata prisutnost Discorda",
|
||||
"prompt": {
|
||||
"set-inactivity-timeout": {
|
||||
"label": "Postavi vremensko ograničenje neaktivnosti u sekundama:",
|
||||
@ -479,10 +507,10 @@
|
||||
"folder-already-exists": "Mapa {{playlistFolder}} već postoji",
|
||||
"getting-playlist-info": "Dobavljaju se informacije o playlisti…",
|
||||
"loading": "Učitavanje…",
|
||||
"playlist-has-only-one-song": "Playlista ima samo jedan stavku, preuzeti će se direktno",
|
||||
"playlist-has-only-one-song": "Playlista ima samo jednu stavku, preuzeti će se direktno",
|
||||
"playlist-id-not-found": "Nije pronađen ID playliste",
|
||||
"playlist-is-empty": "Playlista je prazna",
|
||||
"playlist-is-mix-or-private": "Pogreška pri dobivanju informacija o playlisti: provjerite da nije ili privatna ili \"Za vas\" playlista\n\n{{error}}",
|
||||
"playlist-is-mix-or-private": "Pogreška pri dobavljanju informacija o playlisti: provjerite da nije privatna ili \"Za vas\" playlista\n\n{{error}}",
|
||||
"preparing-file": "Priprema se datoteka…",
|
||||
"saving": "Spremanje…",
|
||||
"trying-to-get-playlist-id": "Pokušavam dobaviti playlist ID: {{playlistId}}",
|
||||
@ -533,7 +561,7 @@
|
||||
"name": "Ekvalizator"
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Čini klizač glasnoće (volume slider) eksponencijalnim za lakše odabranje niže glasnoće.",
|
||||
"description": "Čini klizač glasnoće (volume slider) eksponencijalnim za lakši odabir niže glasnoće.",
|
||||
"name": "Eksponencijalna Glasnoća"
|
||||
},
|
||||
"in-app-menu": {
|
||||
@ -552,7 +580,7 @@
|
||||
"menu": {
|
||||
"romanized-lyrics": "Romanizirani tekstovi pjesme"
|
||||
},
|
||||
"name": "Genius teksovi pjesme",
|
||||
"name": "Genius tekstovi",
|
||||
"renderer": {
|
||||
"fetched-lyrics": "Dobavljen tekst pjesme s Genius-a"
|
||||
}
|
||||
@ -729,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "Unesi korisnički žeton za ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-artist": "Izaberite druge glazbenike",
|
||||
"scrobble-alternative-title": "Koristi alternativne naslove",
|
||||
"scrobble-other-media": "Učetkaj druge medije"
|
||||
},
|
||||
@ -781,7 +810,7 @@
|
||||
"description": "Obezbjeđava sinkronizirane lirike pjesama, korištenjem dobavljača poput LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\tDošlo je do greške prilikom dobavljanja stihova pjesme.\n\tMolimo vas da probate ponovno kasnije.",
|
||||
"not-found": "⚠️ Tekst za ovu pjesmu nije pronađen."
|
||||
"not-found": "⚠️ Tekst ove pjesme nije pronađen."
|
||||
},
|
||||
"menu": {
|
||||
"default-text-string": {
|
||||
@ -789,7 +818,7 @@
|
||||
"tooltip": "Odaberi zadane karaktere koji će biti korišteni za razmake između stihova pjesama"
|
||||
},
|
||||
"line-effect": {
|
||||
"label": "Efekat crte",
|
||||
"label": "Efekt crte",
|
||||
"submenu": {
|
||||
"fancy": {
|
||||
"label": "Kitnjast",
|
||||
@ -808,15 +837,23 @@
|
||||
"tooltip": "Promjeni razmjeru trenutne crte"
|
||||
}
|
||||
},
|
||||
"tooltip": "Odaberi efekat koji će biti primjenjen na trenutnoj crti"
|
||||
"tooltip": "Odaberi efekt koji će biti primijenjen na trenutnoj crti"
|
||||
},
|
||||
"precise-timing": {
|
||||
"label": "Napravi da tekst pjesme bude izvrsno usklađen",
|
||||
"tooltip": "Izračunaj do milisekunde prikaz sljedeće crteteksta (može malo utjecati na učinak)"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "Željeni davatelj usluga",
|
||||
"none": {
|
||||
"label": "Nema / prazno",
|
||||
"tooltip": "Nema željenog pružatelja usluga"
|
||||
},
|
||||
"tooltip": "Odaberite zadanog pružatelja usluga kojeg ćete koristiti"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "Romanizuj stihove pjesama",
|
||||
"tooltip": "Ako je tekst pjesme na drugom jeziku, probajte da ga prikažete na latinici."
|
||||
"tooltip": "Ako je tekst pjesme na drugom jeziku, probajte ga prikazati na latinici."
|
||||
},
|
||||
"show-lyrics-even-if-inexact": {
|
||||
"label": "Prikaži tekst pjesme čak i ako je netačan",
|
||||
@ -827,14 +864,14 @@
|
||||
"tooltip": "Prikaži vremenske oznake pored teksta pjesme"
|
||||
}
|
||||
},
|
||||
"name": "Sinkronizovani stihovi pjesama",
|
||||
"name": "Sinkronizirani stihovi pjesama",
|
||||
"refetch-btn": {
|
||||
"fetching": "Dobavljanje...",
|
||||
"normal": "Ponovo dobavite tekst pjesme"
|
||||
},
|
||||
"warnings": {
|
||||
"duration-mismatch": "⚠️ - Tekst pjesme možda nije usklađen zbog neuklapanja u daljini trajanja.",
|
||||
"inexact": "⚠️ - Tekst za ovu pjesmu možda nije tačan",
|
||||
"inexact": "⚠️ - Tekst ove pjesme možda nije točan",
|
||||
"instrumental": "⚠️ - Ovo je instrumentalna glazba"
|
||||
}
|
||||
},
|
||||
@ -846,6 +883,27 @@
|
||||
"description": "Dodaje dodatak dodirne trake za macOS korisnike",
|
||||
"name": "Dodirna Traka"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "Učinit će prozor aplikacije prozirnim",
|
||||
"menu": {
|
||||
"opacity": {
|
||||
"label": "Neprozirnost",
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"label": "Vrsta",
|
||||
"submenu": {
|
||||
"acrylic": "Akrilni",
|
||||
"mica": "Tinjac",
|
||||
"none": "Nema / prazno",
|
||||
"tabbed": "U karticama"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Prozirni Svirač"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "Integracija sa OBS-ovim Tuna dodatkom",
|
||||
"name": "Tuna OBS"
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"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"
|
||||
"placeholder": "Példa: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "YT Music újraindítása",
|
||||
"show": "Ablak megjelenítése",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambient mód"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Hozzáadja a YouTube Music támogatását az Amuse \"now playing\" widgethez a 6K Labs által",
|
||||
"description": "Hozzáadja a Pear Desktop támogatását az Amuse \"now playing\" widgethez a 6K Labs által",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Az Amuse API szerver fut. Használja a GET /query kérést a dalinformációk lekéréséhez."
|
||||
@ -367,11 +367,11 @@
|
||||
"name": "Navigációs sáv elmosása"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "A YouTube korellenőrzését kihagyja, ezáltal nem kel meg erősíteni a zene meghallgatása elött. (Automatikusan megerősítve lesz.)",
|
||||
"description": "A Music Player korellenőrzését kihagyja, ezáltal nem kel meg erősíteni a zene meghallgatása elött. (Automatikusan megerősítve lesz.)",
|
||||
"name": "Korellenőrzés kihagyása"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Felirat választó a YouTube Music zenékhez",
|
||||
"description": "Felirat választó a Pear Desktop zenékhez",
|
||||
"menu": {
|
||||
"autoload": "Automatikusan kiválasztja az utoljára használt feliratot",
|
||||
"disable-captions": "Alapértelmezetten nincsenek feliratok"
|
||||
@ -453,14 +453,14 @@
|
||||
"disconnected": "Nincs Kapcsolódva",
|
||||
"hide-duration-left": "Hátralévő idő elrejtése",
|
||||
"hide-github-button": "GitHub url gombjának elrejtése",
|
||||
"play-on-youtube-music": "Lejátszás a YouTube Music-on",
|
||||
"play-on-pear-desktop": "Lejátszás a Pear Desktop-on",
|
||||
"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"
|
||||
"pear-desktop": "Hallgatja: Pear Desktop",
|
||||
"title": "Hallgatja: {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -730,7 +730,7 @@
|
||||
}
|
||||
},
|
||||
"description": "Lehetővé teszi a videó minőségének megváltoztatását egy gombbal a videó fedvényen",
|
||||
"name": "Videóminőség modosító"
|
||||
"name": "Videóminőség módosító"
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Scrobbling támogatás hozzáadása (pl. last.fm, ListenBrainz)",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Judul jendela kustom",
|
||||
"prompt": {
|
||||
"label": "Masukkan judul jendela kustom (kosongkan untuk menonaktifkan)",
|
||||
"placeholder": "Contoh: YouTube Music"
|
||||
"placeholder": "Contoh: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Restart aplikasi",
|
||||
"show": "Tampilkan jendela",
|
||||
"tooltip": {
|
||||
"default": "YouTube Musik",
|
||||
"with-song-info": "YouTube Musik: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Mode ambient"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Menambahkan dukungan YouTube Music untuk widget Amuse yang sedang diputar oleh 6K Labs",
|
||||
"description": "Menambahkan dukungan Pear Desktop untuk widget Amuse yang sedang diputar oleh 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Server API Amuse sedang berjalan. GET /query untuk mendapatkan info lagu."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Buramkan Bar Navigasi"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Lewati verifikasi umur dari YouTube",
|
||||
"description": "Lewati verifikasi umur dari Music Player",
|
||||
"name": "Lewati batasan umur"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Pemilih caption untuk trek audio YouTube Music",
|
||||
"description": "Pemilih caption untuk trek audio Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Pilih caption terakhir secara otomatis",
|
||||
"disable-captions": "Tidak ada caption secara default"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Terputus",
|
||||
"hide-duration-left": "Sembunyikan sisa durasi",
|
||||
"hide-github-button": "Sembunyikan tombol link GitHub",
|
||||
"play-on-youtube-music": "Mainkan di YouTube Music",
|
||||
"play-on-pear-desktop": "Mainkan di Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Sedang mendengarkan Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -201,8 +201,8 @@
|
||||
"restart": "Endurræstu Forritið",
|
||||
"show": "Sýna glugga",
|
||||
"tooltip": {
|
||||
"default": "YouTube Tónlist",
|
||||
"with-song-info": "YouTube Tónlist: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -331,11 +331,11 @@
|
||||
"name": "Þoka Leiðsagnarstika"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Framhjá aldursstaðfestingu YouTube",
|
||||
"description": "Framhjá aldursstaðfestingu Music Player",
|
||||
"name": "Farið Framhjá Aldurstakmörkunum"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Skjátextavali fyrir YouTube Tónlist hljóðrásir",
|
||||
"description": "Skjátextavali fyrir Pear Desktop hljóðrásir",
|
||||
"menu": {
|
||||
"autoload": "Veldu sjálfkrafa síðast notaða myndatexta",
|
||||
"disable-captions": "Engir skjátextar sjálfgefið"
|
||||
@ -400,7 +400,7 @@
|
||||
"disconnected": "Aftengt",
|
||||
"hide-duration-left": "Fela tímalengd til vinstri",
|
||||
"hide-github-button": "Fela GitHub tengilhnapp",
|
||||
"play-on-youtube-music": "Spilaðu á YouTube Tónlist",
|
||||
"play-on-pear-desktop": "Spilaðu á Pear Desktop",
|
||||
"set-inactivity-timeout": "Stilltu tímamörk fyrir óvirkni"
|
||||
},
|
||||
"name": "Discord Rík Nærvera",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Personalizza titolo finestra",
|
||||
"prompt": {
|
||||
"label": "Inserisci un titolo della finestra personalizzato: (lascia vuoto per disattivare)",
|
||||
"placeholder": "Esempio: YouTube Music"
|
||||
"placeholder": "Esempio: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Riavvia l'app",
|
||||
"show": "Mostra finestra",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Modalità Ambiente"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Aggiunge il supporto a YouTube Music per il widget Amuse Now Playing di 6K Labs",
|
||||
"description": "Aggiunge il supporto a Pear Desktop per il widget Amuse Now Playing di 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Il server API di Amuse è in funzione. GET /query per ottenere informazioni sui brani."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Barra di navigazione trasparente"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Bypassa la verifica dell'età di YouTube",
|
||||
"description": "Bypassa la verifica dell'età di Music Player",
|
||||
"name": "Aggira i limiti d'età"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selettore sottotitolo per le tracce audio di YouTube",
|
||||
"description": "Selettore sottotitolo per le tracce audio di Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Seleziona automaticamente l'ultimo sottotitolo utilizzato",
|
||||
"disable-captions": "Disattiva i sottotitoli"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Disconnesso",
|
||||
"hide-duration-left": "Nascondi la durata rimasta",
|
||||
"hide-github-button": "Nascondi il pulsante link a GitHub",
|
||||
"play-on-youtube-music": "Riproduci su YouTube Music",
|
||||
"play-on-pear-desktop": "Riproduci su Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Ascoltando Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "カスタムウィンドウタイトル",
|
||||
"prompt": {
|
||||
"label": "カスタムウィンドウタイトルを入力: (未入力の場合無効になります)",
|
||||
"placeholder": "例: YouTube Music"
|
||||
"placeholder": "例: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "アプリを再起動",
|
||||
"show": "ウィンドウを表示",
|
||||
"tooltip": {
|
||||
"default": "YouTube ミュージック",
|
||||
"with-song-info": "YouTube ミュージック: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "アンビエント モード"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "6K LabsのAmuse再生中ウィジェットがYouTube Musicに対応しました",
|
||||
"description": "6K LabsのAmuse再生中ウィジェットがPear Desktopに対応しました",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "AmuseのAPIサーバーが稼働中です。GET /query で楽曲情報を取得できます。"
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "ナビゲーションバーの曇り効果"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "ユーチューブの年齢制限を迂回します",
|
||||
"description": "音楽プレーヤーの年齢確認をバイパスする",
|
||||
"name": "年齢制限迂回"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Musicトラック用字幕選択機",
|
||||
"description": "Pear Desktopトラック用字幕選択機",
|
||||
"menu": {
|
||||
"autoload": "最後の字幕を自動に選択",
|
||||
"disable-captions": "デフォルトで字幕を無効化"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "切断済み",
|
||||
"hide-duration-left": "残りの再生時間を隠す",
|
||||
"hide-github-button": "GitHubリンクボタンを隠す",
|
||||
"play-on-youtube-music": "YouTube Musicで再生",
|
||||
"play-on-pear-desktop": "Pear Desktopで再生",
|
||||
"set-inactivity-timeout": "タイムアウト時間を設定",
|
||||
"set-status-display-type": {
|
||||
"label": "ステータステキスト",
|
||||
"submenu": {
|
||||
"artist": "{artist}を聴いている",
|
||||
"title": "{曲名}を聴いている",
|
||||
"youtube-music": "YouTube Musicを聴く"
|
||||
"pear-desktop": "Pear Desktopを聴く",
|
||||
"title": "{曲名}を聴いている"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"common": {
|
||||
"console": {
|
||||
"plugins": {
|
||||
"execute-failed": "პლაგინის დაყენების შეცდომა {{pluginName}}::{{contextName}}",
|
||||
"execute-failed": "დამატების შესრულების შეცდომა {{pluginName}}::{{contextName}}",
|
||||
"executed-at-ms": "პლაგინი {{pluginName}}::{{contextName}} გაეშვა {{ms}} მილიწამში",
|
||||
"initialize-failed": "პლაგინის ინიციალიზაცია ვერ მოხდა\"{{pluginName}}\"",
|
||||
"load-all": "იტვირთება ყველა პლაგინი",
|
||||
@ -37,9 +37,15 @@
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "აპლიკაციის ქეშის გაწმენდვა"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "ფანჯარამ სცადა, ეკრანსმიღმა გახსნილიყო, ფანჯრის ზომა={{windowSize}}, ეკრანის ზომა={{displaySize}}, მდებარეობა={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "მენიუ დამალულია, გამოიყენეთ 'Alt', რათა გამოაჩინოთ ის (ან 'Escape' თუ იყენებთ აპლიკაციის შიგნითა მენიუს)"
|
||||
},
|
||||
"need-to-restart": {
|
||||
"buttons": {
|
||||
"later": "მოგვიანებით"
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "사용자 정의 앱 제목",
|
||||
"prompt": {
|
||||
"label": "앱 제목으로 표시할 내용 : (빈 칸 일시 비활성화)",
|
||||
"placeholder": "예: YouTube Music"
|
||||
"placeholder": "예: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "앱 재시작",
|
||||
"show": "창 표시",
|
||||
"tooltip": {
|
||||
"default": "유튜브 뮤직",
|
||||
"with-song-info": "유튜브 뮤직: {{artist}} - {{title}}"
|
||||
"default": "피어 데스크톱",
|
||||
"with-song-info": "피어 데스크톱: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "재생바 색조 변경 활성화"
|
||||
},
|
||||
"name": "앨범 컬러 기반 테마"
|
||||
},
|
||||
@ -287,7 +288,7 @@
|
||||
"name": "앰비언트 모드"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "6K Labs Amuse의 'now playing' 위젯에 YouTube Music 지원 추가",
|
||||
"description": "6K Labs Amuse의 'now playing' 위젯에 Pear Desktop 지원 추가",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API 서버가 실행 중입니다. GET /query로 노래 정보를 가져오세요."
|
||||
@ -369,11 +370,11 @@
|
||||
"name": "탐색 바 흐림 효과"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "유튜브의 나이 제한을 우회합니다",
|
||||
"description": "음악 플레이어의 연령 확인 우회합니다",
|
||||
"name": "나이 제한 우회"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Music 트랙용 자막 선택기입니다",
|
||||
"description": "Pear Desktop 트랙용 자막 선택기입니다",
|
||||
"menu": {
|
||||
"autoload": "마지막으로 사용한 자막을 자동으로 선택",
|
||||
"disable-captions": "기본 자막 제거"
|
||||
@ -456,14 +457,14 @@
|
||||
"disconnected": "연결 해제 됨",
|
||||
"hide-duration-left": "남은 재생 시간 숨기기",
|
||||
"hide-github-button": "GitHub 링크 버튼 숨기기",
|
||||
"play-on-youtube-music": "유튜브 뮤직에서 재생",
|
||||
"play-on-pear-desktop": "유튜브 뮤직에서 재생",
|
||||
"set-inactivity-timeout": "비활성 시간 제한 설정",
|
||||
"set-status-display-type": {
|
||||
"label": "상태 텍스트",
|
||||
"submenu": {
|
||||
"artist": "{아티스트} 듣는 중",
|
||||
"title": "{곡 제목} 듣는 중",
|
||||
"youtube-music": "YouTube Music 듣는 중"
|
||||
"pear-desktop": "Pear Desktop 듣는 중",
|
||||
"title": "{곡 제목} 듣는 중"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -150,6 +150,11 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Vizualiniai patobulinimai",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"prompt": {
|
||||
"placeholder": "Pavyzdys: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Numatytasis",
|
||||
"force-show": "Priversti rodyti",
|
||||
@ -201,8 +206,8 @@
|
||||
"restart": "Perkrauti programą",
|
||||
"show": "Rodyti langą",
|
||||
"tooltip": {
|
||||
"default": "Youtube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -280,7 +285,7 @@
|
||||
"name": "Aplinkos rėžimas"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Prideda Youtube Muzika palaikyma Amuse grojimo valdikliui pagal 6K Labs",
|
||||
"description": "Prideda Pear Desktop palaikyma Amuse grojimo valdikliui pagal 6K Labs",
|
||||
"name": "Amuse (Platforma Dainininkams)",
|
||||
"response": {
|
||||
"query": "Amuse API serveris yra veikiantis. Parašykite Get /query kad gautumėte dainos informacija."
|
||||
@ -338,11 +343,11 @@
|
||||
"name": "Sulieti Navigacijos Lentą"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Apeiti \"Youtube\" amžiaus patikrinimą",
|
||||
"description": "Apeiti \"Music Player\" amžiaus patikrinimą",
|
||||
"name": "Apeiti Amžiaus Apribojimus"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "„YouTube Music“ Garso takelių antraščių parinkiklis",
|
||||
"description": "„Pear Desktop“ Garso takelių antraščių parinkiklis",
|
||||
"menu": {
|
||||
"autoload": "Automatiškai pasirinkti paskutinę naudotą antraštę",
|
||||
"disable-captions": "Pagal numatytuosius nustatymus išjungti antraštės"
|
||||
@ -357,6 +362,10 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Atidaryti antraščių parinkiklį"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Subtitrai pakeisti į {{language}}",
|
||||
"caption-disabled": "Subtitrai išjungti"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -385,6 +394,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"menu": {
|
||||
"device-selector": "Pasirinkti įrenginį"
|
||||
},
|
||||
"name": "Pasirinktinas išvesties įrenginys",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"title": "Pasirinkite išvesties įrenginį"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Pradeda dainą pristabdytame rėžime",
|
||||
"menu": {
|
||||
@ -407,8 +427,15 @@
|
||||
"disconnected": "Atsijungta",
|
||||
"hide-duration-left": "Slėpti kiek liko laiko",
|
||||
"hide-github-button": "Slėpti \"GitHub\" nuorodos mygtuką",
|
||||
"play-on-youtube-music": "Leisti ant \"Youtube Music\"",
|
||||
"set-inactivity-timeout": "Nustatyti neveiklumo laiką"
|
||||
"play-on-pear-desktop": "Leisti ant \"Pear Desktop\"",
|
||||
"set-inactivity-timeout": "Nustatyti neveiklumo laiką",
|
||||
"set-status-display-type": {
|
||||
"submenu": {
|
||||
"artist": "Klausosi {artist]",
|
||||
"title": "Klausosi {song title}",
|
||||
"pear-desktop": "Klausosi Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "\"Discord\" Turtingas Buvimas (Rich Presence)",
|
||||
"prompt": {
|
||||
@ -464,6 +491,19 @@
|
||||
"description": "Atsisiunčia MP3 / šaltinio garsą tiesiogiai iš sąsajos",
|
||||
"menu": {
|
||||
"choose-download-folder": "Pasirinkti atsisiuntimų aplanką",
|
||||
"download-finish-settings": {
|
||||
"prompt": {
|
||||
"last-percent": "Po x procentų",
|
||||
"last-seconds": "Paskutinės x sekundės",
|
||||
"title": "Nustatyti kada atsisiųsti"
|
||||
},
|
||||
"submenu": {
|
||||
"enabled": "Įjungtas",
|
||||
"mode": "Laiko rėžimas",
|
||||
"percent": "Procentai",
|
||||
"seconds": "Sekundės"
|
||||
}
|
||||
},
|
||||
"download-playlist": "Atsisiųsti grojaraštį",
|
||||
"presets": "Iš anksto nustatyti nustatymai",
|
||||
"skip-existing": "Praleisti egzistuojančius failus"
|
||||
@ -476,6 +516,13 @@
|
||||
"button": "Atsisiųsti"
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
"menu": {
|
||||
"presets": {
|
||||
"label": "Išankstiniai nustatymai"
|
||||
}
|
||||
}
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Padaro garsumo slankiklį eksponentinį, kad būtų lengviau pasirinkti mažesnį garsumą.",
|
||||
"name": "Eksponentinis garsas"
|
||||
@ -512,7 +559,20 @@
|
||||
"unknown-user": "Nežinomas Naudotojas"
|
||||
},
|
||||
"menu": {
|
||||
"click-to-copy-id": "Kopijuoti Vedėjo ID"
|
||||
"click-to-copy-id": "Kopijuoti Vedėjo ID",
|
||||
"permission": {
|
||||
"all": "Leisti svečiams valdyti grojaraštį ir grotuvą",
|
||||
"playlist": "Leisti svečiams valdyti grojaraštį"
|
||||
},
|
||||
"set-permission": "Keisti valdymo leidimus",
|
||||
"status": {
|
||||
"disconnected": "Atsijungta",
|
||||
"guest": "Prisijungta kaip svečias"
|
||||
}
|
||||
},
|
||||
"toast": {
|
||||
"add-song-failed": "Nepavyko pridėti dainos",
|
||||
"remove-song-failed": "Nepavyko pašalinti dainos"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
@ -607,6 +667,17 @@
|
||||
"description": "Leidžia pakeisti vaizdo kokybę su mygtuku ant vaizdo perdangos",
|
||||
"name": "Vaizdo Kokybės Pakeitėjas"
|
||||
},
|
||||
"scrobbler": {
|
||||
"menu": {
|
||||
"scrobble-alternative-artist": "Naudoti alternatyvius atlikėjus",
|
||||
"scrobble-alternative-title": "Naudoti alternatyvius pavadinimus"
|
||||
},
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "Last.fm API raktas"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "Leidžia nustatyti visuotinius atkūrimo sparčiuosius klavišus (paleisti / pristabdyti / kitą / ankstesnį) ir išjungti medijos OSD nepaisant medijos klavišų, įjungti Ctrl / CMD + F ieškoti, įjungti Linux MPRIS palaikymą medijos klavišams ir pasirinktinius sparčiuosius klavišus pažengusiems vartotojams.",
|
||||
"menu": {
|
||||
@ -639,6 +710,11 @@
|
||||
"name": "Rėmėjų blokuotojas"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Teikia sinchronizuotus dainų žodžius, naudojantis tiekėjais kaip LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\t\tĮvyko klaida gaunant dainos žodžius.\n\tPabandykite dar karta vėliau.",
|
||||
"not-found": "⚠️ Šiai dainai nerasti dainos tekstai."
|
||||
},
|
||||
"refetch-btn": {
|
||||
"fetching": "Gaunama...",
|
||||
"normal": "Atgauti dainos žodžius"
|
||||
|
||||
@ -150,13 +150,20 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Vizuāli Iestatījumi",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Pielāgots loga nosaukums",
|
||||
"prompt": {
|
||||
"label": "Ievadiet pielāgotu loga nosaukumu: (atstājiet tukšu, lai atspējotu)",
|
||||
"placeholder": "Piemērs: Pear mūzika"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "Noklusējums",
|
||||
"force-show": "Vienmēr rādīt",
|
||||
"hide": "Paslēpt",
|
||||
"label": "Like pogas"
|
||||
},
|
||||
"remove-upgrade-button": "Noslēpt YouTube Premium pogu",
|
||||
"remove-upgrade-button": "Noslēpt Premium pogu",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
@ -201,8 +208,8 @@
|
||||
"restart": "Restartēt Lietotni",
|
||||
"show": "Rādīt logu",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -280,7 +287,7 @@
|
||||
"name": "Ambientais Režīms"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Pievieno YouTube Music atblastu priekš Amuse \"tagad spēlē\" no 6K Labs",
|
||||
"description": "Pievieno Pear Desktop atblastu priekš Amuse \"tagad spēlē\" no 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API serveris ir palaists. GET /query lai dabūtu dziesmas info."
|
||||
@ -362,11 +369,11 @@
|
||||
"name": "Izplūdusi Navigācijas Josla"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Apiet YouTube vecuma pārbaudi",
|
||||
"description": "Apiet Music Player vecuma pārbaudi",
|
||||
"name": "Apiet Vecuma Ierobežojumus"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Subtitru izvēlne priekš YouTube Music audio ceļiem",
|
||||
"description": "Subtitru izvēlne priekš Pear Desktop audio ceļiem",
|
||||
"menu": {
|
||||
"autoload": "Automātiski izvēlēties pēdējo izmantotos subtitrus",
|
||||
"disable-captions": "Bez subtitriem pēc noklusējuma"
|
||||
@ -414,6 +421,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "Pielāgotas izvades multivides ierīces konfigurēšana dziesmām",
|
||||
"menu": {
|
||||
"device-selector": "Izvēlieties ierīci"
|
||||
},
|
||||
"name": "Pielāgota izvades ierīce",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "Izvēlieties izmantojamo izvades multivides ierīci",
|
||||
"title": "Izvēlieties izvades ierīci"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Palaiž dziesmu nopauzētu",
|
||||
"menu": {
|
||||
@ -436,8 +456,15 @@
|
||||
"disconnected": "Atvienojies",
|
||||
"hide-duration-left": "Paslēpt cik palika laika",
|
||||
"hide-github-button": "Paslēpt GitHub saites pogu",
|
||||
"play-on-youtube-music": "Atskaņot uz YouTube Music",
|
||||
"set-inactivity-timeout": "Iestatīt neaktivitātes taimeru"
|
||||
"play-on-pear-desktop": "Atskaņot uz Pear Desktop",
|
||||
"set-inactivity-timeout": "Iestatīt neaktivitātes taimeru",
|
||||
"set-status-display-type": {
|
||||
"label": "Statusa teksts",
|
||||
"submenu": {
|
||||
"artist": "Klausos {mākslinieku}",
|
||||
"title": "Klausos {dziesmas nosaukums}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"prompt": {
|
||||
@ -485,9 +512,114 @@
|
||||
"playlist-is-mix-or-private": "Neizdevās iegūt atskaņošanas saraksta informāciju: pārliecinieties, ka tas nav privāts vai \"Jums izveidotā izlase\" saraksts.\n\n{{error}}",
|
||||
"preparing-file": "Faila sagatavošana…",
|
||||
"saving": "Saglabāšana…",
|
||||
"trying-to-get-playlist-id": "Mēģinu iegūt atskaņošanas saraksta ID: {{playlistId}}",
|
||||
"video-id-not-found": "Video nav atrasts",
|
||||
"writing-id3": "Rakstam ID3 tegus…"
|
||||
}
|
||||
},
|
||||
"description": "Lejupielādē MP3/avota audio tieši no saskarnes",
|
||||
"menu": {
|
||||
"choose-download-folder": "Izvēlieties lejupielādes mapi",
|
||||
"download-finish-settings": {
|
||||
"label": "Lejupielādēt pēc pabeigšanas",
|
||||
"prompt": {
|
||||
"last-percent": "Pēc x procentiem",
|
||||
"last-seconds": "Pēdējās x sekundes",
|
||||
"title": "Konfigurējiet lejupielādes laiku"
|
||||
},
|
||||
"submenu": {
|
||||
"advanced": "Paplašināts",
|
||||
"enabled": "Iespējots",
|
||||
"mode": "Laika režīms",
|
||||
"percent": "Procenti",
|
||||
"seconds": "Sekundes"
|
||||
}
|
||||
},
|
||||
"download-playlist": "Lejupielādēt atskaņošanas sarakstu",
|
||||
"presets": "Iepriekšiestatījumi",
|
||||
"skip-existing": "Izlaist esošos failus"
|
||||
},
|
||||
"name": "Lejupielādētājs",
|
||||
"renderer": {
|
||||
"can-not-update-progress": "Nevar atjaunināt progresu"
|
||||
},
|
||||
"templates": {
|
||||
"button": "Lejupielādēt"
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
"description": "Pievieno atskaņotājam ekvalaizeru",
|
||||
"menu": {
|
||||
"presets": {
|
||||
"label": "Iepriekšiestatījumi",
|
||||
"list": {
|
||||
"bass-booster": "Basu pastiprinātājs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Ekvalaizers"
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Padara skaļuma slīdni eksponenciālu, lai būtu vieglāk izvēlēties zemākus skaļumus.",
|
||||
"name": "Eksponenciālais apjoms"
|
||||
},
|
||||
"in-app-menu": {
|
||||
"description": "Piešķir izvēļņu joslām greznu, tumšu vai albuma krāsas izskatu",
|
||||
"menu": {
|
||||
"hide-dom-window-controls": "Slēpt DOM loga vadīklas"
|
||||
},
|
||||
"name": "Lietotnes izvēlne"
|
||||
},
|
||||
"lumiastream": {
|
||||
"description": "Pievieno Lumia Stream atbalstu",
|
||||
"name": "Lumia Stream [Beta versija]"
|
||||
},
|
||||
"lyrics-genius": {
|
||||
"description": "Pievieno dziesmu tekstu atbalstu lielākajai daļai dziesmu",
|
||||
"menu": {
|
||||
"romanized-lyrics": "Romanizēti dziesmu teksti"
|
||||
},
|
||||
"name": "Dziesmu vārdu ģēnijs",
|
||||
"renderer": {
|
||||
"fetched-lyrics": "Iegūti dziesmu vārdi priekš oriģināla"
|
||||
}
|
||||
},
|
||||
"music-together": {
|
||||
"description": "Kopīgojiet atskaņošanas sarakstu ar citiem. Kad vadītājs atskaņo dziesmu, visi pārējie dzirdēs to pašu dziesmu.",
|
||||
"dialog": {
|
||||
"enter-host": "Ievadiet resursdatora ID"
|
||||
},
|
||||
"internal": {
|
||||
"save": "Saglabāt",
|
||||
"track-source": "Dziesmas avots",
|
||||
"unknown-user": "Nezināms lietotājs"
|
||||
},
|
||||
"menu": {
|
||||
"click-to-copy-id": "Kopēt resursdatora ID",
|
||||
"close": "Aizvērt mūziku kopā",
|
||||
"connected-users": "Savienotie lietotāji",
|
||||
"disconnect": "Atvienojiet mūziku kopā",
|
||||
"empty-user": "Nav pievienotu lietotāju",
|
||||
"host": "Kopklausīšanās vadītājs",
|
||||
"join": "Pievienojieties mūzikai kopā",
|
||||
"permission": {
|
||||
"all": "Atļaut viesiem kontrolēt atskaņošanas sarakstu un atskaņotāju",
|
||||
"host-only": "Tikai resursdators var kontrolēt atskaņošanas sarakstu un atskaņotāju",
|
||||
"playlist": "Atļaut viesiem kontrolēt atskaņošanas sarakstu"
|
||||
},
|
||||
"set-permission": "Izmainīt kontroles piekļuvi",
|
||||
"status": {
|
||||
"disconnected": "Atvienots",
|
||||
"guest": "Pieslēdzies kā viesis",
|
||||
"host": "Pieslēdzies kā vadītājs"
|
||||
}
|
||||
},
|
||||
"name": "Mūzika Kopā [Beta]",
|
||||
"toast": {
|
||||
"add-song-failed": "Neizdevās pievienot dziesmu",
|
||||
"closed": "Mūzika Kopā slēgta",
|
||||
"disconnected": "Mūzika Kopā atvienota",
|
||||
"host-failed": "Neizdevās uzsākt Mūziku Kopā"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
"loaded": "i18n ലോഡ് ചെയ്തു"
|
||||
},
|
||||
"second-instance": {
|
||||
"receive-command": "പ്രോട്ടോക്കോളിലൂടെ കമാൻഡ് ലഭിച്ചു : \"{{command}}\""
|
||||
"receive-command": "പ്രോട്ടോക്കോളിലൂടെ കമാൻഡ് ലഭിച്ചു : \"{{command}}\""
|
||||
},
|
||||
"theme": {
|
||||
"css-file-not-found": "\"{{cssFile}}\" എന്ന CSS file നിലവിൽ ഇല്ല. ഉപേക്ഷിക്കുന്നു"
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
"later": "Nanti",
|
||||
"restart-now": "Restart Sekarang"
|
||||
},
|
||||
"detail": "Plugin {{pluginName}} perlu dimulakan semula untuk berkuatkuasa",
|
||||
"detail": "\"{{pluginName}}\" plugin memerlukan mula semula untuk ambil keberkesanan",
|
||||
"message": "\"{{pluginName}}\" perlu dimulakan semula",
|
||||
"title": "Mulakan Semula Diperlukan"
|
||||
},
|
||||
@ -74,7 +74,7 @@
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "Versi baharu kini tersedia dan boleh dimuat turun di {{downloadLink}}",
|
||||
"message": "Versi baharu tersedia",
|
||||
"message": "Versi baharu kini tersedia",
|
||||
"title": "Kemas Kini Tersedia"
|
||||
}
|
||||
},
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Tajuk tetingkap tersuai",
|
||||
"prompt": {
|
||||
"label": "Masukkan tajuk tetingkap tersuai: (biarkan kosong untuk matikan)",
|
||||
"placeholder": "Contoh: YouTube Music"
|
||||
"placeholder": "Contoh: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Mulakan Semula Aplikasi",
|
||||
"show": "Papar tetingkap",
|
||||
"tooltip": {
|
||||
"default": "YouTube Muzik",
|
||||
"with-song-info": "YouTube Muzik : {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop : {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Mod Sekitaran"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Menambahkan sokongan YouTube Music untuk widget sedang dimain Amuse oleh 6K Labs",
|
||||
"description": "Menambahkan sokongan Pear Desktop untuk widget sedang dimain Amuse oleh 6K Labs",
|
||||
"name": "Terhibur",
|
||||
"response": {
|
||||
"query": "API server Amuse telah berjalan. GET /query untuk mendapatkan maklumat lagu."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Kaburkan Bar navigasi"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Pintas verifikasi umur Youtube",
|
||||
"description": "Pintas verifikasi umur Music Player",
|
||||
"name": "Pintas Sekatan Umur"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Pemilih kapsyen untuk trek audio Youtube Music",
|
||||
"description": "Pemilih kapsyen untuk trek audio Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Pilih kapsyen terakhir diguna secara automatik",
|
||||
"disable-captions": "Tiada kapsyen secara lalai"
|
||||
@ -456,13 +456,14 @@
|
||||
"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",
|
||||
"play-on-pear-desktop": "Main di Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Mendengar Pear Desktop",
|
||||
"title": "Sedang mendengar {tajuk lagu}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -498,6 +499,7 @@
|
||||
"converting": "Menukarkan…",
|
||||
"done": "Selesai: {{filePath}}",
|
||||
"download-info": "Memuat turun {{artist}} - {{title}} [{{videoId}}",
|
||||
"download-progress": "Muat turun: {{percent}}%",
|
||||
"downloading": "Memuat turun…",
|
||||
"downloading-counter": "Memuat turun {{current}}/{{total}}…",
|
||||
"downloading-playlist": "Memuat turun senarai main \"{{playlistTitle}}\" - {{playlistSize}} lagu ({{playlistId}})",
|
||||
@ -508,29 +510,67 @@
|
||||
"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",
|
||||
"playlist-is-mix-or-private": "Ralat dalam mendapatkan senarai info main: pastikan ia tidak peribadi atau di dalam senarai main \"Campuran untuk anda\"\n\n{{error}}",
|
||||
"preparing-file": "Menyediakan fail…",
|
||||
"saving": "Menyimpan…",
|
||||
"trying-to-get-playlist-id": "Mencuba untuk mendapatkan ID senarai main: {{playlistId}}",
|
||||
"video-id-not-found": "Video tidak dijumpai"
|
||||
"video-id-not-found": "Video tidak dijumpai",
|
||||
"writing-id3": "Sedang menulis tag ID3…"
|
||||
}
|
||||
},
|
||||
"description": "Memuat turun audio MP3 / sumber terus dari antara muka",
|
||||
"menu": {
|
||||
"choose-download-folder": "Pilih folder muat turun",
|
||||
"download-finish-settings": {
|
||||
"label": "Muat turun selesai",
|
||||
"prompt": {
|
||||
"last-percent": "Selepas peratus x",
|
||||
"last-seconds": "Saat x terakhir",
|
||||
"title": "Konfigurasikan masa untuk memuat turun"
|
||||
},
|
||||
"submenu": {
|
||||
"advanced": "Lanjutan",
|
||||
"enabled": "Dinyalakan",
|
||||
"mode": "Mod masa",
|
||||
"percent": "Peratus",
|
||||
"seconds": "Saat"
|
||||
}
|
||||
},
|
||||
"download-playlist": "Muat turun senarai main"
|
||||
"download-playlist": "Muat turun senarai main",
|
||||
"presets": "Pratetap",
|
||||
"skip-existing": "Langkau fail sedia ada"
|
||||
},
|
||||
"name": "Pemuat turun",
|
||||
"renderer": {
|
||||
"can-not-update-progress": "Tidak boleh memuat turun perkembangan"
|
||||
},
|
||||
"templates": {
|
||||
"button": "Memuat turun"
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
"description": "Menambahkan penyamaan kepada pemain",
|
||||
"menu": {
|
||||
"presets": {
|
||||
"label": "Pratetap",
|
||||
"list": {
|
||||
"bass-booster": "Penggalak bass"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Menjadikan gelangsar kelantangan eksponen supaya lebih mudah memilih kelantangan yang lebih rendah."
|
||||
},
|
||||
"in-app-menu": {
|
||||
"description": "Memberi bar menu rupa yang mewah, gelap atau warna album",
|
||||
"menu": {
|
||||
"hide-dom-window-controls": "Sembunyikan kawalan tetingkap DOM"
|
||||
},
|
||||
"name": "Menu Dalam Apl"
|
||||
},
|
||||
"lumiastream": {
|
||||
"description": "Menambah sokongan Lumia Stream",
|
||||
"name": "Lumia Stream [Beta]"
|
||||
},
|
||||
"lyrics-genius": {
|
||||
@ -545,15 +585,68 @@
|
||||
},
|
||||
"music-together": {
|
||||
"description": "Kongsi senarai main dengan orang lain. Apabila hos memainkan lagu, semua orang akan mendengar lagu yang sama",
|
||||
"dialog": {
|
||||
"enter-host": "Masukkan ID Hos"
|
||||
},
|
||||
"internal": {
|
||||
"save": "Simpan",
|
||||
"unknown-user": "Pengguna tidak diketahui"
|
||||
},
|
||||
"menu": {
|
||||
"close": "Tutup Music Together"
|
||||
"click-to-copy-id": "Salin ID Hos",
|
||||
"close": "Tutup Music Together",
|
||||
"connected-users": "Pengguna yang telah berhubung",
|
||||
"disconnect": "Putuskan Sambungan Music Together",
|
||||
"empty-user": "Tiada pengguna yang disambungkan",
|
||||
"host": "Hos Music Together",
|
||||
"join": "Sertai Music Together",
|
||||
"permission": {
|
||||
"all": "Benarkan tetamu mengawal senarai main dan pemain",
|
||||
"host-only": "Hanya hos boleh mengawal senarai main dan pemain",
|
||||
"playlist": "Benarkan tetamu mengawal senarai main"
|
||||
},
|
||||
"set-permission": "Tukar Kebenaran Kawalan",
|
||||
"status": {
|
||||
"disconnected": "Terputus",
|
||||
"guest": "Disambungkan sebagai Tetamu",
|
||||
"host": "Disambungkan sebagai Hos"
|
||||
}
|
||||
},
|
||||
"name": "Music Together [Beta]",
|
||||
"toast": {
|
||||
"add-song-failed": "Gagal menambah lagu",
|
||||
"closed": "Music Together ditutup",
|
||||
"disconnected": "Music Together terputus",
|
||||
"host-failed": "Gagal untuk menjadi hos Music Together",
|
||||
"id-copied": "ID hos disalin ke papan keratan",
|
||||
"id-copy-failed": "Gagal menyalin ID Hos ke papan keratan"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
"name": "Navigasi"
|
||||
},
|
||||
"notifications": {
|
||||
"name": "Notifikasi"
|
||||
},
|
||||
"scrobbler": {
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"title": "Atuntikasi Gagal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "kunci API Last.fm",
|
||||
"api-secret": "rahasia API Last.fm"
|
||||
}
|
||||
}
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"errors": {
|
||||
"not-found": "⚠️ Tak ada liriks untuk lagu ini."
|
||||
},
|
||||
"menu": {
|
||||
"show-lyrics-even-if-inexact": {
|
||||
"label": "Tunjukkan lirik walaupun tidak tepat",
|
||||
|
||||
@ -257,11 +257,11 @@
|
||||
"name": "Tilslør navigasjonsfelt"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Omgå YouTube sin aldersgrenser",
|
||||
"description": "Omgå Music Player sin aldersgrenser",
|
||||
"name": "Omgå aldersgrense"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Undertekstverktøy for lydspor i YouTube Music",
|
||||
"description": "Undertekstverktøy for lydspor i Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Auto-velg sist brukte undertekst",
|
||||
"disable-captions": "Ingen undertekst som forvalg"
|
||||
@ -326,7 +326,7 @@
|
||||
"disconnected": "Frakoblet",
|
||||
"hide-duration-left": "Skjul gjenværende tid",
|
||||
"hide-github-button": "Skjul GitHub-lenkeknapp",
|
||||
"play-on-youtube-music": "Spill på YouTube Music",
|
||||
"play-on-pear-desktop": "Spill på Pear Desktop",
|
||||
"set-inactivity-timeout": "Sett tid før tidsavbrudd"
|
||||
},
|
||||
"name": "Rik tilstedeværelse for Discord",
|
||||
|
||||
@ -436,7 +436,7 @@
|
||||
"disconnected": "डिसकन्एक्टेड",
|
||||
"hide-duration-left": "बाकी समय लुकाऊ",
|
||||
"hide-github-button": "GitHub लिंक लुकाऊ",
|
||||
"play-on-youtube-music": "YouTube music मा बजाउ",
|
||||
"play-on-pear-desktop": "Pear Desktop मा बजाउ",
|
||||
"set-inactivity-timeout": "इनएक्टिभिटी टाइमआउट राख"
|
||||
},
|
||||
"name": "डिसकार्ड रिच प्रीसेंस",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Aangepaste venstertitel",
|
||||
"prompt": {
|
||||
"label": "Voer aangepaste venstertitel in: (laat leeg om uit te schakelen)",
|
||||
"placeholder": "Voorbeeld: Youtube Music"
|
||||
"placeholder": "Voorbeeld: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Herstarten App",
|
||||
"show": "Weergeven Venster",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Omgevingsmodus"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Voegt YouTube Music ondersteuning toe voor de Amuse now playing widget van 6K Labs",
|
||||
"description": "Voegt Pear Desktop ondersteuning toe voor de Amuse now playing widget van 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API server loopt. Gebruik /query voor nummer informatie."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Vervagen Navigatiebalk"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Omzeil de leeftijdsverificatie van YouTube",
|
||||
"description": "Omzeil de leeftijdsverificatie van Music Player",
|
||||
"name": "Leeftijdsbeperkingen Omzeilen"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Ondertitelkeuze voor YouTube Music-audiotracks",
|
||||
"description": "Ondertitelkeuze voor Pear Desktop-audiotracks",
|
||||
"menu": {
|
||||
"autoload": "Automatisch de laatst gebruikte ondertitel selecteren",
|
||||
"disable-captions": "Standaard geen ondertitels"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Verbinding verbroken",
|
||||
"hide-duration-left": "Verberg resterende tijd",
|
||||
"hide-github-button": "GitHub-knop verbergen",
|
||||
"play-on-youtube-music": "Afspelen op YouTube Music",
|
||||
"play-on-pear-desktop": "Afspelen op Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Naar Pear Desktop aan het luisteren"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -153,8 +153,8 @@
|
||||
"custom-window-title": {
|
||||
"label": "Niestandardowy tytuł okna",
|
||||
"prompt": {
|
||||
"label": "Podaj niestandardowy tytuł okna (zostaw puste, aby to wyłączyć):",
|
||||
"placeholder": "Przykład: YouTube Music"
|
||||
"label": "Podaj niestandardowy tytuł okna (zostaw puste, aby to wyłączyć)",
|
||||
"placeholder": "Przykład: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Uruchom ponownie aplikację",
|
||||
"show": "Pokaż okno",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "{{title}} (autorstwa {{artist}}) - YT Music"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "{{title}} (autorstwa {{artist}}) - Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,14 +287,14 @@
|
||||
"name": "Tryb otoczenia"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Wspiera integrację YouTube Music z widgetami Amuse (od 6K Labs)",
|
||||
"description": "Wspiera integrację Pear Desktop z widgetami Amuse (od 6K Labs)",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Serwer API Amuse działa. Użyj metody GET do /query, aby zdobyć informację o utworze."
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "Pozwala na kontrolowanie YouTube Music poprzez podłączenie specjalnego serwera API",
|
||||
"description": "Pozwala na kontrolowanie Pear Desktop poprzez podłączenie specjalnego serwera API",
|
||||
"dialog": {
|
||||
"request": {
|
||||
"buttons": {
|
||||
@ -324,7 +324,7 @@
|
||||
"label": "Port"
|
||||
}
|
||||
},
|
||||
"name": "YouTube Music API",
|
||||
"name": "Pear Desktop API",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Wpisz nazwę hosta (IP, np. 0.0.0.0), który będzie użyty do serwera API:",
|
||||
@ -373,7 +373,7 @@
|
||||
"name": "Omiń ograniczenia wiekowe"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selektor napisów dla ścieżek audio YouTube Music",
|
||||
"description": "Selektor napisów dla ścieżek audio Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Automatycznie wybierz ostatnio używanych napisów",
|
||||
"disable-captions": "Domyślnie, brak napisów"
|
||||
@ -429,7 +429,7 @@
|
||||
"name": "Niestandardowe urządzenie wyjścia",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "Wybierz wyjście audio które ma być użyte",
|
||||
"label": "Wybierz urządzenie wyjściowe",
|
||||
"title": "Wybierz wyjście audio"
|
||||
}
|
||||
}
|
||||
@ -447,7 +447,7 @@
|
||||
"connected": "Połączono z Discordem",
|
||||
"disconnected": "Odłączono od Discorda"
|
||||
},
|
||||
"description": "Pokaż znajomym z Discorda czego słuchasz dzięki Rich Presence",
|
||||
"description": "Pokaż znajomym z Discorda czego słuchasz, dzięki technologii Rich Presence",
|
||||
"menu": {
|
||||
"auto-reconnect": "Automatyczne wznawianie połączenia",
|
||||
"clear-activity": "Wyczyść aktywność",
|
||||
@ -456,18 +456,18 @@
|
||||
"disconnected": "Odłączono",
|
||||
"hide-duration-left": "Ukryj pozostały czas trwania",
|
||||
"hide-github-button": "Ukryj przycisk do GitHub",
|
||||
"play-on-youtube-music": "Odtwórz w YouTube Music",
|
||||
"play-on-pear-desktop": "Odtwórz w Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Słucha Pear Desktop",
|
||||
"title": "Słucha {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"name": "Aktywność w Discord",
|
||||
"prompt": {
|
||||
"set-inactivity-timeout": {
|
||||
"label": "Podaj limit czasu bezczynności w sekundach:",
|
||||
|
||||
@ -33,25 +33,25 @@
|
||||
"css-file-not-found": "Arquivo CSS \"{{cssFile}}\" não existe, ignorando"
|
||||
},
|
||||
"unresponsive": {
|
||||
"details": "Erro de falta de resposta!\n{{error}}"
|
||||
"details": "Erro por falta de resposta!\n{{error}}"
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "Limpando cache do aplicativo"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "A janela tentou renderizar fora da tela, tamanho da janela={{windowSize}}, tamanho da tela={{displaySize}}, posição={{position}}"
|
||||
"tried-to-render-offscreen": "A janela tentou renderizar fora dos parâmetros da tela, tamanho da janela={{windowSize}}, tamanho da tela={{displaySize}}, posição={{position}}"
|
||||
}
|
||||
},
|
||||
"dialog": {
|
||||
"hide-menu-enabled": {
|
||||
"detail": "O menu está oculto, use 'Alt' para mostrá-lo (ou 'Esc' ao usar o menu dentro do aplicativo)",
|
||||
"message": "Ocultar menu está ativado",
|
||||
"title": "Ocultar menu ativado"
|
||||
"message": "Ocultar Menu está ativado",
|
||||
"title": "Ocultar Menu ativado"
|
||||
},
|
||||
"need-to-restart": {
|
||||
"buttons": {
|
||||
"later": "Depois",
|
||||
"restart-now": "Reiniciar agora"
|
||||
"restart-now": "Reiniciar Agora"
|
||||
},
|
||||
"detail": "O plugin \"{{pluginName}}\" requer uma reinicialização para entrar em vigor",
|
||||
"message": "\"{{pluginName}}\" precisa reiniciar",
|
||||
@ -84,7 +84,7 @@
|
||||
"label": "Navegação",
|
||||
"submenu": {
|
||||
"copy-current-url": "Copiar URL atual",
|
||||
"go-back": "Voltar",
|
||||
"go-back": "Retornar",
|
||||
"go-forward": "Avançar",
|
||||
"quit": "Sair",
|
||||
"restart": "Reiniciar aplicativo"
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Título da janela customizado",
|
||||
"prompt": {
|
||||
"label": "Insira título customizado para a janela: (deixe em branco para desabilitar)",
|
||||
"placeholder": "Exemplo: Youtube Music"
|
||||
"placeholder": "Exemplo: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Reiniciar aplicativo",
|
||||
"show": "Mostrar janela",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Modo ambiente"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Adiciona suporte ao YouTube Music ao widget 'Reproduzindo agora' do Amuse da 6K Labs",
|
||||
"description": "Adiciona suporte ao Pear Desktop ao widget 'Reproduzindo agora' do Amuse da 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Servidor API do Amuse em execução. GET /query para obter informações da música."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Desfocar barra de navegação"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Pular a verificação de idade do YouTube",
|
||||
"description": "Pular a verificação de idade do Music Player",
|
||||
"name": "Ignorar restrições de idade"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Seletor de legendas para faixas de áudio do YouTube Music",
|
||||
"description": "Seletor de legendas para faixas de áudio do Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Selecionar automaticamente a última legenda usada",
|
||||
"disable-captions": "Sem legendas por padrão"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Desconectado",
|
||||
"hide-duration-left": "Ocultar duração restante",
|
||||
"hide-github-button": "Ocultar botão do GitHub",
|
||||
"play-on-youtube-music": "Reproduzir no YouTube Music",
|
||||
"play-on-pear-desktop": "Reproduzir no Pear Desktop",
|
||||
"set-inactivity-timeout": "Definir tempo limite de inatividade",
|
||||
"set-status-display-type": {
|
||||
"label": "Texto de status",
|
||||
"submenu": {
|
||||
"artist": "Ouvindo {artist}",
|
||||
"title": "Ouvindo {song title}",
|
||||
"youtube-music": "Ouvindo YouTube Music"
|
||||
"pear-desktop": "Ouvindo Pear Desktop",
|
||||
"title": "Ouvindo {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Título de janela personalizado",
|
||||
"prompt": {
|
||||
"label": "Introduza um título: (deixe em branco para desativar)",
|
||||
"placeholder": "Exemplo: YouTube Music"
|
||||
"placeholder": "Exemplo: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Reiniciar aplicação",
|
||||
"show": "Mostrar janela",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Modo ambiente"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Adiciona suporte ao YouTube Music para o widget Amuse now playing de 6K Labs",
|
||||
"description": "Adiciona suporte ao Pear Desktop para o widget Amuse now playing de 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "O servidor da API Amuse está a ser executado. GET/query para obter informações sobre a faixa."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Barra de navegação desfocada"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Ignorar verificação de idade do YouTube",
|
||||
"description": "Ignorar verificação de idade do Music Player",
|
||||
"name": "Ignorar restrições de idade"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Seletor de legendas para as faixas de áudio do YouTube Music",
|
||||
"description": "Seletor de legendas para as faixas de áudio do Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Selecionar automaticamente a última legenda utilizada",
|
||||
"disable-captions": "Sem legendas por omissão"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Desconectado",
|
||||
"hide-duration-left": "Ocultar tempo restante",
|
||||
"hide-github-button": "Ocultar botão GitHub",
|
||||
"play-on-youtube-music": "Reproduzir em YouTube Music",
|
||||
"play-on-pear-desktop": "Reproduzir em Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "A reproduzir Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Titlul ferestrei personalizate",
|
||||
"prompt": {
|
||||
"label": "Introduceți titlul ferestrei personalizate: (lăsați gol pentru a dezactiva)",
|
||||
"placeholder": "Exemplu: Youtube Music"
|
||||
"placeholder": "Exemplu: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Reporneste aplicatia",
|
||||
"show": "Arata fereastra",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Mod ambiental"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Adauga suport Youtube Music pentru Amuse se redă acum widget de 6K Labs",
|
||||
"description": "Adauga suport Pear Desktop pentru Amuse se redă acum widget de 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Server-ul API-ului Amuse rulează. GET /query pentru a obține informații despre melodie."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Estompează Bara de Navigație"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Treci peste verificarea de vârstă a YouTube-ului",
|
||||
"description": "Treci peste verificarea de vârstă a Music Player",
|
||||
"name": "Ignoră restricțiile de vârstă"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selector de subtitrări pentru piesele audio de pe YouTube Music",
|
||||
"description": "Selector de subtitrări pentru piesele audio de pe Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Selectează automat ultima subtitrare folosită",
|
||||
"disable-captions": "Fără subtitrări în mod implicit"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Deconectat",
|
||||
"hide-duration-left": "Ascunde timpul rămas",
|
||||
"hide-github-button": "Ascunde butonul cu link-ul GitHub",
|
||||
"play-on-youtube-music": "Redă pe YouTube Music",
|
||||
"play-on-pear-desktop": "Redă pe Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Ascultând Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Собственное название окна",
|
||||
"prompt": {
|
||||
"label": "Введите собственное название окна: (оставьте пустым, чтобы отключить)",
|
||||
"placeholder": "Например: YouTube Music"
|
||||
"placeholder": "Например: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -163,7 +163,7 @@
|
||||
"hide": "Скрывать",
|
||||
"label": "Кнопка лайка"
|
||||
},
|
||||
"remove-upgrade-button": "Убрать кнопку Youtube Premium",
|
||||
"remove-upgrade-button": "Убрать кнопку Premium",
|
||||
"theme": {
|
||||
"dialog": {
|
||||
"button": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Перезапустить приложение",
|
||||
"show": "Показать окно",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Размытие панели навигации"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Обход проверки возраста на YouTube",
|
||||
"description": "Обход проверки возраста на Music Player",
|
||||
"name": "Обход возрастных ограничений"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Выбор субтитров для аудиотреков в YouTube Music",
|
||||
"description": "Выбор субтитров для аудиотреков в Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Автоматически выбирать последние использованные субтитры",
|
||||
"disable-captions": "Без субтитров по умолчанию"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Отключено",
|
||||
"hide-duration-left": "Скрыть сколько осталось времени",
|
||||
"hide-github-button": "Скрыть ссылку на GitHub",
|
||||
"play-on-youtube-music": "Воспроизвести на YouTube Music",
|
||||
"play-on-pear-desktop": "Воспроизвести на Pear Desktop",
|
||||
"set-inactivity-timeout": "Поставить таймер неактивности",
|
||||
"set-status-display-type": {
|
||||
"label": "Текст статуса",
|
||||
"submenu": {
|
||||
"artist": "Слушает {исполнитель}",
|
||||
"title": "Слушает {название трека}",
|
||||
"youtube-music": "Слушает YouTube Music"
|
||||
"pear-desktop": "Слушает Pear Desktop",
|
||||
"title": "Слушает {название трека}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -201,8 +201,8 @@
|
||||
"restart": "නැවත ආරම්භ කරන්න",
|
||||
"show": "තිරය පෙන්වන්න",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
},
|
||||
"unresponsive": {
|
||||
"buttons": {
|
||||
"quit": "Skončiť",
|
||||
"quit": "Ukončiť",
|
||||
"relaunch": "Spustiť znova",
|
||||
"wait": "Počkajte"
|
||||
},
|
||||
@ -70,7 +70,7 @@
|
||||
"update-available": {
|
||||
"buttons": {
|
||||
"disable": "Vypnúť aktualizácie",
|
||||
"download": "Sťiahnuť",
|
||||
"download": "Stiahnuť",
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "Nová verzia je k dispozícii a je možné ju stiahnuť na {{downloadLink}}",
|
||||
@ -141,9 +141,9 @@
|
||||
"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",
|
||||
"disabled": "Vypnutý",
|
||||
"enabled-and-hide-app": "Povolené a skry aplikáciu",
|
||||
"enabled-and-show-app": "Povolené a ukáž aplikáciu",
|
||||
"play-pause-on-click": "Prehrať/Pozastaviť na stlačenie"
|
||||
}
|
||||
},
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Vlastný názov okna",
|
||||
"prompt": {
|
||||
"label": "Napíšte vlastný názov okna: (nechajte prázdne pre vypnutie)",
|
||||
"placeholder": "Napríklad: YouTube Music"
|
||||
"placeholder": "Napríklad: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -185,11 +185,13 @@
|
||||
},
|
||||
"plugins": {
|
||||
"enabled": "Zapnuté",
|
||||
"label": "Rozšírenia",
|
||||
"new": "NOVÝ"
|
||||
},
|
||||
"view": {
|
||||
"label": "Náhľad",
|
||||
"submenu": {
|
||||
"force-reload": "Natvrdo obnoviť",
|
||||
"force-reload": "Nasilu obnoviť",
|
||||
"reload": "Obnoviť",
|
||||
"reset-zoom": "Ozajstná veľkosť",
|
||||
"toggle-fullscreen": "Prepnúť režim Celej Obrazovky",
|
||||
@ -206,9 +208,664 @@
|
||||
"restart": "Reštartovať aplikáciu",
|
||||
"show": "Zobraziť okno",
|
||||
"tooltip": {
|
||||
"default": "YouTube Hudba",
|
||||
"with-song-info": "Youtube Hudba: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"ad-speedup": {
|
||||
"description": "Ak sa spustí reklama, stlmí sa zvuk a nastaví sa rýchlosť prehrávania na 16x",
|
||||
"name": "Zrýchľovač reklám"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "Blokovať všetky reklamy a sledovania hneď od začiatku",
|
||||
"menu": {
|
||||
"blocker": "Blokovač"
|
||||
},
|
||||
"name": "Blokovač reklám"
|
||||
},
|
||||
"album-actions": {
|
||||
"description": "Pridáva Undislike, Dislike, Like, a Unlike tlačítka k aplikovaniu tohto ku všetkým pesničkám v zozname pesničiek alebo albume",
|
||||
"name": "Možnosti albumu"
|
||||
},
|
||||
"album-color-theme": {
|
||||
"description": "Aplikuje dynamický motív a vizuálne efekty na základe palety farieb albumu",
|
||||
"menu": {
|
||||
"color-mix-ratio": {
|
||||
"label": "Pomer miešania farieb",
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Farebná téma albumu"
|
||||
},
|
||||
"ambient-mode": {
|
||||
"description": "Aplikuje svetelné efekty pomocou vrhania jemných farieb z videa, do vášho pozadia obrazovky",
|
||||
"menu": {
|
||||
"blur-amount": {
|
||||
"label": "Hodnota rozmazania",
|
||||
"submenu": {
|
||||
"pixels": "{{blurAmount}} pixelov"
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"label": "Vyrovnávacia pamäť",
|
||||
"submenu": {
|
||||
"buffer": "{{buffer}}"
|
||||
}
|
||||
},
|
||||
"opacity": {
|
||||
"label": "Nepriehľadnosť",
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
}
|
||||
},
|
||||
"quality": {
|
||||
"label": "Kvalita",
|
||||
"submenu": {
|
||||
"pixels": "{{quality}} pixelov"
|
||||
}
|
||||
},
|
||||
"size": {
|
||||
"label": "Veľkosť",
|
||||
"submenu": {
|
||||
"percent": "{{size}}%"
|
||||
}
|
||||
},
|
||||
"smoothness-transition": {
|
||||
"label": "Plynulý prechod",
|
||||
"submenu": {
|
||||
"during": "Počas {{interpolationTime}} s"
|
||||
}
|
||||
},
|
||||
"use-fullscreen": {
|
||||
"label": "Používanie režimu celej obrazovky"
|
||||
}
|
||||
},
|
||||
"name": "Ambientný mód"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Pridáva Pear Desktop podporu pre Amuse práve prehráva widget od 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API server beží. GET /query to get song info."
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "Pridáva API server na ovládanie prehrávača",
|
||||
"dialog": {
|
||||
"request": {
|
||||
"buttons": {
|
||||
"allow": "Povoliť",
|
||||
"deny": "Zakázať"
|
||||
},
|
||||
"message": "Povoliť {{ID}} ({{origin}}) prístup cez API?",
|
||||
"title": "Žiadosť o autorizáciu API"
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"auth-strategy": {
|
||||
"label": "Stratégia autorizácie",
|
||||
"submenu": {
|
||||
"auth-at-first": {
|
||||
"label": "Overiť pri prvom dotaze"
|
||||
},
|
||||
"none": {
|
||||
"label": "Žiadna autorizácia"
|
||||
}
|
||||
}
|
||||
},
|
||||
"hostname": {
|
||||
"label": "Hostname"
|
||||
},
|
||||
"port": {
|
||||
"label": "Port"
|
||||
}
|
||||
},
|
||||
"name": "API Server [Beta]",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Zadajte názov hostname(napr. 0.0.0.0) pre server API:",
|
||||
"title": "Hostname"
|
||||
},
|
||||
"port": {
|
||||
"label": "Zadajte port pre server API:",
|
||||
"title": "Port"
|
||||
}
|
||||
}
|
||||
},
|
||||
"audio-compressor": {
|
||||
"description": "Aplikovať kompresiu k audiu (znižuje hlasitosť najhlasnejších častí signálu a zvyšuje hlasitosť najjemnejších častí)",
|
||||
"name": "Audio kompresor"
|
||||
},
|
||||
"auth-proxy-adapter": {
|
||||
"description": "Podpora používania autentifikačných proxy služieb",
|
||||
"menu": {
|
||||
"disable": "Vypnúť Proxy Adaptér",
|
||||
"enable": "Zapnúť Proxy Adaptér",
|
||||
"hostname": {
|
||||
"label": "Hostname"
|
||||
},
|
||||
"port": {
|
||||
"label": "Port"
|
||||
}
|
||||
},
|
||||
"name": "Adaptér autentifikačného proxy servera",
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "Zadajte hostname pre lokálny proxy server (vyžaduje reštart):",
|
||||
"title": "Proxy Hostname"
|
||||
},
|
||||
"port": {
|
||||
"label": "Zadajte port pre lokálny proxy server (vyžaduje reštart):",
|
||||
"title": "Proxy Port"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blur-nav-bar": {
|
||||
"description": "Navigačnú lištu nastaví ako priehľadnú a rozmazanú",
|
||||
"name": "Rozmazať navigačnú lištu"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Obísť overenie veku v hudobnom prehrávači",
|
||||
"name": "Obísť vekové obmedzenia"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Selektor titulkov pre zvukové stopy Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Automatický výber naposledy použitých titulkov",
|
||||
"disable-captions": "Žiadne titulky"
|
||||
},
|
||||
"name": "Selektor titulkov",
|
||||
"prompt": {
|
||||
"selector": {
|
||||
"label": "Aktuálny jazyk titulkov: {{language}}",
|
||||
"none": "Žiadne",
|
||||
"title": "Výber jazyka titulkov"
|
||||
}
|
||||
},
|
||||
"templates": {
|
||||
"title": "Otvoriť selektor titulkov"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Titulky zmenené na {{language}}",
|
||||
"caption-disabled": "Deaktivované titulky",
|
||||
"no-captions": "Pre túto skladbu nie sú dostupné žiadne titulky"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
"description": "Vždy nastaviť bočný panel do kompaktného režimu",
|
||||
"name": "Kompaktný bočný panel"
|
||||
},
|
||||
"crossfade": {
|
||||
"description": "Prelínanie medzi skladbami",
|
||||
"menu": {
|
||||
"advanced": "Pokročilé"
|
||||
},
|
||||
"name": "Prelínanie [Beta]",
|
||||
"prompt": {
|
||||
"options": {
|
||||
"multi-input": {
|
||||
"fade-in-duration": "Trvanie nábehu (ms)",
|
||||
"fade-out-duration": "Trvanie doznievania (ms)",
|
||||
"fade-scaling": {
|
||||
"label": "Škálovanie prelínania",
|
||||
"linear": "Lineárny",
|
||||
"logarithmic": "Logaritmický"
|
||||
},
|
||||
"seconds-before-end": "Prechod N sekúnd pred koncom"
|
||||
},
|
||||
"title": "Možnosti prelínania"
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "Nastavte vlastné výstupné médium pre skladby",
|
||||
"menu": {
|
||||
"device-selector": "Výber Zariadenia"
|
||||
},
|
||||
"name": "Vlastné výstupné zariadenie",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "Vyberte výstupné médium, ktoré chcete použiť",
|
||||
"title": "Výber výstupného zariadenia"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Spustí skladbu v režime „pozastavené“",
|
||||
"menu": {
|
||||
"apply-once": "Platí len pri spustení"
|
||||
},
|
||||
"name": "Zakázať automatické prehrávanie"
|
||||
},
|
||||
"discord": {
|
||||
"backend": {
|
||||
"already-connected": "Pokus o pripojenie s aktívnym pripojením",
|
||||
"connected": "Pripojené k Discordu",
|
||||
"disconnected": "Odpojené od Discordu"
|
||||
},
|
||||
"description": "Ukážte svojim priateľom, čo počúvate, s funkciou Rich Presence",
|
||||
"menu": {
|
||||
"auto-reconnect": "Automatické opätovné pripojenie",
|
||||
"clear-activity": "Zmazať aktivitu",
|
||||
"clear-activity-after-timeout": "Zmazať aktivitu po uplynutí časového limitu",
|
||||
"connected": "Pripojené",
|
||||
"disconnected": "Odpojené",
|
||||
"hide-duration-left": "Skryť zostávajúcu dobu trvania",
|
||||
"hide-github-button": "Skryť tlačidlo s odkazom na GitHub",
|
||||
"play-on-pear-desktop": "Spustiť na Pear Desktop",
|
||||
"set-inactivity-timeout": "Nastaviť časový limit nečinnosti",
|
||||
"set-status-display-type": {
|
||||
"label": "Text stavu",
|
||||
"submenu": {
|
||||
"artist": "Aktuálne si prehráva {artist}",
|
||||
"pear-desktop": "Počúvať Pear Desktop",
|
||||
"title": "Aktuálne si prehráva {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Discord Rich Presence",
|
||||
"prompt": {
|
||||
"set-inactivity-timeout": {
|
||||
"label": "Zadajte časový limit nečinnosti v sekundách:",
|
||||
"title": "Nastaviť časový limit nečinnosti"
|
||||
}
|
||||
}
|
||||
},
|
||||
"downloader": {
|
||||
"backend": {
|
||||
"dialog": {
|
||||
"error": {
|
||||
"buttons": {
|
||||
"ok": "OK"
|
||||
},
|
||||
"message": "Ach! Ospravedlňujeme sa, sťahovanie sa nepodarilo…",
|
||||
"title": "Chyba pri sťahovaní!"
|
||||
},
|
||||
"start-download-playlist": {
|
||||
"buttons": {
|
||||
"ok": "OK"
|
||||
},
|
||||
"detail": "({{playlistSize}} skladieb)",
|
||||
"message": "Sťahovanie zoznamu {{playlistTitle}}",
|
||||
"title": "Sťahovanie začalo"
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"conversion-progress": "Konverzia: {{percent}}%",
|
||||
"converting": "Konvertujem…",
|
||||
"done": "Hotovo: {{filePath}}",
|
||||
"download-info": "Sťahujem {{artist}} - {{title}} [{{videoId}}",
|
||||
"download-progress": "Sťahovanie: {{percent}}%",
|
||||
"downloading": "Sťahujem…",
|
||||
"downloading-counter": "Sťahujem {{current}}/{{total}}…",
|
||||
"downloading-playlist": "Sťahujem zoznam „{{playlistTitle}}“ - {{playlistSize}} skladieb ({{playlistId}})",
|
||||
"error-while-downloading": "Chyba pri sťahovaní „{{author}} - {{title}}“: {{error}}",
|
||||
"folder-already-exists": "Priečinok {{playlistFolder}} už existuje",
|
||||
"getting-playlist-info": "Získavanie informácií o zozname…",
|
||||
"loading": "Načítavam…",
|
||||
"playlist-has-only-one-song": "Zoznam obsahuje len jednu položku, ktorá sa stiahne priamo",
|
||||
"playlist-id-not-found": "Nebolo nájdené žiadne ID zoznamu",
|
||||
"playlist-is-empty": "Zoznam je prázdny",
|
||||
"playlist-is-mix-or-private": "Chyba pri získavaní informácií o zozname: uistite sa, že nejde o súkromný zoznam alebo zoznam „Pre Vás“\n\n{{error}}",
|
||||
"preparing-file": "Pripravujem súbor…",
|
||||
"saving": "Ukladám…",
|
||||
"trying-to-get-playlist-id": "Snažím sa získať ID zoznam: {{playlistId}}",
|
||||
"video-id-not-found": "Video nebolo nájdené",
|
||||
"writing-id3": "Zapisujem ID3 značky…"
|
||||
}
|
||||
},
|
||||
"description": "Sťahuje MP3 / zdrojový zvuk priamo z rozhrania",
|
||||
"menu": {
|
||||
"choose-download-folder": "Vyberte priečinok na sťahovanie",
|
||||
"download-finish-settings": {
|
||||
"label": "Stiahnuť po skončení",
|
||||
"prompt": {
|
||||
"last-percent": "Po x percentách",
|
||||
"last-seconds": "Posledných x sekúnd",
|
||||
"title": "Nastavte, kedy sa má stiahnuť"
|
||||
},
|
||||
"submenu": {
|
||||
"advanced": "Rozšírené",
|
||||
"enabled": "Povolené",
|
||||
"mode": "Časový režim",
|
||||
"percent": "Percento",
|
||||
"seconds": "Sekundy"
|
||||
}
|
||||
},
|
||||
"download-playlist": "Stiahnuť zoznam",
|
||||
"presets": "Predvoľby",
|
||||
"skip-existing": "Preskočiť už existujúce súbory"
|
||||
},
|
||||
"name": "Sťahovač",
|
||||
"renderer": {
|
||||
"can-not-update-progress": "Nie je možné aktualizovať priebeh"
|
||||
},
|
||||
"templates": {
|
||||
"button": "Stiahnuť"
|
||||
}
|
||||
},
|
||||
"equalizer": {
|
||||
"description": "Pridáva ekvalizér do prehrávača",
|
||||
"menu": {
|
||||
"presets": {
|
||||
"label": "Predvoľby",
|
||||
"list": {
|
||||
"bass-booster": "Zosilňovač basov"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Ekvalizér"
|
||||
},
|
||||
"exponential-volume": {
|
||||
"description": "Zmení slider hlasitosti na exponenciálny, aby bolo ľahšie vybrať nižšiu hlasitosť.",
|
||||
"name": "Exponenciálna hlasitosť"
|
||||
},
|
||||
"in-app-menu": {
|
||||
"description": "Dodáva lištám ponúk elegantný, tmavý alebo farebný vzhľad albumu",
|
||||
"menu": {
|
||||
"hide-dom-window-controls": "Skryť ovládacie prvky DOM"
|
||||
},
|
||||
"name": "Aplikačné menu"
|
||||
},
|
||||
"lumiastream": {
|
||||
"description": "Pridáva Lumia Stream podporu",
|
||||
"name": "Lumia Stream [Beta]"
|
||||
},
|
||||
"lyrics-genius": {
|
||||
"description": "Pridáva podporu textov pre väčšinu piesní",
|
||||
"menu": {
|
||||
"romanized-lyrics": "Romanizované texty piesní"
|
||||
},
|
||||
"name": "Texty Genius",
|
||||
"renderer": {
|
||||
"fetched-lyrics": "Načítané texty piesní pre Genius"
|
||||
}
|
||||
},
|
||||
"music-together": {
|
||||
"description": "Zdieľajte zoznam s ostatnými. Keď hostiteľ prehrá skladbu, všetci ostatní budú počuť tú istú skladbu",
|
||||
"dialog": {
|
||||
"enter-host": "Zadajte Host ID"
|
||||
},
|
||||
"internal": {
|
||||
"save": "Uložiť",
|
||||
"track-source": "Sledovať zdroj",
|
||||
"unknown-user": "Neznámy užívateľ"
|
||||
},
|
||||
"menu": {
|
||||
"click-to-copy-id": "Kopírovať Host ID",
|
||||
"close": "Zatvoriť Music Together",
|
||||
"connected-users": "Pripojení užívatelia",
|
||||
"disconnect": "Odpojiť Music Together",
|
||||
"empty-user": "Žiadni pripojení užívatelia",
|
||||
"host": "Music Together Host",
|
||||
"join": "Pripojiť sa k Music Together",
|
||||
"permission": {
|
||||
"all": "Umožniť hosťom ovládať zoznam a prehrávač",
|
||||
"host-only": "Len hostiteľ môže ovládať zoznam skladieb a prehrávač",
|
||||
"playlist": "Umožniť hosťom ovládať zoznam"
|
||||
},
|
||||
"set-permission": "Povolenie na kontrolu zmien",
|
||||
"status": {
|
||||
"disconnected": "Odpojené",
|
||||
"guest": "Pripojený ako hosť",
|
||||
"host": "Pripojený ako hostiteľ"
|
||||
}
|
||||
},
|
||||
"name": "Music Together [Beta]",
|
||||
"toast": {
|
||||
"add-song-failed": "Nepodarilo sa pridať skladbu",
|
||||
"closed": "Music Together ukončené",
|
||||
"disconnected": "Music Together odpojené",
|
||||
"host-failed": "Nepodarilo sa hosťovať Music Together",
|
||||
"id-copied": "Host ID bolo skopírované do schránky",
|
||||
"id-copy-failed": "Nepodarilo sa skopírovať Host ID do schránky",
|
||||
"join-failed": "Nepodarilo sa pripojiť k Music Together",
|
||||
"joined": "Pripojený k Music Together",
|
||||
"permission-changed": "Povolenie Music Together zmenené na „{{permission}}“",
|
||||
"remove-song-failed": "Nepodarilo sa odstrániť skladbu",
|
||||
"user-connected": "{{name}} sa pripojil k Music Together",
|
||||
"user-disconnected": "{{name}} opustil Music Together"
|
||||
}
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Šípky pre navigáciu vpred/vzad sú priamo integrované do rozhrania, rovnako ako vo vašom obľúbenom prehliadači",
|
||||
"name": "Navigácia",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Prejsť na predchádzajúcu stránku"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Prejsť na nasledujúcu stránku"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Odstrániť tlačidlá a odkazy na prihlásenie do služby Google z rozhrania",
|
||||
"name": "Žiadne prihlásenie do Google"
|
||||
},
|
||||
"notifications": {
|
||||
"description": "Zobraziť upozornenie pri spustení prehrávania skladby (interaktívne upozornenia sú k dispozícii v systéme Windows)",
|
||||
"menu": {
|
||||
"interactive": "Interaktívne oznámenia",
|
||||
"interactive-settings": {
|
||||
"label": "Interaktívne nastavenia",
|
||||
"submenu": {
|
||||
"hide-button-text": "Skryť text tlačidla",
|
||||
"refresh-on-play-pause": "Obnoviť pri prehrávaní/pozastavení",
|
||||
"tray-controls": "Otvoriť/Zatvoriť kliknutím na lištu"
|
||||
}
|
||||
},
|
||||
"priority": "Priorita oznámenia",
|
||||
"toast-style": "Štýl toastu",
|
||||
"unpause-notification": "Zobraziť upozornenie pri obnovení"
|
||||
},
|
||||
"name": "Upozornenia"
|
||||
},
|
||||
"performance-improvement": {
|
||||
"description": "Zlepšite výkon povolením experimentálnych skriptov",
|
||||
"name": "Zlepšenie výkonu [Beta]"
|
||||
},
|
||||
"picture-in-picture": {
|
||||
"description": "Umožňuje prepnúť aplikáciu do režimu obraz v obraze",
|
||||
"menu": {
|
||||
"always-on-top": "Vždy na vrchu",
|
||||
"hotkey": {
|
||||
"label": "Klávesová skratka",
|
||||
"prompt": {
|
||||
"keybind-options": {
|
||||
"hotkey": "Klávesová skratka"
|
||||
},
|
||||
"label": "Vyberte klávesovú skratku pre prepínanie obraz v obraze",
|
||||
"title": "Obraz v obraze klávesová skratka"
|
||||
}
|
||||
},
|
||||
"save-window-position": "Uložiť pozíciu okna",
|
||||
"save-window-size": "Uložiť veľkosť okna",
|
||||
"use-native-pip": "Použiť natívne PiP prehliadača"
|
||||
},
|
||||
"name": "Obraz v obraze",
|
||||
"templates": {
|
||||
"button": "Obraz v obraze"
|
||||
}
|
||||
},
|
||||
"playback-speed": {
|
||||
"description": "Počúvajte rýchlo, počúvajte pomaly! Pridáva slider, ktorý ovláda rýchlosť skladby",
|
||||
"name": "Rýchlosť prehrávania",
|
||||
"templates": {
|
||||
"button": "Rýchlosť"
|
||||
}
|
||||
},
|
||||
"precise-volume": {
|
||||
"description": "Presne ovládajte hlasitosť pomocou kolieska myši/klávesových skratiek, s vlastným HUD a prispôsobiteľnými krokmi hlasitosti",
|
||||
"menu": {
|
||||
"arrows-shortcuts": "Ovládanie pomocou šípok",
|
||||
"custom-volume-steps": "Nastavenie vlastných krokov hlasitosti",
|
||||
"global-shortcuts": "Globálne klávesové skratky"
|
||||
},
|
||||
"name": "Presná hlasitosť",
|
||||
"prompt": {
|
||||
"global-shortcuts": {
|
||||
"keybind-options": {
|
||||
"decrease": "Znížiť hlasitosť",
|
||||
"increase": "Zvýšiť hlasitosť"
|
||||
},
|
||||
"label": "Vybrať globálne klávesové skratky:",
|
||||
"title": "Globálne klávesové skratky pre hlasitosť"
|
||||
},
|
||||
"volume-steps": {
|
||||
"label": "Vybrať kroky zvýšenia/zníženia hlasitosti",
|
||||
"title": "Kroky hlasitosti"
|
||||
}
|
||||
}
|
||||
},
|
||||
"quality-changer": {
|
||||
"backend": {
|
||||
"dialog": {
|
||||
"quality-changer": {
|
||||
"detail": "Aktuálna kvalita: {{quality}}",
|
||||
"message": "Výber kvality videa:",
|
||||
"title": "Výber kvality videa"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Umožňuje zmeniť kvalitu videa pomocou tlačidla v prekrytí videa",
|
||||
"name": "Zmena kvality videa",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Otvoriť nastavenia kvality prehrávača"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Pridať podporu scrobbling (napr. last.fm, Listenbrainz)",
|
||||
"dialog": {
|
||||
"lastfm": {
|
||||
"auth-failed": {
|
||||
"message": "Nepodarilo sa autentifikovať s Last.fm\nSkryť vyskakovacie okno do ďalšieho reštartu.",
|
||||
"title": "Autentifikácia zlyhala"
|
||||
}
|
||||
}
|
||||
},
|
||||
"menu": {
|
||||
"lastfm": {
|
||||
"api-settings": "Last.fm API Nastavenia"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": "Vložiť ListenBrainz používateľský token"
|
||||
},
|
||||
"scrobble-alternative-artist": "Použiť alternatívnych umelcov",
|
||||
"scrobble-alternative-title": "Použiť alternatívne názvy",
|
||||
"scrobble-other-media": "Scrobble iných médií"
|
||||
},
|
||||
"name": "Scrobbler",
|
||||
"prompt": {
|
||||
"lastfm": {
|
||||
"api-key": "Last.fm API kľúč",
|
||||
"api-secret": "Last.fm API tajomstvo"
|
||||
},
|
||||
"listenbrainz": {
|
||||
"token": {
|
||||
"label": "Vlož svoj ListenBrainz používateľský token:",
|
||||
"title": "ListenBrainz token"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shortcuts": {
|
||||
"description": "Povoľuje nastaviť globálne klávesové skratky pre prehrávanie (Prehrať/Pozastaviť/Ďalšie/Predošlé) a vypínať media OSD prepisovaním media kľúčov, zapne Ctrl/CMD + F pre vyhľadávanie, zapne Linux MPRIS podporu pre media kľúče a vlastné klávesové skratky pre pokročilých používateľov.",
|
||||
"menu": {
|
||||
"override-media-keys": "Prepísať Media Kľúče",
|
||||
"set-keybinds": "Globálne ovládanie skladieb"
|
||||
},
|
||||
"name": "Skratky (& MPRIS)",
|
||||
"prompt": {
|
||||
"keybind": {
|
||||
"keybind-options": {
|
||||
"next": "Ďalšia",
|
||||
"play-pause": "Prehrať / Pauza",
|
||||
"previous": "Predošlá"
|
||||
},
|
||||
"label": "Zvoliť globálne klávesové skratky na ovládanie skladieb:",
|
||||
"title": "Globálne klávesové skratky"
|
||||
}
|
||||
}
|
||||
},
|
||||
"skip-disliked-songs": {
|
||||
"description": "Preskakuje skladby označené Nepáči sa",
|
||||
"name": "Preskakovať skladby označené Nepáči sa"
|
||||
},
|
||||
"skip-silences": {
|
||||
"description": "Automaticky preskakovať tiché časti v hudbe",
|
||||
"name": "Preskakuj tiché časti"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"description": "Automaticky preskakuje nehudbné časti ako intro/outro, alebo tie časti videoklipov v ktorých nehrá hudba",
|
||||
"name": "Sponzorský blok"
|
||||
},
|
||||
"synced-lyrics": {
|
||||
"description": "Poskytuje synchronizované texty k skladbám, pričom používa poskytovateľov ako LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️\t\tPri získavaní textu sa vyskytla chyba. \n\tSkúste znova neskôr.",
|
||||
"not-found": "⚠️Pre túto skladbu nebol nájdený žiadny text."
|
||||
},
|
||||
"menu": {
|
||||
"line-effect": {
|
||||
"submenu": {
|
||||
"offset": {
|
||||
"label": "Offset"
|
||||
}
|
||||
}
|
||||
},
|
||||
"precise-timing": {
|
||||
"label": "Dokonale synchronizovať text piesne"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "Preferovaný Poskytovateľ",
|
||||
"none": {
|
||||
"label": "Žiadne",
|
||||
"tooltip": "Žiadny preferovaný poskytovateľ"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"touchbar": {
|
||||
"name": "Dotykový Panel"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "Nastaví okno aplikácie ako priehľadné"
|
||||
},
|
||||
"video-toggle": {
|
||||
"menu": {
|
||||
"align": {
|
||||
"submenu": {
|
||||
"left": "Vľavo",
|
||||
"middle": "Stred",
|
||||
"right": "Vpravo"
|
||||
}
|
||||
},
|
||||
"mode": {
|
||||
"submenu": {
|
||||
"disabled": "Vypnuté",
|
||||
"native": "Natívny prepínač"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Prepínač Videa",
|
||||
"templates": {
|
||||
"button-song": "Skladba",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
"description": "Pridá do prehrávača vizualizér",
|
||||
"menu": {
|
||||
"visualizer-type": "Typ Vizualizéra"
|
||||
},
|
||||
"name": "Vizualizér"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,8 +201,8 @@
|
||||
"restart": "Ponovni zagon",
|
||||
"show": "Pokaži okno",
|
||||
"tooltip": {
|
||||
"default": "YouTube Glasba",
|
||||
"with-song-info": "YouTube Glasba: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -335,7 +335,7 @@
|
||||
"name": "Preskoči starostno omejitev"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Izberi podnapise za YouTube Music zvočne posnetke",
|
||||
"description": "Izberi podnapise za Pear Desktop zvočne posnetke",
|
||||
"menu": {
|
||||
"autoload": "Avtomatsko uporabi zadnje izbrane podnapise",
|
||||
"disable-captions": "Avtomatsko brez podnapisov"
|
||||
@ -400,7 +400,7 @@
|
||||
"disconnected": "Prekinjena povezava",
|
||||
"hide-duration-left": "Skrij preostali čas",
|
||||
"hide-github-button": "Skrij povezavo do GitHub-a",
|
||||
"play-on-youtube-music": "Predvajaj v YouTube Music",
|
||||
"play-on-pear-desktop": "Predvajaj v Pear Desktop",
|
||||
"set-inactivity-timeout": "Nastavite časovno omejitev neaktivnosti"
|
||||
},
|
||||
"name": "Discord bogata prisotnost (Rich Presence)",
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Prilagođeni naziv prozora",
|
||||
"prompt": {
|
||||
"label": "Unesite prilagođeni naslov prozora: (ostavite prazno da onemogućite)",
|
||||
"placeholder": "Primer: YouTube Muzika"
|
||||
"placeholder": "Primer: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Ponovo pokreni aplikaciju",
|
||||
"show": "Prikaži prozor",
|
||||
"tooltip": {
|
||||
"default": "YouTube Muzika",
|
||||
"with-song-info": "YouTube Muzika: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambijentalni režim"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Dodaje podršku za 'Amuse now' vidžet (6K Labs) u YouTube Muziku",
|
||||
"description": "Dodaje podršku za 'Amuse now' vidžet (6K Labs) u Pear Desktop",
|
||||
"name": "Zabavi",
|
||||
"response": {
|
||||
"query": "Amuse API server je pokrenut. Koristite GET /query da biste dobili informacije o numeri."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Zamuti navigacioni meni"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Preskoči starosnu verifikaciju za YouTube",
|
||||
"description": "Preskoči starosnu verifikaciju za Music Player",
|
||||
"name": "Preskoči starosna ograničenja"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Odabir prevoda za numere/audio trake na YouTube Muzici",
|
||||
"description": "Odabir prevoda za numere/audio trake na Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Automatski odaberi prethodno odabrani prevod",
|
||||
"disable-captions": "Podrazumevano bez prevoda"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Nije povezano",
|
||||
"hide-duration-left": "Sakrij preostalo vreme",
|
||||
"hide-github-button": "Sakrij dugme sa GitHub linkom",
|
||||
"play-on-youtube-music": "Reprodukuj na YouTube Muzici",
|
||||
"play-on-pear-desktop": "Reprodukuj na Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Slušanje Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Anpassad titel på fönstret",
|
||||
"prompt": {
|
||||
"label": "Ange anpassad fönstertitel: (lämna tomt för att inaktivera)",
|
||||
"placeholder": "Exempelvis: YouTube Music"
|
||||
"placeholder": "Exempelvis: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Starta om appen",
|
||||
"show": "Visa fönster",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} – {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} – {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambiensläge"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Lägger till stöd för YouTube Music i Amuse ‘Now Playing’-widgeten av 6K Labs",
|
||||
"description": "Lägger till stöd för Pear Desktop i Amuse ‘Now Playing’-widgeten av 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API-servern körs. Använd GET /query för att hämta information om låt."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Suddigt Navigeringsfält"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Hoppa över YouTubes åldersverifiering",
|
||||
"description": "Hoppa över Music Player åldersverifiering",
|
||||
"name": "Hoppa Över Åldersbegränsningar"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Välj textning för YouTube Music-ljudspår",
|
||||
"description": "Välj textning för Pear Desktop-ljudspår",
|
||||
"menu": {
|
||||
"autoload": "Välj automatiskt senast använda textning",
|
||||
"disable-captions": "Ingen textning som standard"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Frånkopplad",
|
||||
"hide-duration-left": "Dölj återstående tid",
|
||||
"hide-github-button": "Dölj knapp för GitHub-länk",
|
||||
"play-on-youtube-music": "Spela på YouTube Music",
|
||||
"play-on-pear-desktop": "Spela på Pear Desktop",
|
||||
"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"
|
||||
"pear-desktop": "Lyssnar på Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "தனிப்பயன் சாளர தலைப்பு",
|
||||
"prompt": {
|
||||
"label": "தனிப்பயன் சாளர தலைப்பை உள்ளிடவும்: (முடக்க காலியாக விடவும்)",
|
||||
"placeholder": "எடுத்துக்காட்டு: YouTube இசை"
|
||||
"placeholder": "எடுத்துக்காட்டு: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -209,7 +209,7 @@
|
||||
"show": "சாளரத்தைக் காட்டு",
|
||||
"tooltip": {
|
||||
"default": "யூடியூப் இசை",
|
||||
"with-song-info": "YouTube இசை: {{artist}} - {{title}}"
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "சுற்றுப்புற முறை"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "6K ஆய்வகங்களால் இப்போது விட்செட்டில் விளையாடும் Amuse க்கு YouTube இசை ஆதரவை சேர்க்கிறது",
|
||||
"description": "6K ஆய்வகங்களால் இப்போது விட்செட்டில் விளையாடும் Amuse க்கு Music Player இசை ஆதரவை சேர்க்கிறது",
|
||||
"name": "பொழுதுபோக்கு",
|
||||
"response": {
|
||||
"query": "பநிஇ சேவையகம் இயங்குகிறது. பாடல் தகவலைப் பெற /வினவல்."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "மங்கலான வழிசெலுத்தல் பட்டி"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "YouTube அகவை சரிபார்ப்பு பைபாச்",
|
||||
"description": "Music Player அகவை சரிபார்ப்பு பைபாச்",
|
||||
"name": "அகவை கட்டுப்பாடுகள் பைபாச்"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube இசை ஆடியோ டிராக்குகளுக்கான தலைப்பு தேர்வாளர்",
|
||||
"description": "Pear Desktop இசை ஆடியோ டிராக்குகளுக்கான தலைப்பு தேர்வாளர்",
|
||||
"menu": {
|
||||
"autoload": "கடைசியாக பயன்படுத்தப்பட்ட தலைப்பை தானாகத் தேர்ந்தெடுக்கவும்",
|
||||
"disable-captions": "முன்னிருப்பாக தலைப்புகள் இல்லை"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "துண்டிக்கப்பட்டது",
|
||||
"hide-duration-left": "காலம் மீதமுள்ளதை மறைக்கவும்",
|
||||
"hide-github-button": "அறிவிலிமையம் இணைப்பு பொத்தானை மறைக்கவும்",
|
||||
"play-on-youtube-music": "யூடியூப் இசையில் விளையாடுங்கள்",
|
||||
"play-on-pear-desktop": "யூடியூப் இசையில் விளையாடுங்கள்",
|
||||
"set-inactivity-timeout": "செயலற்ற நேரம் முடிந்தது",
|
||||
"set-status-display-type": {
|
||||
"label": "நிலை உரை",
|
||||
"submenu": {
|
||||
"artist": "{கலைஞர்} பாடலைக் கேட்கிறேன்",
|
||||
"title": "பாடலைக் கேட்கிறேன்{பாடல் தலைப்பு}",
|
||||
"youtube-music": "வலையொளி இசையில் கேட்கிறது"
|
||||
"pear-desktop": "வலையொளி இசையில் கேட்கிறது",
|
||||
"title": "பாடலைக் கேட்கிறேன்{பாடல் தலைப்பு}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "ชื่อหน้าต่างกำหนดเอง",
|
||||
"prompt": {
|
||||
"label": "กำหนดชื่อหน้าต่างที่ต้องการ: (ปล่อยว่างเพื่อปิดใช้งาน)",
|
||||
"placeholder": "ตัวอย่าง: Youtube Music"
|
||||
"placeholder": "ตัวอย่าง: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "รีสตาร์ตแอป",
|
||||
"show": "แสดงหน้าต่าง",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "โหมดสภาพแวดล้อม"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "เพิ่มการรองรับ Youtube Music สำหรับ Widget Amuse Now Playing ของ 6K Labs",
|
||||
"description": "เพิ่มการรองรับ Pear Desktop สำหรับ Widget Amuse Now Playing ของ 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "API Server ของ Amuse ทำงานอยู่ ส่ง GET ไปที่ /query เพื่อขอข้อมูลเกี่ยวกับเพลง"
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "เบลอแถบนำทาง"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "ข้ามการตรวจสอบอายุของ YouTube",
|
||||
"description": "ข้ามการตรวจสอบอายุของ Music Player",
|
||||
"name": "ข้ามข้อจำกัดอายุ"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "ตัวเลือกคำบรรยายสำหรับเพลงใน YouTube Music",
|
||||
"description": "ตัวเลือกคำบรรยายสำหรับเพลงใน Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "เลือกคำบรรยายที่ใช้ครั้งล่าสุดโดยอัตโนมัติ",
|
||||
"disable-captions": "ไม่มีคำบรรยายเป็นค่าเริ่มต้น"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "ตัดการเชื่อมต่อ",
|
||||
"hide-duration-left": "ซ่อนระยะเวลาที่เหลือ",
|
||||
"hide-github-button": "ซ่อนปุ่มลิงก์ GitHub",
|
||||
"play-on-youtube-music": "เล่นบน YouTube Music",
|
||||
"play-on-pear-desktop": "เล่นบน Pear Desktop",
|
||||
"set-inactivity-timeout": "ตั้งระยะเวลาไม่มีกิจกรรม",
|
||||
"set-status-display-type": {
|
||||
"label": "ข้อความสถานะ",
|
||||
"submenu": {
|
||||
"artist": "กำลังฟัง {ชื่อนักร้อง}",
|
||||
"title": "กำลังฟัง {ชื่อเพลง}",
|
||||
"youtube-music": "กำลังฟัง YouTube Music"
|
||||
"pear-desktop": "กำลังฟัง Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Özel pencere başlığı",
|
||||
"prompt": {
|
||||
"label": "Özel pencere başlığı girin: (devre dışı bırakmak için boş bırakın)",
|
||||
"placeholder": "Örnek: Youtube Music"
|
||||
"placeholder": "Örnek: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Yeniden başlat",
|
||||
"show": "Pencereyi görüntüle",
|
||||
"tooltip": {
|
||||
"default": "YouTube Müzik",
|
||||
"with-song-info": "YouTube Müzik: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Ambiyans Modu"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "6K Labs'ın Amuse oynatma widget'ı için YouTube Music desteği ekler",
|
||||
"description": "6K Labs'ın Amuse oynatma widget'ı için Pear Desktop desteği ekler",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API sunucusu çalışıyor. Şarkı bilgilerini almak için GET /query kullanabilirsiniz."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Navigasyon barını bulanıklaştır"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "YouTube yaş doğrulamasını atla",
|
||||
"description": "Music Player yaş doğrulamasını atla",
|
||||
"name": "Yaş doğrulamasını atla"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Music için altyazı seçici",
|
||||
"description": "Pear Desktop için altyazı seçici",
|
||||
"menu": {
|
||||
"autoload": "Son kullanılan altyazıyı otomatik olarak seç",
|
||||
"disable-captions": "Varsayılan olarak altyazı yok"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Bağlantı kesildi",
|
||||
"hide-duration-left": "Kalan süreyi gizle",
|
||||
"hide-github-button": "GitHub bağlantısını gizle",
|
||||
"play-on-youtube-music": "YouTube Music de oynat",
|
||||
"play-on-pear-desktop": "Pear Desktop de oynat",
|
||||
"set-inactivity-timeout": "Hareketsizlik zaman aşımını ayarla",
|
||||
"set-status-display-type": {
|
||||
"label": "Durum metni",
|
||||
"submenu": {
|
||||
"artist": "{artist} Dinleniyor",
|
||||
"title": "{song title} Dinleniyor",
|
||||
"youtube-music": "YouTube Müzik Dinleniyor"
|
||||
"pear-desktop": "Pear Desktop Dinleniyor"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "Візуальні налаштування",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "Налаштування заголовка вікна",
|
||||
"prompt": {
|
||||
"label": "Введіть власний заголовок вікна: (залиште порожнім, щоб вимкнути)",
|
||||
"placeholder": "Приклад: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "За замовчуванням",
|
||||
"force-show": "Завжди показувати",
|
||||
@ -201,8 +208,8 @@
|
||||
"restart": "Перезапустити програму",
|
||||
"show": "Показати вікно",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -280,7 +287,7 @@
|
||||
"name": "Режим навколишнього середовища"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Додає підтримку YouTube Music для віджета Amuse now playing від 6K Labs",
|
||||
"description": "Додає підтримку Pear Desktop для віджета Amuse now playing від 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Сервер Amuse API запущено. Запит GET /query для отримання інформації про пісню."
|
||||
@ -362,11 +369,11 @@
|
||||
"name": "Розмиття панелі навігації"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Обхід перевірки віку на YouTube",
|
||||
"description": "Обхід перевірки віку на Music Player",
|
||||
"name": "Обхід вікових обмежень"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Вибір субтитрів для аудіодоріжок YouTube Music",
|
||||
"description": "Вибір субтитрів для аудіодоріжок Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Автоматичний вибір останніх використаних субтитрів",
|
||||
"disable-captions": "За замовчуванням субтитри відсутні"
|
||||
@ -381,6 +388,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Відкрити селектор субтитрів"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Субтитри змінені на {{language}}",
|
||||
"caption-disabled": "Субтитри відключені",
|
||||
"no-captions": "Субтитри не доступні для цієї пісні"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -409,6 +421,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"custom-output-device": {
|
||||
"description": "Налаштування власного пристрою для відтворення пісень",
|
||||
"menu": {
|
||||
"device-selector": "Обрати пристрій"
|
||||
},
|
||||
"name": "Спеціальний пристрій виводу",
|
||||
"prompt": {
|
||||
"device-selector": {
|
||||
"label": "Оберіть пристрій для виводу медіа",
|
||||
"title": "Оберіть пристрій виводу"
|
||||
}
|
||||
}
|
||||
},
|
||||
"disable-autoplay": {
|
||||
"description": "Запуск пісні в режимі \"пауза\"",
|
||||
"menu": {
|
||||
@ -431,8 +456,16 @@
|
||||
"disconnected": "Від'єднано",
|
||||
"hide-duration-left": "Приховати тривалість, яка залишилася",
|
||||
"hide-github-button": "Приховати посилання на GitHub",
|
||||
"play-on-youtube-music": "Слухати на YouTube Music",
|
||||
"set-inactivity-timeout": "Встановити тайм-аут бездіяльності"
|
||||
"play-on-pear-desktop": "Слухати на Pear Desktop",
|
||||
"set-inactivity-timeout": "Встановити тайм-аут бездіяльності",
|
||||
"set-status-display-type": {
|
||||
"label": "Статус",
|
||||
"submenu": {
|
||||
"artist": "Ви слухаєте {artist}",
|
||||
"pear-desktop": "Відтворення з Pear Desktop",
|
||||
"title": "Ви слухаєте {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Активність Discord",
|
||||
"prompt": {
|
||||
@ -600,7 +633,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Стрілки навігації Вперед/Назад безпосередньо інтегровані в інтерфейс, як у вашому браузері, який ви використовуєте",
|
||||
"name": "Навігація"
|
||||
"name": "Навігація",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Перейти на минулу сторінку"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Перейти на наступну сторінку"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Видалити кнопки та посилання для входу через Google з інтерфейсу",
|
||||
@ -692,7 +733,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Дозволяє змінювати якість відео за допомогою кнопки на відео оверлеї",
|
||||
"name": "Зміна якості відео"
|
||||
"name": "Зміна якості відео",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Відкрити налаштування якості плеєру"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Додає підтримку скроблінгу (last.fm, Listenbrainz тощо)",
|
||||
@ -711,6 +757,7 @@
|
||||
"listenbrainz": {
|
||||
"token": "Ввести токен користувача ListenBrainz"
|
||||
},
|
||||
"scrobble-alternative-artist": "Використати іншого виконавця",
|
||||
"scrobble-alternative-title": "Використовувати альтернативні назви",
|
||||
"scrobble-other-media": "Скробилити інші медіа"
|
||||
},
|
||||
@ -762,7 +809,7 @@
|
||||
"synced-lyrics": {
|
||||
"description": "Додає синхронізовані тексти до пісень використовуючи провайдери, такі як LRClib.",
|
||||
"errors": {
|
||||
"fetch": "⚠️ - При завантаженні слів пісні сталась помилка. Спробуйте пізніше.",
|
||||
"fetch": "⚠️ - При завантаженні слів пісні сталась помилка.\nСпробуйте будь ласка пізніше.",
|
||||
"not-found": "⚠️ До цієї пісні текст не знайдено."
|
||||
},
|
||||
"menu": {
|
||||
@ -796,6 +843,14 @@
|
||||
"label": "Зробити текст пісні ідеально синхронізованим",
|
||||
"tooltip": "Обчисли до мілісекунд відображення наступного рядка (може мати невеликий вплив на продуктивність)"
|
||||
},
|
||||
"preferred-provider": {
|
||||
"label": "Пріорітетний Провайдер",
|
||||
"none": {
|
||||
"label": "Жоден",
|
||||
"tooltip": "Нема провайдера за замовчуванням"
|
||||
},
|
||||
"tooltip": "Оберіть якого провайдера використовувати за замовчуванням"
|
||||
},
|
||||
"romanization": {
|
||||
"label": "Транслітерувати текст пісень",
|
||||
"tooltip": "Якщо текст пісні іншою мовою, спробувати його відобразити латинською версією."
|
||||
@ -828,6 +883,27 @@
|
||||
"description": "Додає віджет TouchBar для користувачів macOS",
|
||||
"name": "TouchBar"
|
||||
},
|
||||
"transparent-player": {
|
||||
"description": "Зробити вікно програми прозорим",
|
||||
"menu": {
|
||||
"opacity": {
|
||||
"label": "Прозорість",
|
||||
"submenu": {
|
||||
"percent": "{{opacity}}%"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"label": "Тип",
|
||||
"submenu": {
|
||||
"acrylic": "Акриловий",
|
||||
"mica": "Міка",
|
||||
"none": "Жоден",
|
||||
"tabbed": "З роздільниками"
|
||||
}
|
||||
}
|
||||
},
|
||||
"name": "Прозорий Плеєр"
|
||||
},
|
||||
"tuna-obs": {
|
||||
"description": "Інтеграція з плагіном Tuna для OBS",
|
||||
"name": "Tuna OBS"
|
||||
@ -859,7 +935,8 @@
|
||||
},
|
||||
"name": "Перемикач відео",
|
||||
"templates": {
|
||||
"button-song": "Пісня"
|
||||
"button-song": "Пісня",
|
||||
"button-video": "Відео"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -150,6 +150,13 @@
|
||||
"visual-tweaks": {
|
||||
"label": "بصری تبدیلیاں",
|
||||
"submenu": {
|
||||
"custom-window-title": {
|
||||
"label": "اپنی مرضی کا ونڈو عنوان",
|
||||
"prompt": {
|
||||
"label": "اپنی مرضی کا ونڈو عنوان درج کریں: (بند کرنے کے لیے خالی چھوڑ دیں)",
|
||||
"placeholder": "مثال: پیئر ڈیسک ٹاپ"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
"default": "پہلے سے طے شدہ",
|
||||
"force-show": "زبردستی دکھائیں",
|
||||
@ -198,7 +205,24 @@
|
||||
"play-pause": "چلائیں/روکیں",
|
||||
"previous": "پچھلا",
|
||||
"quit": "باہر نکلیں",
|
||||
"restart": "ایپ دوبارہ شروع کریں"
|
||||
"restart": "ایپ دوبارہ شروع کریں",
|
||||
"show": "ونڈو دکھائیں",
|
||||
"tooltip": {
|
||||
"default": "پیئر ڈیسک ٹاپ"
|
||||
}
|
||||
}
|
||||
},
|
||||
"plugins": {
|
||||
"ad-speedup": {
|
||||
"description": "اگر کوئی اشتہار چلے تو آواز بند کرکے پلے بیک کی رفتار 16 گناہ کردیں",
|
||||
"name": "اشتہار کی رفتار"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "شروغ سے تمام اشتہارات اور ٹریکنگ بلاک کردیں",
|
||||
"menu": {
|
||||
"blocker": "بلاکر"
|
||||
},
|
||||
"name": "ایڈ بلاکر"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "Tiêu đề cửa sổ tùy chỉnh",
|
||||
"prompt": {
|
||||
"label": "Nhập tiêu đề cửa sổ tùy chỉnh: (để trống để vô hiệu hóa)",
|
||||
"placeholder": "Ví dụ: Youtube Music"
|
||||
"placeholder": "Ví dụ: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "Khởi động lại ứng dụng",
|
||||
"show": "Hiện cửa sổ",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{title}} - {{artist}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{title}} - {{artist}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "Chế độ Môi trường xung quanh"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "Thêm hỗ trợ YouTube Music cho tiện ích hiển thị bài hát đang phát Amuse của 6K Labs",
|
||||
"description": "Thêm hỗ trợ Pear Desktop cho tiện ích hiển thị bài hát đang phát Amuse của 6K Labs",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Máy chủ API của Amuse đang chạy. GET /query để lấy thông tin về bài hát."
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "Làm mờ thanh điều hướng"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "Bỏ qua xác minh độ tuổi của YouTube",
|
||||
"description": "Bỏ qua xác minh độ tuổi của Music Player",
|
||||
"name": "Bỏ qua hạn chế độ tuổi"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Bộ lựa chọn phụ đề cho các bài hát trên Youtube Music",
|
||||
"description": "Bộ lựa chọn phụ đề cho các bài hát trên Pear Desktop",
|
||||
"menu": {
|
||||
"autoload": "Tự động chọn phụ đề vừa sử dụng",
|
||||
"disable-captions": "Không có phụ đề làm mặc định"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "Đã ngắt kết nối",
|
||||
"hide-duration-left": "Ẩn thời lượng còn lại",
|
||||
"hide-github-button": "Ẩn nút liên kết GitHub",
|
||||
"play-on-youtube-music": "Phát trong Youtube Music",
|
||||
"play-on-pear-desktop": "Phát trong Pear Desktop",
|
||||
"set-inactivity-timeout": "Đặt thời gian chờ không hoạt động",
|
||||
"set-status-display-type": {
|
||||
"label": "Văn bản trạng thái",
|
||||
"submenu": {
|
||||
"artist": "Đang nghe nhạc của {artist}",
|
||||
"title": "Đang nghe nhạc {song title}",
|
||||
"youtube-music": "Đang nghe Youtube Music"
|
||||
"pear-desktop": "Đang nghe Pear Desktop"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "自定义窗口标题",
|
||||
"prompt": {
|
||||
"label": "输入自定义窗口标题:(留空表示停用)",
|
||||
"placeholder": "示例:YouTube Music"
|
||||
"placeholder": "示例:Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "重启应用",
|
||||
"show": "显示窗口",
|
||||
"tooltip": {
|
||||
"default": "YouTube Music",
|
||||
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -237,7 +237,8 @@
|
||||
"submenu": {
|
||||
"percent": "{{ratio}}%"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enable-seekbar": "启用进度条主题"
|
||||
},
|
||||
"name": "专辑配色主题"
|
||||
},
|
||||
@ -287,7 +288,7 @@
|
||||
"name": "沉浸模式"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "为 6K Labs 的 Amuse 正在播放小部件添加 YouTube Music 支持",
|
||||
"description": "为 6K Labs 的 Amuse 正在播放小部件添加 Pear Desktop 支持",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API服务器已在运行。使用 /query 以获取歌曲信息。"
|
||||
@ -369,11 +370,11 @@
|
||||
"name": "模糊导航栏"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "绕过 YouTube 年龄验证",
|
||||
"description": "绕过 Music Player 年龄验证",
|
||||
"name": "绕过年龄验证"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "YouTube Music 音轨字幕选择器",
|
||||
"description": "Pear Desktop 音轨字幕选择器",
|
||||
"menu": {
|
||||
"autoload": "自动选择上次使用的字幕",
|
||||
"disable-captions": "默认无字幕"
|
||||
@ -456,14 +457,14 @@
|
||||
"disconnected": "已断开连接",
|
||||
"hide-duration-left": "隐藏剩余时长",
|
||||
"hide-github-button": "隐藏 GitHub 链接按钮",
|
||||
"play-on-youtube-music": "转至 YouTube Music 播放",
|
||||
"play-on-pear-desktop": "转至 Pear Desktop 播放",
|
||||
"set-inactivity-timeout": "设置非活跃时长",
|
||||
"set-status-display-type": {
|
||||
"label": "状态文本",
|
||||
"submenu": {
|
||||
"artist": "在听 {artist}",
|
||||
"title": "在听 {song title}",
|
||||
"youtube-music": "在听 YouTube Music"
|
||||
"pear-desktop": "在听 Pear Desktop",
|
||||
"title": "在听 {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -154,7 +154,7 @@
|
||||
"label": "自訂窗口標題",
|
||||
"prompt": {
|
||||
"label": "輸入自訂視窗標題: (留空將其停用)",
|
||||
"placeholder": "例如: YouTube 音樂"
|
||||
"placeholder": "例如: Pear Desktop"
|
||||
}
|
||||
},
|
||||
"like-buttons": {
|
||||
@ -208,8 +208,8 @@
|
||||
"restart": "重新啟動應用程式",
|
||||
"show": "顯示視窗",
|
||||
"tooltip": {
|
||||
"default": "YouTube 音樂",
|
||||
"with-song-info": "YouTube 音樂: {{artist}} - {{title}}"
|
||||
"default": "Pear Desktop",
|
||||
"with-song-info": "Pear Desktop: {{artist}} - {{title}}"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -287,7 +287,7 @@
|
||||
"name": "微光效果"
|
||||
},
|
||||
"amuse": {
|
||||
"description": "加入支援 6K Labs 的 Amuse OBS 外掛以取得 YouTube Music 現正播放資訊",
|
||||
"description": "加入支援 6K Labs 的 Amuse OBS 外掛以取得 Pear Desktop 現正播放資訊",
|
||||
"name": "Amuse",
|
||||
"response": {
|
||||
"query": "Amuse API 伺服器正在運作中,使用 /query 以取得歌曲資訊。"
|
||||
@ -369,11 +369,11 @@
|
||||
"name": "模糊導覽列"
|
||||
},
|
||||
"bypass-age-restrictions": {
|
||||
"description": "繞過 YouTube 年齡驗證",
|
||||
"description": "繞過年齡驗證",
|
||||
"name": "繞過年齡驗證"
|
||||
},
|
||||
"captions-selector": {
|
||||
"description": "Youtube Music 音軌字幕選項",
|
||||
"description": "Pear Desktop 音軌字幕選項",
|
||||
"menu": {
|
||||
"autoload": "自動選擇上次使用的字幕",
|
||||
"disable-captions": "預設無字幕"
|
||||
@ -456,14 +456,14 @@
|
||||
"disconnected": "已斷開連線",
|
||||
"hide-duration-left": "隱藏音樂剩餘時間狀態",
|
||||
"hide-github-button": "隱藏 GitHub 頁面按鈕",
|
||||
"play-on-youtube-music": "顯示 Play on YouTube Music 按鈕",
|
||||
"play-on-pear-desktop": "顯示 Play on Pear Desktop 按鈕",
|
||||
"set-inactivity-timeout": "設定閒置狀態時長",
|
||||
"set-status-display-type": {
|
||||
"label": "狀態樣式",
|
||||
"submenu": {
|
||||
"artist": "正在聆聽 {artist} 的歌曲",
|
||||
"title": "正在聆聽 {song title}",
|
||||
"youtube-music": "正在聆聽 YouTube Music"
|
||||
"pear-desktop": "正在聆聽 Pear Desktop",
|
||||
"title": "正在聆聽 {song title}"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
within the `createMainWindow` function.
|
||||
|
||||
Archived link for reference:
|
||||
https://github.com/th-ch/youtube-music/blob/a3104fda4b0d58b076d0c737111636a66e468acc/src/index.ts#L407-L443
|
||||
https://github.com/pear-devs/pear-desktop/blob/a3104fda4b0d58b076d0c737111636a66e468acc/src/index.ts#L407-L443
|
||||
|
||||
-->
|
||||
|
||||
|
||||
31
src/index.ts
31
src/index.ts
@ -43,7 +43,7 @@ import {
|
||||
setupProtocolHandler,
|
||||
} from '@/providers/protocol-handler';
|
||||
|
||||
import youtubeMusicCSS from '@/youtube-music.css?inline';
|
||||
import musicPlayerCss from '@/music-player.css?inline';
|
||||
|
||||
import {
|
||||
forceLoadMainPlugin,
|
||||
@ -131,7 +131,7 @@ if (config.get('options.disableHardwareAcceleration')) {
|
||||
|
||||
if (is.linux()) {
|
||||
// Overrides WM_CLASS for X11 to correspond to icon filename
|
||||
app.setName('com.github.th_ch.youtube_music');
|
||||
app.setName('com.github.th_ch.pear_music');
|
||||
|
||||
// Stops chromium from launching its own MPRIS service
|
||||
if (await config.plugins.isEnabled('shortcuts')) {
|
||||
@ -165,7 +165,7 @@ electronDebug({
|
||||
showDevTools: false, // Disable automatic devTools on new window
|
||||
});
|
||||
|
||||
let icon = 'assets/youtube-music.png';
|
||||
let icon = 'assets/icon.png';
|
||||
if (process.platform === 'win32') {
|
||||
icon = 'assets/generated/icon.ico';
|
||||
} else if (process.platform === 'darwin') {
|
||||
@ -178,7 +178,7 @@ function onClosed() {
|
||||
mainWindow = null;
|
||||
}
|
||||
|
||||
ipcMain.handle('ytmd:get-main-plugin-names', async () =>
|
||||
ipcMain.handle('peard:get-main-plugin-names', async () =>
|
||||
Object.keys(await mainPlugins()),
|
||||
);
|
||||
|
||||
@ -186,14 +186,14 @@ const initHook = async (win: BrowserWindow) => {
|
||||
const allPluginStubs = await allPlugins();
|
||||
|
||||
ipcMain.handle(
|
||||
'ytmd:get-config',
|
||||
'peard:get-config',
|
||||
(_, id: string) =>
|
||||
deepmerge(
|
||||
allPluginStubs[id].config ?? { enabled: false },
|
||||
config.get(`plugins.${id}`) ?? {},
|
||||
) as PluginConfig,
|
||||
);
|
||||
ipcMain.handle('ytmd:set-config', (_, name: string, obj: object) =>
|
||||
ipcMain.handle('peard:set-config', (_, name: string, obj: object) =>
|
||||
config.setPartial(`plugins.${name}`, obj, allPluginStubs[name].config),
|
||||
);
|
||||
|
||||
@ -292,7 +292,7 @@ const showNeedToRestartDialog = async (id: string) => {
|
||||
};
|
||||
|
||||
function initTheme(win: BrowserWindow) {
|
||||
injectCSS(win.webContents, youtubeMusicCSS);
|
||||
injectCSS(win.webContents, musicPlayerCss);
|
||||
// Load user CSS
|
||||
const themes: string[] = config.get('options.themes');
|
||||
if (Array.isArray(themes)) {
|
||||
@ -503,11 +503,14 @@ async function createMainWindow() {
|
||||
const url = new URL(event.url);
|
||||
|
||||
// Workarounds for regions where YTM is restricted
|
||||
if (url.hostname.endsWith('youtube.com') && url.pathname === '/premium') {
|
||||
if (
|
||||
url.hostname.endsWith('\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com') &&
|
||||
url.pathname === '/premium'
|
||||
) {
|
||||
event.preventDefault();
|
||||
|
||||
win.webContents.loadURL(
|
||||
'https://accounts.google.com/ServiceLogin?ltmpl=music&service=youtube&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26next%3Dhttps%253A%252F%252Fmusic.youtube.com%252F',
|
||||
'https://accounts.google.com/ServiceLogin?ltmpl=music&service=\u0079\u006f\u0075\u0074\u0075\u0062\u0065&continue=https%3A%2F%2Fwww.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com%2Fsignin%3Faction_handle_signin%3Dtrue%26next%3Dhttps%253A%252F%252Fmusic.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com%252F',
|
||||
);
|
||||
}
|
||||
});
|
||||
@ -660,7 +663,7 @@ app.whenReady().then(async () => {
|
||||
|
||||
// Register appID on windows
|
||||
if (is.windows()) {
|
||||
const appID = 'com.github.th-ch.youtube-music';
|
||||
const appID = 'com.github.th-ch.pear-music';
|
||||
app.setAppUserModelId(appID);
|
||||
const appLocation = process.execPath;
|
||||
const appData = app.getPath('appData');
|
||||
@ -675,7 +678,7 @@ app.whenReady().then(async () => {
|
||||
'Windows',
|
||||
'Start Menu',
|
||||
'Programs',
|
||||
'YouTube Music.lnk',
|
||||
'Pear Desktop.lnk',
|
||||
);
|
||||
try {
|
||||
// Check if shortcut is registered and valid
|
||||
@ -695,7 +698,7 @@ app.whenReady().then(async () => {
|
||||
{
|
||||
target: appLocation,
|
||||
cwd: path.dirname(appLocation),
|
||||
description: 'YouTube Music Desktop App - including custom plugins',
|
||||
description: 'Pear Desktop App - including custom plugins',
|
||||
appUserModelId: appID,
|
||||
},
|
||||
);
|
||||
@ -804,7 +807,7 @@ app.whenReady().then(async () => {
|
||||
}, 2000);
|
||||
autoUpdater.on('update-available', () => {
|
||||
const downloadLink =
|
||||
'https://github.com/th-ch/youtube-music/releases/latest';
|
||||
'https://github.com/pear-devs/pear-desktop/releases/latest';
|
||||
const dialogOptions: Electron.MessageBoxOptions = {
|
||||
type: 'info',
|
||||
buttons: [
|
||||
@ -943,7 +946,7 @@ function removeContentSecurityPolicy(
|
||||
!details.responseHeaders['access-control-allow-origin'] &&
|
||||
!details.responseHeaders['Access-Control-Allow-Origin']
|
||||
) {
|
||||
details.responseHeaders['access-control-allow-origin'] = ['https://music.youtube.com'];
|
||||
details.responseHeaders['access-control-allow-origin'] = ['https://music.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -19,9 +19,9 @@ export const createContext = <Config extends PluginConfig>(
|
||||
id: string,
|
||||
): RendererContext<Config> => ({
|
||||
getConfig: () =>
|
||||
window.ipcRenderer.invoke('ytmd:get-config', id) as Promise<Config>,
|
||||
window.ipcRenderer.invoke('peard:get-config', id) as Promise<Config>,
|
||||
setConfig: async (newConfig) => {
|
||||
await window.ipcRenderer.invoke('ytmd:set-config', id, newConfig);
|
||||
await window.ipcRenderer.invoke('peard:set-config', id, newConfig);
|
||||
},
|
||||
ipc: {
|
||||
send: (event: string, ...args: unknown[]) => {
|
||||
|
||||
@ -473,7 +473,7 @@ export const mainMenuTemplate = async (
|
||||
),
|
||||
type: 'normal',
|
||||
click() {
|
||||
const url = 'https://hosted.weblate.org/engage/youtube-music/';
|
||||
const url = 'https://bit.ly/48n5YF7';
|
||||
shell.openExternal(url);
|
||||
},
|
||||
} as Electron.MenuItemConstructorOptions,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Overriding YouTube Music style
|
||||
* Overriding default style
|
||||
*/
|
||||
|
||||
/* Allow window dragging */
|
||||
@ -49,7 +49,7 @@ ytmusic-cast-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Make youtube-music logo un-draggable */
|
||||
/* Make the logo un-draggable */
|
||||
ytmusic-nav-bar > div.left-content > a,
|
||||
ytmusic-nav-bar > div.left-content > a > picture > img {
|
||||
-webkit-user-drag: none;
|
||||
@ -86,4 +86,4 @@ tp-yt-paper-item.ytmusic-guide-entry-renderer::before {
|
||||
tp-yt-iron-dropdown,
|
||||
tp-yt-paper-dialog {
|
||||
app-region: no-drag;
|
||||
}
|
||||
}
|
||||
@ -10,41 +10,32 @@ const COLOR_KEY = '--ytmusic-album-color';
|
||||
const DARK_COLOR_KEY = '--ytmusic-album-color-dark';
|
||||
const RATIO_KEY = '--ytmusic-album-color-ratio';
|
||||
|
||||
export default createPlugin<
|
||||
unknown,
|
||||
unknown,
|
||||
{
|
||||
color?: ColorInstance;
|
||||
darkColor?: ColorInstance;
|
||||
type Config = {
|
||||
enabled: boolean;
|
||||
ratio: number;
|
||||
enableSeekbar: boolean;
|
||||
};
|
||||
|
||||
playerPage: HTMLElement | null;
|
||||
navBarBackground: HTMLElement | null;
|
||||
ytmusicPlayerBar: HTMLElement | null;
|
||||
playerBarBackground: HTMLElement | null;
|
||||
sidebarBig: HTMLElement | null;
|
||||
sidebarSmall: HTMLElement | null;
|
||||
ytmusicAppLayout: HTMLElement | null;
|
||||
type Renderer = {
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha?: number,
|
||||
ratioMultiply?: number,
|
||||
): string;
|
||||
updateColor(alpha: number): void;
|
||||
onConfigChange(newConfig: Config): void;
|
||||
};
|
||||
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha?: number,
|
||||
ratioMultiply?: number,
|
||||
): string;
|
||||
updateColor(alpha: number): void;
|
||||
},
|
||||
{
|
||||
enabled: boolean;
|
||||
ratio: number;
|
||||
}
|
||||
>({
|
||||
export default createPlugin({
|
||||
name: () => t('plugins.album-color-theme.name'),
|
||||
description: () => t('plugins.album-color-theme.description'),
|
||||
restartNeeded: false,
|
||||
config: {
|
||||
enabled: false,
|
||||
ratio: 0.5,
|
||||
},
|
||||
enableSeekbar: true,
|
||||
} satisfies Config as Config,
|
||||
stylesheets: [style],
|
||||
menu: async ({ getConfig, setConfig }) => {
|
||||
const ratioList = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1];
|
||||
@ -68,18 +59,28 @@ export default createPlugin<
|
||||
},
|
||||
})),
|
||||
},
|
||||
{
|
||||
label: t('plugins.album-color-theme.menu.enable-seekbar'),
|
||||
type: 'checkbox',
|
||||
checked: config.enableSeekbar,
|
||||
click(item) {
|
||||
setConfig({ enableSeekbar: item.checked });
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
renderer: {
|
||||
playerPage: null,
|
||||
navBarBackground: null,
|
||||
ytmusicPlayerBar: null,
|
||||
playerBarBackground: null,
|
||||
sidebarBig: null,
|
||||
sidebarSmall: null,
|
||||
ytmusicAppLayout: null,
|
||||
playerPage: null as HTMLElement | null,
|
||||
navBarBackground: null as HTMLElement | null,
|
||||
ytmusicPlayerBar: null as HTMLElement | null,
|
||||
playerBarBackground: null as HTMLElement | null,
|
||||
sidebarBig: null as HTMLElement | null,
|
||||
sidebarSmall: null as HTMLElement | null,
|
||||
ytmusicAppLayout: null as HTMLElement | null,
|
||||
color: null as ColorInstance | null,
|
||||
darkColor: null as ColorInstance | null,
|
||||
|
||||
async start({ getConfig }) {
|
||||
start() {
|
||||
this.playerPage = document.querySelector<HTMLElement>('#player-page');
|
||||
this.navBarBackground = document.querySelector<HTMLElement>(
|
||||
'#nav-bar-background',
|
||||
@ -94,14 +95,11 @@ export default createPlugin<
|
||||
'#mini-guide-background',
|
||||
);
|
||||
this.ytmusicAppLayout = document.querySelector<HTMLElement>('#layout');
|
||||
|
||||
const config = await getConfig();
|
||||
document.documentElement.style.setProperty(
|
||||
RATIO_KEY,
|
||||
`${~~(config.ratio * 100)}%`,
|
||||
);
|
||||
},
|
||||
onPlayerApiReady(playerApi) {
|
||||
async onPlayerApiReady(playerApi, { getConfig }) {
|
||||
const config = await getConfig();
|
||||
(this as Renderer).onConfigChange(config);
|
||||
|
||||
const fastAverageColor = new FastAverageColor();
|
||||
|
||||
document.addEventListener('videodatachange', async (event) => {
|
||||
@ -152,7 +150,7 @@ export default createPlugin<
|
||||
alpha = value;
|
||||
}
|
||||
}
|
||||
this.updateColor(alpha ?? 1);
|
||||
(this as Renderer).updateColor(alpha ?? 1);
|
||||
});
|
||||
},
|
||||
onConfigChange(config) {
|
||||
@ -160,8 +158,15 @@ export default createPlugin<
|
||||
RATIO_KEY,
|
||||
`${~~(config.ratio * 100)}%`,
|
||||
);
|
||||
if (config.enableSeekbar) document.body.classList.add('seekbar-theme');
|
||||
else document.body.classList.remove('seekbar-theme');
|
||||
},
|
||||
getMixedColor(color: string, key: string, alpha = 1, ratioMultiply) {
|
||||
getMixedColor(
|
||||
color: string,
|
||||
key: string,
|
||||
alpha = 1,
|
||||
ratioMultiply?: number,
|
||||
) {
|
||||
const keyColor = `rgba(var(${key}), ${alpha})`;
|
||||
|
||||
let colorRatio = `var(${RATIO_KEY}, 50%)`;
|
||||
@ -207,26 +212,39 @@ export default createPlugin<
|
||||
'--yt-spec-black-pure-alpha-80': 'rgba(0,0,0,0.8)',
|
||||
'--yt-spec-black-1-alpha-98': 'rgba(40,40,40,0.98)',
|
||||
'--yt-spec-black-1-alpha-95': 'rgba(40,40,40,0.95)',
|
||||
'--paper-toast-background-color': '#323232',
|
||||
'--ytmusic-search-background': '#030303',
|
||||
'--paper-slider-knob-color': '#f03',
|
||||
'--paper-dialog-background-color': '#212121',
|
||||
'--paper-progress-active-color-1': '#f03',
|
||||
'--paper-progress-active-color-2': '#ff2791',
|
||||
'--yt-spec-inverted-background': '#f3f3f3',
|
||||
'background': 'rgba(3, 3, 3)',
|
||||
'--ytmusic-background': 'rgba(3, 3, 3)',
|
||||
};
|
||||
|
||||
const colorKeyMap: Record<string, string> = {
|
||||
'background': DARK_COLOR_KEY,
|
||||
'--ytmusic-background': DARK_COLOR_KEY,
|
||||
};
|
||||
|
||||
const ratioMap: Record<string, number> = {
|
||||
'--paper-progress-active-color-1': 1.75,
|
||||
'--paper-progress-active-color-2': 1.75,
|
||||
'--yt-spec-inverted-background': 1.75,
|
||||
};
|
||||
|
||||
const getMixedColor = (this as Renderer).getMixedColor.bind(this);
|
||||
Object.entries(variableMap).map(([variable, color]) => {
|
||||
const key = colorKeyMap[variable] ?? COLOR_KEY;
|
||||
const ratio = ratioMap[variable] ?? undefined;
|
||||
|
||||
document.documentElement.style.setProperty(
|
||||
variable,
|
||||
this.getMixedColor(color, COLOR_KEY, alpha),
|
||||
getMixedColor(color, key, alpha, ratio),
|
||||
'important',
|
||||
);
|
||||
});
|
||||
|
||||
document.body.style.setProperty(
|
||||
'background',
|
||||
this.getMixedColor('rgba(3, 3, 3)', DARK_COLOR_KEY, alpha),
|
||||
'important',
|
||||
);
|
||||
document.documentElement.style.setProperty(
|
||||
'--ytmusic-background',
|
||||
// #030303
|
||||
this.getMixedColor('rgba(3, 3, 3)', DARK_COLOR_KEY, alpha),
|
||||
'important',
|
||||
);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -81,3 +81,14 @@ ytmusic-browse-response[has-background]:not([disable-gradient]) .background-grad
|
||||
#background.immersive-background.style-scope.ytmusic-browse-response {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
ytmusic-search-box[is-bauhaus-sidenav-enabled] {
|
||||
--ytmusic-search-background: var(--ytmusic-color-black3) !important;
|
||||
}
|
||||
|
||||
.seekbar-theme #progress-bar.ytmusic-player-bar {
|
||||
--paper-slider-active-color: linear-gradient(to right, var(--paper-progress-active-color-1) 80%, var(--paper-progress-active-color-2) 100%) !important;
|
||||
--paper-slider-knob-color: var(--paper-progress-active-color-1) !important;
|
||||
--paper-slider-knob-start-color: var(--paper-progress-active-color-2) !important;
|
||||
}
|
||||
|
||||
|
||||
@ -29,22 +29,22 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
this.songInfo = songInfo;
|
||||
});
|
||||
|
||||
ctx.ipc.on('ytmd:player-api-loaded', () => {
|
||||
ctx.ipc.send('ytmd:setup-seeked-listener');
|
||||
ctx.ipc.send('ytmd:setup-time-changed-listener');
|
||||
ctx.ipc.send('ytmd:setup-repeat-changed-listener');
|
||||
ctx.ipc.send('ytmd:setup-like-changed-listener');
|
||||
ctx.ipc.send('ytmd:setup-volume-changed-listener');
|
||||
ctx.ipc.send('ytmd:setup-shuffle-changed-listener');
|
||||
ctx.ipc.on('peard:player-api-loaded', () => {
|
||||
ctx.ipc.send('peard:setup-seeked-listener');
|
||||
ctx.ipc.send('peard:setup-time-changed-listener');
|
||||
ctx.ipc.send('peard:setup-repeat-changed-listener');
|
||||
ctx.ipc.send('peard:setup-like-changed-listener');
|
||||
ctx.ipc.send('peard:setup-volume-changed-listener');
|
||||
ctx.ipc.send('peard:setup-shuffle-changed-listener');
|
||||
});
|
||||
|
||||
ctx.ipc.on(
|
||||
'ytmd:repeat-changed',
|
||||
'peard:repeat-changed',
|
||||
(mode: RepeatMode) => (this.currentRepeatMode = mode),
|
||||
);
|
||||
|
||||
ctx.ipc.on(
|
||||
'ytmd:volume-changed',
|
||||
'peard:volume-changed',
|
||||
(newVolumeState: VolumeState) => (this.volumeState = newVolumeState),
|
||||
);
|
||||
|
||||
@ -138,7 +138,7 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
openapi: '3.1.0',
|
||||
info: {
|
||||
version: '1.0.0',
|
||||
title: 'Youtube Music API Server',
|
||||
title: 'Pear Desktop API Server',
|
||||
description:
|
||||
'Note: You need to get an access token using the `/auth/{id}` endpoint first to call any API endpoints under `/api`.',
|
||||
},
|
||||
|
||||
@ -29,7 +29,7 @@ import type { SongInfo } from '@/providers/song-info';
|
||||
import type { BackendContext } from '@/types/contexts';
|
||||
import type { APIServerConfig } from '../../config';
|
||||
import type { HonoApp } from '../types';
|
||||
import type { QueueResponse } from '@/types/youtube-music-desktop-internal';
|
||||
import type { QueueResponse } from '@/types/music-player-desktop-internal';
|
||||
import type { Context } from 'hono';
|
||||
|
||||
const routes = {
|
||||
@ -630,7 +630,7 @@ export const register = (
|
||||
app.openapi(routes.getShuffleState, async (ctx) => {
|
||||
const stateResponsePromise = new Promise<boolean>((resolve) => {
|
||||
ipcMain.once(
|
||||
'ytmd:get-shuffle-response',
|
||||
'peard:get-shuffle-response',
|
||||
(_, isShuffled: boolean | undefined) => {
|
||||
return resolve(!!isShuffled);
|
||||
},
|
||||
@ -693,7 +693,7 @@ export const register = (
|
||||
app.openapi(routes.getFullscreenState, async (ctx) => {
|
||||
const stateResponsePromise = new Promise<boolean>((resolve) => {
|
||||
ipcMain.once(
|
||||
'ytmd:set-fullscreen',
|
||||
'peard:set-fullscreen',
|
||||
(_, isFullscreen: boolean | undefined) => {
|
||||
return resolve(!!isFullscreen);
|
||||
},
|
||||
@ -728,7 +728,7 @@ export const register = (
|
||||
// Queue
|
||||
const queueInfo = async (ctx: Context) => {
|
||||
const queueResponsePromise = new Promise<QueueResponse>((resolve) => {
|
||||
ipcMain.once('ytmd:get-queue-response', (_, queue: QueueResponse) => {
|
||||
ipcMain.once('peard:get-queue-response', (_, queue: QueueResponse) => {
|
||||
return resolve(queue);
|
||||
});
|
||||
|
||||
|
||||
@ -94,7 +94,7 @@ export const register = (
|
||||
lastSongInfo = { ...songInfo };
|
||||
});
|
||||
|
||||
ipc.on('ytmd:volume-changed', (newVolumeState: VolumeState) => {
|
||||
ipc.on('peard:volume-changed', (newVolumeState: VolumeState) => {
|
||||
volumeState = newVolumeState;
|
||||
send(DataTypes.VolumeChanged, {
|
||||
volume: volumeState.state,
|
||||
@ -102,16 +102,16 @@ export const register = (
|
||||
});
|
||||
});
|
||||
|
||||
ipc.on('ytmd:repeat-changed', (mode: RepeatMode) => {
|
||||
ipc.on('peard:repeat-changed', (mode: RepeatMode) => {
|
||||
repeat = mode;
|
||||
send(DataTypes.RepeatChanged, { repeat });
|
||||
});
|
||||
|
||||
ipc.on('ytmd:seeked', (t: number) => {
|
||||
ipc.on('peard:seeked', (t: number) => {
|
||||
send(DataTypes.PositionChanged, { position: t });
|
||||
});
|
||||
|
||||
ipc.on('ytmd:shuffle-changed', (newShuffle: boolean) => {
|
||||
ipc.on('peard:shuffle-changed', (newShuffle: boolean) => {
|
||||
shuffle = newShuffle;
|
||||
send(DataTypes.ShuffleChanged, { shuffle });
|
||||
});
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { createPlugin } from '@/utils';
|
||||
import { t } from '@/i18n';
|
||||
import { type YoutubePlayer } from '@/types/youtube-player';
|
||||
import { type MusicPlayer } from '@/types/music-player';
|
||||
|
||||
const lazySafeTry = (...fns: (() => void)[]) => {
|
||||
for (const fn of fns) {
|
||||
@ -95,7 +95,7 @@ const audioCanPlayHandler = ({
|
||||
);
|
||||
};
|
||||
|
||||
const ensureAudioContextLoad = (playerApi: YoutubePlayer) => {
|
||||
const ensureAudioContextLoad = (playerApi: MusicPlayer) => {
|
||||
if (playerApi.getPlayerState() !== 1 || storage.lastContext) return;
|
||||
|
||||
playerApi.loadVideoById(
|
||||
@ -115,7 +115,7 @@ export default createPlugin({
|
||||
},
|
||||
|
||||
start() {
|
||||
document.addEventListener('ytmd:audio-can-play', audioCanPlayHandler, {
|
||||
document.addEventListener('peard:audio-can-play', audioCanPlayHandler, {
|
||||
passive: true,
|
||||
});
|
||||
storage.connectToCompressor(
|
||||
@ -126,7 +126,7 @@ export default createPlugin({
|
||||
},
|
||||
|
||||
stop() {
|
||||
document.removeEventListener('ytmd:audio-can-play', audioCanPlayHandler);
|
||||
document.removeEventListener('peard:audio-can-play', audioCanPlayHandler);
|
||||
storage.disconnectCompressor();
|
||||
},
|
||||
},
|
||||
|
||||
@ -7,7 +7,7 @@ import { t } from '@/i18n';
|
||||
export default createBackend({
|
||||
start({ ipc: { handle }, window }) {
|
||||
handle(
|
||||
'ytmd:captions-selector',
|
||||
'peard:captions-selector',
|
||||
async (captionLabels: Record<string, string>, currentIndex: string) =>
|
||||
await prompt(
|
||||
{
|
||||
|
||||
@ -7,7 +7,7 @@ import renderer, {
|
||||
type LanguageOptions,
|
||||
} from './renderer';
|
||||
|
||||
import type { YoutubePlayer } from '@/types/youtube-player';
|
||||
import type { MusicPlayer } from '@/types/music-player';
|
||||
|
||||
export default createPlugin<
|
||||
unknown,
|
||||
@ -15,7 +15,7 @@ export default createPlugin<
|
||||
{
|
||||
captionsSettingsButton?: HTMLElement;
|
||||
captionTrackList: LanguageOptions[] | null;
|
||||
api: YoutubePlayer | null;
|
||||
api: MusicPlayer | null;
|
||||
config: CaptionsSelectorConfig | null;
|
||||
videoChangeListener: () => void;
|
||||
},
|
||||
|
||||
@ -6,7 +6,7 @@ import { t } from '@/i18n';
|
||||
|
||||
import { CaptionsSettingButton } from './templates/captions-settings-template';
|
||||
|
||||
import type { YoutubePlayer } from '@/types/youtube-player';
|
||||
import type { MusicPlayer } from '@/types/music-player';
|
||||
import type { AppElement } from '@/types/queue';
|
||||
|
||||
export interface LanguageOptions {
|
||||
@ -35,7 +35,7 @@ export default createRenderer<
|
||||
{
|
||||
captionsSettingsButton?: HTMLElement;
|
||||
captionTrackList: LanguageOptions[] | null;
|
||||
api: YoutubePlayer | null;
|
||||
api: MusicPlayer | null;
|
||||
config: CaptionsSelectorConfig | null;
|
||||
videoChangeListener: () => void;
|
||||
},
|
||||
@ -73,7 +73,7 @@ export default createRenderer<
|
||||
this.api?.unloadModule('captions');
|
||||
document
|
||||
.querySelector('video')
|
||||
?.removeEventListener('ytmd:src-changed', this.videoChangeListener);
|
||||
?.removeEventListener('peard:src-changed', this.videoChangeListener);
|
||||
if (this.captionsSettingsButton) {
|
||||
document
|
||||
.querySelector('.right-controls-buttons')
|
||||
@ -111,7 +111,7 @@ export default createRenderer<
|
||||
];
|
||||
|
||||
currentIndex = (await ipc.invoke(
|
||||
'ytmd:captions-selector',
|
||||
'peard:captions-selector',
|
||||
captionLabels,
|
||||
currentIndex,
|
||||
)) as number;
|
||||
@ -156,7 +156,7 @@ export default createRenderer<
|
||||
|
||||
document
|
||||
.querySelector('video')
|
||||
?.addEventListener('ytmd:src-changed', this.videoChangeListener);
|
||||
?.addEventListener('peard:src-changed', this.videoChangeListener);
|
||||
},
|
||||
onConfigChange(newConfig) {
|
||||
this.config = newConfig;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Innertube } from 'youtubei.js';
|
||||
import { Innertube } from '\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js';
|
||||
|
||||
import prompt from 'custom-electron-prompt';
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { createRenderer } from '@/utils';
|
||||
|
||||
import type { YoutubePlayer } from '@/types/youtube-player';
|
||||
import type { MusicPlayer } from '@/types/music-player';
|
||||
import type { RendererContext } from '@/types/contexts';
|
||||
import type { CustomOutputPluginConfig } from './index';
|
||||
|
||||
@ -48,13 +48,13 @@ export const renderer = createRenderer<
|
||||
await updateSinkId(audioContext, this.options!.output);
|
||||
},
|
||||
|
||||
async onPlayerApiReady(_: YoutubePlayer, context) {
|
||||
async onPlayerApiReady(_: MusicPlayer, context) {
|
||||
this.options = await context.getConfig();
|
||||
await navigator.mediaDevices.getUserMedia({ audio: true, video: false });
|
||||
navigator.mediaDevices.ondevicechange = async () =>
|
||||
await updateDeviceList(context);
|
||||
|
||||
document.addEventListener('ytmd:audio-can-play', this.audioCanPlayHandler, {
|
||||
document.addEventListener('peard:audio-can-play', this.audioCanPlayHandler, {
|
||||
once: true,
|
||||
passive: true,
|
||||
});
|
||||
@ -63,7 +63,7 @@ export const renderer = createRenderer<
|
||||
|
||||
stop() {
|
||||
document.removeEventListener(
|
||||
'ytmd:audio-can-play',
|
||||
'peard:audio-can-play',
|
||||
this.audioCanPlayHandler,
|
||||
);
|
||||
navigator.mediaDevices.ondevicechange = null;
|
||||
|
||||
@ -3,7 +3,7 @@ import { createPlugin } from '@/utils';
|
||||
import { t } from '@/i18n';
|
||||
|
||||
import type { VideoDataChanged } from '@/types/video-data-changed';
|
||||
import type { YoutubePlayer } from '@/types/youtube-player';
|
||||
import type { MusicPlayer } from '@/types/music-player';
|
||||
|
||||
export type DisableAutoPlayPluginConfig = {
|
||||
enabled: boolean;
|
||||
@ -15,7 +15,7 @@ export default createPlugin<
|
||||
unknown,
|
||||
{
|
||||
config: DisableAutoPlayPluginConfig | null;
|
||||
api: YoutubePlayer | null;
|
||||
api: MusicPlayer | null;
|
||||
eventListener: (event: CustomEvent<VideoDataChanged>) => void;
|
||||
timeUpdateListener: (e: Event) => void;
|
||||
},
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Application ID registered by @th-ch/youtube-music dev team
|
||||
* Application ID registered by @th-ch/pear-desktop dev team
|
||||
*/
|
||||
export const clientId = '1177081335727267940';
|
||||
/**
|
||||
|
||||
@ -24,9 +24,9 @@ export type DiscordPluginConfig = {
|
||||
*/
|
||||
activityTimeoutTime: number;
|
||||
/**
|
||||
* Add a "Play on YouTube Music" button to rich presence
|
||||
* Add a "Play on Pear Desktop" button to rich presence
|
||||
*/
|
||||
playOnYouTubeMusic: boolean;
|
||||
playOnPearDesktop: boolean;
|
||||
/**
|
||||
* Hide the "View App On GitHub" button in the rich presence
|
||||
*/
|
||||
@ -50,7 +50,7 @@ export default createPlugin({
|
||||
autoReconnect: true,
|
||||
activityTimeoutEnabled: true,
|
||||
activityTimeoutTime: 10 * 60 * 1000,
|
||||
playOnYouTubeMusic: true,
|
||||
playOnPearDesktop: true,
|
||||
hideGitHubButton: false,
|
||||
hideDurationLeft: false,
|
||||
statusDisplayType: StatusDisplayType.Details,
|
||||
|
||||
@ -45,8 +45,8 @@ export const backend = createBackend<
|
||||
});
|
||||
}
|
||||
|
||||
ctx.ipc.on('ytmd:player-api-loaded', () => {
|
||||
ctx.ipc.send('ytmd:setup-time-changed-listener');
|
||||
ctx.ipc.on('peard:player-api-loaded', () => {
|
||||
ctx.ipc.send('peard:setup-time-changed-listener');
|
||||
});
|
||||
|
||||
app.on('before-quit', () => {
|
||||
|
||||
@ -18,7 +18,7 @@ const registerRefreshOnce = singleton((refreshMenu: () => void) => {
|
||||
|
||||
const DiscordStatusDisplayTypeLabels: Record<StatusDisplayType, string> = {
|
||||
[StatusDisplayType.Name]:
|
||||
'plugins.discord.menu.set-status-display-type.submenu.youtube-music',
|
||||
'plugins.discord.menu.set-status-display-type.submenu.pear-desktop',
|
||||
[StatusDisplayType.State]:
|
||||
'plugins.discord.menu.set-status-display-type.submenu.artist',
|
||||
[StatusDisplayType.Details]:
|
||||
@ -67,12 +67,12 @@ export const onMenu = async ({
|
||||
},
|
||||
},
|
||||
{
|
||||
label: t('plugins.discord.menu.play-on-youtube-music'),
|
||||
label: t('plugins.discord.menu.play-on-pear-desktop'),
|
||||
type: 'checkbox',
|
||||
checked: config.playOnYouTubeMusic,
|
||||
checked: config.playOnPearDesktop,
|
||||
click(item: Electron.MenuItem) {
|
||||
setConfig({
|
||||
playOnYouTubeMusic: item.checked,
|
||||
playOnPearDesktop: item.checked,
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
@ -28,16 +28,16 @@ export const buildDiscordButtons = (
|
||||
songInfo: SongInfo,
|
||||
): GatewayActivityButton[] | undefined => {
|
||||
const buttons: GatewayActivityButton[] = [];
|
||||
if (config.playOnYouTubeMusic && songInfo.url) {
|
||||
if (config.playOnPearDesktop && songInfo.url) {
|
||||
buttons.push({
|
||||
label: 'Play on YouTube Music',
|
||||
label: 'Play on Pear Desktop',
|
||||
url: songInfo.url,
|
||||
});
|
||||
}
|
||||
if (!config.hideGitHubButton) {
|
||||
buttons.push({
|
||||
label: 'View App On GitHub',
|
||||
url: 'https://github.com/th-ch/youtube-music',
|
||||
url: 'https://github.com/pear-devs/pear-desktop',
|
||||
});
|
||||
}
|
||||
return buttons.length ? buttons : undefined;
|
||||
|
||||
@ -3,7 +3,13 @@ import { join } from 'node:path';
|
||||
import { randomBytes } from 'node:crypto';
|
||||
|
||||
import { app, type BrowserWindow, dialog, ipcMain } from 'electron';
|
||||
import { Innertube, UniversalCache, Utils, YTNodes } from 'youtubei.js';
|
||||
import {
|
||||
Innertube,
|
||||
UniversalCache,
|
||||
Utils,
|
||||
YTNodes,
|
||||
Platform,
|
||||
} from '\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js';
|
||||
import is from 'electron-is';
|
||||
import filenamify from 'filenamify';
|
||||
import { Mutex } from 'async-mutex';
|
||||
@ -28,18 +34,18 @@ import {
|
||||
import { getNetFetchAsFetch } from '@/plugins/utils/main';
|
||||
import { t } from '@/i18n';
|
||||
|
||||
import { DefaultPresetList, type Preset, YoutubeFormatList } from '../types';
|
||||
import { DefaultPresetList, type Preset, VideoFormatList } from '../types';
|
||||
|
||||
import type { DownloaderPluginConfig } from '../index';
|
||||
import type { BackendContext } from '@/types/contexts';
|
||||
import type { GetPlayerResponse } from '@/types/get-player-response';
|
||||
import type { FormatOptions } from 'node_modules/youtubei.js/dist/src/types';
|
||||
import type { VideoInfo } from 'node_modules/youtubei.js/dist/src/parser/youtube';
|
||||
import type { PlayerErrorMessage } from 'node_modules/youtubei.js/dist/src/parser/nodes';
|
||||
import type { FormatOptions } from 'node_modules/\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js/dist/src/types';
|
||||
import type { VideoInfo } from 'node_modules/\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js/dist/src/parser/\u0079\u006f\u0075\u0074\u0075\u0062\u0065';
|
||||
import type { PlayerErrorMessage } from 'node_modules/\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js/dist/src/parser/nodes';
|
||||
import type {
|
||||
TrackInfo,
|
||||
Playlist,
|
||||
} from 'node_modules/youtubei.js/dist/src/parser/ytmusic';
|
||||
} from 'node_modules/\u0079\u006f\u0075\u0074\u0075\u0062\u0065i.js/dist/src/parser/ytmusic';
|
||||
|
||||
type CustomSongInfo = SongInfo & { trackId?: string };
|
||||
|
||||
@ -52,11 +58,27 @@ const ffmpeg = lazy(async () =>
|
||||
);
|
||||
const ffmpegMutex = new Mutex();
|
||||
|
||||
Platform.shim.eval = async (data: Types.BuildScriptResult, env: Record<string, Types.VMPrimative>) => {
|
||||
const properties = [];
|
||||
|
||||
if(env.n) {
|
||||
properties.push(`n: exportedVars.nFunction("${env.n}")`)
|
||||
}
|
||||
|
||||
if (env.sig) {
|
||||
properties.push(`sig: exportedVars.sigFunction("${env.sig}")`)
|
||||
}
|
||||
|
||||
const code = `${data.output}\nreturn { ${properties.join(', ')} }`;
|
||||
|
||||
return new Function(code)();
|
||||
}
|
||||
|
||||
let yt: Innertube;
|
||||
let win: BrowserWindow;
|
||||
let playingUrl: string;
|
||||
|
||||
const isYouTubeMusicPremium = async () => {
|
||||
const isPremium = async () => {
|
||||
// If signed out, it is understood as non-premium
|
||||
const isSignedIn = (await win.webContents.executeJavaScript(
|
||||
'!!yt.config_.LOGGED_IN',
|
||||
@ -66,7 +88,7 @@ const isYouTubeMusicPremium = async () => {
|
||||
|
||||
// If signed in, check if the upgrade button is present
|
||||
const upgradeBtnIconPathData = (await win.webContents.executeJavaScript(
|
||||
'document.querySelector(\'iron-iconset-svg[name="yt-sys-icons"] #youtube_music_monochrome\')?.firstChild?.getAttribute("d")?.substring(0, 15)',
|
||||
'document.querySelector(\'iron-iconset-svg[name="yt-sys-icons"] #\u0079\u006f\u0075\u0074\u0075\u0062\u0065_music_monochrome\')?.firstChild?.getAttribute("d")?.substring(0, 15)',
|
||||
)) as string | null;
|
||||
|
||||
// Fallback to non-premium if the icon is not found
|
||||
@ -107,7 +129,7 @@ const sendError = (error: Error, source?: string) => {
|
||||
export const getCookieFromWindow = async (win: BrowserWindow) => {
|
||||
return (
|
||||
await win.webContents.session.cookies.get({
|
||||
url: 'https://music.youtube.com',
|
||||
url: 'https://music.\u0079\u006f\u0075\u0074\u0075\u0062\u0065.com',
|
||||
})
|
||||
)
|
||||
.map((it) => it.name + '=' + it.value)
|
||||
@ -191,7 +213,7 @@ export const onMainLoad = async ({
|
||||
}
|
||||
|
||||
ipc.handle('download-song', (url: string) => downloadSong(url));
|
||||
ipc.on('ytmd:video-src-changed', (data: GetPlayerResponse) => {
|
||||
ipc.on('peard:video-src-changed', (data: GetPlayerResponse) => {
|
||||
playingUrl = data.microformat.microformatDataRenderer.urlCanonical;
|
||||
});
|
||||
ipc.handle('download-playlist-request', async (url: string) =>
|
||||
@ -297,8 +319,8 @@ function downloadSongOnFinishSetup({
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('ytmd:player-api-loaded', () => {
|
||||
ipc.send('ytmd:setup-time-changed-listener');
|
||||
ipcMain.on('peard:player-api-loaded', () => {
|
||||
ipc.send('peard:setup-time-changed-listener');
|
||||
});
|
||||
}
|
||||
|
||||
@ -389,7 +411,7 @@ async function downloadSongUnsafe(
|
||||
}
|
||||
|
||||
const downloadOptions: FormatOptions = {
|
||||
type: (await isYouTubeMusicPremium()) ? 'audio' : 'video+audio', // Audio, video or video+audio
|
||||
type: (await isPremium()) ? 'audio' : 'video+audio', // Audio, video or video+audio
|
||||
quality: 'best', // Best, bestefficiency, 144p, 240p, 480p, 720p and so on.
|
||||
format: 'any', // Media container format
|
||||
};
|
||||
@ -399,7 +421,7 @@ async function downloadSongUnsafe(
|
||||
let targetFileExtension: string;
|
||||
if (!presetSetting?.extension) {
|
||||
targetFileExtension =
|
||||
YoutubeFormatList.find((it) => it.itag === format.itag)?.container ??
|
||||
VideoFormatList.find((it) => it.itag === format.itag)?.container ??
|
||||
'mp3';
|
||||
} else {
|
||||
targetFileExtension = presetSetting?.extension ?? 'mp3';
|
||||
|
||||
@ -10,7 +10,7 @@ export const sendFeedback = (win: BrowserWindow, message?: unknown) => {
|
||||
|
||||
export const cropMaxWidth = (image: Electron.NativeImage) => {
|
||||
const imageSize = image.getSize();
|
||||
// Standart YouTube artwork width with margins from both sides is 280 + 720 + 280
|
||||
// Standard artwork width with margins from both sides is 280 + 720 + 280
|
||||
if (imageSize.width === 1280 && imageSize.height === 720) {
|
||||
return image.crop({
|
||||
x: 280,
|
||||
|
||||
@ -19,7 +19,7 @@ export const DefaultPresetList: Record<string, Preset> = {
|
||||
},
|
||||
};
|
||||
|
||||
export interface YouTubeFormat {
|
||||
export interface VideoFormat {
|
||||
itag: number;
|
||||
container: string;
|
||||
content: string;
|
||||
@ -29,9 +29,9 @@ export interface YouTubeFormat {
|
||||
vrOr3D: string;
|
||||
}
|
||||
|
||||
// converted from https://gist.github.com/sidneys/7095afe4da4ae58694d128b1034e01e2#file-youtube_format_code_itag_list-md
|
||||
// converted from https://gist.github.com/sidneys/7095afe4da4ae58694d128b1034e01e2
|
||||
// and https://gist.github.com/MartinEesmaa/2f4b261cb90a47e9c41ba115a011a4aa
|
||||
export const YoutubeFormatList: YouTubeFormat[] = [
|
||||
export const VideoFormatList: VideoFormat[] = [
|
||||
{
|
||||
itag: 5,
|
||||
container: 'flv',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user