187 Commits
Author SHA1 Message Date
amd64foxandGitHub e22aba4ed4 version bump to 1.2.94 2026-07-11 16:37:12 +03:00
amd64fox 9eafb084c6 testing the new patch for slots in version 1.2.94
#876
2026-07-11 15:50:34 +03:00
amd64fox 550bc72cd1 feat(binary): enable native crossfade patch
- enable crossfade_enabled in Spotify.dll for 1.2.89+ free users #866

- share pe scanning helpers between dll signature and feature patches
2026-07-07 01:40:11 +03:00
amd64fox 981411947b corrected version 2026-07-02 00:46:46 +03:00
amd64fox 837d5d2471 version bump to 1.2.93 2026-07-02 00:45:00 +03:00
amd64fox ba77e8cc0b preparing for 1.2.93
- support ui-licenses.html
2026-06-27 02:20:15 +03:00
amd64fox fca14a99ba fix(installer): avoid duplicate pause prompts 2026-06-16 19:38:51 +03:00
amd64fox 0725e3465f enabled user top tracks 1.2.90+ 2026-06-15 22:41:42 +03:00
amd64fox 3284673df6 version bump to 1.2.92 2026-06-12 00:45:17 +03:00
amd64fox 95882aa5b3 version corrected 2026-05-30 22:39:47 +03:00
amd64fox b53956f71d fix(patches): skip version-mismatched patch targets
- check patch versions before opening target files
- add the home-v2 empty response check patch #862
2026-05-30 22:06:22 +03:00
49d6db9448 Fix strict-mode installer state initialization (#859)
* fix: initialize version comparison flags

* fix: initialize installer state defaults

* docs: explain installer state defaults

* fix: initialize remaining runtime state

* initialize curl capability cache and local patch accumulator before they are read

* this fixes StrictMode failures in curl download detection and product_state patch assembly

---------

Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2026-05-26 18:08:00 +03:00
amd64foxandGitHub 0154f9b353 Fix Spotify link in README 2026-05-24 02:13:57 +03:00
amd64fox 13ef73f820 version bump to 1.2.90 2026-05-20 22:46:05 +03:00
amd64fox 8e2595922e version bump to 1.2.89
- Show "Make this a playlist" button when filtering Liked Songs by genre
- Resolve short recommended Spotify versions through versions.json
- Keep downloads on short loadspot URLs
- Auto-handle explicit -v downgrade installs
- Simplify installer translation messages
2026-05-08 14:45:51 +03:00
amd64fox bd5de69a7e version bump to 1.2.88.485 2026-05-04 12:12:12 +03:00
amd64fox 730ea89a66 version bump to 1.2.88.484 2026-04-29 23:32:09 +03:00
amd64fox 513bbdbe57 fix: update SpotX check version source 2026-04-29 23:22:50 +03:00
amd64fox c1c04dd69b fix: use uk language code for Ukrainian locale 2026-04-27 19:16:07 +03:00
amd64fox 7fde1cbe98 download error fixed 2026-04-26 22:10:47 +03:00
amd64fox 71a8cfdcc2 version bump to 1.2.88.483
- localization for tags in liked songs has been fixed
- added support for custom themes for lyrics in versions 1.2.80+
- lyrics are disabled for the right panel
2026-04-26 21:59:57 +03:00
amd64fox 0abf98a36b fix(js-helper): stop sending version_unavailable to worker
log latest resolution failures in the client console instead

avoid noisy worker error events when all latest sources fail
2026-04-08 09:11:16 +03:00
amd64fox ef6601d186 fix(js-helper): ignore empty bearer and remove local version fallback
- wait for a non-empty bearer token before starting and stop capture after 5 empty attempts or 30s
- use the worker latest endpoint as the final fallback and stop when no remote version is available
2026-04-07 08:34:55 +03:00
amd64fox ffd4a6b897 use temporary download URL for latest x64
#836
2026-04-04 17:07:19 +03:00
amd64fox bd9726f589 js-helper: tighten desktop-update probing and error reporting
- add scriptVersion to clientContext
- stop treating latest.json as a confirmed target version
- gate desktop-update probing through sequential success-only checks
- add timeout and one retry for request failures
- keep empty_response and request_error silent
- report parse failures with forensic raw response payloads
- remove dead metadata and obsolete error branches
2026-04-02 08:35:04 +03:00
amd64fox 74915a1e3e Added sending of new Spotify versions 2026-04-01 07:22:33 +03:00
amd64fox 68fe6b6726 rename worker 2026-04-01 03:43:25 +03:00
amd64fox 95abca6bc4 enables video quality 2026-03-28 23:10:57 +03:00
amd64fox b22bebdab5 version bump to 1.2.86.502
- added an option in the settings to enable/disable music videos, etc
- added a Share button with a new modal window
- added the ability to include local patches.json
2026-03-28 22:09:43 +03:00
amd64fox a0a59726ee fix: use uninstall.exe for new Spotify versions and restore curl progress 2026-03-28 01:50:20 +03:00
amd64fox 6070bbcf1b Improve error handling 2026-03-26 04:42:00 +03:00
amd64fox 691e24fa2e refactor(installer): simplify downloads and version compatibility handling
- move default Spotify version values into script parameters
- support version input with or without the legacy build suffix #829
- auto-adjust unsupported versions for Windows 7/8.1 and x86 systems
- simplify downloads to curl first with WebClient fallback only
- add WebClient progress output with downloaded MB display
- remove hosts file cleanup and unsupported-version telemetry
- update README and old theme install examples to the new version format
2026-03-17 06:01:50 +03:00
amd64fox 393d660d88 version bump to 1.2.84.477 2026-02-27 21:54:27 +03:00
amd64fox 80d1da6c16 fix Spotify installer download URL
#828
2026-02-27 14:46:43 +03:00
amd64foxandGitHub 246c0f838f update version check for offline condition 2026-02-20 06:20:04 +03:00
amd64fox 4c615f7a5a version bump to 1.2.83.461 2026-02-15 10:50:35 +03:00
amd64fox 92894fc64c fix regex for GenreHubHashFix patch
#824
2026-02-14 22:00:17 +03:00
amd64fox ece9799d2c change the hash
- change the hash to be more compatible with older versions
- disable the broken MadeForYou button
2026-02-14 21:15:12 +03:00
amd64fox 2bbe38e20b fix: replace broken browsePage hash to restore Genre Hub
#824
2026-02-14 21:03:33 +03:00
amd64fox a784576544 Use NUL instead of /dev/null for curl
fix #821
2026-02-07 20:42:28 +03:00
amd64foxandGitHub d71b1d4963 Custom path to Spotify (#819)
* Custom path to Spotify

- added an optional parameter -SpotifyPath that changes the path of the installed Spotify
- fixed a bug with the SpotX_Temp_ temporary folder

* desktopfolder function returned

* remove unnecessary comments
2026-02-05 20:35:02 +03:00
amd64fox a992b74b51 fix collaboration 2026-02-01 20:47:15 +03:00
amd64fox 15132daa81 version bump to 1.2.82.428
- enabled BPM and key (musical tonality) columns in playlists
- enabled the force volume toggle when exclusive mode is enabled
2026-02-01 20:12:33 +03:00
amd64fox d2f652b73e version bump to 1.2.81.264 2026-01-14 03:16:22 +03:00
github-actions[bot] bae24fab51 chore: update license year to 2026 2026-01-13 16:16:22 +00:00
amd64foxandGitHub 2872e44360 Add workflow to update license year automatically 2026-01-13 19:08:02 +03:00
amd64fox 72b4578e15 deleting a duplicate line 2025-12-26 16:02:11 +03:00
amd64fox 8085973eb7 added support for 1.2.80.349
- patch for hiding sponsored ads in playlists has been fixed
- enabled playlist creation using ai (test for premium)
- play counters have been added for the "Your Top Songs 2025" playlist
- russian translation update
2025-12-26 15:49:12 +03:00
amd64fox 99c235dff4 add patch to hide empty 'Your Episodes' section
#805
2025-12-24 17:25:35 +03:00
amd64fox c2526dc3b8 version bump to 1.2.79.427 2025-12-20 11:55:57 +03:00
amd64foxandGitHub a689c266dd add verbose flag to SpotX parameters 2025-12-20 11:45:35 +03:00
amd64fox e3121ea435 version bump to 1.2.79.425
- refactor Reset-Dll-Sign: optimize padding check for x64
2025-12-18 08:26:48 +03:00
Radoš MilićevandGitHub 9ea3b4082a Update Serbian translations (Cyrillic & Latin) (#800)
* Improve Serbian cyrillic translation

* Add Serbian latin translation

* Update Serbian cyrillic language code detection
2025-12-04 22:51:24 +03:00
amd64fox 9cf696b876 version bump to 1.2.78.418
- Improve language code formatting logic
2025-12-04 10:23:31 +03:00
amd64fox fcd40cbc48 version bump to 1.2.78.409
- fixes to the function for disabling file signature verification
- display a setting to enable exclusive mode for an output device
- enable list Private by default setting in desktop social settings
2025-11-30 09:48:49 +03:00
amd64fox b26febf64b update x64 byte patterns for dll signing reset 2025-11-29 03:06:00 +03:00
amd64fox 50138858fa version bump to 1.2.77.358 2025-11-20 23:28:52 +03:00
amd64fox bf78e900b6 fixed recently played songs and recently played artists
#793 #789
2025-11-13 14:45:20 +03:00
amd64fox 014e49f426 version bump to 1.2.76.298 2025-11-12 20:22:05 +03:00
amd64fox 6b40b8d0ee fix fr 2025-11-05 16:29:05 +03:00
amd64fox 553c42e5ed version bump to 1.2.76.297 2025-11-05 16:27:22 +03:00
amd64fox 0299c089c7 version bump to 1.2.75.510 2025-10-22 14:35:43 +03:00
amd64foxandGitHub f4aa7ad64a version bump to 1.2.75.507 2025-10-20 11:05:04 +03:00
amd64fox 6b586d46ac version bump to 1.2.75.506 2025-10-18 14:33:39 +03:00
amd64fox eb56ce0255 fixed version range for canvas blocking on the main page 2025-10-17 13:34:40 +03:00
amd64fox 9dc6126f69 fix: pass array instead of string for multiple block types
#788
2025-10-17 12:51:34 +03:00
amd64foxandGitHub 49b0a3ffc2 version bump to 1.2.75.499 2025-10-17 10:25:39 +03:00
amd64fox dbd120b458 version bump to 1.2.75.391
- notification center is back in 1.2.65+
2025-10-16 11:26:24 +03:00
amd64fox 8d9bbde34a fixed patch discriptions 2025-10-16 10:57:10 +03:00
amd64fox a500bf2100 preparing for 1.2.65
- fixed a bug in v8 snapshot parsing
- refactoring the method for blocking podcasts and sections on the main page
- fixed patch discriptions
- fixed css rules
2025-10-16 10:38:05 +03:00
AndyandGitHub ab9ab17055 Fixed header formatting issue (#786) 2025-10-13 07:55:42 +03:00
amd64fox 6d9a3ec257 enable sending unsupported versions to google forms 2025-10-13 07:51:54 +03:00
amd64fox cb1eab3663 optional blocking of updates
- optional update blocking for scenarios new theme, and premium
2025-10-13 06:26:45 +03:00
amd64fox a679cb3411 added support for ARM64 builds for 1.2.70+ 2025-10-12 05:07:35 +03:00
amd64foxandGitHub 2051de8ba7 Update auto-closes workflow to check actor login 2025-10-11 14:06:20 +03:00
amd64foxandGitHub 3c3d5cde71 Update auto-close logic for privileged roles 2025-10-11 13:58:48 +03:00
CopilotGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>amd64fox
447b44122e Fix auto-close workflow to prevent closing issues when repository OWNER performs any action (#784)
* Fix auto-close workflow to prevent closing issues when OWNER performs any action

Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2025-10-11 13:44:59 +03:00
amd64foxandGitHub 2be071b03e Add workflow to auto-close antivirus false positive issues
This workflow automatically closes issues related to antivirus false positives by checking for specific keywords in the issue title. It also provides guidance for users on handling false positives.
2025-10-10 06:59:00 +03:00
amd64fox 3798ef1991 update Russian translations 12.74+ 2025-10-10 04:09:09 +03:00
amd64fox 02b0d76443 version bump to 1.2.74.477 2025-10-07 18:44:08 +03:00
amd64fox aeca128854 Update Readme requirements and installation details 2025-10-07 04:36:28 +03:00
amd64foxandGitHub 28e807363f fixed read along for 1.2.70+ 2025-10-06 23:56:11 +03:00
amd64fox 8d59fb3f68 optimizing css rules for static lyrics themes for 1.2.70+ 2025-10-06 02:29:41 +03:00
amd64fox 8e16837242 fixed block_subfeeds patch for 1.2.71+ 2025-10-05 06:41:30 +03:00
amd64fox 10d2e76702 version bump to 1.2.74.471
- enabled library import on settings page
- enabled shuffle settings section in advanced settings
- enabled the search results as a list of top results
- enabled multi selection in Your Library
- enabled profile visibility controls in the settings & profile page
- enabled launcher auto start toggle in the settings
- enabled option to exclude track from taste profile via context menu
- optimizing binary file backups
- enabled users to react and reply to comments
- optimizing binary file backups
- new css classes have been added to hide track download elements
- uninstall.bat changed
2025-10-05 05:53:08 +03:00
amd64foxandIngan121 a775edfcdc fixed patching for DLL files in 1.2.70+
- added a patch to disable signature protection ( Thanks @Ingan121 👏)
- added a function for removing signatures from files
- added support for the new Spotify.dll file

Co-Authored-By: Ingan121 <ingan121@ingan121.com>
2025-10-03 15:29:54 +03:00
amd64fox 184fa13403 apply the searchFixes patch for versions below 1.2.28
#772
2025-09-29 07:21:42 +03:00
amd64fox 7df2695e42 links fixed
#770
2025-09-25 04:15:20 +03:00
amd64foxandGitHub 77bf27a158 an attempt to reduce the number of false positives in the installation terminal (#767)
this does not eliminate false positives for bat files #741
2025-09-20 15:27:05 +03:00
amd64foxandGitHub b800bb9e8d temporary disable sending new version 2025-08-14 21:35:56 +03:00
amd64fox 7a0675d4ed revert to 1.2.68 2025-08-11 23:24:53 +03:00
amd64fox 488c4e8b74 fixed DowngradeNote 2025-07-30 00:21:23 +03:00
amd64fox 208622c547 fix shuffle for 1.2.69+ 2025-07-28 00:40:51 +03:00
amd64fox 133e78474b version bump to 1.2.69.449 2025-07-26 23:40:11 +03:00
amd64fox 91203c4775 fixed sleep timer 2025-07-26 00:25:48 +03:00
amd64fox 1c533d4eeb fixed sleep timer 2025-07-26 00:18:22 +03:00
amd64fox 3bf6942a7d version bump to 1.2.69.448
- enabled sleep timer
- enabled context menu shortcuts
- enabled tracklist columns sorting
- fixed css rule submenudownload
2025-07-25 22:55:13 +03:00
amd64fox 39391a1755 version bump to 1.2.68.528 2025-07-13 01:29:10 +03:00
amd64fox abc87bd2c6 attempt to fix htmlmin patch 2025-07-13 01:04:37 +03:00
amd64fox aff944bbf5 version bump to 1.2.67.560 2025-07-02 22:08:34 +03:00
amd64fox 9c2f9cac48 version bump to 1.2.67.557 2025-07-01 22:27:02 +03:00
amd64fox 34abd7492e version bump to 1.2.67.556
- line 78-80 have been fixed
2025-06-30 22:45:32 +03:00
amd64fox 4eaf0d8128 line 78-79 have been fixed 2025-06-29 22:25:00 +03:00
amd64fox 27624387be line 78-79 have been fixed 2025-06-28 22:44:33 +03:00
amd64fox 69f50fd544 ru.json moved to 1.2.67 2025-06-28 15:11:18 +03:00
amd64fox c9aee164c6 version bump to 1.2.67.555 2025-06-28 12:04:44 +03:00
amd64fox 3543e594f3 version bump to 1.2.67.553
- enabled the pip mini player queue
2025-06-27 20:33:38 +03:00
amd64fox cce7948412 fixed block_section patch for 1.2.67+ 2025-06-27 17:03:36 +03:00
amd64fox dc1a38838f version bump to 1.2.66.447
- fixed parameter "old_lyrics"
2025-06-19 15:13:57 +03:00
amd64fox a5a47b6913 disabled exp causing problems in search bar
#734
2025-06-15 22:38:13 +03:00
amd64fox e12929faea version bump to 1.2.66.445 2025-06-14 23:21:29 +03:00
amd64fox 0997fb25cd fixed color of lyrics button for lyrics_stat parameter 2025-06-14 01:15:54 +03:00
amd64fox 334e64d7fc version bump to 1.2.66.444
- lyrics returned to right sidebar for 1.2.66 +
- fixed incorrect behavior for canvashome_off parameter in some cases
- enabled search suggestions
2025-06-13 23:49:12 +03:00
GoodfriendssandGitHub 2e4e8db907 Update hi.ps1 (#728) 2025-06-08 17:58:30 +03:00
amd64fox 3ea8683a6e version bump to 1.2.65.255
- enabled scroll to current line button in lyrics
- enabled PiP settings
- enabled tooltip that shows a preview of the next item in queue
2025-05-31 22:53:09 +03:00
amd64fox aeb4b3d049 fixed slot for 1.2.65 2025-05-31 14:27:08 +03:00
amd64fox a065b142ab fix ru strings 2025-05-26 20:58:05 +03:00
amd64fox cdb111c758 fix ru strings 2025-05-26 20:33:19 +03:00
amd64fox 5bd1fcb235 fix ru strings 2025-05-26 20:21:21 +03:00
amd64fox b8077eefe0 version bump to 1.2.64.408 2025-05-18 12:00:23 +03:00
amd64fox ae32767ca1 version bump to 1.2.64.407 2025-05-17 00:37:01 +03:00
amd64fox b7e9cbe14f Added support for assemblies using snapshots
#719
2025-05-16 19:17:07 +03:00
amd64fox 9fea76f1ca reset $global:type
- reset $global:type if re-run in the same session
2025-05-15 00:37:26 +03:00
amd64fox 66b863f5fc added searchFixes patch #2 2025-05-14 23:19:46 +03:00
amd64fox cbbf8f83f3 added searchFixes patch 2025-05-14 23:06:59 +03:00
amd64fox de7882fb99 Revert "added temporary chat tg"
This reverts commit 0c89b528e4.
2025-05-11 21:02:16 +03:00
amd64fox cd140c94e0 added parameter canvashome_off
- added parameter canvashome_off, to disable sections with canvases on the main page
2025-05-11 20:59:56 +03:00
amd64fox 611239b053 version bump to 1.2.63.394 2025-05-09 10:29:01 +03:00
amd64fox 17347816b1 version bump to 1.2.63.392 2025-05-07 14:34:01 +03:00
amd64fox 636ad97e52 fixed "match" for line 95 2025-05-03 07:57:15 +03:00
amd64fox fe1e87a20f version bump to 1.2.63.380
- obsolete exp disabled
- ru.json updated
2025-05-03 07:09:55 +03:00
amd64fox 0c89b528e4 added temporary chat tg 2025-05-01 11:27:45 +03:00
amd64fox 8a1fe6487c version bump to 1.2.62.580 2025-04-23 22:38:51 +03:00
amd64fox aabf778c38 version bump to 1.2.62.578 2025-04-21 01:25:45 +03:00
amd64fox a43c201d37 version bump to 1.2.62.575
- readme update
- exp version update
2025-04-18 23:31:28 +03:00
amd64fox 26d8d97a8c version bump to 1.2.61.443 2025-04-11 03:12:29 +03:00
amd64fox f27c016428 version bump to 1.2.61.431 2025-04-06 13:54:19 +03:00
amd64fox 60b2a27b23 version bump to 1.2.61.430 2025-04-05 17:01:06 +03:00
amd64fox 6bcb4a0788 version bump to 1.2.61.427
- enabled track fragments in playlists, artists, albums
- updated translation for russian lines
2025-04-04 20:24:48 +03:00
amd64fox e36edbcded joke removed 2025-04-02 11:47:35 +03:00
amd64fox 114abd8952 fixed line 3 2025-04-01 18:59:57 +03:00
amd64fox d2076a5bae fixed line 2 2025-04-01 18:41:25 +03:00
amd64fox 3c421db6ea fixed line 2025-04-01 18:33:17 +03:00
amd64fox 9a48c98deb fixed line 2025-03-23 23:03:25 +03:00
amd64fox cdbd4b29f1 translation strings corrected 2025-03-23 22:54:05 +03:00
amd64fox 2babd58516 version bump to 1.2.60.564
- enabled backend search history
- russian translation updated
2025-03-23 22:39:48 +03:00
Federico Di LeoandGitHub c4543aca1c Update IT lang and cleanup keys (#698)
* clean up translation keys

* update it lang

* typo on IT lang
2025-03-22 19:31:05 +03:00
amd64fox c405f2666b version bump to 1.2.60.564
- fixed minibar color for lyric themes
- enabled reverse sort direction in library
2025-03-22 14:38:23 +03:00
amd64fox 06617a3e49 extra characters removed 2025-03-22 14:13:27 +03:00
amd64foxandCarManBelarus b1c94bf550 Added Belarusian translation
Co-Authored-By: CarManBelarus <24219338+carmanbelarus@users.noreply.github.com>
2025-03-19 00:05:03 +03:00
amd64foxandGitHub da6c118859 version bump to 1.2.59.518 2025-03-18 21:51:30 +03:00
amd64foxandGitHub 75def8ac19 version bump to 1.2.59.517 2025-03-15 10:37:56 +03:00
amd64foxandGitHub 5a2c160ea5 version bump to 1.2.59.515 2025-03-14 11:58:54 +03:00
amd64fox 7a13b0732e version bump to 1.2.59.514 2025-03-13 17:03:23 +03:00
amd64foxandGitHub 5bd389dc7f version bump to 1.2.59.513 2025-03-11 18:42:21 +03:00
ldokduy20andGitHub 07b40a7ff7 Add spicetify error translation for Vietnamese (#692) 2025-03-11 18:40:59 +03:00
amd64fox 28ea2db0fe version bump to 1.2.59.510
- notifications are temporarily disabled
2025-03-08 10:39:45 +03:00
amd64fox 4539ea7821 fixed scrollbar, added new fullscreen mode
- added parameter -newFullscreenMode to enable new fullscreen mode (experimental) #689
- fixed scrollbar indent
- disabled experimental scrollbar #688
2025-03-07 06:51:49 +03:00
amd64foxandGitHub bdb762b930 Update README.md
- replaced link to new table
- removed outdated info
2025-03-01 08:55:53 +03:00
amd64foxandGitHub 2ca883ecea version bump to 1.2.58.498 2025-02-25 09:31:13 +03:00
amd64fox 50110c8b73 version bump to 1.2.58.496 2025-02-22 12:47:03 +03:00
amd64foxandGitHub 9479460ef5 update parameters 2025-02-22 12:43:01 +03:00
amd64fox a16b48f1c8 version bump to 1.2.58.492
- new scrollbar enabled ( fixes #649 )
- fullscreen mode is enabled for the library
- podcast comments are enabled
2025-02-21 19:35:54 +03:00
amd64fox 2ed8681be9 return of carousel in 1.2.57+ 2025-02-15 11:24:50 +03:00
amd64foxandGitHub b20dd48e1f correction of translation strings 2025-02-09 16:31:33 +03:00
amd64fox 2fb584b3ce ru.json moved to 1.2.57 2025-02-09 00:00:49 +03:00
amd64fox b3ced889c7 fixed ForcedExp for custom values 2025-02-08 22:41:49 +03:00
amd64foxandGitHub 2aae3d67be fixed value for CreateButton 2025-02-08 18:24:02 +03:00
amd64fox f265a5fca0 version bump to 1.2.57.463 2025-02-08 18:12:02 +03:00
amd64fox 7448c439d6 ForcedExp patch backward compatibility
#678
2025-02-07 22:32:28 +03:00
amd64fox 743e6113c2 version bump to 1.2.56.502 2025-01-29 15:30:47 +03:00
amd64fox 6c8fa32d12 version bump to 1.2.56.497 2025-01-25 10:14:35 +03:00
amd64fox 28147cb29d forcedExp patch fix
- forcedExp patch fix / backward compatibility
- minor edits to exp versions for older versions
2025-01-25 08:31:26 +03:00
amd64fox 99edd957a8 temporarily disable collapsing right sidebar 2025-01-23 12:58:55 +03:00
amd64fox bc3079dcee removing legacy RTL regex
- potentially resolves issue #673
2025-01-22 21:27:30 +03:00
amd64fox d90a4f9abe fixed fr version for block_subfeeds 2025-01-21 09:20:27 +03:00
amd64fox 4223dad171 fix: declare $type variable as global 2025-01-21 09:18:31 +03:00
amd64fox a60308695f version bump to 1.2.55.235
- fixed blocking for subfeeds on main page
- disabling patches not intended for premium users
- minor changes in russian and english translation
2025-01-21 08:52:13 +03:00
amd64fox 630a331b72 block billboard slot 2025-01-20 02:06:23 +03:00
amd64fox 009d6c7107 exp update for 1.2.55 2025-01-19 05:08:08 +03:00
amd64fox 93cf6228a8 fixed regex upgradeMenu 2025-01-18 23:41:46 +03:00
amd64fox e4206c55ba experimental patches for 1.2.55 +
- added experimental patches for 1.2.55+
2025-01-18 23:18:21 +03:00
amd64fox 0658ccba4d goofy_History update
- async support added
- added a buffer zone in localStorage for storing sent tracks
- added a delay between sending tracks
2025-01-18 09:18:19 +03:00
amd64fox 42e40ddd25 remove underline on hover
- remove underline on hover in lyrics_stat
2025-01-18 09:02:51 +03:00
amd64foxandGitHub e5db5e43b4 Switching the architecture from x86 to x64 in the default installation (#659)
* Transition to the x64 architecture installation

Transition to the x64 architecture installation for versions above 1.2.53

* fixed link

* simplification of the condition

- simplification of the condition
- change of the version of the latest x86 build

* removing the unnecessary hash table.
2025-01-15 17:12:03 +03:00
amd64foxandGitHub 4396b0ca5d x86 => x64 2025-01-15 17:04:31 +03:00
amd64fox 46395700ee disable column toggle
- ability to toggle the visibility of the playlist column is temporarily disabled because it does not save its state
2025-01-09 21:24:04 +03:00
52 changed files with 6332 additions and 1337 deletions
@@ -42,30 +42,26 @@ body:
Download5 = "Downloading Spotify" Download5 = "Downloading Spotify"
StopScript = "Script is stopped" StopScript = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported" MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Microsoft Store edition [Y/N]" MsSpoti2 = "Uninstall Spotify Microsoft Store edition ? [Y/N]"
MsSpoti3 = "Automatically uninstalling Spotify MS..." MsSpoti3 = "Automatically uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..." MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..." Prem = "Modification for premium account..."
OldV = "Found outdated version of Spotify" OldV2 = "Your Spotify version ({0}) is outdated, the current latest version is — {1}"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]" OldV3 = "Want to update ? [Y/N]"
AutoUpd = "Automatic update to the recommended version" DelOrOver = "Remove the current version ({0}) or install over it? Y [Remove] / N [Install Over]"
DelOrOver = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]" DelSpotify = "Uninstalling Spotify..."
DelOld = "Uninstalling old Spotify..." NewV2 = "Your Spotify version ({0}) has not been tested. The stable version for SpotX is {1}"
NewV = "Unsupported version of Spotify found" NewV3 = "Continue with {0} (errors may occur) ? [Y/N]"
NewV2 = "Your Spotify {0} version hasn't been tested yet, currently it's a stable {1} version" Recom = "Install the latest version {0} ? [Y/N]"
NewV3 = "Do you want to continue with {0} version (errors possible) ? [Y/N]"
Recom = "Do you want to install the recommended {0} version ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify" DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..." DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts" PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts" PodcastsOn = "On Podcasts"
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" PodcatsSelect = "Hide podcasts, shows, and audiobooks on the homepage ? [Y/N]"
DowngradeNote = "It is recommended to block because Spotify was downgraded" DowngradeNote = "It is recommended to block because there is already a newer version of Spotify"
UpdBlock = "Spotify updates blocked" UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked" UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Want to block Spotify updates? [Y/N]" UpdSelect = "Block Spotify updates ? [Y/N]"
ModSpoti = "Patching Spotify..." ModSpoti = "Patching Spotify..."
Error = "Error" Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again" FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again"
@@ -0,0 +1,126 @@
name: Auto Close Antivirus False Positive Issues
on:
issues:
types: [opened, reopened, edited]
jobs:
auto-close:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Check for AV-related keywords
uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const title = issue.title.toLowerCase();
const actor = context.payload.sender.login;
// Проверяем, кто выполнил действие (не создателя issue, а того кто сейчас действует)
const privilegedUsers = ['amd64fox'];
if (privilegedUsers.includes(actor)) {
console.log('Issue #' + issue.number + ' action performed by @' + actor + ' - will not auto-close');
return;
}
const keywords = [
'av',
'virus',
'malware',
'trojan',
'defender',
'smartscreen',
'antivirus',
'anti-virus',
'anti virus',
'malicious',
'agenttesla',
'virustotal',
'eset',
'avast',
'avg',
'kaspersky',
'norton',
'mcafee',
'bitdefender'
];
const containsKeyword = keywords.some(keyword => {
const regex = new RegExp('\\b' + keyword + '\\b', 'i');
return regex.test(title);
});
if (containsKeyword) {
console.log('Issue #' + issue.number + ' contains AV-related keywords in title');
const comment = '# ⚠️ Automatic Closure: Antivirus False Positive\n\n' +
'> [!NOTE]\n' +
'> This issue has been automatically closed because it appears to be related to an **antivirus false positive detection**.\n\n' +
'---\n\n' +
'## 🔍 What causes false positives?\n\n' +
'Different antiviruses may respond differently to installing **SpotX**, as SpotX uses a system interpreter **PowerShell** to modify an application **Spotify**.\n\n' +
'Also, most AV use **heuristic analysis**, which looks for threats based on assumptions or by matching its own set of rules. This imperfect method also leads to a high number of false positives.\n\n' +
'---\n\n' +
'## ✅ What should you do?\n\n' +
'### Step 1: Disable Your Antivirus\n' +
'> [!IMPORTANT]\n' +
'> Before running the SpotX patcher, **temporarily disable or pause your antivirus protection**.\n\n' +
'> [!WARNING]\n' +
'> **Signs you need to disable your antivirus:**\n' +
'> - The terminal window is forcibly closed\n' +
'> - Errors flagging the script as malicious\n' +
'> - The bat installation file is deleted\n\n' +
'### Step 2: Run the Installation\n' +
'Once your antivirus is disabled, proceed with the SpotX installation.\n\n' +
'### Step 3: Re-enable Protection\n' +
'After the installation is complete, you can turn your antivirus back on. If your AV then marks some files in the Spotify folder, **add them to the exclusion list** of your antivirus.\n\n' +
'> [!TIP]\n' +
'> We do not provide instructions on how to disable AV protection or add files/folders to exclusions, as there are many different security systems and the process varies for each. The easiest solution if you don\'t know how to do this is to use [Google](https://www.google.com).\n\n' +
'---\n\n' +
'<div align="center">\n\n' +
'**🤖 This issue was automatically closed by a bot.**\n\n' +
'If you believe your issue isn\'t related to a false positive, please mention **@&#8203;amd64fox**\n\n' +
'</div>';
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
body: comment
});
const existingLabels = issue.labels.map(label => label.name);
if (existingLabels.length > 0) {
for (const label of existingLabels) {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
name: label
});
}
}
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['❎ false positive']
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
state: 'closed',
state_reason: 'not_planned'
});
console.log('Issue #' + issue.number + ' was automatically closed');
} else {
console.log('Issue #' + issue.number + ' does not contain AV-related keywords in title');
}
+27 -9
View File
@@ -14,19 +14,37 @@ jobs:
- name: Run Spotx - name: Run Spotx
shell: powershell shell: powershell
run: | run: |
$jsonUrl = "https://raw.githubusercontent.com/amd64fox/LoaderSpot/main/versions.json" $jsonUrl = "https://raw.githubusercontent.com/LoaderSpot/table/refs/heads/main/table/versions.json"
$resp = Invoke-RestMethod -Uri $jsonUrl $resp = Invoke-RestMethod -Uri $jsonUrl
# Get a link to the x86 installer for the first version # Use fullversion because installer names include architecture suffixes
$firstVersion = $resp.PSObject.Properties.Name | Select-Object -First 1 $latestEntry = $resp.PSObject.Properties | Select-Object -First 1
$x86InstallerUrl = $resp.$firstVersion.links.win.x86 if (-not $latestEntry) {
throw "No Spotify versions found in $jsonUrl"
}
# Regex to find the desired part of the link $spotifyFullVersion = $latestEntry.Value.fullversion
$regex = [regex]::Match($x86InstallerUrl, "spotify_installer-(.+?)\.exe") if ([string]::IsNullOrWhiteSpace($spotifyFullVersion) -or $spotifyFullVersion -notmatch '^\d+\.\d+\.\d+\.\d+\.g[0-9a-f]{8}$') {
$version = $regex.Groups[1].Value throw "Invalid Spotify fullversion for $($latestEntry.Name)"
}
# Incoming parameters # Incoming parameters
$parametrs = '-new_theme -v $version -dev -funnyprogressBar -homesub_off -sp-over -cache_limit 1000 -block_update_on -lyrics_stat spotify -urlform_goofy "https://docs.google.com/forms/formResponse" -idbox_goofy "9999999" -podcasts_off -adsections_off' $parameters = @{
Verbose = $true
new_theme = $true
version = $spotifyFullVersion
confirm_spoti_recomended_over = $true
cache_limit = 1000
block_update_on = $true
lyrics_stat = "spotify"
urlform_goofy = "https://docs.google.com/forms/formResponse"
idbox_goofy = "9999999"
podcasts_off = $true
adsections_off = $true
lyrics_block = $true
}
# Run Spotx # Run Spotx
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } $parametrs" $spotxUrl = "https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1"
$spotxScript = [scriptblock]::Create((Invoke-WebRequest -UseBasicParsing -Uri $spotxUrl).Content)
& $spotxScript @parameters
+34
View File
@@ -0,0 +1,34 @@
name: Update License Year
on:
schedule:
- cron: '0 0 1 1 *'
workflow_dispatch:
permissions:
contents: write
jobs:
update-license:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Update year in LICENSE
run: |
CURRENT_YEAR=$(date +'%Y')
sed -i -E "s/Copyright \(c\) ([0-9]{4})(-[0-9]{4})?/Copyright (c) \1-$CURRENT_YEAR/" LICENSE
- name: Commit and push changes
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add LICENSE
if git diff --staged --quiet; then
echo "No changes needed"
else
git commit -m "chore: update license year to $(date +'%Y')"
git push
fi
+1
View File
@@ -0,0 +1 @@
AGENTS.md
+3 -3
View File
@@ -1,10 +1,10 @@
@echo off @echo off
:: Line for changing spotx parameters, each parameter should be separated by a space :: Line for changing spotx parameters, each parameter should be separated by a space
set param=-new_theme set param=-new_theme -no_pause
set url='https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1' set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/run.ps1' set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^ %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
+3 -3
View File
@@ -1,10 +1,10 @@
@echo off @echo off
:: Line for changing spotx parameters, each parameter should be separated by a space :: Line for changing spotx parameters, each parameter should be separated by a space
set param=-v 1.2.13.661.ga588f749-4064 -confirm_spoti_recomended_over -block_update_on set param=-v 1.2.13.661.ga588f749 -confirm_spoti_recomended_over -block_update_on -no_pause
set url='https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1' set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/run.ps1' set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^ %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2021-2024 amd64fox Copyright (c) 2021-2026 amd64fox
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+46 -37
View File
@@ -1,32 +1,45 @@
<p align="center"> <p align="center">
<a href="https://github.com/SpotX-Official/SpotX/releases"><img src="https://spotx-official.github.io/images/logos/logo.png" /></a> <a href="https://github.com/SpotX-Official/SpotX/releases"><img src="https://spotx-official.github.io/images/logos/logo.png" /></a>
</p> </p>
<p align="center"> <p align="center">
<a href="https://t.me/spotify_windows_mod"><img src="https://spotx-official.github.io/images/shields/SpotX_Channel.svg"></a> <a href="https://t.me/spotify_windows_mod"><img src="https://spotx-official.github.io/images/shields/SpotX_Channel.svg"></a>
<a href="https://t.me/SpotxCommunity"><img src="https://spotx-official.github.io/images/shields/SpotX_Community.svg"></a> <a href="https://t.me/SpotxCommunity"><img src="https://spotx-official.github.io/images/shields/SpotX_Community.svg"></a>
<a href="https://github.com/SpotX-Official/SpotX-Bash"><img src="https://spotx-official.github.io/images/shields/SpotX_for_Mac&Linux.svg"></a> <a href="https://github.com/SpotX-Official/SpotX-Bash"><img src="https://spotx-official.github.io/images/shields/SpotX_for_Mac&Linux.svg"></a>
<a href="https://telegra.ph/SpotX-FAQ-09-19"><img src="https://spotx-official.github.io/images/shields/faq.svg"></a> <a href="https://telegra.ph/SpotX-FAQ-09-19"><img src="https://spotx-official.github.io/images/shields/faq.svg"></a>
</p> </p>
<h2> <div align="center"><b> Modified Spotify Client for Windows </b></div> </h2> <h2>
<div align="center">
<b>Patcher for Spotify Desktop Client on Windows </b>
</div>
</h2>
<h1>System requirements</h1> <p align="center"> •
<a href="#requirements">Requirements</a> •
<a href="#features">Features</a> •
<a href="#installation--update">Installation</a> •
<a href="#uninstall">Uninstall</a> •
<a href="#faq">FAQ</a> •
<a href="#disclaimer">Disclaimer</a>
</p>
- <strong>OS: Windows 7-11</strong> <h1 id="requirements">Requirements</h1>
- <strong>Spotify: latest official [versions](https://cutt.ly/8EH6NuH)</strong>
- <strong>For Windows Desktop only (Microsoft store version is not suitable).</strong>
- <strong>PowerShell: version 5 and above recommended</strong>
<h1>Features</h1> - **OS:** Windows 7-11
- **Spotify:** [Official desktop version](https://loadspot.vercel.app/) (Microsoft Store version is not suitable)
- **PowerShell:** 5.1 and above
- <strong>Blocks all banner, video and audio ads in the client</strong> <h1 id="features">Features</h1>
- <strong>Hiding podcasts, episodes and audiobooks from the homepage (optional)</strong>
- <strong>Block Spotify automatic updates (optional)</strong>
- <strong>More experimental features have been activated ([see the full list](https://github.com/SpotX-Official/SpotX/discussions/50))</strong>
- <strong>Disabled sentry's console log/error/warning messages to Spotify developers, halted user interaction logging, eliminated right-to-left CSS rules for simplification, and performed code minification</strong>
<h1>Fast installation / Update</h1> - **Blocks all banner, video, and audio ads** in the client
- **Hiding podcasts, episodes, and audiobooks** from the homepage (optional)
- **Block Spotify automatic updates** (optional)
- **Some native experimental features have been changed**
- **Analytics sending has been disabled**
- **Advanced installation [parameters](https://github.com/SpotX-Official/SpotX/discussions/60)**
<h1 id="installation--update">Installation / Update</h1>
<h3>Choose installation type:</h3> <h3>Choose installation type:</h3>
<details> <details>
<summary><small>Usual installation (New theme)</small></summary><p> <summary><small>Usual installation (New theme)</small></summary><p>
@@ -38,20 +51,20 @@
<h4> </h4> <h4> </h4>
#### Just download and run [Install.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_New_theme.bat) #### Just download and run [Install_New_theme.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_New_theme.bat)
or or
#### Run The following command in PowerShell: #### Run The following command in PowerShell:
```ps1 ```ps1
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } -new_theme" iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -new_theme"
``` ```
#### mirror #### mirror
```ps1 ```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/run.ps1') } -m -new_theme" iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -new_theme"
``` ```
</details> </details>
@@ -68,20 +81,20 @@ iex "& { $(iwr -useb 'https://spotx-official.github.io/run.ps1') } -m -new_theme
<h4> </h4> <h4> </h4>
#### Just download and run [Install.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_Old_theme.bat) #### Just download and run [Install_Old_theme.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_Old_theme.bat)
or or
#### Run The following command in PowerShell: #### Run The following command in PowerShell:
```ps1 ```ps1
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } -v 1.2.13.661.ga588f749-4064 -confirm_spoti_recomended_over -block_update_on" iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -v 1.2.13.661.ga588f749 -confirm_spoti_recomended_over -block_update_on"
``` ```
#### mirror #### mirror
```ps1 ```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/run.ps1') } -m -v 1.2.13.661.ga588f749-4064 -confirm_spoti_recomended_over -block_update_on" iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -v 1.2.13.661.ga588f749 -confirm_spoti_recomended_over -block_update_on"
``` ```
</details> </details>
@@ -110,13 +123,13 @@ or
#### Run The following command in PowerShell: #### Run The following command in PowerShell:
```ps1 ```ps1
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify" iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify"
``` ```
#### mirror #### mirror
```ps1 ```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/run.ps1') } -m -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify" iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify"
``` ```
</details> </details>
@@ -142,13 +155,13 @@ or
#### Run The following command in PowerShell: #### Run The following command in PowerShell:
```ps1 ```ps1
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1') } -premium -new_theme" iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -premium -new_theme"
``` ```
#### mirror #### mirror
```ps1 ```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/run.ps1') } -m -premium -new_theme" iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -premium -new_theme"
``` ```
</details> </details>
@@ -162,7 +175,7 @@ You can specify various parameters for a more flexible installation, more [detai
</details> </details>
<h1>Uninstall</h1> <h1 id="uninstall">Uninstall</h1>
- Just run [Uninstall.bat](https://raw.githack.com/amd64fox/SpotX/main/Uninstall.bat) - Just run [Uninstall.bat](https://raw.githack.com/amd64fox/SpotX/main/Uninstall.bat)
@@ -170,14 +183,10 @@ or
- Reinstall Spotify ([Full uninstall Spotify](https://github.com/amd64fox/Uninstall-Spotify) recommended) - Reinstall Spotify ([Full uninstall Spotify](https://github.com/amd64fox/Uninstall-Spotify) recommended)
<h1>FAQ</h1> <h1 id="faq">FAQ</h1>
Read [FAQ](https://telegra.ph/SpotX-FAQ-09-19) Read [FAQ](https://telegra.ph/SpotX-FAQ-09-19)
<h1>Credits</h1> <h1 id="disclaimer">Disclaimer</h1>
Some tricks were taken from <a href="https://github.com/khanhas/spicetify-cli">spicetify-cli</a>, many thanks to the contributors. SpotX is a tool that modifies the official Spotify client, provided as an evaluation version — use it at your own risk.
<h1>Disclaimer</h1>
SpotX is a modified version of the official Spotify client, provided as an evaluation version, you use it at your own risk.
+14 -17
View File
@@ -1,29 +1,26 @@
@echo off @echo off
SETLOCAL ENABLEDELAYEDEXPANSION SETLOCAL ENABLEDELAYEDEXPANSION
if exist "%Appdata%\Spotify\dpapi.dll" ( set "SPOTIFY_PATH=%Appdata%\Spotify"
del /s /q "%Appdata%\Spotify\dpapi.dll" > NUL 2>&1
if exist "%SPOTIFY_PATH%\chrome_elf.dll.bak" (
del /s /q "%SPOTIFY_PATH%\chrome_elf.dll" > NUL 2>&1
move "%SPOTIFY_PATH%\chrome_elf.dll.bak" "%SPOTIFY_PATH%\chrome_elf.dll" > NUL 2>&1
) )
if exist "%Appdata%\Spotify\Spotify.bak" ( if exist "%SPOTIFY_PATH%\Spotify.dll.bak" (
del /s /q "%Appdata%\Spotify.exe" > NUL 2>&1 del /s /q "%SPOTIFY_PATH%\Spotify.dll" > NUL 2>&1
move "%Appdata%\Spotify\Spotify.bak" "%Appdata%\Spotify\Spotify.exe" > NUL 2>&1 move "%SPOTIFY_PATH%\Spotify.dll.bak" "%SPOTIFY_PATH%\Spotify.dll" > NUL 2>&1
) )
if exist "%SPOTIFY_PATH%\Spotify.bak" (
if exist "%Appdata%\Spotify\config.ini" ( del /s /q "%SPOTIFY_PATH%\Spotify.exe" > NUL 2>&1
del /s /q "%Appdata%\Spotify\config.ini" > NUL 2>&1 move "%SPOTIFY_PATH%\Spotify.bak" "%SPOTIFY_PATH%\Spotify.exe" > NUL 2>&1
) )
if exist "%SPOTIFY_PATH%\Apps\xpui.bak" (
if exist "%Appdata%\Spotify\Apps\xpui.bak" ( del /s /q "%SPOTIFY_PATH%\Apps\xpui.spa" > NUL 2>&1
del /s /q "%Appdata%\Spotify\Apps\xpui.spa" > NUL 2>&1 move "%SPOTIFY_PATH%\Apps\xpui.bak" "%SPOTIFY_PATH%\Apps\xpui.spa" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui.bak" "%Appdata%\Spotify\Apps\xpui.spa" > NUL 2>&1
)
if exist "%Appdata%\Spotify\blockthespot_log.txt" (
del /s /q "%Appdata%\Spotify\blockthespot_log.txt" > NUL 2>&1
) )
if exist "%temp%\SpotX_Temp*" ( if exist "%temp%\SpotX_Temp*" (
+29 -4
View File
@@ -1,6 +1,7 @@
@import url('colors.css'); @import url('colors.css');
/* mini lyrics */ /* mini lyrics */
.Li269NgzkU2gI4KOP9sM,
.I2WIloMMjsBeMaIS8H3v, .I2WIloMMjsBeMaIS8H3v,
.McI3hD7aCfpq015LJa6X, .McI3hD7aCfpq015LJa6X,
.gpDSOimnzH4zTJmE7UR5 { .gpDSOimnzH4zTJmE7UR5 {
@@ -10,6 +11,18 @@
--lyrics-color-background: var(--background) !important; --lyrics-color-background: var(--background) !important;
} }
/* title unsynced */
p[class*="e-"][class*="-text"].encore-text-body-small {
color: var(--musixmatch) !important;
margin-bottom: 8px !important;
}
/* fixed color of lyrics button */
[data-testid="lyrics-npv-section"]:not(._OhUGn8Plh3mRw4awIM5):not(.Sb2rC16jDkGc9eweOU8g):not(._YRfjT5prbRuSXcNK9WR):not(.RXRGSIFllAhUYWKYlANd) {
background-color:
#1f1f1f !important;
}
/* lyrics description */ /* lyrics description */
.ebHsEf.I4K12o0qDoITOLr2AEs0, .ebHsEf.I4K12o0qDoITOLr2AEs0,
.ebHsEf.OYiGFGZJDIZ4FF4ZTDK2, .ebHsEf.OYiGFGZJDIZ4FF4ZTDK2,
@@ -29,14 +42,18 @@ body .KDhLFoEqoClhH12bsfrS {
/* lyrics not available message */ /* lyrics not available message */
.C3pBU1DsOUJJOAv89ZFT, .C3pBU1DsOUJJOAv89ZFT,
.T67LFP0PElpfkkLuegQt, .T67LFP0PElpfkkLuegQt,
.e7eFLioNSG5PAi1qVFT4 { .e7eFLioNSG5PAi1qVFT4,
.l2060qoyWU4J9ihSxHLE,
.hfTlyhd7WCIk9xmP {
color: var(--musixmatch) !important; color: var(--musixmatch) !important;
} }
/* full cinema lyrics */ /* full cinema lyrics */
.FUYNhisXTCmbzt9IDxnT, .FUYNhisXTCmbzt9IDxnT,
.tr8V5eHsUaIkOYVw7eSG, .tr8V5eHsUaIkOYVw7eSG,
.hW9km7ku6_iggdWDR_Lg { .hW9km7ku6_iggdWDR_Lg,
.lofIAg8Ixko3mfBrbfej,
.bbJIIopLxggQmv5x {
--lyrics-color-active: var(--current) !important; --lyrics-color-active: var(--current) !important;
--lyrics-color-inactive: var(--next) !important; --lyrics-color-inactive: var(--next) !important;
--lyrics-color-passed: var(--past) !important; --lyrics-color-passed: var(--past) !important;
@@ -54,13 +71,21 @@ body .KDhLFoEqoClhH12bsfrS {
.vapgYYF2HMEeLJuOWGq5:hover, .vapgYYF2HMEeLJuOWGq5:hover,
._LKG3z7SnerR0eigPCoK:hover, ._LKG3z7SnerR0eigPCoK:hover,
.NHVfxGs2HwmI_fly2JC4:hover, .NHVfxGs2HwmI_fly2JC4:hover,
.gaHIufRWhoWbiT8S6zuM:hover { .gaHIufRWhoWbiT8S6zuM:hover,
.FQYXZaa0aDIrse54YlYO:hover,
.PSyA4iign083ZV6vOqPj:hover,
.Plu0zvuRv7kOQwsQ02cC:hover,
.Mnf9PkrVHsX90BNf:hover,
.XiH9KR6bhDwEFykV:hover {
color: var(--hover) !important; color: var(--hover) !important;
/* remove underline */
text-decoration: none !important;
} }
/* lyrics unsynced */ /* lyrics unsynced */
.HxblHEsl2WX2yhubfVIc, .HxblHEsl2WX2yhubfVIc,
.SruqsAzX8rUtY2isUZDF, .SruqsAzX8rUtY2isUZDF,
.eTLjCqbDo7QehPEPz86a,
.AEfhRyqGa3vzQrgfdwWE.Re403AJffPPuZmX7LRJj, .AEfhRyqGa3vzQrgfdwWE.Re403AJffPPuZmX7LRJj,
.NHVfxGs2HwmI_fly2JC4.E64X_eoy6xsJmDdKKHja, .NHVfxGs2HwmI_fly2JC4.E64X_eoy6xsJmDdKKHja,
.gaHIufRWhoWbiT8S6zuM.Qo3OkrSis5IWlP9Tchbr, .gaHIufRWhoWbiT8S6zuM.Qo3OkrSis5IWlP9Tchbr,
@@ -68,7 +93,6 @@ body .KDhLFoEqoClhH12bsfrS {
color: var(--next) !important; color: var(--next) !important;
} }
/* full screen lyrics */ /* full screen lyrics */
.npv-lyrics__text-wrapper--previous .npv-lyrics__text { .npv-lyrics__text-wrapper--previous .npv-lyrics__text {
color: var(--past) !important; color: var(--past) !important;
@@ -106,6 +130,7 @@ body .KDhLFoEqoClhH12bsfrS {
} }
/* read along podcasts */ /* read along podcasts */
.l6lFMYQteTVnTcHnLywc,
._nDkCIVgkWayq3tqiIuW, ._nDkCIVgkWayq3tqiIuW,
.B_wut2Bw4HwLr3w8rNfM { .B_wut2Bw4HwLr3w8rNfM {
--transcript-color-background: var(--background) !important; --transcript-color-background: var(--background) !important;
+964
View File
@@ -0,0 +1,964 @@
(() => {
if (window.oneTime) return;
window.oneTime = true;
const WORKER_BASE_URL = "https://spotify-ingest-admin.amd64fox1.workers.dev";
const SCRIPT_VERSION = "1.2.1";
const SOURCE_LABELS = {
REMOTE: "latest.json",
FIXED: "fixed-version"
};
const PLATFORMS = [
{
code: "Win32_x86_64",
assetPrefix: "spotify_installer",
assetSuffix: "x64",
extension: ".exe"
},
{
code: "Win32_ARM64",
assetPrefix: "spotify_installer",
assetSuffix: "arm64",
extension: ".exe"
},
{
code: "OSX",
assetPrefix: "spotify-autoupdate",
assetSuffix: "x86_64",
extension: ".tbz"
},
{
code: "OSX_ARM64",
assetPrefix: "spotify-autoupdate",
assetSuffix: "arm64",
extension: ".tbz"
}
];
const PLATFORM_CODES = PLATFORMS.map((platform) => platform.code);
const SUCCESS_REPORT_STORAGE_KEY = "spotify_ingest:last_successful_report_v1";
const ERROR_MESSAGES = {
token_missing: "Authorization token not captured",
version_unavailable: "Spotify version unavailable. Update check stopped",
inconsistent_target_version: "Inconsistent target version across platform links",
empty_response: "No update link in response",
desktop_update_parse_error: "Desktop-update response parse failed."
};
const CONFIG = {
fixedShortVersion: "",
latestUrls: Array.isArray(window.__spotifyLatestUrls)
? window.__spotifyLatestUrls.filter((url) => typeof url === "string" && url.trim()).map((url) => url.trim())
: window.__spotifyLatestUrl
? [String(window.__spotifyLatestUrl).trim()]
: [
"https://raw.githubusercontent.com/LoaderSpot/table/refs/heads/main/latest.json",
"https://raw.githack.com/LoaderSpot/table/main/latest.json",
`${WORKER_BASE_URL}/api/client/latest`
],
updateUrl: "https://spclient.wg.spotify.com/desktop-update/v2/update",
reportEndpoint: `${WORKER_BASE_URL}/api/client/report`,
errorEndpoint: `${WORKER_BASE_URL}/api/client/error`,
reportTimeoutMs: 15000,
versionTimeoutMs: 10000,
desktopUpdateTimeoutMs: 8000,
desktopUpdateMaxRetries: 1,
tokenCaptureMaxAttempts: 5,
tokenCaptureTimeoutMs: 30000
};
const originalFetch = window.fetch;
let runStarted = false;
let tokenCaptureStopped = false;
let tokenCaptureAttempts = 0;
let tokenCaptureTimeoutId = 0;
const SPOTIFY_VERSION_RE = /Spotify\/(\d+\.\d+\.\d+\.\d+)/;
function nowIso() {
return new Date().toISOString();
}
function extractShortVersion(value) {
return String(value || "").match(/(\d+\.\d+\.\d+\.\d+)/)?.[1] || "";
}
function readVersionSourceSnapshot() {
return {
clientInformationAppVersion: String(window.clientInformation?.appVersion || ""),
userAgent: String(navigator.userAgent || ""),
navigatorAppVersion: String(window.navigator?.appVersion || "")
};
}
function readClientVersionSources() {
const versionSources = readVersionSourceSnapshot();
return {
clientInformationAppVersion: versionSources.clientInformationAppVersion,
userAgent: versionSources.userAgent,
navigatorAppVersion: versionSources.navigatorAppVersion,
realVersion:
versionSources.userAgent.match(SPOTIFY_VERSION_RE)?.[1] ||
versionSources.navigatorAppVersion.match(SPOTIFY_VERSION_RE)?.[1] ||
"undefined"
};
}
function buildSpotifyAppVersion(shortVersion, sourceLabel) {
if (!shortVersion) {
console.warn(`Spotify version not found (${sourceLabel}).`);
return "";
}
const parts = shortVersion.split(".");
if (parts.length !== 4) {
console.warn(`Invalid Spotify version format (${sourceLabel}):`, shortVersion);
return "";
}
const [major, minor, patch, build] = parts;
return major + minor + patch + "0".repeat(Math.max(0, 7 - patch.length - build.length)) + build;
}
async function fetchJsonWithTimeout(url, timeoutMs) {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
try {
const response = await originalFetch(url, {
method: "GET",
cache: "no-store",
signal: controller.signal
});
if (!response.ok) {
throw new Error(`HTTP error: ${response.status}`);
}
return response.json();
} finally {
clearTimeout(timeoutId);
}
}
async function resolveQueryVersion() {
const fixedShortVersion = String(CONFIG.fixedShortVersion || "").trim();
if (fixedShortVersion) {
return {
shortVersion: fixedShortVersion,
fullVersion: "",
spotifyAppVersion: buildSpotifyAppVersion(fixedShortVersion, SOURCE_LABELS.FIXED),
sourceLabel: SOURCE_LABELS.FIXED,
remoteVersionFailed: false,
remoteShortVersion: "",
remoteFullVersion: ""
};
}
for (const latestUrl of CONFIG.latestUrls) {
try {
const data = await fetchJsonWithTimeout(latestUrl, CONFIG.versionTimeoutMs);
const shortVersion = String(data?.version || "").trim();
const fullVersion = String(data?.fullversion || "").trim();
if (!shortVersion) {
throw new Error("version field is missing or empty.");
}
return {
shortVersion,
fullVersion,
spotifyAppVersion: buildSpotifyAppVersion(shortVersion, SOURCE_LABELS.REMOTE),
sourceLabel: SOURCE_LABELS.REMOTE,
remoteVersionFailed: false,
remoteShortVersion: shortVersion,
remoteFullVersion: fullVersion
};
} catch (error) {
console.warn(`Failed to fetch latest.json version from ${latestUrl}: ${error?.message || error}`);
}
}
return {
shortVersion: "",
fullVersion: "",
spotifyAppVersion: "",
sourceLabel: "",
remoteVersionFailed: true,
remoteShortVersion: "",
remoteFullVersion: ""
};
}
function createState(token) {
return {
token,
startedAtMs: Date.now(),
versionSources: readClientVersionSources(),
spotifyAppVersion: "",
sourceLabel: "",
queryShortVersion: "",
queryFullVersion: "",
remoteVersionFailed: false,
remoteShortVersion: "",
remoteFullVersion: "",
targetShortVersion: "",
targetFullVersion: "",
platforms: {},
failures: [],
desktopUpdateResponses: [],
retryCountByPlatform: {},
forensicMode: false
};
}
function readClientContext(state) {
const nav = window.navigator || {};
return {
scriptVersion: SCRIPT_VERSION,
userAgent: state.versionSources.userAgent || nav.userAgent || "",
platform: nav.platform || "",
language: nav.language || "",
languages: Array.isArray(nav.languages) ? nav.languages.slice(0, 5) : [],
clientInformationAppVersion: state.versionSources.clientInformationAppVersion,
navigatorAppVersion: state.versionSources.navigatorAppVersion,
"real-version": state.versionSources.realVersion,
spotifyAppVersion: state.spotifyAppVersion,
sourceLabel: state.sourceLabel,
latestJsonVersion: state.sourceLabel === SOURCE_LABELS.REMOTE ? state.remoteShortVersion : "",
latestJsonFullVersion: state.sourceLabel === SOURCE_LABELS.REMOTE ? state.remoteFullVersion : ""
};
}
function readRequestMeta(state, extra = {}) {
return {
source: "spotify-client-script",
timestamp: nowIso(),
hasAuthorization: Boolean(state.token),
headers: { "spotify-app-version": state.spotifyAppVersion },
...extra
};
}
function readDiagnostics(state, result, extra = {}) {
return {
result,
remoteVersionUsed: state.sourceLabel === SOURCE_LABELS.REMOTE,
remoteVersionFailed: state.remoteVersionFailed,
remoteVersion: state.remoteShortVersion || null,
remoteFullVersion: state.remoteFullVersion || null,
queryShortVersion: state.queryShortVersion || null,
queryFullVersion: state.queryFullVersion || null,
detectedShortVersion: state.targetShortVersion || null,
detectedFullVersion: state.targetFullVersion || null,
requestDurationMs: Math.max(0, Date.now() - state.startedAtMs),
checkedPlatforms: PLATFORM_CODES,
foundPlatforms: Object.keys(state.platforms),
failures: state.failures,
...extra
};
}
function getPayloadVersions(state) {
return {
shortVersion: state.targetShortVersion || "",
fullVersion: state.targetFullVersion || ""
};
}
function buildNormalizedAssetName(platform, fullVersion) {
return `${platform.assetPrefix}-${fullVersion}-${platform.assetSuffix}${platform.extension}`;
}
function parseUpgradeAsset(platform, sourceUrl) {
let normalizedUrl;
try {
normalizedUrl = new URL(sourceUrl);
} catch {
throw new Error(`Invalid upgrade link URL for ${platform.code}.`);
}
const assetName = decodeURIComponent(normalizedUrl.pathname.split("/").pop() || "");
const pattern = platform.extension === ".exe"
? /^spotify_installer-(.+?)-(?:\d+|x86|x64|arm64)\.exe$/i
: /^spotify-autoupdate-(.+?)-(?:\d+|x86_64|arm64)\.tbz$/i;
const fullVersion = assetName.match(pattern)?.[1]?.trim() || "";
const shortVersion = extractShortVersion(fullVersion);
if (!fullVersion || !shortVersion) {
throw new Error(`Unsupported upgrade asset name for ${platform.code}: ${assetName}`);
}
return {
url: normalizedUrl.toString(),
shortVersion,
fullVersion,
normalizedAssetName: buildNormalizedAssetName(platform, fullVersion)
};
}
function finalizeDetectedVersions(state) {
const assets = Object.values(state.platforms);
const shortVersions = [...new Set(assets.map((asset) => asset.shortVersion).filter(Boolean))];
const fullVersions = [...new Set(assets.map((asset) => asset.fullVersion).filter(Boolean))];
if (shortVersions.length > 1 || fullVersions.length > 1) {
return false;
}
state.targetShortVersion = shortVersions[0] || "";
state.targetFullVersion = fullVersions[0] || "";
return true;
}
function buildPlatformPayload(platforms) {
const payload = {};
for (const [code, asset] of Object.entries(platforms)) {
if (!asset) continue;
payload[code] = {
url: asset.url,
shortVersion: asset.shortVersion,
fullVersion: asset.fullVersion,
normalizedAssetName: asset.normalizedAssetName
};
}
return payload;
}
function getSuccessReportStorage() {
try {
return window.localStorage || null;
} catch {
return null;
}
}
function clearStoredSuccessReport(storage = getSuccessReportStorage()) {
if (!storage) {
return;
}
try {
storage.removeItem(SUCCESS_REPORT_STORAGE_KEY);
} catch {
// ignore storage cleanup failures
}
}
function readStoredSuccessReport() {
const storage = getSuccessReportStorage();
if (!storage) {
return null;
}
let rawValue = "";
try {
rawValue = String(storage.getItem(SUCCESS_REPORT_STORAGE_KEY) || "");
} catch {
return null;
}
if (!rawValue) {
return null;
}
try {
const parsed = JSON.parse(rawValue);
const shortVersion = String(parsed?.shortVersion || "").trim();
const fullVersion = String(parsed?.fullVersion || "").trim();
const reportedAt = String(parsed?.reportedAt || "").trim();
if (!fullVersion) {
clearStoredSuccessReport(storage);
return null;
}
return {
shortVersion,
fullVersion,
reportedAt
};
} catch {
clearStoredSuccessReport(storage);
return null;
}
}
function isAlreadyReported(fullVersion) {
const normalizedFullVersion = String(fullVersion || "").trim();
if (!normalizedFullVersion) {
return false;
}
return readStoredSuccessReport()?.fullVersion === normalizedFullVersion;
}
function writeStoredSuccessReport(state) {
const storage = getSuccessReportStorage();
if (!storage) {
return false;
}
const payload = {
shortVersion: state.targetShortVersion || "",
fullVersion: state.targetFullVersion || "",
reportedAt: nowIso()
};
if (!payload.fullVersion) {
return false;
}
try {
storage.setItem(SUCCESS_REPORT_STORAGE_KEY, JSON.stringify(payload));
return true;
} catch {
return false;
}
}
function postJsonWithTimeout(endpoint, body) {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), CONFIG.reportTimeoutMs);
return originalFetch(endpoint, {
method: "POST",
headers: { "Content-Type": "text/plain;charset=UTF-8" },
body,
cache: "no-store",
keepalive: true,
signal: controller.signal
}).finally(() => {
clearTimeout(timeoutId);
});
}
function sendBestEffortPayload(endpoint, payload) {
if (!endpoint) {
return;
}
const body = JSON.stringify(payload);
try {
if (navigator.sendBeacon && navigator.sendBeacon(endpoint, body)) {
return;
}
} catch {
// ignore beacon failure and fall back to fetch
}
void postJsonWithTimeout(endpoint, body).catch((error) => {
console.warn("Failed to send report:", error?.message || error);
});
}
async function postSuccessPayloadWithAck(endpoint, payload) {
if (!endpoint) {
return false;
}
const body = JSON.stringify(payload);
try {
const response = await postJsonWithTimeout(endpoint, body);
if (response.status === 200) {
return true;
}
console.warn(`Client report rejected with HTTP ${response.status}.`);
return false;
} catch (error) {
console.warn("Failed to send acknowledged report:", error?.message || error);
return false;
}
}
async function sendSuccess(state) {
const versions = getPayloadVersions(state);
return postSuccessPayloadWithAck(CONFIG.reportEndpoint, {
shortVersion: versions.shortVersion,
fullVersion: versions.fullVersion,
platforms: buildPlatformPayload(state.platforms),
clientContext: readClientContext(state),
requestMeta: readRequestMeta(state),
diagnostics: readDiagnostics(state, "success")
});
}
function sendError(state, kind, extra = {}) {
const versions = getPayloadVersions(state);
sendBestEffortPayload(CONFIG.errorEndpoint, {
kind,
phase: extra.phase || kind,
shortVersion: versions.shortVersion,
fullVersion: versions.fullVersion,
message: extra.message || ERROR_MESSAGES[kind] || "Unexpected error.",
stack: extra.stack || "",
partialPlatforms: buildPlatformPayload(state.platforms),
clientContext: readClientContext(state),
requestMeta: readRequestMeta(state, extra.requestMeta),
diagnostics: readDiagnostics(state, "error", extra.diagnostics),
rawPayload: extra.rawPayload
});
}
function decodeLatin1Buffer(buffer) {
return new TextDecoder("latin1").decode(buffer);
}
function extractUpgradeLink(bodyLatin1) {
const payload = String(bodyLatin1 || "");
const baseUrl = payload.match(
/https:\/\/upgrade\.scdn\.co\/upgrade\/client\/(?:win32-(?:x86_64|arm64)|osx-(?:x86_64|arm64))\/[A-Za-z0-9._-]+\.(?:exe|tbz)/i
)?.[0];
const authQuery = payload.match(/\?fauth=[A-Za-z0-9._~-]+/)?.[0];
return baseUrl && authQuery ? `${baseUrl}${authQuery}` : "";
}
function readResponseHeaders(headers) {
const result = {};
if (!headers || typeof headers.forEach !== "function") {
return result;
}
headers.forEach((value, key) => {
result[String(key || "").toLowerCase()] = String(value || "");
});
return result;
}
function formatDesktopUpdateError(platform, error) {
if (error?.name === "AbortError") {
return `${platform.code} request timeout after ${CONFIG.desktopUpdateTimeoutMs}ms`;
}
return error?.message || String(error);
}
function buildRequestErrorResult(base, errorMessage) {
return {
outcome: "request_error",
finalUrl: base.finalUrl || CONFIG.updateUrl,
status: Number.isFinite(Number(base.status)) ? Number(base.status) : null,
headers: base.headers || {},
contentType: base.contentType || null,
contentLength: base.contentLength || null,
byteLength: null,
bodyLatin1: null,
extractedUpgradeLink: "",
parseErrorMessage: null,
errorMessage: errorMessage || null
};
}
async function fetchDesktopUpdateAttempt(token, spotifyAppVersion, platform) {
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), CONFIG.desktopUpdateTimeoutMs);
let response;
try {
response = await originalFetch(CONFIG.updateUrl, {
method: "GET",
headers: {
Authorization: `Bearer ${token}`,
"Spotify-App-Version": spotifyAppVersion,
"App-Platform": platform.code
},
signal: controller.signal
});
} catch (error) {
return buildRequestErrorResult({
finalUrl: CONFIG.updateUrl,
status: null,
headers: {},
contentType: null,
contentLength: null
}, formatDesktopUpdateError(platform, error));
} finally {
clearTimeout(timeoutId);
}
const finalUrl = response.url || CONFIG.updateUrl;
const headers = readResponseHeaders(response.headers);
const contentType = response.headers?.get?.("content-type") || null;
const contentLength = response.headers?.get?.("content-length") || null;
if (!response.ok) {
return buildRequestErrorResult({
finalUrl,
status: response.status,
headers,
contentType,
contentLength
}, `${platform.code} HTTP error: ${response.status}`);
}
let buffer;
try {
buffer = await response.arrayBuffer();
} catch (error) {
return buildRequestErrorResult({
finalUrl,
status: response.status,
headers,
contentType,
contentLength
}, formatDesktopUpdateError(platform, error));
}
const bodyLatin1 = decodeLatin1Buffer(buffer);
const extractedUpgradeLink = extractUpgradeLink(bodyLatin1);
const baseResult = {
finalUrl,
status: response.status,
headers,
contentType,
contentLength,
byteLength: buffer.byteLength,
bodyLatin1,
extractedUpgradeLink
};
if (!extractedUpgradeLink) {
return {
outcome: "empty_response",
...baseResult,
parseErrorMessage: null,
errorMessage: null
};
}
try {
const asset = parseUpgradeAsset(platform, extractedUpgradeLink);
return {
outcome: "success",
...baseResult,
parseErrorMessage: null,
errorMessage: null,
asset
};
} catch (error) {
return {
outcome: "parse_error",
...baseResult,
parseErrorMessage: error?.message || String(error),
errorMessage: null
};
}
}
function buildAttemptMetadata(attemptNumber, result) {
return {
attempt: attemptNumber,
outcome: result.outcome,
status: Number.isFinite(Number(result.status)) ? Number(result.status) : null,
finalUrl: result.finalUrl || null,
contentType: result.contentType || null,
contentLength: result.contentLength || null,
byteLength: Number.isFinite(Number(result.byteLength)) ? Number(result.byteLength) : null,
errorMessage: result.errorMessage || null
};
}
function buildDesktopUpdateResponseRecord(platformCode, attempts, result, requestErrors) {
return {
platform: platformCode,
attempts,
finalOutcome: result.outcome,
finalUrl: result.finalUrl || null,
status: Number.isFinite(Number(result.status)) ? Number(result.status) : null,
headers: result.headers || {},
contentType: result.contentType || null,
contentLength: result.contentLength || null,
byteLength: Number.isFinite(Number(result.byteLength)) ? Number(result.byteLength) : null,
bodyLatin1: result.bodyLatin1 || null,
extractedUpgradeLink: result.extractedUpgradeLink || "",
parseErrorMessage: result.parseErrorMessage || null,
requestErrors
};
}
function buildForensicDiagnostics(state) {
const retryCountByPlatform = {};
for (const platform of PLATFORMS) {
retryCountByPlatform[platform.code] = Number(state.retryCountByPlatform[platform.code] || 0);
}
const successfulPlatforms = [];
const parseErrorPlatforms = [];
const requestErrorPlatforms = [];
const emptyResponsePlatforms = [];
for (const item of state.desktopUpdateResponses) {
if (!item?.platform) {
continue;
}
if (item.finalOutcome === "success") successfulPlatforms.push(item.platform);
if (item.finalOutcome === "parse_error") parseErrorPlatforms.push(item.platform);
if (item.finalOutcome === "request_error") requestErrorPlatforms.push(item.platform);
if (item.finalOutcome === "empty_response") emptyResponsePlatforms.push(item.platform);
}
return {
successfulPlatforms,
parseErrorPlatforms,
requestErrorPlatforms,
emptyResponsePlatforms,
retryCountByPlatform
};
}
function buildForensicRawPayload(state) {
return {
desktopUpdateResponses: state.desktopUpdateResponses.map((item) => ({
platform: item.platform,
attempts: Array.isArray(item.attempts) ? item.attempts.map((attempt) => ({ ...attempt })) : [],
finalOutcome: item.finalOutcome,
finalUrl: item.finalUrl || null,
status: item.status ?? null,
headers: item.headers && typeof item.headers === "object" ? { ...item.headers } : {},
contentType: item.contentType || null,
contentLength: item.contentLength || null,
byteLength: item.byteLength ?? null,
bodyLatin1: item.bodyLatin1 || null,
extractedUpgradeLink: item.extractedUpgradeLink || "",
parseErrorMessage: item.parseErrorMessage || null,
requestErrors: Array.isArray(item.requestErrors) ? item.requestErrors.slice() : []
}))
};
}
async function collectPlatformResult(state, platform) {
const attempts = [];
const requestErrors = [];
const maxAttempts = 1 + Number(CONFIG.desktopUpdateMaxRetries || 0);
let finalResult = null;
for (let attemptIndex = 0; attemptIndex < maxAttempts; attemptIndex += 1) {
const result = await fetchDesktopUpdateAttempt(state.token, state.spotifyAppVersion, platform);
finalResult = result;
attempts.push(buildAttemptMetadata(attemptIndex + 1, result));
if (result.outcome === "request_error" && result.errorMessage) {
requestErrors.push(result.errorMessage);
}
if (result.outcome !== "request_error" || attemptIndex === maxAttempts - 1) {
break;
}
}
state.retryCountByPlatform[platform.code] = Math.max(0, attempts.length - 1);
state.desktopUpdateResponses.push(
buildDesktopUpdateResponseRecord(platform.code, attempts, finalResult, requestErrors)
);
if (finalResult.outcome === "success") {
state.platforms[platform.code] = finalResult.asset;
return finalResult.outcome;
}
if (finalResult.outcome === "parse_error") {
state.forensicMode = true;
state.failures.push({
platform: platform.code,
kind: "parse_error",
message: finalResult.parseErrorMessage || `Failed to parse ${platform.code} upgrade response`
});
return finalResult.outcome;
}
if (finalResult.outcome === "empty_response") {
state.failures.push({
platform: platform.code,
kind: "empty_response",
message: ERROR_MESSAGES.empty_response
});
return finalResult.outcome;
}
state.failures.push({
platform: platform.code,
kind: "request_error",
message: finalResult.errorMessage || `Failed to request ${platform.code} update metadata`
});
return finalResult.outcome;
}
async function collectPlatforms(state) {
for (const platform of PLATFORMS) {
const outcome = await collectPlatformResult(state, platform);
if (!state.forensicMode && outcome !== "success") {
return { aborted: true };
}
}
return { aborted: false };
}
function sendDesktopUpdateParseError(state) {
sendError(state, "desktop_update_parse_error", {
phase: "desktop_update_parse_error",
message: ERROR_MESSAGES.desktop_update_parse_error,
diagnostics: buildForensicDiagnostics(state),
rawPayload: buildForensicRawPayload(state)
});
}
function logVersionUnavailable(state) {
console.error(ERROR_MESSAGES.version_unavailable, {
scriptVersion: SCRIPT_VERSION,
remoteVersionFailed: state.remoteVersionFailed,
realVersion: state.versionSources.realVersion || "",
latestJsonVersion: state.remoteShortVersion || "",
latestJsonFullVersion: state.remoteFullVersion || ""
});
}
async function runOnce(token) {
const state = createState(token);
if (!token) {
sendError(state, "token_missing");
return;
}
const version = await resolveQueryVersion();
state.queryShortVersion = version.shortVersion;
state.queryFullVersion = version.fullVersion;
state.spotifyAppVersion = version.spotifyAppVersion;
state.sourceLabel = version.sourceLabel;
state.remoteVersionFailed = version.remoteVersionFailed;
state.remoteShortVersion = version.remoteShortVersion;
state.remoteFullVersion = version.remoteFullVersion;
if (!state.spotifyAppVersion) {
logVersionUnavailable(state);
return;
}
const collection = await collectPlatforms(state);
if (state.forensicMode) {
sendDesktopUpdateParseError(state);
return;
}
if (collection.aborted) {
return;
}
const foundCount = Object.keys(state.platforms).length;
if (!finalizeDetectedVersions(state)) {
sendError(state, "inconsistent_target_version", {
diagnostics: {
detectedShortVersions: [...new Set(Object.values(state.platforms).map((asset) => asset.shortVersion))],
detectedFullVersions: [...new Set(Object.values(state.platforms).map((asset) => asset.fullVersion))]
}
});
return;
}
if (isAlreadyReported(state.targetFullVersion)) {
return;
}
if (await sendSuccess(state)) {
writeStoredSuccessReport(state);
}
}
function getHeaderValue(headers, name) {
const target = String(name).toLowerCase();
if (!headers) return null;
if (headers instanceof Headers) {
return headers.get(target);
}
if (Array.isArray(headers)) {
return headers.find(([key]) => String(key).toLowerCase() === target)?.[1] || null;
}
if (typeof headers === "object") {
for (const key of Object.keys(headers)) {
if (key.toLowerCase() === target) {
return headers[key];
}
}
}
return null;
}
function getRequestUrl(input) {
if (typeof input === "string") return input;
if (input instanceof URL) return input.toString();
if (input instanceof Request) return input.url;
return "";
}
function isSpotifyAuthorizedRequest(url, authorization) {
return Boolean(
authorization &&
/^Bearer\s+/i.test(String(authorization)) &&
/spclient\.wg\.spotify\.com/i.test(String(url || ""))
);
}
function extractBearerToken(authorization) {
const match = String(authorization || "").match(/^Bearer\s+(.+)$/i);
if (!match) {
return "";
}
return String(match[1] || "").trim();
}
function stopTokenCapture(reason) {
if (tokenCaptureStopped) {
return;
}
tokenCaptureStopped = true;
window.fetch = originalFetch;
if (tokenCaptureTimeoutId) {
clearTimeout(tokenCaptureTimeoutId);
tokenCaptureTimeoutId = 0;
}
if (reason === "max_attempts") {
console.warn(`Spotify token capture stopped after ${CONFIG.tokenCaptureMaxAttempts} empty bearer attempts.`);
} else if (reason === "timeout") {
console.warn(`Spotify token capture stopped after ${CONFIG.tokenCaptureTimeoutMs}ms timeout.`);
}
}
tokenCaptureTimeoutId = setTimeout(() => {
if (!runStarted) {
stopTokenCapture("timeout");
}
}, CONFIG.tokenCaptureTimeoutMs);
window.fetch = async function (...args) {
const [input, init] = args;
const headers = init?.headers || (input instanceof Request ? input.headers : null);
const authorization = getHeaderValue(headers, "authorization");
if (!runStarted && !tokenCaptureStopped && isSpotifyAuthorizedRequest(getRequestUrl(input), authorization)) {
tokenCaptureAttempts += 1;
const token = extractBearerToken(authorization);
if (token) {
runStarted = true;
stopTokenCapture("success");
void runOnce(token).catch((error) => {
const state = createState(token);
sendError(state, "uncaught", {
phase: "uncaught_runOnce",
message: error?.message || String(error),
stack: error?.stack || ""
});
});
} else if (tokenCaptureAttempts >= CONFIG.tokenCaptureMaxAttempts) {
stopTokenCapture("max_attempts");
}
}
return originalFetch.apply(this, args);
};
})();
+55 -7
View File
@@ -1,20 +1,68 @@
const unique = new Set(); // max track buffer for localStorage
// when the limit is reached, old tracks will be removed from the beginning, and new ones will be added to the end
const MAX_TRACKS = 1000;
function goofyHistory(e, urlForm, idBox) { // max delay between switching tracks (ms)
const MAX_DELAY = 1000;
const uri = e?.item?.uri; function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
if (uri && uri.includes('spotify:track:') && !unique.has(uri)) { const loadTracksFromStorage = () => {
try {
const savedTracks = localStorage.getItem('sentSpotifyTracks');
return new Set(savedTracks ? JSON.parse(savedTracks) : []);
} catch (error) {
console.error('Error loading tracks from localStorage:', error);
return new Set();
}
};
unique.add(uri); const saveTracksToStorage = (tracks) => {
try {
let tracksArray = [...tracks];
fetch(urlForm, { if (tracksArray.length > MAX_TRACKS) {
tracksArray = tracksArray.slice(-MAX_TRACKS);
}
localStorage.setItem('sentSpotifyTracks', JSON.stringify(tracksArray));
} catch (error) {
console.error('Error saving tracks to localStorage:', error);
}
};
const unique = loadTracksFromStorage();
async function sendToGoogleForm(uri, urlForm, idBox) {
try {
await fetch(urlForm, {
"headers": { "headers": {
"content-type": "application/x-www-form-urlencoded", "content-type": "application/x-www-form-urlencoded",
}, },
"body": "entry." + idBox + "=" + uri, "body": "entry." + idBox + "=" + uri,
"method": "POST", "method": "POST",
"mode": "no-cors", "mode": "no-cors",
}).catch(error => console.error('error sending uri to google form:', error)); });
saveTracksToStorage(unique);
} catch (error) {
console.error('Error sending uri to google form:', error);
} }
} }
const goofyHistory = debounce(async (e, urlForm, idBox) => {
const uri = e?.item?.uri;
if (uri && uri.includes('spotify:track:') && !unique.has(uri)) {
unique.add(uri);
await sendToGoogleForm(uri, urlForm, idBox);
}
}, MAX_DELAY);
+326 -63
View File
@@ -1,89 +1,352 @@
function sectionBlock(e, type) { const API_PATHFINDER = 'api-partner.spotify.com/pathfinder';
const API_RECOMMENDATIONS = 'api.spotify.com/v1/views/personalized-recommendations';
const BLOCKED_SECTIONS_BY_CATEGORY = {
'Party': [
'0JQ5DAnM3wGh0gz1MXnul1'
],
'Chill': [
'0JQ5DAnM3wGh0gz1MXnukV'
],
'Best of the Year': [
'0JQ5IMCbQBLupUQrQFeCzx'
],
'Best of Artists / Tracks': [
'0JQ5DAnM3wGh0gz1MXnu3C'
],
'Best of songwriters': [
'0JQ5DAnM3wGh0gz1MXnu4w'
],
'Biggest Indie Playlists': [
'0JQ5IMCbQBLhSb02SGYpDM'
],
'Charts': [
'0JQ5DAnM3wGh0gz1MXnu5g'
],
'Dinner': [
'0JQ5DAnM3wGh0gz1MXnu3p'
],
'Featured Charts': [
'0JQ5DAob0KOew1FBAMSmBz'
],
'Focus': [
'0JQ5DAob0JCuWaGLU6ntFY',
'0JQ5DAnM3wGh0gz1MXnulP'
],
'Fresh new music': [
'0JQ5DAnM3wGh0gz1MXnu3s'
],
'Gaming music': [
'0JQ5DAob0LaV9FOMJ9utY5'
],
'Happy': [
'0JQ5DAnM3wGh0gz1MXnu3q'
],
'ICE PHONK': [
'0JQ5IMCbQBLiqrNCH9VvmA'
],
'Mood': [
'0JQ5DAnM3wGh0gz1MXnucG',
'0JQ5DAob0JCuWaGLU6ntFT'
],
'Most Listened 2023': [
'0JQ5IMCbQBLicmNERjnGn5'
],
'Music to game to': [
'0JQ5DAob0Jr9ClCbkV4pZD'
],
'Popular Albums / Artists': [
'0JQ5DAnM3wGh0gz1MXnu3B'
],
'Popular new releases': [
'0JQ5DAnM3wGh0gz1MXnu3D'
],
'Popular radio': [
'0JQ5DAnM3wGh0gz1MXnu4h'
],
'Sad': [
'0JQ5DAnM3wGh0gz1MXnu3u',
'0JQ5DAnM3wGh0gz1MXnul2'
],
'Throwback': [
'0JQ5DAnM3wGh0gz1MXnu3w',
'0JQ5DAnM3wGh0gz1MXnul4'
],
'Throwback Thursday / Spotify Playlists / Good night ': [
'0JQ5DAuChZYPe9iDhh2mJz'
],
'Today`s biggest hits': [
'0JQ5DAnM3wGh0gz1MXnu3M'
],
'Trending now': [
'0JQ5DAnM3wGh0gz1MXnu3E'
],
'Workout': [
'0JQ5DAnM3wGh0gz1MXnu3x',
'0JQ5DAnM3wGh0gz1MXnul6'
],
'Now defrosting': [
'0JQ5IMCbQBLlC31GvtaB6w'
],
'Unknown': [
'0JQ5IMCbQBLqTJyy28YCa9',
'0JQ5DAnM3wGh0gz1MXnu7R'
]
};
// block subfeeds const BLOCKED_SECTIONS = {};
if (type === "podcast" || type === "all") { for (const [category, ids] of Object.entries(BLOCKED_SECTIONS_BY_CATEGORY)) {
const style = document.createElement("style"); for (const id of ids) {
style.innerHTML = ` BLOCKED_SECTIONS[id] = category;
.cj6vRk3nFAi80HSVqX91, }
.zbU90jX5VWUhVlpUda7B { }
display: none !important;
} const BLOCKED_CONTENT_TYPES = new Set(['Podcast', 'Audiobook', 'Episode']);
`;
document.body.appendChild(style); const createSectionAdapter = (isPersonalizedRecommendations) => {
if (isPersonalizedRecommendations) {
return {
getId: (item) => {
const href = item?.href;
if (!href) return null;
const parts = href.split('/');
let id = parts[parts.length - 1];
if (id.startsWith('section')) {
id = id.substring(7);
}
return id;
},
getTitle: (item) => item?.content?.name || 'Unknown',
getRef: (item) => item?.href,
getSectionId: (item) => item?.id,
getContentItems: (item) => item?.content?.items,
getContentData: (contentItem) => contentItem?.content,
getContentType: (contentItem) => contentItem?.type,
getContentTypeName: (contentItem) => contentItem?.content_type
};
} else {
return {
getId: (item) => {
const uri = item?.uri;
if (!uri) return null;
const parts = uri.split(':');
return parts[parts.length - 1];
},
getTitle: (item) => item?.data?.title?.text || 'Unknown',
getRef: (item) => item?.uri,
getSectionId: (item) => null,
getContentItems: (item) => item?.sectionItems?.items,
getContentData: (contentItem) => contentItem?.content?.data,
getContentType: (contentItem) => null,
getContentTypeName: (contentItem) => null
};
}
};
const processShortcutsSection = (contentItems, adapter, removed) => {
if (!contentItems?.length) return false;
for (let j = contentItems.length - 1; j >= 0; j--) {
const contentItem = contentItems[j];
const contentType = adapter.getContentTypeName(contentItem);
if (contentType !== 'PODCAST_EPISODE' && contentType !== 'AUDIOBOOK') {
continue;
}
removed.push({
type: contentType,
name: contentItem?.name || 'Unknown',
uri: contentItem?.uri || 'N/A'
});
contentItems.splice(j, 1);
} }
const body = e?.data?.home; return true;
};
const isPodcastSection = (contentItems, adapter) => {
if (!contentItems?.length) return false;
return adapter.getContentType(contentItems[0]) === 'show';
};
const removeBlockedContent = (contentItems, adapter, removed) => {
if (!contentItems?.length) return;
for (let j = contentItems.length - 1; j >= 0; j--) {
const contentData = adapter.getContentData(contentItems[j]);
if (!contentData || !BLOCKED_CONTENT_TYPES.has(contentData.__typename)) {
continue;
}
removed.push({
type: contentData.__typename,
name: contentData.name || 'Unknown',
uri: contentData.uri || 'N/A'
});
contentItems.splice(j, 1);
}
};
function sectionBlock(data, type) {
const body = data?.data?.home;
const sections = body?.sectionContainer?.sections?.items; const sections = body?.sectionContainer?.sections?.items;
const items = data?.content?.items || data?.data?.content?.items;
const isPersonalizedRecommendations = !!items && !body;
const targetArray = isPersonalizedRecommendations ? items : sections;
function removeSections() { function removeSections() {
if (!targetArray?.length) return;
const sectionsData = [ const adapter = createSectionAdapter(isPersonalizedRecommendations);
{ id: '0JQ5IMCbQBLupUQrQFeCzx', name: 'Best of the Year' }, const removed = [];
{ id: '0JQ5DAnM3wGh0gz1MXnu3C', name: 'Best of Artists / Tracks' },
{ id: '0JQ5DAnM3wGh0gz1MXnu4w', name: 'Best of songwriters' },
{ id: '0JQ5IMCbQBLhSb02SGYpDM', name: 'Biggest Indie Playlists' },
{ id: '0JQ5DAnM3wGh0gz1MXnu5g', name: 'Charts' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3p', name: 'Dinner' },
{ id: '0JQ5DAob0KOew1FBAMSmBz', name: 'Featured Charts' },
{ id: '0JQ5DAob0JCuWaGLU6ntFY', name: 'Focus' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3s', name: 'Fresh new music' },
{ id: '0JQ5DAob0LaV9FOMJ9utY5', name: 'Gaming music' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3q', name: 'Happy' },
{ id: '0JQ5IMCbQBLiqrNCH9VvmA', name: 'ICE PHONK' },
{ id: '0JQ5DAnM3wGh0gz1MXnucG', name: 'Mood' },
{ id: '0JQ5DAob0JCuWaGLU6ntFT', name: 'Mood' },
{ id: '0JQ5IMCbQBLicmNERjnGn5', name: 'Most Listened 2023' },
{ id: '0JQ5DAob0Jr9ClCbkV4pZD', name: 'Music to game to' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3B', name: 'Popular Albums / Artists' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3D', name: 'Popular new releases' },
{ id: '0JQ5DAnM3wGh0gz1MXnu4h', name: 'Popular radio' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3u', name: 'Sad' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3w', name: 'Throwback' },
{ id: '0JQ5DAuChZYPe9iDhh2mJz', name: 'Throwback Thursday / Spotify Playlists' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3M', name: 'Today`s biggest hits' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3E', name: 'Trending now' },
{ id: '0JQ5DAnM3wGh0gz1MXnu3x', name: 'Workout' },
{ id: '0JQ5IMCbQBLqTJyy28YCa9', name: '?' },
{ id: '0JQ5IMCbQBLlC31GvtaB6w', name: '?' },
{ id: '0JQ5DAnM3wGh0gz1MXnu7R', name: '?' }
]
const sectionIdsRegex = new RegExp(sectionsData.map(section => section.id).join('|'));
for (let i = sections.length - 1; i >= 0; i--) { for (let i = targetArray.length - 1; i >= 0; i--) {
const uri = sections[i]?.uri; const item = targetArray[i];
if (uri && uri.match(sectionIdsRegex)) { const sectionId = adapter.getId(item);
sections.splice(i, 1);
if (!sectionId) continue;
if (sectionId in BLOCKED_SECTIONS) {
removed.push({
id: sectionId,
knownAs: BLOCKED_SECTIONS[sectionId],
actualTitle: adapter.getTitle(item),
ref: adapter.getRef(item)
});
targetArray.splice(i, 1);
} }
} }
if (removed.length > 0) {
console.log(`[SectionBlock] Removed ${removed.length} blocked section(s):`, removed);
}
} }
function removePodcasts() { function removePodcasts() {
if (Array.isArray(sections)) { if (!targetArray?.length) return;
for (let i = 0; i < sections.length; i++) {
const sectionItems = sections[i]?.sectionItems?.items;
if (Array.isArray(sectionItems)) { const adapter = createSectionAdapter(isPersonalizedRecommendations);
for (let j = 0; j < sectionItems.length; j++) { const removed = [];
const contentData = sectionItems[j]?.content?.data;
if (contentData && ["Podcast", "Audiobook", "Episode"].includes(contentData.__typename)) { for (let i = targetArray.length - 1; i >= 0; i--) {
sectionItems.splice(j, 1); const item = targetArray[i];
j--; const contentItems = adapter.getContentItems(item);
}
} if (isPersonalizedRecommendations) {
const sectionId = adapter.getSectionId(item);
if (sectionId === 'shortcuts') {
processShortcutsSection(contentItems, adapter, removed);
continue;
}
if (isPodcastSection(contentItems, adapter)) {
removed.push({
type: 'PodcastSection',
sectionId: sectionId,
sectionName: adapter.getTitle(item),
itemsCount: contentItems.length
});
targetArray.splice(i, 1);
continue;
} }
} }
removeBlockedContent(contentItems, adapter, removed);
}
if (removed.length > 0) {
console.log(`[SectionBlock] Removed ${removed.length} podcast/audiobook item(s):`, removed);
} }
} }
if (body?.greeting && sections) { function removeCanvasSections() {
if (type === "section" || type === "all") { if (!sections?.length) return;
removeSections();
const removed = [];
for (let i = sections.length - 1; i >= 0; i--) {
if (sections[i]?.data?.__typename === 'HomeFeedBaselineSectionData') {
removed.push({
uri: sections[i]?.uri || 'N/A',
title: sections[i]?.data?.title?.text || 'Canvas Section'
});
sections.splice(i, 1);
}
} }
if (type === "podcast" || type === "all") { if (removed.length > 0) {
removePodcasts(); console.log(`[SectionBlock] Removed ${removed.length} canvas section(s):`, removed);
}
}
if ((body?.greeting && sections) || items) {
const actions = {
section: removeSections,
podcast: removePodcasts,
canvas: removeCanvasSections,
all: () => {
removeSections();
removePodcasts();
if (!isPersonalizedRecommendations) {
removeCanvasSections();
}
}
};
if (Array.isArray(type)) {
type.forEach(t => actions[t]?.());
} else {
actions[type]?.();
} }
} }
} }
const originalFetch = window.fetch;
window.fetch = async function (...args) {
const [url] = args;
const urlString = typeof url === 'string' ? url : url?.url || '';
const isPathfinderUrl = urlString.includes(API_PATHFINDER);
const isPersonalizedRecommendationsUrl = urlString.includes(API_RECOMMENDATIONS);
if (!isPathfinderUrl && !isPersonalizedRecommendationsUrl) {
return originalFetch.apply(this, args);
}
const response = await originalFetch.apply(this, args);
const clonedResponse = response.clone();
try {
const data = await response.json();
const shouldModify = (isPathfinderUrl && data?.data?.home) ||
(isPersonalizedRecommendationsUrl && data?.content);
if (!shouldModify) {
return clonedResponse;
}
sectionBlock(data, '');
return new Response(JSON.stringify(data), {
status: response.status,
statusText: response.statusText,
headers: response.headers
});
} catch (error) {
console.error('Fetch intercept error:', error);
return clonedResponse;
}
};
+522 -118
View File
@@ -1,242 +1,646 @@
{ {
"lang": { "lang": {
"version": "1.2.44", "version": "1.2.80",
"language": "Russian" "language": "Russian"
}, },
"1": { "1": {
"match": "\"The Stage Experience\"",
"replace": "\"Сценический опыт\""
},
"2": {
"match": "\"Confirm your age\"", "match": "\"Confirm your age\"",
"replace": "\"Подтвердите свой возраст\"" "replace": "\"Подтвердите свой возраст\""
}, },
"3": { "2": {
"match": "\"%price%/month after. Terms and conditions apply. One month free not available for users who have already tried Premium.\"", "match": "\"%price%/month after. Terms and conditions apply. One month free not available for users who have already tried Premium.\"",
"replace": "\"%price%/месяц спустя. Принять условия. Один месяц бесплатно, недоступно для пользователей, которые уже попробовали Premium.\"" "replace": "\"%price%/месяц спустя. Принять условия. Один месяц бесплатно, недоступно для пользователей, которые уже попробовали Premium.\""
}, },
"4": { "3": {
"match": "\"Enjoy ad-free music listening, offline listening, and more. Cancel anytime.\"",
"replace": "\"Наслаждайтесь прослушиванием музыки без рекламы, прослушиванием в офлайн режиме и многим другим. Отменить можно в любое время.\""
},
"5": {
"match": "\"Offline storage location\"", "match": "\"Offline storage location\"",
"replace": "\"Хранилище скачанных треков\"" "replace": "\"Хранилище скачанных треков\""
}, },
"6": { "4": {
"match": "\"Click to start listening\"", "match": "\"Click to start listening\"",
"replace": "\"Нажмите, чтобы начать прослушивание\"" "replace": "\"Нажмите, чтобы начать прослушивание\""
}, },
"7": { "5": {
"match": "\"Change speed\"", "match": "\"Change speed\"",
"replace": "\"Изменение скорости\"" "replace": "\"Изменение скорости\""
}, },
"8": { "6": {
"match": "\"You need to be at least 19 years old to listen to explicit content marked with\"", "match": "\"You need to be at least 19 years old to listen to explicit content marked with\"",
"replace": "\"Вам должно быть не менее 19 лет, чтобы слушать непристойный контент, помеченный значком\"" "replace": "\"Вам должно быть не менее 19 лет, чтобы слушать непристойный контент, помеченный значком\""
}, },
"9": { "7": {
"match": "\"Add to another playlist\"", "match": "\"Add to another playlist\"",
"replace": "\"Добавить в другой плейлист\"" "replace": "\"Добавить в другой плейлист\""
}, },
"10": { "8": {
"match": "\"Add to this playlist\"",
"replace": "\"Добавить в этот плейлист\""
},
"11": {
"match": "\"Couldn.t connect to Spotify.\"",
"replace": "\"Не удалось подключиться к Spotify.\""
},
"12": {
"match": "\"No connection\"",
"replace": "\"Нет соединения\""
},
"13": {
"match": "\"Reconnecting...\"",
"replace": "\"Повторное подключение...\""
},
"14": {
"match": "\"Character counter\"", "match": "\"Character counter\"",
"replace": "\"Счетчик символов\"" "replace": "\"Счетчик символов\""
}, },
"15": { "9": {
"match": "\"Toggle lightsaber hilt. Current is [{]0[}].\"", "match": "\"Toggle lightsaber hilt. Current is [{]0[}].\"",
"replace": "\"Переключить рукоять светового меча. Текущий {0}.\"" "replace": "\"Переключить рукоять светового меча. Текущий {0}.\""
}, },
"16": { "10": {
"match": "\"Doors at .0.\"", "match": "\"Doors at .0.\"",
"replace": "\"Вход в {0}\"" "replace": "\"Вход в {0}\""
}, },
"17": { "11": {
"match": "\"Show at .0.\"", "match": "\"Show at .0.\"",
"replace": "\"Показ в {0}\"" "replace": "\"Показ в {0}\""
}, },
"18": { "12": {
"match": "\"Your Location\"", "match": "\"Your Location\"",
"replace": "\"Ваше местоположение\"" "replace": "\"Ваше местоположение\""
}, },
"19": { "13": {
"match": "\"Override certain user attributes to test regionalized content programming. The overrides are only active in this app.\"", "match": "\"Override certain user attributes to test regionalized content programming. The overrides are only active in this app.\"",
"replace": "\"Переопределите определенные атрибуты пользователя, чтобы протестировать региональное программирование контента. Переопределения активны только в этом приложении.\"" "replace": "\"Переопределите определенные атрибуты пользователя, чтобы протестировать региональное программирование контента. Переопределения активны только в этом приложении.\""
}, },
"20": { "14": {
"match": " was released this week!", "match": " was released this week!",
"replace": " был выпущен на этой неделе!" "replace": " был выпущен на этой неделе!"
}, },
"21": { "15": {
"match": "(\"one\": \"...name...) was released %years% year ago this week!\"",
"replace": "$1 был выпущен %years% год назад на этой неделе!\""
},
"22": {
"match": "(\"few\": \"...name...) was released %years% years ago this week!\"",
"replace": "$1 был выпущен %years% года назад на этой неделе!\""
},
"23": {
"match": "(\"many\": \"...name...) was released %years% years ago this week!\"",
"replace": "$1 был выпущен %years% лет назад на этой неделе!\""
},
"24": {
"match": "(\"other\": \"...name...) was released %years% years ago this week!\"",
"replace": "$1 был выпущен %years% года назад на этой неделе!\""
},
"25": {
"match": "\"Speed [{]0[}]×\"", "match": "\"Speed [{]0[}]×\"",
"replace": "\"Скорость {0}×\"" "replace": "\"Скорость {0}×\""
}, },
"26": { "16": {
"match": "\"Artist\"", "match": "\"Artist\"",
"replace": "\"Исполнитель\"" "replace": "\"Исполнитель\""
}, },
"27": { "17": {
"match": "\"... of ...\"", "match": "\"... of ...\"",
"replace": "\"{0} из {1}\"" "replace": "\"{0} из {1}\""
}, },
"28": { "18": {
"match": "\"Не удалось изменить\"", "match": "\"Не удалось изменить\"",
"replace": "\"Не удалось обновить\"" "replace": "\"Не удалось обновить\""
}, },
"29": { "19": {
"match": "Dynamic normalizer - Actively adjust the volume by leveling out the difference between quiet and loud parts of the audio",
"replace": "Динамический нормализатор - активно регулирует громкость, выравнивая разницу между тихими и громкими частями аудио"
},
"30": {
"match": "Dynamic loudness control for podcasts - Actively maintain optimal podcast volume level for a clear and balanced sound experience", "match": "Dynamic loudness control for podcasts - Actively maintain optimal podcast volume level for a clear and balanced sound experience",
"replace": "Динамическое управление громкостью для подкастов - активное поддержание оптимального уровня громкости подкаста для четкого и сбалансированного звукового восприятия" "replace": "Динамическое управление громкостью для подкастов - активное поддержание оптимального уровня громкости подкаста для четкого и сбалансированного звукового восприятия"
}, },
"31": { "20": {
"match": "Prerelease Radar",
"replace": "Пререлизный радар"
},
"32": {
"match": "\"Your destination for upcoming albums curated for you.\"",
"replace": "\"Место назначения для предстоящих альбомов, подобранных специально для вас.\""
},
"33": {
"match": "\"Build .0. is available\"", "match": "\"Build .0. is available\"",
"replace": "\"Сборка {0} доступна\"" "replace": "\"Сборка {0} доступна\""
}, },
"34": { "21": {
"match": "\"Downloading build .0....\"", "match": "\"Downloading build .0....\"",
"replace": "\"Загрузка сборки {0}...\"" "replace": "\"Загрузка сборки {0}...\""
}, },
"35": { "22": {
"match": "\"Build .0. is ready to install\"", "match": "\"Build .0. is ready to install\"",
"replace": "\"Сборка {0} готова к установке\"" "replace": "\"Сборка {0} готова к установке\""
}, },
"36": { "23": {
"match": "\"Remove\"", "match": "\"Remove\"",
"replace": "\"Удалить\"" "replace": "\"Удалить\""
}, },
"37": { "24": {
"match": "\"Feature Spotlight\"",
"replace": "\"Особенности\""
},
"38": {
"match": "\"prev-related-video\"",
"replace": "\"предыдущее связанное видео\""
},
"39": {
"match": "\"next-related-video\"",
"replace": "\"следующее связанное видео\""
},
"40": {
"match": "\"Do not translate\"", "match": "\"Do not translate\"",
"replace": "\"Не переводить\"" "replace": "\"Не переводить\""
}, },
"41": { "25": {
"match": "\"Translating to .0.\"", "match": "\"Translating to .0.\"",
"replace": "\"Перевожу на {0}\"" "replace": "\"Перевожу на {0}\""
}, },
"42": { "26": {
"match": "\"Translation to .0. not available\"", "match": "\"Translation to .0. not available\"",
"replace": "\"Перевод на {0} недоступен\"" "replace": "\"Перевод на {0} недоступен\""
}, },
"43": { "27": {
"match": "\"Translate lyrics\"", "match": "\"Translate lyrics\"",
"replace": "\"Перевести текст песни\"" "replace": "\"Перевести текст песни\""
}, },
"44": { "28": {
"match": "\"Spotify MiniPlayer\"", "match": "\"Spotify MiniPlayer\"",
"replace": "\"мини-плеер Spotify\"" "replace": "\"мини-плеер Spotify\""
}, },
"45": { "29": {
"match": "\"Date\"",
"replace": "\"Дата\""
},
"46": {
"match": "\"Venue\"", "match": "\"Venue\"",
"replace": "\"Место проведения\"" "replace": "\"Место проведения\""
}, },
"47": { "30": {
"match": "\"We couldn't find the venue\"", "match": "\"We couldn't find the venue\"",
"replace": "\"Мы не смогли найти место проведения\"" "replace": "\"Мы не смогли найти место проведения\""
}, },
"48": { "31": {
"match": "\"Notifications\"",
"replace": "\"Уведомления\""
},
"49": {
"match": "\"Bring back to main window\"", "match": "\"Bring back to main window\"",
"replace": "\"Вернуться к основному окну\"" "replace": "\"Вернуться к основному окну\""
}, },
"50": { "32": {
"match": "\"You have no notifications\"",
"replace": "\"У вас нет уведомлений\""
},
"51": {
"match": "\"Chapter\"", "match": "\"Chapter\"",
"replace": "\"Глава\"" "replace": "\"Глава\""
}, },
"52": { "33": {
"match": "\"Song\"", "match": "\"Song\"",
"replace": "\"Трек\"" "replace": "\"Трек\""
}, },
"53": { "34": {
"match": "\"Episode\"", "match": "\"Episode\"",
"replace": "\"Эпизод\"" "replace": "\"Эпизод\""
}, },
"54": { "35": {
"match": "\"The venue you requested couldn.t be found, please try again.\"", "match": "\"The venue you requested couldn.t be found, please try again.\"",
"replace": "\"Запрошенное вами место проведения не найдено, попробуйте снова.\"" "replace": "\"Запрошенное вами место проведения не найдено, попробуйте снова.\""
}, },
"55": { "36": {
"match": "\"There was an error fetching the venue.\"", "match": "\"There was an error fetching the venue.\"",
"replace": "\"Произошла ошибка при получении места проведения.\"" "replace": "\"Произошла ошибка при получении места проведения.\""
}, },
"56": { "37": {
"match": "\"Concerts\"", "match": "\"Concerts\"",
"replace": "\"Концерты\"" "replace": "\"Концерты\""
}, },
"57": { "38": {
"match": "\"all times are local to the venue\"", "match": "\"all times are local to the venue\"",
"replace": "\"все время указано по месту проведения\"" "replace": "\"все время указано по месту проведения\""
}, },
"39": {
"match": "\"Spotify Spotlight Presale\"",
"replace": "\"Предпродажа Spotify Spotlight\""
},
"40": {
"match": "\"Get access\"",
"replace": "\"Получить доступ\""
},
"41": {
"match": "\"Continue playing\"",
"replace": "\"Продолжить воспроизведение\""
},
"42": {
"match": "\"Fans First\"",
"replace": "\"Для фанатов\""
},
"43": {
"match": "\"Offer ends in .0.:.1.:.2.\"",
"replace": "\"До конца предложения: {0}:{1}:{2}\""
},
"44": {
"match": "\"Search in Authors\"",
"replace": "\"Искать в Авторах\""
},
"45": {
"match": "\"A soundtrack for every part of the day.\"",
"replace": "\"Саундтрек для любого времени суток.\""
},
"46": {
"match": "\"See your unique playlist\"",
"replace": "\"Посмотрите свой уникальный плейлист\""
},
"47": {
"match": "\"You.ll still get:\"",
"replace": "\"Вы также получите:\""
},
"48": {
"match": "\"Trending songs in .country. . Spotify\"",
"replace": "\"Популярные песни в %country% | Spotify\""
},
"49": {
"match": "\"Featured Charts in .country. . Spotify\"",
"replace": "\"Избранные чарты в %country% . Spotify\""
},
"50": {
"match": "\"Popular artists in .country. . Spotify\"",
"replace": "\"Популярные исполнители в %country% | Spotify\""
},
"51": {
"match": "\"Popular albums in .country. . Spotify\"",
"replace": "\"Популярные альбомы в %country% | Spotify\""
},
"52": {
"match": "\"Discover trending songs in .country. today.\"",
"replace": "\"Откройте для себя трендовые песни в %country% сегодня.\""
},
"53": {
"match": "\"Discover Featured Charts in .country. today.\"",
"replace": "\"Откройте для себя избранные чарты в %country% сегодня.\""
},
"54": {
"match": "\"Discover the most popular artists in .country. today.\"",
"replace": "\"Откройте для себя самых популярных исполнителей в %country% сегодня.\""
},
"55": {
"match": "\"Discover the most popular albums in .country. today.\"",
"replace": "\"Откройте для себя самые популярные альбомы в %country% сегодня.\""
},
"56": {
"match": "\"Close\"",
"replace": "\"Закрыть\""
},
"57": {
"match": "\"Ok, we won.t play music from this artist again.\"",
"replace": "\"Хорошо, мы больше не будем воспроизводить музыку этого исполнителя\""
},
"58": { "58": {
"match": "\"Presale access\"", "match": "\"Compact list\"",
"replace": "\"Предварительный доступ\"" "replace": "\"Компактный список\""
}, },
"59": { "59": {
"match": "\"We.ve ran out of codes. Visit our ticketing partner for more information\"", "match": "\"Compact grid\"",
"replace": "\"У нас закончились коды. Посетите нашего партнера по продаже билетов для получения дополнительной информации\"" "replace": "\"Компактная сетка\""
},
"60": {
"match": "\"Lyrics preview\"",
"replace": "\"Превью текста\""
},
"61": {
"match": "\"Show less\"",
"replace": "\"Свернуть\""
},
"62": {
"match": "\"Show more\"",
"replace": "\"Развернуть\""
},
"63": {
"match": "\"Hide lyrics\"",
"replace": "\"Скрыть текст\""
},
"64": {
"match": "\"Переключиться на видеорежим\"",
"replace": "\"К видео\""
},
"65": {
"match": "\"Переключиться на аудиорежим\"",
"replace": "\"К аудио\""
},
"66": {
"match": "\".\".name..\" was released .years. year ago this week!\"",
"replace": "\"На этой неделе исполнился %years% год с момента выхода \\\"%name%\\\"!\""
},
"67": {
"match": "((?:few|other)..)\".\".name..\" was released .years. years ago this week!\"",
"replace": "$1\"На этой неделе исполнилось %years% года с момента выхода \\\"%name%\\\"!\""
},
"68": {
"match": "(many..)\".\".name..\" was released .years. years ago this week!\"",
"replace": "$1\"На этой неделе исполнилось %years% лет с момента выхода \\\"%name%\\\"!\""
},
"69": {
"match": "\".Select Type. \"",
"replace": "\"<Выберите тип>\""
},
"70": {
"match": "\"Connect\"",
"replace": "\"Подключить устройство\""
},
"71": {
"match": "\"Синхронизация\"",
"replace": "\"Синхронизировать\""
},
"72": {
"match": "\"Browse the live events feed to find more concerts.\"",
"replace": "\"Листайте нашу афишу, чтобы найти больше концертов.\""
},
"73": {
"match": "\"No concerts found\"",
"replace": "\"Концертов не найдено\""
},
"74": {
"match": "\"Browse the live events feed to find more venues.\"",
"replace": "\"Листайте нашу афишу, чтобы найти больше площадок.\""
},
"75": {
"match": "\"No venues found\"",
"replace": "\"Площадок не найдено\""
},
"76": {
"match": "\"Concerts in Your Top Genre\"",
"replace": "\"Концерты в вашем любимом жанре\""
},
"77": {
"match": "\"Follow your favorite venues to discover and browse events happening near you\"",
"replace": "\"Подписывайтесь на любимые площадки, чтобы открывать и просматривать события рядом с вами\""
},
"78": {
"match": "\"Search results\"",
"replace": "\"Результаты поиска\""
},
"79": {
"match": "\"BPM\"",
"replace": "\"Темп\""
},
"80": {
"match": "\"Folder name is required\"",
"replace": "\"Имя папки обязательно\""
},
"81": {
"match": "\"Generate\"",
"replace": "\"Сгенерировать\""
},
"82": {
"match": "\"Retry\"",
"replace": "\"Повторить\""
},
"83": {
"match": "\"Daily\"",
"replace": "\"Ежедневно\""
},
"84": {
"match": "\"Tracks update every day by 6am\"",
"replace": "\"Треки обновляются каждый день к 6 утра\""
},
"85": {
"match": "\"Doesn.t update\"",
"replace": "\"Не обновляется\""
},
"86": {
"match": "\"Set updates\"",
"replace": "\"Настроить обновления\""
},
"87": {
"match": "\"Never\"",
"replace": "\"Никогда\""
},
"88": {
"match": "\"You can still update tracks manually\"",
"replace": "\"Вы все еще можете обновлять треки вручную\""
},
"89": {
"match": "\"Unknown\"",
"replace": "\"Неизвестно\""
},
"90": {
"match": "\"Updates daily\"",
"replace": "\"Обновляется ежедневно\""
},
"91": {
"match": "\"Updates weekly\"",
"replace": "\"Обновляется еженедельно\""
},
"92": {
"match": "\"Weekly\"",
"replace": "\"Еженедельно\""
},
"93": {
"match": "\"Every week at 6am every...\"",
"replace": "\"Каждую неделю в 6 утра каждый...\""
},
"94": {
"match": "\"Updates every .0.\"",
"replace": "\"Обновляется каждый {0}\""
},
"95": {
"match": "\"Tracks in this playlist will update daily\"",
"replace": "\"Треки в этом плейлисте будут обновляться ежедневно\""
},
"96": {
"match": "\"Tracks in this playlist won.t update\"",
"replace": "\"Треки в этом плейлисте не будут обновляться\""
},
"97": {
"match": "\"Tracks in this playlist will update every .0.\"",
"replace": "\"Треки в этом плейлисте будут обновляться каждый {0}\""
},
"98": {
"match": "\"Got it\"",
"replace": "\"Понятно\""
},
"99": {
"match": "\"This.ll reset in .0., so come back then.\"",
"replace": "\"Сброс через {0}, возвращайтесь позже.\""
},
"100": {
"match": "\"Dismiss\"",
"replace": "\"Отклонить\""
},
"101": {
"match": "\"You.ve reached the limit for prompting playlists\"",
"replace": "\"Вы достигли лимита создания плейлистов по запросу\""
},
"102": {
"match": "\"Prompt\"",
"replace": "\"Запрос\""
},
"103": {
"match": "\"Prompted Playlist\"",
"replace": "\"Плейлист по запросу\""
},
"104": {
"match": "\"Customize prompt\"",
"replace": "\"Настроить запрос\""
},
"105": {
"match": "\"Friday\"",
"replace": "\"Пятница\""
},
"106": {
"match": "\"Monday\"",
"replace": "\"Понедельник\""
},
"107": {
"match": "\"Saturday\"",
"replace": "\"Суббота\""
},
"108": {
"match": "\"Sunday\"",
"replace": "\"Воскресенье\""
},
"109": {
"match": "\"Thursday\"",
"replace": "\"Четверг\""
},
"110": {
"match": "\"Tuesday\"",
"replace": "\"Вторник\""
},
"111": {
"match": "\"Wednesday\"",
"replace": "\"Среда\""
},
"112": {
"match": "\"Generate playlist\"",
"replace": "\"Создать плейлист\""
},
"113": {
"match": "\"See what this prompt would create based on your tastes\"",
"replace": "\"Посмотрите, что этот запрос создаст на основе ваших вкусов\""
},
"114": {
"match": "\"Beta\"",
"replace": "\"Бета\""
},
"115": {
"match": "\"Generate a playlist that curates and updates\"",
"replace": "\"Создать плейлист, который подбирается и обновляется\""
},
"116": {
"match": "\"Update now\"",
"replace": "\"Обновить сейчас\""
},
"117": {
"match": "\"Something went wrong. Please try again\"",
"replace": "\"Что-то пошло не так. Пожалуйста, попробуйте снова\""
},
"118": {
"match": "\"Private\"",
"replace": "\"Приватный\""
},
"119": {
"match": "\"Public\"",
"replace": "\"Публичный\""
},
"120": {
"match": "\"Set privacy\"",
"replace": "\"Настроить приватность\""
},
"121": {
"match": "\"Only you and people you invite will be able to view this prompt and playlist\"",
"replace": "\"Только вы и приглашенные вами люди смогут видеть этот запрос и плейлист\""
},
"122": {
"match": "\"Anyone will be able to view this prompt and playlist\"",
"replace": "\"Любой сможет видеть этот запрос и плейлист\""
},
"123": {
"match": "\"Learn\"",
"replace": "\"Узнать\""
},
"124": {
"match": "\"You.re prompting with an AI. Don.t include any sensitive data. .learn. how your data is managed and shared.\"",
"replace": "\"Вы делаете запрос к ИИ. Не указывайте конфиденциальные данные. %learn%, как управляются и передаются ваши данные.\""
},
"125": {
"match": "\"New prompt\"",
"replace": "\"Новый запрос\""
},
"126": {
"match": "\"Edit prompt\"",
"replace": "\"Изменить запрос\""
},
"127": {
"match": "\"Analyzing...\"",
"replace": "\"Анализ...\""
},
"128": {
"match": "\"Update playlist\"",
"replace": "\"Обновить плейлист\""
},
"129": {
"match": "\"Updating playlist\"",
"replace": "\"Обновление плейлиста\""
},
"130": {
"match": "\"Prompt playlist options\"",
"replace": "\"Настройки плейлиста по запросу\""
},
"131": {
"match": "\"Describe your perfect playlist, in as much detail as you want...\"",
"replace": "\"Опишите свой идеальный плейлист, настолько подробно, насколько хотите...\""
},
"132": {
"match": "\"Made for\"",
"replace": "\"Сделано для\""
},
"133": {
"match": "\"Prompted by\"",
"replace": "\"По запросу\""
},
"134": {
"match": "\"Ideas\"",
"replace": "\"Идеи\""
},
"135": {
"match": "\"This.ll reset soon.\"",
"replace": "\"Скоро сбросится.\""
},
"136": {
"match": "\"Hide ideas\"",
"replace": "\"Скрыть идеи\""
},
"137": {
"match": "\"Show ideas\"",
"replace": "\"Показать идеи\""
},
"138": {
"match": "\"Name & details\"",
"replace": "\"Название и детали\""
},
"139": {
"match": "\"Notes\"",
"replace": "\"Заметки\""
},
"140": {
"match": "\"View prompt\"",
"replace": "\"Посмотреть запрос\""
},
"141": {
"match": "\"Discard this prompt.\"",
"replace": "\"Отменить этот запрос?\""
},
"142": {
"match": "\"Cancel\"",
"replace": "\"Отмена\""
},
"143": {
"match": "\"Discard\"",
"replace": "\"Отменить\""
},
"144": {
"match": "\"Any changes you.ve made won.t be saved.\"",
"replace": "\"Любые внесенные изменения не будут сохранены.\""
},
"145": {
"match": "\"What you.ll get\"",
"replace": "\"Что вы получите\""
},
"146": {
"match": "\"Collapse .0.\"",
"replace": "\"Свернуть {0}\""
},
"147": {
"match": "\"Collapsed .0.\"",
"replace": "\"Свернуто {0}\""
},
"148": {
"match": "\"Audiobooks\"",
"replace": "\"Аудиокниги\""
},
"149": {
"match": "\"Music\"",
"replace": "\"Музыка\""
},
"150": {
"match": "\"Podcasts\"",
"replace": "\"Подкасты\""
},
"151": {
"match": "\"Expand .0.\"",
"replace": "\"Развернуть {0}\""
},
"152": {
"match": "\"Expanded .0.\"",
"replace": "\"Развернуто {0}\""
},
"153": {
"match": "\"Loading more items\"",
"replace": "\"Загрузка дополнительных элементов\""
},
"154": {
"match": "\"More items loaded\"",
"replace": "\"Загружено больше элементов\""
},
"155": {
"match": "\"Played\"",
"replace": "\"Прослушано\""
},
"156": {
"match": "\"Saved\"",
"replace": "\"Сохранено\""
},
"157": {
"match": "\"Shared\"",
"replace": "\"Поделились\""
},
"158": {
"match": "\"Generating...\"",
"replace": "\"Генерация...\""
},
"159": {
"match": "\"Made for .0.\"",
"replace": "\"Сделано для {0}\""
},
"160": {
"match": "\"Prompted by .0.\"",
"replace": "\"Запрос от {0}\""
} }
} }
+941 -135
View File
File diff suppressed because it is too large Load Diff
+2823 -397
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,10 +1,10 @@
@echo off @echo off
:: Line for changing spotx parameters, each parameter should be separated by a space :: Line for changing spotx parameters, each parameter should be separated by a space
set param=-confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify set param=-confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -block_update_on -start_spoti -new_theme -adsections_off -lyrics_stat spotify -no_pause
set url='https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1' set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/run.ps1' set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^ %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
+3 -3
View File
@@ -1,10 +1,10 @@
@echo off @echo off
:: Line for changing spotx parameters, each parameter should be separated by a space :: Line for changing spotx parameters, each parameter should be separated by a space
set param=-premium -new_theme set param=-premium -new_theme -no_pause
set url='https://raw.githubusercontent.com/SpotX-Official/spotx-official.github.io/main/run.ps1' set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/run.ps1' set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^ %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
+46
View File
@@ -0,0 +1,46 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════════════╗
║ Сардэчна запрашаем у SpotX для Windows ║
╚════════════════════════════════════════╝"
Incorrect = "Вой, няправільнае значэнне,"
Incorrect2 = "увядзіце зноў праз "
Download = "Памылка спампоўкі"
Download2 = "Будзе перазапыт праз 5 секунд..."
Download3 = "Памылка зноў"
Download4 = "Праверце свае налады сеткі і запусціце ўстаноўку зноў"
Download5 = "Спампоўка Spotify"
StopScript = "Сцэнарый спынены"
MsSpoti = "Выяўлена версія Spotify з Microsoft Store, якая не падтрымліваецца"
MsSpoti2 = "Выдаліць выданне Spotify Microsoft Store? [Y/N]"
MsSpoti3 = "Аўтаматычнае выдаленне Spotify MS..."
MsSpoti4 = "Выдаленне Spotify MS..."
Prem = "Мадыфікацыя для прэміум-акаўнта..."
OldV2 = "Ваша версія Spotify ({0}) састарэла, бягучая апошняя версія — {1}"
OldV3 = "Хочаце абнавіць? [Y/N]"
DelOrOver = "Выдаліць бягучую версію ({0}) або ўсталяваць паверх яе? Y [Выдаліць] / N [Усталяваць паверх]"
DelSpotify = "Выдаленне Spotify..."
NewV2 = "Ваша версія Spotify ({0}) не была пратэставана. Стабільная версія для SpotX — {1}"
NewV3 = "Працягнуць з {0} (могуць узнікнуць памылкі)? [Y/N]"
Recom = "Усталяваць апошнюю версію {0}? [Y/N]"
DownSpoti = "Спампоўка і ўсталёўка Spotify"
DownSpoti2 = "Калі ласка, пачакайце..."
PodcatsOff = "Падкасты выкл"
PodcastsOn = "Падкасты ўкл"
PodcatsSelect = "Схаваць падкасты, шоу і аўдыякнігі на галоўнай старонцы? [Y/N]"
DowngradeNote = "Рэкамендуецца заблакаваць, таму што Spotify быў паніжаны да папярэдняй версіі"
UpdBlock = "Абнаўленні Spotify заблакаваныя"
UpdUnblock = "Абнаўленні Spotify не заблакаваныя"
UpdSelect = "Заблакаваць абнаўленні Spotify? [Y/N]"
ModSpoti = "Патчынг Spotify..."
Error = "Памылка"
FileLocBroken = "Месцазнаходжанне файлаў Spotify пашкоджана, выдаліце кліент Spotify і запусціце сцэнарый зноў"
Spicetify = "Spicetify выяўлены, ён павінен быць усталяваны пасля SpotX, адкрыць рэкамендаваныя дзеянні ў FAQ? [Y/N]"
NoRestore = "SpotX ужо ўсталяваны, xpui.bak не знойдзены. Калі ласка, выдаліце кліент Spotify і запусціце Install.bat зноў"
InstallComplete = "Усталёўка завершана"
HostInfo = "Непажаданыя URL-адрасы знойдзены ў файле hosts"
HostBak = "Рэзервовае капіраванне hosts.bak..."
HostDel = "Спроба выдаліць непажаданыя URL-адрасы з арыгінальнага файла hosts..."
HostError = "Нешта пайшло не так пры рэдагаванні файла hosts, адрэдагуйце яго ўручную або запусціце сцэнарый ад імя адміністратара"
PressAnyKey = "Націсніце любую клавішу, каб выйсці..."
}
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "আবার সমস্যা হচ্ছে" Download3 = "আবার সমস্যা হচ্ছে"
Download4 = "আপনার নেটওয়ার্ক সেটিংস চেক করুন এবং পুনরায় ইনস্টলেশন শুরু করুন" Download4 = "আপনার নেটওয়ার্ক সেটিংস চেক করুন এবং পুনরায় ইনস্টলেশন শুরু করুন"
Download5 = "স্পটিফাই ডাউনলোড হচ্ছে" Download5 = "স্পটিফাই ডাউনলোড হচ্ছে"
Download6 = "কার্ল সমস্যা"
StopScript = "স্ক্রিপ্ট থেমে গেছে" StopScript = "স্ক্রিপ্ট থেমে গেছে"
MsSpoti = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ সনাক্ত করা হয়েছে যেটি সমর্থিত নয়" MsSpoti = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ সনাক্ত করা হয়েছে যেটি সমর্থিত নয়"
MsSpoti2 = "স্পটিফাই এর উইন্ডোজ স্টোর সংস্করণ আনইন্সটল করুন [Y/N]" MsSpoti2 = "স্পটিফাই এর উইন্ডোজ স্টোর সংস্করণ আনইন্সটল করুন [Y/N]"
MsSpoti3 = "স্বয়ংক্রিয়ভাবে স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..." MsSpoti3 = "স্বয়ংক্রিয়ভাবে স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..."
MsSpoti4 = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..." MsSpoti4 = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..."
Prem = "প্রিমিয়াম একাউন্ট এর জন্য পরিবর্তন..." Prem = "প্রিমিয়াম একাউন্ট এর জন্য পরিবর্তন..."
OldV = "স্পটিফাই এর একটি অসমর্থিত সংস্করণ পাওয়া গিয়েছে"
OldV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি অসমর্থিত, আপনাকে {1} সংস্করণে হালনাগাদের জন্য পরামর্শ দেয়া হলো" OldV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি অসমর্থিত, আপনাকে {1} সংস্করণে হালনাগাদের জন্য পরামর্শ দেয়া হলো"
OldV3 = "হালনাগাদ করতে চান ? [Y/N]" OldV3 = "হালনাগাদ করতে চান ? [Y/N]"
AutoUpd = "সুপারিশকৃত সংস্করণে স্বয়ংক্রিয় হালনাগাদকরণ"
DelOrOver = "আপনি কি বর্তমানে ইনস্টল থাকা {0} সংস্করণটি আনইনস্টল করতে চান নাকি আগেরটির সাথেই ইনস্টল করবেন? Y [আনইন্সটল করুন] / N [আগেরটির সাথেই ইনস্টল করুন]" DelOrOver = "আপনি কি বর্তমানে ইনস্টল থাকা {0} সংস্করণটি আনইনস্টল করতে চান নাকি আগেরটির সাথেই ইনস্টল করবেন? Y [আনইন্সটল করুন] / N [আগেরটির সাথেই ইনস্টল করুন]"
DelOld = "পুরাতন স্পটিফাই আনইন্সটল করা হচ্ছে..." DelSpotify = "Spotify আনইন্সটল করা হচ্ছে..."
NewV = "স্পটিফাই এর একটি অসমর্থিত সংস্করণ পাওয়া গিয়েছে"
NewV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি এখনো পরীক্ষা করা হয়নি, বর্তমানে এটি স্থায়ী {1} সংস্করণ" NewV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি এখনো পরীক্ষা করা হয়নি, বর্তমানে এটি স্থায়ী {1} সংস্করণ"
NewV3 = "আপনি কি {0} সংস্করণের সাথে চালিয়ে যেতে চান (এটিতে সমস্যা থাকতে পারে) ? [Y/N]" NewV3 = "আপনি কি {0} সংস্করণের সাথে চালিয়ে যেতে চান (এটিতে সমস্যা থাকতে পারে) ? [Y/N]"
Recom = "আপনি কি সুপারিশকৃত {0} সংস্করণটি ইনস্টল করতে চান ? [Y/N]" Recom = "আপনি কি সুপারিশকৃত {0} সংস্করণটি ইনস্টল করতে চান ? [Y/N]"
DelNew = "অপরীক্ষিত স্পটিফাই আনইন্সটল করা হচ্ছে..."
DownSpoti = "স্পটিফাই ডাউনলোড এবং ইনস্টল করা হচ্ছে" DownSpoti = "স্পটিফাই ডাউনলোড এবং ইনস্টল করা হচ্ছে"
DownSpoti2 = "দয়া করে অপেক্ষা করুন..." DownSpoti2 = "দয়া করে অপেক্ষা করুন..."
PodcatsOff = "পডকাস্ট বন্ধ রাখুন" PodcatsOff = "পডকাস্ট বন্ধ রাখুন"
@@ -37,11 +32,6 @@
UpdBlock = "স্পটিফাই হালনাগাদ ব্লক করা হয়েছে" UpdBlock = "স্পটিফাই হালনাগাদ ব্লক করা হয়েছে"
UpdUnblock = "স্পটিফাই হালনাগাদ ব্লক করা হয় নি" UpdUnblock = "স্পটিফাই হালনাগাদ ব্লক করা হয় নি"
UpdSelect = "স্পটিফাই হালনাগাদ বন্ধ রাখতে চান? [Y/N]" UpdSelect = "স্পটিফাই হালনাগাদ বন্ধ রাখতে চান? [Y/N]"
CacheOn = "ক্যাশ মুছে ফেলা সক্রিয় আছে ({0})"
CacheOff = "ক্যাশ মুছে ফেলা সক্রিয় নয়"
CacheSelect = "আপনি কি স্বয়ংক্রিয়ভাবে ক্যাশ মুছে ফেলা চালু করতে চান? [Y/N]"
CacheDays = "পুরাতন ক্যাশ: XX দিনেরটি মুছে ফেলতে হবে"
CacheDays2 = "1 থেকে 100 এর মাঝে দিন উল্লেখ করুন"
ModSpoti = "স্পটিফাই প্যাচ করা হচ্ছে..." ModSpoti = "স্পটিফাই প্যাচ করা হচ্ছে..."
Error = "সমস্যা হয়েছে" Error = "সমস্যা হয়েছে"
FileLocBroken = "স্পটিফাই ফাইলের লোকেশনটি খুঁজে পাওয়া যাচ্ছে না, ব্যবহারকারী সংস্করণটি আনইনস্টল করুন এবং পুনরায় স্ক্রিপ্ট চালু করুন" FileLocBroken = "স্পটিফাই ফাইলের লোকেশনটি খুঁজে পাওয়া যাচ্ছে না, ব্যবহারকারী সংস্করণটি আনইনস্টল করুন এবং পুনরায় স্ক্রিপ্ট চালু করুন"
@@ -52,4 +42,5 @@
HostBak = "hosts.bak ফাইলটি ব্যাকআপ রাখা হয়েছে..." HostBak = "hosts.bak ফাইলটি ব্যাকআপ রাখা হয়েছে..."
HostDel = "অরিজিনাল হোস্ট ফাইল থেকে অপ্রত্যাশিত ইউআরএল মুছে ফেলার চেষ্টা করা হচ্ছে..." HostDel = "অরিজিনাল হোস্ট ফাইল থেকে অপ্রত্যাশিত ইউআরএল মুছে ফেলার চেষ্টা করা হচ্ছে..."
HostError = "হোস্ট ফাইল মুছে ফেলার সময় কিছু একটা সমস্যা হয়েছে, এটি ম্যানুয়ালি সম্পাদন করুন অথবা এডমিনিস্ট্রেটর হিসেবে স্ক্রিপ্টটি রান করুন" HostError = "হোস্ট ফাইল মুছে ফেলার সময় কিছু একটা সমস্যা হয়েছে, এটি ম্যানুয়ালি সম্পাদন করুন অথবা এডমিনিস্ট্রেটর হিসেবে স্ক্রিপ্টটি রান করুন"
PressAnyKey = "Press any key to exit..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Automaticky odinstalovávám Spotify z Microsoft Store..." MsSpoti3 = "Automaticky odinstalovávám Spotify z Microsoft Store..."
MsSpoti4 = "Odinštalovávám Spotify z Microsoft Store..." MsSpoti4 = "Odinštalovávám Spotify z Microsoft Store..."
Prem = "Úprava kvůli prémiovému účtu..." Prem = "Úprava kvůli prémiovému účtu..."
OldV = "Nalezena stará verze Spotify"
OldV2 = "Vaše Spotify {0} verze je stará, doporučuje se aktualizovat na verzi {1}" OldV2 = "Vaše Spotify {0} verze je stará, doporučuje se aktualizovat na verzi {1}"
OldV3 = "Chcete aktualizovat? [Y/N]" OldV3 = "Chcete aktualizovat? [Y/N]"
AutoUpd = "Automatická aktualizace na doporučenou verzi"
DelOrOver = "Chcete odinstalovat současnou verzi {0} nebo nainstalovat novější na současnou (zůstanou některé soubory)? Y [Odinštalovat] / N [Nainstalovat novější na současnou]" DelOrOver = "Chcete odinstalovat současnou verzi {0} nebo nainstalovat novější na současnou (zůstanou některé soubory)? Y [Odinštalovat] / N [Nainstalovat novější na současnou]"
DelOld = "Odinštalovávám staré Spotify..." DelSpotify = "Odinštalovávám Spotify..."
NewV = "Byla nalezena nepodporovaná verze Spotify"
NewV2 = "Vaše Spotify {0} verze zatím nebyla testována, stabilní je nyní {1} verze" NewV2 = "Vaše Spotify {0} verze zatím nebyla testována, stabilní je nyní {1} verze"
NewV3 = "Chcete pokračovat s {0} verzí (mohou nastat chyby)? [Y/N]" NewV3 = "Chcete pokračovat s {0} verzí (mohou nastat chyby)? [Y/N]"
Recom = "Chcete nainstalovat doporučenou {0} verzi? [Y/N]" Recom = "Chcete nainstalovat doporučenou {0} verzi? [Y/N]"
DelNew = "Odinštalovávám netestovanou verzi Spotify..."
DownSpoti = "Stahuji a instaluji Spotify" DownSpoti = "Stahuji a instaluji Spotify"
DownSpoti2 = "Prosím čekejte..." DownSpoti2 = "Prosím čekejte..."
PodcatsOff = "Vypněte podcasty" PodcatsOff = "Vypněte podcasty"
@@ -46,4 +42,5 @@
HostBak = "Zálohuji soubor hosts.bak..." HostBak = "Zálohuji soubor hosts.bak..."
HostDel = "Pokouším se odebrat nechtěné URL adresy z originálního souboru hosts..." HostDel = "Pokouším se odebrat nechtěné URL adresy z originálního souboru hosts..."
HostError = "Něco se nepovedlo s úpravou souboru hosts, upravte ho manuálně nebo spusťte skript jako" HostError = "Něco se nepovedlo s úpravou souboru hosts, upravte ho manuálně nebo spusťte skript jako"
PressAnyKey = "Stiskněte libovolnou klávesu pro ukončení..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Erneuter Fehler" Download3 = "Erneuter Fehler"
Download4 = "Überprüfen Sie Ihre Netzwerkeinstellungen und starten Sie die Installation erneut" Download4 = "Überprüfen Sie Ihre Netzwerkeinstellungen und starten Sie die Installation erneut"
Download5 = "Lade Spotify herunter" Download5 = "Lade Spotify herunter"
Download6 = "Curl Fehler"
StopScript = "Skript wurde gestoppt" StopScript = "Skript wurde gestoppt"
MsSpoti = "Die Microsoft Store Version von Spotify wurde gefunden, jedoch wird sie nicht unterstützt" MsSpoti = "Die Microsoft Store Version von Spotify wurde gefunden, jedoch wird sie nicht unterstützt"
MsSpoti2 = "Die Microsoft Store Version von Spotify deinstallieren? [Y/N]" MsSpoti2 = "Die Microsoft Store Version von Spotify deinstallieren? [Y/N]"
MsSpoti3 = "Deinstalliere die MS Version von Spotify automatisch..." MsSpoti3 = "Deinstalliere die MS Version von Spotify automatisch..."
MsSpoti4 = "Deinstalliere die MS Version von Spotify..." MsSpoti4 = "Deinstalliere die MS Version von Spotify..."
Prem = "Modifikation für Premium Accounts..." Prem = "Modifikation für Premium Accounts..."
OldV = "Veraltete Version von Spotify gefunden"
OldV2 = "Ihre Spotify {0} Version ist veraltet, es wird empfohlen, Spotify auf {1} zu aktualisieren" OldV2 = "Ihre Spotify {0} Version ist veraltet, es wird empfohlen, Spotify auf {1} zu aktualisieren"
OldV3 = "Möchten Sie Spotify aktualisieren? [Y/N]" OldV3 = "Möchten Sie Spotify aktualisieren? [Y/N]"
AutoUpd = "Automatisches Aktualisieren zur empfohlenen Version"
DelOrOver = "Möchten Sie die bestehenden Version von Spotify {0} deinstallieren oder möchten Sie sie überschreiben? Y [Deinstallieren] / N [Überschreiben]" DelOrOver = "Möchten Sie die bestehenden Version von Spotify {0} deinstallieren oder möchten Sie sie überschreiben? Y [Deinstallieren] / N [Überschreiben]"
DelOld = "Deinstalliere das alte Spotify..." DelSpotify = "Deinstalliere Spotify..."
NewV = "Nicht unterstützte Version von Spotify gefunden"
NewV2 = "Ihre Spotify {0} Version wurde noch nicht getestet, im Moment ist {1} die stabile Version" NewV2 = "Ihre Spotify {0} Version wurde noch nicht getestet, im Moment ist {1} die stabile Version"
NewV3 = "Möchten Sie mit der {0} Version fortfahren? (Fehler können auftreten) [Y/N]" NewV3 = "Möchten Sie mit der {0} Version fortfahren? (Fehler können auftreten) [Y/N]"
Recom = "Möchten Sie die empfohlene Version von Spotify installieren? [Y/N]" Recom = "Möchten Sie die empfohlene Version von Spotify installieren? [Y/N]"
DelNew = "Deinstalliere eine ungetestete Version von Spotify..."
DownSpoti = "Installiere Spotify" DownSpoti = "Installiere Spotify"
DownSpoti2 = "Bitte warten..." DownSpoti2 = "Bitte warten..."
PodcatsOff = "Podcasts Aus" PodcatsOff = "Podcasts Aus"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify-Updates blockiert" UpdBlock = "Spotify-Updates blockiert"
UpdUnblock = "Spotify-Updates sind nicht blockiert" UpdUnblock = "Spotify-Updates sind nicht blockiert"
UpdSelect = "Möchten Sie Spotify-Updates blockieren? [Y/N]" UpdSelect = "Möchten Sie Spotify-Updates blockieren? [Y/N]"
CacheOn = "Automatische Cache-Bereinigung ist aktiviert ({0})"
CacheOff = "Automatische Cache-Bereinigung ist deaktiviert"
CacheSelect = "Möchten Sie die automatische Cache-Bereinigung aktivieren? [Y/N]"
CacheDays = "Caches, die älter als die angegebene Anzahl Tage sind, werden bereinigt"
CacheDays2 = "Geben Sie die Anzahl der Tage von 1 bis 100 ein"
ModSpoti = "Patche Spotify..." ModSpoti = "Patche Spotify..."
Error = "Fehler" Error = "Fehler"
FileLocBroken = "Speicherort von Spotify ist fehlerhaft, deinstallieren Sie Spotify und führen Sie das Skript erneut aus" FileLocBroken = "Speicherort von Spotify ist fehlerhaft, deinstallieren Sie Spotify und führen Sie das Skript erneut aus"
@@ -52,4 +42,5 @@
HostBak = "Sichere hosts.bak..." HostBak = "Sichere hosts.bak..."
HostDel = "Versuche, unerwünschte URLs von der originalen hosts-Datei zu entfernen..." HostDel = "Versuche, unerwünschte URLs von der originalen hosts-Datei zu entfernen..."
HostError = "Beim Bearbeiten der hosts-Datei ist etwas schief gelaufen, bearbeiten Sie sie manuell oder führen Sie die Installation als Administrator aus" HostError = "Beim Bearbeiten der hosts-Datei ist etwas schief gelaufen, bearbeiten Sie sie manuell oder führen Sie die Installation als Administrator aus"
PressAnyKey = "Drücken Sie eine beliebige Taste zum Beenden..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Σφάλμα Ξανά" Download3 = "Σφάλμα Ξανά"
Download4 = "Ελέγξτε τις ρυθμίσεις του δικτύου σας και εκτελέστε ξανά την εγκατάσταση" Download4 = "Ελέγξτε τις ρυθμίσεις του δικτύου σας και εκτελέστε ξανά την εγκατάσταση"
Download5 = "Λήψη Spotify" Download5 = "Λήψη Spotify"
Download6 = "Σφάλμα Curl"
StopScript = "Το Script έχει σταματήσει" StopScript = "Το Script έχει σταματήσει"
MsSpoti = "Εντοπίστηκε η έκδοση του Spotify του Microsoft Store η οποία δεν υποστηρίζεται" MsSpoti = "Εντοπίστηκε η έκδοση του Spotify του Microsoft Store η οποία δεν υποστηρίζεται"
MsSpoti2 = "Απεγκατάσταση Spotify έκδοσης Microsoft Store [Y/N]" MsSpoti2 = "Απεγκατάσταση Spotify έκδοσης Microsoft Store [Y/N]"
MsSpoti3 = "Αυτόματη απεγκατάσταση Spotify MS..." MsSpoti3 = "Αυτόματη απεγκατάσταση Spotify MS..."
MsSpoti4 = "Απεγκατάσταση Spotify MS..." MsSpoti4 = "Απεγκατάσταση Spotify MS..."
Prem = "Τροποποίηση για premium λογαριασμό..." Prem = "Τροποποίηση για premium λογαριασμό..."
OldV = "Βρέθηκε ξεπερασμένη έκδοση του Spotify"
OldV2 = "Η έκδοση Spotify {0} είναι ξεπερασμένη, συνιστάται η αναβάθμιση σε {1}" OldV2 = "Η έκδοση Spotify {0} είναι ξεπερασμένη, συνιστάται η αναβάθμιση σε {1}"
OldV3 = "Θέλετε να ενημερώσετε; [Y/N]" OldV3 = "Θέλετε να ενημερώσετε; [Y/N]"
AutoUpd = "Αυτόματη αναβάθμιση στην προτεινόμενη έκδοση"
DelOrOver = "Θέλετε να απεγκαταστήσετε την τρέχουσα έκδοση του {0} η να αντικατασταθεί; Y [Απεγκατάσταση] / N [Αντικατάσταση]" DelOrOver = "Θέλετε να απεγκαταστήσετε την τρέχουσα έκδοση του {0} η να αντικατασταθεί; Y [Απεγκατάσταση] / N [Αντικατάσταση]"
DelOld = "Απεγκατάσταση του παλιού Spotify..." DelSpotify = "Απεγκατάσταση Spotify..."
NewV = "Μη υποστηριζόμενη έκδοση του Spotify βρέθηκε"
NewV2 = "Η έκδοσή σας στο Spotify {0} δεν έχει δοκιμαστεί ακόμα, αυτή τη στιγμή είναι σταθερή {1} έκδοση" NewV2 = "Η έκδοσή σας στο Spotify {0} δεν έχει δοκιμαστεί ακόμα, αυτή τη στιγμή είναι σταθερή {1} έκδοση"
NewV3 = "Θέλετε να συνεχίσετε με την {0} έκδοση (πιθανά σφάλματα); [Y/N]" NewV3 = "Θέλετε να συνεχίσετε με την {0} έκδοση (πιθανά σφάλματα); [Y/N]"
Recom = "Θέλετε να εγκαταστήσετε την προτεινόμενη {0} έκδοση; [Y/N]" Recom = "Θέλετε να εγκαταστήσετε την προτεινόμενη {0} έκδοση; [Y/N]"
DelNew = "Απεγκατάσταση μη δοκιμασμένου Spotify..."
DownSpoti = "Λήψη και εγκατάσταση Spotify" DownSpoti = "Λήψη και εγκατάσταση Spotify"
DownSpoti2 = "Παρακαλώ περιμένετε..." DownSpoti2 = "Παρακαλώ περιμένετε..."
PodcatsOff = "Podcasts Απενεργοποιημένα" PodcatsOff = "Podcasts Απενεργοποιημένα"
@@ -37,11 +32,6 @@
UpdBlock = "Αποκλείστηκαν οι ενημερώσεις του Spotify" UpdBlock = "Αποκλείστηκαν οι ενημερώσεις του Spotify"
UpdUnblock = "Οι ενημερώσεις του Spotify δεν είναι αποκλεισμένες" UpdUnblock = "Οι ενημερώσεις του Spotify δεν είναι αποκλεισμένες"
UpdSelect = "Θέλετε να αποκλείσετε τις ενημερώσεις του Spotify; [Y/N]" UpdSelect = "Θέλετε να αποκλείσετε τις ενημερώσεις του Spotify; [Y/N]"
CacheOn = "Ο καθαρισμός της κρυφής μνήμης ήχου είναι ενεργοποιημένος ({0})"
CacheOff = "Ο καθαρισμός της κρυφής μνήμης ήχου δεν είναι ενεργοποιημένος"
CacheSelect = "Θέλετε να εγκαταστήσετε τον αυτόματο καθαρισμό της κρυφής μνήμης ήχου για το Spotify; [Y/N]"
CacheDays = "Μια προσωρινή μνήμη που δεν έχει χρησιμοποιηθεί για περισσότερο από τον αριθμό των ημερών που έχετε καθορίσει θα διαγραφεί"
CacheDays2 = "Εισάγετε τον αριθμό των ημερών από 1 έως 100"
ModSpoti = "Επιδιόρθωση Spotify..." ModSpoti = "Επιδιόρθωση Spotify..."
Error = "Σφάλμα" Error = "Σφάλμα"
FileLocBroken = "Η τοποθεσία των αρχείων Spotify είναι κατεστραμμένη, απεγκαταστήστε το πρόγραμμα Spotify και εκτελέστε ξανά το script" FileLocBroken = "Η τοποθεσία των αρχείων Spotify είναι κατεστραμμένη, απεγκαταστήστε το πρόγραμμα Spotify και εκτελέστε ξανά το script"
@@ -52,4 +42,5 @@
HostBak = "Δημιουργείται αντίγραφο ασφαλείας hosts.bak..." HostBak = "Δημιουργείται αντίγραφο ασφαλείας hosts.bak..."
HostDel = "Προσπάθεια κατάργησης ανεπιθύμητων διευθύνσεων URL από το αρχικό αρχείο hosts..." HostDel = "Προσπάθεια κατάργησης ανεπιθύμητων διευθύνσεων URL από το αρχικό αρχείο hosts..."
HostError = "Παρουσιάστηκε κάποιο πρόβλημα κατά την επεξεργασία του αρχείου hosts, επεξεργαστείτε το χειροκίνητα ή εκτελέστε το script ως διαχειριστής" HostError = "Παρουσιάστηκε κάποιο πρόβλημα κατά την επεξεργασία του αρχείου hosts, επεξεργαστείτε το χειροκίνητα ή εκτελέστε το script ως διαχειριστής"
PressAnyKey = "Πατήστε οποιοδήποτε πλήκτρο για έξοδο..."
} }
+11 -14
View File
@@ -12,30 +12,26 @@
Download5 = "Downloading Spotify" Download5 = "Downloading Spotify"
StopScript = "Script is stopped" StopScript = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported" MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Microsoft Store edition [Y/N]" MsSpoti2 = "Uninstall Spotify Microsoft Store edition ? [Y/N]"
MsSpoti3 = "Automatically uninstalling Spotify MS..." MsSpoti3 = "Automatically uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..." MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..." Prem = "Modification for premium account..."
OldV = "Found outdated version of Spotify" OldV2 = "Your Spotify version ({0}) is outdated, the current latest version is — {1}"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]" OldV3 = "Want to update ? [Y/N]"
AutoUpd = "Automatic update to the recommended version" DelOrOver = "Remove the current version ({0}) or install over it? Y [Remove] / N [Install Over]"
DelOrOver = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]" DelSpotify = "Uninstalling Spotify..."
DelOld = "Uninstalling old Spotify..." NewV2 = "Your Spotify version ({0}) has not been tested. The stable version for SpotX is {1}"
NewV = "Unsupported version of Spotify found" NewV3 = "Continue with {0} (errors may occur) ? [Y/N]"
NewV2 = "Your Spotify {0} version hasn't been tested yet, currently it's a stable {1} version" Recom = "Install the latest version {0} ? [Y/N]"
NewV3 = "Do you want to continue with {0} version (errors possible) ? [Y/N]"
Recom = "Do you want to install the recommended {0} version ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify" DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..." DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts" PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts" PodcastsOn = "On Podcasts"
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" PodcatsSelect = "Hide podcasts, shows, and audiobooks on the homepage ? [Y/N]"
DowngradeNote = "It is recommended to block because Spotify was downgraded" DowngradeNote = "It is recommended to block because there is already a newer version of Spotify"
UpdBlock = "Spotify updates blocked" UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked" UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Want to block Spotify updates? [Y/N]" UpdSelect = "Block Spotify updates ? [Y/N]"
ModSpoti = "Patching Spotify..." ModSpoti = "Patching Spotify..."
Error = "Error" Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again" FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again"
@@ -46,4 +42,5 @@
HostBak = "Backing up hosts.bak..." HostBak = "Backing up hosts.bak..."
HostDel = "Trying to remove unwanted URLs from the original hosts file..." HostDel = "Trying to remove unwanted URLs from the original hosts file..."
HostError = "Something went wrong while editing the hosts file, edit it manually or run the script as administrator" HostError = "Something went wrong while editing the hosts file, edit it manually or run the script as administrator"
PressAnyKey = "Press any key to exit..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Desinstalación automática de Spotify de Microsoft Store..." MsSpoti3 = "Desinstalación automática de Spotify de Microsoft Store..."
MsSpoti4 = "Desinstalación de Spotify de Microsoft Store..." MsSpoti4 = "Desinstalación de Spotify de Microsoft Store..."
Prem = "Modificación para la cuenta prémium..." Prem = "Modificación para la cuenta prémium..."
OldV = "Se ha encontrado una versión obsoleta de Spotify"
OldV2 = "Su versión de Spotify {0} está obsoleta, se recomienda actualizar a {1}" OldV2 = "Su versión de Spotify {0} está obsoleta, se recomienda actualizar a {1}"
OldV3 = "¿Quiere actualizar? [Y/N]" OldV3 = "¿Quiere actualizar? [Y/N]"
AutoUpd = "Actualización automática a la versión recomendada"
DelOrOver = "¿Desea desinstalar la versión actual de {0} o instalar sobre ella? Y [Desinstalar] / N [Instalar encima]" DelOrOver = "¿Desea desinstalar la versión actual de {0} o instalar sobre ella? Y [Desinstalar] / N [Instalar encima]"
DelOld = "Desinstalando el antiguo Spotify..." DelSpotify = "Desinstalando Spotify..."
NewV = "Se ha encontrado una versión no compatible de Spotify"
NewV2 = "Su versión de Spotify {0} aún no se ha probado; actualmente la versión estable es la {1}" NewV2 = "Su versión de Spotify {0} aún no se ha probado; actualmente la versión estable es la {1}"
NewV3 = "¿Quieres continuar con la versión {0} (posibles errores)? [Y/N]" NewV3 = "¿Quieres continuar con la versión {0} (posibles errores)? [Y/N]"
Recom = "¿Desea instalar la versión recomendada {0}? [Y/N]" Recom = "¿Desea instalar la versión recomendada {0}? [Y/N]"
DelNew = "Desinstalando un Spotify no probado..."
DownSpoti = "Descargando e instalando Spotify" DownSpoti = "Descargando e instalando Spotify"
DownSpoti2 = "Espere un momento..." DownSpoti2 = "Espere un momento..."
PodcatsOff = "Pódcast desactivados" PodcatsOff = "Pódcast desactivados"
@@ -46,4 +42,5 @@
HostBak = "Haciendo una copia de seguridad de hosts.bak..." HostBak = "Haciendo una copia de seguridad de hosts.bak..."
HostDel = "Intentando eliminar los URL no deseados del archivo hosts original..." HostDel = "Intentando eliminar los URL no deseados del archivo hosts original..."
HostError = "Algo salió mal al editar el archivo hosts; edítelo manualmente o ejecute el script como administrador" HostError = "Algo salió mal al editar el archivo hosts; edítelo manualmente o ejecute el script como administrador"
PressAnyKey = "Presione cualquier tecla para salir..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "دوباره خطا" Download3 = "دوباره خطا"
Download4 = "تنظیمات شبکه خود را بررسی کنید و دوباره نصب را اجرا کنید" Download4 = "تنظیمات شبکه خود را بررسی کنید و دوباره نصب را اجرا کنید"
Download5 = "در حال دانلود اسپاتیفای" Download5 = "در حال دانلود اسپاتیفای"
Download6 = "خطای Curl"
StopScript = "اسکریپت متوقف شده است" StopScript = "اسکریپت متوقف شده است"
MsSpoti = "نسخه اسپاتیفای ویندوز استور شناسایی شده است که پشتیبانی نمی شود" MsSpoti = "نسخه اسپاتیفای ویندوز استور شناسایی شده است که پشتیبانی نمی شود"
MsSpoti2 = "نسخه اسپاتیفای ویندوز استور حذف شود [Y/N]" MsSpoti2 = "نسخه اسپاتیفای ویندوز استور حذف شود [Y/N]"
MsSpoti3 = "حذف خودکار اسپاتیفای MS" MsSpoti3 = "حذف خودکار اسپاتیفای MS"
MsSpoti4 = "حذف نصب اسپاتیفای MS" MsSpoti4 = "حذف نصب اسپاتیفای MS"
Prem = "تغییر برای حساب پریمیوم" Prem = "تغییر برای حساب پریمیوم"
OldV = "نسخه قدیمی اسپاتیفای پیدا شد"
OldV2 = "نسخه اسپاتیفای {0} شما قدیمی است، توصیه می شود به {1} ارتقا دهید" OldV2 = "نسخه اسپاتیفای {0} شما قدیمی است، توصیه می شود به {1} ارتقا دهید"
OldV3 = "می خواهید به روز رسانی کنید؟ [Y/N]" OldV3 = "می خواهید به روز رسانی کنید؟ [Y/N]"
AutoUpd = "به روز رسانی خودکار به نسخه پیشنهادی"
DelOrOver = "آیا می خواهید نسخه فعلی {0} را حذف نصب کنید یا روی آن نصب کنید؟ Y [Uninstall] / N [Install Over]" DelOrOver = "آیا می خواهید نسخه فعلی {0} را حذف نصب کنید یا روی آن نصب کنید؟ Y [Uninstall] / N [Install Over]"
DelOld = "حذف نصب اسپاتیفای قدیمی" DelSpotify = "حذف نصب اسپاتیفای..."
NewV = "نسخه پشتیبانی نشده اسپاتیفای پیدا شد"
NewV2 = "نسخه اسپاتیفای {0} شما هنوز آزمایش نشده است، در حال حاضر یک نسخه پایدار {1} است" NewV2 = "نسخه اسپاتیفای {0} شما هنوز آزمایش نشده است، در حال حاضر یک نسخه پایدار {1} است"
NewV3 = "آیا می خواهید با نسخه {0} ادامه دهید (خطا ممکن است رخ دهد)؟ [Y/N]" NewV3 = "آیا می خواهید با نسخه {0} ادامه دهید (خطا ممکن است رخ دهد)؟ [Y/N]"
Recom = "آیا می خواهید نسخه پیشنهادی {0} را نصب کنید؟ [Y/N]" Recom = "آیا می خواهید نسخه پیشنهادی {0} را نصب کنید؟ [Y/N]"
DelNew = "حذف نصب اسپاتیفای تست نشده..."
DownSpoti = "دانلود و نصب اسپاتیفای" DownSpoti = "دانلود و نصب اسپاتیفای"
DownSpoti2 = "لطفا صبر کنید..." DownSpoti2 = "لطفا صبر کنید..."
PodcatsOff = "خاموش کردن پادکست" PodcatsOff = "خاموش کردن پادکست"
@@ -37,11 +32,6 @@
UpdBlock = "به روز رسانی اسپاتیفای مسدود شده است" UpdBlock = "به روز رسانی اسپاتیفای مسدود شده است"
UpdUnblock = "به روز رسانی اسپاتیفای مسدود نمی شود" UpdUnblock = "به روز رسانی اسپاتیفای مسدود نمی شود"
UpdSelect = "آیا می خواهید به روز رسانی های اسپاتیفای را مسدود کنید؟ [Y/N]" UpdSelect = "آیا می خواهید به روز رسانی های اسپاتیفای را مسدود کنید؟ [Y/N]"
CacheOn = "پاک کردن حافظه پنهان فعال شد ({0})"
CacheOff = "پاک کردن کش فعال نیست"
CacheSelect = "آیا می خواهید پاکسازی کش خودکار را راه اندازی کنید؟ [Y/N]"
CacheDays = "پاکسازی کش فعال نیست "
CacheDays2 = "تعداد روزها را از بین 1 تا 100 وارد کنید"
ModSpoti = "در حال پچ کردن اسپاتیفای" ModSpoti = "در حال پچ کردن اسپاتیفای"
Error = "خطا" Error = "خطا"
FileLocBroken = "محل فایل های اسپاتیفای خراب است، کلاینت را حذف نصب کنید و اسکریپت را دوباره اجرا کنید" FileLocBroken = "محل فایل های اسپاتیفای خراب است، کلاینت را حذف نصب کنید و اسکریپت را دوباره اجرا کنید"
@@ -52,4 +42,5 @@
HostBak = "پشتیبان گیری از hosts.bak" HostBak = "پشتیبان گیری از hosts.bak"
HostDel = "تلاش برای حذف URL های ناخواسته از فایل میزبان اصلی" HostDel = "تلاش برای حذف URL های ناخواسته از فایل میزبان اصلی"
HostError = "هنگام ویرایش فایل میزبان مشکلی پیش آمد، آن را به صورت دستی ویرایش کنید یا اسکریپت را صورت ادمینستریتور اجرا کنید" HostError = "هنگام ویرایش فایل میزبان مشکلی پیش آمد، آن را به صورت دستی ویرایش کنید یا اسکریپت را صورت ادمینستریتور اجرا کنید"
PressAnyKey = "برای خروج هر کلیدی را فشار دهید..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Taas virhe" Download3 = "Taas virhe"
Download4 = "Tarkista verkkoasetuksesi ja suorita asennus uudelleen" Download4 = "Tarkista verkkoasetuksesi ja suorita asennus uudelleen"
Download5 = "Ladataan Spotify:tä" Download5 = "Ladataan Spotify:tä"
Download6 = "Curl virhe"
StopScript = "Skripti on pysäytetty" StopScript = "Skripti on pysäytetty"
MsSpoti = "Spotifyn Microsoft Store -versio on havaittu, jota ei tueta" MsSpoti = "Spotifyn Microsoft Store -versio on havaittu, jota ei tueta"
MsSpoti2 = "Poista Spotifyn Windows Store -versio [Y/N]" MsSpoti2 = "Poista Spotifyn Windows Store -versio [Y/N]"
MsSpoti3 = "Spotifyn Microsoft Store -version automaattinen poistaminen..." MsSpoti3 = "Spotifyn Microsoft Store -version automaattinen poistaminen..."
MsSpoti4 = "Poistetaan Spotifyn Microsoft Store -versiota." MsSpoti4 = "Poistetaan Spotifyn Microsoft Store -versiota."
Prem = "Muunnos premium-tiliin..." Prem = "Muunnos premium-tiliin..."
OldV = "Spotifysta löytyi vanhentunut versio"
OldV2 = "Spotify {0} -versiosi on vanhentunut, on suositeltavaa päivittää versioon {1}" OldV2 = "Spotify {0} -versiosi on vanhentunut, on suositeltavaa päivittää versioon {1}"
OldV3 = "Haluatko päivittää? [Y/N]" OldV3 = "Haluatko päivittää? [Y/N]"
AutoUpd = "Automaattinen päivitys suositeltuun versioon"
DelOrOver = "Haluatko poistaa nykyisen version {0} vai asentaa sen päälle? Y [Poista asennus] / N [Asenna edellisen päälle]" DelOrOver = "Haluatko poistaa nykyisen version {0} vai asentaa sen päälle? Y [Poista asennus] / N [Asenna edellisen päälle]"
DelOld = "Poistetaan vanhaa Spotify versiota..." DelSpotify = "Poistetaan Spotifyta..."
NewV = "Spotifyn ei-tuettu versio löytyi"
NewV2 = "Spotify-versiotasi {0} ei ole vielä testattu, tällä hetkellä versio {1} on vakaa" NewV2 = "Spotify-versiotasi {0} ei ole vielä testattu, tällä hetkellä versio {1} on vakaa"
NewV3 = "Haluatko jatkaa versiolla {0} (bugit sekä virheet mahdollista)? [Y/N]" NewV3 = "Haluatko jatkaa versiolla {0} (bugit sekä virheet mahdollista)? [Y/N]"
Recom = "Haluatko asentaa suositellun {0} version? [Y/N]" Recom = "Haluatko asentaa suositellun {0} version? [Y/N]"
DelNew = "Poistetaan testaamattoman Spotify versiota..."
DownSpoti = "Ladataan ja asennetaan spotify:tä" DownSpoti = "Ladataan ja asennetaan spotify:tä"
DownSpoti2 = "Odota hetki..." DownSpoti2 = "Odota hetki..."
PodcatsOff = "podcastit poissa päältä" PodcatsOff = "podcastit poissa päältä"
@@ -37,11 +32,6 @@
UpdBlock = "Spotifyn päivitykset estetty" UpdBlock = "Spotifyn päivitykset estetty"
UpdUnblock = "Spotifyn päivityksiä ei ole estetty" UpdUnblock = "Spotifyn päivityksiä ei ole estetty"
UpdSelect = "Haluatko estää Spotifyn päivitykset? [Y/N]" UpdSelect = "Haluatko estää Spotifyn päivitykset? [Y/N]"
CacheOn = "välimuistin tyhjennys käytössä ({0})"
CacheOff = "Välimuistin tyhjennys ei ole käytössä"
CacheSelect = "Haluatko määrittää automaattisen välimuistin tyhjennyksen? [Y/N]"
CacheDays = "Vanha välimuisti: XX päivää tyhjennettävä"
CacheDays2 = "Syötä päivien lukumäärä 1100 päivää"
ModSpoti = "Paikataan Spotifyn tiedostoja..." ModSpoti = "Paikataan Spotifyn tiedostoja..."
Error = "Virhe" Error = "Virhe"
FileLocBroken = "Spotify-tiedostojen sijainti on rikki, asenna spotify uudelleen ja suorita komentosarja uudelleen" FileLocBroken = "Spotify-tiedostojen sijainti on rikki, asenna spotify uudelleen ja suorita komentosarja uudelleen"
@@ -52,4 +42,5 @@
HostBak = "Varmuuskopioidaan hosts.bak..." HostBak = "Varmuuskopioidaan hosts.bak..."
HostDel = "Yritetään poistaa ei toivottuja URL-osoitteita alkuperäisestä hosts-tiedostosta..." HostDel = "Yritetään poistaa ei toivottuja URL-osoitteita alkuperäisestä hosts-tiedostosta..."
HostError = "Jotain meni pieleen, hosts-tiedostoton muokkaamisessa, muokkaa sitä manuaalisesti tai suorita komentosarja järjestelmänvalvojana" HostError = "Jotain meni pieleen, hosts-tiedostoton muokkaamisessa, muokkaa sitä manuaalisesti tai suorita komentosarja järjestelmänvalvojana"
PressAnyKey = "Paina mitä tahansa näppäintä poistuaksesi..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Muling nagka-error" Download3 = "Muling nagka-error"
Download4 = "Suriin ang iyong mga setting sa network at patakbuhin muli ang pag-install" Download4 = "Suriin ang iyong mga setting sa network at patakbuhin muli ang pag-install"
Download5 = "Nagdo-download ng Spotify" Download5 = "Nagdo-download ng Spotify"
Download6 = "Error sa Curl"
StopScript = "Itinigil ang script" StopScript = "Itinigil ang script"
MsSpoti = "Nadiskubre ang bersyon ng Spotify ay mula sa Microsoft Store na hindi suportado" MsSpoti = "Nadiskubre ang bersyon ng Spotify ay mula sa Microsoft Store na hindi suportado"
MsSpoti2 = "I-uninstall ang edisyon ng Spotify mula sa Microsoft Store [Y/N]" MsSpoti2 = "I-uninstall ang edisyon ng Spotify mula sa Microsoft Store [Y/N]"
MsSpoti3 = "Awtomatikong i-uninstall ang Spotify na MS..." MsSpoti3 = "Awtomatikong i-uninstall ang Spotify na MS..."
MsSpoti4 = "Ina-uninstall ang Spotify MS..." MsSpoti4 = "Ina-uninstall ang Spotify MS..."
Prem = "Pagbabago para sa premium account..." Prem = "Pagbabago para sa premium account..."
OldV = "Natagpuan ang lumang bersyon ng Spotify"
OldV2 = "Ang iyong bersyon ng Spotify na {0} ay luma na, ito ay inirerekomenda na i-upgrade sa {1}" OldV2 = "Ang iyong bersyon ng Spotify na {0} ay luma na, ito ay inirerekomenda na i-upgrade sa {1}"
OldV3 = "Gusto mo ba mag-update? [Y/N]" OldV3 = "Gusto mo ba mag-update? [Y/N]"
AutoUpd = "Awtomatikong i-update sa inirerekumendang bersyon"
DelOrOver = "Gusto mo bang i-uninstall ang kasalukuyang bersyon ng {0} o mag-install ng panibagong bersyon? Y [I-uninstall] / N [Mag-install ng Panibagong Bersyon]" DelOrOver = "Gusto mo bang i-uninstall ang kasalukuyang bersyon ng {0} o mag-install ng panibagong bersyon? Y [I-uninstall] / N [Mag-install ng Panibagong Bersyon]"
DelOld = "Tinatanggal ang lumang Spotify..." DelSpotify = "Ina-uninstall ang Spotify..."
NewV = "Natagpuan ang hindi suportadong bersyon ng Spotify"
NewV2 = "Ang iyong bersyon ng Spotify {0} ay hindi pa nasusubukan, kasalukuyang ito ay nasa stable na bersyon na {1}" NewV2 = "Ang iyong bersyon ng Spotify {0} ay hindi pa nasusubukan, kasalukuyang ito ay nasa stable na bersyon na {1}"
NewV3 = "Gusto mo bang magpatuloy sa {0} bersyon (mayroong mga error)? [Y/N]" NewV3 = "Gusto mo bang magpatuloy sa {0} bersyon (mayroong mga error)? [Y/N]"
Recom = "Gusto mo bang mag-install ng inirerekumendang {0} na bersyon? [Y/N]" Recom = "Gusto mo bang mag-install ng inirerekumendang {0} na bersyon? [Y/N]"
DelNew = "Ina-uninstall ang hindi pa nasusubukan na Spotify..."
DownSpoti = "Nagda-download at nag-i-install ng Spotify" DownSpoti = "Nagda-download at nag-i-install ng Spotify"
DownSpoti2 = "Mangyaring maghintay..." DownSpoti2 = "Mangyaring maghintay..."
PodcatsOff = "I-off ang mga Podcast" PodcatsOff = "I-off ang mga Podcast"
@@ -37,11 +32,6 @@
UpdBlock = "Ang pag-update ng Spotify ay na-block" UpdBlock = "Ang pag-update ng Spotify ay na-block"
UpdUnblock = "Ang pag-update ng Spotify ay hindi na-block" UpdUnblock = "Ang pag-update ng Spotify ay hindi na-block"
UpdSelect = "Gusto mo bang i-block ang mga update ng Spotify? [Y/N]" UpdSelect = "Gusto mo bang i-block ang mga update ng Spotify? [Y/N]"
CacheOn = "Ang paglilinis ng audio cache ay naka-enable ({0})"
CacheOff = "Ang paglilinis ng audio cache ay hindi naka-enable"
CacheSelect = "Gusto mo bang mag-install ng automatikong paglilinis ng audio cache para sa Spotify? [Y/N]"
CacheDays = "Ang cache na hindi nagamit sa loob ng higit sa bilang ng araw na itinakda mo ay magiging hindi na kinakailangan at matatanggal."
CacheDays2 = "Ilagay ang bilang ng araw mula 1 hanggang 100"
ModSpoti = "Pinapatch ang Spotify..." ModSpoti = "Pinapatch ang Spotify..."
Error = "May nangyaring mali" Error = "May nangyaring mali"
FileLocBroken = "Ang lokasyon ng mga file ng Spotify ay sira, mag-uninstall ng Spotify client at patakbuhin muli ang script." FileLocBroken = "Ang lokasyon ng mga file ng Spotify ay sira, mag-uninstall ng Spotify client at patakbuhin muli ang script."
@@ -52,4 +42,5 @@
HostBak = "Nagbabackup ng hosts.bak..." HostBak = "Nagbabackup ng hosts.bak..."
HostDel = "Sinusubukang alisin ang mga hindi kanais-nais na URL mula sa orihinal na hosts file..." HostDel = "Sinusubukang alisin ang mga hindi kanais-nais na URL mula sa orihinal na hosts file..."
HostError = "May naging problema sa pag-eedit ng hosts file, i-edit ito ng manu-mano o patakbuhin ang script bilang administrator" HostError = "May naging problema sa pag-eedit ng hosts file, i-edit ito ng manu-mano o patakbuhin ang script bilang administrator"
PressAnyKey = "Pindutin ang anumang key upang lumabas..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Désinstallation automatique de Spotify MS..." MsSpoti3 = "Désinstallation automatique de Spotify MS..."
MsSpoti4 = "Désinstallation de Spotify MS..." MsSpoti4 = "Désinstallation de Spotify MS..."
Prem = "Modification pour compte premium..." Prem = "Modification pour compte premium..."
OldV = "Ancienne version de Spotify trouvée"
OldV2 = "Votre version Spotify {0} est obsolète, il est recommandé de mettre à jour vers la {1}" OldV2 = "Votre version Spotify {0} est obsolète, il est recommandé de mettre à jour vers la {1}"
OldV3 = "Voulez-vous faire la mise à jour ? [Y/N]" OldV3 = "Voulez-vous faire la mise à jour ? [Y/N]"
AutoUpd = "Mise à jour automatique vers la version recommandée"
DelOrOver = "Voulez-vous désinstaller la version actuelle {0} ou installer par dessus ? Y [Désinstaller] / N [Installer par dessus]" DelOrOver = "Voulez-vous désinstaller la version actuelle {0} ou installer par dessus ? Y [Désinstaller] / N [Installer par dessus]"
DelOld = "Désinstallation de l'ancienne version de Spotify..." DelSpotify = "Désinstallation de Spotify..."
NewV = "Version non supportée de Spotify trouvée"
NewV2 = "Votre version {0} de Spotify n'a pas encore été testée, actuellement {1} est une version stable" NewV2 = "Votre version {0} de Spotify n'a pas encore été testée, actuellement {1} est une version stable"
NewV3 = "Voulez-vous continuer avec la version {0} (erreurs possibles) ? [Y/N]" NewV3 = "Voulez-vous continuer avec la version {0} (erreurs possibles) ? [Y/N]"
Recom = "Voulez-vous installer la version {0} recommandée ? [Y/N]" Recom = "Voulez-vous installer la version {0} recommandée ? [Y/N]"
DelNew = "Désinstallation d'une version de Spotify non testée..."
DownSpoti = "Téléchargement et installation de Spotify" DownSpoti = "Téléchargement et installation de Spotify"
DownSpoti2 = "Veuillez patienter..." DownSpoti2 = "Veuillez patienter..."
PodcatsOff = "Podcasts désactivés" PodcatsOff = "Podcasts désactivés"
@@ -46,4 +42,5 @@
HostBak = "Sauvegarde de hosts.bak..." HostBak = "Sauvegarde de hosts.bak..."
HostDel = "Tentative de suppression des URLs indésirables du fichier hosts original..." HostDel = "Tentative de suppression des URLs indésirables du fichier hosts original..."
HostError = "Quelque chose ne s'est pas bien passé lors de l'édition du fichier hosts, modifiez le manuellement ou lancez le script en tant qu'administrateur" HostError = "Quelque chose ne s'est pas bien passé lors de l'édition du fichier hosts, modifiez le manuellement ou lancez le script en tant qu'administrateur"
PressAnyKey = "Appuyez sur n'importe quelle touche pour quitter..."
} }
+38 -47
View File
@@ -1,55 +1,46 @@
[PSCustomObject]@{ [PSCustomObject]@{
Welcome = " Welcome = "
╔══════════════════════════════╗ ╔════════════════════════════════════
Welcome to SpotX for Windows ║ ║ SpotX for Windows में आपका स्वागत है
╚══════════════════════════════╝" ╚════════════════════════════════════"
Incorrect = "ओह, एक गलत मान," Incorrect = "ओह, एक गलत मान,"
Incorrect2 = "के माध्यम से फिर से दर्ज करें " Incorrect2 = "के माध्यम से फिर से दर्ज करें "
Download = "डाउनलोड करने में गड़बड़ी" Download = "डाउनलोड करने में गड़बड़ी"
Download2 = "5 सेकंड में फिर से अनुरोध करेंगे..." Download2 = "5 सेकंड में फिर से कोशिश की जाएगी..."
Download3 = "फिर से गड़बड़ी" Download3 = "फिर से गड़बड़ी"
Download4 = "अपनी नेटवर्क सेटिंग्स की जाँच करें और फिर से इंस्टॉलेशन चलाएँ" Download4 = "अपनी नेटवर्क सेटिंग्स जाँचें और इंस्टॉलेशन फिर से चलाएँ"
Download5 = "स्पॉटिफाई डाउनलोड हो रहा है" Download5 = "Spotify डाउनलोड हो रहा है"
Download6 = "कर्ल एरर" StopScript = "स्क्रिप्ट रोक दी गई है"
StopScript = "स्क्रिप्ट बंद हो गई है(" MsSpoti = "Spotify का Microsoft Store वर्जन मिला है, जो सपोर्टेड नहीं है"
MsSpoti = "स्पॉटिफाई के माइक्रोसॉफ्ट स्टोर संस्करण का पता चला है जो समर्थित नहीं है" MsSpoti2 = "Spotify का Microsoft Store वर्जन अनइंस्टॉल करें? [Y/N]"
MsSpoti2 = "स्पॉटिफाई विंडोज स्टोर संस्करण को अनइंस्टॉल करें [Y/N]" MsSpoti3 = "Spotify MS अपने आप अनइंस्टॉल हो रहा है..."
MsSpoti3 = "स्पॉटिफाई एमएस को अपने आप अनइंस्टॉल क रहा है..." MsSpoti4 = "Spotify MS अनइंस्टॉल किया जा रहा है..."
MsSpoti4 = "स्पॉटिफाई एमएस को अनइंस्टॉल किया जा रहा है..." Prem = "प्रीमियम अकाउंट के लिए मॉडिफिकेशन किया जा रहा है..."
Prem = "प्रीमियम आकाउंट में बदलाव.." OldV2 = "आपका Spotify वर्जन ({0}) पुराना है। लेटेस्ट वर्जन {1} है"
OldV = "स्पॉटिफाई का पुराना संस्करण मिला" OldV3 = "क्या आप अपडेट करना चाहते हैं? [Y/N]"
OldV2 = "आपका स्पॉटिफाई {0} संस्करण पुराना है, इसे {1} में अपग्रेड करने की अनुशंसा की जाती है" DelOrOver = "मौजूदा वर्जन ({0}) को हटाएँ या इसी पर इंस्टॉल करें? Y [हटाएँ] / N [इसी पर इंस्टॉल करें]"
OldV3 = "अपडेट करना चाहते हैं? [Y/N]" DelSpotify = "Spotify अनइंस्टॉल किया जा रहा है..."
AutoUpd = "अनुशंसित संस्करण में स्वचालित अपडेट" NewV2 = "आपके Spotify वर्जन ({0}) को टेस्ट नहीं किया गया है। SpotX के लिए स्टेबल वर्जन {1} है"
DelOrOver = "क्या आप {0} के वर्तमान संस्करण्थापना रद्द करना चाहते हैं या उस पर स्थापित करना चाहते हैं? Y [अनइंस्टॉल करें] / N [इंस्टॉल ओवर करें](" NewV3 = "क्या आप वर्जन {0}ाथ जारी रखना चाहते हैं (इसमें समस्याएं आ सकती हैं)? [Y/N]"
DelOld = "पुराने स्पॉटिफाई को अनइंस्टॉल किया जा रहा है..." Recom = "क्या आप लेटेस्ट वर्जन {0} इंस्टॉल करना चाहते हैं? [Y/N]"
NewV = "स्पॉटिफाई का असमर्थित संस्करण मिला" DownSpoti = "Spotify डाउनलोड और इंस्टॉल किया जा रहा है"
NewV2 = "आपके स्पॉटिफाई {0} संस्करण का अभी तक परीक्षण नहीं हुआ है, वर्तमान में यह एक स्थिर {1} संस्करण है"
NewV3 = "क्या आप {0} संस्करण (त्रुटियां संभव) के साथ जारी रखना चाहते हैं? [Y/N]"
Recom = "क्या आप अनुशंसित {0} संस्करण स्थापित करना चाहते हैं? [Y/N]"
DelNew = "परीक्षण न किए गए स्पॉटिफाई को अनइंस्टॉल किया जा रहा है..."
DownSpoti = "स्पॉटिफाई को डाउनलोड और इंस्टॉल किया जा रहा है"
DownSpoti2 = "कृपया प्रतीक्षा करें..." DownSpoti2 = "कृपया प्रतीक्षा करें..."
PodcatsOff = "पॉडकास्ट बंद " PodcatsOff = "पॉडकास्ट बंद"
PodcastsOn = "पॉडकास्ट चालू" PodcastsOn = "पॉडकास्ट चालू"
PodcatsSelect = "क्या आप मुख्य पृष्ठ से पॉडकास्ट, एपिसोड और ऑडियोबुक को निष्क्रिय करना चाहते हैं? [Y/N]" PodcatsSelect = "क्या आप होमपेज से पॉडकास्ट, शो और ऑडियोबुक छिपाना चाहते हैं? [Y/N]"
DowngradeNote = "इसे अवरुद्ध करने की अनुशंसा की जाती है क्योंकि स्पॉटिफाई डाउनग्रेड था" DowngradeNote = "अपडेट्स ब्लॉक करने की सलाह दी जाती है, क्योंकि Spotify डाउनग्रेड किया गया था"
UpdBlock = "स्पॉटिफाई अपडेट ब्लॉक किए गए" UpdBlock = "Spotify अपडेट्स ब्लॉक कर दिए गए हैं"
UpdUnblock = "स्पॉटिफाई अपडेट ब्लॉक नहीं हैं" UpdUnblock = "Spotify अपडेट्स ब्लॉक नहीं हैं"
UpdSelect = "स्पॉटिफाई अपडेट को ब्लॉक करना चाहते है? [Y/N]" UpdSelect = "क्या Spotify अपडेट्स को ब्लॉक करना है? [Y/N]"
CacheOn = "कैशे साफ़ करें सक्षम किया गया ({0})" ModSpoti = "Spotify को पैच किया जा रहा है..."
CacheOff = "कैशे साफ़ करना सक्षम नहीं है" Error = "त्रुटि"
CacheSelect = "स्वचालित कैश सफाई सेट करना चाहते हैं? [Y/N]" FileLocBroken = "Spotify फाइलों का लोकेशन गलत है। कृपया Spotify क्लाइंट को अनइंस्टॉल करें और स्क्रिप्ट फिर से चलाएँ"
CacheDays = "कैश पुराना: XX दिन साफ़ किया जाना है" Spicetify = "Spicetify मिला है। इसे SpotX के बाद इंस्टॉल किया जाना चाहिए। क्या आप FAQ में सुझाए गए एक्शन देखना चाहते हैं? [Y/N]"
CacheDays2 = "1 से 100 तक दिनों की संख्या दर्ज करें" NoRestore = "SpotX पहले से इंस्टॉल है, लेकिन xpui.bak नहीं मिला। `nकृपया Spotify क्लाइंट को अनइंस्टॉल करें और Install.bat को फिर से चलाएँ"
ModSpoti = "स्पॉटिफाई पैचिंग..." InstallComplete = "इंस्टॉलेशन पूरा हुआ"
Error = "गडबड" HostInfo = "hosts फ़ाइल में कुछ गैर-जरूरी URLs मिले हैं"
FileLocBroken = "स्पॉटिफाई फ़ाइलों का स्थान टूटा हुआ है, क्लाइंट की स्थापना रद्द करें और स्क्रिप्ट को फिर से चलाएँ" HostBak = "hosts.bak का बैकअप बनाया जा रहा है..."
Spicetify = "स्पाइसेटिफाई का पता चला, इसे स्पॉटएक्स के बाद इंस्टॉल किया जाना चाहिए, एफएक्यू में अनुशंसित क्रियाएं खोलें? [Y/N]" HostDel = "ओरिजिनल hosts फ़ाइल से गैर-जरूरी URLs को हटाने की कोशिश की जा रही है..."
NoRestore = "स्पॉटएक्स पहले ही स्थापित किया जा चुका है, xpui.bak नहीं मिला। `nकृपया स्पॉटिफाई क्लाइंट को अनइंस्टॉल करें और Install.bat को फिर से चलाए" HostError = "hosts फ़ाइल को एडिट करते समय कोई समस्या हुई है। कृपया इसे मैनुअली एडिट करें या स्क्रिप्ट को एडमिनिस्ट्रेटर के रूप में चलाए"
InstallComplete = "इंस्टालेशन पूर्ण" PressAnyKey = "Press any key to exit..."
HostInfo = "hosts फ़ाइल में अवांछित URL मिले"
HostBak = "hosts.bak का बैकअप ले जा रहा है..."
HostDel = "मूल होस्ट फ़ाइल से अवांछित URL निकालने का प्रयास किया जा रहा है..."
HostError = "होस्ट फ़ाइल को संपादित करते समय कुछ गलत हो गया, इसे मैन्युअल रूप से संपादित करें या स्क्रिप्ट को व्यवस्थापक के रूप में चलाएं"
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Ismét hiba" Download3 = "Ismét hiba"
Download4 = "Ellenőrizze a hálózati beállításokat, és futtassa újra a telepítést" Download4 = "Ellenőrizze a hálózati beállításokat, és futtassa újra a telepítést"
Download5 = "Spotify letöltése" Download5 = "Spotify letöltése"
Download6 = "Curl hiba"
StopScript = "A script leállt" StopScript = "A script leállt"
MsSpoti = "A Spotify Microsoft Store verziója van telepítve, amely nem támogatott" MsSpoti = "A Spotify Microsoft Store verziója van telepítve, amely nem támogatott"
MsSpoti2 = "A Spotify Microsoft Store kiadásának eltávolítása [Y/N]" MsSpoti2 = "A Spotify Microsoft Store kiadásának eltávolítása [Y/N]"
MsSpoti3 = "A Spotify MS automatikus eltávolítása..." MsSpoti3 = "A Spotify MS automatikus eltávolítása..."
MsSpoti4 = "Spotify MS eltávolítása..." MsSpoti4 = "Spotify MS eltávolítása..."
Prem = "Módosítás a prémium fiókhoz..." Prem = "Módosítás a prémium fiókhoz..."
OldV = "A Spotify elavult verziója van telepítve"
OldV2 = "A Spotify {0} verziója elavult, ajánlott frissíteni a {1} verzióra." OldV2 = "A Spotify {0} verziója elavult, ajánlott frissíteni a {1} verzióra."
OldV3 = "Szeretné frissíteni ? [Y/N]" OldV3 = "Szeretné frissíteni ? [Y/N]"
AutoUpd = "Automatikus frissítés a javasolt verzióra"
DelOrOver = "A {0} jelenlegi verzióját szeretné eltávolítani vagy telepíteni rá? Y [Eltávolítás] / N [Felül telepítés]" DelOrOver = "A {0} jelenlegi verzióját szeretné eltávolítani vagy telepíteni rá? Y [Eltávolítás] / N [Felül telepítés]"
DelOld = "A régi Spotify eltávolítása..." DelSpotify = "Spotify eltávolítása..."
NewV = "A Spotify nem támogatott verziója van telepítve"
NewV2 = "A Spotify {0} verzióját még nem teszteltük, jelenlegi stabil verzió: {1}. " NewV2 = "A Spotify {0} verzióját még nem teszteltük, jelenlegi stabil verzió: {1}. "
NewV3 = "Folytatni szeretné a {0} verzióval (hibák léphetnek fel) ? [Y/N]" NewV3 = "Folytatni szeretné a {0} verzióval (hibák léphetnek fel) ? [Y/N]"
Recom = "Szeretné telepíteni a {0} ajánlott verziót? [Y/N]" Recom = "Szeretné telepíteni a {0} ajánlott verziót? [Y/N]"
DelNew = "Nem tesztelt Spotify eltávolítása..."
DownSpoti = "A Spotify letöltése és telepítése" DownSpoti = "A Spotify letöltése és telepítése"
DownSpoti2 = "Kérem várjon..." DownSpoti2 = "Kérem várjon..."
PodcatsOff = "Podcastok kikapcsolása" PodcatsOff = "Podcastok kikapcsolása"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify frissítések blokkolva" UpdBlock = "Spotify frissítések blokkolva"
UpdUnblock = "A Spotify frissítések nincsenek blokkolva" UpdUnblock = "A Spotify frissítések nincsenek blokkolva"
UpdSelect = "Szeretnéd letiltani a Spotify frissítéseket? [Y/N]" UpdSelect = "Szeretnéd letiltani a Spotify frissítéseket? [Y/N]"
CacheOn = "A gyorsítótár törlése engedélyezve ({0})"
CacheOff = "A gyorsítótár törlése nem engedélyezett"
CacheSelect = "Szeretné beállítani az automatikus gyorsítótár-tisztítást? [Y/N]"
CacheDays = "XX napnál régebbi gyorsítótárak törlésre fognak kerülni "
CacheDays2 = "Adj meg egy napot 1 és 100 között."
ModSpoti = "Spotify patchelése..." ModSpoti = "Spotify patchelése..."
Error = "Hiba" Error = "Hiba"
FileLocBroken = "A Spotify fájlok sérültek, távolítsa el a klienst, és futtassa újra a szkriptet." FileLocBroken = "A Spotify fájlok sérültek, távolítsa el a klienst, és futtassa újra a szkriptet."
@@ -52,4 +42,5 @@
HostBak = "A hosts.bak mentése..." HostBak = "A hosts.bak mentése..."
HostDel = "A nem kívánt URL-ek eltávolítása az eredeti hosts fájlból..." HostDel = "A nem kívánt URL-ek eltávolítása az eredeti hosts fájlból..."
HostError = "Valami hiba történt a hosts fájl szerkesztése közben, szerkeszd meg manuálisan, vagy futtasd a szkriptet rendszergazdaként." HostError = "Valami hiba történt a hosts fájl szerkesztése közben, szerkeszd meg manuálisan, vagy futtasd a szkriptet rendszergazdaként."
PressAnyKey = "Nyomjon meg egy gombot a kilépéshez..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Menghapus Spotify MS secara otomatis..." MsSpoti3 = "Menghapus Spotify MS secara otomatis..."
MsSpoti4 = "Menghapus Spotify MS..." MsSpoti4 = "Menghapus Spotify MS..."
Prem = "Modifikasi untuk akun premium..." Prem = "Modifikasi untuk akun premium..."
OldV = "Versi lama Spotify ditemukan"
OldV2 = "Versi Spotify {0} Anda sudah usang, disarankan untuk upgrade ke versi {1}" OldV2 = "Versi Spotify {0} Anda sudah usang, disarankan untuk upgrade ke versi {1}"
OldV3 = "Ingin mengupdate? [Y/N]" OldV3 = "Ingin mengupdate? [Y/N]"
AutoUpd = "Pembaruan otomatis ke versi yang direkomendasikan"
DelOrOver = "Apakah Anda ingin menghapus versi {0} saat ini atau menimpanya? Y [Uninstall] / N [Timpa]" DelOrOver = "Apakah Anda ingin menghapus versi {0} saat ini atau menimpanya? Y [Uninstall] / N [Timpa]"
DelOld = "Menghapus Spotify lama..." DelSpotify = "Menghapus Spotify..."
NewV = "Ditemukan versi Spotify yang tidak didukung"
NewV2 = "Versi Spotify {0} Anda belum diuji, saat ini adalah versi {1} yang stabil" NewV2 = "Versi Spotify {0} Anda belum diuji, saat ini adalah versi {1} yang stabil"
NewV3 = "Ingin melanjutkan dengan versi {0} (mungkin ada kesalahan)? [Y/N]" NewV3 = "Ingin melanjutkan dengan versi {0} (mungkin ada kesalahan)? [Y/N]"
Recom = "Ingin menginstal versi {0} yang direkomendasikan? [Y/N]" Recom = "Ingin menginstal versi {0} yang direkomendasikan? [Y/N]"
DelNew = "Menghapus Spotify yang belum diuji..."
DownSpoti = "Mengunduh dan menginstal Spotify" DownSpoti = "Mengunduh dan menginstal Spotify"
DownSpoti2 = "Tunggu sebentar..." DownSpoti2 = "Tunggu sebentar..."
PodcatsOff = "Podcast Nonaktif" PodcatsOff = "Podcast Nonaktif"
@@ -46,4 +42,5 @@
HostBak = "Membuat cadangan hosts.bak..." HostBak = "Membuat cadangan hosts.bak..."
HostDel = "Mencoba menghapus URL yang tidak diinginkan dari file hosts asli..." HostDel = "Mencoba menghapus URL yang tidak diinginkan dari file hosts asli..."
HostError = "Ada yang salah saat mengedit file hosts, edit manual atau jalankan skrip sebagai administrator" HostError = "Ada yang salah saat mengedit file hosts, edit manual atau jalankan skrip sebagai administrator"
PressAnyKey = "Tekan sembarang tombol untuk keluar..."
} }
+22 -31
View File
@@ -1,55 +1,46 @@
[PSCustomObject]@{ [PSCustomObject]@{
Welcome = " Welcome = "
╔══════════════════════════════╗ ╔══════════════════════════════
Welcome to SpotX for Windows ║ Benvenuti a SpotX per Windows ║
╚══════════════════════════════╝" ╚══════════════════════════════"
Incorrect = "Ops! Valore sbagliato," Incorrect = "Ops, un valore sbagliato,"
Incorrect2 = "inserisci di nuovo" Incorrect2 = "inserisci di nuovo "
Download = "Errore nel download" Download = "Errore nel download"
Download2 = "Nuova richiesta in 5 secondi..." Download2 = "Nuova richiesta in 5 secondi..."
Download3 = "Nuovo errore" Download3 = "Nuovo errore"
Download4 = "Verifica le tue impostazioni di rete ed esegui di nuovo l'installazione." Download4 = "Verifica le tue impostazioni di rete ed esegui di nuovo l'installazione"
Download5 = "Scaricamento di Spotify" Download5 = "Scaricamento di Spotify"
Download6 = "Errore Curl"
StopScript = "Lo script è stato fermato" StopScript = "Lo script è stato fermato"
MsSpoti = "Trovata versione del Microsoft Store di Spotify, che non è supportata" MsSpoti = "È stata rilevata la versione di Spotify del Microsoft Store, che non è supportata"
MsSpoti2 = "Disinstallare la versione Microsoft Store di Spotify [Y/N]" MsSpoti2 = "Disinstallare la versione del Microsoft Store di Spotify ? [Y/N]"
MsSpoti3 = "Disinstallazione automatica di Spotify MS..." MsSpoti3 = "Disinstallazione automatica di Spotify MS..."
MsSpoti4 = "Disinstallazione di Spotify MS..." MsSpoti4 = "Disinstallazione di Spotify MS..."
Prem = "Modifica per account premium..." Prem = "Modifica per account premium..."
OldV = "Trovata vecchia versione di Spotify" OldV2 = "La tua versione di Spotify {0} è vecchia, la versione attuale più recente è — {1}"
OldV2 = "La tua versione di Spotify {0} è vecchia, è consigliato aggiornare alla versione {1}" OldV3 = "Vorresti aggiornare ? [Y/N]"
OldV3 = "Vorresti aggiornare? [Y/N]" DelOrOver = "Rimuovere la versione attuale {0} o sovrascriverla? Y [Rimuovi] / N [Sovrascrivi]"
AutoUpd = "Aggiornamento automatico alla versione consigliata" DelSpotify = "Disinstallando Spotify..."
DelOrOver = "Vorresti disinstallare la versione installata {0} o sovrascriverla? Y [Disinstalla] / N [Sovrascrivi]" NewV2 = "La tua versione {0} di Spotify non è stata testata. La versione stabile per SpotX è {1}"
DelOld = "Disinstallando vecchia versione di Spotify..." NewV3 = "Continuare con {0} (possibili errori) ? [Y/N]"
NewV = "Trovata versione di Spotify non supportata" Recom = "Installare l'ultima versione {0} ? [Y/N]"
NewV2 = "La tua versione {0} di Spotify non è stata ancora testata, al momento la {1} è stabile"
NewV3 = "Vorresti continuare ad installare la versione {0} (possibili errori)? [Y/N]"
Recom = "Vorresti installare la versione consigliata {0}? [Y/N]"
DelNew = "Disinstallando una versione non testata di Spotify..."
DownSpoti = "Scaricando ed installando Spotify" DownSpoti = "Scaricando ed installando Spotify"
DownSpoti2 = "Attendere..." DownSpoti2 = "Attendere..."
PodcatsOff = "Podcasts OFF" PodcatsOff = "Podcasts OFF"
PodcastsOn = "Podcasts ON" PodcastsOn = "Podcasts ON"
PodcatsSelect = "Vorresti rimuovere podcast, episodi ed audiolibri dalla pagina principale? [Y/N]" PodcatsSelect = "Nascondere podcast, episodi ed audiolibri dalla pagina principale ? [Y/N]"
DowngradeNote = "Si consiglia il blocco degli aggiornamenti dato il downgrade di Spotify" DowngradeNote = "Si consiglia il blocco dato il downgrade di Spotify"
UpdBlock = "Aggiornamenti di Spotify bloccati" UpdBlock = "Aggiornamenti di Spotify bloccati"
UpdUnblock = "Aggiornamenti di Spotify non bloccati" UpdUnblock = "Aggiornamenti di Spotify non bloccati"
UpdSelect = "Vorresti bloccare gli aggiornamenti automatici di Spotify? [Y/N]" UpdSelect = "Bloccare gli aggiornamenti di Spotify ? [Y/N]"
CacheOn = "Attivata la cancellazione automatica della cache ({0})"
CacheOff = "Cancellazione automatica della cache non attiva"
CacheSelect = "Vorresti attivare la cancellazione automatica della cache? [Y/N]"
CacheDays = "Verrà cancellata la cache più vecchia di XX giorni"
CacheDays2 = "Inserisci il numero dei giorni da 1 a 100"
ModSpoti = "Patching Spotify..." ModSpoti = "Patching Spotify..."
Error = "Errore" Error = "Errore"
FileLocBroken = "Il percorso dei file di Spotify non è stato trovato, disinstallare Spotify ed eseguire lo script" FileLocBroken = "La posizione dei file di Spotify è danneggiata, disinstallare il client di Spotify ed eseguire nuovamente lo script"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]" Spicetify = "Spicetify rilevato, deve essere installato dopo SpotX, aprire le azioni consigliate nelle FAQ ? [Y/N]"
NoRestore = "SpotX è già stato installato, xpui.bak non trovato. `nPer favore, disinstalla Spotify e riapri il file Install.bat" NoRestore = "SpotX è già stato installato, xpui.bak non trovato. `nPer favore, disinstalla Spotify e riapri il file Install.bat"
InstallComplete = "Installazione completata" InstallComplete = "installazione completata"
HostInfo = "Trovati URL non desiderati nel file hosts" HostInfo = "Trovati URL non desiderati nel file hosts"
HostBak = "Backup di hosts.bak in corso..." HostBak = "Backup di hosts.bak in corso..."
HostDel = "Provo a rimuovere URL non desiderati dal file hosts originale..." HostDel = "Provo a rimuovere URL non desiderati dal file hosts originale..."
HostError = "Qualcosa è andato storto durante la modifica del file hosts, modificalo manualmente o fai partire lo script come amministratore" HostError = "Qualcosa è andato storto durante la modifica del file hosts, modificalo manualmente o fai partire lo script come amministratore"
PressAnyKey = "Premi un tasto qualsiasi per uscire..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "再びエラー" Download3 = "再びエラー"
Download4 = "ネットワークの設定を確認し再度インストールを実行してくささい" Download4 = "ネットワークの設定を確認し再度インストールを実行してくささい"
Download5 = "Spotify のダウンロード中" Download5 = "Spotify のダウンロード中"
Download6 = "Curl のエラー"
StopScript = "スクリプトが停止しました" StopScript = "スクリプトが停止しました"
MsSpoti = "Microsoft Store 版の Spotify には対応していません" MsSpoti = "Microsoft Store 版の Spotify には対応していません"
MsSpoti2 = "Microsoft Store 版の Spotifyをアンインストールしますか ? [Y/N]" MsSpoti2 = "Microsoft Store 版の Spotifyをアンインストールしますか ? [Y/N]"
MsSpoti3 = "Spotify MS 版を自動でアンインストール中..." MsSpoti3 = "Spotify MS 版を自動でアンインストール中..."
MsSpoti4 = "Spotify MS 版をアンインストール中..." MsSpoti4 = "Spotify MS 版をアンインストール中..."
Prem = "Premium アカウント用の修正..." Prem = "Premium アカウント用の修正..."
OldV = "古い Spotify を使用中です"
OldV2 = "お使いの Spotify のバージョン {0} は古いため以下へのアップグレードを推奨 {1}" OldV2 = "お使いの Spotify のバージョン {0} は古いため以下へのアップグレードを推奨 {1}"
OldV3 = "更新しますか ? [Y/N]" OldV3 = "更新しますか ? [Y/N]"
AutoUpd = "推奨するバージョンに自動更新"
DelOrOver = "既存のバージョン {0} をアンインストール、または上書しますか ? Y [アンインストール] / N [上書き]" DelOrOver = "既存のバージョン {0} をアンインストール、または上書しますか ? Y [アンインストール] / N [上書き]"
DelOld = "古い Spotify をアンインストール中..." DelSpotify = "Spotify をアンインストール中..."
NewV = "未対応の Spotify のバージョンです"
NewV2 = "お使いの Spotify のバージョン {0} はまだ検証しておらず現在の安定バージョンは {1}" NewV2 = "お使いの Spotify のバージョン {0} はまだ検証しておらず現在の安定バージョンは {1}"
NewV3 = "バージョン {0} のままぞこうしますか (エラーの可能性) ? [Y/N]" NewV3 = "バージョン {0} のままぞこうしますか (エラーの可能性) ? [Y/N]"
Recom = "推奨するバージョン {0} をインストールしますか ? [Y/N]" Recom = "推奨するバージョン {0} をインストールしますか ? [Y/N]"
DelNew = "未検証版の Spotify をアンインストール..."
DownSpoti = "Spotify をダウンロードしインストール" DownSpoti = "Spotify をダウンロードしインストール"
DownSpoti2 = "お待ちください..." DownSpoti2 = "お待ちください..."
PodcatsOff = "ポッドキャスト 有効" PodcatsOff = "ポッドキャスト 有効"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify の更新を阻止" UpdBlock = "Spotify の更新を阻止"
UpdUnblock = "Spotify の更新を阻止していません" UpdUnblock = "Spotify の更新を阻止していません"
UpdSelect = "Spotify の更新を阻止しますか ? [Y/N]" UpdSelect = "Spotify の更新を阻止しますか ? [Y/N]"
CacheOn = "音声キャッシュ清掃は有効です ({0})"
CacheOff = "音声キャッシュ清掃が有効ではありません"
CacheSelect = "Spotify の音声キャッシュの自動清掃をインストールしますか ? [Y/N]"
CacheDays = "指定の日数以上使用されていないキャッシュを削除します"
CacheDays2 = "日数を1から100までで入力してだくさい"
ModSpoti = "Spotify にパッチ適用中..." ModSpoti = "Spotify にパッチ適用中..."
Error = "エラー" Error = "エラー"
FileLocBroken = "Spotify のファイルの場所が壊れています。Spotify クライアントをアンインストールし再度スクリプトを実行してください" FileLocBroken = "Spotify のファイルの場所が壊れています。Spotify クライアントをアンインストールし再度スクリプトを実行してください"
@@ -52,4 +42,5 @@
HostBak = "hosts.bak にバックアップ中..." HostBak = "hosts.bak にバックアップ中..."
HostDel = "元の hosts から望まない URL を削除中..." HostDel = "元の hosts から望まない URL を削除中..."
HostError = "hosts ファイルの編集中に不明の問題が発生、手動で編集するか、管理者としてスクリプトを実行してください" HostError = "hosts ファイルの編集中に不明の問題が発生、手動で編集するか、管理者としてスクリプトを実行してください"
PressAnyKey = "終了するには何かキーを押してください..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "შეცდომა ისევ" Download3 = "შეცდომა ისევ"
Download4 = "შეამოწმეთ თქვენი კავშირი ქსელთან და თავიდან სცადე ინსტალაცია" Download4 = "შეამოწმეთ თქვენი კავშირი ქსელთან და თავიდან სცადე ინსტალაცია"
Download5 = "Spotify იწერება" Download5 = "Spotify იწერება"
Download6 = "Curl error" #
StopScript = "სკრიპტი ჩერდება" StopScript = "სკრიპტი ჩერდება"
MsSpoti = "Microsoft Store-ის ვერსია მოიძებნა რომელიც არ არის მხარდაჯერილი" MsSpoti = "Microsoft Store-ის ვერსია მოიძებნა რომელიც არ არის მხარდაჯერილი"
MsSpoti2 = "წავშალოთ Spotify Microsoft Store-ის ვერსია [Y/N]" MsSpoti2 = "წავშალოთ Spotify Microsoft Store-ის ვერსია [Y/N]"
MsSpoti3 = "ავტუმატურად იშლება Spotify MS..." MsSpoti3 = "ავტუმატურად იშლება Spotify MS..."
MsSpoti4 = "იშლება Spotify MS..." MsSpoti4 = "იშლება Spotify MS..."
Prem = "მოდიფიკაცია პრემიუმ აკკოუნტის..." Prem = "მოდიფიკაცია პრემიუმ აკკოუნტის..."
OldV = "მოიძებნა მოძველებული Spotify-ს ვერსია"
OldV2 = "თქვენი Spotify-ს {0} ვერსია არის მოძველებული, რეკომენდურია მისი აპგრეიდობა ამ ვერსიაზე {1}" OldV2 = "თქვენი Spotify-ს {0} ვერსია არის მოძველებული, რეკომენდურია მისი აპგრეიდობა ამ ვერსიაზე {1}"
OldV3 = "გინდა განაახლოთ ? [Y/N]" OldV3 = "გინდა განაახლოთ ? [Y/N]"
AutoUpd = "აუტომატიკური აპდაიტი რეკომენდებულ ვერსიაზე"
DelOrOver = "გინდა წაშალო ეხლანდელი ვერსია: {0} თუ თავიდან ჩაწერა? Y [წაშლა] / N [თავიდან ჩაწერა]" DelOrOver = "გინდა წაშალო ეხლანდელი ვერსია: {0} თუ თავიდან ჩაწერა? Y [წაშლა] / N [თავიდან ჩაწერა]"
DelOld = "ძველი Spotify იშლება..." DelSpotify = "Spotify იშლება..."
NewV = "არა მხარდაჯერილი Spotify-ს ვერსია არის მოწებნილი"
NewV2 = "თქვენი Spotify-ს {0} ვერსია ჯერ არ არის დატესტილი, ამჟამად არის სტაბილური {1} ვერსია" NewV2 = "თქვენი Spotify-ს {0} ვერსია ჯერ არ არის დატესტილი, ამჟამად არის სტაბილური {1} ვერსია"
NewV3 = "გინდათ რომ გააგრძელოთ {0} ვერსიაზე (შეცდომები შესაძლებელია) ? [Y/N]" NewV3 = "გინდათ რომ გააგრძელოთ {0} ვერსიაზე (შეცდომები შესაძლებელია) ? [Y/N]"
Recom = "გინდათ რო ჩაიწეროთ რეკომენდირებული {0} ვერსია ? [Y/N]" Recom = "გინდათ რო ჩაიწეროთ რეკომენდირებული {0} ვერსია ? [Y/N]"
DelNew = "იშლება არა ტესტირებულ Spotify..."
DownSpoti = "ვტვირთავთ და ვიწერთ Spotify-ს" DownSpoti = "ვტვირთავთ და ვიწერთ Spotify-ს"
DownSpoti2 = "გთხოვთ დაიცადოთ..." DownSpoti2 = "გთხოვთ დაიცადოთ..."
PodcatsOff = "პოდკასტები გათიშული" PodcatsOff = "პოდკასტები გათიშული"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify-ს განახლებები დაბლოკილია" UpdBlock = "Spotify-ს განახლებები დაბლოკილია"
UpdUnblock = "Spotify-ს განახლებები არ არის დაბლოკილი" UpdUnblock = "Spotify-ს განახლებები არ არის დაბლოკილი"
UpdSelect = "გინდათ რომ დაბლოკოთ Spotify-ს განახლებები? [Y/N]" UpdSelect = "გინდათ რომ დაბლოკოთ Spotify-ს განახლებები? [Y/N]"
CacheOn = "ქეშის გაწმენდა ჩართულია ({0})"
CacheOff = "ქეშის გაწმენდა არ არის ჩართული"
CacheSelect = "გინდათ რომ ჩართოთ ავტომატიკური ქეშის გაწმენდა? [Y/N]"
CacheDays = "ქეში უფრო ძველია: XX დღეზე რომ იყოს გაწმენდილი "
CacheDays2 = "შეიყვანეთ the დღეების რაოდენობა 1-იდან 100-ამდე"
ModSpoti = "Spotify იკერვება..." ModSpoti = "Spotify იკერვება..."
Error = "შეცდომა" Error = "შეცდომა"
FileLocBroken = "Spotify ფაილების ლოკაცია არის გადეხილი, წაშალეთ კლიენტი და თავიდან გაუშვით სკრიპტი" FileLocBroken = "Spotify ფაილების ლოკაცია არის გადეხილი, წაშალეთ კლიენტი და თავიდან გაუშვით სკრიპტი"
@@ -52,4 +42,5 @@
HostBak = "იქმნება hosts.bak-ის სარევეზნო ასლი..." HostBak = "იქმნება hosts.bak-ის სარევეზნო ასლი..."
HostDel = "ვცდილობთ რომ ამოვიღოთ არასასურველი URL-ები ორიგინალური მასპინძელის ფაილიდან..." HostDel = "ვცდილობთ რომ ამოვიღოთ არასასურველი URL-ები ორიგინალური მასპინძელის ფაილიდან..."
HostError = "რაღაც შეცდომა მოხდა მასპინძელის ფაილის რედაქტირებისას, დაარედაქტირეთ ის ხელით ან გაუშვით სკრიპტი ადმინისტრატორის სახით" HostError = "რაღაც შეცდომა მოხდა მასპინძელის ფაილის რედაქტირებისას, დაარედაქტირეთ ის ხელით ან გაუშვით სკრიპტი ადმინისტრატორის სახით"
PressAnyKey = "დააჭირეთ ნებისმიერ ღილაკს გასასვლელად..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "오류 발생" Download3 = "오류 발생"
Download4 = "네트워크 설정을 확인하시고 다시 실행해주세요" Download4 = "네트워크 설정을 확인하시고 다시 실행해주세요"
Download5 = "Spotify 다운로드 중" Download5 = "Spotify 다운로드 중"
Download6 = "Curl 오류"
StopScript = "스크립트가 중단되었습니다" StopScript = "스크립트가 중단되었습니다"
MsSpoti = "Microsoft Store 버전의 Spotify가 감지되었으며 이는 지원되지 않습니다" MsSpoti = "Microsoft Store 버전의 Spotify가 감지되었으며 이는 지원되지 않습니다"
MsSpoti2 = "Spotify Microsoft Store 버전을 제거할까요? [Y/N]" MsSpoti2 = "Spotify Microsoft Store 버전을 제거할까요? [Y/N]"
MsSpoti3 = "Spotify Microsoft Store 버전을 자동으로 제거하는 중..." MsSpoti3 = "Spotify Microsoft Store 버전을 자동으로 제거하는 중..."
MsSpoti4 = "Spotify Microsoft Store 버전을 제거하는 중..." MsSpoti4 = "Spotify Microsoft Store 버전을 제거하는 중..."
Prem = "프리미엄 계정을 위한 모드..." Prem = "프리미엄 계정을 위한 모드..."
OldV = "Spotify 구버전을 감지했습니다"
OldV2 = "Spotify {0} 버전은 오래되었습니다, {1} 버전으로 업데이트하시는 것을 추천합니다" OldV2 = "Spotify {0} 버전은 오래되었습니다, {1} 버전으로 업데이트하시는 것을 추천합니다"
OldV3 = "업데이트를 진행할까요? [Y/N]" OldV3 = "업데이트를 진행할까요? [Y/N]"
AutoUpd = "권장 버전으로 자동 업데이트할까요?"
DelOrOver = "설치된 {0} 버전을 제거할까요? 아니면 덮어쓰고 설치할까요? Y [제거] / N [덮어쓰고 설치]" DelOrOver = "설치된 {0} 버전을 제거할까요? 아니면 덮어쓰고 설치할까요? Y [제거] / N [덮어쓰고 설치]"
DelOld = "구버전의 Spotify를 제거하는 중..." DelSpotify = "Spotify를 제거하는 중..."
NewV = "지원되지 않는 버전의 Spotify가 감지되었습니다"
NewV2 = "Spotify {0} 버전은 아직 테스트되지 않았습니다, 현재 최신 안정 버전은 {1} 입니다" NewV2 = "Spotify {0} 버전은 아직 테스트되지 않았습니다, 현재 최신 안정 버전은 {1} 입니다"
NewV3 = "{0} 버전으로 진행할까요? (오류가 발생할 수 있음) [Y/N]" NewV3 = "{0} 버전으로 진행할까요? (오류가 발생할 수 있음) [Y/N]"
Recom = "추천하는 {0} 버전을 설치할까요? [Y/N]" Recom = "추천하는 {0} 버전을 설치할까요? [Y/N]"
DelNew = "테스트되지 않은 Spotify를 제거하는 중..."
DownSpoti = "Spotify를 다운로드하고 설치하는 중" DownSpoti = "Spotify를 다운로드하고 설치하는 중"
DownSpoti2 = "잠시만 기다려 주세요..." DownSpoti2 = "잠시만 기다려 주세요..."
PodcatsOff = "팟캐스트 끄기" PodcatsOff = "팟캐스트 끄기"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify 업데이트가 차단됨" UpdBlock = "Spotify 업데이트가 차단됨"
UpdUnblock = "Spotify 업데이트가 차단되지 않음" UpdUnblock = "Spotify 업데이트가 차단되지 않음"
UpdSelect = "Spotify 업데이트를 차단할까요? [Y/N]" UpdSelect = "Spotify 업데이트를 차단할까요? [Y/N]"
CacheOn = "캐시 비우기 활성화됨 ({0})"
CacheOff = "캐시 비우기가 활성화되지 않음"
CacheSelect = "자동 캐시 비우기를 설정할까요? [Y/N]"
CacheDays = "XX 일보다 오래된 캐시가 비워집니다 "
CacheDays2 = "1에서 100 사이의 일수를 입력하세요"
ModSpoti = "Spotify를 패치하는 중..." ModSpoti = "Spotify를 패치하는 중..."
Error = "오류" Error = "오류"
FileLocBroken = "Spotify 폴더의 파일이 손상되었습니다, Spotify를 제거하고 이 스크립트를 다시 실행하세요" FileLocBroken = "Spotify 폴더의 파일이 손상되었습니다, Spotify를 제거하고 이 스크립트를 다시 실행하세요"
@@ -52,4 +42,5 @@
HostBak = "hosts.bak 백업 파일을 생성하는 중..." HostBak = "hosts.bak 백업 파일을 생성하는 중..."
HostDel = "원본 hosts 파일에서 불필요한 URL 제거를 시도하는 중..." HostDel = "원본 hosts 파일에서 불필요한 URL 제거를 시도하는 중..."
HostError = "파일을 수정하는 데 오류가 발생했습니다, 직접 수정하거나 이 스크립트를 관리자 권한으로 실행해주세요" HostError = "파일을 수정하는 데 오류가 발생했습니다, 직접 수정하거나 이 스크립트를 관리자 권한으로 실행해주세요"
PressAnyKey = "종료하려면 아무 키나 누르십시오..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Atkal kļūda" Download3 = "Atkal kļūda"
Download4 = "Pārbaudi savus tīkla iestatījumus un mēģini instalēt vēlreiz" Download4 = "Pārbaudi savus tīkla iestatījumus un mēģini instalēt vēlreiz"
Download5 = "Lejuplādejam Spotify" Download5 = "Lejuplādejam Spotify"
Download6 = "Curl kļūda"
StopScript = "Skripts ir apstājies" StopScript = "Skripts ir apstājies"
MsSpoti = "Microsoft veikala Spotify versija tika konstatēta, un nav atbalstīta." MsSpoti = "Microsoft veikala Spotify versija tika konstatēta, un nav atbalstīta."
MsSpoti2 = "Izdzēst Spotify Microsoft Store versiju [Y/N]" MsSpoti2 = "Izdzēst Spotify Microsoft Store versiju [Y/N]"
MsSpoti3 = "Automātiski izdzēš Spotify MS..." MsSpoti3 = "Automātiski izdzēš Spotify MS..."
MsSpoti4 = "Izdzēš Spotify MS..." MsSpoti4 = "Izdzēš Spotify MS..."
Prem = "Modifikācija premium kontam..." Prem = "Modifikācija premium kontam..."
OldV = "Spotify vecā versija bija konstatēta."
OldV2 = "Tava Spotify {0} versija ir novecojusi, bet ir ieteicams atjaunot uz {1} versiju" OldV2 = "Tava Spotify {0} versija ir novecojusi, bet ir ieteicams atjaunot uz {1} versiju"
OldV3 = "Vēlies atjaunot? [Y/N]" OldV3 = "Vēlies atjaunot? [Y/N]"
AutoUpd = "Automātiski atjauno uz ieteicamo versiju"
DelOrOver = "Vai vēlies izdzēst līdzšinejo {0} versiju vai instalēt ieteicamo versiju virs vecās? Y [Izdzēst] / N [Instalēt Virs]" DelOrOver = "Vai vēlies izdzēst līdzšinejo {0} versiju vai instalēt ieteicamo versiju virs vecās? Y [Izdzēst] / N [Instalēt Virs]"
DelOld = "Izdzēš veco Spotify..." DelSpotify = "Izdzēšam Spotify..."
NewV = "Atrasta neatbalstītā Spotify versija"
NewV2 = "Tava Spotify {0} versija nav tikusi testēta, šobrīd stabilākā ir {1} versija" NewV2 = "Tava Spotify {0} versija nav tikusi testēta, šobrīd stabilākā ir {1} versija"
NewV3 = "Vai vēlies turpināt ar {0} versiju? (ir iespējamas kļūdas) [Y/N]" NewV3 = "Vai vēlies turpināt ar {0} versiju? (ir iespējamas kļūdas) [Y/N]"
Recom = "Vai vēlies instalēt ieteikto {0} versiju? [Y/N]" Recom = "Vai vēlies instalēt ieteikto {0} versiju? [Y/N]"
DelNew = "Izdzēšam netestēto Spotify..."
DownSpoti = "Lejuplādējam un instalējam Spotify" DownSpoti = "Lejuplādējam un instalējam Spotify"
DownSpoti2 = "Lūdzu nedaudz uzgaidiet..." DownSpoti2 = "Lūdzu nedaudz uzgaidiet..."
PodcatsOff = "Raidieraksti ir izslēgti" PodcatsOff = "Raidieraksti ir izslēgti"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify atjauninājumi ir bloķēti" UpdBlock = "Spotify atjauninājumi ir bloķēti"
UpdUnblock = "Spotify atjauninājumi nav bloķēti" UpdUnblock = "Spotify atjauninājumi nav bloķēti"
UpdSelect = "Vai vēlies bloķēt Spotify atjauninājumus? [Y/N]" UpdSelect = "Vai vēlies bloķēt Spotify atjauninājumus? [Y/N]"
CacheOn = "Kešatmiņu tīrīšana ir ieslēgta ({0})"
CacheOff = "Kešatmiņu tīrīšana nav ieslēgta"
CacheSelect = "Vai vēlaties iestatīt automātisko kešatmiņas tīrīšanu? [Y/N]"
CacheDays = "Kešatmiņa vecāka par: XX dienām tiks tīrīta. "
CacheDays2 = "Ievadiet, cik dienas no 1 līdz 100 ir jāgaida lai tīrītu kešatmiņu."
ModSpoti = "Modo Spotify..." ModSpoti = "Modo Spotify..."
Error = "Kļūda" Error = "Kļūda"
FileLocBroken = "Spotify failu atrašanās vieta ir bojāta, atinstalējiet klientu un palaidiet skriptu vēlreiz" FileLocBroken = "Spotify failu atrašanās vieta ir bojāta, atinstalējiet klientu un palaidiet skriptu vēlreiz"
@@ -52,4 +42,5 @@
HostBak = "Dublē hosts.bak ..." HostBak = "Dublē hosts.bak ..."
HostDel = "Mēģina noņemt nevēlamus URL no sākotnējā hosts faila..." HostDel = "Mēģina noņemt nevēlamus URL no sākotnējā hosts faila..."
HostError = "Kaut kas greizi aizgāja rediģējot hosts failu, rediģējiet to manuāli vai palaidiet skriptu ar administratora privilēģijām" HostError = "Kaut kas greizi aizgāja rediģējot hosts failu, rediģējiet to manuāli vai palaidiet skriptu ar administratora privilēģijām"
PressAnyKey = "Nospiediet jebkuru taustiņu, lai izietu..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Pobieranie się nie powiodło" Download3 = "Pobieranie się nie powiodło"
Download4 = "Sprawdź ustawienia sieci i uruchom instalację ponownie" Download4 = "Sprawdź ustawienia sieci i uruchom instalację ponownie"
Download5 = "Pobieranie Spotify" Download5 = "Pobieranie Spotify"
Download6 = "Błąd Curl"
StopScript = "Skrypt jest zatrzymany" StopScript = "Skrypt jest zatrzymany"
MsSpoti = "Wykryto wersję Spotify ze Sklepu Microsoft, która nie jest wspierana" MsSpoti = "Wykryto wersję Spotify ze Sklepu Microsoft, która nie jest wspierana"
MsSpoti2 = "Czy chcesz odinstalować wersję Spotify ze Sklepu Microsoft? [Y/N]" MsSpoti2 = "Czy chcesz odinstalować wersję Spotify ze Sklepu Microsoft? [Y/N]"
MsSpoti3 = "Automatyczne odinstalowywanie Spotify z MS..." MsSpoti3 = "Automatyczne odinstalowywanie Spotify z MS..."
MsSpoti4 = "Odinstalowywanie Spotify MS..." MsSpoti4 = "Odinstalowywanie Spotify MS..."
Prem = "Modyfikacja dla konta premium..." Prem = "Modyfikacja dla konta premium..."
OldV = "Znaleziono przestarzałą wersję Spotify"
OldV2 = "Twoja wersja Spotify {0} jest przestarzała, zalecana jest aktualizacja do wersji {1}" OldV2 = "Twoja wersja Spotify {0} jest przestarzała, zalecana jest aktualizacja do wersji {1}"
OldV3 = "Czy chcesz ją pobrać? [Y/N]" OldV3 = "Czy chcesz ją pobrać? [Y/N]"
AutoUpd = "Automatyczna aktualizacja do zalecanej wersji"
DelOrOver = "Chcesz odinstalować aktualną wersję {0}, czy pobrać nową? Y [Odinstaluj] / N [Pobierz Nową]" DelOrOver = "Chcesz odinstalować aktualną wersję {0}, czy pobrać nową? Y [Odinstaluj] / N [Pobierz Nową]"
DelOld = "Odinstalowywanie nieaktualnej wersji Spotify..." DelSpotify = "Odinstalowywanie Spotify..."
NewV = "Wykryto niewspieraną wersję Spotify"
NewV2 = "Twoja wersja {0} nie została jeszcze przetestowana, obecna jest to stabilna wersja {1} " NewV2 = "Twoja wersja {0} nie została jeszcze przetestowana, obecna jest to stabilna wersja {1} "
NewV3 = "Czy chcesz kontynuować z wersją {0} (możliwe błędy)? [Y/N]" NewV3 = "Czy chcesz kontynuować z wersją {0} (możliwe błędy)? [Y/N]"
Recom = "Czy chcesz pobrać zalecaną wersję {0}? [Y/N]" Recom = "Czy chcesz pobrać zalecaną wersję {0}? [Y/N]"
DelNew = "Odinstalowywanie nieprzetestowanej wersji Spotify..."
DownSpoti = "Pobieranie i instalowanie Spotify" DownSpoti = "Pobieranie i instalowanie Spotify"
DownSpoti2 = "Proszę czekać..." DownSpoti2 = "Proszę czekać..."
PodcatsOff = "Podcasty wyłączone" PodcatsOff = "Podcasty wyłączone"
@@ -37,11 +32,6 @@
UpdBlock = "Aktualizacje Spotify zablokowane" UpdBlock = "Aktualizacje Spotify zablokowane"
UpdUnblock = "Aktualizacje Spotify nie są zablokowane" UpdUnblock = "Aktualizacje Spotify nie są zablokowane"
UpdSelect = "Czy chcesz zablokować aktualizacje Spotify? [Y/N]" UpdSelect = "Czy chcesz zablokować aktualizacje Spotify? [Y/N]"
CacheOn = "Usuwanie plików cache ({0})"
CacheOff = "Czyszczenie plików cache jest wyłączone"
CacheSelect = "Chcesz ustawić automatyczne czyszczenie plików cache? [Y/N]"
CacheDays = "Czyszczenie co: XX dni"
CacheDays2 = "Wybierz co ile dni ma nastąpić czyszczenie od 1 to 100 do"
ModSpoti = "Łatanie Spotify..." ModSpoti = "Łatanie Spotify..."
Error = "Błąd" Error = "Błąd"
FileLocBroken = "Lokalizacje plików Spotify jest uszkodzona, odinstaluj klienta Spotify i uruchom skrypt ponownie" FileLocBroken = "Lokalizacje plików Spotify jest uszkodzona, odinstaluj klienta Spotify i uruchom skrypt ponownie"
@@ -52,4 +42,5 @@
HostBak = "Tworzenie kopii zapasowej pliku hosts.bak..." HostBak = "Tworzenie kopii zapasowej pliku hosts.bak..."
HostDel = "Próba usunięcia niechcianych adresów URL z oryginalnego pliku hosts..." HostDel = "Próba usunięcia niechcianych adresów URL z oryginalnego pliku hosts..."
HostError = "Coś poszło nie tak podczas edycji pliku hosts, edytuj go ręcznie lub uruchom skrypt jako administrator" HostError = "Coś poszło nie tak podczas edycji pliku hosts, edytuj go ręcznie lub uruchom skrypt jako administrator"
PressAnyKey = "Naciśnij dowolny klawisz, aby wyjść..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Erro de novo" Download3 = "Erro de novo"
Download4 = "Verifique suas configurações de rede e tente executar a instalação novamente" Download4 = "Verifique suas configurações de rede e tente executar a instalação novamente"
Download5 = "Baixando o Spotify" Download5 = "Baixando o Spotify"
Download6 = "Erro de Curl"
StopScript = "O script foi interrompido" StopScript = "O script foi interrompido"
MsSpoti = "A versão do Spotify da Microsoft Store foi detectada, a qual não é suportada" MsSpoti = "A versão do Spotify da Microsoft Store foi detectada, a qual não é suportada"
MsSpoti2 = "Desinstalar edição do Spotify da Microsoft Store [Y/N]" MsSpoti2 = "Desinstalar edição do Spotify da Microsoft Store [Y/N]"
MsSpoti3 = "Desinstalação automática do Spotify da MS..." MsSpoti3 = "Desinstalação automática do Spotify da MS..."
MsSpoti4 = "Desinstalando Spotify da MS..." MsSpoti4 = "Desinstalando Spotify da MS..."
Prem = "Modificação para conta Premium..." Prem = "Modificação para conta Premium..."
OldV = "Encontrada uma versão desatualizada do Spotify"
OldV2 = "A sua versão {0} do Spotify está desatualizada, é recomendado atualizar para {1}" OldV2 = "A sua versão {0} do Spotify está desatualizada, é recomendado atualizar para {1}"
OldV3 = "Gostaria de atualizar? [Y/N]" OldV3 = "Gostaria de atualizar? [Y/N]"
AutoUpd = "Atualização automática para a versão recomendada"
DelOrOver = "Gostaria de desinstalar a versão atual {0} ou substituir a instalação atual? Y [Desinstalar] / N [Substituir]" DelOrOver = "Gostaria de desinstalar a versão atual {0} ou substituir a instalação atual? Y [Desinstalar] / N [Substituir]"
DelOld = "Desinstalando a versão antiga do Spotify..." DelSpotify = "Desinstalando Spotify..."
NewV = "Encontrada uma versão não suportada do Spotify"
NewV2 = "A sua versão do Spotify {0} não foi testada ainda, no momento, há uma versão estável {1}" NewV2 = "A sua versão do Spotify {0} não foi testada ainda, no momento, há uma versão estável {1}"
NewV3 = "Gostaria de continuar com a versão {0} (possíveis erros) ? [Y/N]" NewV3 = "Gostaria de continuar com a versão {0} (possíveis erros) ? [Y/N]"
Recom = "Gostaria de instalar a versão recomendada {0}? [Y/N]" Recom = "Gostaria de instalar a versão recomendada {0}? [Y/N]"
DelNew = "Desinstalando versão não testada do Spotify..."
DownSpoti = "Baixando e instalando o Spotify" DownSpoti = "Baixando e instalando o Spotify"
DownSpoti2 = "Aguarde..." DownSpoti2 = "Aguarde..."
PodcatsOff = "Podcasts desativado" PodcatsOff = "Podcasts desativado"
@@ -37,11 +32,6 @@
UpdBlock = "Atualizações do Spotify bloqueadas" UpdBlock = "Atualizações do Spotify bloqueadas"
UpdUnblock = "Atualizações do Spotify não bloqueadas" UpdUnblock = "Atualizações do Spotify não bloqueadas"
UpdSelect = "Deseja bloquear as atualizações do Spotify? [Y/N]" UpdSelect = "Deseja bloquear as atualizações do Spotify? [Y/N]"
CacheOn = "A limpeza do cache de áudio está ativada ({0})"
CacheOff = "A limpeza do cache de áudio está desativada"
CacheSelect = "Deseja instalar a limpeza automática do cache do áudio do Spotify? [Y/N]"
CacheDays = "Um cache que não foi usado por mais do que o número de dias especificado por você será excluído"
CacheDays2 = "Digite o número de dias entre 1 a 100"
ModSpoti = "Aplicando patch no Spotify..." ModSpoti = "Aplicando patch no Spotify..."
Error = "Erro" Error = "Erro"
FileLocBroken = "A localização dos arquivos do Spotify está incorreta, desinstale o Spotify e execute o script novamente" FileLocBroken = "A localização dos arquivos do Spotify está incorreta, desinstale o Spotify e execute o script novamente"
@@ -52,4 +42,5 @@
HostBak = "Fazendo backup de hosts.bak..." HostBak = "Fazendo backup de hosts.bak..."
HostDel = "Tentando remover URLs indesejados do arquivo hosts original..." HostDel = "Tentando remover URLs indesejados do arquivo hosts original..."
HostError = "Algo deu errado ao editar o arquivo hosts, edite-o manualmente ou execute o script como Administrador" HostError = "Algo deu errado ao editar o arquivo hosts, edite-o manualmente ou execute o script como Administrador"
PressAnyKey = "Pressione qualquer tecla para sair..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Eroare din nou" Download3 = "Eroare din nou"
Download4 = "Verificați setările de rețea și rulați din nou instalarea" Download4 = "Verificați setările de rețea și rulați din nou instalarea"
Download5 = "Se descarca Spotify" Download5 = "Se descarca Spotify"
Download6 = "Eroare Curl"
StopScript = "Scriptul a fost oprit" StopScript = "Scriptul a fost oprit"
MsSpoti = "A fost detectată versiunea Microsoft Store a Spotify, care nu este suportată" MsSpoti = "A fost detectată versiunea Microsoft Store a Spotify, care nu este suportată"
MsSpoti2 = "Dezinstalati versiunea Microsoft Store a Spotify [Y/N]" MsSpoti2 = "Dezinstalati versiunea Microsoft Store a Spotify [Y/N]"
MsSpoti3 = "Dezinstalare automată a Spotify MS..." MsSpoti3 = "Dezinstalare automată a Spotify MS..."
MsSpoti4 = "Se dezinstaleaza Spotify MS..." MsSpoti4 = "Se dezinstaleaza Spotify MS..."
Prem = "Modificare pentru contul premium..." Prem = "Modificare pentru contul premium..."
OldV = "Am găsit o versiune învechită a Spotify"
OldV2 = "Versiunea dvs. de Spotify {0} este învechită, se recomandă actualizarea la {1}" OldV2 = "Versiunea dvs. de Spotify {0} este învechită, se recomandă actualizarea la {1}"
OldV3 = "Doriți să faceți o actualizare ? [Y/N]" OldV3 = "Doriți să faceți o actualizare ? [Y/N]"
AutoUpd = "Actualizare automată la versiunea recomandată"
DelOrOver = "Doriți să dezinstalați versiunea curentă de {0} sau să o instalați peste ea? Y [Dezinstalare] / N [Instalare peste]" DelOrOver = "Doriți să dezinstalați versiunea curentă de {0} sau să o instalați peste ea? Y [Dezinstalare] / N [Instalare peste]"
DelOld = "Dezinstalarea vechiului Spotify..." DelSpotify = "Se dezinstalează Spotify..."
NewV = "A fost găsită o versiune nesuportată de Spotify"
NewV2 = "Versiunea dvs. de Spotify {0} nu a fost încă testată, în prezent este o versiune stabilă {1}" NewV2 = "Versiunea dvs. de Spotify {0} nu a fost încă testată, în prezent este o versiune stabilă {1}"
NewV3 = "Doriți să continuați cu versiunea {0} (sunt posibile erori)? [Y/N]" NewV3 = "Doriți să continuați cu versiunea {0} (sunt posibile erori)? [Y/N]"
Recom = "Doriți să instalați versiunea recomandată {0}? [Y/N]" Recom = "Doriți să instalați versiunea recomandată {0}? [Y/N]"
DelNew = "Se dezinstalează Spotify-ul netestat..."
DownSpoti = "Se descarcă și instalează Spotify" DownSpoti = "Se descarcă și instalează Spotify"
DownSpoti2 = "Vă rugăm să așteptați..." DownSpoti2 = "Vă rugăm să așteptați..."
PodcatsOff = "Podcasturi dezactivate" PodcatsOff = "Podcasturi dezactivate"
@@ -37,11 +32,6 @@
UpdBlock = "Actualizările Spotify au fost blocate" UpdBlock = "Actualizările Spotify au fost blocate"
UpdUnblock = "Actualizările Spotify nu sunt blocate" UpdUnblock = "Actualizările Spotify nu sunt blocate"
UpdSelect = "Doriți să blocați actualizările Spotify? [Y/N]" UpdSelect = "Doriți să blocați actualizările Spotify? [Y/N]"
CacheOn = "Ștergerea cache-ului este activată ({0})"
CacheOff = "Ștergerea cache-ului nu este activată"
CacheSelect = "Doriți să configurați curățarea automată a cache-ului? [Y/N]"
CacheDays = "Cache mai vechi: XX zile pentru a fi curățat "
CacheDays2 = "Introduceți numărul de zile de la 1 la 100"
ModSpoti = "Se patchuiește Spotify..." ModSpoti = "Se patchuiește Spotify..."
Error = "Eroare" Error = "Eroare"
FileLocBroken = "Locația fișierelor Spotify este stricată, dezinstalați clientul și rulați din nou scriptul" FileLocBroken = "Locația fișierelor Spotify este stricată, dezinstalați clientul și rulați din nou scriptul"
@@ -52,4 +42,5 @@
HostBak = "Se efectuează o copie de siguranță a fișierului hosts.bak..." HostBak = "Se efectuează o copie de siguranță a fișierului hosts.bak..."
HostDel = "Se încearcă eliminarea URL-urilor nedorite din fișierul original hosts..." HostDel = "Se încearcă eliminarea URL-urilor nedorite din fișierul original hosts..."
HostError = "Ceva nu a mers bine in timpul editării fișierului hosts, editează-l manual sau rulează scriptul ca Administrator." HostError = "Ceva nu a mers bine in timpul editării fișierului hosts, editează-l manual sau rulează scriptul ca Administrator."
PressAnyKey = "Apăsați orice tastă pentru a ieși..."
} }
+11 -14
View File
@@ -12,30 +12,26 @@
Download5 = "Загрузка Spotify" Download5 = "Загрузка Spotify"
StopScript = "Cкрипт остановлен" StopScript = "Cкрипт остановлен"
MsSpoti = "Обнаружена версия Spotify из Microsoft Store, которая не поддерживается" MsSpoti = "Обнаружена версия Spotify из Microsoft Store, которая не поддерживается"
MsSpoti2 = "Хотите удалить Spotify Microsoft Store ? [Y/N]" MsSpoti2 = "Удалить Spotify Microsoft Store ? [Y/N]"
MsSpoti3 = "Автоматическое удаление Spotify MS..." MsSpoti3 = "Автоматическое удаление Spotify MS..."
MsSpoti4 = "Удаление Spotify MS..." MsSpoti4 = "Удаление Spotify MS..."
Prem = "Модификация для премиум аккаунта..." Prem = "Модификация для премиум аккаунта..."
OldV = "Найдена устаревшая версия Spotify" OldV2 = "Ваша версия Spotify ({0}) устарела. Текущая актуальная версия — {1}"
OldV2 = "Ваша версия Spotify {0} устарела, рекомендуется обновиться до {1}"
OldV3 = "Обновить ? [Y/N]" OldV3 = "Обновить ? [Y/N]"
AutoUpd = "Автоматическое обновление до рекомендуемой версии" DelOrOver = "Удалить текущую версию ({0}) или установить поверх? Y [Удалить] / N [Поверх]"
DelOrOver = "Вы хотите удалить текущую версию {0} или установить поверх нее? Y [Удалить] / N [Поверх]" DelSpotify = "Удаление Spotify..."
DelOld = "Удаление устаревшего Spotify..." NewV2 = "Ваша версия Spotify ({0}) не тестировалась. Стабильная версия для SpotX — {1}"
NewV = "Найдена неподдерживаемая версия Spotify" NewV3 = "Продолжить с {0} (возможны ошибки) ? [Y/N]"
NewV2 = "Ваша версия Spotify {0} еще не тестировалась, стабильная версия сейчас {1}" Recom = "Установить последнюю версию {0} ? [Y/N]"
NewV3 = "Хотите продолжить с {0} (возможны ошибки) ? [Y/N]"
Recom = "Хотите установить рекомендуемую {0} версию ? [Y/N]"
DelNew = "Удаление неподдерживаемого Spotify..."
DownSpoti = "Загружаю и устанавливаю Spotify" DownSpoti = "Загружаю и устанавливаю Spotify"
DownSpoti2 = "Пожалуйста подождите..." DownSpoti2 = "Пожалуйста подождите..."
PodcatsOff = "Подкасты отключены" PodcatsOff = "Подкасты отключены"
PodcastsOn = "Подкасты не отключены" PodcastsOn = "Подкасты не отключены"
PodcatsSelect = "Хотите скрыть подкасты, шоу и аудиокниги на главной странице ? [Y/N]" PodcatsSelect = "Скрыть подкасты, шоу и аудиокниги на главной странице ? [Y/N]"
DowngradeNote = "Рекомендуется заблокировать т.к. было понижение версии Spotify" DowngradeNote = "Рекомендуется заблокировать т.к. уже существует более новая версия Spotify"
UpdBlock = "Обновления Spotify заблокированы" UpdBlock = "Обновления Spotify заблокированы"
UpdUnblock = "Обновления Spotify не заблокированы" UpdUnblock = "Обновления Spotify не заблокированы"
UpdSelect = "Хотите заблокировать обновления Spotify ? [Y/N]" UpdSelect = "Заблокировать обновления Spotify ? [Y/N]"
ModSpoti = "Модифицирую Spotify..." ModSpoti = "Модифицирую Spotify..."
Error = "Ошибка" Error = "Ошибка"
FileLocBroken = "Расположение файлов Spotify нарушено, удалите клиент Spotify и снова запустите скрипт" FileLocBroken = "Расположение файлов Spotify нарушено, удалите клиент Spotify и снова запустите скрипт"
@@ -46,4 +42,5 @@
HostBak = "Создаю резервную копию hosts.bak..." HostBak = "Создаю резервную копию hosts.bak..."
HostDel = "Попытка удалить нежелательные Url-адреса из оригинального файла hosts..." HostDel = "Попытка удалить нежелательные Url-адреса из оригинального файла hosts..."
HostError = "Что-то пошло не так при редактировании файла hosts, отредактируйте его вручную или запустите скрипт от администратора" HostError = "Что-то пошло не так при редактировании файла hosts, отредактируйте его вручную или запустите скрипт от администратора"
PressAnyKey = "Нажмите любую клавишу для выхода..."
} }
+2 -6
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Automaticky odinštalovávam Spotify z Microsoft Store..." MsSpoti3 = "Automaticky odinštalovávam Spotify z Microsoft Store..."
MsSpoti4 = "Odinštalovávam Spotify z Microsoft Store..." MsSpoti4 = "Odinštalovávam Spotify z Microsoft Store..."
Prem = "Úprava kvôli prémiovému účtu..." Prem = "Úprava kvôli prémiovému účtu..."
OldV = "Nájdená stará verzia Spotify"
OldV2 = "Tvoja Spotify {0} verzia je stará, je odporúčané aktualizovať na verziu {1}" OldV2 = "Tvoja Spotify {0} verzia je stará, je odporúčané aktualizovať na verziu {1}"
OldV3 = "Chcete aktualizovať ? [Y/N]" OldV3 = "Chcete aktualizovať ? [Y/N]"
AutoUpd = "Automatická aktualizácia na odporúčanú verziu"
DelOrOver = "Chcete odinštalovať terajšiu verziu {0} alebo inštalovať novšiu na terajšiu(ostanú niektoré súbory)? Y [Odinštaluj] / N [Inštaluj novšiu na terajšiu]" DelOrOver = "Chcete odinštalovať terajšiu verziu {0} alebo inštalovať novšiu na terajšiu(ostanú niektoré súbory)? Y [Odinštaluj] / N [Inštaluj novšiu na terajšiu]"
DelOld = "Odinštalovávam staré Spotify..." DelSpotify = "Odinštalovávam Spotify..."
NewV = "Nepodporovaná verzia Spotify bola nájdená"
NewV2 = "Tvoja Spotify {0} verzia zatiaľ nebola testovaná, teraz je stabilná {1} verzia" NewV2 = "Tvoja Spotify {0} verzia zatiaľ nebola testovaná, teraz je stabilná {1} verzia"
NewV3 = "Chcete pokračovať s {0} verziou (môžu nastať chyby) ? [Y/N]" NewV3 = "Chcete pokračovať s {0} verziou (môžu nastať chyby) ? [Y/N]"
Recom = "Chcete nainštalovať odporúčanú {0} verziu ? [Y/N]" Recom = "Chcete nainštalovať odporúčanú {0} verziu ? [Y/N]"
DelNew = "Odinštalovávam netestovanú verziu Spotify..."
DownSpoti = "Sťahujem a inštalujem Spotify" DownSpoti = "Sťahujem a inštalujem Spotify"
DownSpoti2 = "Prosím čakajte..." DownSpoti2 = "Prosím čakajte..."
PodcatsOff = "Vypni podcasty" PodcatsOff = "Vypni podcasty"
@@ -40,11 +36,11 @@
Error = "Chyba" Error = "Chyba"
FileLocBroken = "Umiestnenie Spotify súborov je chybné, odinštaluj Spotify klient a spusti skript znova" FileLocBroken = "Umiestnenie Spotify súborov je chybné, odinštaluj Spotify klient a spusti skript znova"
Spicetify = "Spicetify nájdené, musí byť inštalované po SpotX, otvoriť odporúčané akcie vo FAQ ? [Y/N]" Spicetify = "Spicetify nájdené, musí byť inštalované po SpotX, otvoriť odporúčané akcie vo FAQ ? [Y/N]"
ExpSpotify = "Experimentálne funkcie sú prevádzkované Spotify"
NoRestore = "SpotX už bol nainštalovaný, xpui.bak sa nenašlo. `nProsím odinštaluj Spotify klient a spusti Install.bat znova" NoRestore = "SpotX už bol nainštalovaný, xpui.bak sa nenašlo. `nProsím odinštaluj Spotify klient a spusti Install.bat znova"
InstallComplete = "Inštalácia dokončená" InstallComplete = "Inštalácia dokončená"
HostInfo = "Nechcené URLs nájdené v súbore hosts" HostInfo = "Nechcené URLs nájdené v súbore hosts"
HostBak = "Zálohujem súbor hosts.bak..." HostBak = "Zálohujem súbor hosts.bak..."
HostDel = "Pokúšam sa odobrať nechcené URLs z originálneho hosts súboru..." HostDel = "Pokúšam sa odobrať nechcené URLs z originálneho hosts súboru..."
HostError = "Niečo sa nepodarilo s upravovaním súboru hosts, uprav ho manuálne alebo spusti skript ako administrátor" HostError = "Niečo sa nepodarilo s upravovaním súboru hosts, uprav ho manuálne alebo spusti skript ako administrátor"
PressAnyKey = "Stlačte ľubovoľnú klávesu pre ukončenie..."
} }
+46
View File
@@ -0,0 +1,46 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "Ups, netačna vrednost,"
Incorrect2 = "unesite ponovo za "
Download = "Greška preuzimanja"
Download2 = "Ponovan zahtev za 5 sekundi..."
Download3 = "Ponovo greška"
Download4 = "Proverite svoje postavke mreže i pokrenite instalaciju još jednom"
Download5 = "Preuzimanje Spotify-ja"
StopScript = "Skripta zaustavljena"
MsSpoti = "Detektovana je verzija Spotify-ja iz Microsoft Store-a, što nije podržano"
MsSpoti2 = "Deinstalirati verziju Spotify-ja iz Microsoft Store-a? [Y/N]"
MsSpoti3 = "Automatska deinstalacija Spotify MS..."
MsSpoti4 = "Deinstalacija Spotify MS..."
Prem = "Modifikacija za premijum nalog..."
OldV2 = "Vaša verzija Spotify-ja {0} je zastarela, trenutno najnovija verzija je {1}"
OldV3 = "Želite li da ažurirate? [Y/N]"
DelOrOver = "Želite li da deinstalirate trenutnu verziju {0} ili da instalirate preko nje? Y [Deinstaliraj] / N [Preko]"
DelSpotify = "Deinstalacija Spotify-ja..."
NewV2 = "Vaša verzija Spotify-ja {0} još nije testirana, trenutna stabilna verzija je {1}"
NewV3 = "Želite li da nastavite sa verzijom {0} (moguće su greške)? [Y/N]"
Recom = "Želite li da instalirate poslednju verziju {0}? [Y/N]"
DownSpoti = "Preuzimanje i instalacija Spotify-ja"
DownSpoti2 = "Molimo sačekajte..."
PodcatsOff = "Isključi podkaste"
PodcastsOn = "Uključi podkaste"
PodcatsSelect = "Želite li da onemogućite podkaste, epizode i audioknjige na početnoj strani? [Y/N]"
DowngradeNote = "Preporučuje se da blokirate pošto je Spotify bio daungrejdovan"
UpdBlock = "Ažuriranja Spotify-ja blokirana"
UpdUnblock = "Ažuriranja Spotify-ja nisu blokirana"
UpdSelect = "Želite li da blokirate ažuriranja Spotify-ja? [Y/N]"
ModSpoti = "Krpljenje Spotify-ja..."
Error = "Greška"
FileLocBroken = "Lokacija fajlova Spotify-ja je narušena, deinstalirajte klijent, pa pokrenite skriptu ponovo"
Spicetify = "Detektovan je Spicetify koji mora biti instaliran nakon SpotX-a, otvori preporučene akcije u FAQ-u? [Y/N]"
NoRestore = "SpotX je već bio instaliran, xpui.bak nije pronađen. `nMolimo deinstalirajte Spotify klijent i pokrenite Install.bat ponovo"
InstallComplete = "instalacija završena"
HostInfo = "Neželjeni URL-ovi pronađeni u hosts fajlu"
HostBak = "Pravljenje rezervne kopije hosts.bak..."
HostDel = "Pokušavamo da uklonimo neželjene URL-ove iz originalnog hosts fajla..."
HostError = "Nešto je pošlo naopako tokom uređivanja hosts fajla, uredite ga ručno ili pokrenite skriptu kao administrator"
PressAnyKey = "Pritisnite bilo koji taster da izađete..."
}
+11 -20
View File
@@ -10,24 +10,19 @@
Download3 = "Поново грешка" Download3 = "Поново грешка"
Download4 = "Проверите своје поставке мреже и покрените инсталацију још једном" Download4 = "Проверите своје поставке мреже и покрените инсталацију још једном"
Download5 = "Преузимање Spotify-ја" Download5 = "Преузимање Spotify-ја"
Download6 = "Curl грешка"
StopScript = "Скрипта заустављена" StopScript = "Скрипта заустављена"
MsSpoti = "Детектована је верзија Spotify-ја из Microsoft Store-а, што није подржано" MsSpoti = "Детектована је верзија Spotify-ја из Microsoft Store-а, што није подржано"
MsSpoti2 = "Деинсталирати верзију Spotify-ја из Microsoft Store-а? [Y/N]" MsSpoti2 = "Деинсталирати верзију Spotify-ја из Microsoft Store-а? [Y/N]"
MsSpoti3 = "Аутоматска деинсталација Spotify MS..." MsSpoti3 = "Аутоматска деинсталација Spotify MS..."
MsSpoti4 = "Деинсталација Spotify MS..." MsSpoti4 = "Деинсталација Spotify MS..."
Prem = "Модификација за премијум налог..." Prem = "Модификација за премијум налог..."
OldV = "Нађена је застарела верзија Spotify-ја" OldV2 = "Ваша верзија Spotify-ја {0} је застарела, тренутно најновија верзија је {1}"
OldV2 = "Ваша верзија Spotify-ја {0} је застарела, препоручује се да је ажурирате на {1}"
OldV3 = "Желите ли да ажурирате? [Y/N]" OldV3 = "Желите ли да ажурирате? [Y/N]"
AutoUpd = "Аутоматско ажурирање на препоручену верзију"
DelOrOver = "Желите ли да деинсталирате тренутну верзију {0} или да инсталирате преко ње? Y [Деинсталирај] / N [Преко]" DelOrOver = "Желите ли да деинсталирате тренутну верзију {0} или да инсталирате преко ње? Y [Деинсталирај] / N [Преко]"
DelOld = "Деинсталација старог Spotify-ја..." DelSpotify = "Деинсталација Spotify-ја..."
NewV = "Нађена је неподржана верзија Spotify-ја" NewV2 = "Ваша верзија Spotify-ја {0} још није тестирана, тренутна стабилна верзија је {1}"
NewV2 = "Ваша верзија Spotify-ја {0} није још била тестирана, тренутна стабилна верзија је {1}"
NewV3 = "Желите ли да наставите са верзијом {0} (могуће су грешке)? [Y/N]" NewV3 = "Желите ли да наставите са верзијом {0} (могуће су грешке)? [Y/N]"
Recom = "Желите ли да инсталирате препоручену верзију {0}? [Y/N]" Recom = "Желите ли да инсталирате последњу верзију {0}? [Y/N]"
DelNew = "Деинсталација нетестираног Spotify-ја..."
DownSpoti = "Преузимање и инсталација Spotify-ја" DownSpoti = "Преузимање и инсталација Spotify-ја"
DownSpoti2 = "Молимо сачекајте..." DownSpoti2 = "Молимо сачекајте..."
PodcatsOff = "Искључи подкасте" PodcatsOff = "Искључи подкасте"
@@ -37,19 +32,15 @@
UpdBlock = "Ажурирања Spotify-ја блокирана" UpdBlock = "Ажурирања Spotify-ја блокирана"
UpdUnblock = "Ажурирања Spotify-ја нису блокирана" UpdUnblock = "Ажурирања Spotify-ја нису блокирана"
UpdSelect = "Желите ли да блокирате ажурирања Spotify-ја? [Y/N]" UpdSelect = "Желите ли да блокирате ажурирања Spotify-ја? [Y/N]"
CacheOn = "Чишћење кеша омогућено ({0})"
CacheOff = "Чишћење кеша није омогућено"
CacheSelect = "Желите ли да подесите аутоматско чишћење кеша? [Y/N]"
CacheDays = "Кеш старији од XX дана ће се брисати"
CacheDays2 = "Унесите број дана од 1 до 100"
ModSpoti = "Крпљење Spotify-ја..." ModSpoti = "Крпљење Spotify-ја..."
Error = "Грешка" Error = "Грешка"
FileLocBroken = "Локација фајлова Spotify-ја је нарушена, деинсталирајте клијент, па покрените скрипту поново" FileLocBroken = "Локација фајлова Spotify-ја је нарушена, деинсталирајте клијент, па покрените скрипту поново"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]" Spicetify = "Детектован је Spicetify који мора бити инсталиран након SpotX-а, отвори препоручене акције у FAQ-у? [Y/N]"
NoRestore = "SpotX је већ био инсталиран, xpui.bak није нађен. `nМолимо деинсталирајте Spotify клијент и покрените Install.bat поново" NoRestore = "SpotX је већ био инсталиран, xpui.bak није пронађен. `nМолимо деинсталирајте Spotify клијент и покрените Install.bat поново"
InstallComplete = "Инсталација завршена" InstallComplete = "инсталација завршена"
HostInfo = "Нежељени URL-ови нађени у фајлу hosts" HostInfo = "Нежељени URL-ови пронађени у hosts фајлу"
HostBak = "Прављење резервне копије hosts.bak..." HostBak = "Прављење резервне копије hosts.bak..."
HostDel = "Покушавамо да уклонимо нежељене URL-ове из оригиналног фајла hosts..." HostDel = "Покушавамо да уклонимо нежељене URL-ове из оригиналног hosts фајла..."
HostError = "Нешто је пошло наопако током уређивања фајла hosts, уредите га ручно или покрените скрипту као администратор" HostError = "Нешто је пошло наопако током уређивања hosts фајла, уредите га ручно или покрените скрипту као администратор"
PressAnyKey = "Притисните било који тастер да изађете..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "Avinstallerar Spotify MS automatiskt..." MsSpoti3 = "Avinstallerar Spotify MS automatiskt..."
MsSpoti4 = "Avinstallerar Spotify MS..." MsSpoti4 = "Avinstallerar Spotify MS..."
Prem = "Modifiering för premiumkonto..." Prem = "Modifiering för premiumkonto..."
OldV = "Hittade en föråldrad version av Spotify"
OldV2 = "Din Spotify {0} version är föråldrad, det rekommenderas att uppgradera till {1}" OldV2 = "Din Spotify {0} version är föråldrad, det rekommenderas att uppgradera till {1}"
OldV3 = "Vill du uppdatera? [Y/N]" OldV3 = "Vill du uppdatera? [Y/N]"
AutoUpd = "Automatisk uppdatering till den rekommenderade versionen"
DelOrOver = "Vill du avinstallera den aktuella versionen av {0} eller installera över den? Y [Avinstallera] / N [Installera över]" DelOrOver = "Vill du avinstallera den aktuella versionen av {0} eller installera över den? Y [Avinstallera] / N [Installera över]"
DelOld = "Avinstallerar gamla Spotify..." DelSpotify = "Avinstallerar Spotify..."
NewV = "En version av Spotify som inte stöds hittades"
NewV2 = "Din Spotify {0} version har inte testats ännu, för närvarande är den en stabil {1} version" NewV2 = "Din Spotify {0} version har inte testats ännu, för närvarande är den en stabil {1} version"
NewV3 = "Vill du fortsätta med {0} version (fel möjliga)? [Y/N]" NewV3 = "Vill du fortsätta med {0} version (fel möjliga)? [Y/N]"
Recom = "Vill du installera den rekommenderade versionen av {0}? [Y/N]" Recom = "Vill du installera den rekommenderade versionen av {0}? [Y/N]"
DelNew = "Avinstallerar en oprövad Spotify..."
DownSpoti = "Ladda ner och installerar Spotify" DownSpoti = "Ladda ner och installerar Spotify"
DownSpoti2 = "Vänta..." DownSpoti2 = "Vänta..."
PodcatsOff = "Podcasts av" PodcatsOff = "Podcasts av"
@@ -46,4 +42,5 @@
HostBak = "Backar upp hosts.bak..." HostBak = "Backar upp hosts.bak..."
HostDel = "Försöker ta bort oönskade webbadresser från den ursprungliga hosts filen..." HostDel = "Försöker ta bort oönskade webbadresser från den ursprungliga hosts filen..."
HostError = "Något gick fel vid redigering av hosts filen, redigera den manuellt eller kör skriptet som administratör" HostError = "Något gick fel vid redigering av hosts filen, redigera den manuellt eller kör skriptet som administratör"
PressAnyKey = "Tryck på valfri tangent för att avsluta..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "MS Spotifyயை தானாக நிறுவல் நீக்குகிறது..." MsSpoti3 = "MS Spotifyயை தானாக நிறுவல் நீக்குகிறது..."
MsSpoti4 = "MS Spotifyயை நிறுவல் நீக்குகிறது..." MsSpoti4 = "MS Spotifyயை நிறுவல் நீக்குகிறது..."
Prem = "Premium கணக்கிற்கான மாற்றம்..." Prem = "Premium கணக்கிற்கான மாற்றம்..."
OldV = "Spotifyயின் காலாவதியான பதிப்பு கண்டறியப்பட்டது"
OldV2 = "உங்கள் Spotify {0} பதிப்பு காலாவதியானது, {1}க்கு மேம்படுத்த பரிந்துரைக்கப்படுகிறது" OldV2 = "உங்கள் Spotify {0} பதிப்பு காலாவதியானது, {1}க்கு மேம்படுத்த பரிந்துரைக்கப்படுகிறது"
OldV3 = "புதுப்பிக்க வேண்டுமா? [Y/N]" OldV3 = "புதுப்பிக்க வேண்டுமா? [Y/N]"
AutoUpd = "பரிந்துரைக்கப்பட்ட பதிப்பிற்கான தானியங்கி புதுப்பிப்பு"
DelOrOver = "{0}யின் தற்போதைய பதிப்பை நிறுவல்நீக்கம் செய்ய விரும்புகிறீர்களா அல்லது நீங்கள் அதன் மீதே நிறுவ விரும்புகிறீர்கள்? Y [Uninstall] / N [Install Over]" DelOrOver = "{0}யின் தற்போதைய பதிப்பை நிறுவல்நீக்கம் செய்ய விரும்புகிறீர்களா அல்லது நீங்கள் அதன் மீதே நிறுவ விரும்புகிறீர்கள்? Y [Uninstall] / N [Install Over]"
DelOld = "பழைய Spotifyயை நிறுவல் நீக்குகிறது..." DelSpotify = "Spotifyயை நிறுவல் நீக்குகிறது..."
NewV = "Spotifyயின் ஆதரிக்கப்படாத பதிப்பு கண்டறியப்பட்டது"
NewV2 = "உங்கள் Spotify {0} பதிப்பு இன்னும் சோதிக்கப்படவில்லை, தற்போது {1} பதிப்பு நிலையானது" NewV2 = "உங்கள் Spotify {0} பதிப்பு இன்னும் சோதிக்கப்படவில்லை, தற்போது {1} பதிப்பு நிலையானது"
NewV3 = "{0} பதிப்பைத் தொடர விரும்புகிறீர்களா (பிழைகள் சாத்தியம்) ? [Y/N]" NewV3 = "{0} பதிப்பைத் தொடர விரும்புகிறீர்களா (பிழைகள் சாத்தியம்) ? [Y/N]"
Recom = "பரிந்துரைக்கப்பட்ட {0} பதிப்பை நிறுவ விரும்புகிறீர்களா ? [Y/N]" Recom = "பரிந்துரைக்கப்பட்ட {0} பதிப்பை நிறுவ விரும்புகிறீர்களா ? [Y/N]"
DelNew = "சோதிக்கப்படாத Spotifyயை நிறுவல் நீக்குகிறது..."
DownSpoti = "Spotifyயைப் பதிவிறக்கி நிறுவுகிறது" DownSpoti = "Spotifyயைப் பதிவிறக்கி நிறுவுகிறது"
DownSpoti2 = "தயவுசெய்து காத்திருங்கள்..." DownSpoti2 = "தயவுசெய்து காத்திருங்கள்..."
PodcatsOff = "Off Podcasts" PodcatsOff = "Off Podcasts"
@@ -46,4 +42,5 @@
HostBak = "hosts.bak காப்புப்பிரதி..." HostBak = "hosts.bak காப்புப்பிரதி..."
HostDel = "Original host filesலிருந்து தேவையற்ற URL களை அகற்ற முயற்சிக்கிறது ..." HostDel = "Original host filesலிருந்து தேவையற்ற URL களை அகற்ற முயற்சிக்கிறது ..."
HostError = "Hosts Filesயைத் திருத்தும் போது ஏதோ தவறு ஏற்பட்டது, அதை manualலாக திருத்தவும் அல்லது Scriptயை administratorராக இயக்கவும்" HostError = "Hosts Filesயைத் திருத்தும் போது ஏதோ தவறு ஏற்பட்டது, அதை manualலாக திருத்தவும் அல்லது Scriptயை administratorராக இயக்கவும்"
PressAnyKey = "Press any key to exit..."
} }
+2 -11
View File
@@ -10,24 +10,19 @@
Download3 = "Yine hata oluştu" Download3 = "Yine hata oluştu"
Download4 = "Ağ ayarlarınızı kontrol edin ve kurulumu tekrar çalıştırın" Download4 = "Ağ ayarlarınızı kontrol edin ve kurulumu tekrar çalıştırın"
Download5 = "Spotify indiriliyor" Download5 = "Spotify indiriliyor"
Download6 = "Curl hatası"
StopScript = "Komut dosyası durduruldu" StopScript = "Komut dosyası durduruldu"
MsSpoti = "Spotify'ın desteklenmeyen Microsoft Store sürümü tespit edildi" MsSpoti = "Spotify'ın desteklenmeyen Microsoft Store sürümü tespit edildi"
MsSpoti2 = "Spotify'ın Microsoft Store sürümünü kaldır [Y/N]" MsSpoti2 = "Spotify'ın Microsoft Store sürümünü kaldır [Y/N]"
MsSpoti3 = "Spotify MS otomatik olarak kaldırlıyor..." MsSpoti3 = "Spotify MS otomatik olarak kaldırlıyor..."
MsSpoti4 = "Spotify MS kaldırılıyor..." MsSpoti4 = "Spotify MS kaldırılıyor..."
Prem = "Premium hesap için modifikasyon ..." Prem = "Premium hesap için modifikasyon ..."
OldV = "Spotify'ın eski bir sürümü bulundu"
OldV2 = "Spotify'ın {0} sürümü güncel değil, {1} sürümüne yükseltmeniz önerilir" OldV2 = "Spotify'ın {0} sürümü güncel değil, {1} sürümüne yükseltmeniz önerilir"
OldV3 = "Güncelleme yapılsın mı? [Y/N]" OldV3 = "Güncelleme yapılsın mı? [Y/N]"
AutoUpd = "Önerilen sürüme otomatik olarak güncelle"
DelOrOver = "Mevcut {0} sürümünü kaldırmak mı yoksa üzerine yüklemek mi istiyorsunuz? Y [Kaldır] / N [Üzerine Yükle]" DelOrOver = "Mevcut {0} sürümünü kaldırmak mı yoksa üzerine yüklemek mi istiyorsunuz? Y [Kaldır] / N [Üzerine Yükle]"
DelOld = "Eski Spotify kaldırılıyor..." DelSpotify = "Spotify kaldırılıyor..."
NewV = "Desteklenmeyen Spotify sürümü bulundu"
NewV2 = "Spotify {0} sürümü henüz test edilmedi, şu anda kararlı olan {1} sürümüdür" NewV2 = "Spotify {0} sürümü henüz test edilmedi, şu anda kararlı olan {1} sürümüdür"
NewV3 = "{0} sürümü ile devam etmek istiyor musunuz (hatalar olabilir) ? [Y/N]" NewV3 = "{0} sürümü ile devam etmek istiyor musunuz (hatalar olabilir) ? [Y/N]"
Recom = "Önerilen {0} sürümünü yüklemek istiyor musunuz? [Y/N]" Recom = "Önerilen {0} sürümünü yüklemek istiyor musunuz? [Y/N]"
DelNew = "Test edilmemiş Spotify kaldırılıyor..."
DownSpoti = "Spotify indiriliyor ve kuruluyor" DownSpoti = "Spotify indiriliyor ve kuruluyor"
DownSpoti2 = "Lütfen bekleyin..." DownSpoti2 = "Lütfen bekleyin..."
PodcatsOff = "Podcastler Kapalı" PodcatsOff = "Podcastler Kapalı"
@@ -37,11 +32,6 @@
UpdBlock = "Spotify güncellemeleri engellendi" UpdBlock = "Spotify güncellemeleri engellendi"
UpdUnblock = "Spotify güncellemeleri engellenmedi" UpdUnblock = "Spotify güncellemeleri engellenmedi"
UpdSelect = "Spotify güncellemelerini engellemek ister misiniz? [Y/N]" UpdSelect = "Spotify güncellemelerini engellemek ister misiniz? [Y/N]"
CacheOn = "Önbelleği temizleme etkin ({0})"
CacheOff = "Önbelleğin temizlenmesi etkin değil"
CacheSelect = "Otomatik önbellek temizlemeyi ayarlamak ister misiniz? [Y/N]"
CacheDays = "Daha eski olan önbellek: XX gün içinde temizlenecek "
CacheDays2 = "Gün sayısını 1 ile 100 arasında girin"
ModSpoti = "Spotify'a yama yapılıyor..." ModSpoti = "Spotify'a yama yapılıyor..."
Error = "Hata" Error = "Hata"
FileLocBroken = "Spotify dosyalarının konumu bozuk, istemciyi kaldırın ve kodu tekrar çalıştırın" FileLocBroken = "Spotify dosyalarının konumu bozuk, istemciyi kaldırın ve kodu tekrar çalıştırın"
@@ -52,4 +42,5 @@
HostBak = "hosts.bak dosyası yedekleniyor...." HostBak = "hosts.bak dosyası yedekleniyor...."
HostDel = "Orijinal hosts dosyasından istenmeyen URL'ler kaldırılmaya çalışılıyor..." HostDel = "Orijinal hosts dosyasından istenmeyen URL'ler kaldırılmaya çalışılıyor..."
HostError = "Hosts dosyasını düzenlerken bir şeyler ters gitti, elle düzenleyin veya kodu yönetici olarak çalıştırın" HostError = "Hosts dosyasını düzenlerken bir şeyler ters gitti, elle düzenleyin veya kodu yönetici olarak çalıştırın"
PressAnyKey = "Çıkmak için herhangi bir tuşa basın..."
} }
@@ -10,24 +10,19 @@
Download3 = "Помилка знову" Download3 = "Помилка знову"
Download4 = "Перевірте налаштування вашого з'єднання та запустіть інсталятор знову" Download4 = "Перевірте налаштування вашого з'єднання та запустіть інсталятор знову"
Download5 = "Завантаження Spotify" Download5 = "Завантаження Spotify"
Download6 = "Помилка Curl"
StopScript = "Скрипт зупинено" StopScript = "Скрипт зупинено"
MsSpoti = "Знайдено версію Spotify з Microsoft Store, яка не підтримується" MsSpoti = "Знайдено версію Spotify з Microsoft Store, яка не підтримується"
MsSpoti2 = "Видалити версію Spotify з Microsoft Store [Y/N]" MsSpoti2 = "Видалити версію Spotify з Microsoft Store [Y/N]"
MsSpoti3 = "Автоматичне видалення Spotify MS..." MsSpoti3 = "Автоматичне видалення Spotify MS..."
MsSpoti4 = "Видалення Spotify MS..." MsSpoti4 = "Видалення Spotify MS..."
Prem = "Модифікація для преміумкористувачів..." Prem = "Модифікація для преміумкористувачів..."
OldV = "Знайдена застаріла версія Spotify"
OldV2 = "Ваша версія Spotify {0} застаріла, її рекомендовано оновити до {1}" OldV2 = "Ваша версія Spotify {0} застаріла, її рекомендовано оновити до {1}"
OldV3 = "Хочете оновитися ? [Y/N]" OldV3 = "Хочете оновитися ? [Y/N]"
AutoUpd = "Автоматичне оновлення на рекомендовану версію"
DelOrOver = "Хочете видалити наявну версію {0} або встановити нову поряд? Y [Видалити] / N [Встановити поряд]" DelOrOver = "Хочете видалити наявну версію {0} або встановити нову поряд? Y [Видалити] / N [Встановити поряд]"
DelOld = "Видалення старої версії Spotify..." DelSpotify = "Видалення Spotify..."
NewV = "Непідтримувана версія Spotify знайдена"
NewV2 = "Ваша версія Spotify {0} ще не була протестована, стабільна версія наразі {1}" NewV2 = "Ваша версія Spotify {0} ще не була протестована, стабільна версія наразі {1}"
NewV3 = "Чи хочете продовжити на версії {0} (можливі помилки) ? [Y/N]" NewV3 = "Чи хочете продовжити на версії {0} (можливі помилки) ? [Y/N]"
Recom = "Чи хочете встановити рекомендовану версію {0} ? [Y/N]" Recom = "Чи хочете встановити рекомендовану версію {0} ? [Y/N]"
DelNew = "Видалення непротестованої версії Spotify..."
DownSpoti = "Завантаження та встановлення Spotify" DownSpoti = "Завантаження та встановлення Spotify"
DownSpoti2 = "Зачекайте, будь-ласка..." DownSpoti2 = "Зачекайте, будь-ласка..."
PodcatsOff = "Вимкнути подкасти" PodcatsOff = "Вимкнути подкасти"
@@ -37,11 +32,6 @@
UpdBlock = "Оновлення Spotify заблоковано" UpdBlock = "Оновлення Spotify заблоковано"
UpdUnblock = "Оновлення Spotify наразі не заблоковані" UpdUnblock = "Оновлення Spotify наразі не заблоковані"
UpdSelect = "Хочете заблокувати оновлення Spotify ? [Y/N]" UpdSelect = "Хочете заблокувати оновлення Spotify ? [Y/N]"
CacheOn = "Увімкнено блокування кешу ({0})"
CacheOff = "Блокування кешу вимкнено"
CacheSelect = "Хочете налаштувати автоматичне чищення кешу? [Y/N]"
CacheDays = "Кеш старіше XX днів буде видалений "
CacheDays2 = "Введіть кількість днів від 1 до 100"
ModSpoti = "Встановлення патчів на Spotify..." ModSpoti = "Встановлення патчів на Spotify..."
Error = "Помилка" Error = "Помилка"
FileLocBroken = "Помилки у шляху до файлів Spotify, видаліть клієнт та запустіть скрипт ще раз." FileLocBroken = "Помилки у шляху до файлів Spotify, видаліть клієнт та запустіть скрипт ще раз."
@@ -52,4 +42,5 @@
HostBak = "Бекап hosts.bak..." HostBak = "Бекап hosts.bak..."
HostDel = "Спроба прибрати небажані посилання з оригінального файлу hosts..." HostDel = "Спроба прибрати небажані посилання з оригінального файлу hosts..."
HostError = "Щось пішло не так під час редагування файлу hosts, змініть його вручну, або спробуйте запустити скрипт від імені адміністратора" HostError = "Щось пішло не так під час редагування файлу hosts, змініть його вручну, або спробуйте запустити скрипт від імені адміністратора"
PressAnyKey = "Натисніть будь-яку клавішу, щоб вийти..."
} }
+3 -12
View File
@@ -10,24 +10,19 @@
Download3 = "Lại bị lỗi" Download3 = "Lại bị lỗi"
Download4 = "Hãy kiểm tra cài đặt mạng và chạy lại chương trình" Download4 = "Hãy kiểm tra cài đặt mạng và chạy lại chương trình"
Download5 = "Đang tải Spotify" Download5 = "Đang tải Spotify"
Download6 = "Lỗi curl"
StopScript = "Đã dừng bản vá" StopScript = "Đã dừng bản vá"
MsSpoti = "Phát hiện phiên bản Spotify của Microsoft Store, bản này không được hỗ trợ" MsSpoti = "Phát hiện phiên bản Spotify của Microsoft Store, bản này không được hỗ trợ"
MsSpoti2 = "Gỡ Spotify của Microsoft Store [Y/N]" MsSpoti2 = "Gỡ Spotify của Microsoft Store [Y/N]"
MsSpoti3 = "Đang tự động gỡ Spotify MS..." MsSpoti3 = "Đang tự động gỡ Spotify MS..."
MsSpoti4 = "Đang gỡ Spotify MS..." MsSpoti4 = "Đang gỡ Spotify MS..."
Prem = "Chỉnh sửa dành cho tài khoản premium..." Prem = "Chỉnh sửa dành cho tài khoản premium..."
OldV = "Phát hiện Spotify phiên bản cũ"
OldV2 = "Phiên bản Spotify {0} của bạn đã cũ, khuyến khích nâng cấp lên {1}" OldV2 = "Phiên bản Spotify {0} của bạn đã cũ, khuyến khích nâng cấp lên {1}"
OldV3 = "Bạn có muốn cập nhật không ? [Y/N]" OldV3 = "Bạn có muốn cập nhật không ? [Y/N]"
AutoUpd = "Tự động cập nhật lên phiên bản được đề xuất"
DelOrOver = "Bạn muốn gỡ phiên bản hiện tại {0} hay cài đè lên? Y [Gỡ] / N [Cài đè lên]" DelOrOver = "Bạn muốn gỡ phiên bản hiện tại {0} hay cài đè lên? Y [Gỡ] / N [Cài đè lên]"
DelOld = "Đang gỡ Spotify bản cũ..." DelSpotify = "Đang gỡ Spotify..."
NewV = "Phát hiện phiên bản không được hỗ trợ"
NewV2 = "Phiên bản Spotify {0} chưa được kiểm thử, hiện tại bản ổn định là {1}" NewV2 = "Phiên bản Spotify {0} chưa được kiểm thử, hiện tại bản ổn định là {1}"
NewV3 = "Bạn có muốn tiếp tục với phiên bản {0} (có thể bị lỗi) ? [Y/N]" NewV3 = "Bạn có muốn tiếp tục với phiên bản {0} (có thể bị lỗi) ? [Y/N]"
Recom = "Bạn có muốn cài đặt phiên bản được đề xuất: {0} ? [Y/N]" Recom = "Bạn có muốn cài đặt phiên bản được đề xuất: {0} ? [Y/N]"
DelNew = "Đang gỡ phiên bản Spotify chưa được kiểm thử..."
DownSpoti = "Đang tải và cài Spotify" DownSpoti = "Đang tải và cài Spotify"
DownSpoti2 = "Vui lòng chờ..." DownSpoti2 = "Vui lòng chờ..."
PodcatsOff = "Tắt Podcasts" PodcatsOff = "Tắt Podcasts"
@@ -37,19 +32,15 @@
UpdBlock = "Đã chặn cập nhật Spotify" UpdBlock = "Đã chặn cập nhật Spotify"
UpdUnblock = "Cập nhật Spotify không bị chặn" UpdUnblock = "Cập nhật Spotify không bị chặn"
UpdSelect = "Bạn có muốn ngăn Spotify tự động cập nhật? [Y/N]" UpdSelect = "Bạn có muốn ngăn Spotify tự động cập nhật? [Y/N]"
CacheOn = "Dọn bộ nhớ đệm đã được kích hoạt ({0})"
CacheOff = "Dọn bộ nhớ đệm chưa được kích hoạt"
CacheSelect = "Bạn có muốn đặt thời gian tự động dọn dẹp bộ nhớ đệm? [Y/N]"
CacheDays = "Bộ nhớ đệm nếu không được sử dụng trong một thời gian nhất định sẽ bị xóa"
CacheDays2 = "Nhập số ngày từ 1 đến 100"
ModSpoti = "Đang vá Spotify..." ModSpoti = "Đang vá Spotify..."
Error = "Lỗi" Error = "Lỗi"
FileLocBroken = "Vị trí các tệp của Spotify đã bị hỏng, gỡ Spotify và chạy lại bản vá" FileLocBroken = "Vị trí các tệp của Spotify đã bị hỏng, gỡ Spotify và chạy lại bản vá"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]" Spicetify = "Đã phát hiện Spicetify, nó cần phải được cài đặt sau SpotX, bạn có muốn mở những hành động khuyến khích trong mục FAQ ? [Y/N]"
NoRestore = "Đã cài SpotX nhưng không tìm thấy tập tin xpui.bak. `nGỡ Spotify và chạy lại Install.bat" NoRestore = "Đã cài SpotX nhưng không tìm thấy tập tin xpui.bak. `nGỡ Spotify và chạy lại Install.bat"
InstallComplete = "cài đặt hoàn tất" InstallComplete = "cài đặt hoàn tất"
HostInfo = "Tìm thấy các URL không cần thiết trong tệp hosts" HostInfo = "Tìm thấy các URL không cần thiết trong tệp hosts"
HostBak = "Đang sao lưu hosts.bak..." HostBak = "Đang sao lưu hosts.bak..."
HostDel = "Đang xóa các URL không cần thiết khỏi tệp hosts..." HostDel = "Đang xóa các URL không cần thiết khỏi tệp hosts..."
HostError = "Xảy ra lỗi khi đang chỉnh sửa tệp hosts. Hãy tự sửa hoặc chạy tệp này với tư cách quản trị viên" HostError = "Xảy ra lỗi khi đang chỉnh sửa tệp hosts. Hãy tự sửa hoặc chạy tệp này với tư cách quản trị viên"
PressAnyKey = "Nhấn phím bất kỳ để thoát..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "自動解除安裝 Spotify 的微軟商店版本..." MsSpoti3 = "自動解除安裝 Spotify 的微軟商店版本..."
MsSpoti4 = "正在解除安裝 Spotify 的微軟商店版本..." MsSpoti4 = "正在解除安裝 Spotify 的微軟商店版本..."
Prem = "針對 Premium 帳號的修改..." Prem = "針對 Premium 帳號的修改..."
OldV = "發現過時的 Spotify 版本"
OldV2 = "您的Spotify {0} 版本已過時,建議更新到 {1}" OldV2 = "您的Spotify {0} 版本已過時,建議更新到 {1}"
OldV3 = "需要更新嗎? [Y/N]" OldV3 = "需要更新嗎? [Y/N]"
AutoUpd = "自動更新到推薦版本"
DelOrOver = "是否要解除安裝目前版本 {0} 或者覆蓋安裝? Y [解除安裝] / N [覆蓋安裝]" DelOrOver = "是否要解除安裝目前版本 {0} 或者覆蓋安裝? Y [解除安裝] / N [覆蓋安裝]"
DelOld = "解除安裝舊版 Spotify..." DelSpotify = "正在解除安裝 Spotify..."
NewV = "偵測到不支援的 Spotify 版本"
NewV2 = "您的 Spotify {0} 版本還沒有經過測試,目前穩定的版本是 {1} " NewV2 = "您的 Spotify {0} 版本還沒有經過測試,目前穩定的版本是 {1} "
NewV3 = "您想要繼續使用 {0} 版本嗎 (可能會出現錯誤)? [Y/N]" NewV3 = "您想要繼續使用 {0} 版本嗎 (可能會出現錯誤)? [Y/N]"
Recom = "您想安裝推薦的 {0} 版本嗎? [Y/N]" Recom = "您想安裝推薦的 {0} 版本嗎? [Y/N]"
DelNew = "解除安裝未經測試的 Spotify 版本..."
DownSpoti = "下載並安裝 Spotify" DownSpoti = "下載並安裝 Spotify"
DownSpoti2 = "請稍候..." DownSpoti2 = "請稍候..."
PodcatsOff = "關閉 Podcasts" PodcatsOff = "關閉 Podcasts"
@@ -46,4 +42,5 @@
HostBak = "正在備份 hosts.bak..." HostBak = "正在備份 hosts.bak..."
HostDel = "正在嘗試從原始 hosts 檔案中刪除不需要的網址..." HostDel = "正在嘗試從原始 hosts 檔案中刪除不需要的網址..."
HostError = "在編輯 hosts 檔案時發生了錯誤,請手動編輯或以系統管理員身分執行腳本" HostError = "在編輯 hosts 檔案時發生了錯誤,請手動編輯或以系統管理員身分執行腳本"
PressAnyKey = "按任意鍵退出..."
} }
+2 -5
View File
@@ -16,17 +16,13 @@
MsSpoti3 = "自动卸载 Spotify 的微软商店版本..." MsSpoti3 = "自动卸载 Spotify 的微软商店版本..."
MsSpoti4 = "正在卸载 Spotify 的微软商店版本..." MsSpoti4 = "正在卸载 Spotify 的微软商店版本..."
Prem = "正在进行针对 Premium 账户的修改..." Prem = "正在进行针对 Premium 账户的修改..."
OldV = "发现已过时的 Spotify 版本"
OldV2 = "您的 Spotify {0} 版本已过时,建议更新到 {1}" OldV2 = "您的 Spotify {0} 版本已过时,建议更新到 {1}"
OldV3 = "是否需要更新? [Y/N]" OldV3 = "是否需要更新? [Y/N]"
AutoUpd = "自动更新到推荐版本"
DelOrOver = "是否要卸载当前版本 {0} 或者覆盖安装? Y [卸载] / N [覆盖安装]" DelOrOver = "是否要卸载当前版本 {0} 或者覆盖安装? Y [卸载] / N [覆盖安装]"
DelOld = "正在卸载旧的 Spotify..." DelSpotify = "正在卸载 Spotify..."
NewV = "检测到 Spotify 版本不受到支持"
NewV2 = "您的 Spotify {0} 版本没有经过测试,目前的推荐的版本是 {1}" NewV2 = "您的 Spotify {0} 版本没有经过测试,目前的推荐的版本是 {1}"
NewV3 = "您想要继续使用 {0} 版本吗 (可能会出现错误)? [Y/N]" NewV3 = "您想要继续使用 {0} 版本吗 (可能会出现错误)? [Y/N]"
Recom = "您想安装推荐的 {0} 版本吗 ? [Y/N]" Recom = "您想安装推荐的 {0} 版本吗 ? [Y/N]"
DelNew = "正在卸载未经测试的 Spotify 版本..."
DownSpoti = "下载并安装 Spotify" DownSpoti = "下载并安装 Spotify"
DownSpoti2 = "请稍等..." DownSpoti2 = "请稍等..."
PodcatsOff = "关闭播客" PodcatsOff = "关闭播客"
@@ -46,4 +42,5 @@
HostBak = "备份原始 hosts 文件为 hosts.bak..." HostBak = "备份原始 hosts 文件为 hosts.bak..."
HostDel = "正在试图从原始 hosts 文件中删除不需要的 URL..." HostDel = "正在试图从原始 hosts 文件中删除不需要的 URL..."
HostError = "在编辑 hosts 文件时发生了错误,请手动编辑或以管理员身份重新运行该脚本。" HostError = "在编辑 hosts 文件时发生了错误,请手动编辑或以管理员身份重新运行该脚本。"
PressAnyKey = "按任意键退出..."
} }