Compare commits

...

36 Commits

Author SHA1 Message Date
ae04026467 fix(deps): update dependency @ffmpeg.wasm/main to v0.13.1 2026-03-05 17:45:29 +00:00
6907fad1c5 chore(i18n): Translated using Weblate (Greek)
Currently translated at 90.3% (431 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/el/
2026-03-03 13:09:59 +00:00
04ccad3e06 doc: installation instructions for Solus (#4352) 2026-03-02 23:27:32 +09:00
b367c98cc5 chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2026-03-01 18:10:30 +00:00
93a95aac72 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:28 +00:00
4e6d9ba017 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:27 +00:00
11f5815539 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:26 +00:00
4ddd7cc399 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:25 +00:00
deddbec79a chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:24 +00:00
bef4050f08 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:23 +00:00
398d80808f chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:21 +00:00
b0388f2be7 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:20 +00:00
ae5e65ad32 chore(i18n): Translated using Weblate (Lithuanian)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/lt/
2026-03-01 18:10:19 +00:00
3c67778c1b chore(deps): update eslint monorepo to v9.39.3 (#4337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:31:20 +09:00
e9d8583e59 fix(deps): update dependency @hono/zod-openapi to v1.2.2 (#4338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:31:13 +09:00
fb2b8185ea chore(deps): update actions/checkout action to v6 (#4293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:28:12 +09:00
b9c84f4404 chore(deps): update actions/upload-artifact action to v6 (#4294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:28:00 +09:00
465a350890 chore(deps): update dependency @playwright/test to v1.58.2 (#4335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:12:33 +09:00
72886583e9 chore(deps): update dependency glob to v13.0.6 (#4298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:12:02 +09:00
82294be035 chore(deps): update dependency discord-api-types to v0.38.40 (#4336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 04:11:45 +09:00
af9d5aa21e chore(deps): update stefanzweifel/git-auto-commit-action action to v7 (#4302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:44:10 +09:00
a90ec4aa6e fix(deps): update dependency conf to v15.1.0 (#4303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:43:55 +09:00
e3e9985924 fix(deps): update dependency semver to v7.7.4 (#4306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:43:41 +09:00
bac4c03e80 chore(deps): update dependency @electron-toolkit/tsconfig to v2 (#4301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:42:37 +09:00
9c8add02e4 fix(deps): update dependency i18next to v25.8.13 (#4290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:42:13 +09:00
7aaca810ff fix(deps): update dependency hono to v4.11.10 [security] (#4331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-25 03:42:05 +09:00
Bai
41f077b144 chore(i18n): Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/tr/
2026-02-24 15:09:51 +01:00
520d111fe5 chore(i18n): Translated using Weblate (Vietnamese)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/vi/
2026-02-24 15:09:47 +01:00
658b3da7dd chore(i18n): Translated using Weblate (German)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/de/
2026-02-21 15:09:48 +00:00
65e11c01b9 chore(i18n): Translated using Weblate (Telugu)
Currently translated at 4.8% (23 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/te/
2026-02-19 15:09:48 +01:00
4a4c0fe055 chore(i18n): Translated using Weblate (Spanish)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/es/
2026-02-17 11:09:50 +01:00
fd9ae2c23d chore(i18n): Translated using Weblate (French)
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/fr/
2026-02-17 11:09:47 +01:00
b6d2bcd42f chore(i18n): Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/pt_BR/
2026-02-16 03:09:55 +01:00
021972520a chore(i18n): Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (477 of 477 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hans/
2026-02-16 03:09:54 +01:00
90e949d4e9 chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (469 of 469 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2026-02-14 18:09:56 +00:00
208e57bdd3 feat(synced-lyrics): Add Simplified/Traditional Chinese converter and improve Romanization to display tone (#4111)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Angelos Bouklis <me@arjix.dev>
Co-authored-by: JellyBrick <shlee1503@naver.com>
2026-02-13 01:27:48 +09:00
24 changed files with 983 additions and 446 deletions

View File

@ -19,7 +19,7 @@ jobs:
os: [ macos-26, ubuntu-latest, windows-latest ] os: [ macos-26, ubuntu-latest, windows-latest ]
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v4
@ -92,7 +92,7 @@ jobs:
if: github.repository == 'pear-devs/pear-desktop' && github.ref == 'refs/heads/master' if: github.repository == 'pear-devs/pear-desktop' && github.ref == 'refs/heads/master'
needs: build needs: build
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
@ -163,7 +163,7 @@ jobs:
- name: Commit changelog - name: Commit changelog
if: ${{ env.VERSION_HASH == '' }} if: ${{ env.VERSION_HASH == '' }}
uses: stefanzweifel/git-auto-commit-action@v6 uses: stefanzweifel/git-auto-commit-action@v7
with: with:
commit_message: Update changelog for ${{ env.VERSION_TAG }} commit_message: Update changelog for ${{ env.VERSION_TAG }}
file_pattern: "changelog.md" file_pattern: "changelog.md"

View File

@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: "Checkout Repository" - name: "Checkout Repository"
uses: actions/checkout@v5 uses: actions/checkout@v6
- name: "Dependency Review" - name: "Dependency Review"
uses: actions/dependency-review-action@v4 uses: actions/dependency-review-action@v4

View File

@ -33,7 +33,7 @@ jobs:
os: [macos-latest, ubuntu-latest, windows-latest] os: [macos-latest, ubuntu-latest, windows-latest]
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v6
- name: Install pnpm - name: Install pnpm
uses: pnpm/action-setup@v4 uses: pnpm/action-setup@v4
@ -87,7 +87,7 @@ jobs:
pnpm dist:win pnpm dist:win
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v6
with: with:
name: build-artifacts-${{ matrix.os }} name: build-artifacts-${{ matrix.os }}
path: pack/ path: pack/

View File

@ -15,7 +15,7 @@ jobs:
pull-requests: write pull-requests: write
checks: write checks: write
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v6
with: with:
ref: ${{ github.event.pull_request.head.sha }} ref: ${{ github.event.pull_request.head.sha }}

View File

@ -51,6 +51,7 @@
- [Translation](#translation) - [Translation](#translation)
- [Download](#download) - [Download](#download)
- [Arch Linux](#arch-linux) - [Arch Linux](#arch-linux)
- [Solus](#solus)
- [MacOS](#macos) - [MacOS](#macos)
- [Windows](#windows) - [Windows](#windows)
- [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows) - [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows)
@ -84,6 +85,12 @@ latest version.
Install the [`pear-desktop`](https://aur.archlinux.org/packages/pear-desktop) 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). this [wiki page](https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages).
### [Solus](https://getsol.us/)
```bash
sudo eopkg install pear-desktop
```
### macOS ### macOS
You can install the app using Homebrew (see the [cask definition](https://github.com/pear-devs/homebrew-pear)): You can install the app using Homebrew (see the [cask definition](https://github.com/pear-devs/homebrew-pear)):

View File

@ -67,7 +67,7 @@
"@electron-toolkit/tsconfig": "2.0.0", "@electron-toolkit/tsconfig": "2.0.0",
"@electron/remote": "2.1.3", "@electron/remote": "2.1.3",
"@ffmpeg.wasm/core-mt": "0.12.0", "@ffmpeg.wasm/core-mt": "0.12.0",
"@ffmpeg.wasm/main": "0.12.0", "@ffmpeg.wasm/main": "0.13.1",
"@floating-ui/dom": "1.7.5", "@floating-ui/dom": "1.7.5",
"@foobar404/wave": "2.0.5", "@foobar404/wave": "2.0.5",
"@ghostery/adblocker-electron": "2.13.4", "@ghostery/adblocker-electron": "2.13.4",
@ -75,7 +75,7 @@
"@hono/node-server": "1.19.9", "@hono/node-server": "1.19.9",
"@hono/node-ws": "1.3.0", "@hono/node-ws": "1.3.0",
"@hono/swagger-ui": "0.5.3", "@hono/swagger-ui": "0.5.3",
"@hono/zod-openapi": "1.2.1", "@hono/zod-openapi": "1.2.2",
"@hono/zod-validator": "0.7.6", "@hono/zod-validator": "0.7.6",
"@indic-transliteration/sanscript": "1.3.3", "@indic-transliteration/sanscript": "1.3.3",
"@jellybrick/dbus-next": "0.10.3", "@jellybrick/dbus-next": "0.10.3",
@ -89,8 +89,9 @@
"bgutils-js": "3.2.0", "bgutils-js": "3.2.0",
"butterchurn": "3.0.0-beta.5", "butterchurn": "3.0.0-beta.5",
"butterchurn-presets": "3.0.0-beta.4", "butterchurn-presets": "3.0.0-beta.4",
"chinese-conv": "^4.0.0",
"color": "5.0.3", "color": "5.0.3",
"conf": "15.0.2", "conf": "15.1.0",
"custom-electron-prompt": "1.6.1", "custom-electron-prompt": "1.6.1",
"deepmerge-ts": "7.1.5", "deepmerge-ts": "7.1.5",
"electron-debug": "4.1.0", "electron-debug": "4.1.0",
@ -106,10 +107,10 @@
"filenamify": "7.0.1", "filenamify": "7.0.1",
"hanja": "1.1.5", "hanja": "1.1.5",
"happy-dom": "20.5.0", "happy-dom": "20.5.0",
"hono": "4.11.7", "hono": "4.11.10",
"howler": "2.2.4", "howler": "2.2.4",
"html-to-text": "9.0.5", "html-to-text": "9.0.5",
"i18next": "25.8.0", "i18next": "25.8.13",
"jimp": "1.6.0", "jimp": "1.6.0",
"keyboardevent-from-electron-accelerator": "2.0.0", "keyboardevent-from-electron-accelerator": "2.0.0",
"keyboardevents-areequal": "0.2.2", "keyboardevents-areequal": "0.2.2",
@ -121,7 +122,8 @@
"node-html-parser": "7.0.2", "node-html-parser": "7.0.2",
"node-id3": "0.2.9", "node-id3": "0.2.9",
"peerjs": "1.5.5", "peerjs": "1.5.5",
"semver": "7.7.3", "pinyin-pro": "^3.27.0",
"semver": "7.7.4",
"serve": "14.2.5", "serve": "14.2.5",
"socks": "2.8.7", "socks": "2.8.7",
"solid-element": "1.9.1", "solid-element": "1.9.1",
@ -129,7 +131,6 @@
"solid-js": "1.9.11", "solid-js": "1.9.11",
"solid-styled-components": "0.28.5", "solid-styled-components": "0.28.5",
"solid-transition-group": "0.3.0", "solid-transition-group": "0.3.0",
"tiny-pinyin": "1.3.2",
"tinyld": "1.3.4", "tinyld": "1.3.4",
"virtua": "0.48.5", "virtua": "0.48.5",
"vudio": "2.1.1", "vudio": "2.1.1",
@ -138,10 +139,10 @@
"zod": "4.3.6" "zod": "4.3.6"
}, },
"devDependencies": { "devDependencies": {
"@electron-toolkit/tsconfig": "1.0.1", "@electron-toolkit/tsconfig": "2.0.0",
"@eslint/js": "9.39.2", "@eslint/js": "9.39.3",
"@malept/flatpak-bundler": "0.4.0", "@malept/flatpak-bundler": "0.4.0",
"@playwright/test": "1.58.1", "@playwright/test": "1.58.2",
"@stylistic/eslint-plugin": "5.7.1", "@stylistic/eslint-plugin": "5.7.1",
"@total-typescript/ts-reset": "0.6.1", "@total-typescript/ts-reset": "0.6.1",
"@types/electron-localshortcut": "3.1.3", "@types/electron-localshortcut": "3.1.3",
@ -153,20 +154,20 @@
"builtin-modules": "5.0.0", "builtin-modules": "5.0.0",
"cross-env": "10.1.0", "cross-env": "10.1.0",
"del-cli": "7.0.0", "del-cli": "7.0.0",
"discord-api-types": "0.38.38", "discord-api-types": "0.38.40",
"electron": "40.1.0", "electron": "40.1.0",
"electron-builder": "26.7.0", "electron-builder": "26.7.0",
"electron-builder-squirrel-windows": "26.7.0", "electron-builder-squirrel-windows": "26.7.0",
"electron-devtools-installer": "4.0.0", "electron-devtools-installer": "4.0.0",
"electron-vite": "5.0.0", "electron-vite": "5.0.0",
"eslint": "9.39.2", "eslint": "9.39.3",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-import-resolver-exports": "1.0.0-beta.5", "eslint-import-resolver-exports": "1.0.0-beta.5",
"eslint-import-resolver-typescript": "4.4.4", "eslint-import-resolver-typescript": "4.4.4",
"eslint-plugin-import": "2.32.0", "eslint-plugin-import": "2.32.0",
"eslint-plugin-prettier": "5.5.5", "eslint-plugin-prettier": "5.5.5",
"eslint-plugin-solid": "0.14.5", "eslint-plugin-solid": "0.14.5",
"glob": "13.0.0", "glob": "13.0.6",
"node-gyp": "12.2.0", "node-gyp": "12.2.0",
"ts-morph": "27.0.2", "ts-morph": "27.0.2",
"typescript": "5.9.3", "typescript": "5.9.3",

509
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -161,7 +161,8 @@
"default": "Standard", "default": "Standard",
"force-show": "Zeigen erzwungen", "force-show": "Zeigen erzwungen",
"hide": "Versteckt", "hide": "Versteckt",
"label": "Gefällt mir-Knopf" "label": "Gefällt mir-Knopf",
"swap": "Gefällt mir-Knopf Reihenfolge ändern"
}, },
"remove-upgrade-button": "Upgrade-Schaltfläche entfernen", "remove-upgrade-button": "Upgrade-Schaltfläche entfernen",
"theme": { "theme": {
@ -412,6 +413,17 @@
"no-captions": "Keine Untertitel für dieses Lied verfügbar" "no-captions": "Keine Untertitel für dieses Lied verfügbar"
} }
}, },
"clock": {
"description": "Füge eine Uhr der Navigationsleiste hinzu",
"menu": {
"format": {
"24-hour-format": "24-Stunden Format",
"display-seconds": "Sekunden anzeigen",
"label": "Format"
}
},
"name": "Uhr"
},
"compact-sidebar": { "compact-sidebar": {
"description": "Seitenleiste immer in den kompakten Modus setzen", "description": "Seitenleiste immer in den kompakten Modus setzen",
"name": "Kompakte Seitenleiste" "name": "Kompakte Seitenleiste"
@ -830,6 +842,24 @@
"not-found": "⚠️ Kein Text für diesen Song gefunden." "not-found": "⚠️ Kein Text für diesen Song gefunden."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Chinesische Zeichen Umwandeln",
"submenu": {
"disabled": {
"label": "Deaktiviert",
"tooltip": "Chinesische Zeichenkonvertierung deaktivieren"
},
"simplified-to-traditional": {
"label": "Vereinfacht zu Traditionell",
"tooltip": "Vereinfachtes Chinesisch in traditionelles Chinesisch umwandeln"
},
"traditional-to-simplified": {
"label": "Traditionell zu Vereinfacht",
"tooltip": "Traditionelles Chinesisch in vereinfachtes Chinesisch umwandeln"
}
},
"tooltip": "Chinesische Zeichen in traditionell oder vereinfacht umwandeln"
},
"default-text-string": { "default-text-string": {
"label": "Standardzeichen zwischen Texten", "label": "Standardzeichen zwischen Texten",
"tooltip": "Standardzeichen für die Lücke zwischen Songtexten auswählen" "tooltip": "Standardzeichen für die Lücke zwischen Songtexten auswählen"

View File

@ -2,14 +2,14 @@
"common": { "common": {
"console": { "console": {
"plugins": { "plugins": {
"execute-failed": "Απέτυχε η εκτέλεση του πρόσθετου {{pluginName}}::{{contextName}}", "execute-failed": "Απέτυχε η εκτέλεση του plugin {{pluginName}}::{{contextName}}",
"executed-at-ms": "Το πρόσθετο {{pluginName}}::{{contextName}} εκτελέστηκε σε {{ms}}ms", "executed-at-ms": "Το plugin {{pluginName}}::{{contextName}} εκτελέστηκε σε {{ms}}ms",
"initialize-failed": "Απέτυχε η αρχικοποίηση του πρόσθετου \"{{pluginName}}\"", "initialize-failed": "Απέτυχε η εκκίνηση του plugin \"{{pluginName}}\"",
"load-all": "Φόρτωση όλων των πρόσθετων", "load-all": "Φόρτωση όλων των plugin",
"load-failed": "Απέτυχε η φόρτωση του πρόσθετου \"{{pluginName}}\"", "load-failed": "Απέτυχε η φόρτωση του plugin \"{{pluginName}}\"",
"loaded": "Το πρόσθετο \"{{pluginName}}\" φορτώθηκε", "loaded": "Το plugin \"{{pluginName}}\" φορτώθηκε",
"unload-failed": "Απέτυχε η κατάργηση φόρτωσης του πρόσθετου \"{{pluginName}}\"", "unload-failed": "Απέτυχε η εκφόρτωση του plugin \"{{pluginName}}\"",
"unloaded": "Η φόρτωση του πρόσθετου \"{{pluginName}}\" καταργήθηκε" "unloaded": "Το plugin \"{{pluginName}}\" εκφορτώθηκε"
} }
} }
}, },
@ -30,7 +30,7 @@
"receive-command": "Λήφθηκε εντολή μέσω πρωτοκόλλου: \"{{command}}\"" "receive-command": "Λήφθηκε εντολή μέσω πρωτοκόλλου: \"{{command}}\""
}, },
"theme": { "theme": {
"css-file-not-found": "Το αρχείο CSS \"{{cssFile}}\" δεν υπάρχει, αγνόηση" "css-file-not-found": "Το αρχείο CSS \"{{cssFile}}\" δεν υπάρχει, θα αγνοηθεί"
}, },
"unresponsive": { "unresponsive": {
"details": "Σφάλμα απόκρισης!\n{{error}}" "details": "Σφάλμα απόκρισης!\n{{error}}"
@ -44,7 +44,7 @@
}, },
"dialog": { "dialog": {
"hide-menu-enabled": { "hide-menu-enabled": {
"detail": "Το μενού είναι κρυμμένο, χρησιμοποιήστε το 'Alt' για να το εμφανίσετε (ή το 'Escape' αν χρησιμοποιείτε το μενού εφαρμογής)", "detail": "Το μενού είναι κρυμμένο, χρησιμοποιήστε το 'Alt' για να το εμφανίσετε (ή το 'Escape' αν χρησιμοποιείτε το μενού εντός εφαρμογής)",
"message": "Η απόκρυψη μενού είναι ενεργοποιημένη", "message": "Η απόκρυψη μενού είναι ενεργοποιημένη",
"title": "Η απόκρυψη μενού ενεργοποιήθηκε" "title": "Η απόκρυψη μενού ενεργοποιήθηκε"
}, },
@ -53,8 +53,8 @@
"later": "Αργότερα", "later": "Αργότερα",
"restart-now": "Επανεκκίνηση τώρα" "restart-now": "Επανεκκίνηση τώρα"
}, },
"detail": "Το πρόσθετο \"{{pluginName}}\" απαιτεί επανεκκίνηση για να ισχύσει", "detail": "Το plugin \"{{pluginName}}\" απαιτεί επανεκκίνηση για να ενεργοποιηθεί",
"message": "Το \"{{pluginName}}\" χρειάζεται επανεκκίνηση", "message": "Το plugin \"{{pluginName}}\" χρειάζεται επανεκκίνηση",
"title": "Απαιτείται επανεκκίνηση" "title": "Απαιτείται επανεκκίνηση"
}, },
"unresponsive": { "unresponsive": {
@ -63,7 +63,7 @@
"relaunch": "Επανεκκίνηση", "relaunch": "Επανεκκίνηση",
"wait": "Αναμονή" "wait": "Αναμονή"
}, },
"detail": "Λυπούμαστε για την ταλαιπωρία! Παρακαλώ επιλέξτε τι να κάνετε:", "detail": "Λυπούμαστε για την ταλαιπωρία! Παρακαλώ επιλέξτε τι να συμβεί:",
"message": "Η εφαρμογή δεν αποκρίνεται", "message": "Η εφαρμογή δεν αποκρίνεται",
"title": "Το παράθυρο δεν αποκρίνεται" "title": "Το παράθυρο δεν αποκρίνεται"
}, },
@ -71,11 +71,11 @@
"buttons": { "buttons": {
"disable": "Απενεργοποίηση ενημερώσεων", "disable": "Απενεργοποίηση ενημερώσεων",
"download": "Λήψη", "download": "Λήψη",
"ok": "OK" "ok": "Εντάξει"
}, },
"detail": "Μια νέα έκδοση είναι διαθέσιμη και μπορεί να ληφθεί από το {{downloadLink}}", "detail": "Μια νέα έκδοση είναι διαθέσιμη και μπορεί να ληφθεί από τον σύνδεσμο {{downloadLink}}",
"message": "Μια νέα έκδοση είναι διαθέσιμη", "message": "Μια νέα έκδοση είναι διαθέσιμη",
"title": "Διατίθεται ενημέρωση" "title": "Υπάρχει διαθέσιμη ενημέρωση"
} }
}, },
"menu": { "menu": {
@ -97,26 +97,26 @@
"label": "Επιλογές για προχωρημένους", "label": "Επιλογές για προχωρημένους",
"submenu": { "submenu": {
"auto-reset-app-cache": "Επαναφορά μνήμης cache εφαρμογής όταν η εφαρμογή ξεκινά", "auto-reset-app-cache": "Επαναφορά μνήμης cache εφαρμογής όταν η εφαρμογή ξεκινά",
"disable-hardware-acceleration": "Απενεργοποίηση επιτάχυνσης υλικού", "disable-hardware-acceleration": "Απενεργοποίηση επιτάχυνσης από υπολογιστή",
"edit-config-json": "Επεξεργασία του config.json", "edit-config-json": "Επεξεργασία του config.json",
"override-user-agent": "Αντικατάσταση του User-Agent", "override-user-agent": "Παράκαμψη του User-Agent",
"restart-on-config-changes": "Επανεκκίνηση σε αλλαγές του config", "restart-on-config-changes": "Επανεκκίνηση σε αλλαγές του config",
"set-proxy": { "set-proxy": {
"label": "Ορισμός μεσολάβησης", "label": "Ορισμός μεσολβητή",
"prompt": { "prompt": {
"label": "Εισαγωγή διεύθυνσης μεσολάβησης: (αφήστε κενό για απενεργοποίηση)", "label": "Εισαγωγή διεύθυνσης μεσολαβητή: (αφήστε κενό για απενεργοποίηση)",
"placeholder": "Παράδειγμα: SOCKS5://127.0.0.1:9999", "placeholder": "Παράδειγμα: SOCKS5://127.0.0.1:9999",
"title": "Ορισμός μεσολάβησης" "title": "Ρύθμιση μεσολαβητή"
} }
}, },
"toggle-dev-tools": "Εναλλαγή DevTools" "toggle-dev-tools": "Ενεργοποίηση/Απενεργοποίηση DevTools"
} }
}, },
"always-on-top": "Πάντα σε πρώτο πλάνο", "always-on-top": "Πάντα σε ανώτερο πλάνο",
"auto-update": "Αυτόματη ενημέρωση", "auto-update": "Αυτόματη ενημέρωση",
"hide-menu": { "hide-menu": {
"dialog": { "dialog": {
"message": "Το μενού θα κρυφτεί στην επόμενη εκκίνηση, χρησιμοποιήστε [Alt] για να το εμφανίσετε (ή το πλήκτρο backtick [`] αν χρησιμοποιείτε το μενού εφαρμογής)", "message": "Το μενού θα κρυφτεί στην επόμενη εκκίνηση, χρησιμοποιήστε [Alt] για να το εμφανίσετε (ή το πλήκτρο backtick [`] αν χρησιμοποιείτε το μενού εντός εφαρμογής)",
"title": "Η απόκρυψη μενού ενεργοποιήθηκε" "title": "Η απόκρυψη μενού ενεργοποιήθηκε"
}, },
"label": "Απόκρυψη μενού" "label": "Απόκρυψη μενού"
@ -133,7 +133,7 @@
}, },
"resume-on-start": "Συνέχιση τελευταίου τραγουδιού όταν η εφαρμογή ξεκινά", "resume-on-start": "Συνέχιση τελευταίου τραγουδιού όταν η εφαρμογή ξεκινά",
"single-instance-lock": "Κλείδωμα μοναδικής εκδοχής", "single-instance-lock": "Κλείδωμα μοναδικής εκδοχής",
"start-at-login": "Έναρξη κατά τη σύνδεση", "start-at-login": "Έναρξη κατά την είσοδο",
"starting-page": { "starting-page": {
"label": "Αρχική σελίδα", "label": "Αρχική σελίδα",
"unset": "Κατάργηση ορισμού" "unset": "Κατάργηση ορισμού"
@ -161,7 +161,8 @@
"default": "Προεπιλογή", "default": "Προεπιλογή",
"force-show": "Επιβολή εμφάνισης", "force-show": "Επιβολή εμφάνισης",
"hide": "Απόκρυψη", "hide": "Απόκρυψη",
"label": "Κουμπιά Μου αρέσει" "label": "Κουμπιά like",
"swap": "Εναλλαγή της σειράς των κουμπιών like"
}, },
"remove-upgrade-button": "Αφαίρεση κουμπιού αναβάθμισης", "remove-upgrade-button": "Αφαίρεση κουμπιού αναβάθμισης",
"theme": { "theme": {

View File

@ -891,6 +891,24 @@
"show-time-codes": { "show-time-codes": {
"label": "Show time codes", "label": "Show time codes",
"tooltip": "Show the time codes next to the lyrics" "tooltip": "Show the time codes next to the lyrics"
},
"convert-chinese-character": {
"label": "Convert Chinese character",
"submenu": {
"disabled": {
"label": "Disabled",
"tooltip": "Disable Chinese character conversion"
},
"simplified-to-traditional": {
"label": "Simplified to Traditional",
"tooltip": "Convert Simplified Chinese to Traditional Chinese"
},
"traditional-to-simplified": {
"label": "Traditional to Simplified",
"tooltip": "Convert Traditional Chinese to Simplified Chinese"
}
},
"tooltip": "Convert Chinese character to Traditional or Simplified"
} }
}, },
"name": "Synced Lyrics", "name": "Synced Lyrics",

View File

@ -161,7 +161,8 @@
"default": "Predeterminado", "default": "Predeterminado",
"force-show": "Forzar la visualización", "force-show": "Forzar la visualización",
"hide": "Ocultar", "hide": "Ocultar",
"label": "Botones de \"Me Gusta\"" "label": "Botones de \"Me Gusta\"",
"swap": "Intercambiar el orden de los botones de \"Me Gusta\""
}, },
"remove-upgrade-button": "Eliminar el botón de Actualización", "remove-upgrade-button": "Eliminar el botón de Actualización",
"theme": { "theme": {
@ -322,10 +323,10 @@
"label": "Nombre del host" "label": "Nombre del host"
}, },
"https": { "https": {
"label": "HTTPS & Certificados", "label": "HTTPS y Certificados",
"submenu": { "submenu": {
"cert": { "cert": {
"dialogTitle": "Selecciona el archivo de certificado HTTPS", "dialogTitle": "Seleccione el archivo de certificado HTTPS",
"label": "Archivo de certificado (.crt/.pem)" "label": "Archivo de certificado (.crt/.pem)"
}, },
"enable-https": { "enable-https": {
@ -412,6 +413,17 @@
"no-captions": "Sin subtítulos para ésta canción" "no-captions": "Sin subtítulos para ésta canción"
} }
}, },
"clock": {
"description": "Añade un reloj a la barra de navegación",
"menu": {
"format": {
"24-hour-format": "Formato 24 horas",
"display-seconds": "Mostrar segundos",
"label": "Formato"
}
},
"name": "Reloj"
},
"compact-sidebar": { "compact-sidebar": {
"description": "Establecer siempre la barra lateral en modo compacto", "description": "Establecer siempre la barra lateral en modo compacto",
"name": "Barra lateral compacta" "name": "Barra lateral compacta"
@ -830,6 +842,24 @@
"not-found": "⚠️ No se han encontrado letras para esta canción." "not-found": "⚠️ No se han encontrado letras para esta canción."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Convertir carácter Chino",
"submenu": {
"disabled": {
"label": "Deshabilitado",
"tooltip": "Deshabilitar conversión de caracteres Chinos"
},
"simplified-to-traditional": {
"label": "Simplificar a Tradicional",
"tooltip": "Convertir Chino Simplifcado en Chino Tradicional"
},
"traditional-to-simplified": {
"label": "Tradicional a Simplificado",
"tooltip": "Convertir Chino Tradicional a Chino Simplificado"
}
},
"tooltip": "Convertir carácter Chino a Tradicional o Simplificado"
},
"default-text-string": { "default-text-string": {
"label": "Carácter predeterminado entre letras", "label": "Carácter predeterminado entre letras",
"tooltip": "Elige el carácter predeterminado que se utilizará para el espacio entre letras" "tooltip": "Elige el carácter predeterminado que se utilizará para el espacio entre letras"

View File

@ -842,6 +842,24 @@
"not-found": "⚠️ Aucune paroles trouvées pour ce titre." "not-found": "⚠️ Aucune paroles trouvées pour ce titre."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Convertir les caractères Chinois",
"submenu": {
"disabled": {
"label": "Désactivé",
"tooltip": "Désactiver la conversion des caractères Chinois"
},
"simplified-to-traditional": {
"label": "Simplifié a Traditionnel",
"tooltip": "Convertir le Chinois Simplifié au Chinois Traditionnel"
},
"traditional-to-simplified": {
"label": "Traditionnel a Simplifié",
"tooltip": "Convertir le Chinois Traditionnel au Chinois Simplifié"
}
},
"tooltip": "Convertir les caractères Chinois en Traditionnel ou Simplifié"
},
"default-text-string": { "default-text-string": {
"label": "Caractère par défaut entre les paroles", "label": "Caractère par défaut entre les paroles",
"tooltip": "Choisi le caractère par défaut à utiliser pour les blancs entre les paroles" "tooltip": "Choisi le caractère par défaut à utiliser pour les blancs entre les paroles"

View File

@ -21,19 +21,19 @@
"main": { "main": {
"console": { "console": {
"did-finish-load": { "did-finish-load": {
"dev-tools": "Baigta krauti. \"DevTools\" atidaryta" "dev-tools": "Baigta krauti. DevTools atidaryta"
}, },
"i18n": { "i18n": {
"loaded": "\"i18n\" užkrauta" "loaded": "i18n užkrauta"
}, },
"second-instance": { "second-instance": {
"receive-command": "Gauta komanda per protokolą: \"{{command}}\"" "receive-command": "Gauta komanda per protokolą: {{command}}"
}, },
"theme": { "theme": {
"css-file-not-found": "CSS failas \"{{cssFile}}\" neegzistuoja, ignoruojama" "css-file-not-found": "CSS failas {{cssFile}} neegzistuoja, ignoruojama"
}, },
"unresponsive": { "unresponsive": {
"details": "Nereguojanti paklaida\n{{error}}" "details": "Nereguojanti klaida!\n{{error}}"
}, },
"when-ready": { "when-ready": {
"clearing-cache-after-20s": "Išvaloma programos talpykla" "clearing-cache-after-20s": "Išvaloma programos talpykla"
@ -45,25 +45,25 @@
"dialog": { "dialog": {
"hide-menu-enabled": { "hide-menu-enabled": {
"detail": "Meniu yra paslėpta, naudokite 'Alt', kad ją parodyti (arba 'Escape' jei naudojama programos meniu)", "detail": "Meniu yra paslėpta, naudokite 'Alt', kad ją parodyti (arba 'Escape' jei naudojama programos meniu)",
"message": "\"Paslėpti Meniu\" yra įjungta", "message": "Paslėpti Meniu yra įjungta",
"title": "Įjungta \"Paslėpti Meniu\"" "title": "Įjungta Paslėpti Meniu"
}, },
"need-to-restart": { "need-to-restart": {
"buttons": { "buttons": {
"later": "Vėliau", "later": "Vėliau",
"restart-now": "Perkrauti Dabar" "restart-now": "Perkrauti Dabar"
}, },
"detail": "\"{{pluginName}}\" įskiepis reikalauja perkrovimą, kad veiktų", "detail": "{{pluginName}} įskiepis reikalauja perkrovimą, kad veiktų",
"message": "\"{{pluginName}}\" reikia perkrovimo", "message": "{{pluginName}} reikia perkrovimo",
"title": "Reikiamas perkrovimas" "title": "Reikiamas perkrovimas"
}, },
"unresponsive": { "unresponsive": {
"buttons": { "buttons": {
"quit": "Išeiti", "quit": "Baigti",
"relaunch": "Perleisti", "relaunch": "Perleisti",
"wait": "Palaukti" "wait": "Palaukti"
}, },
"detail": "Mes apgailestaujame dėl nepatogumų! prašau pasirinkti ką daryti:", "detail": "Mes apgailestaujame dėl nepatogumų! Prašome pasirinkti ką daryti:",
"message": "Programa Neatsako", "message": "Programa Neatsako",
"title": "Langas Neatsako" "title": "Langas Neatsako"
}, },
@ -84,7 +84,7 @@
"label": "Navigacija", "label": "Navigacija",
"submenu": { "submenu": {
"copy-current-url": "Nukopijuoti dabartinį URL", "copy-current-url": "Nukopijuoti dabartinį URL",
"go-back": "Grįžti Atgal", "go-back": "Grįžti atgal",
"go-forward": "Eiti į priekį", "go-forward": "Eiti į priekį",
"quit": "Išeiti", "quit": "Išeiti",
"restart": "Perkrauti programą" "restart": "Perkrauti programą"
@ -97,19 +97,19 @@
"label": "Išplėstiniai nustatymai", "label": "Išplėstiniai nustatymai",
"submenu": { "submenu": {
"auto-reset-app-cache": "Perkrauti programos talpyklą, kai programa paleidžiama", "auto-reset-app-cache": "Perkrauti programos talpyklą, kai programa paleidžiama",
"disable-hardware-acceleration": "Išjungti aparatūros pagreitį", "disable-hardware-acceleration": "Išjungti aparatūros spartinimą",
"edit-config-json": "Redaguoti config.json", "edit-config-json": "Redaguoti config.json",
"override-user-agent": "Perrašyti \"User-Agent\"", "override-user-agent": "Perrašyti User-Agent",
"restart-on-config-changes": "Perkrauti po config pasikeitimo", "restart-on-config-changes": "Perkrauti po config pasikeitimo",
"set-proxy": { "set-proxy": {
"label": "Nustatyti įgaliotajį serverį", "label": "Nustatyti proxy serverį",
"prompt": { "prompt": {
"label": "Įvesti Įgaliotojo serverio adresą: (palikti tuščią, kad išjungti)", "label": "Įvesti proxy serverio adresą: (palikti tuščią, kad išjungti)",
"placeholder": "Pavyzdys: SOCKS5://127.0.0.1:9999", "placeholder": "Pavyzdys: SOCKS5://127.0.0.1:9999",
"title": "Nustatyti įgaliotajį serverį" "title": "Nustatyti proxy serverį"
} }
}, },
"toggle-dev-tools": "Įjungti/Išjungti DevTools" "toggle-dev-tools": "Įjungti/Išjungti DevTools"
} }
}, },
"always-on-top": "Visada viršuje", "always-on-top": "Visada viršuje",
@ -117,7 +117,7 @@
"hide-menu": { "hide-menu": {
"dialog": { "dialog": {
"message": "Meniu bus paslėpta per kitą paleidimą, naudokite [Alt], kad ją parodyti (arba kairinio kirčio ženklą [`] jei naudojama programos meniu)", "message": "Meniu bus paslėpta per kitą paleidimą, naudokite [Alt], kad ją parodyti (arba kairinio kirčio ženklą [`] jei naudojama programos meniu)",
"title": "\"Paslėpti Meniu\" įjungtas" "title": "Paslėpti Meniu įjungtas"
}, },
"label": "Paslėpti Meniu" "label": "Paslėpti Meniu"
}, },
@ -131,7 +131,7 @@
"to-help-translate": "Norite padėti išversti? Paspauskite čia" "to-help-translate": "Norite padėti išversti? Paspauskite čia"
} }
}, },
"resume-on-start": "Tęsti paskutinę dainą, kai programa bus paleista", "resume-on-start": "Programai pasileidus, tęsti paskutinę dainą",
"single-instance-lock": "Vienkartinis užraktas", "single-instance-lock": "Vienkartinis užraktas",
"start-at-login": "Pradėti nuo prisijungimo", "start-at-login": "Pradėti nuo prisijungimo",
"starting-page": { "starting-page": {
@ -153,7 +153,7 @@
"custom-window-title": { "custom-window-title": {
"label": "Pasirinktinis lango pavadinimas", "label": "Pasirinktinis lango pavadinimas",
"prompt": { "prompt": {
"label": "Įveskite pasirinktinį lango pavadinimą: (palikite tuščią, jei norite išjungti)", "label": "Įveskite pasirinktiną lango pavadinimą: (palikite tuščią kad išjungti)",
"placeholder": "Pavyzdys: {{applicationName}}" "placeholder": "Pavyzdys: {{applicationName}}"
} }
}, },
@ -161,9 +161,10 @@
"default": "Numatytasis", "default": "Numatytasis",
"force-show": "Priversti rodyti", "force-show": "Priversti rodyti",
"hide": "Slėpti", "hide": "Slėpti",
"label": "\"Patinka\" mygtukai" "label": "Patinka mygtukai",
"swap": "Sukeisti „Patinka“ mygtukų vietas"
}, },
"remove-upgrade-button": "Nerodyti \"Patobulinti\" mygtuko", "remove-upgrade-button": "Nerodyti Patobulinti mygtuko",
"theme": { "theme": {
"dialog": { "dialog": {
"button": { "button": {
@ -215,7 +216,7 @@
}, },
"plugins": { "plugins": {
"ad-speedup": { "ad-speedup": {
"description": "Jeigu gros reklama, bus įrašo garsas išjungtas ir pagreitintas 16x", "description": "Jeigu gros reklama, įrašo garsas bus išjungtas ir pagreitintas 16x",
"name": "Reklamos Pagreitinimas" "name": "Reklamos Pagreitinimas"
}, },
"adblocker": { "adblocker": {
@ -226,7 +227,7 @@
"name": "Reklamų blokuotojas" "name": "Reklamų blokuotojas"
}, },
"album-actions": { "album-actions": {
"description": "Prideda Nepatinka, Patinka bei atžymėti Nepatika ir Patinka visoms dainoms grojaraštyje arba albume.", "description": "Prideda mygtukus pažymėti „Nepatinka, Patinka“, „Atžymėti Nepatinka“ bei „Atžymėti Patinka visas dainas grojaraštyje arba albume",
"name": "Albumo Veiksmai" "name": "Albumo Veiksmai"
}, },
"album-color-theme": { "album-color-theme": {
@ -237,12 +238,13 @@
"submenu": { "submenu": {
"percent": "{{ratio}}%" "percent": "{{ratio}}%"
} }
} },
"enable-seekbar": "Įjungti paieškos juostos temavimą"
}, },
"name": "Albumo Spalvų Tema" "name": "Albumo Spalvų Tema"
}, },
"ambient-mode": { "ambient-mode": {
"description": "Pritaiko apšvietimo efektą, perteikdamas švelnias vaizdo įrašo spalvas į ekrano foną.", "description": "Pritaiko apšvietimo efektą, perteikdamas švelnias vaizdo įrašo spalvas į ekrano foną",
"menu": { "menu": {
"blur-amount": { "blur-amount": {
"label": "Suliejimo kiekis", "label": "Suliejimo kiekis",
@ -287,10 +289,10 @@
"name": "Aplinkos rėžimas" "name": "Aplinkos rėžimas"
}, },
"amuse": { "amuse": {
"description": "Prideda {{applicationName}} palaikyma Amuse grojimo valdikliui pagal 6K Labs", "description": "Prideda {{applicationName}} palaikyma Amuse grojimo valdikliui pagal 6K Labs",
"name": "Amuse (Platforma Dainininkams)", "name": "Amuse (Platforma Dainininkams)",
"response": { "response": {
"query": "Amuse API serveris yra veikiantis. Parašykite Get /query kad gautumėte dainos informacija." "query": "Amuse API serveris veikia. Parašykite GET /query kad gautumėte dainos informacija."
} }
}, },
"api-server": { "api-server": {
@ -320,6 +322,22 @@
"hostname": { "hostname": {
"label": "Serverio Pavadinimas" "label": "Serverio Pavadinimas"
}, },
"https": {
"label": "HTTPS ir sertifikatai",
"submenu": {
"cert": {
"dialogTitle": "Pasirinkti HTTPS sertifikato failą",
"label": "Sertifikato failas (.crt/.pem)"
},
"enable-https": {
"label": "Įjungti HTTPS"
},
"key": {
"dialogTitle": "Pasirinkti HTTPS privataus rakto failą",
"label": "Privataus rakto failas (.key/.pem)"
}
}
},
"port": { "port": {
"label": "Prievadas" "label": "Prievadas"
} }
@ -340,19 +358,43 @@
"description": "Pritaikyti garso kompresiją (sumažina garsiausių signalo dalių garsumą ir padidina švelniausių dalių garsumą)", "description": "Pritaikyti garso kompresiją (sumažina garsiausių signalo dalių garsumą ir padidina švelniausių dalių garsumą)",
"name": "Garso Kompresorius" "name": "Garso Kompresorius"
}, },
"auth-proxy-adapter": {
"description": "autentifikavimo „proxy“ paslaugų naudojimo palaikymas",
"menu": {
"disable": "Išjungti „Proxy“ adapterį",
"enable": "Įjungti „Proxy“ adapterį",
"hostname": {
"label": "Sistemos pavadinimas"
},
"port": {
"label": "Prievadas"
}
},
"name": "Autentifikavimo „Proxy“ adapteris",
"prompt": {
"hostname": {
"label": "Įveskite sistemos vardą vietiniui „Proxy“ serveriui (reikalingas perkrovimas):",
"title": "„Proxy“ Sistemos pavadinimas"
},
"port": {
"label": "Įveskite vietinio „Proxy“ serverio prievadą (reikalingas perkrovimas):",
"title": "„Proxy“ Prievadas"
}
}
},
"blur-nav-bar": { "blur-nav-bar": {
"description": "Padaro navigacijos lentą permatomą ir susiliejusią", "description": "Padaro navigacijos lentą permatomą ir susiliejusią",
"name": "Sulieti Navigacijos Lentą" "name": "Sulieti Navigacijos Lentą"
}, },
"bypass-age-restrictions": { "bypass-age-restrictions": {
"description": "Apeiti \"Music Player\" amžiaus patikrinimą", "description": "Apeiti muzikos grotuvo amžiaus patikrinimą",
"name": "Apeiti Amžiaus Apribojimus" "name": "Apeiti Amžiaus Apribojimus"
}, },
"captions-selector": { "captions-selector": {
"description": "„{{applicationName}}“ Garso takelių antraščių parinkiklis", "description": "„{{applicationName}}“ Garso takelių antraščių parinkiklis",
"menu": { "menu": {
"autoload": "Automatiškai pasirinkti paskutinę naudotą antraštę", "autoload": "Automatiškai pasirinkti paskutinę naudotą antraštę",
"disable-captions": "Pagal numatytuosius nustatymus išjungti antraštės" "disable-captions": "Antraštės išjungtos pagal numatytuosius nustatymus"
}, },
"name": "Antraščių parinkiklis", "name": "Antraščių parinkiklis",
"prompt": { "prompt": {
@ -366,10 +408,22 @@
"title": "Atidaryti antraščių parinkiklį" "title": "Atidaryti antraščių parinkiklį"
}, },
"toast": { "toast": {
"caption-changed": "Subtitrai pakeisti į {{language}}", "caption-changed": "Antraštės pakeistos į {{language}}",
"caption-disabled": "Subtitrai išjungti" "caption-disabled": "Antraštės išjungtos",
"no-captions": "Šiai dainai antraštė nepasiekiama"
} }
}, },
"clock": {
"description": "Pridėti laikrodį prie navigacijos lentos",
"menu": {
"format": {
"24-hour-format": "24Valandų Formatas",
"display-seconds": "Rodyti Sekundes",
"label": "Formatas"
}
},
"name": "Laikrodis"
},
"compact-sidebar": { "compact-sidebar": {
"description": "Visada nustatyti šoninę juostą kompaktiniame rėžime", "description": "Visada nustatyti šoninę juostą kompaktiniame rėžime",
"name": "Kompaktinė šoninė juosta" "name": "Kompaktinė šoninė juosta"
@ -377,13 +431,13 @@
"crossfade": { "crossfade": {
"description": "Perliejimas tarp dainų", "description": "Perliejimas tarp dainų",
"menu": { "menu": {
"advanced": "Išplėsti" "advanced": "Išplėsti Nustatymai"
}, },
"name": "Perliejimas [Beta]", "name": "Perliejimas [Beta]",
"prompt": { "prompt": {
"options": { "options": {
"multi-input": { "multi-input": {
"fade-in-duration": "Išblukimo trukmė (ms)", "fade-in-duration": "Pasirodymo trukmė (ms)",
"fade-out-duration": "Išnykimo trukmė (ms)", "fade-out-duration": "Išnykimo trukmė (ms)",
"fade-scaling": { "fade-scaling": {
"label": "Išblukimo stiprumas", "label": "Išblukimo stiprumas",
@ -397,30 +451,32 @@
} }
}, },
"custom-output-device": { "custom-output-device": {
"description": "Konfigūruoti pasirinktiną medijos išvesties įrenginį dainoms",
"menu": { "menu": {
"device-selector": "Pasirinkti įrenginį" "device-selector": "Pasirinkti įrenginį"
}, },
"name": "Pasirinktinas išvesties įrenginys", "name": "Pasirinktinas išvesties įrenginys",
"prompt": { "prompt": {
"device-selector": { "device-selector": {
"label": "Pasirinkti naudotiną medijos išvesties įrenginį",
"title": "Pasirinkite išvesties įrenginį" "title": "Pasirinkite išvesties įrenginį"
} }
} }
}, },
"disable-autoplay": { "disable-autoplay": {
"description": "Pradeda dainą pristabdytame rėžime", "description": "Pradeda dainą pristabdytame rėžime",
"menu": { "menu": {
"apply-once": "Pritaiko tik per programos paleidimą" "apply-once": "Pritaiko tik per programos paleidimą"
}, },
"name": "Išjungti Automatinį leidimą" "name": "Išjungti automatinį leidimą"
}, },
"discord": { "discord": {
"backend": { "backend": {
"already-connected": "Bandyta prisijungti naudojant aktyvų ryšį", "already-connected": "Bandyta prisijungti naudojant aktyvų ryšį",
"connected": "Prisijungta prie \"Discord\"", "connected": "Prisijungta prie Discord",
"disconnected": "Atsijungta nuo \"Discord\"" "disconnected": "Atsijungta nuo Discord"
}, },
"description": "Parodyk savo draugams ko tu klausaisi su \"Turtingas Buvimas\" (Rich Presence)", "description": "Parodyk savo draugams ko tu klausaisi su Rich Presence",
"menu": { "menu": {
"auto-reconnect": "Automatiškai prisijungti", "auto-reconnect": "Automatiškai prisijungti",
"clear-activity": "Išvalyti veiklą", "clear-activity": "Išvalyti veiklą",
@ -428,10 +484,11 @@
"connected": "Prisijungta", "connected": "Prisijungta",
"disconnected": "Atsijungta", "disconnected": "Atsijungta",
"hide-duration-left": "Slėpti kiek liko laiko", "hide-duration-left": "Slėpti kiek liko laiko",
"hide-github-button": "Slėpti \"GitHub\" nuorodos mygtuką", "hide-github-button": "Slėpti GitHub nuorodos mygtuką",
"play-on-application": "Leisti ant \"{{applicationName}}\"", "play-on-application": "Leisti naudojant {{applicationName}}",
"set-inactivity-timeout": "Nustatyti neveiklumo laiką", "set-inactivity-timeout": "Nustatyti neveiklumo laiką",
"set-status-display-type": { "set-status-display-type": {
"label": "Būsenos tekstas",
"submenu": { "submenu": {
"application": "Klausosi {{applicationName}}", "application": "Klausosi {{applicationName}}",
"artist": "Klausosi {artist]", "artist": "Klausosi {artist]",
@ -439,7 +496,7 @@
} }
} }
}, },
"name": "\"Discord\" Turtingas Buvimas (Rich Presence)", "name": "Discord Turtingas Buvimas (Rich Presence)",
"prompt": { "prompt": {
"set-inactivity-timeout": { "set-inactivity-timeout": {
"label": "Įveskite neveiklumo skirtąjį laiką sekundėmis:", "label": "Įveskite neveiklumo skirtąjį laiką sekundėmis:",
@ -455,13 +512,13 @@
"ok": "Gerai" "ok": "Gerai"
}, },
"message": "Aaa! Apgailestaujame, nepavyko atsisiųsti…", "message": "Aaa! Apgailestaujame, nepavyko atsisiųsti…",
"title": "Paklaida atsisiunčiant!" "title": "Klaida atsisiunčiant!"
}, },
"start-download-playlist": { "start-download-playlist": {
"buttons": { "buttons": {
"ok": "Gerai" "ok": "Gerai"
}, },
"detail": "({{playlistSize}} dainos)", "detail": "({{playlistSize}} dainų)",
"message": "Atsisiunčiama {{playlistTitle}} grojaraštį", "message": "Atsisiunčiama {{playlistTitle}} grojaraštį",
"title": "Prasidėjo atsisiuntimas" "title": "Prasidėjo atsisiuntimas"
} }
@ -474,32 +531,34 @@
"download-progress": "Atsisiuntimas: {{percent}}%", "download-progress": "Atsisiuntimas: {{percent}}%",
"downloading": "Atsisiunčiama…", "downloading": "Atsisiunčiama…",
"downloading-counter": "Atsisiunčiama {{current}}/{{total}}…", "downloading-counter": "Atsisiunčiama {{current}}/{{total}}…",
"downloading-playlist": "Atsisiunčiamas grojaraštis \"{{playlistTitle}}\" - {{playlistSize}} dainų {{playlistId}}", "downloading-playlist": "Atsisiunčiamas grojaraštis {{playlistTitle}} - {{playlistSize}} dainų {{playlistId}}",
"error-while-downloading": "Paklaida atsisiunčiant \"{{author}} - {{title}}\": {{error}}", "error-while-downloading": "Klaida atsisiunčiant {{author}} - {{title}}: {{error}}",
"folder-already-exists": "Aplankas {{playlistFolder}} jau egzistuoja", "folder-already-exists": "Aplankas {{playlistFolder}} jau egzistuoja",
"getting-playlist-info": "Gaunama grojaraščio informacija…", "getting-playlist-info": "Gaunama grojaraščio informacija…",
"loading": "Kraunama…", "loading": "Kraunama…",
"playlist-has-only-one-song": "Grojaraštis turi tik vieną elementą, jis atsisiunčiamas tiesiogiai", "playlist-has-only-one-song": "Grojaraštis turi tik vieną elementą, jis atsisiunčiamas tiesiogiai",
"playlist-id-not-found": "Grojaraščio ID nerastas", "playlist-id-not-found": "Grojaraščio ID nerastas",
"playlist-is-empty": "Grojaraštis yra tuščias", "playlist-is-empty": "Grojaraštis yra tuščias",
"playlist-is-mix-or-private": "Paklaida gaunant grojaraščio informaciją: Pasitikrink, kad jis nėra privatus ar \"Surinkta specialiai jums\" grojaraštis\n\n{{error}}", "playlist-is-mix-or-private": "Klaida gaunant grojaraščio informaciją: Pasitikrink, ar jis nėra privatus ar \"Surinkta specialiai jums\" grojaraštis\n\n{{error}}",
"preparing-file": "Failas paruošiamas…", "preparing-file": "Failas ruošiamas…",
"saving": "Išsaugojama…", "saving": "Išsaugoma…",
"trying-to-get-playlist-id": "Bandoma gauti grojaraščio ID: {{playlistId}}", "trying-to-get-playlist-id": "Bandoma gauti grojaraščio ID: {{playlistId}}",
"video-id-not-found": "Vaizdo įrašas nerastas", "video-id-not-found": "Vaizdo įrašas nerastas",
"writing-id3": "Rašoma ID3 žymes…" "writing-id3": "Rašoma ID3 žymes…"
} }
}, },
"description": "Atsisiunčia MP3 / šaltinio garsą tiesiogiai iš sąsajos", "description": "Atsisiunčia MP3 / šaltinio garsą tiesiogiai iš sąsajos",
"menu": { "menu": {
"choose-download-folder": "Pasirinkti atsisiuntimų aplanką", "choose-download-folder": "Pasirinkti atsisiuntimų aplanką",
"download-finish-settings": { "download-finish-settings": {
"label": "Atsisiųsti pabaigus dainą",
"prompt": { "prompt": {
"last-percent": "Po x procentų", "last-percent": "Po x procentų",
"last-seconds": "Paskutinės x sekundės", "last-seconds": "Paskutinės x sekundės",
"title": "Nustatyti kada atsisiųsti" "title": "Nustatyti kada atsisiųsti"
}, },
"submenu": { "submenu": {
"advanced": "Išplėsti Nustatymai",
"enabled": "Įjungtas", "enabled": "Įjungtas",
"mode": "Laiko rėžimas", "mode": "Laiko rėžimas",
"percent": "Procentai", "percent": "Procentai",
@ -507,7 +566,7 @@
} }
}, },
"download-playlist": "Atsisiųsti grojaraštį", "download-playlist": "Atsisiųsti grojaraštį",
"presets": "Iš anksto nustatyti nustatymai", "presets": "Išankstiniai nustatymai",
"skip-existing": "Praleisti egzistuojančius failus" "skip-existing": "Praleisti egzistuojančius failus"
}, },
"name": "Atsiuntėjas", "name": "Atsiuntėjas",
@ -519,11 +578,16 @@
} }
}, },
"equalizer": { "equalizer": {
"description": "Prideda vienodintuvą į grotuvą",
"menu": { "menu": {
"presets": { "presets": {
"label": "Išankstiniai nustatymai" "label": "Išankstiniai nustatymai",
"list": {
"bass-booster": "Žemų dažnių stiprintuvas"
}
} }
} },
"name": "Vienodintuvas"
}, },
"exponential-volume": { "exponential-volume": {
"description": "Padaro garsumo slankiklį eksponentinį, kad būtų lengviau pasirinkti mažesnį garsumą.", "description": "Padaro garsumo slankiklį eksponentinį, kad būtų lengviau pasirinkti mažesnį garsumą.",
@ -532,20 +596,20 @@
"in-app-menu": { "in-app-menu": {
"description": "Duoda meniu lentoms įmantrią, tamsią ar albumo spalvos išvaizdą", "description": "Duoda meniu lentoms įmantrią, tamsią ar albumo spalvos išvaizdą",
"menu": { "menu": {
"hide-dom-window-controls": "Slėpti DOM lango kontroles" "hide-dom-window-controls": "Slėpti DOM lango kontroles"
}, },
"name": "Programos Meniu" "name": "Programos Meniu"
}, },
"lumiastream": { "lumiastream": {
"description": "Prideda \"Lumia Stream\" palaikymą", "description": "Prideda Lumia Stream palaikymą",
"name": "Lumia Stream [Beta]" "name": "Lumia Stream [Beta]"
}, },
"lyrics-genius": { "lyrics-genius": {
"description": "Prideda daugumai dainių žodžių tekstus", "description": "Daugumai dainų prideda jų dainų žodžius",
"menu": { "menu": {
"romanized-lyrics": "Romanizuoti dainų tekstai" "romanized-lyrics": "Romanizuoti dainų tekstai"
}, },
"name": "\"Genius\" Žodžių tekstai", "name": "„Lyrics Genius“ dainų žodžiai",
"renderer": { "renderer": {
"fetched-lyrics": "Gauti žodžiai iš „Genius“" "fetched-lyrics": "Gauti žodžiai iš „Genius“"
} }
@ -557,54 +621,85 @@
}, },
"internal": { "internal": {
"save": "Išsaugoti", "save": "Išsaugoti",
"track-source": "Dainos kilmė", "track-source": "Dainos Šaltinis",
"unknown-user": "Nežinomas Naudotojas" "unknown-user": "Nežinomas Naudotojas"
}, },
"menu": { "menu": {
"click-to-copy-id": "Kopijuoti Vedėjo ID", "click-to-copy-id": "Kopijuoti Vedėjo ID",
"close": "Uždaryti „Muzika Kartu“",
"connected-users": "Prisijungę vartotojai",
"disconnect": "Išjungti „Muzika Kartu“",
"empty-user": "Nėra prisijungusių vartotojų",
"host": "„Muzika Kartu“ Vedėjas",
"join": "Prisijungti prie „Muzika Kartu“",
"permission": { "permission": {
"all": "Leisti svečiams valdyti grojaraštį ir grotuvą", "all": "Leisti svečiams valdyti grojaraštį ir grotuvą",
"host-only": "Tik vedėjas gali valdyti grojaraštį ir grotuvą",
"playlist": "Leisti svečiams valdyti grojaraštį" "playlist": "Leisti svečiams valdyti grojaraštį"
}, },
"set-permission": "Keisti valdymo leidimus", "set-permission": "Keisti valdymo leidimus",
"status": { "status": {
"disconnected": "Atsijungta", "disconnected": "Atsijungta",
"guest": "Prisijungta kaip svečias" "guest": "Prisijungta kaip Svečias",
"host": "Prisijungta kaip Vedėjas"
} }
}, },
"name": "„Muzika Kartu“ [Beta]",
"toast": { "toast": {
"add-song-failed": "Nepavyko pridėti dainos", "add-song-failed": "Nepavyko pridėti dainos",
"remove-song-failed": "Nepavyko pašalinti dainos" "closed": "„Muzika Kartu“ uždaryta",
"disconnected": "„Muzika Kartu“ atsijungė",
"host-failed": "Nepavyko surengti „Muzika Kartu“",
"id-copied": "Vedėjo ID nukopijuota į iškarpinę",
"id-copy-failed": "Nepavyko nukopijuoti vedėjo ID į iškarpinę",
"join-failed": "Nepavyko prisijungti prie „Muzika Kartu“",
"joined": "Prisijungta prie „Muzika Kartu“",
"permission-changed": "„Muzika Kartu“ leidimas pakeistas į „{{permission}}“",
"remove-song-failed": "Nepavyko pašalinti dainos",
"user-connected": "{{name}} prisijungė prie „Muzika Kartu“",
"user-disconnected": "{{name}} išėjo iš „Muzika Kartu“"
} }
}, },
"navigation": { "navigation": {
"description": "Kitas/Ankstenis navigacijos rodyklės tiesiogiai integruotos sąsajoje, kaip tavo mėgstamiausioje naršyklėje", "description": "Kitas/Ankstenis navigacijos rodyklės tiesiogiai integruotos sąsajoje, kaip tavo mėgstamiausioje naršyklėje",
"name": "Navigacija" "name": "Navigacija",
"templates": {
"back": {
"title": "Eiti į praeitą puslapį"
},
"forward": {
"title": "Eiti į kitą puslapį"
}
}
}, },
"no-google-login": { "no-google-login": {
"description": "Pašalinti \"Google\" prisijungimo mygtukus ir nuorodas iš sąsjos", "description": "Pašalinti Google prisijungimo mygtukus ir nuorodas iš sąsajos",
"name": "Be \"Google\" Prisijungimo" "name": "Be Google Prisijungimo"
}, },
"notifications": { "notifications": {
"description": "Rodyti pranešimą, kai pradeda groti daina (interaktyvūs pranešimai pasiekiami sistemoje \"Windows\")", "description": "Rodyti pranešimą, kai pradeda groti daina (interaktyvūs pranešimai pasiekiami sistemoje Windows)",
"menu": { "menu": {
"interactive": "Interaktyvūs pranešimai", "interactive": "Interaktyvūs pranešimai",
"interactive-settings": { "interactive-settings": {
"label": "Interaktyvūs nustatymai", "label": "Interaktyvūs nustatymai",
"submenu": { "submenu": {
"hide-button-text": "Paslėpti mygtuko tekstą", "hide-button-text": "Paslėpti mygtuko tekstą",
"refresh-on-play-pause": "Atnaujinti ant Paleidimo/Pristabdymo", "refresh-on-play-pause": "Perkrauti po Paleidimo/Pristabdymo",
"tray-controls": "Atidaryti/Uždaryti ant padėklo paspaudimo" "tray-controls": "Atidaryti/Uždaryti po paspaudimo ant padėklo"
} }
}, },
"priority": "Pranešimų pirminybė", "priority": "Pranešimų pirmenybė",
"toast-style": "Skrudintas stilius", "toast-style": "įspėjimo pranešimų stilius",
"unpause-notification": "Rodyti pranešimus po dainos paleidimo" "unpause-notification": "Rodyti pranešimą po dainos paleidimo"
}, },
"name": "Pranešimai" "name": "Pranešimai"
}, },
"performance-improvement": {
"description": "Pagerinkite našumą įjungdami eksperimentinius scenarijus",
"name": "Našumo patobulinimas [Beta]"
},
"picture-in-picture": { "picture-in-picture": {
"description": "Leidžia pakeisti programą į \"picture-in-picture\" rėžimą", "description": "Leidžia pakeisti programą į „nuotrauka-nuotraukoje“ rėžimą",
"menu": { "menu": {
"always-on-top": "Visada ant viršaus", "always-on-top": "Visada ant viršaus",
"hotkey": { "hotkey": {
@ -613,17 +708,17 @@
"keybind-options": { "keybind-options": {
"hotkey": "Spartusis klavišas" "hotkey": "Spartusis klavišas"
}, },
"label": "Pasirinkti spartujį klaviša, kad įjungti/išjungti \"picture-in-picture\"", "label": "Pasirinkti spartųjį klavišą, kad įjungti/išjungti „nuotrauka-nuotraukoje“ rėžimą",
"title": "\"Picture-in-picture\" Spartusis klavišas" "title": "„Nuotrauka-Nuotraukoje“ Spartusis klavišas"
} }
}, },
"save-window-position": "Išsaugoti lango poziciją", "save-window-position": "Išsaugoti lango poziciją",
"save-window-size": "Išsaugoti lango dydį", "save-window-size": "Išsaugoti lango dydį",
"use-native-pip": "Naudoti naršyklės savajį PiP" "use-native-pip": "Naudoti naršyklės savąPiP"
}, },
"name": "Picture-in-picture", "name": "Nuotrauka-nuotraukoje",
"templates": { "templates": {
"button": "Picture-in-picture" "button": "Nuotrauka-nuotraukoje"
} }
}, },
"playback-speed": { "playback-speed": {
@ -634,10 +729,10 @@
} }
}, },
"precise-volume": { "precise-volume": {
"description": "Tiksliai valdykite garsumą naudodami pelės ratuką / sparčiuosius klavišus, naudodami pritaikytą HUD ir pritaikomus garsumo žingsnius", "description": "Tiksliai valdykite garsumą naudodami pelės ratuką / sparčiuosius klavišus, naudodami pritaikytą HUD ir pritaikomus garsumo žingsnius",
"menu": { "menu": {
"arrows-shortcuts": "Vietiniai rodyklių klavišai valdikliai", "arrows-shortcuts": "Vietiniai rodyklių klavišų valdikliai",
"custom-volume-steps": "Nustatykite Pasirinktinius Garsumo Žingsnius", "custom-volume-steps": "Nustatykite Pasirinktinius Garsumo Laiptus",
"global-shortcuts": "Pasauliniai spartieji klavišai" "global-shortcuts": "Pasauliniai spartieji klavišai"
}, },
"name": "Tikslus Garsas", "name": "Tikslus Garsas",
@ -651,8 +746,8 @@
"title": "Pasauliniai Garso Klavišai" "title": "Pasauliniai Garso Klavišai"
}, },
"volume-steps": { "volume-steps": {
"label": "Pasirinkti Garso Didinimo/Mažinimo Žingsnius", "label": "Pasirinkti Garso Didinimo/Mažinimo Laipsnius",
"title": "Garso Žingsniai" "title": "Garso Laipsniai"
} }
} }
}, },
@ -667,21 +762,50 @@
} }
}, },
"description": "Leidžia pakeisti vaizdo kokybę su mygtuku ant vaizdo perdangos", "description": "Leidžia pakeisti vaizdo kokybę su mygtuku ant vaizdo perdangos",
"name": "Vaizdo Kokybės Pakeitėjas" "name": "Vaizdo Kokybės Keitėjas",
"renderer": {
"quality-settings-button": {
"label": "Atidaryti grotuvo kokybės keistuvą"
}
}
}, },
"scrobbler": { "scrobbler": {
"menu": { "description": "Pridėti „scrobbling“ palaikymą (pvz., last.fm, Listenbrainz)",
"scrobble-alternative-artist": "Naudoti alternatyvius atlikėjus", "dialog": {
"scrobble-alternative-title": "Naudoti alternatyvius pavadinimus" "lastfm": {
"auth-failed": {
"message": "Nepavyko autentifikuotis su Last.fm\nPaslėpkite iššokantį langą iki kito paleidimo.",
"title": "Autentifikacija nepavyko"
}
}
}, },
"menu": {
"lastfm": {
"api-settings": "Last.fm API nustatymai"
},
"listenbrainz": {
"token": "Įvesti „ListenBrainz“ vartotojo žetoną"
},
"scrobble-alternative-artist": "Naudoti alternatyvius atlikėjus",
"scrobble-alternative-title": "Naudoti alternatyvius pavadinimus",
"scrobble-other-media": "„Scrobble“ kitas medijas"
},
"name": "„Scrobbler“",
"prompt": { "prompt": {
"lastfm": { "lastfm": {
"api-key": "Last.fm API raktas" "api-key": "Last.fm API raktas",
"api-secret": "Last.fm API paslaptis"
},
"listenbrainz": {
"token": {
"label": "Įveskite savo „ListenBrainz“ vartotojo žetoną:",
"title": "„ListenBrainz“ žetonas"
}
} }
} }
}, },
"shortcuts": { "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.", "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": { "menu": {
"override-media-keys": "Perrašyti Medijos klavišus", "override-media-keys": "Perrašyti Medijos klavišus",
"set-keybinds": "Nustatyti Pasaulines Dainų Kontroles" "set-keybinds": "Nustatyti Pasaulines Dainų Kontroles"
@ -712,11 +836,82 @@
"name": "Rėmėjų blokuotojas" "name": "Rėmėjų blokuotojas"
}, },
"synced-lyrics": { "synced-lyrics": {
"description": "Teikia sinchronizuotus dainų žodžius, naudojantis tiekėjais kaip LRClib.", "description": "Teikia sinchronizuotus dainų žodžius, naudojantis tiekėjais kaip LRClib.",
"errors": { "errors": {
"fetch": "⚠️\t\tĮvyko klaida gaunant dainos žodžius.\n\tPabandykite dar karta vėliau.", "fetch": "⚠️\t\tĮvyko klaida gaunant dainos žodžius.\n\tPabandykite dar karta vėliau.",
"not-found": "⚠️ Šiai dainai nerasti dainos tekstai." "not-found": "⚠️ Šiai dainai nerasti dainos tekstai."
}, },
"menu": {
"convert-chinese-character": {
"label": "Konvertuoti Kinietišką ženklą",
"submenu": {
"disabled": {
"label": "Išjungtas",
"tooltip": "Išjungti Kinietiškų ženklų konvertavimą"
},
"simplified-to-traditional": {
"label": "Supaprastintą į Tradicinę",
"tooltip": "Konvertuoti Supaprastintą Kinų kalbą į Tradicinę Kinų kalbą"
},
"traditional-to-simplified": {
"label": "Tradicionalią į Supaprastintą",
"tooltip": "Konvertuoti Tradicionalią Kinų kalbą į Supaprastintą Kinų kalbą"
}
},
"tooltip": "Konvertuoti Kinietiškus ženklus į Tradicinę arba Supaprastintą"
},
"default-text-string": {
"label": "Numatyti simboliai tarp dainos žodžių",
"tooltip": "Pasirinkite numatytąjį simbolį kurį naudoti tarpui tarp dainos žodžių"
},
"line-effect": {
"label": "Teksto linijos efektas",
"submenu": {
"fancy": {
"label": "Prašmatnus",
"tooltip": "Naudoti didelius, panašius į programos efektus dabartinei eilutei"
},
"focus": {
"label": "Sutelkti dėmesį",
"tooltip": "Padaryti tik dabartinę eilutę baltą"
},
"offset": {
"label": "Nuokrypis",
"tooltip": "Dabartinę eilutę pastumti iš dešinės"
},
"scale": {
"label": "Skalė",
"tooltip": "Padidinti dabartinę eilutę"
}
},
"tooltip": "Pasirinkti efektą, kurį pritaikyti dabartinei linijai"
},
"precise-timing": {
"label": "Tobulai sinchronizuoti dainos žodžius",
"tooltip": "Apskaičiuoti kitos eilutės rodymą milisekundės tikslumu (gali turėti nedidelę įtaką našumui)"
},
"preferred-provider": {
"label": "Pageidaujamas tiekėjas",
"none": {
"label": "Jokio",
"tooltip": "Jokio pageidaujamo tiekėjo"
},
"tooltip": "Pasirinkti numatytąjį tiekėją kurį naudoti"
},
"romanization": {
"label": "Romanizuoti dainos žodžius",
"tooltip": "jei dainos žodžiai yra kita kalba, bandyti pateikti lotyniškų ženklų versiją."
},
"show-lyrics-even-if-inexact": {
"label": "Rodyti dainos žodžius, net jei jie netikslūs",
"tooltip": "Jeigu daina nerasta, įskiepis bando iš naujo su skirtinga paieškos užklausa.\nAntro bandymo rezultatas gali būti netikslus."
},
"show-time-codes": {
"label": "Rodyti laiko žymes",
"tooltip": "Rodyti laiko žymes kartu su dainos žodžiais"
}
},
"name": "„Synced Lyrics“",
"refetch-btn": { "refetch-btn": {
"fetching": "Gaunama...", "fetching": "Gaunama...",
"normal": "Atgauti dainos žodžius" "normal": "Atgauti dainos žodžius"
@ -732,15 +927,40 @@
"name": "Užduočių juostos medijos valdymas" "name": "Užduočių juostos medijos valdymas"
}, },
"touchbar": { "touchbar": {
"description": "Pridedamas jutiklinės juostos valdiklis MacOS vartotojams", "description": "Pridedamas jutiklinės juostos valdiklis MacOS vartotojams",
"name": "TouchBar" "name": "TouchBar"
},
"transparent-player": {
"description": "Padaro programos langą skaidrų",
"menu": {
"opacity": {
"label": "Skaidrumas",
"submenu": {
"percent": "{{opacity}}%"
}
},
"type": {
"label": "Tipas",
"submenu": {
"acrylic": "Akrilas",
"mica": "Žėrutis",
"none": "Joks",
"tabbed": "Atskirtas"
}
}
},
"name": "Skaidrus Grotuvas"
}, },
"tuna-obs": { "tuna-obs": {
"description": "Integracija su OBS papildiniu \"Tuna\"", "description": "Integracija su OBS papildiniu Tuna",
"name": "Tuna OBS" "name": "Tuna OBS"
},
"unobtrusive-player": {
"description": "Trukdo grotuvo atsidarymui grojant dainą",
"name": "Netrukdantis Grotuvas"
}, },
"video-toggle": { "video-toggle": {
"description": "Pridedamas mygtukas, skirtas perjungti vaizdo įrašo/dainos režimą. taip pat galite pasirinktinai pašalinti visą vaizdo įrašo skirtuką", "description": "Pridedamas mygtukas, skirtas perjungti vaizdo įrašo/dainos režimą. Taip pat galite pasirinktinai pašalinti visą vaizdo įrašo skirtuką",
"menu": { "menu": {
"align": { "align": {
"label": "Lygiavimas", "label": "Lygiavimas",
@ -762,7 +982,8 @@
}, },
"name": "Vaizdo įrašo perjungimas", "name": "Vaizdo įrašo perjungimas",
"templates": { "templates": {
"button-song": "Daina" "button-song": "Daina",
"button-video": "Vaizdo įrašas"
} }
}, },
"visualizer": { "visualizer": {

View File

@ -842,6 +842,24 @@
"not-found": "⚠️ Nenhuma letra encontrada para esta música." "not-found": "⚠️ Nenhuma letra encontrada para esta música."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Converter caracteres Chineses",
"submenu": {
"disabled": {
"label": "Desativado",
"tooltip": "Desativar conversão de caracteres Chineses"
},
"simplified-to-traditional": {
"label": "Simplificado para Tradicional",
"tooltip": "Converter Chinês Simplificado para Chinês Tradicional"
},
"traditional-to-simplified": {
"label": "Tradicional para Simplificado",
"tooltip": "Converter Chinês Tradicional para Chinês Simplificado"
}
},
"tooltip": "Converter caractere Chinês para Tradicional ou Simplificado"
},
"default-text-string": { "default-text-string": {
"label": "Caractere padrão entre letras", "label": "Caractere padrão entre letras",
"tooltip": "Escolha o caractere padrão a ser usado para o intervalo entre as letras" "tooltip": "Escolha o caractere padrão a ser usado para o intervalo entre as letras"

View File

@ -25,6 +25,34 @@
}, },
"i18n": { "i18n": {
"loaded": "i18n లోడ్ చేయబడింది" "loaded": "i18n లోడ్ చేయబడింది"
},
"second-instance": {
"receive-command": "ప్రోటోకాల్ ద్వారా కమాండ్ స్వీకరించబడింది: \"{{command}}\""
},
"theme": {
"css-file-not-found": "CSS ఫైల్ \"{{cssFile}}\" లేదు, విస్మరిస్తున్నాము"
},
"unresponsive": {
"details": "స్పందించని ఎర్రర్!\n{{error}}"
},
"when-ready": {
"clearing-cache-after-20s": "యాప్ కాష్ క్లియర్ చేయబడుతోంది"
},
"window": {
"tried-to-render-offscreen": "విండో స్క్రీన్ వెలుపల రెండర్ చేయడానికి ప్రయత్నించింది, windowSize={{windowSize}}, displaySize={{displaySize}}, position={{position}}"
}
},
"dialog": {
"hide-menu-enabled": {
"detail": "మెనూ దాచబడింది, దాన్ని చూపించడానికి 'Alt' ఉపయోగించండి (లేదా ఒకవేళ In-App Menu ఉపయోగిస్తుంటే 'Escape' ఉపయోగించండి)",
"message": "Hide Menu ఎనేబుల్ చేయబడింది",
"title": "Hide Menu ఎనేబుల్ అయిపోయింది"
},
"need-to-restart": {
"buttons": {
"later": "తర్వాత",
"restart-now": "ఇప్పుడే రీస్టార్ట్ చేయండి"
}
} }
} }
} }

View File

@ -842,6 +842,24 @@
"not-found": "⚠️ Bu şarkı için şarkı sözleri bulunamadı." "not-found": "⚠️ Bu şarkı için şarkı sözleri bulunamadı."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Çince karakterleri çevir",
"submenu": {
"disabled": {
"label": "Devre dışı bırak",
"tooltip": "Çince karakterleri çevirmeyi devre dışı bırak"
},
"simplified-to-traditional": {
"label": "Basitleştirilmişten Geleneksele",
"tooltip": "Basitleştirilmiş Ç*nceyi Geleneksel Ç*nceye Çevir"
},
"traditional-to-simplified": {
"label": "Gelenekselden Basitleştirilmişe",
"tooltip": "Geleneksel Çince'yi Basitleştirilmiş Çince'ye dönüştür"
}
},
"tooltip": "Çince karakterleri Geleneksel veya Basitleştirilmiş Çinceye dönüştür"
},
"default-text-string": { "default-text-string": {
"label": "Şarkı sözleri arasında varsayılan karakter", "label": "Şarkı sözleri arasında varsayılan karakter",
"tooltip": "Şarkı sözleri arasındaki boşluk için kullanılacak varsayılan karakteri seçin" "tooltip": "Şarkı sözleri arasındaki boşluk için kullanılacak varsayılan karakteri seçin"

View File

@ -161,7 +161,8 @@
"default": "Mặc định", "default": "Mặc định",
"force-show": "Tập trung hiển thị", "force-show": "Tập trung hiển thị",
"hide": "Ẩn", "hide": "Ẩn",
"label": "Nút thích" "label": "Nút thích",
"swap": "Hoán đổi thứ tự nút Thích"
}, },
"remove-upgrade-button": "Xóa nút nâng cấp", "remove-upgrade-button": "Xóa nút nâng cấp",
"theme": { "theme": {
@ -237,7 +238,8 @@
"submenu": { "submenu": {
"percent": "{{ratio}}%" "percent": "{{ratio}}%"
} }
} },
"enable-seekbar": "Bật tùy chỉnh giao diện cho thanh trượt"
}, },
"name": "Màu nền album" "name": "Màu nền album"
}, },
@ -321,9 +323,18 @@
"label": "Tên máy chủ" "label": "Tên máy chủ"
}, },
"https": { "https": {
"label": "HTTPS & Chứng chỉ",
"submenu": { "submenu": {
"cert": {
"dialogTitle": "Chọn tệp chứng chỉ HTTPS",
"label": "Tệp chứng chỉ (.crt/.pem)"
},
"enable-https": { "enable-https": {
"label": "Bật HTTPS" "label": "Bật HTTPS"
},
"key": {
"dialogTitle": "Chọn tệp khóa riêng HTTPS",
"label": "Tệp khóa riêng (.key/.pem)"
} }
} }
}, },
@ -402,6 +413,17 @@
"no-captions": "Không có phụ đề nào cho bài hát này" "no-captions": "Không có phụ đề nào cho bài hát này"
} }
}, },
"clock": {
"description": "Thêm đồng hồ vào thanh điều hướng",
"menu": {
"format": {
"24-hour-format": "Định dạng 24h",
"display-seconds": "Hiển thị giây",
"label": "Định dạng"
}
},
"name": "Đồng hồ"
},
"compact-sidebar": { "compact-sidebar": {
"description": "Luôn đặt thanh bên ở chế độ thu gọn", "description": "Luôn đặt thanh bên ở chế độ thu gọn",
"name": "Thanh bên thu gọn" "name": "Thanh bên thu gọn"
@ -820,6 +842,24 @@
"not-found": "⚠️ Không tìm thấy lời cho bài hát này." "not-found": "⚠️ Không tìm thấy lời cho bài hát này."
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "Chuyển đổi kí tự tiếng Trung",
"submenu": {
"disabled": {
"label": "Vô hiệu hóa",
"tooltip": "Vô hiệu hóa chuyển đổi kí tự tiếng Trung"
},
"simplified-to-traditional": {
"label": "Giản thể sang Phồn thể",
"tooltip": "Chuyển đổi tiếng Trung Giản thể sang tiếng Trung Phồn thể"
},
"traditional-to-simplified": {
"label": "Phồn thể sang Giản thể",
"tooltip": "Chuyển đổi tiếng Trung Phồn thể sang tiếng Trung Giản thể"
}
},
"tooltip": "Chuyển đổi kí tự tiếng Trung sang Phồn thể hoặc Giản thể"
},
"default-text-string": { "default-text-string": {
"label": "Kí tự giữa các lời bài hát", "label": "Kí tự giữa các lời bài hát",
"tooltip": "Chọn kí tự mặc định cho khoảng trống giữa các lời bài hát" "tooltip": "Chọn kí tự mặc định cho khoảng trống giữa các lời bài hát"

View File

@ -842,6 +842,24 @@
"not-found": "⚠️ 未找到此歌曲的歌词。" "not-found": "⚠️ 未找到此歌曲的歌词。"
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "转换中文字符",
"submenu": {
"disabled": {
"label": "已停用",
"tooltip": "禁用中文字符转换"
},
"simplified-to-traditional": {
"label": "简体到繁体",
"tooltip": "转换简体中文到繁体中文"
},
"traditional-to-simplified": {
"label": "繁体到简体",
"tooltip": "转换繁体中文到简体中文"
}
},
"tooltip": "转换简繁体中文字符"
},
"default-text-string": { "default-text-string": {
"label": "默认的歌词行间字符", "label": "默认的歌词行间字符",
"tooltip": "选择在歌词间隙期间默认显示的字符" "tooltip": "选择在歌词间隙期间默认显示的字符"

View File

@ -161,7 +161,8 @@
"default": "預設", "default": "預設",
"force-show": "強制顯示", "force-show": "強制顯示",
"hide": "隱藏", "hide": "隱藏",
"label": "按讚按鈕" "label": "按讚按鈕",
"swap": "交換讚及倒讚的按鈕位置"
}, },
"remove-upgrade-button": "移除升級按鈕", "remove-upgrade-button": "移除升級按鈕",
"theme": { "theme": {
@ -321,6 +322,22 @@
"hostname": { "hostname": {
"label": "主機名稱" "label": "主機名稱"
}, },
"https": {
"label": "HTTPS 及 憑證",
"submenu": {
"cert": {
"dialogTitle": "選擇憑證檔案",
"label": "憑證檔案(.crt/.pem"
},
"enable-https": {
"label": "啟用 HTTPS"
},
"key": {
"dialogTitle": "選擇私人金鑰檔案",
"label": "私人金鑰檔案(.key/.pem"
}
}
},
"port": { "port": {
"label": "連接埠" "label": "連接埠"
} }
@ -396,6 +413,17 @@
"no-captions": "該首歌曲無可用的字幕" "no-captions": "該首歌曲無可用的字幕"
} }
}, },
"clock": {
"description": "新增時鐘至應用程式上方",
"menu": {
"format": {
"24-hour-format": "24 小時制",
"display-seconds": "顯示秒數",
"label": "時間格式"
}
},
"name": "時鐘"
},
"compact-sidebar": { "compact-sidebar": {
"description": "永遠讓側邊欄保持收合狀態", "description": "永遠讓側邊欄保持收合狀態",
"name": "收合側邊欄" "name": "收合側邊欄"
@ -462,8 +490,8 @@
"set-status-display-type": { "set-status-display-type": {
"label": "狀態樣式", "label": "狀態樣式",
"submenu": { "submenu": {
"artist": "正在聆聽 {artist} 的歌曲",
"application": "正在聆聽 {{applicationName}}", "application": "正在聆聽 {{applicationName}}",
"artist": "正在聆聽 {artist} 的歌曲",
"title": "正在聆聽 {song title}" "title": "正在聆聽 {song title}"
} }
} }
@ -814,6 +842,24 @@
"not-found": "⚠️未找到該首歌曲的歌詞。" "not-found": "⚠️未找到該首歌曲的歌詞。"
}, },
"menu": { "menu": {
"convert-chinese-character": {
"label": "繁簡轉換",
"submenu": {
"disabled": {
"label": "已停用",
"tooltip": "停用繁簡轉換"
},
"simplified-to-traditional": {
"label": "簡體轉繁體",
"tooltip": "轉換簡體中文至繁體中文"
},
"traditional-to-simplified": {
"label": "繁體轉簡體",
"tooltip": "轉換繁體中文至簡體中文"
}
},
"tooltip": "轉換中文字符至繁體或簡體"
},
"default-text-string": { "default-text-string": {
"label": "預設歌詞中間隔的符號", "label": "預設歌詞中間隔的符號",
"tooltip": "選擇歌詞中間隔要使用的符號" "tooltip": "選擇歌詞中間隔要使用的符號"

View File

@ -153,6 +153,62 @@ export const menu = async (
}); });
}, },
}, },
{
label: t('plugins.synced-lyrics.menu.convert-chinese-character.label'),
toolTip: t(
'plugins.synced-lyrics.menu.convert-chinese-character.tooltip',
),
type: 'submenu',
submenu: [
{
label: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.disabled.label',
),
toolTip: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.disabled.tooltip',
),
type: 'radio',
checked:
config.convertChineseCharacter === 'disabled' ||
config.convertChineseCharacter === undefined,
click() {
ctx.setConfig({
convertChineseCharacter: 'disabled',
});
},
},
{
label: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.simplified-to-traditional.label',
),
toolTip: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.simplified-to-traditional.tooltip',
),
type: 'radio',
checked: config.convertChineseCharacter === 'simplifiedToTraditional',
click() {
ctx.setConfig({
convertChineseCharacter: 'simplifiedToTraditional',
});
},
},
{
label: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.traditional-to-simplified.label',
),
toolTip: t(
'plugins.synced-lyrics.menu.convert-chinese-character.submenu.traditional-to-simplified.tooltip',
),
type: 'radio',
checked: config.convertChineseCharacter === 'traditionalToSimplified',
click() {
ctx.setConfig({
convertChineseCharacter: 'traditionalToSimplified',
});
},
},
],
},
{ {
label: t('plugins.synced-lyrics.menu.show-time-codes.label'), label: t('plugins.synced-lyrics.menu.show-time-codes.label'),
toolTip: t('plugins.synced-lyrics.menu.show-time-codes.tooltip'), toolTip: t('plugins.synced-lyrics.menu.show-time-codes.tooltip'),

View File

@ -1,6 +1,11 @@
import { createEffect, createSignal, Show } from 'solid-js'; import { createEffect, createMemo, createSignal, Show } from 'solid-js';
import { canonicalize, romanize, simplifyUnicode } from '../utils'; import {
canonicalize,
convertChineseCharacter,
romanize,
simplifyUnicode,
} from '../utils';
import { config } from '../renderer'; import { config } from '../renderer';
interface PlainLyricsProps { interface PlainLyricsProps {
@ -9,11 +14,19 @@ interface PlainLyricsProps {
export const PlainLyrics = (props: PlainLyricsProps) => { export const PlainLyrics = (props: PlainLyricsProps) => {
const [romanization, setRomanization] = createSignal(''); const [romanization, setRomanization] = createSignal('');
const text = createMemo(() => {
let line = props.line;
const convertChineseText = config()?.convertChineseCharacter;
if (convertChineseText && convertChineseText !== 'disabled') {
line = convertChineseCharacter(line, convertChineseText);
}
return line;
});
createEffect(() => { createEffect(() => {
if (!config()?.romanization) return; if (!config()?.romanization) return;
const input = canonicalize(props.line); const input = canonicalize(text());
romanize(input).then((result) => { romanize(input).then((result) => {
setRomanization(canonicalize(result)); setRomanization(canonicalize(result));
}); });
@ -31,13 +44,13 @@ export const PlainLyrics = (props: PlainLyricsProps) => {
> >
<yt-formatted-string <yt-formatted-string
text={{ text={{
runs: [{ text: props.line }], runs: [{ text: text() }],
}} }}
/> />
<Show <Show
when={ when={
config()?.romanization && config()?.romanization &&
simplifyUnicode(props.line) !== simplifyUnicode(romanization()) simplifyUnicode(text()) !== simplifyUnicode(romanization())
} }
> >
<yt-formatted-string <yt-formatted-string

View File

@ -7,7 +7,12 @@ import { type LineLyrics } from '@/plugins/synced-lyrics/types';
import { config, currentTime } from '../renderer'; import { config, currentTime } from '../renderer';
import { _ytAPI } from '..'; import { _ytAPI } from '..';
import { canonicalize, romanize, simplifyUnicode } from '../utils'; import {
canonicalize,
convertChineseCharacter,
romanize,
simplifyUnicode,
} from '../utils';
interface SyncedLineProps { interface SyncedLineProps {
scroller: VirtualizerHandle; scroller: VirtualizerHandle;
@ -81,7 +86,14 @@ const EmptyLine = (props: SyncedLineProps) => {
}; };
export const SyncedLine = (props: SyncedLineProps) => { export const SyncedLine = (props: SyncedLineProps) => {
const text = createMemo(() => props.line.text.trim()); const text = createMemo(() => {
let line = props.line.text;
const convertChineseText = config()?.convertChineseCharacter;
if (convertChineseText && convertChineseText !== 'disabled') {
line = convertChineseCharacter(line, convertChineseText);
}
return line.trim();
});
const [romanization, setRomanization] = createSignal(''); const [romanization, setRomanization] = createSignal('');
createEffect(() => { createEffect(() => {

View File

@ -3,10 +3,11 @@ import KuromojiAnalyzer from 'kuroshiro-analyzer-kuromoji';
import Kuroshiro from 'kuroshiro'; import Kuroshiro from 'kuroshiro';
import { romanize as esHangulRomanize } from 'es-hangul'; import { romanize as esHangulRomanize } from 'es-hangul';
import hanja from 'hanja'; import hanja from 'hanja';
import * as pinyin from 'tiny-pinyin'; import { pinyin } from 'pinyin-pro';
import { romanize as romanizeThaiFrag } from '@dehoist/romanize-thai'; import { romanize as romanizeThaiFrag } from '@dehoist/romanize-thai';
import { lazy } from 'lazy-var'; import { lazy } from 'lazy-var';
import { detect } from 'tinyld'; import { detect } from 'tinyld';
import { sify, tify } from 'chinese-conv';
import Sanscript from '@indic-transliteration/sanscript'; import Sanscript from '@indic-transliteration/sanscript';
import { waitForElement } from '@/utils/wait-for-element'; import { waitForElement } from '@/utils/wait-for-element';
@ -85,6 +86,20 @@ export const canonicalize = (text: string) => {
); );
}; };
export const convertChineseCharacter = (
text: string,
mode: 'simplifiedToTraditional' | 'traditionalToSimplified',
) => {
if (!hasChinese([text])) return text;
switch (mode) {
case 'simplifiedToTraditional':
return tify(text);
case 'traditionalToSimplified':
return sify(text);
}
};
export const simplifyUnicode = (text?: string) => export const simplifyUnicode = (text?: string) =>
text text
? text ? text
@ -172,9 +187,9 @@ export const romanizeHangul = (line: string) =>
esHangulRomanize(hanja.translate(line, 'SUBSTITUTION')); esHangulRomanize(hanja.translate(line, 'SUBSTITUTION'));
export const romanizeChinese = (line: string) => { export const romanizeChinese = (line: string) => {
return line.replaceAll(/[\u4E00-\u9FFF]+/g, (match) => return line.replaceAll(/[\u4E00-\u9FFF]+/g, (match) => {
pinyin.convertToPinyin(match, ' ', true), return pinyin(match, { separator: ' ' });
); });
}; };
const thaiSegmenter = Intl.Segmenter.supportedLocalesOf('th').includes('th') const thaiSegmenter = Intl.Segmenter.supportedLocalesOf('th').includes('th')

View File

@ -10,6 +10,10 @@ export type SyncedLyricsPluginConfig = {
showLyricsEvenIfInexact: boolean; showLyricsEvenIfInexact: boolean;
lineEffect: LineEffect; lineEffect: LineEffect;
romanization: boolean; romanization: boolean;
convertChineseCharacter?:
| 'simplifiedToTraditional'
| 'traditionalToSimplified'
| 'disabled';
}; };
export type LineLyricsStatus = 'previous' | 'current' | 'upcoming'; export type LineLyricsStatus = 'previous' | 'current' | 'upcoming';