745 Commits

Author SHA1 Message Date
amd64fox
3bdfec03a8 Remove redacted host and user lines 2026-04-18 18:21:38 +03:00
amd64fox
2783cbe0c1 Move clipboard notice to end 2026-04-18 18:15:52 +03:00
amd64fox
f4279fb962 Add clipboard copy for diagnostics 2026-04-18 18:12:47 +03:00
amd64fox
ee5881572c Improve diagnostic output privacy 2026-04-18 18:05:50 +03:00
amd64fox
4f0706b010 Fix diagnostic launcher script path 2026-04-18 17:54:10 +03:00
amd64fox
4106903513 Add download diagnostics scripts 2026-04-18 17:50:05 +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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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ćev
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
amd64fox
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
amd64fox
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
Andy
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
amd64fox
2051de8ba7 Update auto-closes workflow to check actor login 2025-10-11 14:06:20 +03:00
amd64fox
3c3d5cde71 Update auto-close logic for privileged roles 2025-10-11 13:58:48 +03:00
Copilot
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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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
Goodfriendss
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 Leo
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
amd64fox
b1c94bf550 Added Belarusian translation
Co-Authored-By: CarManBelarus <24219338+carmanbelarus@users.noreply.github.com>
2025-03-19 00:05:03 +03:00
amd64fox
da6c118859 version bump to 1.2.59.518 2025-03-18 21:51:30 +03:00
amd64fox
75def8ac19 version bump to 1.2.59.517 2025-03-15 10:37:56 +03:00
amd64fox
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
amd64fox
5bd389dc7f version bump to 1.2.59.513 2025-03-11 18:42:21 +03:00
ldokduy20
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
amd64fox
bdb762b930 Update README.md
- replaced link to new table
- removed outdated info
2025-03-01 08:55:53 +03:00
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
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
amd64fox
3be2ea3a91 version bump to 1.2.53.440 2025-01-02 22:36:28 +03:00
amd64fox
6697419f06 version bump to 1.2.53.438
- fixed bug with dynamic colors in lyrics 1.2.47+
- some legacy exp and those related to ads and analytics have been disabled
-exp enabled 1.2.53+
 - enabled zoom settings from the settings
 - enabled plus button for creating different types of playlists from global nav bar
 - enabled user to set not interested on concerts
2024-12-20 23:40:11 +03:00
amd64fox
8ef388cb0a version bump to 1.2.52.442
- enabled ability to ban/hide tracks
- enabled the support for Nearby Jams feature in the device picker
- enabled liked songs section on artist page (old versions)
- disabled exp related to ads
2024-12-03 20:43:09 +03:00
amd64fox
554165e6d8 version typo 2024-11-20 09:44:55 +03:00
amd64fox
224e3c0bbd version bump to 1.2.51.345
- disable legacy exp for 1.2.51 +
- the 'Plus' parameter was disabled for versions 1.2.51 + because the heart feature was removed in these versions
2024-11-20 09:33:12 +03:00
amd64fox
da3c98ff1f version bump to 1.2.50.335 2024-11-13 00:50:09 +03:00
amd64fox
80f7109774 version bump to 1.2.50.334 2024-11-08 22:21:31 +03:00
amd64fox
84b075bff1 version bump to 1.2.50.333 2024-11-06 20:12:03 +03:00
amd64fox
9ef13f7d95 version bump to 1.2.49.439
- lazy loading section on the main page is enabled
2024-10-21 23:52:32 +03:00
amd64fox
2835c8a8ae version bump to 1.2.48.405 2024-10-08 17:53:18 +03:00
amd64fox
225fd96032 version bump to 1.2.48.404 2024-10-08 12:30:11 +03:00
amd64fox
0b77c48215 version bump to 1.2.47.366 2024-10-02 14:17:48 +03:00
amd64fox
4674f36496 version bump to 1.2.47.364
- fixed logic for determining new version
2024-09-24 04:54:40 +03:00
amd64fox
f9391ab7f3 optimized logic for DisableStartup parameter
#632
2024-09-19 03:03:27 +03:00
amd64fox
55d452eb0e disable Spotify autostart
- a new parameter -DisableStartup has been added, which disables the auto-start of Spotify on Windows boot #632
2024-09-19 01:40:10 +03:00
amd64fox
5908ad228b login fix for older versions
#630
2024-09-17 20:06:08 +03:00
amd64fox
b7dc969bfc fixed bug with search results
- fixed bug with search results for 1.2.45
2024-09-15 23:46:28 +03:00
amd64fox
92ef6cb117 typo
#629
2024-09-15 21:09:57 +03:00
amd64fox
6dca82a292 added --insecure flag
- added --insecure flag to prevent errors when downloading the client via curl #629
2024-09-15 20:55:56 +03:00
amd64fox
27f14857bc added/updated selectors 2024-09-15 07:51:17 +03:00
amd64fox
162e90aea5 fix lyrics static
- fixed gradient for fullscreen mode
- fixed selectors for musixmatch
- sorting items in arrays
2024-09-14 08:49:02 +03:00
amd64fox
8e69ee9f07 static lyrics refactoring 2024-09-13 22:48:14 +03:00
amd64fox
2f14e0dab6 added css for static lyrics 2024-09-13 18:08:24 +03:00
amd64fox
3ec3b7d87e fix lyrics-block patch - [2] 2024-09-08 22:36:55 +03:00
amd64fox
92f6802822 fix lyrics-block patch 2024-09-08 19:15:44 +03:00
amd64fox
ab9680c263 typo of name 2024-09-07 07:19:51 +03:00
amd64fox
c70d7b6cce version bump to 1.2.46.462
- fixed patch block_section
- some legacy exp disabled
2024-09-07 02:13:23 +03:00
amd64fox
25195c37d6 disable exp HomePin
- disable exp HomePin if podcasts were blocked on the main page
2024-09-03 17:28:47 +03:00
amd64fox
91654f616f block subfeeds
- block subfeed filter chips if there was a blocking of podcasts on the main page
2024-09-03 17:22:10 +03:00
amd64fox
f43f35a973 fixed goofyhistory patch
#621
2024-09-03 02:38:44 +03:00
amd64fox
fd47891b55 Create goofyHistory.js 2024-09-02 22:40:16 +03:00
amd64fox
65efd5f2fb fix replace 2024-09-02 13:09:52 +03:00
amd64fox
6753fb548f fix navbar height 1.2.45+ 2024-09-02 12:59:12 +03:00
amd64fox
e4253530f2 carousel on main disabled
- carousel on the main page is temporarily disabled because it causes lags in the main menu #624
- lyrics_stat patch fragment is disabled
2024-08-31 19:49:56 +03:00
amd64fox
ede7a16abd version bump to 1.2.45.454
- topsearchbar parameter is enabled by default for versions 1.2.45 and higher
2024-08-28 11:00:25 +03:00
amd64fox
7b56e3855b version bump to 1.2.45.451
- enabled pinning of home shelves
- enabled recent searches dropdown (only works if the -topsearchbar parameter was enabled)
- added parameter -canvasHome which enables big cards (canvases) on the main page, works with 1.2.42 +
- some patches were broken in 1.2.45 and were temporarily disabled #621
2024-08-24 12:39:15 +03:00
amd64fox
66a615ae4c fixed HomeCarousels 2024-08-12 23:55:26 +03:00
amd64fox
0be7e52624 Merge branch 'main' of https://github.com/SpotX-Official/SpotX 2024-08-12 23:43:37 +03:00
amd64fox
7bfd84614f version bump to 1.2.44.405
- enabled carousels on home
- enabled seeking 5s backward/forward with left/right arrow keys
- disabled impression analytics
- russian strings updated to 1.2.44
2024-08-12 23:43:35 +03:00
EDM115
60dff3ad34 Update fr.ps1 (#614) 2024-08-12 22:33:34 +03:00
amd64fox
40ca898241 moved to 1.2.43 2024-08-09 23:47:39 +03:00
amd64fox
881b92f5f2 enable lyrics access for legacy clients
- allow legacy clients to get lyrics if they are available on the server side
2024-08-07 20:16:55 +03:00
amd64fox
b8f6a35b97 correction of regex for sentry 2024-08-07 14:28:40 +03:00
amd64fox
ae49476fc2 update sentry blocking patch
pinched this from @Delusoire
2024-08-07 14:00:04 +03:00
amd64fox
80686ef696 fix name exp
Co-Authored-By: jetfir3 <95306468+jetfir3@users.noreply.github.com>
2024-08-06 23:27:05 +03:00
amd64fox
4f30ec8d1f version bump to 1.2.43.420 2024-07-30 20:51:43 +03:00
amd64fox
76fed67660 version bump to 1.2.42.290 2024-07-14 12:22:40 +03:00
amd64fox
af30d4c669 fixed goofyhistory patch for 1.2.41+ 2024-07-10 15:28:03 +03:00
amd64fox
fe9b5feba2 similarplaylist patch fix
#604
2024-07-06 01:01:40 +03:00
amd64fox
4e78342c68 disabling similar playlists
- the tab in the "Create similar playlist" menu was removed in older versions because the developers disabled it on the server side
2024-07-05 16:06:31 +03:00
amd64fox
61b2149a8a version bump to 1.2.41.434 2024-07-04 13:08:11 +03:00
amd64fox
4e4393cabf Update
- fixed filtertags_locale patch
- enhanced playlists and liked songs features are disabled
2024-06-24 16:55:42 +03:00
amd64fox
cdd4c9f839 version bump to 1.2.40.599 2024-06-19 13:02:54 +03:00
amd64fox
e030649f74 version bump to 1.2.40.592 2024-06-15 23:21:38 +03:00
amd64fox
22acd70e2f added section "Most Listened 2023"
#195
2024-06-15 15:38:10 +03:00
amd64fox
74acfbf4aa return device picker to the right panel 2024-06-02 12:10:56 +03:00
amd64fox
e6beaab605 version bump to 1.2.39.578 2024-06-02 11:49:42 +03:00
amd64fox
de92986bcc version bump to 1.2.38.720
- dev-tools and filtertags_locale_fix patches were limited for version 1.2.38 and higher because they were broken
2024-05-18 22:09:30 +03:00
amd64fox
3c5cf6ab86 version bump to 1.2.38.720
- dev-tools and filtertags_locale_fix patches were limited for version 1.2.38 and higher because they were broken
2024-05-18 22:08:02 +03:00
amd64fox
3c08f41ab1 disabled new device picker
- device picker on the right sidebar was temporarily disabled before version 1.2.36 because it was broken in 1.2.37
2024-05-14 18:55:25 +03:00
amd64fox
8d87b96655 disable native lyrics
- added -lyrics_block parameter to completely disable native lyrics
2024-05-07 22:07:46 +03:00
amd64fox
e0a9409ef3 adds a new section to the main page 'More like on...' 2024-05-07 00:42:09 +03:00
amd64fox
3431dcc5df fixed dev-tools patch 2024-05-07 00:11:15 +03:00
amd64fox
484c2eb922 version bump to 1.2.37.701
- fixed product_state and dev-tools patch
2024-05-07 00:09:10 +03:00
amd64fox
a92a201108 manual check of the latest version
- added manual checking of the latest version of Spotify using github actions
2024-05-05 12:07:57 +03:00
amd64fox
60f6b83e8a added padding 2024-05-02 10:37:54 +03:00
amd64fox
167678c8cf Improved handling of incorrect hosts file
#588
2024-05-02 10:20:00 +03:00
amd64fox
8970cae410 version bump to 1.2.36.959 2024-05-01 18:35:12 +03:00
amd64fox
cb9e847236 fix of German translation
Co-Authored-By: Chump2074 <155765374+chump2074@users.noreply.github.com>

#586
2024-04-28 20:03:57 +03:00
amd64fox
55da9f2e5c fixed downloadquality rule
Co-Authored-By: jetfir3 <95306468+jetfir3@users.noreply.github.com>
2024-04-28 01:45:12 +03:00
amd64fox
1ddd051567 Update
- fixed activation of liked songs filter tags for all locales except en
- russian translation corrected
2024-04-21 11:23:34 +03:00
amd64fox
7ac0d407d5 version bump to 1.2.36.955 2024-04-20 22:43:02 +03:00
amd64fox
a4e0c4cb4c fix slots #2
#582
2024-04-19 10:59:10 +03:00
amd64fox
9b561c97dd fix slots
#582
2024-04-19 10:53:59 +03:00
amd64fox
e4e1c0ff45 added spotify#2 static theme
Co-Authored-By: vhc-vir <160111811+vhc-vir@users.noreply.github.com>

#191
2024-04-09 15:54:16 +03:00
amd64fox
ef33b6e0a9 Merge branch 'main' of https://github.com/SpotX-Official/SpotX 2024-04-09 15:47:36 +03:00
amd64fox
22c9a48537 version bump to 1.2.35.663
- fixed devtools and downloadquality patch
2024-04-09 15:47:34 +03:00
vaideedev
36eeddb41f Add Czech translation (#579)
Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2024-03-28 17:49:56 +03:00
amd64fox
cd173c4390 ExpSpotify line removed 2024-03-28 17:48:27 +03:00
amd64fox
f1474a2207 fixed typo of exp name 2024-03-24 19:18:48 +03:00
amd64fox
11806cdf3e version bump to 1.2.33.1042
- enabled animations on the left and right on the sidebars and makes the right sidebar collapsible
- russian translation supplemented
- "dinner" section is blocked
2024-03-24 19:14:17 +03:00
amd64fox
7a7186b363 version bump to 1.2.33.1042
- added sections for blocking
2024-03-22 03:19:23 +03:00
amd64fox
1c9c750a8e added charts section 2024-03-18 14:18:25 +03:00
amd64fox
0ac229dbd5 fixed url 2024-03-14 19:15:07 +03:00
amd64fox
177402498c Update
- fix and refactoring of the patch for hiding podcasts and sections that look like ads on the main page
- added homesub_off parameter to hide additional filters at the top of the main page
- minor changes in code
2024-03-14 19:11:16 +03:00
amd64fox
ba3d4c8497 fixed devtools patch 2024-03-12 11:42:33 +03:00
amd64fox
8d6b15dd3f version bump to 1.2.33.1039
- enabled сanvas (experimental)
2024-03-11 20:18:01 +03:00
amd64fox
7294345f30 Update
- enabled mini player
- funny progress bar is back
- disable homesub if the patch for disabling podcasts on the home page is applied
2024-03-09 09:45:05 +03:00
amd64fox
c3cbe3a6bd version bump to 1.2.32.997
- fixed offrujs patch
- exp enabled:
 - filter tags on the liked songs
 - resizable tracklist columns
 - new connect bar
 - track page activated in search
 - queue on right panel animations
2024-02-27 01:22:10 +03:00
amd64fox
2c0ae54ac0 typo 2024-02-21 23:49:14 +03:00
amd64fox
2056bd71ea moved to 1.2.31 2024-02-21 23:23:22 +03:00
amd64fox
51558614b7 Update bug_report.yml
- added warning
- optimization of text and links
2024-02-21 23:14:02 +03:00
amd64fox
1662dbcf7d updating css rules 2024-02-21 18:09:18 +03:00
amd64fox
9190341c5c fixed welcome line 2024-02-15 21:01:02 +03:00
John Milton M
7fd8e39004 Translation for Language Tamil (#570)
* Create Translation for Language Tamil

Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2024-02-15 20:41:34 +03:00
Jaime Varas Cáceres
a8da2f6c1d fixed missing closing anchor tag in readme
#568
2024-02-13 13:32:28 +03:00
amd64fox
39e6a30f50 version bump to 1.2.31.1205
- enabled dynamic volume control for podcasts
- right queue panel returned
- funny progress bar is disabled if the version is higher than 1.2.26
- disabled some exp related to ads
2024-02-13 13:25:35 +03:00
VB2007
07b2547f77 Translated the welcome message to Hungarian (#565) 2024-02-06 20:27:10 +03:00
amd64fox
9f66d98ac6 disabled new queue panel for 1.2.30+
#566
2024-02-06 20:21:30 +03:00
amd64fox
df28600f18 moved to 1.2.30 2024-02-01 14:27:51 +03:00
amd64fox
62909a38f0 fixed name exp 2024-02-01 07:53:29 +03:00
amd64fox
545b9e70f2 version bump to 1.2.30.1135
- fixed downloadquality patch
- activated exp
 - enabled notification center
 - enabled device picker as a side panel
2024-02-01 07:45:36 +03:00
amd64fox
0b23b187d9 fixed podcast_ad_block 2024-01-18 15:54:26 +03:00
amd64fox
3cf2ce3d32 version bump to 1.2.29.605 2024-01-16 18:23:38 +03:00
amd64fox
e37418a5d0 fixed genre page bug
- fixed genre page bug for versions below 1.2.25
2024-01-14 14:51:14 +03:00
amd64fox
9a51c24c83 top search bar is disabled by default 2024-01-09 10:48:03 +03:00
amd64fox
53671d64fc fixed encoding for github.io 2024-01-08 22:16:35 +03:00
amd64fox
7135a6a3ec backup url added
#548
2024-01-08 21:22:39 +03:00
amd64fox
88f2b5b92d backup url added 2024-01-08 21:17:55 +03:00
amd64fox
31dd0c7d35 added backup url 2024-01-08 20:44:24 +03:00
Prashant
b65d8bc394 Update Hindi translation (#555) 2024-01-07 19:14:22 +03:00
MrAdhit
cd057d8a3c fix weird http code (#552) 2024-01-05 06:57:15 +03:00
amd64fox
78a0798747 added lavender theme
Co-Authored-By: PetelAnavim <120313626+petelanavim@users.noreply.github.com>
2024-01-03 19:43:15 +03:00
amd64fox
b34a0304d4 fixed incorrect temp folder path
#545
2023-12-31 17:08:15 +03:00
amd64fox
489260955f version bump to 1.2.28.581
- enabled global nav bar with home button, search input and user avatar
- enabled context menu action to ban/unban artists
2023-12-30 10:53:03 +03:00
amd64fox
24a3a5f942 Indent fix 2023-12-19 22:17:26 +03:00
Justin He
853aacc821 Update Chinese translation (#542) 2023-12-19 22:09:49 +03:00
amd64fox
5716b8a6fb Added Slovak translation
Co-Authored-By: sneaxy-den <70317379+sneaxy-den@users.noreply.github.com>

#540
2023-12-19 22:07:03 +03:00
amd64fox
8e41023251 removed outdated connectnew patch 2023-12-19 21:57:33 +03:00
amd64fox
b536bdfd17 version bump to 1.2.26.1187 2023-12-06 12:12:49 +03:00
amd64fox
0f94baa294 moved to 1.2.26 2023-12-05 19:39:28 +03:00
amd64fox
b7de68733a fixed update unblocking bug
#534
2023-12-05 18:56:07 +03:00
amd64fox
97716915c2 search history bug fixed 2023-12-04 21:43:00 +03:00
amd64fox
f197a5332f fixing the podcast blocking patch 2023-12-04 18:37:41 +03:00
amd64fox
d843ede644 fixed patch for devtools 2023-12-03 20:42:52 +03:00
amd64fox
3b588b3aad version bump to 1.2.26.1180
- fixed patches for hiding podcasts and sections similar to ads
- changing the list of sections #195
- included exp
  • encore cards
  • queue on right panel
2023-12-03 19:20:01 +03:00
amd64fox
60858ca890 exp name typo 2023-11-27 19:38:24 +03:00
amd64fox
5f85bf124a version bump to 1.2.25.1011 2023-11-22 18:01:55 +03:00
amd64fox
95aca4c640 fixed patch version 2023-11-20 09:03:51 +03:00
amd64fox
d77d6d7e35 version bump to 1.2.25.1009
- "similar playlist" feature has been removed from 1.2.25
- fixed some patches related to ads
2023-11-20 08:57:00 +03:00
amd64fox
2e1f12cadb Merge branch 'main' of https://github.com/SpotX-Official/SpotX 2023-11-14 13:54:23 +03:00
amd64fox
7ab788ba5e Update
- backward compatibility of patches
- added the parameter -devtools to activate the developer mode
2023-11-14 13:54:11 +03:00
Adolfo Jayme-Barrientos
8906aa2861 Update Spanish translation to fix and unify treatment (#525)
* Update Spanish translation to fix and unify treatment

* Remove unused variables
2023-11-13 10:47:56 +03:00
amd64fox
208dceafa2 Enabled dev tools
- added a switch in the main settings that activates developer tools #439
2023-11-12 18:37:21 +03:00
Yurika
77764d6a0f Update pl language (#522) 2023-11-10 02:22:50 +03:00
amd64fox
05ac8387aa exp version fix 2023-11-08 19:56:21 +03:00
NoSkill
5b650e7b55 Update pl language (#521) 2023-11-08 19:18:53 +03:00
amd64fox
ad825b8ade show user top content
- show top tracks and top artists on profile page
2023-11-08 18:53:11 +03:00
amd64fox
1e7b6824d5 added compact mode to playlist 2023-11-08 18:30:20 +03:00
amd64fox
80ac50144d version bump to 1.2.24.756 2023-11-08 17:26:58 +03:00
amd64fox
375a3623cc New parameter 'Plus'
- with the 'Plus' parameter, you can save and select destinations for songs, playlists, or podcasts
2023-11-01 15:57:33 +03:00
amd64fox
e454aa86da Update
- additional blocking of sending client logs and events
- fixed incorrect exp processing behavior
- minor change

Co-Authored-By: jetfir3 <95306468+jetfir3@users.noreply.github.com>
2023-10-28 19:32:46 +03:00
amd64fox
77ceb30760 Update
- improvement of the banner blocking patch on the main page
- blocking banner on the podcast page

Co-Authored-By: jetfir3 <95306468+jetfir3@users.noreply.github.com>
2023-10-26 23:53:51 +03:00
amd64fox
8b20e119ea version bump to 1.2.23.1125 2023-10-25 19:05:52 +03:00
amd64fox
435e348032 version bump to 1.2.23.1114
- smart shuffle is enabled by default for everyone, since smart shuffle and enhance playlist & liked songs in the latest versions conflict a little (smartShuffle parameter has been replaced by EnhanceSongs for those who prefer to use enhance playlist & liked songs) #509
- grid with 8 shortcuts in main page
- queue and track history in the right sidebar are temporarily disabled
2023-10-25 11:20:39 +03:00
amd64fox
099e453ff2 typo 2023-10-16 13:06:17 +03:00
amd64fox
3db3a85662 enabling Smart Shuffle
- activation of the parameter -smartShuffle
2023-10-16 10:36:40 +03:00
amd64fox
e6976caa3b typo 2023-10-14 00:25:40 +03:00
amd64fox
c5de40db1e Merge branch 'main' of https://github.com/SpotX-Official/SpotX 2023-10-14 00:19:33 +03:00
amd64fox
227407f8d9 moved to 1.2.22 2023-10-14 00:19:30 +03:00
amd64fox
d7a4ecada9 version bump to 1.2.22.982 2023-10-09 20:29:14 +03:00
amd64fox
4eec87ed38 version bump to 1.2.22.980 2023-10-07 20:43:45 +03:00
amd64fox
db7a3773a9 fixed link 2023-10-03 15:40:35 +03:00
amd64fox
9390ceae26 Merge branch 'main' of https://github.com/SpotX-Official/SpotX 2023-10-03 04:54:30 +03:00
amd64fox
1ff1514251 updating links for images 2023-10-03 04:54:26 +03:00
amd64fox
c82a0d7c00 cutt request removed 2023-10-01 07:27:53 +03:00
amd64fox
afe04fb704 Delete .github/workflows directory 2023-10-01 07:27:42 +03:00
amd64fox
ba50d4ef67 Delete cutt directory 2023-10-01 07:11:00 +03:00
amd64fox
95ec82c91e added Swedish translation
Co-Authored-By: flitzx <9301487+flitzx@users.noreply.github.com>

#500
2023-09-30 23:50:41 +03:00
amd64fox
16d99113da Install.ps1 to run.ps1 2023-09-28 23:29:16 +03:00
amd64fox
ecdaec0397 Create org.yml 2023-09-28 22:44:53 +03:00
amd64fox
5074dc87a3 updating links 2023-09-27 17:11:16 +03:00
amd64fox
8deb07c1a6 updating links 2023-09-27 16:38:04 +03:00
amd64fox
fc42550ba5 temporarily disable "EncoreCards" exp
#498
2023-09-24 23:18:47 +03:00
amd64fox
5a1932b532 Update
- banner removed from main page
- shortcut for history on the main page is temporarily disabled
2023-09-24 03:51:50 +03:00
amd64fox
6dd4a1c349 version bump to 1.2.21.1104
- enable queue on the right panel
- enable recently played shortcut on the home page
- enables all cards throughout app to be encore cards
- product_state patch fixed
2023-09-23 22:27:32 +03:00
amd64fox
a3dd6f3701 version bump to 1.2.20.1218 2023-09-22 02:23:56 +03:00
amd64fox
e08b8f6898 version bump to 1.2.20.1216 2023-09-14 20:19:04 +03:00
amd64fox
0bbf4193e8 version bump to 1.2.20.1214 2023-09-14 13:21:48 +03:00
amd64fox
62bc32fb07 optimizing "exp_spotify"
- optimizing the "exp_spotify" parameter
2023-09-10 11:34:35 +03:00
amd64fox
f0f528b97c fixed dsa exp for 1.2.20+ 2023-09-10 09:24:46 +03:00
amd64fox
744f12acd2 fixed *60 and *61 2023-09-09 13:12:20 +03:00
amd64fox
c58d0bfcbc duplicate removed 2023-09-09 13:03:33 +03:00
amd64fox
7c5e94f3a4 formatting fixed 2023-09-09 12:56:15 +03:00
amd64fox
3ad46946a2 typos fixed in translation 2023-09-09 12:52:15 +03:00
amd64fox
908dd256d9 Merge branch 'main' of https://github.com/amd64fox/SpotX 2023-09-09 12:34:36 +03:00
amd64fox
fc7efd386f moved to 1.2.20 2023-09-09 12:34:34 +03:00
amd64fox
e4cee86fb4 typo fixed 2023-09-09 09:07:35 +03:00
amd64fox
ff9d9810fa version bump to 1.2.20.1210 2023-09-09 08:59:41 +03:00
amd64fox
72b934e8fe mirror in github pages
- trying to fix connection error issue with github pages
2023-09-07 18:11:54 +03:00
amd64fox
5c34f445d4 Revert "migration from raw.github to jsdelivr"
This reverts commit 9e2c1ecf0c.
2023-09-07 13:59:33 +03:00
amd64fox
20ec8c1fbc Revert "removed tls forcing"
This reverts commit 96281a2248.
2023-09-07 13:59:24 +03:00
amd64fox
bfed9ec45e Revert "fix encoding"
This reverts commit 808a49ccb9.
2023-09-07 13:58:43 +03:00
amd64fox
808a49ccb9 fix encoding
- fix encoding for translation files
- replacing @main with @latens to get the latest installer and other supporting files
2023-09-07 13:23:40 +03:00
amd64fox
c29fe4e4dc added album prerelease pages 2023-09-07 08:38:00 +03:00
amd64fox
96281a2248 removed tls forcing 2023-09-06 18:34:12 +03:00
amd64fox
9e2c1ecf0c migration from raw.github to jsdelivr 2023-09-06 14:23:01 +03:00
Relvin Arsenio
ca3d4ed6e7 Update Indonesian Translation (#487) 2023-09-05 04:43:36 +03:00
amd64fox
ff8bdcdf23 removing scoop installation method 2023-09-02 17:45:34 +03:00
amd64fox
bda3281b42 added recommended songs
- added recommended songs section on song page
2023-08-31 07:51:04 +03:00
amd64fox
116d5d85bd fixed line 69 2023-08-29 23:02:54 +03:00
amd64fox
bb5f4c4a1f version bump to 1.2.19.941
- updated translation for ru.json
2023-08-29 22:58:10 +03:00
amd64fox
45b7622f66 returned raw.githubusercontent.com 2023-08-28 01:26:32 +03:00
amd64fox
6be3db4763 version bump to 1.2.19.937
- fixed regex to block updates
- migration from raw.githubusercontent.com to cdn.statically.io (attempt to fix blocking of raw files by some providers) #471
- minor code fix
2023-08-26 22:01:22 +03:00
amd64fox
f1f51c8598 Merge branch 'main' of https://github.com/amd64fox/SpotX 2023-08-15 20:31:00 +03:00
amd64fox
e6d3f6b9d8 version bump to 1.2.18.999 2023-08-15 20:30:57 +03:00
amd64fox
873e4d24ca duplicate line removed 2023-08-13 04:59:23 +03:00
amd64fox
3e98374b7d version bump to 1.2.18.997
- added exp which updates the sorting for the left sidebar
- russian translation updated
2023-08-13 04:54:44 +03:00
amd64fox
d3252b6467 themes for full screen lyrics
- added static themes for full screen lyrics #363
2023-08-11 02:02:40 +03:00
amd64fox
89bc55c17a fixed uncorrect color in lyrics
- fixed uncorrect color in lyrics when using static theme
2023-08-09 00:51:55 +03:00
amd64fox
6567610ac7 fix regex "add podcast_ad_block" 2023-08-04 20:54:23 +03:00
amd64fox
0e1723bf44 version bump to 1.2.17.834 2023-08-02 14:01:56 +03:00
amd64fox
7dae7d42c1 removed exp related to dj 2023-08-02 13:50:02 +03:00
amd64fox
02c7fbdaf7 fixed install for win7-8.1
- fixed installation of the recommended version for win7-8.1 if the -version parameter was used #468
2023-08-02 13:48:44 +03:00
amd64fox
cc6e328ff4 Update es
Co-Authored-By: José Miguel <minecraftersov@gmail.com>

#456
2023-08-01 16:42:19 +03:00
5idereal
4958a8dc27 Update zh-TW (#460)
* update zh-TW.ps1

* fixed "Welcom"
2023-08-01 16:24:15 +03:00
amd64fox
ce39013f77 fixed lines 52 and 53 2023-08-01 12:43:55 +03:00
amd64fox
aa4a499487 new lines added 2023-08-01 12:36:25 +03:00
amd64fox
791ccf5ab3 fix 46 and 48 lines 2023-08-01 11:57:00 +03:00
amd64fox
d983d70848 moved to 1.2.10 2023-08-01 11:50:01 +03:00
amd64fox
7cf8f4c959 smart shuffling disabled
Temporarily disable smart shuffling due to a bug in recent versions #463
2023-07-31 14:21:50 +03:00
amd64fox
dcedf58df2 smart shuffling disabled
Temporarily disable smart shuffling due to a bug in recent versions #463
2023-07-31 13:45:46 +03:00
amd64fox
59f986f202 version bump to 1.2.17.832
- fixed goofy history patch for 1.2.17
- smart shuffle returned
- added new exp:
 - Artist about section in NPV
 - Enable New Entity Headers
 - Enable read along transcripts in the NPV
 - Enable ability to toggle playlist column visibility
 - Enable the slide-in/out transition on the sidebars in the RootGrid
 - Display ticket price on Event page
 - Display share icon for sharing an event
2023-07-31 13:22:02 +03:00
amd64fox
79b82f1d1d smart shuffling disabled for 1.2.16+
Temporarily disable smart shuffling due to a bug in recent versions #463
2023-07-20 12:16:17 +03:00
amd64fox
4c3a41776c temporary stub for russian bug 2023-07-19 21:27:53 +03:00
amd64fox
c0600777af version bump to 1.2.16.947 2023-07-19 18:27:15 +03:00
amd64fox
32ed735051 version bump to 1.2.15.828 2023-07-12 23:09:09 +03:00
amd64fox
2fb3aab41a curl bug fix
- bug fix if curl configuration file existed #454

Co-Authored-By: bzzrak <77467869+bzzrak@users.noreply.github.com>
2023-06-30 20:54:59 +03:00
amd64fox
551502197c fixed to block podcast ads
- fixed regex for blocking ads in podcasts for x64 architecture
2023-06-29 14:21:39 +03:00
amd64fox
0d21e215fa right sidebar disabled
- new right sidebar disabled for old theme
2023-06-28 23:16:10 +03:00
amd64fox
d7c0b6da57 removed issue "idea" 2023-06-27 16:11:47 +03:00
amd64fox
0168df8d12 Aded new parameter "rightsidebar_off" (#447)
- new parameter "rightsidebar_off"
- removed css rules to fix new cover
2023-06-22 17:35:22 +03:00
amd64fox
82645ab213 Fixed Russian translation (#443)
* Updated Russian translation to version 1.2.14

* fixed indentation
2023-06-20 06:38:33 +03:00
amd64fox
be8814e425 version bump to 1.2.14.1141 2023-06-19 22:33:18 +03:00
amd64fox
b0c2acf182 fix old theme
- forced installation of version 1.2.13 (since the old theme was removed in subsequent versions).
2023-06-18 00:56:09 +03:00
amd64fox
b0e7cf1fe8 fix new theme 2023-06-17 05:26:20 +03:00
amd64fox
06fb7a757f version bump to 1.2.14.1141
activated:
- Smart Shuffle
- Group Sessions (premium is probably required)
- Dynamic audio normalization
- Funny progress bar (-funnyprogressBar)
- Events list view
- Enabled DJ educational nudge and added Your DJ to library on playback (premium required)
2023-06-17 05:02:47 +03:00
amd64fox
483081c2a2 added parameter "version"
- added "version" input parameter to change recommended version of Spotify
2023-06-06 21:23:09 +03:00
amd64fox
504d2e353b version bump to 1.2.13.661 2023-06-06 16:41:10 +03:00
amd64fox
1eb9041918 Revert "version bump to 1.2.13.661"
This reverts commit 8deb41f0ae.
2023-06-06 16:39:38 +03:00
amd64fox
8deb41f0ae version bump to 1.2.13.661
- added "version" input parameter to change recommended version of Spotify
2023-06-06 16:10:24 +03:00
Sharun
4c35ef13f0 added ArgumentCompleter for lyrics_stat param (#430)
* added ArgumentCompleter for lyrics_stat param

* formatting
2023-06-05 15:43:23 +03:00
amd64fox
9d138fe58a added exp
- enabled the cover art modal on the Album page
2023-06-04 18:16:46 +03:00
amd64fox
0d9b73ef02 Revert "added validations / auto-complete for lyrics_stat param (#428)"
This reverts commit c6048b3cf9.
2023-06-04 14:14:49 +03:00
amd64fox
ca6c01e0e4 upd discriptions + added disclaimer 2023-06-04 04:19:59 +03:00
Sharun
c6048b3cf9 added validations / auto-complete for lyrics_stat param (#428)
* added validations / auto-complete for lyrics_stat param

* added relish and turquoise
2023-06-03 20:39:20 +03:00
amd64fox
c121fc3153 version bump to 1.2.13.656
- fixed adsections_off
2023-06-03 15:36:21 +03:00
amd64fox
d1a02464e7 fixed language detection bug
- bug fix for languages with more than 2 characters #423
2023-05-29 12:28:17 +03:00
amd64fox
da091028ca New UI fix 2023-05-27 21:09:29 +03:00
amd64fox
8da086be4f fixed blocking of merch
- fixed blocking of merch on the right sidebar
2023-05-23 08:02:57 +03:00
amd64fox
fb5f3c0ba5 version bump to 1.2.12.902
- returned 'WhatsNewFeed'
- enabled My Little Mermaid playlist easter egg
2023-05-22 23:08:05 +03:00
amd64fox
9f3b24a70d Fixing the product_state error 2023-05-18 17:36:05 +03:00
amd64fox
244af6e3bc Revert "readme fixes"
This reverts commit 36717aa3f4.
2023-05-18 16:09:06 +03:00
amd64fox
36717aa3f4 readme fixes 2023-05-18 16:05:52 +03:00
amd64fox
b73999b86c readme fixes 2023-05-18 16:04:25 +03:00
amd64fox
ad7d5b0f72 Update
- A new parameter, "-cache_limit," has been added to modify the limit for automatic clearing of the audio cache. The old cache clearing script has been removed
- The "What's New Feed" panel has been temporarily disabled due to unstable performance.
2023-05-16 16:31:37 +03:00
amd64fox
74bf0653ec fixed empty ad block for some accounts
#406
2023-05-15 16:20:35 +03:00
amd64fox
be581da625 fixed path for patches.json 2023-05-13 12:05:22 +03:00
amd64fox
fd75348943 Update
- fixed a long-standing issue with experimental features that was causing various problems for some users in the client
- added the parameter -rightsidebarcolor for coloring the right sidebar in the new theme
- removed deprecated parameters:
ignore_in_recommendations_off, new_artist_pages_off, new_lyrics_off, $equalizer_off, made_for_you_off
- minor fixes
2023-05-13 11:50:21 +03:00
amd64fox
659e845b2d version bump to 1.2.11.916 2023-05-11 22:30:31 +03:00
amd64fox
fa0a99a13e Chinese translation fixes
Co-Authored-By: lumineyuri <110418934+lumineyuri@users.noreply.github.com>

#410 #409
2023-05-11 22:28:51 +03:00
amd64fox
c74a701ad9 version bump to 1.2.11.914 2023-05-09 21:47:47 +03:00
amd64fox
f50fd87799 fix subtitles 2023-05-09 14:34:09 +03:00
amd64fox
1538d04945 version bump to 1.2.11.911
- fixed regex for spotx description
- fixed lack of subtitles for video podcasts that have them #403
- fixed missing panel with new releases for the old theme
2023-05-09 14:23:10 +03:00
amd64fox
4132ad6785 Update
- disabling ads using Esperanto API (Thanks to @ohitstom and @kyrie25) #95
- fixing the error of enabling the old theme for the -premium parameter
- fixed a client crash when using themes for lyrics on some versions.
2023-05-04 03:01:29 +03:00
amd64fox
fcc743ef05 moved to 1.2.10 2023-04-30 13:30:07 +03:00
maboroshin
b75c43e46b Japanese translation fix (#397) 2023-04-30 13:25:49 +03:00
Syafa Adena
113a549f43 Improve Indonesian Translation (#394) 2023-04-28 13:35:56 +03:00
Rui Kenichi
62ecdf17ac Indonesian translation fix (#392) 2023-04-27 17:19:09 +03:00
amd64fox
173c250f2d translation fix
Co-Authored-By: Rome <r0me@riseup.net>

#390
2023-04-26 00:22:21 +03:00
amd64fox
5665cff3e4 version bump to 1.2.10.760
- added a patch that forcibly disables some exp since Spotify developers had priority in remote mode #389
- cleaning obsolete code and parameters
2023-04-26 00:02:56 +03:00
amd64fox
1cfa65e652 version comparison fix 2023-04-22 02:19:35 +03:00
amd64fox
63f66ca42a version bump to 1.2.10.751 2023-04-22 02:06:25 +03:00
amd64fox
49a68d463d version comparison fix 2023-04-22 01:55:18 +03:00
amd64fox
f2c2c96284 Check version Windows optimization
#376
2023-04-18 00:32:55 +03:00
amd64fox
e8a1c47492 Update Uninstall.bat
- removing obsolete logic in Uninstall.bat
2023-04-17 12:57:29 +03:00
amd64fox
35d4ffe26c fix Filipino translation 2023-04-17 12:48:50 +03:00
amd64fox
0cc59987b6 Added Filipino translation
#375
2023-04-17 12:30:58 +03:00
amd64fox
bee94410e4 Update Uninstall.bat
- removing obsolete logic in Uninstall.bat
2023-04-17 12:23:48 +03:00
amd64fox
1410b91cbe end of testing reports and install
end of testing "Error reports" and "Spotx install stat"
2023-04-17 12:19:53 +03:00
amd64fox
43718565fc fix typos in translation 2023-04-17 11:55:16 +03:00
amd64fox
3f430bc452 version bump to 1.2.9.743 2023-04-12 22:31:08 +03:00
amd64fox
0ccedf5c8e Update Install.ps1 2023-04-09 05:07:33 +03:00
amd64fox
d5aa20a13d fix Remote Downloads 2023-04-08 19:13:42 +03:00
amd64fox
083414a8a7 fix remote downloads 2023-04-07 14:34:28 +03:00
amd64fox
01b77a12be version bump to 1.2.9.739
- fixing minor bugs in the code
- enabled exp RightSidebar Transition Animations
 - enabled exp Remote Downloads
2023-04-07 14:29:50 +03:00
amd64fox
ec7ca038b4 fix version offline 2023-04-02 18:51:38 +03:00
amd64fox
b1377aebde fix offline_bak 2023-04-02 18:39:58 +03:00
amd64fox
e3a611c6d6 fix patch 2023-04-02 18:32:36 +03:00
amd64fox
5522018b0d Error reports and Spotx install stat
Submit installation-related error reports and statistics on Spotx installations (testing)
2023-04-02 18:28:38 +03:00
amd64fox
8de62621a6 Fixed an error for Powershell 7
Replace the deprecated cmdlet "Get-WmiObject" with the newer "Get-CimInstance" as the old version was causing an error in Powershell 7
#367
2023-03-31 06:42:15 +03:00
amd64fox
ab054ae4d2 fix lyricscolor2 2023-03-30 05:34:04 +03:00
amd64fox
712f48d64e fix podcastsoff2 2023-03-30 03:39:13 +03:00
amd64fox
59b004e0a2 fix podcastsoff2 2023-03-29 16:27:07 +03:00
amd64fox
171391aa7f version bump to 1.2.8.923 2023-03-28 19:15:27 +03:00
amd64fox
e849858f97 version bump to 1.2.8.913
- also removed input parameter to use bts
2023-03-27 23:17:45 +03:00
amd64fox
e4c4660fa1 fix exp dj 2023-03-24 22:42:29 +03:00
amd64fox
3240c46dcd version bump to 1.2.8.907
- fixes for 1.2.8
- activated exp:
 1. "Your DJ" feature (testing)
 2. The what's new feed panel
2023-03-24 22:36:34 +03:00
amd64fox
019a2c43c1 Old UI fix 2023-03-22 23:45:38 +03:00
amd64fox
1e7acabb87 deleting exp_standard parameter 2023-03-22 21:41:01 +03:00
amd64fox
e4c06859e9 New UI fix 2023-03-22 05:38:03 +03:00
amd64fox
8b351608ad fix lyricscolor2 2023-03-21 06:10:41 +03:00
amd64fox
a8e79cde70 typo fixes
- remove showcreditsinsidebar for old theme
2023-03-21 05:54:45 +03:00
amd64fox
a5ada4bea3 fix ru translation 2023-03-21 05:44:04 +03:00
amd64fox
6559de3103 fix translation 2023-03-21 05:41:52 +03:00
amd64fox
f6e9256209 fix translation 2023-03-21 05:39:37 +03:00
amd64fox
60fffebad1 Update
- updating translation strings
- opting out method of installing SpotX over Spicetify
2023-03-21 05:31:58 +03:00
maboroshin
ff326a1181 Add Japanese translation (#353)
* Add Japanese translation

* indentation fix

---------

Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2023-03-17 23:58:13 +03:00
Nguyễn Anh Sáng
042d8b97a9 Update Vietnamese translation (#350)
* Fix typos and other stuffs

* fix

* fix
2023-03-16 05:08:08 +03:00
amd64fox
ae18996221 backward compatibility for podcastsoff2 2023-03-16 04:28:11 +03:00
amd64fox
e304ca5383 fix podcastsoff2
- fixed the emergence of some sections with podcasts on the main page
2023-03-16 03:21:44 +03:00
amd64fox
0e64ba6b1c version bump to 1.2.7.1277 2023-03-14 04:47:17 +03:00
amd64fox
7ee55cbcc1 installation restriction for Win 7-8.1
#341
2023-03-14 04:45:22 +03:00
amd64fox
fa07965f2e typo fix 2023-03-13 00:56:54 +03:00
amd64fox
be37b92f6b moved to 1.2.7 2023-03-13 00:44:11 +03:00
amd64fox
75f5e3e04a bug fix on artists page 2023-03-12 18:18:11 +03:00
amd64fox
f61a804c23 rollback of obsolete patches
rollback of obsolete patches related to the temporary fix of full-screen lyrics
2023-03-12 14:54:17 +03:00
amd64fox
c56d29c0b6 version bump to 1.2.7.1275
Add exp :
- Enable Save & Retrieve feature for concerts
- Show credits in the right sidebar
2023-03-12 14:33:07 +03:00
amd64fox
d885ec955d left sidebar fix
Co-Authored-By: Exhigh <exhigh01@gmail.com>

#332
2023-03-02 13:28:39 +03:00
amd64fox
0a8bfab976 fix translation in ru.json 2023-03-02 13:22:51 +03:00
amd64fox
d3a45810a9 ru.json updated for 1.2.6 2023-02-26 13:04:19 +03:00
amd64fox
02533cd471 version bump to 1.2.6.863 2023-02-26 12:31:28 +03:00
amd64fox
0868af39e0 new sections added
#195
2023-02-25 14:52:12 +03:00
amd64fox
fdf9cbad95 version bump to 1.2.6.861 2023-02-25 10:34:50 +03:00
amd64fox
9eb0d73b6d disable HptoLocationRefactor
#326
2023-02-23 23:04:04 +03:00
amd64fox
95c9e52bf9 fix podcast_ad_block for arm64 2023-02-21 00:03:57 +03:00
amd64fox
594e4375ab added "turquoise" theme for lyrics
Co-Authored-By: Aryan Donga <daryan6680@proton.me>

#317
2023-02-16 10:25:04 +03:00
amd64fox
1577b0604c fixed Static color for lyrics 2023-02-16 09:56:36 +03:00
amd64fox
b94e1e3a1b version bump to 1.2.5.1006
- version comparison logic fixed
2023-02-16 08:01:10 +03:00
amd64fox
1fbc0615a1 fixed line 12 2023-02-13 17:48:31 +03:00
amd64fox
e4c6e9ae47 fixed line 85 2023-02-13 17:42:23 +03:00
amd64fox
244714a554 moved to 1.2.5 2023-02-13 17:38:33 +03:00
amd64fox
1c5dc9918a Update vi.ps1
https: //github.com/amd64fox/SpotX/issues/315
Co-Authored-By: Everyandroid <87978792+Everyandroid@users.noreply.github.com>
2023-02-13 04:08:49 +03:00
amd64fox
3219d3227f fix hidemerchsidebar 2023-02-12 02:15:10 +03:00
amd64fox
85893789a8 fix hidemerchsidebar 2023-02-12 01:47:24 +03:00
amd64fox
d3bc02769e fix hidemerchsidebar 2023-02-12 01:28:43 +03:00
amd64fox
54e4c875bd version bump to 1.2.5.954 2023-02-11 23:17:02 +03:00
Pfostierer
828373f255 German translation error (#308)
"utomatische" is incorrect  and should be instead "Automatische".
2023-02-04 22:49:52 +03:00
amd64fox
efe63e7ea0 fixed hidemerchsidebar 2023-02-02 02:18:41 +03:00
amd64fox
8349d2acae version bump to 1.2.4.912 2023-02-01 20:48:42 +03:00
amd64fox
c3ec503453 added shields for SpotX-Bash 2023-02-01 04:24:32 +03:00
amd64fox
ec09bb7a69 Merge branch 'main' of https://github.com/amd64fox/SpotX 2023-02-01 02:46:34 +03:00
amd64fox
37a32b22b0 version bump to 1.2.4.907
- Block audio ads in podcasts ( thanks @jetfir3 )
- added input parameter old_lyrics to include old lyrics in new theme

Co-Authored-By: jetfir3 <95306468+jetfir3@users.noreply.github.com>
2023-02-01 02:46:32 +03:00
amd64fox
5d79a1d038 bottom change 2023-01-30 22:31:40 +03:00
amd64fox
aed43c34cf Update
- fixed bug of scrollbar
- fixed gap between lyrics popup and control bar https://github.com/amd64fox/SpotX/issues/286
- fixed top line bug https://github.com/amd64fox/SpotX/issues/284
2023-01-30 20:42:26 +03:00
amd64fox
78d703f1e6 version bump to 1.2.4.905 2023-01-29 21:54:53 +03:00
amd64fox
d71e735234 readme changes 2023-01-29 03:07:23 +03:00
amd64fox
7f93d976db Merge branch 'main' of https://github.com/amd64fox/SpotX 2023-01-29 02:52:18 +03:00
amd64fox
252a919629 ru.json updated for 1.2.4 2023-01-29 02:52:16 +03:00
SehrGuterCode
99ab3170d0 Improve german translation (#298)
- Improve German translation by fixing typos and using better phrasing
2023-01-29 01:20:47 +03:00
stxrrynight008
b51b11f3f7 Fixes to translation (#297)
* Fix references to Microsoft Store

* Grammar fixes to Turkish translation
2023-01-29 01:20:06 +03:00
amd64fox
44b0caf408 Update installer-new-translation.yml 2023-01-29 01:19:53 +03:00
amd64fox
3862cfc1ed Missing translation for Hindi
https: //github.com/amd64fox/SpotX/issues/290
Co-Authored-By: Tripathy Divyajyoti Senapati <tdivyajyotis@duck.com>
2023-01-29 01:16:18 +03:00
amd64fox
d46d371873 added nav-ylx background 2023-01-29 01:05:39 +03:00
amd64fox
9ec4474ac3 version bump to 1.2.4.893 2023-01-28 21:06:09 +03:00
amd64fox
23c303a31f version bump to 1.2.4.893 2023-01-28 21:03:33 +03:00
Rutkuli
85ebc1faae Add Finnish translation (#288)
* added finnish translation.

Added finnish translation for installer.

* add Finnish translation

* Updated welcome message

* update welcome text #2

Co-authored-by: amd64fox <62529699+amd64fox@users.noreply.github.com>
2023-01-23 02:04:07 +03:00
amd64fox
88758f348c fixed hidden premium features
- fixed hidden premium features for old theme
2023-01-22 01:40:03 +03:00
amd64fox
2843ba5b1c fix url 2023-01-21 19:12:47 +03:00
amd64fox
588a2871b8 fix url 2023-01-21 19:04:15 +03:00
amd64fox
3a21a5087f Merge branch 'main' of https://github.com/SpotX-CLI/SpotX-Win 2023-01-21 18:57:42 +03:00
amd64fox
2d1c57e8f3 change url 2023-01-21 18:57:34 +03:00
amd64fox
eb568346f9 version bump to 1.2.3.1115 2023-01-17 21:11:03 +03:00
amd64fox
d02e4a6fba small fixes
- new theme black background fix
- simplifying the process of obtaining a link to download the client
2023-01-17 17:18:19 +03:00
amd64fox
967afc38db version bump to 1.2.3.1111 2023-01-15 23:03:06 +03:00
amd64fox
43b4c74dc4 Greek Language added
https: //github.com/SpotX-CLI/SpotX-Win/issues/275
Co-Authored-By: NickMihal <86963425+NickMihal@users.noreply.github.com>
2023-01-15 13:40:25 +03:00
amd64fox
9e2816c428 fix installer-new-translation.yml 2023-01-15 01:16:14 +03:00
amd64fox
527b6fb137 version bump to 1.2.3.1107
- added a new parameter '-new_theme' that activates a new theme (new right and left sidebar, some cover change) if the parameter is not specified, the old theme is activated
- added bat files to install old and new theme
- fixed static lyrics themes for 1.2.3
- fixed bug when submitting new version of Spotify to form
- parameters 'left_sidebar_on' and 'right_sidebar_on' have been removed
2023-01-15 00:50:51 +03:00
Igor Rückert
5883896ae1 Update pt.ps1 (#273) 2023-01-13 16:34:00 +03:00
amd64fox
66bf1b3966 fixing installer strings 2023-01-13 10:00:54 +03:00
amd64fox
e7ceef2a47 typo 2023-01-06 12:33:35 +03:00
amd64fox
69ab67abf2 fixed return of the old interface 2023-01-06 12:32:02 +03:00
amd64fox
2b8f1c6575 fixed return of the old interface
- fixed return of the old interface (navalt_off, exp_standart)
2023-01-06 11:35:15 +03:00
oliver194
c2a85449a3 change some of the welcome messages to other languages (#268)
* Update de.ps1

* change welcome message + podcast select to spanish

* change welcome message to french

* change welcome message to ukranian

* change welcome message to turkish

* change welcome message to polish

* change welcome message to romanian
2023-01-06 07:36:42 +03:00
amd64fox
3a2b643ede added Bengali (Bangla)
- added Bengali (Bangla) language translation
https://github.com/SpotX-CLI/SpotX-Win/issues/264

Co-Authored-By: RHYTHM <66105148+nishatrhythm@users.noreply.github.com>
2023-01-01 11:51:00 +03:00
amd64fox
0efe92ad5f Update logo
https://github.com/SpotX-CLI/SpotX-Win/issues/265
2023-01-01 11:36:38 +03:00
amd64fox
08fb796f1b version bump to 1.2.2.582
- version bump to 1.2.2.582
- temporarily disabled setting to control if followers
- minor fixes in the code
2023-01-01 10:21:39 +03:00
amd64fox
4f05d5f10e checking versions
- checking versions from patches.json
2022-12-31 11:45:42 +03:00
amd64fox
57d3d3486c hiding merch
- hiding merch for the right sidebar
2022-12-27 21:39:50 +03:00
amd64fox
62e99b4dc9 new exp features
new exp features activated:
- enable a different heart button for Bad Bunny
- enable splitting the device list based on local network
- enable silence trimming in podcasts
- enable the option to Forget Devices
- extended playback speed range for podcasts
- enable a setting to control if followers
2022-12-27 07:29:51 +03:00
amd64fox
6714ad7b33 fixing static themes
- fixing static themes for new versions
2022-12-26 23:21:03 +03:00
amd64fox
08da44c30f lang removal refactoring 2022-12-25 21:49:21 +03:00
amd64fox
73892c940d recolor mini lyrics
- recolor mini-lyrics for songs in the right sidebar if the lyrics_stat input parameter was enabled
2022-12-23 21:11:59 +03:00
amd64fox
1aba5b6132 fix translation.yml 2022-12-22 19:19:48 +03:00
amd64fox
81dcb252bb fix typo 2022-12-22 17:49:21 +03:00
amd64fox
f85b4f830f fix typo 2022-12-22 17:43:15 +03:00
amd64fox
a8eee60717 Update for installer languages
- added Chinese Traditional, Serbian, Latvian translation https://github.com/SpotX-CLI/SpotX-Win/issues/250 https://github.com/SpotX-CLI/SpotX-Win/issues/238 https://github.com/SpotX-CLI/SpotX-Win/issues/237
- added ability to embed similar languages
- fixed some minor bugs in the installer language management code
2022-12-22 17:38:56 +03:00
amd64fox
98b86056d8 trying to fix slow boot
an attempt to fix the slow loading of the client, it appears randomly
2022-12-17 18:34:02 +03:00
amd64fox
61f54aec3a version bump to 1.2.1.968 2022-12-17 18:13:32 +03:00
rafael
e94593ce0c fix: translation type (portuguese) (#254)
Spotify was spelled as Sotify
2022-12-12 11:33:07 +03:00
amd64fox
65a7525c35 better french translation #253
better french translation
2022-12-11 18:23:14 +03:00
EDM 1.15
d4f5cde9a8 better french translation 2022-12-11 13:30:33 +01:00
amd64fox
2731c289f3 Merge pull request #252 from adrianbiro/patch-1
path fix for cache_spotify.ps1
2022-12-11 13:29:45 +03:00
amd64fox
7f75200b88 path fix for cache_spotify_ru.ps1 2022-12-11 13:29:09 +03:00
Adrián Bíro
8eaf5ad864 Update cache_spotify.ps1
Properly join the path to prevent falsely flagging the path as nonexistent.
2022-12-11 09:37:22 +01:00
amd64fox
349d966523 Update installer-new-translation.yml 2022-12-08 09:54:54 +03:00
amd64fox
eea99d22c2 added history for goofy 2022-12-07 12:01:18 +03:00
amd64fox
79dbddff2b renaming from chrome_elf.dll to dpapi.dll 2022-12-06 15:38:39 +03:00
amd64fox
1e656e304b version bump to 1.2.0.1165 2022-12-06 15:06:16 +03:00
amd64fox
63447c9671 Hiding ad-like sections
- attempt to hide ad-like sections from the homepage
https://github.com/SpotX-CLI/SpotX-Win/issues/195
2022-12-06 08:47:53 +03:00
amd64fox
ee520a32b6 version bump to 1.2.0.1163 2022-12-04 03:42:27 +03:00
amd64fox
9732251a01 Merge pull request #236 from houshmand-2005/main
Add Persian(Farsi) translation
2022-12-04 03:39:07 +03:00
amd64fox
6f1c3b92cb typos 2022-12-04 03:37:39 +03:00
Houshmand
b6609b8003 Add Persian(farsi) translation 2022-12-03 16:23:33 +03:30
amd64fox
c90f1a81b6 fix 2022-12-03 13:40:50 +03:00
amd64fox
4df6bce3a2 Show lyrics in the right sidebar if enabled 2022-12-03 13:35:47 +03:00
amd64fox
4f782facaa right sidebar disabled by default 2022-12-03 13:18:32 +03:00
amd64fox
cc7f3601c8 fix bts 2022-12-03 11:38:28 +03:00
amd64fox
8d406acace Added Ukrainian translation 💙💛
https: //github.com/SpotX-CLI/SpotX-Win/issues/234
Co-Authored-By: vaidee <85072834+va1dee@users.noreply.github.com>
2022-12-03 10:42:53 +03:00
amd64fox
e5924d373d version bump to 1.2.0.1155 2022-12-03 10:24:06 +03:00
amd64fox
12a98954aa Update
- version bump to 1.2.0.1155
- fixed themes for lyrics
2022-12-03 10:20:53 +03:00
amd64fox
ad60c6d78c fix version 2022-12-01 05:16:26 +03:00
amd64fox
10c342d951 fix genre wrapped 2022-12-01 04:45:44 +03:00
amd64fox
0f1348f358 fix to check the recommended version 2022-11-29 00:37:57 +03:00
amd64fox
0ace6b5fbf added fix old theme 2022-11-28 04:20:54 +03:00
amd64fox
8223a3f3a6 fix idea.yml 2022-11-28 02:00:03 +03:00
amd64fox
739caa9813 add 👍 2022-11-28 00:02:03 +03:00
amd64fox
7e69687dd7 Update
- Fixing repeated requests to README.md
- minor fixes
2022-11-27 11:28:08 +03:00
amd64fox
888a5056cb Additional parameters in the web request to define new versions 2022-11-26 05:38:14 +03:00
amd64fox
951fe8b375 version bump to 1.1.99.878 2022-11-22 22:26:13 +03:00
amd64fox
3c61a1b547 fix size sidebar 2022-11-22 12:12:44 +03:00
amd64fox
b49e1406ff remove playlist copy function 2022-11-21 22:08:58 +03:00
amd64fox
b72d0d747b typo fix 2022-11-21 21:56:19 +03:00
amd64fox
a7ddd60a57 added Korean Translation
Co-Authored-By: Esherloon <69671333+jinoo2005609@users.noreply.github.com>
2022-11-21 21:46:49 +03:00
amd64fox
02fe5c0ddf version bump to 1.1.99.871
- enabled support for adding a playlist to another playlist
2022-11-21 21:38:26 +03:00
amd64fox
491584a3ae Submit new version of Spotify
- If an unsupported version of Spotify was found, then submit it to a Google form for further processing
2022-11-18 06:42:42 +03:00
amd64fox
01aeb4370e min version for copying playlists 2022-11-16 02:05:27 +03:00
amd64fox
b287fdcc55 Merge pull request #216 from 0x4nt/main
[it.ps1] Update Italian translations
2022-11-14 14:41:13 +03:00
amd64fox
15db48ba3f Update it.ps1 2022-11-14 14:40:04 +03:00
amd64fox
49d4045101 added translation co-author 2022-11-14 14:18:42 +03:00
Antonino Scordino
4055d9d082 SpotX-Win: it.ps1: Update translations 2022-11-13 23:45:32 +01:00
amd64fox
8fec59cac5 rollback to the old left sidebar
- rollback to the old left sidebar since a bug was found in the new one https://github.com/SpotX-CLI/SpotX-Win/issues/215
2022-11-13 16:58:44 +03:00
amd64fox
187a106265 refactoring 2022-11-12 15:10:25 +03:00
amd64fox
4dc9a5435c transfer of shields and logo
- transfer of shields and logo to SpotX-commons
2022-11-11 21:03:41 +03:00
amd64fox
e495b3e132 fix for old versions 2022-11-11 19:05:25 +03:00
amd64fox
adca8feeee version bump to 1.1.98.691
- added new default left sidebar for 1.1.98 and above
- fixed incorrect indentation between buttons in playlists
- added a new input parameter to enable the old sidebar (left_sidebar_old)
2022-11-11 18:43:21 +03:00
amd64fox
dc1d574b46 minor fixes
- fix id
- fixed incorrect error output for podcasts
2022-11-08 20:08:05 +03:00
amd64fox
c2f7f2bfd9 fix hu 2022-11-08 19:45:24 +03:00
amd64fox
7694a851a9 update
- small refactoring
- minor bug fixes
2022-11-08 19:42:23 +03:00
amd64fox
537887d5f2 Update
- transferring additional translation strings to SpotX-commons
 - fixed bug with new interface if devtools was activated
2022-11-07 15:44:16 +03:00
amd64fox
04f34de71e Merge pull request #201 from honigbrai/patch-1
Added [Y/N] to UpdSelect in German translation
2022-11-06 20:20:07 +03:00
honigbrai
ccbcea664e Added [Y/N] to UpdSelect
Someone forgot to add [Y/N] to the end of UpdSelect in the German translation
2022-11-06 17:36:38 +01:00
amd64fox
3de6e0327f fixed disabling podcasts 2022-11-05 11:46:56 +03:00
amd64fox
5c6ef5a776 fix rightsidebar 2022-11-04 23:54:08 +03:00
amd64fox
747f19f5ea version bump to 1.1.98.683
- fixes for 1.1.98
  -  added right sidebar for 1.1.98 and above
2022-11-04 23:33:11 +03:00
amd64fox
918a8471ea Update tr.ps1 2022-10-29 08:02:29 +03:00
amd64fox
276060af86 Merge pull request #192 from wepiotrek/main
Update Polish translation
2022-10-27 04:49:50 +03:00
Piotr Wezgraj
7a4dbfbe08 Update Polish translation 2022-10-26 19:37:56 +02:00
amd64fox
2fb07f941b version bump to 1.1.97.962
- fixed minor patch bugs for 97
 - fixed attribute for "past lyrics"
2022-10-26 16:20:15 +03:00
amd64fox
c29b1c0112 updated 4 theme for lyrics
https://github.com/SpotX-CLI/SpotX-Win/issues/191
2022-10-25 22:54:50 +03:00
amd64fox
b550ab8e9f fix static lyrics
https://github.com/SpotX-CLI/SpotX-Win/issues/191
2022-10-25 20:18:46 +03:00
amd64fox
b7f18e25d5 Chinese Translation
added Chinese Translation for installer https://github.com/SpotX-CLI/SpotX-Win/issues/189

Co-Authored-By: lumineyuri <110418934+lumineyuri@users.noreply.github.com>
2022-10-24 17:29:13 +03:00
amd64fox
49ac47edd4 Static color for lyrics
https://github.com/SpotX-CLI/SpotX-Win/issues/191
 -
2022-10-24 16:49:59 +03:00
amd64fox
f14e01fde8 Update logo 2022-10-24 06:42:19 +03:00
amd64fox
93e1691a3b fix old device picker 2022-10-14 07:05:23 +03:00
amd64fox
f98129d1a4 Merge pull request #182 from igorruckert/patch-1
Update pt.ps1
2022-10-14 07:03:31 +03:00
Igor Rückert
afa895de9b Update pt.ps1 2022-10-13 20:53:40 -03:00
amd64fox
6106ae2de7 version bump to 1.1.96.785 2022-10-13 01:39:02 +03:00
amd64fox
95015796bb Revert "version bump to 1.1.96.785"
This reverts commit 4bc64d41cb.
2022-10-13 01:32:05 +03:00
amd64fox
4bc64d41cb version bump to 1.1.96.785 2022-10-13 01:19:09 +03:00
amd64fox
b0b5fbaa11 Added Hungarian translation
https: //github.com/SpotX-CLI/SpotX-Win/issues/181
Co-Authored-By: Wex02 <68199765+Wex02@users.noreply.github.com>
2022-10-12 19:51:05 +03:00
amd64fox
d6e432be5e fix ru string in 96 2022-10-12 19:35:08 +03:00
amd64fox
2e02ca23bd typo fix 2022-10-11 07:14:59 +03:00
amd64fox
b2c23161bb version bump to 1.1.96.783 2022-10-11 06:49:49 +03:00
amd64fox
feb38d3e47 Merge pull request #177 from Robin-728/main
German Translation
2022-10-08 15:54:25 +03:00
amd64fox
d5e5234dd9 pretty print 2022-10-08 15:54:02 +03:00
Robin
fd77cf5994 Added German Translation 2022-10-08 14:27:10 +02:00
Robin
0de28ecf12 german lang file added 2022-10-08 14:25:24 +02:00
amd64fox
d566474934 Merge pull request #176 from aliazhar-id/patch-1
Update translation
2022-10-08 15:12:03 +03:00
aliazhar-id
96f3e913c1 Update translation 2022-10-08 18:54:13 +07:00
amd64fox
20a5905375 translation fix
- translation fix
 - typo fix
2022-10-05 17:11:29 +03:00
amd64fox
0432de8aa2 Add Romanian translation
https: //github.com/SpotX-CLI/SpotX-Win/issues/173
Co-Authored-By: scrappie <scr3ppie@gmail.com>
2022-10-05 16:53:13 +03:00
amd64fox
237965887a Merge pull request #171 from jetfir3/typos
Minor text corrections.
2022-10-04 01:39:40 +03:00
amd64fox
0bc651fd3b typo 2022-10-04 01:38:23 +03:00
jetfir3
40ae672dc8 Minor text corrections. 2022-10-03 14:46:49 -04:00
amd64fox
fba9478e45 Changing the main repo link 2022-10-03 18:08:33 +03:00
amd64fox
b7da52c7b0 Changing the main repo link 2022-10-03 17:40:28 +03:00
amd64fox
aee2cb7206 version bump to 1.1.95.893 2022-09-29 01:00:43 +03:00
amd64fox
dde8e06bd1 version bump to 1.1.95.889
- fix of regex for 1.1.95
 - Added an input parameter (left_sidebar_on) that activates new left sidebar, this is not stable at the moment.
 - fixing minor bugs
2022-09-27 12:26:57 +03:00
amd64fox
bf4631e509 deleting the Excremental-fun folder 2022-09-24 14:17:33 +03:00
amd64fox
2b8153a69a edit description and links 2022-09-24 12:48:05 +03:00
amd64fox
aff05512cb fix reset account settings
https://github.com/amd64fox/SpotX/issues/159
2022-09-24 12:08:44 +03:00
amd64fox
5876e402a4 version bump to 1.1.94.872 2022-09-22 18:31:17 +03:00
amd64fox
02b4ffe6e6 Merge pull request #148 from CDzungx/main
Vietnamese translation
2022-09-18 08:24:39 +03:00
CDzungx
206989a57b Update vi.ps1
slightly fix
2022-09-18 08:30:45 +07:00
CDzungx
8306073597 Update Install.ps1 2022-09-18 08:16:47 +07:00
CDzungx
04bfea692f Merge branch 'main' into main 2022-09-18 08:15:58 +07:00
CDzungx
2972e3caec Merge pull request #1 from aliazhar-id/main
Resolve branch conflicts
2022-09-18 08:03:01 +07:00
aliazhar
4ec1f59b12 Resolve branch conflicts 2022-09-18 07:31:45 +07:00
CDzungx
c2b6046960 Update vi.ps1
Lil fix
2022-09-17 23:50:27 +07:00
amd64fox
3a6f27117f Merge pull request #150 from aliazhar-id/main
Add Indonesian translation
2022-09-17 15:09:31 +03:00
aliazhar
38d919410e Fix some mistakes 2022-09-17 18:46:27 +07:00
aliazhar
a9c3c02eec Add Indonesian translation 2022-09-17 15:11:39 +07:00
CDzungx
580b884a74 Create vi.ps1 2022-09-17 13:07:10 +07:00
CDzungx
a346b7e100 Update Install.ps1 2022-09-17 11:59:35 +07:00
amd64fox
4a5bc9709a Merge pull request #147 from amd64fox/added-block-the-spot-discord-invite
Added BlockTheSpot/SpotX Discord invite
2022-09-16 20:29:26 +03:00
amd64fox
f02265e88c Merge pull request #146 from xyzze/patch-1
some changes in Portuguese
2022-09-16 20:28:07 +03:00
Nuzair Rasheed
263c72d2c7 Added BlockTheSpot/SpotX Discord invite 2022-09-16 22:53:24 +05:30
XYZ
1e3428e43c some changes 2022-09-16 18:19:12 +02:00
amd64fox
dd7520f77c fixed client startup error 2022-09-16 10:24:19 +03:00
amd64fox
551e72db6a Merge pull request #142 from igorruckert/patch-1
Create pt.ps1
2022-09-14 20:40:52 +03:00
amd64fox
df9e7f43c4 fix 2022-09-14 20:38:21 +03:00
Igor Rückert
a1b33cae11 Update pt.ps1 2022-09-14 14:36:57 -03:00
amd64fox
8f73b7e0a7 Update Install.ps1 2022-09-14 20:21:15 +03:00
amd64fox
1392269209 add translation author 2022-09-14 20:20:43 +03:00
Igor Rückert
82d9cf23a9 Create pt.ps1
Portuguese translation for SpotX installer
2022-09-14 14:02:05 -03:00
amd64fox
6e8e993d7b version bump to 1.1.94.870 2022-09-14 18:32:34 +03:00
amd64fox
f5cd1fc947 fix for 83 2022-09-14 11:41:27 +03:00
amd64fox
de225b6242 Update
- migration to Spotify version 1.1.94.864
 - fixed disabling podcasts for main
 - navalt theme enabled by default
 - added a new incoming parameter(navalt_off) to return to the old interface
 - enabled carusel for home page
 - correction of Russian translation
2022-09-12 19:56:15 +03:00
amd64fox
873bde9159 new sections
- new sections to hide shows and podcasts from homepage
2022-09-11 04:30:21 +03:00
amd64fox
98fc98d6ea new sections
- new sections to hide shows and podcasts from homepage
2022-09-09 13:02:04 +03:00
amd64fox
a97447bd04 fix regex 2022-09-06 07:46:45 +03:00
amd64fox
f98e062f09 fix similar playlist 2022-09-06 07:15:03 +03:00
amd64fox
d922e62ab0 added a similar playlist
- "Create similar playlist" menu is activated for someone else's playlists
2022-09-06 07:05:29 +03:00
amd64fox
c9a1828a88 Update README.md 2022-09-05 10:53:15 +03:00
amd64fox
263263b2a8 fix regex 2022-09-04 08:17:59 +03:00
amd64fox
c980de9acf Update
- added blocking of audio ads and billboards on the main page
 - bts patch is disabled by default
 - added more information about SpotX in "About Spotify" tab
2022-09-03 12:13:38 +03:00
amd64fox
6598e43a7c fix link 2022-09-01 05:07:44 +03:00
amd64fox
c0cb332c83 Update
- removing the track download quality switch in settings
 - hide very high streaming quality in settings
2022-09-01 05:02:57 +03:00
amd64fox
1ae02fe80d typo 2022-09-01 00:01:22 +03:00
amd64fox
51da0a0f94 Update
- migration to Spotify version 1.1.93.896
 - optimization of the string translation function
 - translation strings for the installer are entered into a separate folder
 - update disableSentry hook(thanks @kyrie25)
 - fixed disabling podcasts
 - navalt theme fix
 - fixed progress bar error for BitsTransfer
- Hindi translation added (thanks to @tdivyajyotis) https://github.com/amd64fox/SpotX/issues/124
2022-08-31 23:55:25 +03:00
amd64fox
31bf8f91be Update installer-new-translation.yml 2022-08-26 18:28:00 +03:00
amd64fox
71413e7f4c typo 2022-08-25 21:57:10 +03:00
amd64fox
b7e110c17e fixed exception for curl 2022-08-25 21:55:13 +03:00
amd64fox
cdf691f646 Merge pull request #118 from xerta555/patch-1
Add French translation
2022-08-19 20:30:03 +03:00
amd64fox
cfb5a8c4f1 fix commit 2022-08-19 20:29:01 +03:00
Rom
375a7bacbf Add French translation 2022-08-19 17:03:32 +02:00
amd64fox
3c35a31493 added Spanish in itranslation-fix 2022-08-18 18:39:01 +03:00
amd64fox
96ef3f29d5 fix curl
- removing the 200 code check for curl as it was causing some users to get an error
2022-08-18 18:36:26 +03:00
amd64fox
88831116b8 typo 2022-08-17 19:59:18 +03:00
amd64fox
4f68326826 Merge pull request #115 from peter9811/main
Spanish translation
2022-08-17 19:50:07 +03:00
amd64fox
7cce0a34e2 fix commit 2022-08-17 19:36:00 +03:00
Peter Cuevas
7d412f08d3 Spanish translation
Spanish translation
2022-08-17 10:48:41 -05:00
amd64fox
31336040c8 minor Readme fixes 2022-08-16 16:16:19 +03:00
amd64fox
61738f2e35 Update
- migration to Spotify version 1.1.92.647
 - added to the settings cleaning downloaded tracks and cache
 - fixed minor bugs and link paths
2022-08-16 14:39:11 +03:00
amd64fox
5d9acf57e2 Update bug report and fix no_shortcut
- added a question about the country of the account
 - fix no_shortcut
2022-08-14 18:41:13 +03:00
amd64fox
95aeeeb745 Without shortcut on desktop
- Added an incoming parameter (no_shortcut) that installs SpotX without a desktop shortcut https://github.com/amd64fox/SpotX/issues/108
2022-08-14 17:37:32 +03:00
amd64fox
8b168815c7 device picker unlock
- device picker unlock added for everyone https://github.com/amd64fox/SpotX/issues/93
2022-08-14 14:27:04 +03:00
amd64fox
03c677ca14 Add Translation
- added Polish Translation (thanks @Nokxixr) https://github.com/amd64fox/SpotX/issues/110
 -  added Georgian Translation  (thanks @Naviamold1) https://github.com/amd64fox/SpotX/issues/106
2022-08-14 14:14:32 +03:00
amd64fox
4c424794c4 Array sort error 2022-08-04 20:14:13 +03:00
amd64fox
1999acb1f1 Invalid environment variable
- Fixed incorrect PowerShell environment variable if launched from a bat file (Thanks @fastnicky69) https://github.com/amd64fox/SpotX/issues/101
2022-08-04 16:20:27 +03:00
amd64fox
669e0ced59 Update *.yml translation 2022-08-03 16:04:00 +03:00
amd64fox
0f42f1be40 Turkish translation added
- Added Turkish translation of the installer (Thanks @metezd) https://github.com/amd64fox/SpotX/issues/99
2022-08-02 16:53:24 +03:00
amd64fox
1bd9d25a65 fix connect unlock test 2022-08-02 12:37:28 +03:00
amd64fox
fcc3861d91 connect unlock test
- connect unlock test for 1.1.91
2022-08-02 11:50:26 +03:00
amd64fox
9586c6245d Update installer-new-translation.yml 2022-08-01 23:00:59 +03:00
amd64fox
0e99522557 update
- added automatic substitution of stars in the string
 - minor translation fixes
2022-08-01 22:52:19 +03:00
amd64fox
273ce14d7d Added Italian translation
- added Italian translation for installer (Thanks to @francescoaracu)
 - typos in translation corrected
2022-08-01 19:00:08 +03:00
amd64fox
f17e4f58b2 fix regex 2022-07-30 20:05:05 +03:00
amd64fox
53d718dc13 Update
- migration to Spotify version 1.1.91.824
 - ru translation fix
 - minor code fixes and typos
2022-07-30 19:48:38 +03:00
amd64fox
f8c7603c44 typo 2022-07-28 17:37:05 +03:00
amd64fox
240fd91559 fix installer translation 2022-07-28 17:20:55 +03:00
amd64fox
7345add4a1 Merge branch 'main' of https://github.com/amd64fox/SpotX 2022-07-28 17:16:50 +03:00
amd64fox
54ac38ff57 fix idea.yml 2022-07-28 17:16:43 +03:00
amd64fox
3865d7cab7 Update README.md 2022-07-28 17:08:09 +03:00
amd64fox
96d629e4b5 Update README.md 2022-07-28 17:07:55 +03:00
amd64fox
e6c06a89bb Update
- added FAQ
 - added forms yml
 - added "Report incorrect translations"
2022-07-28 17:03:10 +03:00
amd64fox
6d9930c7cd translation fix 2022-07-26 13:25:04 +03:00
amd64fox
e4bb370065 curl exception
- added exception for web request via curl
 - minor translation fixes
2022-07-26 13:10:57 +03:00
amd64fox
754413f760 Fixed bug
- fixed bug when deleting Ms Spotify (Thanks Ziad)
2022-07-22 07:27:32 +03:00
amd64fox
684f97c1f9 Added screenshot for enablenavalt 2022-07-22 05:14:14 +03:00
amd64fox
6786d4b1c1 fix enablenavalt
- fix error in enablenavalt input parameter
2022-07-22 04:22:34 +03:00
amd64fox
937acf8eb5 Del spotify.bak
- Deleting a possibly outdated copy of spotify.bak
2022-07-21 21:46:07 +03:00
amd64fox
a32f1a89fe Update
- up 1.1.90.859
 - improved algorithm for restoring files when refusing to re-block updates
2022-07-21 20:13:39 +03:00
amd64fox
51695f87d1 typo 2022-07-21 10:40:06 +03:00
amd64fox
9e7ec8f6fb hosts backup
- create a backup before changing the hosts file
2022-07-21 10:30:39 +03:00
amd64fox
93127b1376 fix regex 2022-07-21 09:40:50 +03:00
amd64fox
96ceebda0c fix regex
Fixing a bug where the script deleted commented lines in the hosts file (Thanks Bec-de-Xorbin)
2022-07-21 09:22:41 +03:00
amd64fox
a02860d3dd exp_off => exp_spotify
- changing the name of the input parameter from exp_off to exp_spotify
2022-07-21 08:33:41 +03:00
amd64fox
e79382186e Fix error in condition
- Fix error in condition when restoring files in reinstallation of Spicetify
2022-07-21 04:57:15 +03:00
amd64fox
0b8a0dc57e cutt
- removing translation strings
 - comment added
2022-07-20 08:49:34 +03:00
amd64fox
02b0664913 fix Install_Basic
- fixation standard Spotify features
2022-07-19 23:44:41 +03:00
amd64fox
fb05aa948f Fix links 2022-07-19 15:28:07 +03:00
amd64fox
ef040003d3 added cutt statistics 2022-07-19 14:52:42 +03:00
amd64fox
d9f024b6f1 new search enabled by default
Function has moved more into the main functionality of the client (outdated)
2022-07-19 14:21:59 +03:00
amd64fox
12125fd9cb Merge branch 'main' of https://github.com/amd64fox/SpotX 2022-07-19 14:16:17 +03:00
amd64fox
061c418e6d Update
- migration to Spotify version 1.1.90.855
 - added to Scoop installer (Thanks to NeoFoxxo)
 - equalizer activated
 - new device picker panel activated
 - updated incoming parameters
 - edits in the Russian translation of Spotify
 - code reduction and correction

Co-Authored-By: NeoFoxxo <104744179+NeoFoxxo@users.noreply.github.com>
2022-07-19 14:16:07 +03:00
amd64fox
9d819c031e Merge pull request #83 from NeoFoxxo/main
added how to install spotx via scoop
2022-07-19 13:37:00 +03:00
amd64fox
daa382dfe7 minor edits 2022-07-19 13:36:32 +03:00
NeoFoxxo
97617cce03 added how to install via scoop 2022-07-19 09:51:57 +10:00
amd64fox
b70c0cb4c0 fix the hosts file
- Attempt to fix the hosts file https://github.com/amd64fox/SpotX/issues/52
2022-07-15 06:58:41 +03:00
amd64fox
259580f704 typo 2022-07-14 07:54:29 +03:00
amd64fox
133f2c0c97 Cleanup readme, simplifying install.bat 2022-07-14 07:15:36 +03:00
83 changed files with 10717 additions and 2059 deletions

View File

@@ -1,33 +0,0 @@
---
name: ❌ Bug report
about: Create a report to help us improve
title: ''
labels: ❌ bug
assignees: ''
---
## Computer information
- Spotify version:
- Plan Spotify: free or premium
- Windows version:
- PowerShell version:
- Spicetify installed: yes or no
## 📝 Description of the problem
1.
2.
3.
## 📷 Screenshots
<details>
<summary><small>Screenshot</small></summary><p>
![test_screen](https://user-images.githubusercontent.com/62529699/149568115-36120440-1799-4b1b-80d5-06df10da5ec4.png)
</small></summary><p>
</details>

94
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,94 @@
name: ❌ Bug report
description: Report errors or unexpected behavior
labels: ❌ bug
body:
- type: checkboxes
attributes:
label: 🧐 Have you read the FAQ and viewed similar issues?
description: <strong>❗️❗️ Important:</strong> Please review the <a href="https://telegra.ph/SpotX-FAQ-09-19">FAQ</a> and check both open and closed <a href="https://github.com/SpotX-Official/SpotX/issues">issue</a>, as your concern may have already been addressed. However, please be aware that if it's discovered that requested actions weren't completed, the issue may be closed without explanation.
options:
- label: I have read the FAQ
required: true
- label: I have checked older issues, open and closed
required: true
- label: I did a clean install of SpotX as <a href="https://telegra.ph/SpotX-FAQ-09-19#1.-Clean-installation">described in the FAQ</a>
required: true
- type: markdown
attributes:
value: "###"
- type: input
id: lang_spoti
attributes:
label: Сountry of your account
description: You can view your country on your account page, in paragraph <a href="https://www.spotify.com/account/profile/">Country or region</a>.
placeholder: "e.g. Ukraine"
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: dropdown
id: plan
attributes:
label: What is your Spotify Plan?
description: You can view your plan on your account page, under <a href="https://www.spotify.com/account/">Your plan</a>.
options:
- Free
- Premium
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: dropdown
id: spicetify
attributes:
label: Do you have Spicetify installed?
description: <a href="https://spicetify.app/">Spicetify</a> is a command line tool to customize Spotify client.
options:
- "No"
- "Yes"
validations:
required: true
- type: markdown
attributes:
value: "###"
- type: textarea
attributes:
label: Computer information
description: |
- Spotify: e.g. <kbd>1.1.90.859.gf1bb1e36</kbd> (Avoid labeling version as "latest" due to regional update variations in Spotify)
- In the open Spotify client in the upper left corner, click <kbd>•••</kbd> → <kbd>Help</kbd> → <kbd>About Spotify</kbd>
- Windows: e.g. <kbd>Windows 11 21H2 22000.527</kbd>
- Press <kbd>Win</kbd> + <kbd>Pause/Break</kbd> to open the page to copy from.
- PowerShell: e.g. <kbd>5.1.19041.1200</kbd>
- Press <kbd>Win</kbd> + <kbd>R</kbd> then type "powershell," and press <kbd>Enter</kbd>, type the following command <kbd>Get-Host | Select-Object Version</kbd>
placeholder: |
- Spotify:
- Windows:
- PowerShell:
value: |
- Spotify:
- Windows:
- PowerShell:
render: markdown
validations:
required: true
- type: textarea
attributes:
label: 📝 Description
description: List steps to reproduce the error and details on what happens and what you expected to happen.
value: |
1.
2.
3.
...
validations:
required: true
- type: textarea
attributes:
label: 📸 Screenshots
description: Place any screenshots of the issue here if needed
validations:
required: false

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: ✏️ FAQ
url: https://telegra.ph/SpotX-FAQ-09-19
about: Read the frequently asked questions, maybe it will help solve your problem right now.

View File

@@ -1,25 +0,0 @@
---
name: 💡 To suggest an idea
about: Suggest an idea for this project
title: ''
labels: 💡 enhancement
assignees: ''
---
## 📝 Description of the idea
1.
2.
3.
## 📷 Screenshots
<details>
<summary><small>Screenshot</small></summary><p>
![test_screen](https://user-images.githubusercontent.com/62529699/149568115-36120440-1799-4b1b-80d5-06df10da5ec4.png)
</small></summary><p>
</details>

View File

@@ -0,0 +1,81 @@
name: 🌐 Installer translation
description: Translate the installer into your language
labels: 🌐 New translation
body:
- type: input
id: lang
attributes:
label: What language do you want to translate into?
description: Also note the already added <a href="https://github.com/SpotX-Official/SpotX/tree/main/scripts/installer-lang">languages</a>
placeholder: e.g. English
validations:
required: true
- type: input
id: langpowershell
attributes:
label: Enter language name in PowerShell
description: Enter the following command in the PowerShell terminal <kbd>$PSUICulture</kbd>, write the answer in the line below. For this to work, your Windows must be in this language.
placeholder: e.g. en-US
validations:
required: true
- type: textarea
attributes:
label: 📝 Translation strings
description: |
Now you can start translating strings, a few notes before you start:
- Translation strings start after an equals sign and are enclosed in quotation marks
- There are variables before the equal sign, they do not need to be translated.
- Also, if you come across characters <kbd>{0}</kbd>, <kbd>{1}</kbd>, <kbd>[Y/N]</kbd> or file names, then just skip them.
Good luck to you.
value: |
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Check your network settings and run the installation again"
Download5 = "Downloading Spotify"
StopScript = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Microsoft Store edition ? [Y/N]"
MsSpoti3 = "Automatically uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify version ({0}) is outdated, the current latest version is — {1}"
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]"
DelOld = "Uninstalling old Spotify..."
NewV = "Unsupported version of Spotify found"
NewV2 = "Your Spotify version ({0}) has not been tested. The stable version for SpotX is {1}"
NewV3 = "Continue with {0} (errors may occur) ? [Y/N]"
Recom = "Install the latest version {0} ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Hide podcasts, shows, and audiobooks on the homepage ? [Y/N]"
DowngradeNote = "It is recommended to block because there is already a newer version of Spotify"
UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Block Spotify updates ? [Y/N]"
ModSpoti = "Patching Spotify..."
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
InstallComplete = "installation completed"
HostInfo = "Unwanted URLs found in hosts file"
HostBak = "Backing up hosts.bak..."
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"
render: txt
validations:
required: true

View File

@@ -1,87 +0,0 @@
---
name: 🌏 Installer translation
about: Translate the installer into your language
title: Translation for [Write here your translation language]
labels: 🌏 New translation
assignees: ''
---
## 📝 Features translation
Before you start translating, you need to know how your language is called in powershell, for this you need Windows with this default language, enter the following command in the powershell terminal :
```ps1
$PSUICulture.Remove(2)
```
- Translation language powershell: *Enter here what you received in powershell*
Then you can start translating lines, they start after the equal sign.
It is important that you do not need to translate before the equal sign, these are variables.
Also, if you come across characters {0}, {1} or file names, then just skip them.
Good luck to you.
## 📝 Translation strings
```txt
Author = "Author:"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
CuttError = "Request error in cutt"
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Try to check your internet connection and run the installation again"
Download5 = "Downloading Spotify"
StopScrpit = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Windows Store edition [Y/N]"
MsSpoti3 = "Automatic uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
DownBts = "Downloading latest patch BTS..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify {0} version is outdated, it is recommended to upgrade to {1}"
OldV3 = "Want to update ? [Y/N]"
AutoUpd = "Automatic update to the recommended version"
DelOrOver = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]"
DelOld = "Uninstalling old Spotify..."
NewV = "Unsupported version of Spotify found"
NewV2 = "Your Spotify {0} version hasn't been tested yet, currently it's a stable {1} version"
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"
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Want to turn off podcasts ? [Y/N]"
DowngradeNote = "It is recommended to block because there was a downgrade of Spotify"
UpdBlock = "Updates blocked"
UpdUnblock = "Updates are not blocked"
UpdSelect = "Want to block updates ? [Y/N]"
CacheOn = "Clear cache enabled ({0})"
CacheOff = "Clearing the cache is not enabled"
CacheSelect = "Want to set up automatic cache cleanup? [Y/N]"
CacheDays = "Cache older: XX days to be cleared "
CacheDays2 = "Enter the number of days from 1 to 100"
NoVariable = "Didn't find variable"
NoVariable2 = "in xpui.js"
NoVariable3 = "in licenses.html"
NoVariable4 = "in html"
ModSpoti = "Patching Spotify..."
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall the client and run the script again"
Spicetify = "Spicetify detected"
NoRestore = "SpotX has already been installed, xpui.js and xpui.css not found. `nPlease uninstall Spotify client and run Install.bat again"
ExpOff = "Experimental features disabled"
NoRestore2 = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
UpdateBlocked = "Spotify updates are already blocked"
UpdateError = "Failed to block updates"
NoSpotifyExe = "Could not find Spotify.exe"
InstallComplete = "installation completed"
```

View File

@@ -0,0 +1,22 @@
name: "🌐 Localization/Translation issue"
description: Report incorrect translations.
labels: 🌐 Fix translation
body:
- type: textarea
attributes:
label: ❌ Actual phrase(s)
placeholder: What is there? Please include a screenshot as that is extremely helpful.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected phrase(s)
placeholder: What was expected?
validations:
required: true
- type: textarea
attributes:
label: Why is the current translation wrong
placeholder: Why do you feel this is incorrect?
validations:
required: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 935 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

1
.github/Pic/Shields/SpotX_Channel.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="119" height="18" role="img" aria-label="SpotX Channel: "><title>SpotX Channel: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#fff" stop-opacity=".7"/><stop offset=".1" stop-color="#aaa" stop-opacity=".1"/><stop offset=".9" stop-color="#000" stop-opacity=".3"/><stop offset="1" stop-color="#000" stop-opacity=".5"/></linearGradient><clipPath id="r"><rect width="119" height="18" rx="4" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="108" height="18" fill="#555"/><rect x="108" width="11" height="18" fill="#007ec6"/><rect width="119" height="18" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="2" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMCAwIDUuMzczIDAgMTJzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQyNSAxMS44NzFhNzk2LjQxNCA3OTYuNDE0IDAgMCAxIDYuOTk0LTMuMDE4YzMuMzI4LTEuMzg4IDQuMDI3LTEuNjI4IDQuNDc3LTEuNjM4LjEgMCAuMzIuMDIuNDcuMTQuMTIuMS4xNS4yMy4xNy4zMy4wMi4xLjA0LjMxLjAyLjQ3LS4xOCAxLjg5OC0uOTYgNi41MDQtMS4zNiA4LjYyMi0uMTcuOS0uNSAxLjE5OS0uODE5IDEuMjI5LS43LjA2LTEuMjI5LS40Ni0xLjg5OC0uOS0xLjA2LS42ODktMS42NDktMS4xMTktMi42NzgtMS43OTgtMS4xOS0uNzgtLjQyLTEuMjA5LjI2LTEuOTA4LjE4LS4xOCAzLjI0Ny0yLjk3OCAzLjMwNy0zLjIyOC4wMS0uMDMuMDEtLjE1LS4wNi0uMjEtLjA3LS4wNi0uMTctLjA0LS4yNS0uMDItLjExLjAyLTEuNzg4IDEuMTQtNS4wNTYgMy4zNDgtLjQ4LjMzLS45MDkuNDktMS4yOTkuNDgtLjQzLS4wMS0xLjI0OC0uMjQtMS44NjgtLjQ0LS43NS0uMjQtMS4zNDktLjM3LTEuMjk5LS43OS4wMy0uMjIuMzMtLjQ0Ljg5LS42NjlaIiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTEuOTkiIHkxPSIwIiB4Mj0iMTEuOTkiIHkyPSIyMy44MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMyQUFCRUUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyMjlFRDkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="/><text aria-hidden="true" x="635" y="140" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="810">SpotX Channel</text><text x="635" y="130" transform="scale(.1)" fill="#fff" textLength="810">SpotX Channel</text></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="139" height="18" role="img" aria-label="SpotX Community: "><title>SpotX Community: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#fff" stop-opacity=".7"/><stop offset=".1" stop-color="#aaa" stop-opacity=".1"/><stop offset=".9" stop-color="#000" stop-opacity=".3"/><stop offset="1" stop-color="#000" stop-opacity=".5"/></linearGradient><clipPath id="r"><rect width="139" height="18" rx="4" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="128" height="18" fill="#555"/><rect x="128" width="11" height="18" fill="#007ec6"/><rect width="139" height="18" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="2" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMCAwIDUuMzczIDAgMTJzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQyNSAxMS44NzFhNzk2LjQxNCA3OTYuNDE0IDAgMCAxIDYuOTk0LTMuMDE4YzMuMzI4LTEuMzg4IDQuMDI3LTEuNjI4IDQuNDc3LTEuNjM4LjEgMCAuMzIuMDIuNDcuMTQuMTIuMS4xNS4yMy4xNy4zMy4wMi4xLjA0LjMxLjAyLjQ3LS4xOCAxLjg5OC0uOTYgNi41MDQtMS4zNiA4LjYyMi0uMTcuOS0uNSAxLjE5OS0uODE5IDEuMjI5LS43LjA2LTEuMjI5LS40Ni0xLjg5OC0uOS0xLjA2LS42ODktMS42NDktMS4xMTktMi42NzgtMS43OTgtMS4xOS0uNzgtLjQyLTEuMjA5LjI2LTEuOTA4LjE4LS4xOCAzLjI0Ny0yLjk3OCAzLjMwNy0zLjIyOC4wMS0uMDMuMDEtLjE1LS4wNi0uMjEtLjA3LS4wNi0uMTctLjA0LS4yNS0uMDItLjExLjAyLTEuNzg4IDEuMTQtNS4wNTYgMy4zNDgtLjQ4LjMzLS45MDkuNDktMS4yOTkuNDgtLjQzLS4wMS0xLjI0OC0uMjQtMS44NjgtLjQ0LS43NS0uMjQtMS4zNDktLjM3LTEuMjk5LS43OS4wMy0uMjIuMzMtLjQ0Ljg5LS42NjlaIiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTEuOTkiIHkxPSIwIiB4Mj0iMTEuOTkiIHkyPSIyMy44MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMyQUFCRUUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyMjlFRDkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="/><text aria-hidden="true" x="735" y="140" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1010">SpotX Community</text><text x="735" y="130" transform="scale(.1)" fill="#fff" textLength="1010">SpotX Community</text></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="161" height="18" role="img" aria-label="SpotX for Mac &amp; Linux: "><title>SpotX for Mac &amp; Linux: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#fff" stop-opacity=".7"/><stop offset=".1" stop-color="#aaa" stop-opacity=".1"/><stop offset=".9" stop-color="#000" stop-opacity=".3"/><stop offset="1" stop-color="#000" stop-opacity=".5"/></linearGradient><clipPath id="r"><rect width="161" height="18" rx="4" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="150" height="18" fill="#555"/><rect x="150" width="11" height="18" fill="#97ca00"/><rect width="161" height="18" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="2" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjNEVBQTI1IiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+R05VIEJhc2g8L3RpdGxlPjxwYXRoIGQ9Ik0yMS4wMzgsNC45bC03LjU3Ny00LjQ5OEMxMy4wMDksMC4xMzQsMTIuNTA1LDAsMTIsMGMtMC41MDUsMC0xLjAwOSwwLjEzNC0xLjQ2MiwwLjQwM0wyLjk2MSw0LjkgQzIuMDU3LDUuNDM3LDEuNSw2LjQyOSwxLjUsNy41MDN2OC45OTVjMCwxLjA3MywwLjU1NywyLjA2NiwxLjQ2MiwyLjYwM2w3LjU3Nyw0LjQ5N0MxMC45OTEsMjMuODY2LDExLjQ5NSwyNCwxMiwyNCBjMC41MDUsMCwxLjAwOS0wLjEzNCwxLjQ2MS0wLjQwMmw3LjU3Ny00LjQ5N2MwLjkwNC0wLjUzNywxLjQ2Mi0xLjUyOSwxLjQ2Mi0yLjYwM1Y3LjUwM0MyMi41LDYuNDI5LDIxLjk0Myw1LjQzNywyMS4wMzgsNC45eiBNMTUuMTcsMTguOTQ2bDAuMDEzLDAuNjQ2YzAuMDAxLDAuMDc4LTAuMDUsMC4xNjctMC4xMTEsMC4xOThsLTAuMzgzLDAuMjJjLTAuMDYxLDAuMDMxLTAuMTExLTAuMDA3LTAuMTEyLTAuMDg1TDE0LjU3LDE5LjI5IGMtMC4zMjgsMC4xMzYtMC42NiwwLjE2OS0wLjg3MiwwLjA4NGMtMC4wNC0wLjAxNi0wLjA1Ny0wLjA3NS0wLjA0MS0wLjE0MmwwLjEzOS0wLjU4NGMwLjAxMS0wLjA0NiwwLjAzNi0wLjA5MiwwLjA2OS0wLjEyMSBjMC4wMTItMC4wMTEsMC4wMjQtMC4wMiwwLjAzNi0wLjAyNmMwLjAyMi0wLjAxMSwwLjA0My0wLjAxNCwwLjA2Mi0wLjAwNmMwLjIyOSwwLjA3NywwLjUyMSwwLjA0MSwwLjgwMi0wLjEwMSBjMC4zNTctMC4xODEsMC41OTYtMC41NDUsMC41OTItMC45MDdjLTAuMDAzLTAuMzI4LTAuMTgxLTAuNDY1LTAuNjEzLTAuNDY4Yy0wLjU1LDAuMDAxLTEuMDY0LTAuMTA3LTEuMDcyLTAuOTE3IGMtMC4wMDctMC42NjcsMC4zNC0xLjM2MSwwLjg4OS0xLjhsLTAuMDA3LTAuNjUyYy0wLjAwMS0wLjA4LDAuMDQ4LTAuMTY4LDAuMTExLTAuMmwwLjM3LTAuMjM2IGMwLjA2MS0wLjAzMSwwLjExMSwwLjAwNywwLjExMiwwLjA4N2wwLjAwNiwwLjY1M2MwLjI3My0wLjEwOSwwLjUxMS0wLjEzOCwwLjcyNi0wLjA4OGMwLjA0NywwLjAxMiwwLjA2NywwLjA3NiwwLjA0OCwwLjE1MSBsLTAuMTQ0LDAuNTc4Yy0wLjAxMSwwLjA0NC0wLjAzNiwwLjA4OC0wLjA2NSwwLjExNmMtMC4wMTIsMC4wMTItMC4wMjUsMC4wMjEtMC4wMzgsMC4wMjhjLTAuMDE5LDAuMDEtMC4wMzgsMC4wMTMtMC4wNTcsMC4wMDkgYy0wLjA5OC0wLjAyMi0wLjMzMi0wLjA3My0wLjY5OSwwLjExM2MtMC4zODUsMC4xOTUtMC41MiwwLjUzLTAuNTE3LDAuNzc4YzAuMDAzLDAuMjk3LDAuMTU1LDAuMzg3LDAuNjgxLDAuMzk2IGMwLjcsMC4wMTIsMS4wMDMsMC4zMTgsMS4wMSwxLjAyM0MxNi4xMDUsMTcuNzQ3LDE1LjczNiwxOC40OTEsMTUuMTcsMTguOTQ2eiBNMTkuMTQzLDE3Ljg1OWMwLDAuMDYtMC4wMDgsMC4xMTYtMC4wNTgsMC4xNDUgbC0xLjkxNiwxLjE2NGMtMC4wNSwwLjAyOS0wLjA5LDAuMDA0LTAuMDktMC4wNTZ2LTAuNDk0YzAtMC4wNiwwLjAzNy0wLjA5MywwLjA4Ny0wLjEyMmwxLjg4Ny0xLjEyOSBjMC4wNS0wLjAyOSwwLjA5LTAuMDA0LDAuMDksMC4wNTZWMTcuODU5eiBNMjAuNDU5LDYuNzk3bC03LjE2OCw0LjQyN2MtMC44OTQsMC41MjMtMS41NTMsMS4xMDktMS41NTMsMi4xODd2OC44MzMgYzAsMC42NDUsMC4yNiwxLjA2MywwLjY2LDEuMTg0Yy0wLjEzMSwwLjAyMy0wLjI2NCwwLjAzOS0wLjM5OCwwLjAzOWMtMC40MiwwLTAuODMzLTAuMTE0LTEuMTk3LTAuMzNMMy4yMjYsMTguNjQgYy0wLjc0MS0wLjQ0LTEuMjAxLTEuMjYxLTEuMjAxLTIuMTQyVjcuNTAzYzAtMC44ODEsMC40Ni0xLjcwMiwxLjIwMS0yLjE0Mmw3LjU3Ny00LjQ5OGMwLjM2My0wLjIxNiwwLjc3Ny0wLjMzLDEuMTk3LTAuMzMgYzAuNDE5LDAsMC44MzMsMC4xMTQsMS4xOTcsMC4zM2w3LjU3Nyw0LjQ5OGMwLjYyNCwwLjM3MSwxLjA0NiwxLjAxMywxLjE2NCwxLjczMkMyMS42ODYsNi41NTcsMjEuMTIsNi40MTEsMjAuNDU5LDYuNzk3eiIvPjwvc3ZnPg=="/><text aria-hidden="true" x="845" y="140" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1230">SpotX for Mac &amp; Linux</text><text x="845" y="130" transform="scale(.1)" fill="#fff" textLength="1230">SpotX for Mac &amp; Linux</text></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="179" height="20" role="img" aria-label="Download official installer: "><title>Download official installer: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="179" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="168" height="20" fill="#555"/><rect x="168" width="11" height="20" fill="#4c1"/><rect width="179" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJ3aGl0ZXNtb2tlIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+TWljcm9zb2Z0IEV4Y2VsPC90aXRsZT48cGF0aCBkPSJNMjMgMS41cS40MSAwIC43LjMuMy4yOS4zLjd2MTlxMCAuNDEtLjMuNy0uMjkuMy0uNy4zSDdxLS40MSAwLS43LS4zLS4zLS4yOS0uMy0uN1YxOEgxcS0uNDEgMC0uNy0uMy0uMy0uMjktLjMtLjdWN3EwLS40MS4zLS43US41OCA2IDEgNmg1VjIuNXEwLS40MS4zLS43LjI5LS4zLjctLjN6TTYgMTMuMjhsMS40MiAyLjY2aDIuMTRsLTIuMzgtMy44NyAyLjM0LTMuOEg3LjQ2bC0xLjMgMi40LS4wNS4wOC0uMDQuMDktLjY0LTEuMjgtLjY2LTEuMjlIMi41OWwyLjI3IDMuODItMi40OCAzLjg1aDIuMTZ6TTE0LjI1IDIxdi0zSDcuNXYzem0wLTQuNXYtMy43NUgxMnYzLjc1em0wLTUuMjVWNy41SDEydjMuNzV6bTAtNS4yNVYzSDcuNXYzem04LjI1IDE1di0zaC02Ljc1djN6bTAtNC41di0zLjc1aC02Ljc1djMuNzV6bTAtNS4yNVY3LjVoLTYuNzV2My43NXptMC01LjI1VjNoLTYuNzV2M1oiLz48L3N2Zz4="/><text aria-hidden="true" x="935" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1410">Download official installer</text><text x="935" y="140" transform="scale(.1)" fill="#fff" textLength="1410">Download official installer</text></g></svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

1
.github/Pic/Shields/faq.svg vendored Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="61" height="20" role="img" aria-label="FAQ: "><title>FAQ: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="61" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="50" height="20" fill="#555"/><rect x="50" width="11" height="20" fill="#dfb317"/><rect width="61" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZEMDAwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+SGVscERlc2s8L3RpdGxlPjxwYXRoIGQ9Ik0xMiAxMC43MWw2LjEyLTUuMzFIMTJjLTIuMTYgMC00LjMyLjA2LTYuMzYuMjEtLjg0LjA2LTEuNS42OS0xLjU2IDEuNTMtLjEyIDEuMjYtLjE4IDIuODUtLjE4IDQuNDF2Ljg3YzAgMS41OS4wNiAzLjE1LjE4IDQuNDEuMDkuODEuNzUgMS40NyAxLjU2IDEuNWE5MCA5MCAwIDAwMTIuNzIgMGMuODEtLjAzIDEuNS0uNjkgMS41Ni0xLjUuMDktMS4yLjE1LTIuNjcuMTgtNC4xN0wyNCA5LjNWMTIuNjZjMCAxLjU5LS4wNiAzLjE4LS4xOCA0LjQ3YTUuNTcgNS41NyAwIDAxLTUuMTkgNS4xYy0yLjEzLjE4LTQuMzguMjctNi42My4yN3MtNC41LS4wOS02LjYzLS4yNGE1LjU3IDUuNTcgMCAwMS01LjE5LTUuMUMuMDYgMTUuODEgMCAxNC4xMyAwIDEyLjQ1di0uODdDMCA5LjkuMDYgOC4yMi4xOCA2Ljg0YTUuNTcgNS41NyAwIDAxNS4xOS01LjFDNy41IDEuNTkgOS43NSAxLjUgMTIgMS41aDEydjMuOUwxMiAxNS44MWwtNS42MS00Ljg2TDkuMzMgOC40eiIvPjwvc3ZnPg=="/><text aria-hidden="true" x="345" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="230">FAQ</text><text x="345" y="140" transform="scale(.1)" fill="#fff" textLength="230">FAQ</text></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="139" height="20" role="img" aria-label="Telegram Channel: "><title>Telegram Channel: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="139" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="128" height="20" fill="#555"/><rect x="128" width="11" height="20" fill="#007ec6"/><rect width="139" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMCAwIDUuMzczIDAgMTJzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQyNSAxMS44NzFhNzk2LjQxNCA3OTYuNDE0IDAgMCAxIDYuOTk0LTMuMDE4YzMuMzI4LTEuMzg4IDQuMDI3LTEuNjI4IDQuNDc3LTEuNjM4LjEgMCAuMzIuMDIuNDcuMTQuMTIuMS4xNS4yMy4xNy4zMy4wMi4xLjA0LjMxLjAyLjQ3LS4xOCAxLjg5OC0uOTYgNi41MDQtMS4zNiA4LjYyMi0uMTcuOS0uNSAxLjE5OS0uODE5IDEuMjI5LS43LjA2LTEuMjI5LS40Ni0xLjg5OC0uOS0xLjA2LS42ODktMS42NDktMS4xMTktMi42NzgtMS43OTgtMS4xOS0uNzgtLjQyLTEuMjA5LjI2LTEuOTA4LjE4LS4xOCAzLjI0Ny0yLjk3OCAzLjMwNy0zLjIyOC4wMS0uMDMuMDEtLjE1LS4wNi0uMjEtLjA3LS4wNi0uMTctLjA0LS4yNS0uMDItLjExLjAyLTEuNzg4IDEuMTQtNS4wNTYgMy4zNDgtLjQ4LjMzLS45MDkuNDktMS4yOTkuNDgtLjQzLS4wMS0xLjI0OC0uMjQtMS44NjgtLjQ0LS43NS0uMjQtMS4zNDktLjM3LTEuMjk5LS43OS4wMy0uMjIuMzMtLjQ0Ljg5LS42NjlaIiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTEuOTkiIHkxPSIwIiB4Mj0iMTEuOTkiIHkyPSIyMy44MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMyQUFCRUUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyMjlFRDkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4K"/><text aria-hidden="true" x="735" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1010">Telegram Channel</text><text x="735" y="140" transform="scale(.1)" fill="#fff" textLength="1010">Telegram Channel</text></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="189" height="20" role="img" aria-label="Tutorial videos on YouTube: "><title>Tutorial videos on YouTube: </title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="189" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="178" height="20" fill="#555"/><rect x="178" width="11" height="20" fill="#e05d44"/><rect width="189" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSJ3aGl0ZXNtb2tlIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+WW91VHViZTwvdGl0bGU+PHBhdGggZD0iTTIzLjQ5OCA2LjE4NmEzLjAxNiAzLjAxNiAwIDAgMC0yLjEyMi0yLjEzNkMxOS41MDUgMy41NDUgMTIgMy41NDUgMTIgMy41NDVzLTcuNTA1IDAtOS4zNzcuNTA1QTMuMDE3IDMuMDE3IDAgMCAwIC41MDIgNi4xODZDMCA4LjA3IDAgMTIgMCAxMnMwIDMuOTMuNTAyIDUuODE0YTMuMDE2IDMuMDE2IDAgMCAwIDIuMTIyIDIuMTM2YzEuODcxLjUwNSA5LjM3Ni41MDUgOS4zNzYuNTA1czcuNTA1IDAgOS4zNzctLjUwNWEzLjAxNSAzLjAxNSAwIDAgMCAyLjEyMi0yLjEzNkMyNCAxNS45MyAyNCAxMiAyNCAxMnMwLTMuOTMtLjUwMi01LjgxNHpNOS41NDUgMTUuNTY4VjguNDMyTDE1LjgxOCAxMmwtNi4yNzMgMy41Njh6Ii8+PC9zdmc+"/><text aria-hidden="true" x="985" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="1510">Tutorial videos on YouTube</text><text x="985" y="140" transform="scale(.1)" fill="#fff" textLength="1510">Tutorial videos on YouTube</text></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1 +0,0 @@
test

View File

@@ -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');
}

32
.github/workflows/check_spotx.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Check Spotx for the latest Spotify
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Spotx
shell: powershell
run: |
$jsonUrl = "https://raw.githubusercontent.com/amd64fox/LoaderSpot/main/versions.json"
$resp = Invoke-RestMethod -Uri $jsonUrl
# Get a link to the x86 installer for the first version
$firstVersion = $resp.PSObject.Properties.Name | Select-Object -First 1
$x64InstallerUrl = $resp.$firstVersion.links.win.x64
# Regex to find the desired part of the link
$regex = [regex]::Match($x64InstallerUrl, "spotify_installer-(.+?)\.exe")
$version = $regex.Groups[1].Value
# Incoming parameters
$parametrs = '-Verbose -new_theme -v $version -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 -lyrics_block'
# Run Spotx
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } $parametrs"

34
.github/workflows/update-license.yml vendored Normal file
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

View File

@@ -1,73 +0,0 @@
@echo off
Setlocal EnableDelayedExpansion
set "exec=powershell $PSVersionTable.PSVersion.major"
for /f %%i in ('%exec%') do set ps-v=%%i 2>nul
if %ps-v% LEQ 2 (
Echo Powershell %ps-v%is not supported
@echo.
Echo Please read the instruction "Outdated versions of PowerShell" at the following link
@echo.
Echo "https://github.com/amd64fox/SpotX#possible-problems"
@echo.
pause
exit
)
curl -V >nul 2>&1
if %errorlevel% EQU 9009 (
echo "Curl" command line utility not found
@echo.
echo Please follow the link, download and install "Curl" manually
@echo.
echo "http://www.confusedbycode.com/curl/#downloads"
@echo.
pause
exit
)
for /f %%i in ('curl --write-out %%{http_code} --silent --output /dev/null --insecure https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1') do set STATUS_CODE=%%i 2>nul
if %STATUS_CODE% EQU 200 (
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | Invoke-Expression}"
)
if %STATUS_CODE% LSS 1 (
echo No network connection
@echo.
echo Trying to reconnect via...
TIMEOUT /T 5
cls
for /f %%i in ('curl --write-out %%{http_code} --silent --output /dev/null --insecure https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1') do set STATUS_CODE=%%i 2>nul
if "!STATUS_CODE!" EQU "200 " (
cls
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | Invoke-Expression}"
) else (
echo Error again
@echo.
echo Check your internet connection
@echo.
echo Script stopped
@echo.
pause
exit
)
)
if %STATUS_CODE% GTR 100 if not %STATUS_CODE% EQU 200 (
echo Failed to connect to github.com
@echo.
echo HTTP response code %STATUS_CODE%
@echo.
echo Trying to reconnect via...
TIMEOUT /T 5
cls
for /f %%i in ('curl --write-out %%{http_code} --silent --output /dev/null --insecure https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1') do set STATUS_CODE=%%i 2>nul
if "!STATUS_CODE!" EQU "200 " (
cls
powershell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | Invoke-Expression}"
) else (
echo Error again
@echo.
echo Try to run after some time
@echo.
echo Script stopped
@echo.
)
)
pause
exit /b

File diff suppressed because it is too large Load Diff

14
Install_New_theme.bat Normal file
View File

@@ -0,0 +1,14 @@
@echo off
:: Line for changing spotx parameters, each parameter should be separated by a space
set param=-new_theme
set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
-Command %tls% $p='%param%'; """ & { $(try { iwr -useb %url% } catch { $p+= ' -m'; iwr -useb %url2% })} $p """" | iex
pause
exit /b

14
Install_Old_theme.bat Normal file
View File

@@ -0,0 +1,14 @@
@echo off
:: Line for changing spotx parameters, each parameter should be separated by a space
set param=-v 1.2.13.661.ga588f749 -confirm_spoti_recomended_over -block_update_on
set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
-Command %tls% $p='%param%'; """ & { $(try { iwr -useb %url% } catch { $p+= ' -m'; iwr -useb %url2% })} $p """" | iex
pause
exit /b

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2021-2022 amd64fox
Copyright (c) 2021-2026 amd64fox
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

258
README.md
View File

@@ -1,122 +1,167 @@
<p align="center">
<a href="https://github.com/amd64fox/SpotX/releases"><img src="https://github.com/amd64fox/SpotX/raw/main/.github/Pic/logo.png" />
<p align="center">
<a href="https://github.com/SpotX-Official/SpotX/releases"><img src="https://spotx-official.github.io/images/logos/logo.png" /></a>
</p>
<p align="center">
<a href="https://t.me/spotify_windows_mod"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/tg.svg"></a>
<a href="https://www.youtube.com/results?search_query=https%3A%2F%2Fgithub.com%2Famd64fox%2FSpotX"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/youtube.svg"></a>
<a href="https://cutt.ly/8EH6NuH"><img src="https://raw.githubusercontent.com/amd64fox/SpotX/main/.github/Pic/Shields/excel.svg"></a>
</p>
<h2> <div align="center"><b> Modified Spotify Client for Windows </b></div> </h2>
<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/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://telegra.ph/SpotX-FAQ-09-19"><img src="https://spotx-official.github.io/images/shields/faq.svg"></a>
</p>
<h1>System requirements</h1>
<h2>
<div align="center">
<b>Patcher for Spotify Desktop Client on Windows </b>
</div>
</h2>
- <strong>OS: Windows 7-11</strong>
- <strong>Spotify: Recommended official version [1.1.89.862](https://cutt.ly/8EH6NuH)</strong>
- <strong>For Windows Desktop only (Microsoft store version is not suitable).</strong>
- <strong>PowerShell: 3 or higher</strong>
<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>
<h1>Features</h1>
<h1 id="requirements">Requirements</h1>
- <strong>Blocks all banner, video and audio ads in the client</strong>
- <strong>Unlocks the skip function of any track</strong>
- <strong>Full screen mode activated</strong>
- <strong>Hidden podcasts and episodes from the homepage (optional)</strong>
- <strong>Blocks automatic updates (optional)</strong>
- <strong>Automatic [cache clearing](https://github.com/amd64fox/SpotX/discussions/2) (optional)</strong>
- <strong>Enabled [enhance playlist](https://github.com/amd64fox/SpotX/discussions/50#discussion-4108773)</strong>
- <strong>Enabled [enhance liked songs UI](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2851482)</strong>
- <strong>Enabled [new lyrics](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2851485)</strong>
- <strong>Enabled [new search with chips experience](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2851545)</strong>
- <strong>Enabled [a condensed discography shelf on artist pages](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2851591)</strong>
- <strong>Enabled [Ignore In Recommendations](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2996165)</strong>
- <strong>Activated ["Made For You" in the left sidebar](https://github.com/amd64fox/SpotX/discussions/50#discussioncomment-2853981)</strong>
- <strong>Disabled Sentry (Prevented Sentry from sending console log/error/warning to Spotify developers)</strong>
- <strong>Disabled logging (Stopped various elements to log user interaction)</strong>
- <strong>Removed RTL rules (Removed all right-to-left CSS rules to simplify CSS files)</strong>
- <strong>Code minification</strong>
- **OS:** Windows 7-11
- **Spotify:** [Official desktop version](https://loadspot.pages.dev) (Microsoft Store version is not suitable)
- **PowerShell:** 5.1 and above
<h1>Fast installation / Update</h1>
<h1 id="features">Features</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>
<details>
<summary><small>Usual installation</small></summary><p>
<summary><small>Usual installation (New theme)</small></summary><p>
<h4>During installation, you need to confirm some actions</h4>
#### During installation, you need to confirm some actions, also contains:
* Just download and run [Install.bat](https://raw.githack.com/amd64fox/SpotX/main/Install.bat)
- New theme activated (new right and left sidebar, some cover change)
- All [experimental features](https://github.com/SpotX-Official/SpotX/discussions/50) included
<h4> </h4>
#### Just download and run [Install_New_theme.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_New_theme.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content | iex
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -new_theme"
```
#### mirror
```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -new_theme"
```
</details>
<details>
<summary><small>Automated basic installation</small></summary><p>
<summary><small>Usual installation (Old theme)</small></summary><p>
<h4>Automated basic installation without confirmation, what does it do?</h4>
- Automatic removal of Spotify MS if it was found
- Automatic installation of the recommended version of Spotify (if another client has already been found, it will be installed over)
- After the installation is completed, the client will autorun
<h4> </h4>
- Just download and run [Install_Basic.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Basic.bat)
or
- Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_off -start_spoti"
```
</details>
<details>
<summary><small>Automatic full installation</small></summary><p>
<h4>Automatic installation without confirmation, what does it do?</h4>
- Automatic removal of Spotify MS if it was found
- Automatic installation of the recommended version of Spotify (if another client has already been found, it will be installed over)
- Removal of podcasts from the main page
#### During installation, you need to confirm some actions, also contains:
- Forced installation of version 1.2.13 (since the old theme was removed in subsequent versions)
- Old theme activated
- Automatic blocking of Spotify updates
- All [experimental features](https://github.com/amd64fox/SpotX/discussions/50) included
- All [experimental features](https://github.com/SpotX-Official/SpotX/discussions/50) included
<h4> </h4>
#### Just download and run [Install_Old_theme.bat](https://raw.githack.com/amd64fox/SpotX/main/Install_Old_theme.bat)
or
#### Run The following command in PowerShell:
```ps1
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
```ps1
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>
<summary><small>Full installation</small></summary><p>
<h4>Full installation without confirmation, what does it do?</h4>
- New theme activated (new right and left sidebar, some cover change)
- Hiding podcasts/episodes/audiobooks from the homepage
- Activated [static theme](https://github.com/SpotX-Official/SpotX/discussions/50#discussioncomment-4096066) <kbd>spotify</kbd> for lyrics
- Hiding [ad-like sections](https://github.com/SpotX-Official/SpotX/discussions/50#discussioncomment-4478943)
- All [experimental features](https://github.com/SpotX-Official/SpotX/discussions/50) included
- Removal of Spotify MS if it was found
- Installation of the recommended version of Spotify (if another client has already been found, it will be installed over)
- Blocking of Spotify updates
- After the installation is completed, the client will autorun.
<h4> </h4>
- Just download and run [Install_Auto.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Auto.bat)
#### Just download and run [Install_Auto.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Auto.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -cache_off -block_update_on -start_spoti"
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
```ps1
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>
<summary><small>Other types of installations</summary><p>
<details>
<summary><small>Installation for premium</small></summary><p>
<h4>Usual installation only without ad blocking, for those who have a premium account</h4>
#### Usual installation only without ad blocking, for those who have a premium account, also contains:
* Just download and run [Install_Prem.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Prem.bat)
- New theme activated (new right and left sidebar, some cover change)
- Disabled only audio ads in podcasts
- All [experimental features](https://github.com/SpotX-Official/SpotX/discussions/50) included
<h4> </h4>
#### Just download and run [Install_Prem.bat](https://raw.githack.com/amd64fox/SpotX/main/scripts/Install_Prem.bat)
or
- Run The following command in PowerShell:
#### Run The following command in PowerShell:
```ps1
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content) } -premium"
iex "& { $(iwr -useb 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1') } -premium -new_theme"
```
#### mirror
```ps1
iex "& { $(iwr -useb 'https://spotx-official.github.io/SpotX/run.ps1') } -m -premium -new_theme"
```
</details>
@@ -124,73 +169,24 @@ or
<details>
<summary><small>Installing with parameters</small></summary><p>
You can specify various parameters for a more flexible installation, more [details here](https://github.com/amd64fox/SpotX/discussions/60)
You can specify various parameters for a more flexible installation, more [details here](https://github.com/SpotX-Official/SpotX/discussions/60)
</details>
<details>
<summary><small>Установка на русском</small></summary><p>
Теперь установка на русском языке доступна в основном скрипте, просто скачайте и запустите `Install.bat` или выполните другие типы установки указанные выше.
</details>
<h1>Uninstall</h1>
<h1 id="uninstall">Uninstall</h1>
- Just run [Uninstall.bat](https://cutt.ly/dErpPEK)
- Just run [Uninstall.bat](https://raw.githack.com/amd64fox/SpotX/main/Uninstall.bat)
or
- Reinstall Spotify ([Full uninstall](https://github.com/amd64fox/Uninstall-Spotify) recommended)
- Reinstall Spotify ([Full uninstall Spotify](https://github.com/amd64fox/Uninstall-Spotify) recommended)
<h1>Possible problems</h1>
<h1 id="faq">FAQ</h1>
<details>
<summary><small>In most cases, this helps solve problems.</small></summary><p>
Read [FAQ](https://telegra.ph/SpotX-FAQ-09-19)
If you notice an error or other malfunction in the mod or in its installation, then do not rush to create a problem report, try this couple of simple steps, this helps to solve a large number of different bugs:
<h1 id="disclaimer">Disclaimer</h1>
- Completely remove Spotify so that there are no tails from the old versions of the client, [this patch](https://github.com/amd64fox/Uninstall-Spotify) will do it for you in one click.
- Also, as an additional measure, look at your host file, it should not contain different URLs that can cause the client to work incorrectly, even if you are sure that you did not add anything to it, then go into it anyway and check it for sure, since Some ad blockers that you may have used in the past may have added entries to the host file automatically without your consent.
To quickly open the host file, press `Win + R` and enter `%WinDir%\System32\Drivers\Etc\hosts`, in order for the system to allow you to edit the file, you need to open it as an administrator.
- If you still see errors, then install the original client and check this error there, if the error is present in the original client, then here you need to wait for a fix from the Spotify developers.
To expedite resolution of a problem in the original client, please create a problem report on their [support forum](https://community.spotify.com/t5/Desktop-Windows/bd-p/desktop_windows).
In the meantime, you are waiting for a fix, you can temporarily return to the previous version of Spotify that worked for you and block updates in it, [this instruction](https://github.com/amd64fox/Rollback-Spotify) will help you with this.
</details>
<details>
<summary><small>Outdated versions of PowerShell</small></summary><p>
If you are using Windows 7, there may be errors in the installation process due to an outdated version of NET Framework and PowerShell.
Do the following:
- Upgrade to [NET Framework 4.8](https://go.microsoft.com/fwlink/?linkid=2088631)
- Upgrade to [WMF 5.1](https://www.microsoft.com/en-us/download/details.aspx?id=54616)
- Reboot your PC
</details>
<details>
<summary><small>After running Install.bat, the message "Curl command line utility not found" appeared</small></summary><p>
The curl command was not found in the system (in windows 10 and above it comes out of the box), you need to install it manually:
- Follow the [link](http://www.confusedbycode.com/curl/#downloads) and download the installation file, depending on the bitness of the OS.
- We start the installation process, at the end we must restart the PC.
</details>
<details>
<summary><small>How do I go back to the previous version of the client ?</small></summary><p>
If you have problems with the patch after upgrading the client version, then use this [tool](https://github.com/amd64fox/Rollback-Spotify) to revert back to the working version.
</details>
<h1>Additional Notes</h1>
- The repository is based on <a href="https://github.com/mrpond/BlockTheSpot">BlockTheSpot</a>, and also some tricks were taken from <a href="https://github.com/khanhas/spicetify-cli">spicetify-cli</a>, many thanks to the contributors
- SpotX will only work correctly on the latest versions of Spotify, please make sure of this before asking a question.
- The modifiable files are replaced by the Spotify installer every time it is updated, so you will need to apply the patch again when this happens.
- [SpotX will be installed even if you are using Spicetify](https://github.com/amd64fox/SpotX/discussions/28#discussioncomment-2389043), but you may need to run Install.bat again after running the `spicetify apply` or other commands.
SpotX is a tool that modifies the official Spotify client, provided as an evaluation version — use it at your own risk.

View File

@@ -1,80 +1,33 @@
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
echo *****************
echo Author: @amd64fox
echo *****************
echo Removing Patch...
set "SPOTIFY_PATH=%Appdata%\Spotify"
if exist "%Appdata%\Spotify\chrome_elf_bak.dll" (
del /s /q "%Appdata%\Spotify\chrome_elf.dll" > NUL 2>&1
move "%Appdata%\Spotify\chrome_elf_bak.dll" "%Appdata%\Spotify\chrome_elf.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 "%SPOTIFY_PATH%\Spotify.dll.bak" (
del /s /q "%SPOTIFY_PATH%\Spotify.dll" > NUL 2>&1
move "%SPOTIFY_PATH%\Spotify.dll.bak" "%SPOTIFY_PATH%\Spotify.dll" > NUL 2>&1
)
if exist "%SPOTIFY_PATH%\Spotify.bak" (
del /s /q "%SPOTIFY_PATH%\Spotify.exe" > NUL 2>&1
move "%SPOTIFY_PATH%\Spotify.bak" "%SPOTIFY_PATH%\Spotify.exe" > NUL 2>&1
)
if exist "%SPOTIFY_PATH%\Apps\xpui.bak" (
del /s /q "%SPOTIFY_PATH%\Apps\xpui.spa" > NUL 2>&1
move "%SPOTIFY_PATH%\Apps\xpui.bak" "%SPOTIFY_PATH%\Apps\xpui.spa" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Spotify.bak" (
del /s /q "%Appdata%\Spotify.exe" > NUL 2>&1
move "%Appdata%\Spotify\Spotify.bak" "%Appdata%\Spotify\Spotify.exe" > NUL 2>&1
if exist "%temp%\SpotX_Temp*" (
for /d %%i in ("%temp%\SpotX_Temp*") do (
rd /s/q "%%i" > NUL 2>&1
)
)
if exist "%Appdata%\Spotify\config.ini" (
del /s /q "%Appdata%\Spotify\config.ini" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Apps\xpui.bak" (
del /s /q "%Appdata%\Spotify\Apps\xpui.spa" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui.bak" "%Appdata%\Spotify\Apps\xpui.spa" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Apps\xpui\xpui.js.bak" (
del /s /q "%Appdata%\Spotify\Apps\xpui\xpui.js" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui\xpui.js.bak" "%Appdata%\Spotify\Apps\xpui\xpui.js" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Apps\xpui\xpui.css.bak" (
del /s /q "%Appdata%\Spotify\Apps\xpui\xpui.css" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui\xpui.css.bak" "%Appdata%\Spotify\Apps\xpui\xpui.css" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Apps\xpui\licenses.html.bak" (
del /s /q "%Appdata%\Spotify\Apps\xpui\licenses.html" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui\licenses.html.bak" "%Appdata%\Spotify\Apps\xpui\licenses.html" > NUL 2>&1
)
if exist "%Appdata%\Spotify\Apps\xpui\i18n\ru.json.bak" (
del /s /q "%Appdata%\Spotify\Apps\xpui\i18n\ru.json" > NUL 2>&1
move "%Appdata%\Spotify\Apps\xpui\i18n\ru.json.bak" "%Appdata%\Spotify\Apps\xpui\i18n\ru.json" > NUL 2>&1
)
if exist "%Appdata%\Spotify\blockthespot_log.txt" (
del /s /q "%Appdata%\Spotify\blockthespot_log.txt" > NUL 2>&1
)
if exist "%Appdata%\Spotify\cache" (
rd /s /q %Appdata%\Spotify\cache > NUL 2>&1
SET Esc_LinkDest=%Userprofile%\Desktop\Spotify.lnk
SET Esc_LinkTarget=%Appdata%\Spotify\Spotify.exe
SET Esc_WorkLinkTarget=%Appdata%\Spotify\
SET cSctVBS=CreateShortcut.vbs
((
echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
echo oLink.WorkingDirectory = oWS.ExpandEnvironmentStrings^("!Esc_WorkLinkTarget!"^)
echo oLink.Save
)1>!cSctVBS!
cscript !cSctVBS!
DEL !cSctVBS! /f /q
)
)
echo Patch successfully removed
pause

View File

@@ -0,0 +1,8 @@
:root {
--past: {{past}};
--current: {{current}};
--next: {{next}};
--hover: {{hover}};
--background: {{background}};
--musixmatch: {{musixmatch}};
}

View File

@@ -0,0 +1,132 @@
@import url('colors.css');
/* mini lyrics */
.Li269NgzkU2gI4KOP9sM,
.I2WIloMMjsBeMaIS8H3v,
.McI3hD7aCfpq015LJa6X,
.gpDSOimnzH4zTJmE7UR5 {
--lyrics-color-active: var(--current) !important;
--lyrics-color-inactive: var(--next) !important;
--lyrics-color-passed: var(--past) !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 */
.ebHsEf.I4K12o0qDoITOLr2AEs0,
.ebHsEf.OYiGFGZJDIZ4FF4ZTDK2,
.jKdLzW.LvLs_UgYs7ps5KdoCr0h,
.bWzOVV._T5UDP2tItG9WGdwO5Yi,
.hzUuLPdH48AzgQun5NYQ [data-encore-id="type"],
.hzUuLPdH48AzgQun5NYQ [data-encore-id="text"],
body .LomBcMvfM8AEmZGquAdj,
body .W_EplVEAbZrZURqfLiQC,
body .kGR_hu4tdj9PnUlSPaRL,
.GML6YUVCeJvRhGznLnqm,
body .iq4cgi0YEKr6DGaTtzUj,
body .KDhLFoEqoClhH12bsfrS {
color: var(--musixmatch) !important;
}
/* lyrics not available message */
.C3pBU1DsOUJJOAv89ZFT,
.T67LFP0PElpfkkLuegQt,
.e7eFLioNSG5PAi1qVFT4 {
color: var(--musixmatch) !important;
}
/* full cinema lyrics */
.FUYNhisXTCmbzt9IDxnT,
.tr8V5eHsUaIkOYVw7eSG,
.hW9km7ku6_iggdWDR_Lg,
.lofIAg8Ixko3mfBrbfej {
--lyrics-color-active: var(--current) !important;
--lyrics-color-inactive: var(--next) !important;
--lyrics-color-passed: var(--past) !important;
--lyrics-color-background: var(--background) !important;
}
/* fix previous lyrics for old versions */
.H2J92dVdr0ykdOX5azL1,
.KnFq2ijXFdOtyl4Iebjv {
color: var(--past) !important;
opacity: 1 !important;
}
/* hover */
.vapgYYF2HMEeLJuOWGq5:hover,
._LKG3z7SnerR0eigPCoK:hover,
.NHVfxGs2HwmI_fly2JC4:hover,
.gaHIufRWhoWbiT8S6zuM:hover,
.FQYXZaa0aDIrse54YlYO:hover {
color: var(--hover) !important;
/* remove underline */
text-decoration: none !important;
}
/* lyrics unsynced */
.HxblHEsl2WX2yhubfVIc,
.SruqsAzX8rUtY2isUZDF,
.eTLjCqbDo7QehPEPz86a,
.AEfhRyqGa3vzQrgfdwWE.Re403AJffPPuZmX7LRJj,
.NHVfxGs2HwmI_fly2JC4.E64X_eoy6xsJmDdKKHja,
.gaHIufRWhoWbiT8S6zuM.Qo3OkrSis5IWlP9Tchbr,
.AEfhRyqGa3vzQrgfdwWE .Re403AJffPPuZmX7LRJj {
color: var(--next) !important;
}
/* full screen lyrics */
.npv-lyrics__text-wrapper--previous .npv-lyrics__text {
color: var(--past) !important;
}
.npv-lyrics__text-wrapper--current .npv-lyrics__text {
color: var(--current) !important;
}
.npv-lyrics__text-wrapper--next .npv-lyrics__text {
color: var(--next) !important;
}
.npv-lyrics__text.npv-lyrics__text--credits,
.npv-lyrics__text--unsynced-warning {
color: var(--musixmatch) !important;
}
.npv-lyrics__text--unsynced {
color: var(--next) !important;
}
.npv-background-color {
background: var(--background) !important;
}
.npv-main-container {
background: transparent !important;
}
.npv-lyrics__gradient-background {
background: -webkit-gradient(linear, left top, left bottom, from(rgba(18, 18, 18, 0)), color-stop(30%, var(--background)), color-stop(60%, var(--background))) !important;
background: -webkit-linear-gradient(top, rgba(18, 18, 18, 0) 0%, var(--background) 30%, var(--background) 60%) !important;
background: linear-gradient(to bottom, rgba(18, 18, 18, 0) 0%, var(--background) 30%, var(--background) 60%) !important;
}
/* read along podcasts */
.l6lFMYQteTVnTcHnLywc,
._nDkCIVgkWayq3tqiIuW,
.B_wut2Bw4HwLr3w8rNfM {
--transcript-color-background: var(--background) !important;
--transcript-color-text: var(--next) !important;
--transcript-color-highlightText: var(--current) !important;
}

964
js-helper/checkVersion.js Normal file
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);
};
})();

68
js-helper/goofyHistory.js Normal file
View File

@@ -0,0 +1,68 @@
// 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;
// max delay between switching tracks (ms)
const MAX_DELAY = 1000;
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
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();
}
};
const saveTracksToStorage = (tracks) => {
try {
let tracksArray = [...tracks];
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": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "entry." + idBox + "=" + uri,
"method": "POST",
"mode": "no-cors",
});
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);

352
js-helper/sectionBlock.js Normal file
View File

@@ -0,0 +1,352 @@
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'
]
};
const BLOCKED_SECTIONS = {};
for (const [category, ids] of Object.entries(BLOCKED_SECTIONS_BY_CATEGORY)) {
for (const id of ids) {
BLOCKED_SECTIONS[id] = category;
}
}
const BLOCKED_CONTENT_TYPES = new Set(['Podcast', 'Audiobook', 'Episode']);
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);
}
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 items = data?.content?.items || data?.data?.content?.items;
const isPersonalizedRecommendations = !!items && !body;
const targetArray = isPersonalizedRecommendations ? items : sections;
function removeSections() {
if (!targetArray?.length) return;
const adapter = createSectionAdapter(isPersonalizedRecommendations);
const removed = [];
for (let i = targetArray.length - 1; i >= 0; i--) {
const item = targetArray[i];
const sectionId = adapter.getId(item);
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() {
if (!targetArray?.length) return;
const adapter = createSectionAdapter(isPersonalizedRecommendations);
const removed = [];
for (let i = targetArray.length - 1; i >= 0; i--) {
const item = targetArray[i];
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);
}
}
function removeCanvasSections() {
if (!sections?.length) return;
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 (removed.length > 0) {
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;
}
};

View File

@@ -0,0 +1,646 @@
{
"lang": {
"version": "1.2.80",
"language": "Russian"
},
"1": {
"match": "\"Confirm your age\"",
"replace": "\"Подтвердите свой возраст\""
},
"2": {
"match": "\"%price%/month after. Terms and conditions apply. One month free not available for users who have already tried Premium.\"",
"replace": "\"%price%/месяц спустя. Принять условия. Один месяц бесплатно, недоступно для пользователей, которые уже попробовали Premium.\""
},
"3": {
"match": "\"Offline storage location\"",
"replace": "\"Хранилище скачанных треков\""
},
"4": {
"match": "\"Click to start listening\"",
"replace": "\"Нажмите, чтобы начать прослушивание\""
},
"5": {
"match": "\"Change speed\"",
"replace": "\"Изменение скорости\""
},
"6": {
"match": "\"You need to be at least 19 years old to listen to explicit content marked with\"",
"replace": "\"Вам должно быть не менее 19 лет, чтобы слушать непристойный контент, помеченный значком\""
},
"7": {
"match": "\"Add to another playlist\"",
"replace": "\"Добавить в другой плейлист\""
},
"8": {
"match": "\"Character counter\"",
"replace": "\"Счетчик символов\""
},
"9": {
"match": "\"Toggle lightsaber hilt. Current is [{]0[}].\"",
"replace": "\"Переключить рукоять светового меча. Текущий {0}.\""
},
"10": {
"match": "\"Doors at .0.\"",
"replace": "\"Вход в {0}\""
},
"11": {
"match": "\"Show at .0.\"",
"replace": "\"Показ в {0}\""
},
"12": {
"match": "\"Your Location\"",
"replace": "\"Ваше местоположение\""
},
"13": {
"match": "\"Override certain user attributes to test regionalized content programming. The overrides are only active in this app.\"",
"replace": "\"Переопределите определенные атрибуты пользователя, чтобы протестировать региональное программирование контента. Переопределения активны только в этом приложении.\""
},
"14": {
"match": " was released this week!",
"replace": " был выпущен на этой неделе!"
},
"15": {
"match": "\"Speed [{]0[}]×\"",
"replace": "\"Скорость {0}×\""
},
"16": {
"match": "\"Artist\"",
"replace": "\"Исполнитель\""
},
"17": {
"match": "\"... of ...\"",
"replace": "\"{0} из {1}\""
},
"18": {
"match": "\"Не удалось изменить\"",
"replace": "\"Не удалось обновить\""
},
"19": {
"match": "Dynamic loudness control for podcasts - Actively maintain optimal podcast volume level for a clear and balanced sound experience",
"replace": "Динамическое управление громкостью для подкастов - активное поддержание оптимального уровня громкости подкаста для четкого и сбалансированного звукового восприятия"
},
"20": {
"match": "\"Build .0. is available\"",
"replace": "\"Сборка {0} доступна\""
},
"21": {
"match": "\"Downloading build .0....\"",
"replace": "\"Загрузка сборки {0}...\""
},
"22": {
"match": "\"Build .0. is ready to install\"",
"replace": "\"Сборка {0} готова к установке\""
},
"23": {
"match": "\"Remove\"",
"replace": "\"Удалить\""
},
"24": {
"match": "\"Do not translate\"",
"replace": "\"Не переводить\""
},
"25": {
"match": "\"Translating to .0.\"",
"replace": "\"Перевожу на {0}\""
},
"26": {
"match": "\"Translation to .0. not available\"",
"replace": "\"Перевод на {0} недоступен\""
},
"27": {
"match": "\"Translate lyrics\"",
"replace": "\"Перевести текст песни\""
},
"28": {
"match": "\"Spotify MiniPlayer\"",
"replace": "\"мини-плеер Spotify\""
},
"29": {
"match": "\"Venue\"",
"replace": "\"Место проведения\""
},
"30": {
"match": "\"We couldn't find the venue\"",
"replace": "\"Мы не смогли найти место проведения\""
},
"31": {
"match": "\"Bring back to main window\"",
"replace": "\"Вернуться к основному окну\""
},
"32": {
"match": "\"Chapter\"",
"replace": "\"Глава\""
},
"33": {
"match": "\"Song\"",
"replace": "\"Трек\""
},
"34": {
"match": "\"Episode\"",
"replace": "\"Эпизод\""
},
"35": {
"match": "\"The venue you requested couldn.t be found, please try again.\"",
"replace": "\"Запрошенное вами место проведения не найдено, попробуйте снова.\""
},
"36": {
"match": "\"There was an error fetching the venue.\"",
"replace": "\"Произошла ошибка при получении места проведения.\""
},
"37": {
"match": "\"Concerts\"",
"replace": "\"Концерты\""
},
"38": {
"match": "\"all times are local to the venue\"",
"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": {
"match": "\"Compact list\"",
"replace": "\"Компактный список\""
},
"59": {
"match": "\"Compact grid\"",
"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}\""
}
}

2720
patches/patches.json Normal file

File diff suppressed because it is too large Load Diff

BIN
res/login.spa Normal file

Binary file not shown.

3172
run.ps1 Normal file

File diff suppressed because it is too large Load Diff

22
scripts/DL_Diag.bat Normal file
View File

@@ -0,0 +1,22 @@
@echo off
setlocal
set "script_name=DL_Diag.ps1"
set "branch_name=dl-diag-scripts"
set "script_dir=%~dp0"
set "local_script=%script_dir%%script_name%"
set "branch_url=https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/%branch_name%/scripts/%script_name%"
set "main_url=https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/scripts/%script_name%"
set "temp_script=%TEMP%\SpotX-%script_name%"
set "ps=%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe"
if exist "%local_script%" (
%ps% -NoProfile -ExecutionPolicy Bypass -File "%local_script%"
) else (
%ps% -NoProfile -ExecutionPolicy Bypass ^
-Command "[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; $out='%temp_script%'; $urls=@('%branch_url%','%main_url%'); $downloaded=$false; foreach ($url in $urls) { try { Invoke-WebRequest -UseBasicParsing -Uri $url -OutFile $out -ErrorAction Stop; $downloaded=$true; break } catch {} }; if (-not $downloaded) { throw 'Failed to download diagnostic script' }; & $out"
)
pause
endlocal
exit /b

388
scripts/DL_Diag.ps1 Normal file
View File

@@ -0,0 +1,388 @@
$rawScriptUrl = 'https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
$mirrorScriptUrl = 'https://spotx-official.github.io/SpotX/run.ps1'
$downloadHost = 'loadspot.amd64fox1.workers.dev'
$defaultLatestFull = '1.2.86.502.g8cd7fb22'
$stableFull = '1.2.13.661.ga588f749'
$reportLines = New-Object 'System.Collections.Generic.List[string]'
$sensitivePatterns = New-Object 'System.Collections.Generic.List[object]'
function Add-SensitivePattern {
param(
[string]$Pattern,
[string]$Replacement = '[redacted]'
)
if (-not [string]::IsNullOrWhiteSpace($Pattern)) {
$script:sensitivePatterns.Add([PSCustomObject]@{
Pattern = $Pattern
Replacement = $Replacement
}) | Out-Null
}
}
function Protect-DiagnosticText {
param(
[AllowNull()]
[string]$Text
)
if ($null -eq $Text) {
return $null
}
$value = [string]$Text
foreach ($item in $script:sensitivePatterns) {
$value = [regex]::Replace($value, $item.Pattern, $item.Replacement)
}
$value
}
function Add-ReportLine {
param(
[AllowEmptyString()]
[string]$Line = ''
)
[void]$script:reportLines.Add((Protect-DiagnosticText -Text $Line))
}
function Add-ReportSection {
param(
[Parameter(Mandatory = $true)]
[string]$Title
)
if ($script:reportLines.Count -gt 0) {
Add-ReportLine
}
Add-ReportLine ("== {0} ==" -f $Title)
}
function Add-CommandOutput {
param(
[string[]]$Lines
)
foreach ($line in $Lines) {
Add-ReportLine ([string]$line)
}
}
function Invoke-WebRequestCompat {
param(
[Parameter(Mandatory = $true)]
[string]$Uri
)
$params = @{
Uri = $Uri
ErrorAction = 'Stop'
}
if ($PSVersionTable.PSVersion.Major -lt 6) {
$params.UseBasicParsing = $true
}
Invoke-WebRequest @params
}
function Invoke-WebClientStep {
param(
[Parameter(Mandatory = $true)]
[string]$Title,
[Parameter(Mandatory = $true)]
[string]$Uri
)
Invoke-PowerShellStep -Title $Title -Action {
$wc = New-Object System.Net.WebClient
$stream = $null
try {
$stream = $wc.OpenRead($Uri)
$buffer = New-Object byte[] 1
[void]$stream.Read($buffer, 0, 1)
$lines = New-Object 'System.Collections.Generic.List[string]'
$lines.Add('WEBCLIENT_OK') | Out-Null
$lines.Add(("Url: {0}" -f $Uri)) | Out-Null
if ($wc.ResponseHeaders) {
foreach ($headerName in $wc.ResponseHeaders.AllKeys) {
$lines.Add(("{0}: {1}" -f $headerName, $wc.ResponseHeaders[$headerName])) | Out-Null
}
}
$lines
}
finally {
if ($stream) {
$stream.Dispose()
}
$wc.Dispose()
}
}
}
function Copy-TextToClipboard {
param(
[Parameter(Mandatory = $true)]
[string]$Text
)
try {
if (Get-Command Set-Clipboard -ErrorAction SilentlyContinue) {
Set-Clipboard -Value $Text -ErrorAction Stop
return $true
}
if (Get-Command clip.exe -ErrorAction SilentlyContinue) {
$Text | clip.exe
return ($LASTEXITCODE -eq 0)
}
}
catch {
return $false
}
return $false
}
function Get-DiagnosticArchitecture {
$arch = $env:PROCESSOR_ARCHITEW6432
if ([string]::IsNullOrWhiteSpace($arch)) {
$arch = $env:PROCESSOR_ARCHITECTURE
}
switch -Regex ($arch) {
'ARM64' { return 'arm64' }
'64' { return 'x64' }
default { return 'x86' }
}
}
if (-not [string]::IsNullOrWhiteSpace($env:COMPUTERNAME)) {
Add-SensitivePattern -Pattern ([regex]::Escape($env:COMPUTERNAME)) -Replacement '[redacted-host]'
}
if (-not [string]::IsNullOrWhiteSpace($env:USERNAME)) {
Add-SensitivePattern -Pattern ([regex]::Escape($env:USERNAME)) -Replacement '[redacted-user]'
}
if (-not [string]::IsNullOrWhiteSpace($env:USERPROFILE)) {
Add-SensitivePattern -Pattern ([regex]::Escape($env:USERPROFILE)) -Replacement '[redacted-profile]'
}
Add-SensitivePattern -Pattern '(?<![\d.])(?:\d{1,3}\.){3}\d{1,3}(?![\d.])' -Replacement '[redacted-ipv4]'
Add-SensitivePattern -Pattern '(?i)(?<![0-9a-f:])((?:[0-9a-f]{1,4}:){7}[0-9a-f]{1,4}|(?:[0-9a-f]{1,4}:){1,7}:|(?:[0-9a-f]{1,4}:){1,6}:[0-9a-f]{1,4}|(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}|(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}|(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}|(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}|[0-9a-f]{1,4}:(?:(?::[0-9a-f]{1,4}){1,6})|:(?:(?::[0-9a-f]{1,4}){1,7}|:))(?![0-9a-f:])' -Replacement '[redacted-ipv6]'
function Format-ExceptionDetails {
param(
[Parameter(Mandatory = $true)]
[System.Exception]$Exception
)
$details = New-Object 'System.Collections.Generic.List[string]'
$current = $Exception
while ($null -ne $current) {
[void]$details.Add($current.Message)
$current = $current.InnerException
}
$details
}
function Invoke-CurlStep {
param(
[Parameter(Mandatory = $true)]
[string]$Title,
[Parameter(Mandatory = $true)]
[string[]]$Arguments
)
Add-ReportSection -Title $Title
if (-not (Get-Command curl.exe -ErrorAction SilentlyContinue)) {
Add-ReportLine 'curl.exe not found'
return
}
try {
$output = & curl.exe '-sS' @Arguments 2>&1
Add-CommandOutput -Lines ($output | ForEach-Object { [string]$_ })
Add-ReportLine ("ExitCode: {0}" -f $LASTEXITCODE)
}
catch {
Add-CommandOutput -Lines (Format-ExceptionDetails -Exception $_.Exception)
}
}
function Invoke-PowerShellStep {
param(
[Parameter(Mandatory = $true)]
[string]$Title,
[Parameter(Mandatory = $true)]
[scriptblock]$Action
)
Add-ReportSection -Title $Title
try {
$result = & $Action
if ($null -eq $result) {
Add-ReportLine
return
}
if ($result -is [System.Array]) {
Add-CommandOutput -Lines ($result | ForEach-Object { [string]$_ })
return
}
Add-ReportLine ([string]$result)
}
catch {
Add-CommandOutput -Lines (Format-ExceptionDetails -Exception $_.Exception)
}
}
$architecture = Get-DiagnosticArchitecture
$latestFull = $defaultLatestFull
$bootstrapResults = New-Object 'System.Collections.Generic.List[object]'
foreach ($source in @(
[PSCustomObject]@{ Name = 'raw'; Url = $rawScriptUrl },
[PSCustomObject]@{ Name = 'mirror'; Url = $mirrorScriptUrl }
)) {
try {
$response = Invoke-WebRequestCompat -Uri $source.Url
$content = [string]$response.Content
if ($latestFull -eq $defaultLatestFull) {
$match = [regex]::Match($content, '\[string\]\$latest_full\s*=\s*"([^"]+)"')
if ($match.Success) {
$latestFull = $match.Groups[1].Value
}
}
$bootstrapResults.Add([PSCustomObject]@{
Name = $source.Name
Url = $source.Url
Success = $true
StatusCode = [int]$response.StatusCode
Length = $content.Length
}) | Out-Null
}
catch {
$bootstrapResults.Add([PSCustomObject]@{
Name = $source.Name
Url = $source.Url
Success = $false
StatusCode = $null
Length = $null
Error = $_.Exception.Message
}) | Out-Null
}
}
$tempUrl = if ($architecture -eq 'x64') {
'https://{0}/temporary-download/spotify_installer-{1}-x64.exe' -f $downloadHost, $latestFull
}
else {
$null
}
$directUrl = 'https://{0}/download/spotify_installer-{1}-{2}.exe' -f $downloadHost, $stableFull, $architecture
Add-ReportSection -Title 'Environment'
Add-ReportLine ("Date: {0}" -f (Get-Date).ToString('yyyy-MM-dd HH:mm:ss zzz'))
Add-ReportLine ("PowerShell: {0}" -f $PSVersionTable.PSVersion)
Add-ReportLine ("Architecture: {0}" -f $architecture)
Add-ReportLine ("LatestFull: {0}" -f $latestFull)
Add-ReportLine ("StableFull: {0}" -f $stableFull)
Add-ReportLine ("TempUrl: {0}" -f $(if ($tempUrl) { $tempUrl } else { 'skipped for non-x64 system' }))
Add-ReportLine ("DirectUrl: {0}" -f $directUrl)
Add-ReportSection -Title 'Bootstrap check'
foreach ($item in $bootstrapResults) {
Add-ReportLine ("Source: {0}" -f $item.Name)
Add-ReportLine ("Url: {0}" -f $item.Url)
Add-ReportLine ("Success: {0}" -f $item.Success)
if ($item.Success) {
Add-ReportLine ("StatusCode: {0}" -f $item.StatusCode)
Add-ReportLine ("ContentLength: {0}" -f $item.Length)
}
else {
Add-ReportLine ("Error: {0}" -f $item.Error)
}
Add-ReportLine
}
Invoke-CurlStep -Title 'curl version' -Arguments @('-V')
Invoke-PowerShellStep -Title 'DNS' -Action {
Resolve-DnsName $downloadHost | Format-Table -AutoSize | Out-String -Width 4096
}
if ($tempUrl) {
Invoke-CurlStep -Title 'HEAD temp' -Arguments @('-I', '-L', '-k', '--ssl-no-revoke', $tempUrl)
Invoke-CurlStep -Title '1MB temp' -Arguments @('-L', '-k', '--ssl-no-revoke', '--fail-with-body', '--connect-timeout', '15', '-r', '0-1048575', '-o', 'NUL', '-D', '-', '-w', "`nHTTP_STATUS:%{http_code}`n", $tempUrl)
}
else {
Add-ReportSection -Title 'HEAD temp'
Add-ReportLine 'Skipped because temporary route is only used for x64 latest build'
Add-ReportSection -Title '1MB temp'
Add-ReportLine 'Skipped because temporary route is only used for x64 latest build'
}
Invoke-CurlStep -Title 'HEAD direct stable' -Arguments @('-I', '-L', '-k', '--ssl-no-revoke', $directUrl)
Invoke-CurlStep -Title '1MB direct stable' -Arguments @('-L', '-k', '--ssl-no-revoke', '--fail-with-body', '--connect-timeout', '15', '-r', '0-1048575', '-o', 'NUL', '-D', '-', '-w', "`nHTTP_STATUS:%{http_code}`n", $directUrl)
if ($tempUrl) {
Invoke-WebClientStep -Title 'WebClient temp' -Uri $tempUrl
}
else {
Add-ReportSection -Title 'WebClient temp'
Add-ReportLine 'Skipped because temporary route is only used for x64 latest build'
}
Invoke-WebClientStep -Title 'WebClient direct stable' -Uri $directUrl
$finalOutputLines = New-Object 'System.Collections.Generic.List[string]'
$finalOutputLines.Add('----- BEGIN DIAGNOSTICS -----') | Out-Null
foreach ($line in $reportLines) {
$finalOutputLines.Add($line) | Out-Null
}
$finalOutputLines.Add('----- END DIAGNOSTICS -----') | Out-Null
$finalOutputText = [string]::Join([Environment]::NewLine, $finalOutputLines)
$clipboardCopied = Copy-TextToClipboard -Text $finalOutputText
Write-Host
Write-Host '----- BEGIN DIAGNOSTICS -----' -ForegroundColor Cyan
foreach ($line in $reportLines) {
Write-Output $line
}
Write-Host '----- END DIAGNOSTICS -----' -ForegroundColor Cyan
if ($clipboardCopied) {
Write-Host
Write-Host 'Diagnostics copied to clipboard' -ForegroundColor Green
}
else {
Write-Host
Write-Host 'Clipboard copy failed, copy the text above manually' -ForegroundColor Yellow
}

View File

@@ -1,6 +1,14 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_off -cache_off -block_update_on -start_spoti """" | Invoke-Expression"
:: 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 url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
-Command %tls% $p='%param%'; """ & { $(try { iwr -useb %url% } catch { $p+= ' -m'; iwr -useb %url2% })} $p """" | iex
pause
exit /b

View File

@@ -1,6 +0,0 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_off -start_spoti"""" | Invoke-Expression"
pause
exit /b

View File

@@ -1,6 +1,14 @@
@echo off
powershell -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/amd64fox/SpotX/main/Install.ps1').Content)} -premium """" | Invoke-Expression"
:: Line for changing spotx parameters, each parameter should be separated by a space
set param=-premium -new_theme
set url='https://raw.githubusercontent.com/SpotX-Official/SpotX/refs/heads/main/run.ps1'
set url2='https://spotx-official.github.io/SpotX/run.ps1'
set tls=[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe ^
-Command %tls% $p='%param%'; """ & { $(try { iwr -useb %url% } catch { $p+= ' -m'; iwr -useb %url2% })} $p """" | iex
pause
exit /b

View File

@@ -1,43 +0,0 @@
<#
Name: Clear Spotify Cache.
Description: The script clears outdated cache from the listened music in Spotify.
Fires every time you completely close the client (If the client was minimized to tray then the script will not work).
For the APPDATA\Spotify\Data folder, the rule is that all cache files that are not used
by the customer more than the specified number of days will be deleted.
#>
$day = 7 # Number of days after which the cache is considered stale
# Clear the \Data folder if it finds an outdated cache
try {
If (!(Test-Path -Path $env:LOCALAPPDATA\Spotify\Data)) {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Folder Local\Spotify\Data not found" | Out-File log.txt -append
exit
}
$check = Get-ChildItem $env:LOCALAPPDATA\Spotify\Data -File -Recurse | Where-Object lastaccesstime -lt (get-date).AddDays(-$day)
if ($check.Length -ge 1) {
$count = $check
$sum = $count | Measure-Object -Property Length -sum
if ($sum.Sum -ge 1044344824) {
$gb = "{0:N2} Gb" -f (($check | Measure-Object Length -s).sum / 1Gb)
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Removed $gb obsolete cache" | Out-File log.txt -append
}
else {
$mb = "{0:N2} Mb" -f (($check | Measure-Object Length -s).sum / 1Mb)
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Removed $mb obsolete cache" | Out-File log.txt -append
}
Get-ChildItem $env:LOCALAPPDATA\Spotify\Data -File -Recurse | Where-Object lastaccesstime -lt (get-date).AddDays(-$day) | Remove-Item
}
if ($check.Length -lt 1) {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Stale cache not found" | Out-File log.txt -append
}
}
catch {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") $error[0].Exception" | Out-File log.txt -append
}
exit

View File

@@ -1,43 +0,0 @@
<#
Имя: Очистка кеша Spotify.
Описание: Скрипт очищает устаревший кеш от прослушанной музыки в Spotify.
Срабатывает каждый раз когда вы полностью закрываете клиент (Если клиент был свернут в трей то скрипт не сработает).
Для папки APPDATA\Spotify\Data действует правило, все файлы кеша которые не использовались
клиентом больше указанного количества дней будут удалены.
#>
$day = 7 # Количество дней после которых кеш считается устаревшим
# Очищаем папку \Data если был найден устаревший кеш
try {
If (!(Test-Path -Path $env:LOCALAPPDATA\Spotify\Data)) {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Папка Local\Spotify\Data не найдена" | Out-File log.txt -append
exit
}
$check = Get-ChildItem $env:LOCALAPPDATA\Spotify\Data -File -Recurse | Where-Object lastaccesstime -lt (get-date).AddDays(-$day)
if ($check.Length -ge 1) {
$count = $check
$sum = $count | Measure-Object -Property Length -sum
if ($sum.Sum -ge 1044344824) {
$gb = "{0:N2} Gb" -f (($check | Measure-Object Length -s).sum / 1Gb)
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Удалено $gb устаревшего кеша" | Out-File log.txt -append
}
else {
$mb = "{0:N2} Mb" -f (($check | Measure-Object Length -s).sum / 1Mb)
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Удалено $mb устаревшего кеша" | Out-File log.txt -append
}
Get-ChildItem $env:LOCALAPPDATA\Spotify\Data -File -Recurse | Where-Object lastaccesstime -lt (get-date).AddDays(-$day) | Remove-Item
}
if ($check.Length -lt 1) {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Устаревшего кеша не найдено" | Out-File log.txt -append
}
}
catch {
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") $error[0].Exception" | Out-File log.txt -append
}
exit

View File

@@ -1,3 +0,0 @@
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "%Appdata%\Spotify\cache\run_ps.bat" & Chr(34), 0
Set WshShell = Nothing

View File

@@ -1,3 +0,0 @@
@echo off
start "" /wait "%Appdata%\Spotify\Spotify.exe"
powershell.exe -ExecutionPolicy Bypass -nologo -noninteractive -command "& '.\cache_spotify.ps1'"

View File

@@ -0,0 +1,50 @@
[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 = "Мадыфікацыя для прэміум-акаўнта..."
OldV = "Знойдзена састарэлая версія Spotify"
OldV2 = "Ваша версія Spotify ({0}) састарэла, бягучая апошняя версія — {1}"
OldV3 = "Хочаце абнавіць? [Y/N]"
AutoUpd = "Аўтаматычнае абнаўленне да рэкамендаванай версіі"
DelOrOver = "Выдаліць бягучую версію ({0}) або ўсталяваць паверх яе? Y [Выдаліць] / N [Усталяваць паверх]"
DelOld = "Выдаленне старой версіі Spotify..."
NewV = "Знойдзена непадтрымоўваная версія Spotify"
NewV2 = "Ваша версія Spotify ({0}) не была пратэставана. Стабільная версія для SpotX — {1}"
NewV3 = "Працягнуць з {0} (могуць узнікнуць памылкі)? [Y/N]"
Recom = "Усталяваць апошнюю версію {0}? [Y/N]"
DelNew = "Выдаленне неправеранай версіі Spotify..."
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 = "Націсніце любую клавішу, каб выйсці..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════════════╗
║ উইন্ডোজ স্পটএক্স এ আপনাকে স্বাগতম ║
╚═══════════════════════════════════╝"
Incorrect = "দুঃখিত! একটি ভুল সংকেত,"
Incorrect2 = "পুনরায় এর মাধ্যমে প্রবেশ করুন"
Download = "ডাউনলোড করতে সমস্যা হচ্ছে"
Download2 = "৫ সেকেন্ডের মধ্যে আবার চেষ্টা করা হবে..."
Download3 = "আবার সমস্যা হচ্ছে"
Download4 = "আপনার নেটওয়ার্ক সেটিংস চেক করুন এবং পুনরায় ইনস্টলেশন শুরু করুন"
Download5 = "স্পটিফাই ডাউনলোড হচ্ছে"
StopScript = "স্ক্রিপ্ট থেমে গেছে"
MsSpoti = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ সনাক্ত করা হয়েছে যেটি সমর্থিত নয়"
MsSpoti2 = "স্পটিফাই এর উইন্ডোজ স্টোর সংস্করণ আনইন্সটল করুন [Y/N]"
MsSpoti3 = "স্বয়ংক্রিয়ভাবে স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..."
MsSpoti4 = "স্পটিফাই এর মাইক্রোসফট স্টোর সংস্করণ আনইন্সটল করা হচ্ছে..."
Prem = "প্রিমিয়াম একাউন্ট এর জন্য পরিবর্তন..."
OldV = "স্পটিফাই এর একটি অসমর্থিত সংস্করণ পাওয়া গিয়েছে"
OldV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি অসমর্থিত, আপনাকে {1} সংস্করণে হালনাগাদের জন্য পরামর্শ দেয়া হলো"
OldV3 = "হালনাগাদ করতে চান ? [Y/N]"
AutoUpd = "সুপারিশকৃত সংস্করণে স্বয়ংক্রিয় হালনাগাদকরণ"
DelOrOver = "আপনি কি বর্তমানে ইনস্টল থাকা {0} সংস্করণটি আনইনস্টল করতে চান নাকি আগেরটির সাথেই ইনস্টল করবেন? Y [আনইন্সটল করুন] / N [আগেরটির সাথেই ইনস্টল করুন]"
DelOld = "পুরাতন স্পটিফাই আনইন্সটল করা হচ্ছে..."
NewV = "স্পটিফাই এর একটি অসমর্থিত সংস্করণ পাওয়া গিয়েছে"
NewV2 = "আপনার স্পটিফাই এর {0} সংস্করণটি এখনো পরীক্ষা করা হয়নি, বর্তমানে এটি স্থায়ী {1} সংস্করণ"
NewV3 = "আপনি কি {0} সংস্করণের সাথে চালিয়ে যেতে চান (এটিতে সমস্যা থাকতে পারে) ? [Y/N]"
Recom = "আপনি কি সুপারিশকৃত {0} সংস্করণটি ইনস্টল করতে চান ? [Y/N]"
DelNew = "অপরীক্ষিত স্পটিফাই আনইন্সটল করা হচ্ছে..."
DownSpoti = "স্পটিফাই ডাউনলোড এবং ইনস্টল করা হচ্ছে"
DownSpoti2 = "দয়া করে অপেক্ষা করুন..."
PodcatsOff = "পডকাস্ট বন্ধ রাখুন"
PodcastsOn = "পডকাস্ট চালু রাখুন"
PodcatsSelect = "আপনি কি মূল পেইজ থেকে পডকাস্ট, এপিসোড এবং অডিও বই সরিয়ে রাখতে চান? [Y/N]"
DowngradeNote = "ব্লক করার সুপারিশ করা হচ্ছে যেহেতু স্পটিফাই ডাউনগ্রেড করা হয়েছে"
UpdBlock = "স্পটিফাই হালনাগাদ ব্লক করা হয়েছে"
UpdUnblock = "স্পটিফাই হালনাগাদ ব্লক করা হয় নি"
UpdSelect = "স্পটিফাই হালনাগাদ বন্ধ রাখতে চান? [Y/N]"
ModSpoti = "স্পটিফাই প্যাচ করা হচ্ছে..."
Error = "সমস্যা হয়েছে"
FileLocBroken = "স্পটিফাই ফাইলের লোকেশনটি খুঁজে পাওয়া যাচ্ছে না, ব্যবহারকারী সংস্করণটি আনইনস্টল করুন এবং পুনরায় স্ক্রিপ্ট চালু করুন"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "স্পটিফাই ইতোমধ্যে ইনস্টল করা আছে, xpui.bak ফাইলটি খুঁজে পাওয়া যায় নি। `nদয়া করে স্পটিফাই এর ব্যবহারকারী সংস্করণটি আনইন্সটল করুন এবং Install.bat ফাইলটি আবার রান করুন"
InstallComplete = "ইনস্টলেশন সম্পন্ন হয়েছে"
HostInfo = "হোস্ট ফাইলে কিছু অপ্রত্যাশিত ইউআরএল পাওয়া গিয়েছে"
HostBak = "hosts.bak ফাইলটি ব্যাকআপ রাখা হয়েছে..."
HostDel = "অরিজিনাল হোস্ট ফাইল থেকে অপ্রত্যাশিত ইউআরএল মুছে ফেলার চেষ্টা করা হচ্ছে..."
HostError = "হোস্ট ফাইল মুছে ফেলার সময় কিছু একটা সমস্যা হয়েছে, এটি ম্যানুয়ালি সম্পাদন করুন অথবা এডমিনিস্ট্রেটর হিসেবে স্ক্রিপ্টটি রান করুন"
PressAnyKey = "Press any key to exit..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═════════════════════════════╗
║ Vítejte v SpotX pro Windows ║
╚═════════════════════════════╝"
Incorrect = "Ups, nesprávná hodnota,"
Incorrect2 = "zadejte znovu přes "
Download = "Chyba při stahování"
Download2 = "Zkusím znovu za 5 sekund..."
Download3 = "Chyba znovu"
Download4 = "Podívejte se na nastavení sítě a spusťte instalaci znovu"
Download5 = "Stahuji Spotify"
StopScript = "Skript je zastaven"
MsSpoti = "Byla detekována verze Spotify z Microsoft Store, tato verze není podporována"
MsSpoti2 = "Odinštalujte verzi Spotify z Microsoft Store [Y/N]"
MsSpoti3 = "Automaticky odinstalovávám Spotify z Microsoft Store..."
MsSpoti4 = "Odinštalovávám Spotify z Microsoft Store..."
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}"
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]"
DelOld = "Odinštalovávám staré Spotify..."
NewV = "Byla nalezena nepodporovaná verze Spotify"
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]"
Recom = "Chcete nainstalovat doporučenou {0} verzi? [Y/N]"
DelNew = "Odinštalovávám netestovanou verzi Spotify..."
DownSpoti = "Stahuji a instaluji Spotify"
DownSpoti2 = "Prosím čekejte..."
PodcatsOff = "Vypněte podcasty"
PodcastsOn = "Zapněte podcasty/Nechte zapnuté"
PodcatsSelect = "Chcete vypnout podcasty, epizody a audioknihy z hlavní stránky? [Y/N]"
DowngradeNote = "Doporučuje se blokování, protože byla nainstalována starší verze Spotify"
UpdBlock = "Aktualizace Spotify blokovány"
UpdUnblock = "Aktualizace Spotify nejsou blokovány"
UpdSelect = "Chcete blokovat aktualizace Spotify? [Y/N]"
ModSpoti = "Upravuji Spotify..."
Error = "Chyba"
FileLocBroken = "Umístění souborů Spotify je chybné, odinstalujte klienta Spotify a spusťte skript znovu"
Spicetify = "Spicetify nalezeno, musí být nainstalováno po SpotX, otevřít doporučené akce ve FAQ? [Y/N]"
NoRestore = "SpotX byl již nainstalován, xpui.bak se nenašlo. `nProsím odinstalujte klienta Spotify a spusťte Install.bat znovu"
InstallComplete = "Instalace dokončena"
HostInfo = "Nechtěné URL adresy nalezeny v souboru hosts"
HostBak = "Zálohuji soubor hosts.bak..."
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"
PressAnyKey = "Stiskněte libovolnou klávesu pro ukončení..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════════╗
║ Willkommen bei SpotX für Windows ║
╚══════════════════════════════════╝"
Incorrect = "Hoppla, ein falscher Wert,"
Incorrect2 = "bitte geben Sie einen neuen Wert ein in "
Download = "Fehler beim Download"
Download2 = "Wird in 5 Sekunden erneut angefordert..."
Download3 = "Erneuter Fehler"
Download4 = "Überprüfen Sie Ihre Netzwerkeinstellungen und starten Sie die Installation erneut"
Download5 = "Lade Spotify herunter"
StopScript = "Skript wurde gestoppt"
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]"
MsSpoti3 = "Deinstalliere die MS Version von Spotify automatisch..."
MsSpoti4 = "Deinstalliere die MS Version von Spotify..."
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"
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]"
DelOld = "Deinstalliere das alte 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"
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]"
DelNew = "Deinstalliere eine ungetestete Version von Spotify..."
DownSpoti = "Installiere Spotify"
DownSpoti2 = "Bitte warten..."
PodcatsOff = "Podcasts Aus"
PodcastsOn = "Podcasts An"
PodcatsSelect = "Möchten Sie Podcasts, Episoden und Hörbücher auf der Hauptseite deaktivieren? [Y/N]"
DowngradeNote = "Es wird empfohlen, Updates zu blockieren, da Spotify herabgestuft wurde"
UpdBlock = "Spotify-Updates blockiert"
UpdUnblock = "Spotify-Updates sind nicht blockiert"
UpdSelect = "Möchten Sie Spotify-Updates blockieren? [Y/N]"
ModSpoti = "Patche Spotify..."
Error = "Fehler"
FileLocBroken = "Speicherort von Spotify ist fehlerhaft, deinstallieren Sie Spotify und führen Sie das Skript erneut aus"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX wurde schon installiert, xpui.bak wurde aber nicht gefunden. `nBitte deinstallieren Sie Spotify und starten Sie Install.bat nochmal"
InstallComplete = "Installation fertiggestellt"
HostInfo = "Unerwünschte URLs, die in der hosts-Datei gefunden wurden"
HostBak = "Sichere hosts.bak..."
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"
PressAnyKey = "Drücken Sie eine beliebige Taste zum Beenden..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════════╗
║ Καλώς ήρθατε στο SpotX για Windows ║
╚════════════════════════════════════╝"
Incorrect = "Ουπς, μια λανθασμένη τιμή,"
Incorrect2 = "εισάγετε μια νέα τιμή "
Download = "Σφάλμα λήψης"
Download2 = "Θα γίνει εκ νέου αίτημα σε 5 δευτερόλεπτα..."
Download3 = "Σφάλμα Ξανά"
Download4 = "Ελέγξτε τις ρυθμίσεις του δικτύου σας και εκτελέστε ξανά την εγκατάσταση"
Download5 = "Λήψη Spotify"
StopScript = "Το Script έχει σταματήσει"
MsSpoti = "Εντοπίστηκε η έκδοση του Spotify του Microsoft Store η οποία δεν υποστηρίζεται"
MsSpoti2 = "Απεγκατάσταση Spotify έκδοσης Microsoft Store [Y/N]"
MsSpoti3 = "Αυτόματη απεγκατάσταση Spotify MS..."
MsSpoti4 = "Απεγκατάσταση Spotify MS..."
Prem = "Τροποποίηση για premium λογαριασμό..."
OldV = "Βρέθηκε ξεπερασμένη έκδοση του Spotify"
OldV2 = "Η έκδοση Spotify {0} είναι ξεπερασμένη, συνιστάται η αναβάθμιση σε {1}"
OldV3 = "Θέλετε να ενημερώσετε; [Y/N]"
AutoUpd = "Αυτόματη αναβάθμιση στην προτεινόμενη έκδοση"
DelOrOver = "Θέλετε να απεγκαταστήσετε την τρέχουσα έκδοση του {0} η να αντικατασταθεί; Y [Απεγκατάσταση] / N [Αντικατάσταση]"
DelOld = "Απεγκατάσταση του παλιού Spotify..."
NewV = "Μη υποστηριζόμενη έκδοση του Spotify βρέθηκε"
NewV2 = "Η έκδοσή σας στο Spotify {0} δεν έχει δοκιμαστεί ακόμα, αυτή τη στιγμή είναι σταθερή {1} έκδοση"
NewV3 = "Θέλετε να συνεχίσετε με την {0} έκδοση (πιθανά σφάλματα); [Y/N]"
Recom = "Θέλετε να εγκαταστήσετε την προτεινόμενη {0} έκδοση; [Y/N]"
DelNew = "Απεγκατάσταση μη δοκιμασμένου Spotify..."
DownSpoti = "Λήψη και εγκατάσταση Spotify"
DownSpoti2 = "Παρακαλώ περιμένετε..."
PodcatsOff = "Podcasts Απενεργοποιημένα"
PodcastsOn = "Podcasts Ενεργοποιημένα"
PodcatsSelect = "Θέλετε να απενεργοποιήσετε τα podcast, τα επεισόδια και τα ηχητικά βιβλία από την κύρια σελίδα; [Y/N]"
DowngradeNote = "Συνιστάται ο αποκλεισμός επειδή το Spotify υποβαθμίστηκε"
UpdBlock = "Αποκλείστηκαν οι ενημερώσεις του Spotify"
UpdUnblock = "Οι ενημερώσεις του Spotify δεν είναι αποκλεισμένες"
UpdSelect = "Θέλετε να αποκλείσετε τις ενημερώσεις του Spotify; [Y/N]"
ModSpoti = "Επιδιόρθωση Spotify..."
Error = "Σφάλμα"
FileLocBroken = "Η τοποθεσία των αρχείων Spotify είναι κατεστραμμένη, απεγκαταστήστε το πρόγραμμα Spotify και εκτελέστε ξανά το script"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "Το SpotX έχει ήδη εγκατασταθεί, το xpui.bak δεν βρέθηκε. `nΠαρακαλώ απεγκαταστήστε το πρόγραμμα Spotify και εκτελέστε ξανά το Install.bat"
InstallComplete = "Η εγκατάσταση ολοκληρώθηκε"
HostInfo = "Ανεπιθύμητες διευθύνσεις URL βρέθηκαν στο αρχείο hosts"
HostBak = "Δημιουργείται αντίγραφο ασφαλείας hosts.bak..."
HostDel = "Προσπάθεια κατάργησης ανεπιθύμητων διευθύνσεων URL από το αρχικό αρχείο hosts..."
HostError = "Παρουσιάστηκε κάποιο πρόβλημα κατά την επεξεργασία του αρχείου hosts, επεξεργαστείτε το χειροκίνητα ή εκτελέστε το script ως διαχειριστής"
PressAnyKey = "Πατήστε οποιοδήποτε πλήκτρο για έξοδο..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "Oops, an incorrect value,"
Incorrect2 = "enter again through "
Download = "Error downloading"
Download2 = "Will re-request in 5 seconds..."
Download3 = "Error again"
Download4 = "Check your network settings and run the installation again"
Download5 = "Downloading Spotify"
StopScript = "Script is stopped"
MsSpoti = "The Microsoft Store version of Spotify has been detected which is not supported"
MsSpoti2 = "Uninstall Spotify Microsoft Store edition ? [Y/N]"
MsSpoti3 = "Automatically uninstalling Spotify MS..."
MsSpoti4 = "Uninstalling Spotify MS..."
Prem = "Modification for premium account..."
OldV = "Found outdated version of Spotify"
OldV2 = "Your Spotify version ({0}) is outdated, the current latest version is — {1}"
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]"
DelOld = "Uninstalling old Spotify..."
NewV = "Unsupported version of Spotify found"
NewV2 = "Your Spotify version ({0}) has not been tested. The stable version for SpotX is {1}"
NewV3 = "Continue with {0} (errors may occur) ? [Y/N]"
Recom = "Install the latest version {0} ? [Y/N]"
DelNew = "Uninstalling an untested Spotify..."
DownSpoti = "Downloading and installing Spotify"
DownSpoti2 = "Please wait..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "Hide podcasts, shows, and audiobooks on the homepage ? [Y/N]"
DowngradeNote = "It is recommended to block because there is already a newer version of Spotify"
UpdBlock = "Spotify updates blocked"
UpdUnblock = "Spotify updates are not blocked"
UpdSelect = "Block Spotify updates ? [Y/N]"
ModSpoti = "Patching Spotify..."
Error = "Error"
FileLocBroken = "Location of Spotify files is broken, uninstall Spotify client and run the script again"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX has already been installed, xpui.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
InstallComplete = "installation completed"
HostInfo = "Unwanted URLs found in hosts file"
HostBak = "Backing up hosts.bak..."
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"
PressAnyKey = "Press any key to exit..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═════════════════════════════════════════════╗
║ Le damos la bienvenida a SpotX para Windows ║
╚═════════════════════════════════════════════╝"
Incorrect = "Ufff, un valor incorrecto,"
Incorrect2 = "introduzca nuevamente el valor "
Download = "Error al descargar"
Download2 = "Se volverá a realizar la solicitud en 5 segundos..."
Download3 = "Error de nuevo"
Download4 = "Compruebe su configuración de red y ejecute la instalación de nuevo"
Download5 = "Descargando Spotify"
StopScript = "El script se ha detenido"
MsSpoti = "La versión de Spotify de Microsoft Store se ha detectado y no es compatible"
MsSpoti2 = "Desinstalar Spotify edición Microsoft Store [Y/N]"
MsSpoti3 = "Desinstalación automática de Spotify de Microsoft Store..."
MsSpoti4 = "Desinstalación de Spotify de Microsoft Store..."
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}"
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]"
DelOld = "Desinstalando el antiguo 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}"
NewV3 = "¿Quieres continuar con la versión {0} (posibles errores)? [Y/N]"
Recom = "¿Desea instalar la versión recomendada {0}? [Y/N]"
DelNew = "Desinstalando un Spotify no probado..."
DownSpoti = "Descargando e instalando Spotify"
DownSpoti2 = "Espere un momento..."
PodcatsOff = "Pódcast desactivados"
PodcastsOn = "Pódcast activados"
PodcatsSelect = "¿Quiere desactivar los pódcast, episodios y audiolibros de la página principal? [Y/N]"
DowngradeNote = "Es recomendable bloquear las actualizaciones porque ha habido una bajada en la versión de Spotify"
UpdBlock = "Actualizaciones de Spotify bloqueadas"
UpdUnblock = "Las actualizaciones de Spotify no están bloqueadas"
UpdSelect = "¿Quiere bloquear las actualizaciones de Spotify? [Y/N]"
ModSpoti = "Parcheando Spotify..."
Error = "Error"
FileLocBroken = "La ubicación de los archivos de Spotify no funciona; desinstale el cliente y vuelva a ejecutar el script"
Spicetify = "Spicetify detectado, debe ser instalado después de SpotX, abrir acciones recomendadas en las preguntas frecuentes? [Y/N]"
NoRestore = "SpotX ya ha sido instalado, xpui.bak no se encuentra. `nDesinstale el cliente de Spotify y ejecute Install.bat de nuevo"
InstallComplete = "Instalación completada"
HostInfo = "Se han encontrado URL no deseados en el archivo de hosts"
HostBak = "Haciendo una copia de seguridad de hosts.bak..."
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"
PressAnyKey = "Presione cualquier tecla para salir..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "اوه، یک مقدار نادرست"
Incorrect2 = "دوباره وارد شوید "
Download = "خطا در دانلود"
Download2 = "در عرض 5 ثانیه مجدد درخواست می شود..."
Download3 = "دوباره خطا"
Download4 = "تنظیمات شبکه خود را بررسی کنید و دوباره نصب را اجرا کنید"
Download5 = "در حال دانلود اسپاتیفای"
StopScript = "اسکریپت متوقف شده است"
MsSpoti = "نسخه اسپاتیفای ویندوز استور شناسایی شده است که پشتیبانی نمی شود"
MsSpoti2 = "نسخه اسپاتیفای ویندوز استور حذف شود [Y/N]"
MsSpoti3 = "حذف خودکار اسپاتیفای MS"
MsSpoti4 = "حذف نصب اسپاتیفای MS"
Prem = "تغییر برای حساب پریمیوم"
OldV = "نسخه قدیمی اسپاتیفای پیدا شد"
OldV2 = "نسخه اسپاتیفای {0} شما قدیمی است، توصیه می شود به {1} ارتقا دهید"
OldV3 = "می خواهید به روز رسانی کنید؟ [Y/N]"
AutoUpd = "به روز رسانی خودکار به نسخه پیشنهادی"
DelOrOver = "آیا می خواهید نسخه فعلی {0} را حذف نصب کنید یا روی آن نصب کنید؟ Y [Uninstall] / N [Install Over]"
DelOld = "حذف نصب اسپاتیفای قدیمی"
NewV = "نسخه پشتیبانی نشده اسپاتیفای پیدا شد"
NewV2 = "نسخه اسپاتیفای {0} شما هنوز آزمایش نشده است، در حال حاضر یک نسخه پایدار {1} است"
NewV3 = "آیا می خواهید با نسخه {0} ادامه دهید (خطا ممکن است رخ دهد)؟ [Y/N]"
Recom = "آیا می خواهید نسخه پیشنهادی {0} را نصب کنید؟ [Y/N]"
DelNew = "حذف نصب اسپاتیفای تست نشده..."
DownSpoti = "دانلود و نصب اسپاتیفای"
DownSpoti2 = "لطفا صبر کنید..."
PodcatsOff = "خاموش کردن پادکست"
PodcastsOn = "روشن کردن پادکست"
PodcatsSelect = "آیا می خواهید پادکست ها، قسمت ها و کتاب های صوتی را از صفحه اصلی غیرفعال کنید؟ [Y/N]"
DowngradeNote = "توصیه می شود به دلیل پایین بودن نسخه اسپاتیفای آن را مسدود کنید"
UpdBlock = "به روز رسانی اسپاتیفای مسدود شده است"
UpdUnblock = "به روز رسانی اسپاتیفای مسدود نمی شود"
UpdSelect = "آیا می خواهید به روز رسانی های اسپاتیفای را مسدود کنید؟ [Y/N]"
ModSpoti = "در حال پچ کردن اسپاتیفای"
Error = "خطا"
FileLocBroken = "محل فایل های اسپاتیفای خراب است، کلاینت را حذف نصب کنید و اسکریپت را دوباره اجرا کنید"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX قبلاً نصب شده است، xpui.bak یافت نشد. `nلطفاً کلاینت Spotify را حذف نصب کنید و Install.bat را دوباره اجرا کنید"
InstallComplete = "نصب تکمیل شد"
HostInfo = "URL های ناخواسته در فایل هاست یافت می شود"
HostBak = "پشتیبان گیری از hosts.bak"
HostDel = "تلاش برای حذف URL های ناخواسته از فایل میزبان اصلی"
HostError = "هنگام ویرایش فایل میزبان مشکلی پیش آمد، آن را به صورت دستی ویرایش کنید یا اسکریپت را صورت ادمینستریتور اجرا کنید"
PressAnyKey = "برای خروج هر کلیدی را فشار دهید..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════════╗
║ Tervetuloa SpotX:n Windowsiin ║
╚═══════════════════════════════╝"
Incorrect = "Hupsista, väärä arvo,"
Incorrect2 = "Syötä uudelleen "
Download = "Latauksen aikana tapahtui virhe"
Download2 = "Pyydetään latausta uudelleen 5 sekunnin kuluttua..."
Download3 = "Taas virhe"
Download4 = "Tarkista verkkoasetuksesi ja suorita asennus uudelleen"
Download5 = "Ladataan Spotify:tä"
StopScript = "Skripti on pysäytetty"
MsSpoti = "Spotifyn Microsoft Store -versio on havaittu, jota ei tueta"
MsSpoti2 = "Poista Spotifyn Windows Store -versio [Y/N]"
MsSpoti3 = "Spotifyn Microsoft Store -version automaattinen poistaminen..."
MsSpoti4 = "Poistetaan Spotifyn Microsoft Store -versiota."
Prem = "Muunnos premium-tiliin..."
OldV = "Spotifysta löytyi vanhentunut versio"
OldV2 = "Spotify {0} -versiosi on vanhentunut, on suositeltavaa päivittää versioon {1}"
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]"
DelOld = "Poistetaan vanhaa Spotify versiota..."
NewV = "Spotifyn ei-tuettu versio löytyi"
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]"
Recom = "Haluatko asentaa suositellun {0} version? [Y/N]"
DelNew = "Poistetaan testaamattoman Spotify versiota..."
DownSpoti = "Ladataan ja asennetaan spotify:tä"
DownSpoti2 = "Odota hetki..."
PodcatsOff = "podcastit poissa päältä"
PodcastsOn = "podcastit päällä"
PodcatsSelect = "Haluatko poistaa käytöstä podcastit, jaksot ja äänikirjat pääsivulta? [Y/N]"
DowngradeNote = "On suositeltavaa estää päivitykset, koska Spotify muutettiin vanhempaan versioon"
UpdBlock = "Spotifyn päivitykset estetty"
UpdUnblock = "Spotifyn päivityksiä ei ole estetty"
UpdSelect = "Haluatko estää Spotifyn päivitykset? [Y/N]"
ModSpoti = "Paikataan Spotifyn tiedostoja..."
Error = "Virhe"
FileLocBroken = "Spotify-tiedostojen sijainti on rikki, asenna spotify uudelleen ja suorita komentosarja uudelleen"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX on jo asennettu, xpui.bak tiedostoa ei löynyt. `nAsenna spotify uudelleen ja suorita Install.bat tiedosto uudelleen"
InstallComplete = "asennus suoritettu"
HostInfo = "Hosts-tiedostosta löytyi ei-toivottuja URL-osoitteita"
HostBak = "Varmuuskopioidaan hosts.bak..."
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"
PressAnyKey = "Paina mitä tahansa näppäintä poistuaksesi..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════════════════════════╗
║ Maligayang pagdating sa SpotX para sa Windows ║
╚═══════════════════════════════════════════════╝"
Incorrect = "Oops, maling halaga,"
Incorrect2 = "subukang muli sa pamamagitan ng "
Download = "Error sa pag-download"
Download2 = "Magre-request muli sa loob ng 5 segundo..."
Download3 = "Muling nagka-error"
Download4 = "Suriin ang iyong mga setting sa network at patakbuhin muli ang pag-install"
Download5 = "Nagdo-download ng Spotify"
StopScript = "Itinigil ang script"
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]"
MsSpoti3 = "Awtomatikong i-uninstall ang Spotify na MS..."
MsSpoti4 = "Ina-uninstall ang Spotify MS..."
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}"
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]"
DelOld = "Tinatanggal ang lumang 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}"
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]"
DelNew = "Ina-uninstall ang hindi pa nasusubukan na Spotify..."
DownSpoti = "Nagda-download at nag-i-install ng Spotify"
DownSpoti2 = "Mangyaring maghintay..."
PodcatsOff = "I-off ang mga Podcast"
PodcastsOn = "I-on ang mga Podcast"
PodcatsSelect = "Gusto mo bang hindi paganahin ang mga podcast, mga episode at mga audiobook sa pangunahing pahina? [Y/N]"
DowngradeNote = "Inirerekumendang i-block dahil ang Spotify ay na-downgrade"
UpdBlock = "Ang pag-update ng Spotify ay 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]"
ModSpoti = "Pinapatch ang Spotify..."
Error = "May nangyaring mali"
FileLocBroken = "Ang lokasyon ng mga file ng Spotify ay sira, mag-uninstall ng Spotify client at patakbuhin muli ang script."
Spicetify = "Nakadetect ang Spicetify, ito ay dapat na mai-install pagkatapos ng SpotX, buksan ang rekomendadong mga hakbang sa FAQ? [Y/N]"
NoRestore = "Nakainstall na ang SpotX, hindi nakita ang xpui.bak. `nMangyaring mag-uninstall ng Spotify client at patakbuhin muli ang Install.bat"
InstallComplete = "Ang pag-install ay tapos na"
HostInfo = "May mga hindi kinakailangang mga URL ay natagpuan sa hosts file"
HostBak = "Nagbabackup ng hosts.bak..."
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"
PressAnyKey = "Pindutin ang anumang key upang lumabas..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════════╗
║ Bienvenue sur SpotX pour Windows ║
╚══════════════════════════════════╝"
Incorrect = "Oups, une valeur est incorrecte,"
Incorrect2 = "veuillez recommencer "
Download = "Erreur durant le téléchargement"
Download2 = "Renvoi d'une requête dans 5 secondes..."
Download3 = "Une nouvelle erreur est survenue"
Download4 = "Vérifiez vos réglages réseau et lancez à nouveau l'installation"
Download5 = "Téléchargement de Spotify"
StopScript = "Le script est arrêté"
MsSpoti = "La version du Microsoft Store de Spotify a été détectée et n'est pas prise en charge"
MsSpoti2 = "Désinstaller la version du Microsoft Store de Spotify [Y/N] ?"
MsSpoti3 = "Désinstallation automatique de Spotify MS..."
MsSpoti4 = "Désinstallation de Spotify MS..."
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}"
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]"
DelOld = "Désinstallation de l'ancienne version 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"
NewV3 = "Voulez-vous continuer avec la version {0} (erreurs possibles) ? [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"
DownSpoti2 = "Veuillez patienter..."
PodcatsOff = "Podcasts désactivés"
PodcastsOn = "Podcasts activés"
PodcatsSelect = "Voulez-vous désactiver les podcasts, épisodes et livres audio de la page d'accueil ? [Y/N]"
DowngradeNote = "Il est recommandé de bloquer les mises à jour car une version antérieure de Spotify a été installée"
UpdBlock = "Mises à jour de Spotify bloquées"
UpdUnblock = "Les mises à jour de Spotify ne sont pas bloquées"
UpdSelect = "Voulez-vous bloquer les mises à jour de Spotify ? [Y/N]"
ModSpoti = "Modification de Spotify..."
Error = "Erreur"
FileLocBroken = "L'emplacement des fichiers de Spotify est invalide, désinstallez Spotify et lancez de nouveau le script"
Spicetify = "Spicetify détecté, il faut l'installer après SpotX, ouvrir les actions recommandées dans la FAQ ? [Y/N]"
NoRestore = "SpotX a déjà été installé, xpui.bak introuvable. `nMerci de désinstaller Spotify et de lancer à nouveau le script"
InstallComplete = "installation terminée"
HostInfo = "URLs indésirables trouvées dans le fichier hosts"
HostBak = "Sauvegarde de hosts.bak..."
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"
PressAnyKey = "Appuyez sur n'importe quelle touche pour quitter..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════════╗
║ SpotX for 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 = "प्रीमियम अकाउंट के लिए मॉडिफिकेशन किया जा रहा है..."
OldV = "Spotify का पुराना वर्जन मिला"
OldV2 = "आपका Spotify वर्जन ({0}) पुराना है। लेटेस्ट वर्जन {1} है"
OldV3 = "क्या आप अपडेट करना चाहते हैं? [Y/N]"
AutoUpd = "सुझाए गए वर्जन पर ऑटोमेटिक अपडेट"
DelOrOver = "मौजूदा वर्जन ({0}) को हटाएँ या इसी पर इंस्टॉल करें? Y [हटाएँ] / N [इसी पर इंस्टॉल करें]"
DelOld = "पुराना Spotify अनइंस्टॉल किया जा रहा है..."
NewV = "Spotify का अनसपोर्टेड वर्जन मिला"
NewV2 = "आपके Spotify वर्जन ({0}) को टेस्ट नहीं किया गया है। SpotX के लिए स्टेबल वर्जन {1} है"
NewV3 = "क्या आप वर्जन {0} के साथ जारी रखना चाहते हैं (इसमें समस्याएं आ सकती हैं)? [Y/N]"
Recom = "क्या आप लेटेस्ट वर्जन {0} इंस्टॉल करना चाहते हैं? [Y/N]"
DelNew = "टेस्ट न किए गए Spotify को अनइंस्टॉल किया जा रहा है..."
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 नहीं मिला। `nकृपया Spotify क्लाइंट को अनइंस्टॉल करें और Install.bat को फिर से चलाएँ"
InstallComplete = "इंस्टॉलेशन पूरा हुआ"
HostInfo = "hosts फ़ाइल में कुछ गैर-जरूरी URLs मिले हैं"
HostBak = "hosts.bak का बैकअप बनाया जा रहा है..."
HostDel = "ओरिजिनल hosts फ़ाइल से गैर-जरूरी URLs को हटाने की कोशिश की जा रही है..."
HostError = "hosts फ़ाइल को एडिट करते समय कोई समस्या हुई है। कृपया इसे मैनुअली एडिट करें या स्क्रिप्ट को एडमिनिस्ट्रेटर के रूप में चलाएँ"
PressAnyKey = "Press any key to exit..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════════════════╗
║ Üdvözöllek a SpotX Windowsos telepítőjében ║
╚════════════════════════════════════════════╝"
Incorrect = "Hoppá, helytelen érték,"
Incorrect2 = "Próbáld újra "
Download = "Letöltési hiba"
Download2 = "Újrapróbálás 5 másodpercen belül..."
Download3 = "Ismét hiba"
Download4 = "Ellenőrizze a hálózati beállításokat, és futtassa újra a telepítést"
Download5 = "Spotify letöltése"
StopScript = "A script leállt"
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]"
MsSpoti3 = "A Spotify MS automatikus eltávolítása..."
MsSpoti4 = "Spotify MS eltávolítása..."
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."
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]"
DelOld = "A régi 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}. "
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]"
DelNew = "Nem tesztelt Spotify eltávolítása..."
DownSpoti = "A Spotify letöltése és telepítése"
DownSpoti2 = "Kérem várjon..."
PodcatsOff = "Podcastok kikapcsolása"
PodcastsOn = "Podcastok bekapcsolása"
PodcatsSelect = "Szeretné letiltani a podcastokat, epizódokat és hangoskönyveket a főoldalról? [Y/N]"
DowngradeNote = "Ajánlott blokkolni, mert a Spotify lett alacsonyabb szintre lett állítva."
UpdBlock = "Spotify frissítések blokkolva"
UpdUnblock = "A Spotify frissítések nincsenek blokkolva"
UpdSelect = "Szeretnéd letiltani a Spotify frissítéseket? [Y/N]"
ModSpoti = "Spotify patchelése..."
Error = "Hiba"
FileLocBroken = "A Spotify fájlok sérültek, távolítsa el a klienst, és futtassa újra a szkriptet."
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "A SpotX már telepítve van, az xpui.bak nem található. `nTávolítsa el a Spotify klienst, és futtassa újra az Install.bat fájlt."
InstallComplete = "Telepítés befejeződött"
HostInfo = "Nemkívánatos URL-címek a hosts fájlban"
HostBak = "A hosts.bak mentése..."
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."
PressAnyKey = "Nyomjon meg egy gombot a kilépéshez..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════════════════╗
║ Selamat datang di SpotX untuk Windows ║
╚═══════════════════════════════════════╝"
Incorrect = "Oops, nilai salah,"
Incorrect2 = "masukkan lagi "
Download = "Error saat mengunduh"
Download2 = "Akan meminta ulang dalam 5 detik..."
Download3 = "Error lagi"
Download4 = "Periksa pengaturan jaringan Anda dan jalankan instalasi lagi"
Download5 = "Mengunduh Spotify"
StopScript = "Skrip dihentikan"
MsSpoti = "Versi Microsoft Store dari Spotify terdeteksi, versi ini tidak didukung"
MsSpoti2 = "Uninstall edisi Spotify Microsoft Store [Y/N]"
MsSpoti3 = "Menghapus Spotify MS secara otomatis..."
MsSpoti4 = "Menghapus Spotify MS..."
Prem = "Modifikasi untuk akun premium..."
OldV = "Versi lama Spotify ditemukan"
OldV2 = "Versi Spotify {0} Anda sudah usang, disarankan untuk upgrade ke versi {1}"
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]"
DelOld = "Menghapus Spotify lama..."
NewV = "Ditemukan versi Spotify yang tidak didukung"
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]"
Recom = "Ingin menginstal versi {0} yang direkomendasikan? [Y/N]"
DelNew = "Menghapus Spotify yang belum diuji..."
DownSpoti = "Mengunduh dan menginstal Spotify"
DownSpoti2 = "Tunggu sebentar..."
PodcatsOff = "Podcast Nonaktif"
PodcastsOn = "Podcast Aktif"
PodcatsSelect = "Apakah Anda ingin menonaktifkan podcast, episode, dan audiobooks dari halaman utama? [Y/N]"
DowngradeNote = "Disarankan untuk memblokir karena Spotify telah di downgrade"
UpdBlock = "Pembaruan Spotify diblokir"
UpdUnblock = "Pembaruan Spotify tidak diblokir"
UpdSelect = "Ingin memblokir pembaruan Spotify? [Y/N]"
ModSpoti = "Memasang patch ke Spotify..."
Error = "Kesalahan"
FileLocBroken = "Lokasi file Spotify rusak, uninstall aplikasi Spotify dan jalankan skrip lagi"
Spicetify = "Spicetify terdeteksi, harus diinstal setelah SpotX, buka tindakan yang direkomendasikan di FAQ? [Y/N]"
NoRestore = "SpotX sudah diinstal, xpui.bak tidak ditemukan. `nSilakan uninstall aplikasi Spotify dan jalankan Install.bat lagi"
InstallComplete = "instalasi selesai"
HostInfo = "URL yang tidak diinginkan ditemukan dalam file host"
HostBak = "Membuat cadangan hosts.bak..."
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"
PressAnyKey = "Tekan sembarang tombol untuk keluar..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════════╗
║ Benvenuti a SpotX per Windows ║
╚═══════════════════════════════╝"
Incorrect = "Ops, un valore sbagliato,"
Incorrect2 = "inserisci di nuovo "
Download = "Errore nel download"
Download2 = "Nuova richiesta in 5 secondi..."
Download3 = "Nuovo errore"
Download4 = "Verifica le tue impostazioni di rete ed esegui di nuovo l'installazione"
Download5 = "Scaricamento di Spotify"
StopScript = "Lo script è stato fermato"
MsSpoti = "È stata rilevata la versione di Spotify del Microsoft Store, che non è supportata"
MsSpoti2 = "Disinstallare la versione del Microsoft Store di Spotify ? [Y/N]"
MsSpoti3 = "Disinstallazione automatica di Spotify MS..."
MsSpoti4 = "Disinstallazione di Spotify MS..."
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}"
OldV3 = "Vorresti aggiornare ? [Y/N]"
AutoUpd = "Aggiornamento automatico alla versione consigliata"
DelOrOver = "Rimuovere la versione attuale {0} o sovrascriverla? Y [Rimuovi] / N [Sovrascrivi]"
DelOld = "Disinstallando vecchia versione di Spotify..."
NewV = "Trovata versione di Spotify non supportata"
NewV2 = "La tua versione {0} di Spotify non è stata testata. La versione stabile per SpotX è {1}"
NewV3 = "Continuare con {0} (possibili errori) ? [Y/N]"
Recom = "Installare l'ultima versione {0} ? [Y/N]"
DelNew = "Disinstallando una versione non testata di Spotify..."
DownSpoti = "Scaricando ed installando Spotify"
DownSpoti2 = "Attendere..."
PodcatsOff = "Podcasts OFF"
PodcastsOn = "Podcasts ON"
PodcatsSelect = "Nascondere podcast, episodi ed audiolibri dalla pagina principale ? [Y/N]"
DowngradeNote = "Si consiglia il blocco dato il downgrade di Spotify"
UpdBlock = "Aggiornamenti di Spotify bloccati"
UpdUnblock = "Aggiornamenti di Spotify non bloccati"
UpdSelect = "Bloccare gli aggiornamenti di Spotify ? [Y/N]"
ModSpoti = "Patching Spotify..."
Error = "Errore"
FileLocBroken = "La posizione dei file di Spotify è danneggiata, disinstallare il client di Spotify ed eseguire nuovamente lo script"
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"
InstallComplete = "installazione completata"
HostInfo = "Trovati URL non desiderati nel file hosts"
HostBak = "Backup di hosts.bak in corso..."
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"
PressAnyKey = "Premi un tasto qualsiasi per uscire..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═══════════════════════════╗
║ SpotX Windows用にようこそ ║
╚═══════════════════════════╝"
Incorrect = "無効な値です"
Incorrect2 = "再入力してください"
Download = "ダウンロード時のエラー"
Download2 = "5秒後に再試行します..."
Download3 = "再びエラー"
Download4 = "ネットワークの設定を確認し再度インストールを実行してくささい"
Download5 = "Spotify のダウンロード中"
StopScript = "スクリプトが停止しました"
MsSpoti = "Microsoft Store 版の Spotify には対応していません"
MsSpoti2 = "Microsoft Store 版の Spotifyをアンインストールしますか ? [Y/N]"
MsSpoti3 = "Spotify MS 版を自動でアンインストール中..."
MsSpoti4 = "Spotify MS 版をアンインストール中..."
Prem = "Premium アカウント用の修正..."
OldV = "古い Spotify を使用中です"
OldV2 = "お使いの Spotify のバージョン {0} は古いため以下へのアップグレードを推奨 {1}"
OldV3 = "更新しますか ? [Y/N]"
AutoUpd = "推奨するバージョンに自動更新"
DelOrOver = "既存のバージョン {0} をアンインストール、または上書しますか ? Y [アンインストール] / N [上書き]"
DelOld = "古い Spotify をアンインストール中..."
NewV = "未対応の Spotify のバージョンです"
NewV2 = "お使いの Spotify のバージョン {0} はまだ検証しておらず現在の安定バージョンは {1}"
NewV3 = "バージョン {0} のままぞこうしますか (エラーの可能性) ? [Y/N]"
Recom = "推奨するバージョン {0} をインストールしますか ? [Y/N]"
DelNew = "未検証版の Spotify をアンインストール..."
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 の後にインストールする必要があります。推奨方法の解説ページを開きますか? [Y/N]"
NoRestore = "SpotXはインストール済みですが xpui.bak が見つかりません。`nSpotify クライアントをアンインストールし、再度 Install.bat を実行してください"
InstallComplete = "インストール完了"
HostInfo = "hosts ファイル内に望まない URL があります"
HostBak = "hosts.bak にバックアップ中..."
HostDel = "元の hosts から望まない URL を削除中..."
HostError = "hosts ファイルの編集中に不明の問題が発生、手動で編集するか、管理者としてスクリプトを実行してください"
PressAnyKey = "終了するには何かキーを押してください..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "უპს, არასწორი შენატანი,"
Incorrect2 = "მაგრამ თავიდან სცადე"
Download = "შეცდომა ჩაწერის დროს"
Download2 = "თავიდან ვცდი 5 წამში..."
Download3 = "შეცდომა ისევ"
Download4 = "შეამოწმეთ თქვენი კავშირი ქსელთან და თავიდან სცადე ინსტალაცია"
Download5 = "Spotify იწერება"
StopScript = "სკრიპტი ჩერდება"
MsSpoti = "Microsoft Store-ის ვერსია მოიძებნა რომელიც არ არის მხარდაჯერილი"
MsSpoti2 = "წავშალოთ Spotify Microsoft Store-ის ვერსია [Y/N]"
MsSpoti3 = "ავტუმატურად იშლება Spotify MS..."
MsSpoti4 = "იშლება Spotify MS..."
Prem = "მოდიფიკაცია პრემიუმ აკკოუნტის..."
OldV = "მოიძებნა მოძველებული Spotify-ს ვერსია"
OldV2 = "თქვენი Spotify-ს {0} ვერსია არის მოძველებული, რეკომენდურია მისი აპგრეიდობა ამ ვერსიაზე {1}"
OldV3 = "გინდა განაახლოთ ? [Y/N]"
AutoUpd = "აუტომატიკური აპდაიტი რეკომენდებულ ვერსიაზე"
DelOrOver = "გინდა წაშალო ეხლანდელი ვერსია: {0} თუ თავიდან ჩაწერა? Y [წაშლა] / N [თავიდან ჩაწერა]"
DelOld = "ძველი Spotify იშლება..."
NewV = "არა მხარდაჯერილი Spotify-ს ვერსია არის მოწებნილი"
NewV2 = "თქვენი Spotify-ს {0} ვერსია ჯერ არ არის დატესტილი, ამჟამად არის სტაბილური {1} ვერსია"
NewV3 = "გინდათ რომ გააგრძელოთ {0} ვერსიაზე (შეცდომები შესაძლებელია) ? [Y/N]"
Recom = "გინდათ რო ჩაიწეროთ რეკომენდირებული {0} ვერსია ? [Y/N]"
DelNew = "იშლება არა ტესტირებულ Spotify..."
DownSpoti = "ვტვირთავთ და ვიწერთ Spotify-ს"
DownSpoti2 = "გთხოვთ დაიცადოთ..."
PodcatsOff = "პოდკასტები გათიშული"
PodcastsOn = "პოდკასტები ჩართული"
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" #
DowngradeNote = "რეკომენდირებული რომ დაბლოკოთ იმიტომ რომ იყო Spotify-ს დაქვეითება"
UpdBlock = "Spotify-ს განახლებები დაბლოკილია"
UpdUnblock = "Spotify-ს განახლებები არ არის დაბლოკილი"
UpdSelect = "გინდათ რომ დაბლოკოთ Spotify-ს განახლებები? [Y/N]"
ModSpoti = "Spotify იკერვება..."
Error = "შეცდომა"
FileLocBroken = "Spotify ფაილების ლოკაცია არის გადეხილი, წაშალეთ კლიენტი და თავიდან გაუშვით სკრიპტი"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX უკვე დაინსტალირებულია, xpui.bak ვერ მოიძებნა. `nგთხოვთ, წაშალოთ Spotify აპლიკაცია და თავიდან გაუშვით Install.bat"
InstallComplete = "ინსტალაცია დასრულდა"
HostInfo = "არასასურველი URL-ები ნაპოვნი მასპინძელის ფაილში"
HostBak = "იქმნება hosts.bak-ის სარევეზნო ასლი..."
HostDel = "ვცდილობთ რომ ამოვიღოთ არასასურველი URL-ები ორიგინალური მასპინძელის ფაილიდან..."
HostError = "რაღაც შეცდომა მოხდა მასპინძელის ფაილის რედაქტირებისას, დაარედაქტირეთ ის ხელით ან გაუშვით სკრიპტი ადმინისტრატორის სახით"
PressAnyKey = "დააჭირეთ ნებისმიერ ღილაკს გასასვლელად..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "이런, 잘못된 값이네요,"
Incorrect2 = "다시 입력해주세요 "
Download = "다운로드 오류"
Download2 = "5초 후 다시 시도합니다..."
Download3 = "오류 발생"
Download4 = "네트워크 설정을 확인하시고 다시 실행해주세요"
Download5 = "Spotify 다운로드 중"
StopScript = "스크립트가 중단되었습니다"
MsSpoti = "Microsoft Store 버전의 Spotify가 감지되었으며 이는 지원되지 않습니다"
MsSpoti2 = "Spotify Microsoft Store 버전을 제거할까요? [Y/N]"
MsSpoti3 = "Spotify Microsoft Store 버전을 자동으로 제거하는 중..."
MsSpoti4 = "Spotify Microsoft Store 버전을 제거하는 중..."
Prem = "프리미엄 계정을 위한 모드..."
OldV = "Spotify 구버전을 감지했습니다"
OldV2 = "Spotify {0} 버전은 오래되었습니다, {1} 버전으로 업데이트하시는 것을 추천합니다"
OldV3 = "업데이트를 진행할까요? [Y/N]"
AutoUpd = "권장 버전으로 자동 업데이트할까요?"
DelOrOver = "설치된 {0} 버전을 제거할까요? 아니면 덮어쓰고 설치할까요? Y [제거] / N [덮어쓰고 설치]"
DelOld = "구버전의 Spotify를 제거하는 중..."
NewV = "지원되지 않는 버전의 Spotify가 감지되었습니다"
NewV2 = "Spotify {0} 버전은 아직 테스트되지 않았습니다, 현재 최신 안정 버전은 {1} 입니다"
NewV3 = "{0} 버전으로 진행할까요? (오류가 발생할 수 있음) [Y/N]"
Recom = "추천하는 {0} 버전을 설치할까요? [Y/N]"
DelNew = "테스트되지 않은 Spotify를 제거하는 중..."
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 detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX가 이미 설치되었지만, xpui.bak 파일을 찾을 수 없습니다. `nSpotify를 제거하고 Install.bat을 다시 실행해주세요"
InstallComplete = "설치가 완료되었습니다"
HostInfo = "hosts 파일에서 불필요한 URL이 감지되었습니다"
HostBak = "hosts.bak 백업 파일을 생성하는 중..."
HostDel = "원본 hosts 파일에서 불필요한 URL 제거를 시도하는 중..."
HostError = "파일을 수정하는 데 오류가 발생했습니다, 직접 수정하거나 이 스크립트를 관리자 권한으로 실행해주세요"
PressAnyKey = "종료하려면 아무 키나 누르십시오..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "Hmm. Nepareiza vērtība,"
Incorrect2 = "lūdzu ievadiet to vēlreiz "
Download = "Kļūda lejuplādējot"
Download2 = "Atkārtosim lejuplādi pēc 5 sekundēm..."
Download3 = "Atkal kļūda"
Download4 = "Pārbaudi savus tīkla iestatījumus un mēģini instalēt vēlreiz"
Download5 = "Lejuplādejam Spotify"
StopScript = "Skripts ir apstājies"
MsSpoti = "Microsoft veikala Spotify versija tika konstatēta, un nav atbalstīta."
MsSpoti2 = "Izdzēst Spotify Microsoft Store versiju [Y/N]"
MsSpoti3 = "Automātiski izdzēš Spotify MS..."
MsSpoti4 = "Izdzēš Spotify MS..."
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"
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]"
DelOld = "Izdzēš veco Spotify..."
NewV = "Atrasta neatbalstītā Spotify 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]"
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"
DownSpoti2 = "Lūdzu nedaudz uzgaidiet..."
PodcatsOff = "Raidieraksti ir izslēgti"
PodcastsOn = "Raidieraksti ir ieslēgti"
PodcatsSelect = "Vai vēlies ieslēkt raidierakstus, epizodes un audiogrāmatas no galvenās lapas? [Y/N]"
DowngradeNote = "Ir ieteikts izslēgt atjauninājumus, tāpēc ka Spotify versija tika pazemināta."
UpdBlock = "Spotify atjauninājumi ir bloķēti"
UpdUnblock = "Spotify atjauninājumi nav bloķēti"
UpdSelect = "Vai vēlies bloķēt Spotify atjauninājumus? [Y/N]"
ModSpoti = "Modo Spotify..."
Error = "Kļūda"
FileLocBroken = "Spotify failu atrašanās vieta ir bojāta, atinstalējiet klientu un palaidiet skriptu vēlreiz"
Spicetify = "Spicetify ir konstatēts, to ir jāinstalē pēc SpotX, atvērt piemērotākos darbībus BUJ lapā? [Y/N]"
NoRestore = "SpotX ir jau instalēts, bet xpui.bak nebija atrasts. `nLūdzu izdzēs Spotify klientu un palaid Install.bat vēlreiz"
InstallComplete = "Instalācija pabeigta"
HostInfo = "hosts failā atrasti nevēlami URL"
HostBak = "Dublē hosts.bak ..."
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"
PressAnyKey = "Nospiediet jebkuru taustiņu, lai izietu..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════╗
║ Witamy w SpotX dla Windows ║
╚════════════════════════════╝"
Incorrect = "Ups, błędna wartość,"
Incorrect2 = "wejdź ponownie przez "
Download = "Błąd podczas pobierania"
Download2 = "Ponowna próba za 5 sekund..."
Download3 = "Pobieranie się nie powiodło"
Download4 = "Sprawdź ustawienia sieci i uruchom instalację ponownie"
Download5 = "Pobieranie Spotify"
StopScript = "Skrypt jest zatrzymany"
MsSpoti = "Wykryto wersję Spotify ze Sklepu Microsoft, która nie jest wspierana"
MsSpoti2 = "Czy chcesz odinstalować wersję Spotify ze Sklepu Microsoft? [Y/N]"
MsSpoti3 = "Automatyczne odinstalowywanie Spotify z MS..."
MsSpoti4 = "Odinstalowywanie Spotify MS..."
Prem = "Modyfikacja dla konta premium..."
OldV = "Znaleziono przestarzałą wersję Spotify"
OldV2 = "Twoja wersja Spotify {0} jest przestarzała, zalecana jest aktualizacja do wersji {1}"
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ą]"
DelOld = "Odinstalowywanie nieaktualnej wersji Spotify..."
NewV = "Wykryto niewspieraną wersję Spotify"
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]"
Recom = "Czy chcesz pobrać zalecaną wersję {0}? [Y/N]"
DelNew = "Odinstalowywanie nieprzetestowanej wersji Spotify..."
DownSpoti = "Pobieranie i instalowanie Spotify"
DownSpoti2 = "Proszę czekać..."
PodcatsOff = "Podcasty wyłączone"
PodcastsOn = "Podcasty włączone"
PodcatsSelect = "Czy chcesz ukryć podcasty, epizody i audiobooki ze strony głównej? [Y/N]"
DowngradeNote = "Zalecane jest zablokowanie, ze względu na obniżenie wersji Spotify"
UpdBlock = "Aktualizacje Spotify zablokowane"
UpdUnblock = "Aktualizacje Spotify nie są zablokowane"
UpdSelect = "Czy chcesz zablokować aktualizacje Spotify? [Y/N]"
ModSpoti = "Łatanie Spotify..."
Error = "Błąd"
FileLocBroken = "Lokalizacje plików Spotify jest uszkodzona, odinstaluj klienta Spotify i uruchom skrypt ponownie"
Spicetify = "Wykryto Spicetify. Należy zainstalować je po SpotX. Czy otworzyć zalecane działania w FAQ? [Y/N]"
NoRestore = "SpotX został już pobrany, lecz xpui.bak nie został znaleziony. `nProszę odinstalować klienta Spotify i uruchomić Install.bat ponownie"
InstallComplete = "instalacja zakończona"
HostInfo = "Niepożądane adresy URL znalezione w plikach hosts"
HostBak = "Tworzenie kopii zapasowej pliku hosts.bak..."
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"
PressAnyKey = "Naciśnij dowolny klawisz, aby wyjść..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═════════════════════════════════╗
║ Bem-vindo ao SpotX para Windows ║
╚═════════════════════════════════╝"
Incorrect = "Ops, um valor incorreto,"
Incorrect2 = "entre novamente por "
Download = "Erro no download"
Download2 = "Solicitando novamente em 5 segundos..."
Download3 = "Erro de novo"
Download4 = "Verifique suas configurações de rede e tente executar a instalação novamente"
Download5 = "Baixando o Spotify"
StopScript = "O script foi interrompido"
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]"
MsSpoti3 = "Desinstalação automática do Spotify da MS..."
MsSpoti4 = "Desinstalando Spotify da MS..."
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}"
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]"
DelOld = "Desinstalando a versão antiga do 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}"
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]"
DelNew = "Desinstalando versão não testada do Spotify..."
DownSpoti = "Baixando e instalando o Spotify"
DownSpoti2 = "Aguarde..."
PodcatsOff = "Podcasts desativado"
PodcastsOn = "Podcasts ativado"
PodcatsSelect = "Gostaria de desativar os podcasts, episódios e audiobooks da página principal? [Y/N]"
DowngradeNote = "É recomendado bloquear, pois houve um downgrade do Spotify"
UpdBlock = "Atualizações do Spotify bloqueadas"
UpdUnblock = "Atualizações do Spotify não bloqueadas"
UpdSelect = "Deseja bloquear as atualizações do Spotify? [Y/N]"
ModSpoti = "Aplicando patch no Spotify..."
Error = "Erro"
FileLocBroken = "A localização dos arquivos do Spotify está incorreta, desinstale o Spotify e execute o script novamente"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "O SpotX já foi instalado, xpui.bak não encontrado. `nPor favor, desinstale o cliente do Spotify e execute Install.bat novamente"
InstallComplete = "instalação concluída"
HostInfo = "URLs indesejados encontradas no arquivo hosts"
HostBak = "Fazendo backup de hosts.bak..."
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"
PressAnyKey = "Pressione qualquer tecla para sair..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════════════╗
║ Bine ați venit la SpotX pentru Windows ║
╚════════════════════════════════════════╝"
Incorrect = "Ups, o valoare incorectă,"
Incorrect2 = "introduceți din nou prin "
Download = "Eroare la descărcare"
Download2 = "Va solicita din nou în 5 secunde..."
Download3 = "Eroare din nou"
Download4 = "Verificați setările de rețea și rulați din nou instalarea"
Download5 = "Se descarca Spotify"
StopScript = "Scriptul a fost oprit"
MsSpoti = "A fost detectată versiunea Microsoft Store a Spotify, care nu este suportată"
MsSpoti2 = "Dezinstalati versiunea Microsoft Store a Spotify [Y/N]"
MsSpoti3 = "Dezinstalare automată a Spotify MS..."
MsSpoti4 = "Se dezinstaleaza Spotify MS..."
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}"
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]"
DelOld = "Dezinstalarea vechiului 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}"
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]"
DelNew = "Se dezinstalează Spotify-ul netestat..."
DownSpoti = "Se descarcă și instalează Spotify"
DownSpoti2 = "Vă rugăm să așteptați..."
PodcatsOff = "Podcasturi dezactivate"
PodcastsOn = "Podcasturi activate"
PodcatsSelect = "Doriți să dezactivați podcasturile, episoadele si cartile audio de pe pagina principală? [Y/N]"
DowngradeNote = "Se recomandă blocarea deoarece a avut loc un downgrade al Spotify"
UpdBlock = "Actualizările Spotify au fost blocate"
UpdUnblock = "Actualizările Spotify nu sunt blocate"
UpdSelect = "Doriți să blocați actualizările Spotify? [Y/N]"
ModSpoti = "Se patchuiește Spotify..."
Error = "Eroare"
FileLocBroken = "Locația fișierelor Spotify este stricată, dezinstalați clientul și rulați din nou scriptul"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX a fost deja instalat, xpui.bak nu a fost găsit. `nVă rugăm să dezinstalați clientul Spotify și să rulați din nou Install.bat"
InstallComplete = "Instalare completă!"
HostInfo = "URL-uri nedorite au fost găsite in fișierul hosts"
HostBak = "Se efectuează o copie de siguranță a fișierului hosts.bak..."
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."
PressAnyKey = "Apăsați orice tastă pentru a ieși..."
}

View File

@@ -0,0 +1,50 @@
[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 = "Модификация для премиум аккаунта..."
OldV = "Найдена устаревшая версия Spotify"
OldV2 = "Ваша версия Spotify ({0}) устарела. Текущая актуальная версия — {1}"
OldV3 = "Обновить ? [Y/N]"
AutoUpd = "Автоматическое обновление до рекомендуемой версии"
DelOrOver = "Удалить текущую версию ({0}) или установить поверх? Y [Удалить] / N [Поверх]"
DelOld = "Удаление устаревшего Spotify..."
NewV = "Найдена неподдерживаемая версия Spotify"
NewV2 = "Ваша версия Spotify ({0}) не тестировалась. Стабильная версия для SpotX — {1}"
NewV3 = "Продолжить с {0} (возможны ошибки) ? [Y/N]"
Recom = "Установить последнюю версию {0} ? [Y/N]"
DelNew = "Удаление неподдерживаемого Spotify..."
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 не найден. `nУдалите клиент Spotify и снова запустите Install.bat"
InstallComplete = "Установка завершена"
HostInfo = "В файле hosts найдены нежелательные Url-адреса"
HostBak = "Создаю резервную копию hosts.bak..."
HostDel = "Попытка удалить нежелательные Url-адреса из оригинального файла hosts..."
HostError = "Что-то пошло не так при редактировании файла hosts, отредактируйте его вручную или запустите скрипт от администратора"
PressAnyKey = "Нажмите любую клавишу для выхода..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for Windows ║
╚══════════════════════════════╝"
Incorrect = "Ups, nesprávna hodnota,"
Incorrect2 = "zadaj znova cez "
Download = "Chyba pri sťahovaní"
Download2 = "Skúsim znova o 5 sekúnd..."
Download3 = "Chyba znova"
Download4 = "Pozri sa na nastavenia siete a spusti inštaláciu znova"
Download5 = "Sťahujem Spotify"
StopScript = "Skript je zastavený"
MsSpoti = "Verzia Spotify z Microsoft Store bola detekovaná, táto verzia nie je podporovaná"
MsSpoti2 = "Odinštaluj Microsoft Store Spotify verziu [Y/N]"
MsSpoti3 = "Automaticky odinštalovávam Spotify z Microsoft Store..."
MsSpoti4 = "Odinštalovávam Spotify z Microsoft Store..."
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}"
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]"
DelOld = "Odinštalovávam staré Spotify..."
NewV = "Nepodporovaná verzia Spotify bola nájdená"
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]"
Recom = "Chcete nainštalovať odporúčanú {0} verziu ? [Y/N]"
DelNew = "Odinštalovávam netestovanú verziu Spotify..."
DownSpoti = "Sťahujem a inštalujem Spotify"
DownSpoti2 = "Prosím čakajte..."
PodcatsOff = "Vypni podcasty"
PodcastsOn = "Zapni podcasty/Nechaj zapnuté"
PodcatsSelect = "Chceš vypnúť podcasty, epizódy a audioknihy z hlavnej stránky? [Y/N]"
DowngradeNote = "Je odporúčané blokovanie pretože bola nainštalovaná staršia verzia Spotify"
UpdBlock = "Spotify aktualizácie blokované"
UpdUnblock = "Spotify aktualizácie nie sú blokované"
UpdSelect = "Chcete blokovať Spotify aktualizácie? [Y/N]"
ModSpoti = "Upravovanie Spotify..."
Error = "Chyba"
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]"
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á"
HostInfo = "Nechcené URLs nájdené v súbore hosts"
HostBak = "Zálohujem súbor hosts.bak..."
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"
PressAnyKey = "Stlačte ľubovoľnú klávesu pre ukončenie..."
}

View File

@@ -0,0 +1,50 @@
[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..."
OldV = "Pronađena je zastarela verzija Spotify-ja"
OldV2 = "Vaša verzija Spotify-ja {0} je zastarela, trenutno najnovija verzija je {1}"
OldV3 = "Želite li da ažurirate? [Y/N]"
AutoUpd = "Automatsko ažuriranje na preporučenu verziju"
DelOrOver = "Želite li da deinstalirate trenutnu verziju {0} ili da instalirate preko nje? Y [Deinstaliraj] / N [Preko]"
DelOld = "Deinstalacija starog Spotify-ja..."
NewV = "Pronađena je nepodržana verzija 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]"
DelNew = "Deinstalacija netestiranog Spotify-ja..."
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..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════╗
║ Welcome to SpotX for 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 = "Модификација за премијум налог..."
OldV = "Пронађена је застарела верзија Spotify-ја"
OldV2 = "Ваша верзија Spotify-ја {0} је застарела, тренутно најновија верзија је {1}"
OldV3 = "Желите ли да ажурирате? [Y/N]"
AutoUpd = "Аутоматско ажурирање на препоручену верзију"
DelOrOver = "Желите ли да деинсталирате тренутну верзију {0} или да инсталирате преко ње? Y [Деинсталирај] / N [Преко]"
DelOld = "Деинсталација старог Spotify-ја..."
NewV = "Пронађена је неподржана верзија Spotify-ја"
NewV2 = "Ваша верзија Spotify-ја {0} још није тестирана, тренутна стабилна верзија је {1}"
NewV3 = "Желите ли да наставите са верзијом {0} (могуће су грешке)? [Y/N]"
Recom = "Желите ли да инсталирате последњу верзију {0}? [Y/N]"
DelNew = "Деинсталација нетестираног Spotify-ја..."
DownSpoti = "Преузимање и инсталација Spotify-ја"
DownSpoti2 = "Молимо сачекајте..."
PodcatsOff = "Искључи подкасте"
PodcastsOn = "Укључи подкасте"
PodcatsSelect = "Желите ли да онемогућите подкасте, епизоде и аудиокњиге на почетној страни? [Y/N]"
DowngradeNote = "Препоручује се да блокирате пошто је Spotify био даунгрејдован"
UpdBlock = "Ажурирања Spotify-ја блокирана"
UpdUnblock = "Ажурирања Spotify-ја нису блокирана"
UpdSelect = "Желите ли да блокирате ажурирања Spotify-ја? [Y/N]"
ModSpoti = "Крпљење Spotify-ја..."
Error = "Грешка"
FileLocBroken = "Локација фајлова Spotify-ја је нарушена, деинсталирајте клијент, па покрените скрипту поново"
Spicetify = "Детектован је Spicetify који мора бити инсталиран након SpotX-а, отвори препоручене акције у FAQ-у? [Y/N]"
NoRestore = "SpotX је већ био инсталиран, xpui.bak није пронађен. `nМолимо деинсталирајте Spotify клијент и покрените Install.bat поново"
InstallComplete = "инсталација завршена"
HostInfo = "Нежељени URL-ови пронађени у hosts фајлу"
HostBak = "Прављење резервне копије hosts.bak..."
HostDel = "Покушавамо да уклонимо нежељене URL-ове из оригиналног hosts фајла..."
HostError = "Нешто је пошло наопако током уређивања hosts фајла, уредите га ручно или покрените скрипту као администратор"
PressAnyKey = "Притисните било који тастер да изађете..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════════╗
║ Välkommen till SpotX för Windows ║
╚══════════════════════════════════╝"
Incorrect = "Hoppsan, ett felaktigt värde,"
Incorrect2 = "ange igen igenom "
Download = "Fel vid nedladdning"
Download2 = "Försöker igen om 5 sekunder..."
Download3 = "Fel igen"
Download4 = "Kontrollera dina nätverksinställningar och kör installationen igen"
Download5 = "Laddar ner Spotify"
StopScript = "Skriptet har stoppats"
MsSpoti = "Microsoft Store versionen av Spotify har upptäckts som inte stöds"
MsSpoti2 = "Avinstallera Spotify Microsoft Store versionen [Y/N]"
MsSpoti3 = "Avinstallerar Spotify MS automatiskt..."
MsSpoti4 = "Avinstallerar Spotify MS..."
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}"
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]"
DelOld = "Avinstallerar gamla 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"
NewV3 = "Vill du fortsätta med {0} version (fel möjliga)? [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"
DownSpoti2 = "Vänta..."
PodcatsOff = "Podcasts av"
PodcastsOn = "Podcasts på"
PodcatsSelect = "Vill du inaktivera poddar, avsnitt och ljudböcker från huvudsidan? [Y/N]"
DowngradeNote = "Det rekommenderas att blockera eftersom Spotify har nedgraderats"
UpdBlock = "Spotify uppdateringar blockerade"
UpdUnblock = "Spotify uppdateringar är inte blockerade"
UpdSelect = "Vill du blockera Spotify uppdateringar? [Y/N]"
ModSpoti = "Patchar Spotify..."
Error = "Fel"
FileLocBroken = "Platsen för Spotify filer är trasig, avinstallera Spotify klienten och kör skriptet igen"
Spicetify = "Spicetify upptäckt, det måste installeras efter SpotX, öppna rekommenderade åtgärder i FAQ ? [Y/N]"
NoRestore = "SpotX har redan installerats, xpui.bak hittades inte. `nAvinstallera Spotify klienten och kör Install.bat igen"
InstallComplete = "installationen avslutad"
HostInfo = "Oönskade webbadresser hittades i hosts-filen"
HostBak = "Backar upp hosts.bak..."
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"
PressAnyKey = "Tryck på valfri tangent för att avsluta..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════╗
║ Windows SpotXக்கு வரவேற்கிறோம் ║
╚════════════════════════════════╝"
Incorrect = "அச்சச்சோ, தவறான மதிப்பு,"
Incorrect2 = "மீண்டும் உள்ளிடவும்"
Download = "பதிவிறக்குவதில் பிழை"
Download2 = "5 வினாடிகளில் மீண்டும் வேண்டுகோள் விடுக்கப்படும்..."
Download3 = "மீண்டும் பிழை"
Download4 = "உங்கள் பிணைய அமைப்புகளைச் சரிபார்த்து, நிறுவலை மீண்டும் இயக்கவும்"
Download5 = "Spotifyயைப் பதிவிறக்குகிறது"
StopScript = "Script நிறுத்தப்பட்டது"
MsSpoti = "Spotifyயின் Microsoft Store பதிப்பு கண்டறியப்பட்டது, அதை ஆதரிக்கவில்லை"
MsSpoti2 = "Microsoft Store Spotify பதிப்பை நிறுவல் நீக்கவும் [Y/N]"
MsSpoti3 = "MS Spotifyயை தானாக நிறுவல் நீக்குகிறது..."
MsSpoti4 = "MS Spotifyயை நிறுவல் நீக்குகிறது..."
Prem = "Premium கணக்கிற்கான மாற்றம்..."
OldV = "Spotifyயின் காலாவதியான பதிப்பு கண்டறியப்பட்டது"
OldV2 = "உங்கள் Spotify {0} பதிப்பு காலாவதியானது, {1}க்கு மேம்படுத்த பரிந்துரைக்கப்படுகிறது"
OldV3 = "புதுப்பிக்க வேண்டுமா? [Y/N]"
AutoUpd = "பரிந்துரைக்கப்பட்ட பதிப்பிற்கான தானியங்கி புதுப்பிப்பு"
DelOrOver = "{0}யின் தற்போதைய பதிப்பை நிறுவல்நீக்கம் செய்ய விரும்புகிறீர்களா அல்லது நீங்கள் அதன் மீதே நிறுவ விரும்புகிறீர்கள்? Y [Uninstall] / N [Install Over]"
DelOld = "பழைய Spotifyயை நிறுவல் நீக்குகிறது..."
NewV = "Spotifyயின் ஆதரிக்கப்படாத பதிப்பு கண்டறியப்பட்டது"
NewV2 = "உங்கள் Spotify {0} பதிப்பு இன்னும் சோதிக்கப்படவில்லை, தற்போது {1} பதிப்பு நிலையானது"
NewV3 = "{0} பதிப்பைத் தொடர விரும்புகிறீர்களா (பிழைகள் சாத்தியம்) ? [Y/N]"
Recom = "பரிந்துரைக்கப்பட்ட {0} பதிப்பை நிறுவ விரும்புகிறீர்களா ? [Y/N]"
DelNew = "சோதிக்கப்படாத Spotifyயை நிறுவல் நீக்குகிறது..."
DownSpoti = "Spotifyயைப் பதிவிறக்கி நிறுவுகிறது"
DownSpoti2 = "தயவுசெய்து காத்திருங்கள்..."
PodcatsOff = "Off Podcasts"
PodcastsOn = "On Podcasts"
PodcatsSelect = "முகப்பு பக்கத்திலிருந்து Podcastகள், அத்தியாயங்கள் மற்றும் ஒலிபதிப்பு புத்தகங்களை முடக்க விரும்புகிறீர்களா? [Y/N]"
DowngradeNote = "Spotify தரமிறக்கப்பட்டதால் தடுக்க பரிந்துரைக்கப்படுகிறது"
UpdBlock = "Spotify புதுப்பிப்புகள் துண்டிக்கப்படவில்லை"
UpdUnblock = "Spotify புதுப்பிப்புகள் துண்டிக்கப்பட்டது"
UpdSelect = "Spotify புதுப்பிப்புகளைத் தடுக்க வேண்டுமா? [Y/N]"
ModSpoti = "Spotifyயை Patch செய்யப்படுகிறது..."
Error = "பிழை"
FileLocBroken = "Spotify கோப்புகளின் இருப்பிடம் மாறிவிட்டது, Spotify clientயை நிறுவல் நீக்கி Scriptயை மீண்டும் இயக்கவும்"
Spicetify = "Spicetify கண்டறியப்பட்டது, இது SpotX க்குப் பிறகு நிறுவப்பட வேண்டும், FAQ இல் பரிந்துரைக்கப்பட்ட செயல்களைத் திறக்க விரும்புகிறீர்களா? [Y/N]"
NoRestore = "SpotX ஏற்கனவே நிறுவப்பட்டது, xpui.bak காணப்படவில்லை. 'nதயவுசெய்து Spotify clientயை நிறுவல் நீக்கி Install.batயை மீண்டும் இயக்கவும்"
InstallComplete = "நிறுவல் முடிந்தது"
HostInfo = "Host filesல் தேவையற்ற URL கள் கண்டறியப்படுகின்றன"
HostBak = "hosts.bak காப்புப்பிரதி..."
HostDel = "Original host filesலிருந்து தேவையற்ற URL களை அகற்ற முயற்சிக்கிறது ..."
HostError = "Hosts Filesயைத் திருத்தும் போது ஏதோ தவறு ஏற்பட்டது, அதை manualலாக திருத்தவும் அல்லது Scriptயை administratorராக இயக்கவும்"
PressAnyKey = "Press any key to exit..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔══════════════════════════════════╗
║ Windows için SpotX'e Hoşgeldiniz ║
╚══════════════════════════════════╝"
Incorrect = "Eyvah, yanlış bir değer,"
Incorrect2 = "tekrar girin "
Download = "İndirirken hata oluştu"
Download2 = "5 saniye içinde tekrar talep edilecek..."
Download3 = "Yine hata oluştu"
Download4 = "Ağ ayarlarınızı kontrol edin ve kurulumu tekrar çalıştırın"
Download5 = "Spotify indiriliyor"
StopScript = "Komut dosyası durduruldu"
MsSpoti = "Spotify'ın desteklenmeyen Microsoft Store sürümü tespit edildi"
MsSpoti2 = "Spotify'ın Microsoft Store sürümünü kaldır [Y/N]"
MsSpoti3 = "Spotify MS otomatik olarak kaldırlıyor..."
MsSpoti4 = "Spotify MS kaldırılıyor..."
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"
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]"
DelOld = "Eski 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"
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]"
DelNew = "Test edilmemiş Spotify kaldırılıyor..."
DownSpoti = "Spotify indiriliyor ve kuruluyor"
DownSpoti2 = "Lütfen bekleyin..."
PodcatsOff = "Podcastler Kapalı"
PodcastsOn = "Podcastler Açık"
PodcatsSelect = "Ana sayfadan podcastleri, bölümleri ve sesli kitapları kaldırmak istiyor musunuz? [Y/N]"
DowngradeNote = "Spotify'da sürüm düşürme olduğu için engellemeniz önerilir"
UpdBlock = "Spotify güncellemeleri engellendi"
UpdUnblock = "Spotify güncellemeleri engellenmedi"
UpdSelect = "Spotify güncellemelerini engellemek ister misiniz? [Y/N]"
ModSpoti = "Spotify'a yama yapılıyor..."
Error = "Hata"
FileLocBroken = "Spotify dosyalarının konumu bozuk, istemciyi kaldırın ve kodu tekrar çalıştırın"
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX zaten kurulmuş, xpui.bak dosyası bulunamadı. `nLütfen Spotify istemcisini kaldırın ve Install.bat dosyasını tekrar çalıştırın"
InstallComplete = "kurulum tamamlandı"
HostInfo = "Hosts dosyasında istenmeyen URL'ler bulundu"
HostBak = "hosts.bak dosyası yedekleniyor...."
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"
PressAnyKey = "Çıkmak için herhangi bir tuşa basın..."
}

View File

@@ -0,0 +1,50 @@
[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 = "Модифікація для преміумкористувачів..."
OldV = "Знайдена застаріла версія Spotify"
OldV2 = "Ваша версія Spotify {0} застаріла, її рекомендовано оновити до {1}"
OldV3 = "Хочете оновитися ? [Y/N]"
AutoUpd = "Автоматичне оновлення на рекомендовану версію"
DelOrOver = "Хочете видалити наявну версію {0} або встановити нову поряд? Y [Видалити] / N [Встановити поряд]"
DelOld = "Видалення старої версії Spotify..."
NewV = "Непідтримувана версія Spotify знайдена"
NewV2 = "Ваша версія Spotify {0} ще не була протестована, стабільна версія наразі {1}"
NewV3 = "Чи хочете продовжити на версії {0} (можливі помилки) ? [Y/N]"
Recom = "Чи хочете встановити рекомендовану версію {0} ? [Y/N]"
DelNew = "Видалення непротестованої версії Spotify..."
DownSpoti = "Завантаження та встановлення Spotify"
DownSpoti2 = "Зачекайте, будь-ласка..."
PodcatsOff = "Вимкнути подкасти"
PodcastsOn = "Увімкнути подкасти"
PodcatsSelect = "Чи хочете ви вимкнути подкасти, епізоди та аудіокниги з головної сторінки? [Y/N]"
DowngradeNote = "Це рекомендується заблокувати, бо версію Spotify було знижено"
UpdBlock = "Оновлення Spotify заблоковано"
UpdUnblock = "Оновлення Spotify наразі не заблоковані"
UpdSelect = "Хочете заблокувати оновлення Spotify ? [Y/N]"
ModSpoti = "Встановлення патчів на Spotify..."
Error = "Помилка"
FileLocBroken = "Помилки у шляху до файлів Spotify, видаліть клієнт та запустіть скрипт ще раз."
Spicetify = "Spicetify detected, it must be installed after SpotX, open recommended actions in FAQ ? [Y/N]"
NoRestore = "SpotX вже встановлено, але файл xpui.bak не знайдено. `nБудь-ласка, видаліть клієнт Spotify та запустіть скрипт ще раз."
InstallComplete = "встановлення завершене"
HostInfo = "Небажані посилання знайдені у файлі hosts"
HostBak = "Бекап hosts.bak..."
HostDel = "Спроба прибрати небажані посилання з оригінального файлу hosts..."
HostError = "Щось пішло не так під час редагування файлу hosts, змініть його вручну, або спробуйте запустити скрипт від імені адміністратора"
PressAnyKey = "Натисніть будь-яку клавішу, щоб вийти..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═════════════════════════════════════╗
║ Chào mừng đến với SpotX cho Windows ║
╚═════════════════════════════════════╝"
Incorrect = "Ối, sai giá trị rồi,"
Incorrect2 = "hãy thử lại "
Download = "Lỗi khi tải xuống"
Download2 = "Tải lại sau 5 giây..."
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"
Download5 = "Đang tải Spotify"
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ợ"
MsSpoti2 = "Gỡ Spotify của Microsoft Store [Y/N]"
MsSpoti3 = "Đang tự động gỡ Spotify MS..."
MsSpoti4 = "Đang gỡ Spotify MS..."
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}"
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]"
DelOld = "Đang gỡ Spotify bản cũ..."
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}"
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]"
DelNew = "Đang gỡ phiên bản Spotify chưa được kiểm thử..."
DownSpoti = "Đang tải và cài Spotify"
DownSpoti2 = "Vui lòng chờ..."
PodcatsOff = "Tắt Podcasts"
PodcastsOn = "Bật Podcasts"
PodcatsSelect = "Bạn có muốn xóa podcast (dài tập) và sách nói khỏi màn hình chính không? [Y/N]"
DowngradeNote = "Nên chặn cập nhật vì bạn đang dùng bản Spotify cũ"
UpdBlock = "Đã chặn cập nhật Spotify"
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]"
ModSpoti = "Đang vá Spotify..."
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á"
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"
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"
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..."
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..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔═════════════════════════════╗
║ 歡迎使用 SpotX Windows 版 ║
╚═════════════════════════════╝"
Incorrect = "糟糕,參數錯誤,"
Incorrect2 = "請重新輸入 "
Download = "下載錯誤"
Download2 = "將在五秒後重試"
Download3 = "再次出錯"
Download4 = "檢查您的網路設定後再次嘗試安裝"
Download5 = "下載 Spotify"
StopScript = "腳本已停止"
MsSpoti = "偵測到不支援的 Spotify 微軟商店版本"
MsSpoti2 = "解除安裝微軟商店的 Spotify [Y/N]"
MsSpoti3 = "自動解除安裝 Spotify 的微軟商店版本..."
MsSpoti4 = "正在解除安裝 Spotify 的微軟商店版本..."
Prem = "針對 Premium 帳號的修改..."
OldV = "發現過時的 Spotify 版本"
OldV2 = "您的Spotify {0} 版本已過時,建議更新到 {1}"
OldV3 = "需要更新嗎? [Y/N]"
AutoUpd = "自動更新到推薦版本"
DelOrOver = "是否要解除安裝目前版本 {0} 或者覆蓋安裝? Y [解除安裝] / N [覆蓋安裝]"
DelOld = "解除安裝舊版 Spotify..."
NewV = "偵測到不支援的 Spotify 版本"
NewV2 = "您的 Spotify {0} 版本還沒有經過測試,目前穩定的版本是 {1} "
NewV3 = "您想要繼續使用 {0} 版本嗎 (可能會出現錯誤) [Y/N]"
Recom = "您想安裝推薦的 {0} 版本嗎? [Y/N]"
DelNew = "解除安裝未經測試的 Spotify 版本..."
DownSpoti = "下載並安裝 Spotify"
DownSpoti2 = "請稍候..."
PodcatsOff = "關閉 Podcasts"
PodcastsOn = "開啟 Podcasts"
PodcatsSelect = "您想要關閉主頁上的 Podcasts劇集和有聲書嗎 [Y/N]"
DowngradeNote = "由於 Spotify 已降級,故推薦阻止"
UpdBlock = "阻止 Spotify 更新"
UpdUnblock = "不阻止 Spotify 更新"
UpdSelect = "您想要阻止 Spotify 更新嗎? [Y/N]"
ModSpoti = "修補 Spotify..."
Error = "錯誤"
FileLocBroken = "Spotify 的路徑已損壞,請解除安裝客戶端並重新執行腳本"
Spicetify = "偵測到 Spicetify它必須在安裝 SpotX 後進行安裝。是否啟用 FAQ 中的建議操作?[Y/N]"
NoRestore = "SpotX 已經安裝,但是找不到 xpui.bak `n請重新安裝 Spotify 客戶端後再運行 Install.bat"
InstallComplete = "安裝完成"
HostInfo = "在 hosts 檔案中發現不需要的網址"
HostBak = "正在備份 hosts.bak..."
HostDel = "正在嘗試從原始 hosts 檔案中刪除不需要的網址..."
HostError = "在編輯 hosts 檔案時發生了錯誤,請手動編輯或以系統管理員身分執行腳本"
PressAnyKey = "按任意鍵退出..."
}

View File

@@ -0,0 +1,50 @@
[PSCustomObject]@{
Welcome = "
╔════════════════════════════════╗
║ 欢迎使用 SpotX 的 Windows 版本 ║
╚════════════════════════════════╝"
Incorrect = "糟糕,不正确的参数,"
Incorrect2 = "请重新输入 "
Download = "下载错误"
Download2 = "将在五秒后重试"
Download3 = "再次出错"
Download4 = "请检查您的网络设置后再次尝试安装"
Download5 = "下载 Spotify"
StopScript = "脚本已停止"
MsSpoti = "检测到 Spotify 为微软商店版本,此脚本不支持该版本"
MsSpoti2 = "是否卸载微软商店的 Spotify [Y/N]"
MsSpoti3 = "自动卸载 Spotify 的微软商店版本..."
MsSpoti4 = "正在卸载 Spotify 的微软商店版本..."
Prem = "正在进行针对 Premium 账户的修改..."
OldV = "发现已过时的 Spotify 版本"
OldV2 = "您的 Spotify {0} 版本已过时,建议更新到 {1}"
OldV3 = "是否需要更新? [Y/N]"
AutoUpd = "自动更新到推荐版本"
DelOrOver = "是否要卸载当前版本 {0} 或者覆盖安装? Y [卸载] / N [覆盖安装]"
DelOld = "正在卸载旧的 Spotify..."
NewV = "检测到 Spotify 版本不受到支持"
NewV2 = "您的 Spotify {0} 版本没有经过测试,目前的推荐的版本是 {1}"
NewV3 = "您想要继续使用 {0} 版本吗 (可能会出现错误) [Y/N]"
Recom = "您想安装推荐的 {0} 版本吗 ? [Y/N]"
DelNew = "正在卸载未经测试的 Spotify 版本..."
DownSpoti = "下载并安装 Spotify"
DownSpoti2 = "请稍等..."
PodcatsOff = "关闭播客"
PodcastsOn = "开启播客"
PodcatsSelect = "您想关闭主页上的播客、剧集与有声读物吗? [Y/N]"
DowngradeNote = "由于 Spotify 已降级,建议屏蔽"
UpdBlock = "阻止 Spotify 更新"
UpdUnblock = "不阻止 Spotify 更新"
UpdSelect = "您想要阻止 Spotify 更新吗? [Y/N]"
ModSpoti = "修补 Spotify..."
Error = "错误"
FileLocBroken = "Spotify 文件已损坏,请请卸载客户端并重新运行脚本"
Spicetify = "检测到 Spicetify它必须在安装 SpotX 后进行安装。是否启用 FAQ 中的建议操作? [Y/N]"
NoRestore = "SpotX 已经安装,但是找不到文件 xpui.bak . `n请重新安装 Spotify 客户端后再次运行 install.bat"
InstallComplete = "安装完成"
HostInfo = "在 hosts 文件中发现了不需要的 URL"
HostBak = "备份原始 hosts 文件为 hosts.bak..."
HostDel = "正在试图从原始 hosts 文件中删除不需要的 URL..."
HostError = "在编辑 hosts 文件时发生了错误,请手动编辑或以管理员身份重新运行该脚本。"
PressAnyKey = "按任意键退出..."
}