mirror of
https://github.com/SpotX-Official/SpotX.git
synced 2026-04-20 10:44:35 +10:00
Compare commits
534 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0abf98a36b | ||
|
|
ef6601d186 | ||
|
|
ffd4a6b897 | ||
|
|
bd9726f589 | ||
|
|
74915a1e3e | ||
|
|
68fe6b6726 | ||
|
|
95abca6bc4 | ||
|
|
b22bebdab5 | ||
|
|
a0a59726ee | ||
|
|
6070bbcf1b | ||
|
|
691e24fa2e | ||
|
|
393d660d88 | ||
|
|
80d1da6c16 | ||
|
|
246c0f838f | ||
|
|
4c615f7a5a | ||
|
|
92894fc64c | ||
|
|
ece9799d2c | ||
|
|
2bbe38e20b | ||
|
|
a784576544 | ||
|
|
d71b1d4963 | ||
|
|
a992b74b51 | ||
|
|
15132daa81 | ||
|
|
d2f652b73e | ||
|
|
bae24fab51 | ||
|
|
2872e44360 | ||
|
|
72b4578e15 | ||
|
|
8085973eb7 | ||
|
|
99c235dff4 | ||
|
|
c2526dc3b8 | ||
|
|
a689c266dd | ||
|
|
e3121ea435 | ||
|
|
9ea3b4082a | ||
|
|
9cf696b876 | ||
|
|
fcd40cbc48 | ||
|
|
b26febf64b | ||
|
|
50138858fa | ||
|
|
bf78e900b6 | ||
|
|
014e49f426 | ||
|
|
6b40b8d0ee | ||
|
|
553c42e5ed | ||
|
|
0299c089c7 | ||
|
|
f4aa7ad64a | ||
|
|
6b586d46ac | ||
|
|
eb56ce0255 | ||
|
|
9dc6126f69 | ||
|
|
49b0a3ffc2 | ||
|
|
dbd120b458 | ||
|
|
8d9bbde34a | ||
|
|
a500bf2100 | ||
|
|
ab9ab17055 | ||
|
|
6d9a3ec257 | ||
|
|
cb1eab3663 | ||
|
|
a679cb3411 | ||
|
|
2051de8ba7 | ||
|
|
3c3d5cde71 | ||
|
|
447b44122e | ||
|
|
2be071b03e | ||
|
|
3798ef1991 | ||
|
|
02b0d76443 | ||
|
|
aeca128854 | ||
|
|
28e807363f | ||
|
|
8d59fb3f68 | ||
|
|
8e16837242 | ||
|
|
10d2e76702 | ||
|
|
a775edfcdc | ||
|
|
184fa13403 | ||
|
|
7df2695e42 | ||
|
|
77bf27a158 | ||
|
|
b800bb9e8d | ||
|
|
7a0675d4ed | ||
|
|
488c4e8b74 | ||
|
|
208622c547 | ||
|
|
133e78474b | ||
|
|
91203c4775 | ||
|
|
1c533d4eeb | ||
|
|
3bf6942a7d | ||
|
|
39391a1755 | ||
|
|
abc87bd2c6 | ||
|
|
aff944bbf5 | ||
|
|
9c2f9cac48 | ||
|
|
34abd7492e | ||
|
|
4eaf0d8128 | ||
|
|
27624387be | ||
|
|
69f50fd544 | ||
|
|
c9aee164c6 | ||
|
|
3543e594f3 | ||
|
|
cce7948412 | ||
|
|
dc1a38838f | ||
|
|
a5a47b6913 | ||
|
|
e12929faea | ||
|
|
0997fb25cd | ||
|
|
334e64d7fc | ||
|
|
2e4e8db907 | ||
|
|
3ea8683a6e | ||
|
|
aeb4b3d049 | ||
|
|
a065b142ab | ||
|
|
cdb111c758 | ||
|
|
5bd1fcb235 | ||
|
|
b8077eefe0 | ||
|
|
ae32767ca1 | ||
|
|
b7e9cbe14f | ||
|
|
9fea76f1ca | ||
|
|
66b863f5fc | ||
|
|
cbbf8f83f3 | ||
|
|
de7882fb99 | ||
|
|
cd140c94e0 | ||
|
|
611239b053 | ||
|
|
17347816b1 | ||
|
|
636ad97e52 | ||
|
|
fe1e87a20f | ||
|
|
0c89b528e4 | ||
|
|
8a1fe6487c | ||
|
|
aabf778c38 | ||
|
|
a43c201d37 | ||
|
|
26d8d97a8c | ||
|
|
f27c016428 | ||
|
|
60b2a27b23 | ||
|
|
6bcb4a0788 | ||
|
|
e36edbcded | ||
|
|
114abd8952 | ||
|
|
d2076a5bae | ||
|
|
3c421db6ea | ||
|
|
9a48c98deb | ||
|
|
cdbd4b29f1 | ||
|
|
2babd58516 | ||
|
|
c4543aca1c | ||
|
|
c405f2666b | ||
|
|
06617a3e49 | ||
|
|
b1c94bf550 | ||
|
|
da6c118859 | ||
|
|
75def8ac19 | ||
|
|
5a2c160ea5 | ||
|
|
7a13b0732e | ||
|
|
5bd389dc7f | ||
|
|
07b40a7ff7 | ||
|
|
28ea2db0fe | ||
|
|
4539ea7821 | ||
|
|
bdb762b930 | ||
|
|
2ca883ecea | ||
|
|
50110c8b73 | ||
|
|
9479460ef5 | ||
|
|
a16b48f1c8 | ||
|
|
2ed8681be9 | ||
|
|
b20dd48e1f | ||
|
|
2fb584b3ce | ||
|
|
b3ced889c7 | ||
|
|
2aae3d67be | ||
|
|
f265a5fca0 | ||
|
|
7448c439d6 | ||
|
|
743e6113c2 | ||
|
|
6c8fa32d12 | ||
|
|
28147cb29d | ||
|
|
99edd957a8 | ||
|
|
bc3079dcee | ||
|
|
d90a4f9abe | ||
|
|
4223dad171 | ||
|
|
a60308695f | ||
|
|
630a331b72 | ||
|
|
009d6c7107 | ||
|
|
93cf6228a8 | ||
|
|
e4206c55ba | ||
|
|
0658ccba4d | ||
|
|
42e40ddd25 | ||
|
|
e5db5e43b4 | ||
|
|
4396b0ca5d | ||
|
|
46395700ee | ||
|
|
3be2ea3a91 | ||
|
|
6697419f06 | ||
|
|
8ef388cb0a | ||
|
|
554165e6d8 | ||
|
|
224e3c0bbd | ||
|
|
da3c98ff1f | ||
|
|
80f7109774 | ||
|
|
84b075bff1 | ||
|
|
9ef13f7d95 | ||
|
|
2835c8a8ae | ||
|
|
225fd96032 | ||
|
|
0b77c48215 | ||
|
|
4674f36496 | ||
|
|
f9391ab7f3 | ||
|
|
55d452eb0e | ||
|
|
5908ad228b | ||
|
|
b7dc969bfc | ||
|
|
92ef6cb117 | ||
|
|
6dca82a292 | ||
|
|
27f14857bc | ||
|
|
162e90aea5 | ||
|
|
8e69ee9f07 | ||
|
|
2f14e0dab6 | ||
|
|
3ec3b7d87e | ||
|
|
92f6802822 | ||
|
|
ab9680c263 | ||
|
|
c70d7b6cce | ||
|
|
25195c37d6 | ||
|
|
91654f616f | ||
|
|
f43f35a973 | ||
|
|
fd47891b55 | ||
|
|
65efd5f2fb | ||
|
|
6753fb548f | ||
|
|
e4253530f2 | ||
|
|
ede7a16abd | ||
|
|
7b56e3855b | ||
|
|
66a615ae4c | ||
|
|
0be7e52624 | ||
|
|
7bfd84614f | ||
|
|
60dff3ad34 | ||
|
|
40ca898241 | ||
|
|
881b92f5f2 | ||
|
|
b8f6a35b97 | ||
|
|
ae49476fc2 | ||
|
|
80686ef696 | ||
|
|
4f30ec8d1f | ||
|
|
76fed67660 | ||
|
|
af30d4c669 | ||
|
|
fe9b5feba2 | ||
|
|
4e78342c68 | ||
|
|
61b2149a8a | ||
|
|
4e4393cabf | ||
|
|
cdd4c9f839 | ||
|
|
e030649f74 | ||
|
|
22acd70e2f | ||
|
|
74acfbf4aa | ||
|
|
e6beaab605 | ||
|
|
de92986bcc | ||
|
|
3c5cf6ab86 | ||
|
|
3c08f41ab1 | ||
|
|
8d87b96655 | ||
|
|
e0a9409ef3 | ||
|
|
3431dcc5df | ||
|
|
484c2eb922 | ||
|
|
a92a201108 | ||
|
|
60f6b83e8a | ||
|
|
167678c8cf | ||
|
|
8970cae410 | ||
|
|
cb9e847236 | ||
|
|
55da9f2e5c | ||
|
|
1ddd051567 | ||
|
|
7ac0d407d5 | ||
|
|
a4e0c4cb4c | ||
|
|
9b561c97dd | ||
|
|
e4e1c0ff45 | ||
|
|
ef33b6e0a9 | ||
|
|
22c9a48537 | ||
|
|
36eeddb41f | ||
|
|
cd173c4390 | ||
|
|
f1474a2207 | ||
|
|
11806cdf3e | ||
|
|
7a7186b363 | ||
|
|
1c9c750a8e | ||
|
|
0ac229dbd5 | ||
|
|
177402498c | ||
|
|
ba3d4c8497 | ||
|
|
8d6b15dd3f | ||
|
|
7294345f30 | ||
|
|
c3cbe3a6bd | ||
|
|
2c0ae54ac0 | ||
|
|
2056bd71ea | ||
|
|
51558614b7 | ||
|
|
1662dbcf7d | ||
|
|
9190341c5c | ||
|
|
7fd8e39004 | ||
|
|
a8da2f6c1d | ||
|
|
39e6a30f50 | ||
|
|
07b2547f77 | ||
|
|
9f66d98ac6 | ||
|
|
df28600f18 | ||
|
|
62909a38f0 | ||
|
|
545b9e70f2 | ||
|
|
0b23b187d9 | ||
|
|
3cf2ce3d32 | ||
|
|
e37418a5d0 | ||
|
|
9a51c24c83 | ||
|
|
53671d64fc | ||
|
|
7135a6a3ec | ||
|
|
88f2b5b92d | ||
|
|
31dd0c7d35 | ||
|
|
b65d8bc394 | ||
|
|
cd057d8a3c | ||
|
|
78a0798747 | ||
|
|
b34a0304d4 | ||
|
|
489260955f | ||
|
|
24a3a5f942 | ||
|
|
853aacc821 | ||
|
|
5716b8a6fb | ||
|
|
8e41023251 | ||
|
|
b536bdfd17 | ||
|
|
0f94baa294 | ||
|
|
b7de68733a | ||
|
|
97716915c2 | ||
|
|
f197a5332f | ||
|
|
d843ede644 | ||
|
|
3b588b3aad | ||
|
|
60858ca890 | ||
|
|
5f85bf124a | ||
|
|
95aca4c640 | ||
|
|
d77d6d7e35 | ||
|
|
2e1f12cadb | ||
|
|
7ab788ba5e | ||
|
|
8906aa2861 | ||
|
|
208dceafa2 | ||
|
|
77764d6a0f | ||
|
|
05ac8387aa | ||
|
|
5b650e7b55 | ||
|
|
ad825b8ade | ||
|
|
1e7b6824d5 | ||
|
|
80ac50144d | ||
|
|
375a3623cc | ||
|
|
e454aa86da | ||
|
|
77ceb30760 | ||
|
|
8b20e119ea | ||
|
|
435e348032 | ||
|
|
099e453ff2 | ||
|
|
3db3a85662 | ||
|
|
e6976caa3b | ||
|
|
c5de40db1e | ||
|
|
227407f8d9 | ||
|
|
d7a4ecada9 | ||
|
|
4eec87ed38 | ||
|
|
db7a3773a9 | ||
|
|
9390ceae26 | ||
|
|
1ff1514251 | ||
|
|
c82a0d7c00 | ||
|
|
afe04fb704 | ||
|
|
ba50d4ef67 | ||
|
|
95ec82c91e | ||
|
|
16d99113da | ||
|
|
ecdaec0397 | ||
|
|
5074dc87a3 | ||
|
|
8deb07c1a6 | ||
|
|
fc42550ba5 | ||
|
|
5a1932b532 | ||
|
|
6dd4a1c349 | ||
|
|
a3dd6f3701 | ||
|
|
e08b8f6898 | ||
|
|
0bbf4193e8 | ||
|
|
62bc32fb07 | ||
|
|
f0f528b97c | ||
|
|
744f12acd2 | ||
|
|
c58d0bfcbc | ||
|
|
7c5e94f3a4 | ||
|
|
3ad46946a2 | ||
|
|
908dd256d9 | ||
|
|
fc7efd386f | ||
|
|
e4cee86fb4 | ||
|
|
ff9d9810fa | ||
|
|
72b934e8fe | ||
|
|
5c34f445d4 | ||
|
|
20ec8c1fbc | ||
|
|
bfed9ec45e | ||
|
|
808a49ccb9 | ||
|
|
c29fe4e4dc | ||
|
|
96281a2248 | ||
|
|
9e2c1ecf0c | ||
|
|
ca3d4ed6e7 | ||
|
|
ff8bdcdf23 | ||
|
|
bda3281b42 | ||
|
|
116d5d85bd | ||
|
|
bb5f4c4a1f | ||
|
|
45b7622f66 | ||
|
|
6be3db4763 | ||
|
|
f1f51c8598 | ||
|
|
e6d3f6b9d8 | ||
|
|
873e4d24ca | ||
|
|
3e98374b7d | ||
|
|
d3252b6467 | ||
|
|
89bc55c17a | ||
|
|
6567610ac7 | ||
|
|
0e1723bf44 | ||
|
|
7dae7d42c1 | ||
|
|
02c7fbdaf7 | ||
|
|
cc6e328ff4 | ||
|
|
4958a8dc27 | ||
|
|
ce39013f77 | ||
|
|
aa4a499487 | ||
|
|
791ccf5ab3 | ||
|
|
d983d70848 | ||
|
|
7cf8f4c959 | ||
|
|
dcedf58df2 | ||
|
|
59f986f202 | ||
|
|
79b82f1d1d | ||
|
|
4c3a41776c | ||
|
|
c0600777af | ||
|
|
32ed735051 | ||
|
|
2fb3aab41a | ||
|
|
551502197c | ||
|
|
0d21e215fa | ||
|
|
d7c0b6da57 | ||
|
|
0168df8d12 | ||
|
|
82645ab213 | ||
|
|
be8814e425 | ||
|
|
b0c2acf182 | ||
|
|
b0e7cf1fe8 | ||
|
|
06fb7a757f | ||
|
|
483081c2a2 | ||
|
|
504d2e353b | ||
|
|
1eb9041918 | ||
|
|
8deb41f0ae | ||
|
|
4c35ef13f0 | ||
|
|
9d138fe58a | ||
|
|
0d9b73ef02 | ||
|
|
ca6c01e0e4 | ||
|
|
c6048b3cf9 | ||
|
|
c121fc3153 | ||
|
|
d1a02464e7 | ||
|
|
da091028ca | ||
|
|
8da086be4f | ||
|
|
fb5f3c0ba5 | ||
|
|
9f3b24a70d | ||
|
|
244af6e3bc | ||
|
|
36717aa3f4 | ||
|
|
b73999b86c | ||
|
|
ad7d5b0f72 | ||
|
|
74bf0653ec | ||
|
|
be581da625 | ||
|
|
fd75348943 | ||
|
|
659e845b2d | ||
|
|
fa0a99a13e | ||
|
|
c74a701ad9 | ||
|
|
f50fd87799 | ||
|
|
1538d04945 | ||
|
|
4132ad6785 | ||
|
|
fcc743ef05 | ||
|
|
b75c43e46b | ||
|
|
113a549f43 | ||
|
|
62ecdf17ac | ||
|
|
173c250f2d | ||
|
|
5665cff3e4 | ||
|
|
1cfa65e652 | ||
|
|
63f66ca42a | ||
|
|
49a68d463d | ||
|
|
f2c2c96284 | ||
|
|
e8a1c47492 | ||
|
|
35d4ffe26c | ||
|
|
0cc59987b6 | ||
|
|
bee94410e4 | ||
|
|
1410b91cbe | ||
|
|
43718565fc | ||
|
|
3f430bc452 | ||
|
|
0ccedf5c8e | ||
|
|
d5aa20a13d | ||
|
|
083414a8a7 | ||
|
|
01b77a12be | ||
|
|
ec7ca038b4 | ||
|
|
b1377aebde | ||
|
|
e3a611c6d6 | ||
|
|
5522018b0d | ||
|
|
8de62621a6 | ||
|
|
ab054ae4d2 | ||
|
|
712f48d64e | ||
|
|
59b004e0a2 | ||
|
|
171391aa7f | ||
|
|
e849858f97 | ||
|
|
e4c4660fa1 | ||
|
|
3240c46dcd | ||
|
|
019a2c43c1 | ||
|
|
1e7acabb87 | ||
|
|
e4c06859e9 | ||
|
|
8b351608ad | ||
|
|
a8e79cde70 | ||
|
|
a5ada4bea3 | ||
|
|
6559de3103 | ||
|
|
f6e9256209 | ||
|
|
60fffebad1 | ||
|
|
ff326a1181 | ||
|
|
042d8b97a9 | ||
|
|
ae18996221 | ||
|
|
e304ca5383 | ||
|
|
0e64ba6b1c | ||
|
|
7ee55cbcc1 | ||
|
|
fa07965f2e | ||
|
|
be37b92f6b | ||
|
|
75f5e3e04a | ||
|
|
f61a804c23 | ||
|
|
c56d29c0b6 | ||
|
|
d885ec955d | ||
|
|
0a8bfab976 | ||
|
|
d3a45810a9 | ||
|
|
02533cd471 | ||
|
|
0868af39e0 | ||
|
|
fdf9cbad95 | ||
|
|
9eb0d73b6d | ||
|
|
95c9e52bf9 | ||
|
|
594e4375ab | ||
|
|
1577b0604c | ||
|
|
b94e1e3a1b | ||
|
|
1fbc0615a1 | ||
|
|
e4c6e9ae47 | ||
|
|
244714a554 | ||
|
|
1c5dc9918a | ||
|
|
3219d3227f | ||
|
|
85893789a8 | ||
|
|
d3bc02769e | ||
|
|
54e4c875bd | ||
|
|
828373f255 | ||
|
|
efe63e7ea0 | ||
|
|
8349d2acae | ||
|
|
c3ec503453 | ||
|
|
ec09bb7a69 | ||
|
|
37a32b22b0 | ||
|
|
5d79a1d038 | ||
|
|
aed43c34cf | ||
|
|
78d703f1e6 | ||
|
|
d71e735234 | ||
|
|
7f93d976db | ||
|
|
252a919629 | ||
|
|
99ab3170d0 | ||
|
|
b51b11f3f7 | ||
|
|
44b0caf408 | ||
|
|
3862cfc1ed | ||
|
|
d46d371873 | ||
|
|
9ec4474ac3 | ||
|
|
23c303a31f | ||
|
|
85ebc1faae | ||
|
|
88758f348c | ||
|
|
2843ba5b1c | ||
|
|
588a2871b8 | ||
|
|
3a21a5087f | ||
|
|
2d1c57e8f3 | ||
|
|
eb568346f9 | ||
|
|
d02e4a6fba | ||
|
|
967afc38db | ||
|
|
43b4c74dc4 | ||
|
|
9e2816c428 | ||
|
|
527b6fb137 | ||
|
|
5883896ae1 | ||
|
|
66bf1b3966 | ||
|
|
e7ceef2a47 | ||
|
|
69ab67abf2 | ||
|
|
2b8f1c6575 | ||
|
|
c2a85449a3 | ||
|
|
3a2b643ede | ||
|
|
0efe92ad5f | ||
|
|
08fb796f1b | ||
|
|
4f05d5f10e |
12
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
12
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -5,7 +5,7 @@ body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: 🧐 Have you read the FAQ and viewed similar issues?
|
||||
description: Please read the <a href="https://telegra.ph/SpotX-FAQ-09-19">FAQ</a>. Also check the open and closed <a href="https://github.com/SpotX-CLI/SpotX-Win/issues">issue</a> because your issue may have already been fixed.
|
||||
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
|
||||
@@ -20,7 +20,7 @@ body:
|
||||
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/">Country or region</a>.
|
||||
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
|
||||
@@ -46,8 +46,8 @@ body:
|
||||
label: Do you have Spicetify installed?
|
||||
description: <a href="https://spicetify.app/">Spicetify</a> is a command line tool to customize Spotify client.
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
- "Yes"
|
||||
validations:
|
||||
required: true
|
||||
- type: markdown
|
||||
@@ -57,12 +57,12 @@ body:
|
||||
attributes:
|
||||
label: ℹ Computer information
|
||||
description: |
|
||||
- Spotify: e.g. <kbd>1.1.90.859.gf1bb1e36</kbd>
|
||||
- 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>
|
||||
- In the Windows PowerShell console, type the following command <kbd>Get-Host | Select-Object Version</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:
|
||||
@@ -91,4 +91,4 @@ body:
|
||||
description: Place any screenshots of the issue here if needed
|
||||
validations:
|
||||
required: false
|
||||
|
||||
|
||||
|
||||
30
.github/ISSUE_TEMPLATE/idea.yml
vendored
30
.github/ISSUE_TEMPLATE/idea.yml
vendored
@@ -1,30 +0,0 @@
|
||||
name: 💡 To suggest an idea
|
||||
description: Suggest a new feature or improvement
|
||||
labels: 💡 enhancement
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description of the new feature / enhancement
|
||||
description: A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable)
|
||||
value: |
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 📸 Screenshots
|
||||
description: Place any screenshots of the issue here if needed
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "⠀"
|
||||
description: "Form for user reactions, please do not change the text inside"
|
||||
placeholder: |
|
||||
***
|
||||
If you like the idea, add a 👍 reaction to this post
|
||||
value: |
|
||||
***
|
||||
If you like the idea, add a 👍 reaction to this post
|
||||
@@ -6,7 +6,7 @@ body:
|
||||
id: lang
|
||||
attributes:
|
||||
label: What language do you want to translate into?
|
||||
description: Also note the already added <a href="https://github.com/SpotX-CLI/SpotX-Win/tree/main/scripts/installer-lang">languages</a>
|
||||
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
|
||||
@@ -40,49 +40,37 @@ body:
|
||||
Download3 = "Error again"
|
||||
Download4 = "Check your network settings and run the installation again"
|
||||
Download5 = "Downloading Spotify"
|
||||
Download6 = "Curl error"
|
||||
StopScrpit = "Script is stopped"
|
||||
StopScript = "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]"
|
||||
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 {0} version is outdated, it is recommended to upgrade to {1}"
|
||||
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 = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]"
|
||||
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 {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]"
|
||||
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 = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]"
|
||||
DowngradeNote = "It is recommended to block because Spotify was downgraded"
|
||||
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 = "Want to block Spotify 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"
|
||||
UpdSelect = "Block Spotify updates ? [Y/N]"
|
||||
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, but files to recover xpui.js.bak and xpui.css.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
|
||||
ExpSpotify = "Experimental features operated by Spotify"
|
||||
ExpStandart = "Experimental features of SpotX are not included"
|
||||
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"
|
||||
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..."
|
||||
|
||||
1
.github/Pic/Shields/SpotX_Channel.svg
vendored
Normal file
1
.github/Pic/Shields/SpotX_Channel.svg
vendored
Normal 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 |
1
.github/Pic/Shields/SpotX_Community.svg
vendored
Normal file
1
.github/Pic/Shields/SpotX_Community.svg
vendored
Normal 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 |
1
.github/Pic/Shields/SpotX_for_Mac&Linux.svg
vendored
Normal file
1
.github/Pic/Shields/SpotX_for_Mac&Linux.svg
vendored
Normal 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 & Linux: "><title>SpotX for Mac & 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 & Linux</text><text x="845" y="130" transform="scale(.1)" fill="#fff" textLength="1230">SpotX for Mac & Linux</text></g></svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
1
.github/Pic/Shields/faq.svg
vendored
Normal file
1
.github/Pic/Shields/faq.svg
vendored
Normal 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 |
BIN
.github/Pic/logo.png
vendored
Normal file
BIN
.github/Pic/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
1
.github/cutt/test-cutt.txt
vendored
1
.github/cutt/test-cutt.txt
vendored
@@ -1 +0,0 @@
|
||||
test
|
||||
126
.github/workflows/auto-closes-false-positive.yml
vendored
Normal file
126
.github/workflows/auto-closes-false-positive.yml
vendored
Normal 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 **@​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
32
.github/workflows/check_spotx.yml
vendored
Normal 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
34
.github/workflows/update-license.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: Update License Year
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 1 1 *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update-license:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Update year in LICENSE
|
||||
run: |
|
||||
CURRENT_YEAR=$(date +'%Y')
|
||||
sed -i -E "s/Copyright \(c\) ([0-9]{4})(-[0-9]{4})?/Copyright (c) \1-$CURRENT_YEAR/" LICENSE
|
||||
|
||||
- name: Commit and push changes
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add LICENSE
|
||||
|
||||
if git diff --staged --quiet; then
|
||||
echo "No changes needed"
|
||||
else
|
||||
git commit -m "chore: update license year to $(date +'%Y')"
|
||||
git push
|
||||
fi
|
||||
@@ -1,6 +0,0 @@
|
||||
@echo off
|
||||
|
||||
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}"; "& {(Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/main/Install.ps1').Content | Invoke-Expression}"
|
||||
|
||||
pause
|
||||
exit /b
|
||||
1598
Install.ps1
1598
Install.ps1
File diff suppressed because it is too large
Load Diff
14
Install_New_theme.bat
Normal file
14
Install_New_theme.bat
Normal 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
14
Install_Old_theme.bat
Normal 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
|
||||
2
LICENSE
2
LICENSE
@@ -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
|
||||
|
||||
233
README.md
233
README.md
@@ -1,81 +1,135 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/SpotX-CLI/SpotX-Win/releases"><img src="https://raw.githubusercontent.com/SpotX-CLI/SpotX-commons/main/.github/Pic/Logo/logo-win.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/SpotX-CLI/SpotX-commons/main/.github/Pic/Shields/tg.svg"></a>
|
||||
<a href="https://discord.gg/p43cusgUPm"><img src="https://discord.com/api/guilds/807273906872123412/widget.png"></a>
|
||||
<a href="https://telegra.ph/SpotX-FAQ-09-19"><img src="https://raw.githubusercontent.com/SpotX-CLI/SpotX-commons/main/.github/Pic/Shields/faq.svg"></a>
|
||||
</p>
|
||||
<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>
|
||||
|
||||
<h2> <div align="center"><b> Modified Spotify Client for Windows </b></div> </h2>
|
||||
<h2>
|
||||
<div align="center">
|
||||
<b>Patcher for Spotify Desktop Client on Windows </b>
|
||||
</div>
|
||||
</h2>
|
||||
|
||||
<h1>System requirements</h1>
|
||||
<p align="center"> •
|
||||
<a href="#requirements">Requirements</a> •
|
||||
<a href="#features">Features</a> •
|
||||
<a href="#installation--update">Installation</a> •
|
||||
<a href="#uninstall">Uninstall</a> •
|
||||
<a href="#faq">FAQ</a> •
|
||||
<a href="#disclaimer">Disclaimer</a>
|
||||
</p>
|
||||
|
||||
- <strong>OS: Windows 7-11</strong>
|
||||
- <strong>Spotify: latest official [versions](https://cutt.ly/8EH6NuH)</strong>
|
||||
- <strong>For Windows Desktop only (Microsoft store version is not suitable).</strong>
|
||||
- <strong>PowerShell: 3 or higher</strong>
|
||||
<h1 id="requirements">Requirements</h1>
|
||||
|
||||
<h1>Features</h1>
|
||||
- **OS:** Windows 7-11
|
||||
- **Spotify:** [Official desktop version](https://loadspot.pages.dev) (Microsoft Store version is not suitable)
|
||||
- **PowerShell:** 5.1 and above
|
||||
|
||||
- <strong>Blocks all banner, video and audio ads in the client</strong>
|
||||
- <strong>Unlocks the skip function of any track</strong>
|
||||
- <strong>Hiding podcasts, episodes and audiobooks from the homepage (optional)</strong>
|
||||
- <strong>Block Spotify automatic updates (optional)</strong>
|
||||
- <strong>Automatic clearing of [audio cache](https://github.com/SpotX-CLI/SpotX-Win/discussions/2) (optional)</strong>
|
||||
- <strong>More experimental features have been activated ([see the full list](https://github.com/SpotX-CLI/SpotX-Win/discussions/50))</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>
|
||||
<h1 id="features">Features</h1>
|
||||
|
||||
<h1>Fast installation / Update</h1>
|
||||
- **Blocks all banner, video, and audio ads** in the client
|
||||
- **Hiding podcasts, episodes, and audiobooks** from the homepage (optional)
|
||||
- **Block Spotify automatic updates** (optional)
|
||||
- **Some native experimental features have been changed**
|
||||
- **Analytics sending has been disabled**
|
||||
- **Advanced installation [parameters](https://github.com/SpotX-Official/SpotX/discussions/60)**
|
||||
|
||||
<h1 id="installation--update">Installation / Update</h1>
|
||||
<h3>Choose installation type:</h3>
|
||||
<details>
|
||||
<summary><small>Usual installation</small></summary><p>
|
||||
<summary><small>Usual installation (New theme)</small></summary><p>
|
||||
|
||||
#### During installation, you need to confirm some actions, also contains:
|
||||
|
||||
- All [experimental features](https://github.com/SpotX-CLI/SpotX-Win/discussions/50) included
|
||||
|
||||
- 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.bat](https://raw.githack.com/SpotX-CLI/SpotX-Win/main/Install.bat)
|
||||
#### 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:
|
||||
|
||||
```ps1
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (iwr -useb 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/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>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)
|
||||
- Hiding podcasts/episodes/audiobooks from the homepage
|
||||
- Automatic blocking of Spotify updates
|
||||
- All [experimental features](https://github.com/SpotX-CLI/SpotX-Win/discussions/50) included
|
||||
- After the installation is completed, the client will autorun.
|
||||
|
||||
<h4> </h4>
|
||||
|
||||
#### Just download and run [Install_Auto.bat](https://raw.githack.com/SpotX-CLI/SpotX-Win/main/scripts/Install_Auto.bat)
|
||||
<details>
|
||||
<summary><small>Usual installation (Old theme)</small></summary><p>
|
||||
|
||||
#### 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/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
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/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') } -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)
|
||||
|
||||
or
|
||||
|
||||
#### Run The following command in PowerShell:
|
||||
|
||||
```ps1
|
||||
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>
|
||||
@@ -83,105 +137,56 @@ or
|
||||
<details>
|
||||
<summary><small>Other types of installations</summary><p>
|
||||
|
||||
<details>
|
||||
<summary><small>Automatic basic installation</small></summary><p>
|
||||
|
||||
#### Automatic basic installation without confirmation, what does it do?
|
||||
|
||||
- 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/SpotX-CLI/SpotX-Win/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/SpotX-CLI/SpotX-Win/main/Install.ps1').Content) } -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_standart -hide_col_icon_off -start_spoti"
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><small>Installation for premium</small></summary><p>
|
||||
|
||||
#### Usual installation only without ad blocking, for those who have a premium account, also contains:
|
||||
|
||||
- All [experimental features](https://github.com/SpotX-CLI/SpotX-Win/discussions/50) included
|
||||
|
||||
- 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/SpotX-CLI/SpotX-Win/main/scripts/Install_Prem.bat)
|
||||
#### 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:
|
||||
|
||||
```ps1
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex "& { $((iwr -useb 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/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>
|
||||
|
||||
<details>
|
||||
<summary><small>Installing with Scoop</small></summary><p>
|
||||
|
||||
#### Installing SpotX via the Scoop package manager includes:
|
||||
|
||||
- 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)
|
||||
- Hiding podcasts/episodes/audiobooks from the homepage
|
||||
- Automatic blocking of Spotify updates
|
||||
- All [experimental features](https://github.com/SpotX-CLI/SpotX-Win/discussions/50) included
|
||||
|
||||
<h4> </h4>
|
||||
|
||||
#### Installing SpotX with Scoop
|
||||
Just run these commands in the command prompt or powershell:
|
||||
<br>
|
||||
<br>```scoop bucket add nonportable```
|
||||
<br>```scoop install spotx-np```
|
||||
|
||||
#### Updating SpotX with Scoop
|
||||
|
||||
To update SpotX or check for updates run this command in the command prompt or powershell:
|
||||
|
||||
```scoop update spotx-np```
|
||||
|
||||
#### Uninstalling SpotX with Scoop
|
||||
|
||||
To fully uninstall SpotX and Spotify run this command in the command prompt or powershell:
|
||||
|
||||
```scoop uninstall spotx-np```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
<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/SpotX-CLI/SpotX-Win/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>
|
||||
|
||||
<h1>Uninstall</h1>
|
||||
<h1 id="uninstall">Uninstall</h1>
|
||||
|
||||
- Just run [Uninstall.bat](https://raw.githack.com/SpotX-CLI/SpotX-Win/main/Uninstall.bat)
|
||||
- Just run [Uninstall.bat](https://raw.githack.com/amd64fox/SpotX/main/Uninstall.bat)
|
||||
|
||||
or
|
||||
|
||||
- Reinstall Spotify ([Full uninstall Spotify](https://github.com/amd64fox/Uninstall-Spotify) recommended)
|
||||
|
||||
<h1>FAQ</h1>
|
||||
<h1 id="faq">FAQ</h1>
|
||||
|
||||
- Read [FAQ](https://telegra.ph/SpotX-FAQ-09-19)
|
||||
Read [FAQ](https://telegra.ph/SpotX-FAQ-09-19)
|
||||
|
||||
<h1>Credits</h1>
|
||||
<h1 id="disclaimer">Disclaimer</h1>
|
||||
|
||||
- This repository partially uses <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 is a tool that modifies the official Spotify client, provided as an evaluation version — use it at your own risk.
|
||||
|
||||
@@ -1,79 +1,33 @@
|
||||
@echo off
|
||||
SETLOCAL ENABLEDELAYEDEXPANSION
|
||||
echo *****************
|
||||
echo Author: @amd64fox
|
||||
echo *****************
|
||||
echo Removing Patch...
|
||||
|
||||
set "SPOTIFY_PATH=%Appdata%\Spotify"
|
||||
|
||||
if exist "%Appdata%\Spotify\dpapi.dll" (
|
||||
del /s /q "%Appdata%\Spotify\dpapi.dll" > NUL 2>&1
|
||||
if exist "%SPOTIFY_PATH%\chrome_elf.dll.bak" (
|
||||
del /s /q "%SPOTIFY_PATH%\chrome_elf.dll" > NUL 2>&1
|
||||
move "%SPOTIFY_PATH%\chrome_elf.dll.bak" "%SPOTIFY_PATH%\chrome_elf.dll" > NUL 2>&1
|
||||
)
|
||||
|
||||
if exist "%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
|
||||
pause
|
||||
8
css-helper/lyrics-color/colors.css
Normal file
8
css-helper/lyrics-color/colors.css
Normal file
@@ -0,0 +1,8 @@
|
||||
:root {
|
||||
--past: {{past}};
|
||||
--current: {{current}};
|
||||
--next: {{next}};
|
||||
--hover: {{hover}};
|
||||
--background: {{background}};
|
||||
--musixmatch: {{musixmatch}};
|
||||
}
|
||||
132
css-helper/lyrics-color/rules.css
Normal file
132
css-helper/lyrics-color/rules.css
Normal 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
964
js-helper/checkVersion.js
Normal 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
68
js-helper/goofyHistory.js
Normal 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
352
js-helper/sectionBlock.js
Normal 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;
|
||||
}
|
||||
};
|
||||
646
patches/Augmented translation/ru.json
Normal file
646
patches/Augmented translation/ru.json
Normal 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
2720
patches/patches.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
res/login.spa
Normal file
BIN
res/login.spa
Normal file
Binary file not shown.
@@ -1,6 +1,14 @@
|
||||
@echo off
|
||||
|
||||
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/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
|
||||
@@ -1,6 +0,0 @@
|
||||
@echo off
|
||||
|
||||
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/main/Install.ps1').Content)} -confirm_uninstall_ms_spoti -confirm_spoti_recomended_over -podcasts_on -cache_off -block_update_off -exp_standart -hide_col_icon_off -start_spoti"""" | Invoke-Expression"
|
||||
|
||||
pause
|
||||
exit /b
|
||||
@@ -1,6 +1,14 @@
|
||||
@echo off
|
||||
|
||||
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -Command "&{[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12}; """"& { $((Invoke-WebRequest -UseBasicParsing 'https://raw.githubusercontent.com/SpotX-CLI/SpotX-Win/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
|
||||
43
scripts/cache/cache_spotify.ps1
vendored
43
scripts/cache/cache_spotify.ps1
vendored
@@ -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 {
|
||||
$SpotifyData = Join-Path -Path $env:LOCALAPPDATA -ChildPath "Spotify\Data"
|
||||
If (!(Test-Path -Path $SpotifyData)) {
|
||||
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Folder Local\Spotify\Data not found" | Out-File log.txt -append
|
||||
exit
|
||||
}
|
||||
$check = Get-ChildItem $SpotifyData -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 $SpotifyData -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
|
||||
44
scripts/cache/cache_spotify_ru.ps1
vendored
44
scripts/cache/cache_spotify_ru.ps1
vendored
@@ -1,44 +0,0 @@
|
||||
<#
|
||||
Имя: Очистка кеша Spotify.
|
||||
|
||||
Описание: Скрипт очищает устаревший кеш от прослушанной музыки в Spotify.
|
||||
Срабатывает каждый раз когда вы полностью закрываете клиент (Если клиент был свернут в трей то скрипт не сработает).
|
||||
|
||||
Для папки APPDATA\Spotify\Data действует правило, все файлы кеша которые не использовались
|
||||
клиентом больше указанного количества дней будут удалены.
|
||||
|
||||
#>
|
||||
|
||||
$day = 7 # Количество дней после которых кеш считается устаревшим
|
||||
|
||||
# Очищаем папку \Data если был найден устаревший кеш
|
||||
|
||||
try {
|
||||
$SpotifyData = Join-Path -Path $env:LOCALAPPDATA -ChildPath "Spotify\Data"
|
||||
If (!(Test-Path -Path $SpotifyData)) {
|
||||
"$(Get-Date -Format "dd/MM/yyyy HH:mm:ss") Папка Local\Spotify\Data не найдена" | Out-File log.txt -append
|
||||
exit
|
||||
}
|
||||
$check = Get-ChildItem $SpotifyData -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 $SpotifyData -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
|
||||
3
scripts/cache/hide_window.vbs
vendored
3
scripts/cache/hide_window.vbs
vendored
@@ -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
|
||||
3
scripts/cache/run_ps.bat
vendored
3
scripts/cache/run_ps.bat
vendored
@@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
start "" /wait "%Appdata%\Spotify\Spotify.exe"
|
||||
powershell.exe -ExecutionPolicy Bypass -nologo -noninteractive -command "& '.\cache_spotify.ps1'"
|
||||
50
scripts/installer-lang/be.ps1
Normal file
50
scripts/installer-lang/be.ps1
Normal 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 = "Націсніце любую клавішу, каб выйсці..."
|
||||
}
|
||||
50
scripts/installer-lang/bn.ps1
Normal file
50
scripts/installer-lang/bn.ps1
Normal 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..."
|
||||
}
|
||||
50
scripts/installer-lang/cs.ps1
Normal file
50
scripts/installer-lang/cs.ps1
Normal 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í..."
|
||||
}
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "Hoppla, ein falscher wert,"
|
||||
Incorrect2 = "bitte geben sie einen neuen Wert ein in "
|
||||
╔══════════════════════════════════╗
|
||||
║ 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 = "Werde in 5 Sekunden neu anfordern..."
|
||||
Download2 = "Wird in 5 Sekunden erneut angefordert..."
|
||||
Download3 = "Erneuter Fehler"
|
||||
Download4 = "Uberprüfen sie ihre Netzwerkeinstellungen und starten sie die Installation erneut"
|
||||
Download4 = "Überprüfen Sie Ihre Netzwerkeinstellungen und starten Sie die Installation erneut"
|
||||
Download5 = "Lade Spotify herunter"
|
||||
Download6 = "Curl Fehler"
|
||||
StopScrpit = "Script wurde gestoppt"
|
||||
MsSpoti = "Die Microsoft Store Version von Spotify wurde gefunden, jedoch ist sie nicht unterstützt"
|
||||
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 wurde gefunden"
|
||||
OldV2 = "Ihre Spotify {0} Version ist veraltet, es ist 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 es darüber installieren? Y [Deinstallieren] / N [Darüber installieren]"
|
||||
DelOld = "Deinstalliere das alte Spotify"
|
||||
NewV = "Nicht unterstützte Spotify Version gefunden"
|
||||
NewV2 = "Ihre Spotify {0} Version wurde noch nicht getestet, im Moment ist {1} die Stabile Version"
|
||||
NewV3 = "Mochten sie mit der {0} Version fortfahren? (Fehler können auftreten) [Y/N]"
|
||||
Recom = "Möchten sie die empfohlene Version von Spotify installieren? [Y/N]"
|
||||
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]"
|
||||
CacheOn = "Cache wird geleert ({0})"
|
||||
CacheOff = "Die Cache wird nicht geleert"
|
||||
CacheSelect = "Möchten sie die automatische Cache-Bereinigung aktivieren? [Y/N]"
|
||||
CacheDays = "Cache die älter als XX Tage sind werden bereinigt "
|
||||
CacheDays2 = "Geben Sie die Anzahl der Tage von 1 bis 100 ein"
|
||||
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 falsch, deinstalliere Spotify und starte die Installation neu"
|
||||
Spicetify = "Spicetify gefunden"
|
||||
NoRestore = "SpotX wurde schon installiert, aber Dateien zum Wiederherstellen von xpui.js.bak und xpui.css.bak konnten nicht gefunden werden. `nBitte deinstalliere Spotify und starte Install.bat nochmal"
|
||||
ExpSpotify = "Experimentelle Funktionen, die von Spotify betrieben werden"
|
||||
ExpStandart = "Experimentelle Funktionen von SpotX sind nicht enthalten"
|
||||
NoRestore2 = "SpotX wurde schon installiert, xpui.bak wurde aber nicht gefunden. `nBitte deinstalliere Spotify und starte Install.bat nochmal"
|
||||
UpdateBlocked = "Spotify Updates sind schon blockiert"
|
||||
UpdateError = "Updates konnten nicht blockiert werden"
|
||||
NoSpotifyExe = "Konnte nicht Spotify.exe finden"
|
||||
InstallComplete = "Installation ist fertig"
|
||||
HostInfo = "Unerwünschte URLs in der hosts Datei gefunden"
|
||||
HostBak = "hosts.bak wird gesichert..."
|
||||
HostDel = "Versuche unerwünschte URLs von der originalen hosts Datei zu entfernen..."
|
||||
HostError = "Beim Bearbeiten der hosts Datei ist etwas schief gelaufen, bearbeite es manuell oder führen sie die Installation als Administrator aus"
|
||||
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..."
|
||||
}
|
||||
|
||||
50
scripts/installer-lang/el.ps1
Normal file
50
scripts/installer-lang/el.ps1
Normal 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 = "Πατήστε οποιοδήποτε πλήκτρο για έξοδο..."
|
||||
}
|
||||
@@ -10,52 +10,41 @@
|
||||
Download3 = "Error again"
|
||||
Download4 = "Check your network settings and run the installation again"
|
||||
Download5 = "Downloading Spotify"
|
||||
Download6 = "Curl error"
|
||||
StopScrpit = "Script is stopped"
|
||||
StopScript = "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]"
|
||||
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 {0} version is outdated, it is recommended to upgrade to {1}"
|
||||
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 = "Do you want to uninstall the current version of {0} or install over it? Y [Uninstall] / N [Install Over]"
|
||||
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 {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]"
|
||||
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 = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]"
|
||||
DowngradeNote = "It is recommended to block because Spotify was downgraded"
|
||||
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 = "Want to block Spotify 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"
|
||||
UpdSelect = "Block Spotify updates ? [Y/N]"
|
||||
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, but files to recover xpui.js.bak and xpui.css.bak not found. `nPlease uninstall Spotify client and run Install.bat again"
|
||||
ExpSpotify = "Experimental features operated by Spotify"
|
||||
ExpStandart = "Experimental features of SpotX are not included"
|
||||
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"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔═════════════════════════════════════════════╗
|
||||
║ Le damos la bienvenida a SpotX para Windows ║
|
||||
╚═════════════════════════════════════════════╝"
|
||||
Incorrect = "Ufff, un valor incorrecto,"
|
||||
Incorrect2 = "ingrese nuevamente el valor "
|
||||
Incorrect2 = "introduzca nuevamente el valor "
|
||||
Download = "Error al descargar"
|
||||
Download2 = "Se volverá a realizar la solicitud en 5 segundos..."
|
||||
Download3 = "Error de nuevo"
|
||||
Download4 = "Comprueba tu configuración de red y ejecuta la instalación de nuevo"
|
||||
Download4 = "Compruebe su configuración de red y ejecute la instalación de nuevo"
|
||||
Download5 = "Descargando Spotify"
|
||||
Download6 = "Curl error" #
|
||||
StopScrpit = "El script se ha detenido"
|
||||
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 Windows Store [Y/N]"
|
||||
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 premium..."
|
||||
Prem = "Modificación para la cuenta prémium..."
|
||||
OldV = "Se ha encontrado una versión obsoleta de Spotify"
|
||||
OldV2 = "Tu versión de Spotify {0} está obsoleta, se recomienda actualizar a {1}"
|
||||
OldV3 = "¿Quieres actualizar? [Y/N]"
|
||||
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 = "Tu versión de Spotify {0} aún no ha sido probada, actualmente la versión estable es la {1}"
|
||||
NewV2 = "Su versión de Spotify {0} aún no se ha probado; actualmente la versión estable es la {1}"
|
||||
NewV3 = "¿Quieres continuar con la versión {0} (posibles errores)? [Y/N]"
|
||||
Recom = "¿Desea instalar la versión recomendada {0}? [Y/N]"
|
||||
DelNew = "Desinstalando un Spotify no probado..."
|
||||
DownSpoti = "Descargando e instalando Spotify"
|
||||
DownSpoti2 = "Por favor, espera..."
|
||||
PodcatsOff = "Podcasts desactivados"
|
||||
PodcastsOn = "Podcasts activados"
|
||||
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" #
|
||||
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 = "¿Quieres bloquear las actualizaciones de Spotify? [Y/N]"
|
||||
CacheOn = "Limpieza de caché activada ({0})"
|
||||
CacheOff = "La limpieza de la caché no está activada"
|
||||
CacheSelect = "¿Quieres configurar la limpieza automática de la caché? [Y/N]"
|
||||
CacheDays = "Caché más antigua: XX días para ser limpiada"
|
||||
CacheDays2 = "Introduzca el número de días de 1 a 100"
|
||||
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, desinstala el cliente y vuelve a ejecutar el script"
|
||||
Spicetify = "Spicetify detectado"
|
||||
NoRestore = "SpotX ya ha sido instalado, pero los archivos a recuperar xpui.js.bak y xpui.css.bak no se encuentran. `nPor favor, desinstala el cliente Spotify y ejecuta Install.bat de nuevo"
|
||||
ExpSpotify = "Funciones experimentales utilizadas para Spotify"
|
||||
ExpStandart = "Las características experimentales de SpotX no están incluidas"
|
||||
NoRestore2 = "SpotX ya ha sido instalado, xpui.bak no se encuentra. `nPor favor, desinstala el cliente de Spotify y ejecuta Install.bat de nuevo"
|
||||
UpdateBlocked = "Las actualizaciones de Spotify ya están bloqueadas"
|
||||
UpdateError = "No se han podido bloquear las actualizaciones"
|
||||
NoSpotifyExe = "No se ha podido encontrar Spotify.exe"
|
||||
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 URLs no deseadas en el archivo de hosts"
|
||||
HostInfo = "Se han encontrado URL no deseados en el archivo de hosts"
|
||||
HostBak = "Haciendo una copia de seguridad de hosts.bak..."
|
||||
HostDel = "Intentando eliminar las URLs no deseadas del archivo hosts original..."
|
||||
HostError = "Algo salió mal al editar el archivo hosts, edítelo manualmente o ejecute el script como administrador"
|
||||
}
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "دوباره خطا"
|
||||
Download4 = "تنظیمات شبکه خود را بررسی کنید و دوباره نصب را اجرا کنید"
|
||||
Download5 = "در حال دانلود اسپاتیفای"
|
||||
Download6 = "خطای Curl"
|
||||
StopScrpit = "اسکریپت متوقف شده است"
|
||||
StopScript = "اسکریپت متوقف شده است"
|
||||
MsSpoti = "نسخه اسپاتیفای ویندوز استور شناسایی شده است که پشتیبانی نمی شود"
|
||||
MsSpoti2 = "نسخه اسپاتیفای ویندوز استور حذف شود [Y/N]"
|
||||
MsSpoti3 = "حذف خودکار اسپاتیفای MS"
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "به روز رسانی اسپاتیفای مسدود شده است"
|
||||
UpdUnblock = "به روز رسانی اسپاتیفای مسدود نمی شود"
|
||||
UpdSelect = "آیا می خواهید به روز رسانی های اسپاتیفای را مسدود کنید؟ [Y/N]"
|
||||
CacheOn = "پاک کردن حافظه پنهان فعال شد ({0})"
|
||||
CacheOff = "پاک کردن کش فعال نیست"
|
||||
CacheSelect = "آیا می خواهید پاکسازی کش خودکار را راه اندازی کنید؟ [Y/N]"
|
||||
CacheDays = "پاکسازی کش فعال نیست "
|
||||
CacheDays2 = "تعداد روزها را از بین 1 تا 100 وارد کنید"
|
||||
ModSpoti = "در حال پچ کردن اسپاتیفای"
|
||||
Error = "خطا"
|
||||
FileLocBroken = "محل فایل های اسپاتیفای خراب است، کلاینت را حذف نصب کنید و اسکریپت را دوباره اجرا کنید"
|
||||
Spicetify = "Spicetify شناسایی شد"
|
||||
NoRestore = "SpotX قبلاً نصب شده است، اما فایلهایی برای بازیابی xpui.js.bak و xpui.css.bak یافت نشد. `nلطفاً کلاینت Spotify را حذف نصب کنید و Install.bat را دوباره اجرا کنید"
|
||||
ExpSpotify = "ویژگی های آزمایشی توسط اسپاتیفای"
|
||||
ExpStandart = "ویژگی های آزمایشی SpotX گنجانده نشده است"
|
||||
NoRestore2 = "SpotX قبلاً نصب شده است، xpui.bak یافت نشد. `nلطفاً کلاینت Spotify را حذف نصب کنید و Install.bat را دوباره اجرا کنید"
|
||||
UpdateBlocked = "به روز رسانی اسپاتیفای در حال حاضر مسدود شده است"
|
||||
UpdateError = "مشکل در بلاک کردن اپدیت ها"
|
||||
NoSpotifyExe = "Spotify.exe پیدا نشد"
|
||||
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 = "برای خروج هر کلیدی را فشار دهید..."
|
||||
}
|
||||
|
||||
50
scripts/installer-lang/fi.ps1
Normal file
50
scripts/installer-lang/fi.ps1
Normal 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..."
|
||||
}
|
||||
50
scripts/installer-lang/fil.ps1
Normal file
50
scripts/installer-lang/fil.ps1
Normal 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..."
|
||||
}
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔══════════════════════════════════╗
|
||||
║ Bienvenue sur SpotX pour Windows ║
|
||||
╚══════════════════════════════════╝"
|
||||
Incorrect = "Oups, une valeur est incorrecte,"
|
||||
Incorrect2 = "veuillez recommencer "
|
||||
Download = "Erreur de téléchargement"
|
||||
Download = "Erreur durant le téléchargement"
|
||||
Download2 = "Renvoi d'une requête dans 5 secondes..."
|
||||
Download3 = "Nouvelle erreur"
|
||||
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"
|
||||
Download6 = "Erreur de curl"
|
||||
StopScrpit = "Le script est arrêté"
|
||||
MsSpoti = "La version Microsoft Store de Spotify a été détectée et n'est pas prise en charge"
|
||||
MsSpoti2 = "Désinstaller la version Windows Store de Spotify [Y/N] ?"
|
||||
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 dépassée, il est recommandé de mettre à jour vers la {1}"
|
||||
OldV2 = "Votre version Spotify {0} est obsolète, il est recommandé de mettre à jour vers la {1}"
|
||||
OldV3 = "Voulez-vous faire la mise à jour ? [Y/N]"
|
||||
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'ancien Spotify..."
|
||||
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 c'est une version {1} stable"
|
||||
NewV2 = "Votre version {0} de Spotify n'a pas encore été testée, actuellement {1} est une version stable"
|
||||
NewV3 = "Voulez-vous continuer avec la version {0} (erreurs possibles) ? [Y/N]"
|
||||
Recom = "Voulez-vous installer la version {0} recommandée ? [Y/N]"
|
||||
DelNew = "Désinstallation d'un Spotify non testé..."
|
||||
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"
|
||||
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 car il y a eu un rétrogradage de Spotify"
|
||||
UpdBlock = "MàJ Spotify bloquées"
|
||||
UpdUnblock = "Les MàJ Spotify ne sont pas bloquées"
|
||||
UpdSelect = "Voulez-vous bloquer les MàJ Spotify ? [Y/N]"
|
||||
CacheOn = "Effacement du cache activé ({0})"
|
||||
CacheOff = "L'effacement du cache n'est pas activé"
|
||||
CacheSelect = "Voulez-vous configurer un effacement automatique du cache? [Y/N]"
|
||||
CacheDays = "Ancienneté du cache: XX jours à effacer"
|
||||
CacheDays2 = "Entrer le nombre de jours de 1 à 100"
|
||||
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 est invalide, désinstaller le client et lancer de nouveau le script"
|
||||
Spicetify = "Spicetify détecté"
|
||||
NoRestore = "SpotX a déjà été installé, mais les fichiers xpui.js.bak et xpui.css.bak qui sont à récupérer n'ont pas été trouvés. `nVeuillez désinstaller le client Spotify et relancez à nouveau Install.bat."
|
||||
ExpSpotify = "Fonctionnalités expérimentales exploitées par Spotify"
|
||||
ExpStandart = "Fonctionnalités expérimentales de SpotX non incluses"
|
||||
NoRestore2 = "SpotX a déjà été installé, xpui.bak introuvable. `nMerci de désinstaller le client Spotify et de lancer à nouveau Install.bat"
|
||||
UpdateBlocked = "MàJ Spotify déjà bloquées"
|
||||
UpdateError = "Échec du bloquage des MàJ"
|
||||
NoSpotifyExe = "Spotify.exe introuvable"
|
||||
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 supprimer des URLs indésirables depuis le fichier hosts original..."
|
||||
HostDel = "Tentative de suppression des URLs indésirables du fichier hosts original..."
|
||||
HostError = "Quelque chose ne s'est pas bien passé lors de l'édition du fichier hosts, modifiez le manuellement ou lancez le script en tant qu'administrateur"
|
||||
PressAnyKey = "Appuyez sur n'importe quelle touche pour quitter..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "ओह, एक गलत मान,"
|
||||
╔════════════════════════════════════╗
|
||||
║ SpotX for Windows में आपका स्वागत है ║
|
||||
╚════════════════════════════════════╝"
|
||||
Incorrect = "ओह, एक गलत मान,"
|
||||
Incorrect2 = "के माध्यम से फिर से दर्ज करें "
|
||||
Download = "डाउनलोड करने में गड़बड़ी"
|
||||
Download2 = "5 सेकंड में फिर से अनुरोध करेंगे..."
|
||||
Download2 = "5 सेकंड में फिर से कोशिश की जाएगी..."
|
||||
Download3 = "फिर से गड़बड़ी"
|
||||
Download4 = "अपनी नेटवर्क सेटिंग्स की जाँच करें और फिर से इंस्टॉलेशन चलाएँ"
|
||||
Download5 = "स्पॉटिफाई डाउनलोड हो रहा है"
|
||||
Download6 = "कर्ल एरर"
|
||||
StopScrpit = "स्क्रिप्ट बंद हो गई है("
|
||||
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 = "स्पॉटिफाई को डाउनलोड और इंस्टॉल किया जा रहा है"
|
||||
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 = "पॉडकास्ट बंद "
|
||||
PodcatsOff = "पॉडकास्ट बंद"
|
||||
PodcastsOn = "पॉडकास्ट चालू"
|
||||
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" #
|
||||
DowngradeNote = "इसे अवरुद्ध करने की अनुशंसा की जाती है क्योंकि स्पॉटिफाई का डाउनग्रेड था"
|
||||
UpdBlock = "स्पॉटिफाई अपडेट ब्लॉक किए गए"
|
||||
UpdUnblock = "स्पॉटिफाई अपडेट ब्लॉक नहीं हैं"
|
||||
UpdSelect = "स्पॉटिफाई अपडेट को ब्लॉक करना चाहते हैं? [Y/N]"
|
||||
CacheOn = "कैशे साफ़ करें सक्षम किया गया ({0})"
|
||||
CacheOff = "कैशे साफ़ करना सक्षम नहीं है"
|
||||
CacheSelect = "स्वचालित कैश सफाई सेट करना चाहते हैं? [Y/N]"
|
||||
CacheDays = "कैश पुराना: XX दिन साफ़ किया जाना है"
|
||||
CacheDays2 = "1 से 100 तक दिनों की संख्या दर्ज करें"
|
||||
ModSpoti = "स्पॉटिफाई पैचिंग..."
|
||||
Error = "गडबड"
|
||||
FileLocBroken = "स्पॉटिफाई फ़ाइलों का स्थान टूटा हुआ है, क्लाइंट की स्थापना रद्द करें और स्क्रिप्ट को फिर से चलाएँ"
|
||||
Spicetify = "स्पाइसीफाई का पता चला"
|
||||
NoRestore = "स्पॉटएक्स पहले ही स्थापित किया जा चुका है, लेकिन xpui.js.bak और xpui.css.bak को पुनर्प्राप्त करने के लिए फ़ाइलें नहीं मिलीं। `nकृपया स्पॉटिफाई क्लाइंट को अनइंस्टॉल करें और Install.bat को फिर से चलाएं"
|
||||
ExpSpotify = "स्पॉटिफाई द्वारा संचालित प्रायोगिक सुविधाएं"
|
||||
ExpStandart = "स्पॉटएक्स की प्रायोगिक विशेषताएं शामिल नहीं हैं"
|
||||
NoRestore2 = "स्पॉटएक्स पहले ही स्थापित किया जा चुका है, xpui.bak नहीं मिला। `nकृपया स्पॉटिफाई क्लाइंट को अनइंस्टॉल करें और Install.bat को फिर से चलाएं"
|
||||
UpdateBlocked = "स्पॉटिफाई अपडेट पहले से ही ब्लॉक हैं"
|
||||
UpdateError = "अपडेट ब्लॉक करने में विफल"
|
||||
NoSpotifyExe = "Spotify.exe नहीं मिल सका"
|
||||
InstallComplete = "इंस्टालेशन पूर्ण"
|
||||
HostInfo = "hosts फ़ाइल में अवांछित URL मिले"
|
||||
HostBak = "hosts.bak का बैकअप ले जा रहा है..."
|
||||
HostDel = "मूल होस्ट फ़ाइल से अवांछित URL निकालने का प्रयास किया जा रहा है..."
|
||||
HostError = "होस्ट फ़ाइल को संपादित करते समय कुछ गलत हो गया, इसे मैन्युअल रूप से संपादित करें या स्क्रिप्ट को व्यवस्थापक के रूप में चलाएं"
|
||||
}
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔════════════════════════════════════════════╗
|
||||
║ Ü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"
|
||||
@@ -10,10 +10,9 @@
|
||||
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"
|
||||
Download6 = "Curl hiba"
|
||||
StopScrpit = "A script leállt"
|
||||
StopScript = "A script leállt"
|
||||
MsSpoti = "A Spotify Microsoft Store verziója van telepítve, amely nem támogatott"
|
||||
MsSpoti2 = "A Spotify Windows Store kiadásának eltávolítása [Y/N]"
|
||||
MsSpoti2 = "A Spotify Microsoft Store kiadásának eltávolítása [Y/N]"
|
||||
MsSpoti3 = "A Spotify MS automatikus eltávolítása..."
|
||||
MsSpoti4 = "Spotify MS eltávolítása..."
|
||||
Prem = "Módosítás a prémium fiókhoz..."
|
||||
@@ -37,25 +36,15 @@
|
||||
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]"
|
||||
CacheOn = "A gyorsítótár törlése engedélyezve ({0})"
|
||||
CacheOff = "A gyorsítótár törlése nem engedélyezett"
|
||||
CacheSelect = "Szeretné beállítani az automatikus gyorsítótár-tisztítást? [Y/N]"
|
||||
CacheDays = "XX napnál régebbi gyorsítótárak törlésre fognak kerülni "
|
||||
CacheDays2 = "Adj meg egy napot 1 és 100 között."
|
||||
ModSpoti = "Spotify patchelése..."
|
||||
Error = "Hiba"
|
||||
FileLocBroken = "A Spotify fájlok sérültek, távolítsa el a klienst, és futtassa újra a szkriptet."
|
||||
Spicetify = "Spicetify érzékelve."
|
||||
NoRestore = "A SpotX már telepítve van, de a helyreállító fájlok xpui.js.bak és xpui.css.bak nem találhatóak. `nTávolítsa el a Spotify klienst, és futtassa újra az Install.bat fájlt."
|
||||
ExpSpotify = "A Spotify kísérleti funkciók engedélyezve"
|
||||
ExpStandart = "A SpotX kísérleti funkciói nincsenek egedélyezve"
|
||||
NoRestore2 = "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."
|
||||
UpdateBlocked = "A Spotify frissítések már blokkolva vannak"
|
||||
UpdateError = "Nem sikerült blokkolni a frissítéseket"
|
||||
NoSpotifyExe = "Spotify.exe nem található"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "Ups, nilai yang salah,"
|
||||
Incorrect2 = "masukkan lagi"
|
||||
Download = "Kesalahan saat mengunduh"
|
||||
Download2 = "Akan memuat ulang dalam 5 detik..."
|
||||
Download3 = "Kesalahan lagi"
|
||||
Download4 = "Periksa pengaturan jaringan/internet anda dan jalankan instalasi lagi"
|
||||
╔═══════════════════════════════════════╗
|
||||
║ 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"
|
||||
Download6 = "Kesalahan pada Curl"
|
||||
StopScrpit = "Skrip dihentikan"
|
||||
StopScript = "Skrip dihentikan"
|
||||
MsSpoti = "Versi Microsoft Store dari Spotify terdeteksi, versi ini tidak didukung"
|
||||
MsSpoti2 = "Copot pemasangan Spotify edisi Windows Store [Y/N]"
|
||||
MsSpoti3 = "Menghapus instalan Spotify MS secara otomatis..."
|
||||
MsSpoti4 = "Menghapus Instalasi Spotify MS..."
|
||||
MsSpoti2 = "Uninstall edisi Spotify Microsoft Store [Y/N]"
|
||||
MsSpoti3 = "Menghapus Spotify MS secara otomatis..."
|
||||
MsSpoti4 = "Menghapus Spotify MS..."
|
||||
Prem = "Modifikasi untuk akun premium..."
|
||||
OldV = "Menemukan versi lama dari Spotify"
|
||||
OldV2 = "Spotify versi {0} sudah usang, disarankan untuk meningkatkan ke {1}"
|
||||
OldV3 = "Ingin memperbarui ? [Y/N]"
|
||||
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 mencopot pemasangan versi {0} saat ini atau menimpanya? Y [Copot Pemasangan] / N [Timpa]"
|
||||
DelOld = "Menghapus instalasi Spotify lama..."
|
||||
NewV = "Versi Spotify yang tidak didukung ditemukan"
|
||||
NewV2 = "Spotify versi {0} belum diuji, saat ini yang stabil adalah versi {1}"
|
||||
NewV3 = "Apakah anda ingin melanjutkan dengan versi {0} (Memungkinkan terjadinya kesalahan)? [Y/N]"
|
||||
Recom = "Apakah anda ingin memasang versi {0} yang disarankan? [Y/N]"
|
||||
DelNew = "Menghapus instalasi Spotify yang belum teruji..."
|
||||
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 = "Mohon ditunggu..."
|
||||
PodcatsOff = "Podcast mati"
|
||||
PodcastsOn = "Podcast hidup"
|
||||
PodcatsSelect = "Apakah anda ingin menghilangkan podcast, episode, dan buku audio dari halaman utama?"
|
||||
DowngradeNote = "Disarankan untuk memblokir karena ada penurunan versi 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]"
|
||||
CacheOn = "Membersihkan cache diaktifkan ({0})"
|
||||
CacheOff = "Membersihkan cache tidak diaktifkan"
|
||||
CacheSelect = "Ingin mengatur pembersihan cache otomatis? [Y/N]"
|
||||
CacheDays = "Cache yang lebih lama: XX hari untuk dibersihkan "
|
||||
CacheDays2 = "Masukkan jumlah hari dari 1 hingga 100"
|
||||
ModSpoti = "Menambal Spotify..."
|
||||
ModSpoti = "Memasang patch ke Spotify..."
|
||||
Error = "Kesalahan"
|
||||
FileLocBroken = "Lokasi file Spotify rusak, hapus instalan klien dan jalankan skrip lagi"
|
||||
Spicetify = "Spicetify terdeteksi"
|
||||
NoRestore = "SpotX telah diinstal, tetapi file untuk memulihkan xpui.js.bak dan xpui.css.bak tidak ditemukan. `nHarap hapus instalan klien Spotify dan jalankan Install.bat lagi"
|
||||
ExpSpotify = "Fitur eksperimental yang dioperasikan oleh Spotify"
|
||||
ExpStandart = "Fitur eksperimental SpotX tidak termasuk"
|
||||
NoRestore2 = "SpotX sudah terinstal, xpui.bak tidak ditemukan. `nHarap hapus instalan klien Spotify dan jalankan Install.bat lagi"
|
||||
UpdateBlocked = "Pembaruan Spotify sudah diblokir"
|
||||
UpdateError = "Gagal memblokir pembaruan"
|
||||
NoSpotifyExe = "Tidak dapat menemukan Spotify.exe"
|
||||
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 di file host"
|
||||
HostBak = "Mencadangkan host.bak..."
|
||||
HostDel = "Mencoba menghapus URL yang tidak diinginkan dari file host asli..."
|
||||
HostError = "Terjadi kesalahan saat mengedit file host, mengeditnya secara manual, atau menjalankan skrip sebagai administrator"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "Ops! Valore sbagliato,"
|
||||
Incorrect2 = "inserisci di nuovo"
|
||||
╔═══════════════════════════════╗
|
||||
║ 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."
|
||||
Download4 = "Verifica le tue impostazioni di rete ed esegui di nuovo l'installazione"
|
||||
Download5 = "Scaricamento di Spotify"
|
||||
Download6 = "Errore Curl"
|
||||
StopScrpit = "Lo script è stato fermato"
|
||||
MsSpoti = "Trovata versione del Microsoft Store di Spotify, che non è supportata"
|
||||
MsSpoti2 = "Disinstallare la versione Microsoft Store di Spotify [Y/N]"
|
||||
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, è consigliato aggiornare alla versione {1}"
|
||||
OldV3 = "Vorresti aggiornare? [Y/N]"
|
||||
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 = "Vorresti disinstallare la versione installata {0} o sovrascriverla? Y [Disinstalla] / N [Sovrascrivi]"
|
||||
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 ancora testata, al momento la {1} è stabile"
|
||||
NewV3 = "Vorresti continuare ad installare la versione {0} (possibili errori)? [Y/N]"
|
||||
Recom = "Vorresti installare la versione consigliata {0}? [Y/N]"
|
||||
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 = "Vorresti rimuovere podcast, episodi ed audiolibri dalla pagina principale? [Y/N]"
|
||||
DowngradeNote = "Si consiglia il blocco degli aggiornamenti dato il downgrade di Spotify"
|
||||
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 = "Vorresti bloccare gli aggiornamenti automatici di Spotify? [Y/N]"
|
||||
CacheOn = "Attivata la cancellazione automatica della cache ({0})"
|
||||
CacheOff = "Cancellazione automatica della cache non attiva"
|
||||
CacheSelect = "Vorresti attivare la cancellazione automatica della cache? [Y/N]"
|
||||
CacheDays = "Verrà cancellata la cache più vecchia di XX giorni"
|
||||
CacheDays2 = "Inserisci il numero dei giorni da 1 a 100"
|
||||
UpdSelect = "Bloccare gli aggiornamenti di Spotify ? [Y/N]"
|
||||
ModSpoti = "Patching Spotify..."
|
||||
Error = "Errore"
|
||||
FileLocBroken = "Il percorso dei file di Spotify non è stato trovato, disinstallare Spotify ed eseguire lo script"
|
||||
Spicetify = "Rilevato Spicetify"
|
||||
NoRestore = "SpotX è stato installato, ma i file xpui.js.bak e xpui.css.bak da recuperare non sono stati trovati. `nPer favore, disinstalla Spotify e riapri il file Install.bat"
|
||||
ExpSpotify = "Features sperimentali attivate da Spotify"
|
||||
ExpStandart = "Features sperimentali di SpotX non incluse"
|
||||
NoRestore2 = "SpotX è già stato installato, xpui.bak non trovato. `nPer favore, disinstalla Spotify e riapri il file Install.bat"
|
||||
UpdateBlocked = "Gli aggiornamenti automatici di Spotify sono già stati bloccati"
|
||||
UpdateError = "Blocco degli aggiornamenti non riuscito"
|
||||
NoSpotifyExe = "Spotify.exe non trovato"
|
||||
InstallComplete = "Installazione completata"
|
||||
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..."
|
||||
}
|
||||
|
||||
50
scripts/installer-lang/ja.ps1
Normal file
50
scripts/installer-lang/ja.ps1
Normal 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 = "終了するには何かキーを押してください..."
|
||||
}
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "შეცდომა ისევ"
|
||||
Download4 = "შეამოწმეთ თქვენი კავშირი ქსელთან და თავიდან სცადე ინსტალაცია"
|
||||
Download5 = "Spotify იწერება"
|
||||
Download6 = "Curl error" #
|
||||
StopScrpit = "სკრიპტი ჩერდება"
|
||||
StopScript = "სკრიპტი ჩერდება"
|
||||
MsSpoti = "Microsoft Store-ის ვერსია მოიძებნა რომელიც არ არის მხარდაჯერილი"
|
||||
MsSpoti2 = "წავშალოთ Spotify Microsoft Store-ის ვერსია [Y/N]"
|
||||
MsSpoti3 = "ავტუმატურად იშლება Spotify MS..."
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "Spotify-ს განახლებები დაბლოკილია"
|
||||
UpdUnblock = "Spotify-ს განახლებები არ არის დაბლოკილი"
|
||||
UpdSelect = "გინდათ რომ დაბლოკოთ Spotify-ს განახლებები? [Y/N]"
|
||||
CacheOn = "ქეშის გაწმენდა ჩართულია ({0})"
|
||||
CacheOff = "ქეშის გაწმენდა არ არის ჩართული"
|
||||
CacheSelect = "გინდათ რომ ჩართოთ ავტომატიკური ქეშის გაწმენდა? [Y/N]"
|
||||
CacheDays = "ქეში უფრო ძველია: XX დღეზე რომ იყოს გაწმენდილი "
|
||||
CacheDays2 = "შეიყვანეთ the დღეების რაოდენობა 1-იდან 100-ამდე"
|
||||
ModSpoti = "Spotify იკერვება..."
|
||||
Error = "შეცდომა"
|
||||
FileLocBroken = "Spotify ფაილების ლოკაცია არის გადეხილი, წაშალეთ კლიენტი და თავიდან გაუშვით სკრიპტი"
|
||||
Spicetify = "Spicetify მოიზებნა"
|
||||
NoRestore = "SpotX უკვეა ჩაწერილი, მაგრამ ფაილები xpui.js.bak და xpui.css.bak აღსადგენად ვერ მოიძებნა. `nგთხოვთ წაშალეთ Spotify-ის აპლიკაცია და თავიდან გაუშვით Install.bat"
|
||||
ExpSpotify = "ექსპერიმენტული ფუნქციები, რომელსაც მართავს Spotify"
|
||||
ExpStandart = "ექსპერიმენტული ფუნქციები SpotX არ მოითავსება"
|
||||
NoRestore2 = "SpotX უკვე დაინსტალირებულია, xpui.bak ვერ მოიძებნა. `nგთხოვთ, წაშალოთ Spotify აპლიკაცია და თავიდან გაუშვით Install.bat"
|
||||
UpdateBlocked = "Spotify-ს განახლებები უკვე დაბლოკერიბული არიან"
|
||||
UpdateError = "განახლებების დაბლოკვა ვერ მოხერხდა"
|
||||
NoSpotifyExe = "Spotify.exe ვერ მოიძებნა"
|
||||
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 = "დააჭირეთ ნებისმიერ ღილაკს გასასვლელად..."
|
||||
}
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "오류 발생"
|
||||
Download4 = "네트워크 설정을 확인하시고 다시 실행해주세요"
|
||||
Download5 = "Spotify 다운로드 중"
|
||||
Download6 = "Curl 오류"
|
||||
StopScrpit = "스크립트가 중단되었습니다"
|
||||
StopScript = "스크립트가 중단되었습니다"
|
||||
MsSpoti = "Microsoft Store 버전의 Spotify가 감지되었으며 이는 지원되지 않습니다"
|
||||
MsSpoti2 = "Spotify Microsoft Store 버전을 제거할까요? [Y/N]"
|
||||
MsSpoti3 = "Spotify Microsoft Store 버전을 자동으로 제거하는 중..."
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "Spotify 업데이트가 차단됨"
|
||||
UpdUnblock = "Spotify 업데이트가 차단되지 않음"
|
||||
UpdSelect = "Spotify 업데이트를 차단할까요? [Y/N]"
|
||||
CacheOn = "캐시 비우기 활성화됨 ({0})"
|
||||
CacheOff = "캐시 비우기가 활성화되지 않음"
|
||||
CacheSelect = "자동 캐시 비우기를 설정할까요? [Y/N]"
|
||||
CacheDays = "XX 일보다 오래된 캐시가 비워집니다 "
|
||||
CacheDays2 = "1에서 100 사이의 일수를 입력하세요"
|
||||
ModSpoti = "Spotify를 패치하는 중..."
|
||||
Error = "오류"
|
||||
FileLocBroken = "Spotify 폴더의 파일이 손상되었습니다, Spotify를 제거하고 이 스크립트를 다시 실행하세요"
|
||||
Spicetify = "Spicetify가 감지됨"
|
||||
NoRestore = "SpotX가 이미 설치되었지만, 복구할 xpui.js.bak와 xpui.css.bak 파일을 찾을 수 없습니다. `nSpotify를 제거하고 Install.bat을 다시 실행해주세요"
|
||||
ExpSpotify = "Spotify에서 제공되는 실험적 기능"
|
||||
ExpStandart = "SpotX의 실험적 기능은 포함되어 있지 않습니다"
|
||||
NoRestore2 = "SpotX가 이미 설치되었지만, xpui.bak 파일을 찾을 수 없습니다. `nSpotify를 제거하고 Install.bat을 다시 실행해주세요"
|
||||
UpdateBlocked = "Spotify 업데이트가 이미 차단되어 있습니다"
|
||||
UpdateError = "업데이트 차단에 실패했습니다"
|
||||
NoSpotifyExe = "Spotify.exe를 찾을 수 없습니다"
|
||||
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 = "종료하려면 아무 키나 누르십시오..."
|
||||
}
|
||||
|
||||
@@ -10,10 +10,9 @@
|
||||
Download3 = "Atkal kļūda"
|
||||
Download4 = "Pārbaudi savus tīkla iestatījumus un mēģini instalēt vēlreiz"
|
||||
Download5 = "Lejuplādejam Spotify"
|
||||
Download6 = "Curl kļūda"
|
||||
StopScrpit = "Skripts ir apstājies"
|
||||
StopScript = "Skripts ir apstājies"
|
||||
MsSpoti = "Microsoft veikala Spotify versija tika konstatēta, un nav atbalstīta."
|
||||
MsSpoti2 = "Izdzēst Spotify Windows Store versiju [Y/N]"
|
||||
MsSpoti2 = "Izdzēst Spotify Microsoft Store versiju [Y/N]"
|
||||
MsSpoti3 = "Automātiski izdzēš Spotify MS..."
|
||||
MsSpoti4 = "Izdzēš Spotify MS..."
|
||||
Prem = "Modifikācija premium kontam..."
|
||||
@@ -37,25 +36,15 @@
|
||||
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]"
|
||||
CacheOn = "Kešatmiņu tīrīšana ir ieslēgta ({0})"
|
||||
CacheOff = "Kešatmiņu tīrīšana nav ieslēgta"
|
||||
CacheSelect = "Vai vēlaties iestatīt automātisko kešatmiņas tīrīšanu? [Y/N]"
|
||||
CacheDays = "Kešatmiņa vecāka par: XX dienām tiks tīrīta. "
|
||||
CacheDays2 = "Ievadiet, cik dienas no 1 līdz 100 ir jāgaida lai tīrītu kešatmiņu."
|
||||
ModSpoti = "Modo Spotify..."
|
||||
Error = "Kļūda"
|
||||
FileLocBroken = "Spotify failu atrašanās vieta ir bojāta, atinstalējiet klientu un palaidiet skriptu vēlreiz"
|
||||
Spicetify = "Spicetify konstatēts"
|
||||
NoRestore = "SpotX ir jau instalēts, bet faili lai atgūtu xpui.js.bak un xpui.css.bak nebija atrasti. `nLūdzu aninstalējiet Spotify klientu un palaidiet Install.bat vēlreiz"
|
||||
ExpSpotify = "Eksperimentālās funkcijas, kuras operē Spotify"
|
||||
ExpStandart = "SpotX eksperimentālās funkcijas nav iekļautas"
|
||||
NoRestore2 = "SpotX ir jau instalēts, bet xpui.bak nebija atrasts. `nLūdzu izdzēs Spotify klientu un palaid Install.bat vēlreiz"
|
||||
UpdateBlocked = "Spotify atjauninājumi ir jau bloķēti"
|
||||
UpdateError = "Neizdevās bloķēt atjauninājumus"
|
||||
NoSpotifyExe = "Neizdevās atrast Spotify.exe"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "Oops, niewłaściwa wartość,"
|
||||
Incorrect2 = "Wejdź ponownie przez"
|
||||
Download = "Błąd pobierania"
|
||||
Download2 = "Ponowię prósbę za 5 sekund..."
|
||||
Download3 = "Ponowny błąd"
|
||||
Download4 = "Sprawdź swoje połączenie z siecią i spróbuj ponownie"
|
||||
╔════════════════════════════╗
|
||||
║ 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"
|
||||
Download6 = "Błąd Curl"
|
||||
StopScrpit = "Skrypt wstrzymany"
|
||||
MsSpoti = "Wersja Spotify ze Sklepu Microsoft została wykryta i nie jest wspierana"
|
||||
MsSpoti2 = "Odinstalować wersję Spotify ze Sklepu Microsoft? [Y/N]"
|
||||
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 nieaktualną wersję Spotify"
|
||||
OldV2 = "Twoja wersja Spotify {0} jest nieaktualna, zalecana jest aktualizacja do {1}"
|
||||
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 Nowa]"
|
||||
DelOld = "Odinstalowywanie starego Spotify..."
|
||||
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 stabilna jest wersja {1} "
|
||||
NewV3 = "Czy chcesz kontynuować z wersją {0} (możliwe błędy) ? [Y/N]"
|
||||
Recom = "Czy chcesz pobrać zalecaną, {0} wersję ? [Y/N]"
|
||||
DelNew = "Odinstalowywanie niesprawdzonego 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 = "Wyłączanie Podcastów"
|
||||
PodcastsOn = "Włączanie Podcastów"
|
||||
PodcatsSelect = "Czy chcesz ukryć podcasty, epizody i audiobooki ze strony główniej? [Y/N]"
|
||||
DowngradeNote = "Zalecane jest zablokowanie, ponieważ nastąpiło obniżenie wartości dla Spotify"
|
||||
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 dla Spotify? [Y/N]"
|
||||
CacheOn = "Usuwanie plików cache ({0})"
|
||||
CacheOff = "Czyszczenie plików cache jest wyłączone"
|
||||
CacheSelect = "Chcesz ustawić automatyczne czyszczenie plików cache? [Y/N]"
|
||||
CacheDays = "Czyszczenie co: XX dni"
|
||||
CacheDays2 = "Wybierz co ile dni ma nastąpić czyszczenie od 1 to 100 do"
|
||||
ModSpoti = "Patchowanie Spotify..."
|
||||
UpdSelect = "Czy chcesz zablokować aktualizacje Spotify? [Y/N]"
|
||||
ModSpoti = "Łatanie Spotify..."
|
||||
Error = "Błąd"
|
||||
FileLocBroken = "Lokalizacje plików Spotify są zepsute, odinstaluj klienta i uruchom ponownie skrypt"
|
||||
Spicetify = "Spicetify wykryty"
|
||||
NoRestore = "SpotX został zainstalowany, jednak pliki do odzyskania xpui.js.bak i xpui.css.bak zostały nieznalezione. `nProszę odinstalować klienta i uruchomić Install.bat ponownie"
|
||||
ExpSpotify = "Eksperymentalne funkcje obsługiwane przez Spotify"
|
||||
ExpStandart = "Eksperymentalne funkcje SpotX nie są uwzględnione"
|
||||
NoRestore2 = "SpotX został pobrany, ale xpui.bak nie znaleziony. `nProszę odinstalować klienta Spotify i uruchomić Install.bat ponownie"
|
||||
UpdateBlocked = "Spotify aktualizacje są już zablokowane"
|
||||
UpdateError = "Nie udało się zablokować aktualizacji"
|
||||
NoSpotifyExe = "Nie można znaleźć Spotify.exe"
|
||||
InstallComplete = "Instalacja została zakończona"
|
||||
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 zapasowych hosts.bak..."
|
||||
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ść..."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔═════════════════════════════════╗
|
||||
║ Bem-vindo ao SpotX para Windows ║
|
||||
╚═════════════════════════════════╝"
|
||||
Incorrect = "Ops, um valor incorreto,"
|
||||
Incorrect2 = "entre novamente por "
|
||||
Download = "Erro no download"
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "Erro de novo"
|
||||
Download4 = "Verifique suas configurações de rede e tente executar a instalação novamente"
|
||||
Download5 = "Baixando o Spotify"
|
||||
Download6 = "Erro de Curl"
|
||||
StopScrpit = "O script foi interrompido"
|
||||
StopScript = "O script foi interrompido"
|
||||
MsSpoti = "A versão do Spotify da Microsoft Store foi detectada, a qual não é suportada"
|
||||
MsSpoti2 = "Desinstalar edição do Spotify da Microsoft Store [Y/N]"
|
||||
MsSpoti3 = "Desinstalação automática do Spotify da MS..."
|
||||
@@ -21,7 +20,7 @@
|
||||
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 do {0} ou substituir a instalação atual? Y [Desinstalar] / N [Substituir]"
|
||||
DelOrOver = "Gostaria de desinstalar a versão atual {0} ou substituir a instalação atual? Y [Desinstalar] / N [Substituir]"
|
||||
DelOld = "Desinstalando a versão antiga do Spotify..."
|
||||
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}"
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "Atualizações do Spotify bloqueadas"
|
||||
UpdUnblock = "Atualizações do Spotify não bloqueadas"
|
||||
UpdSelect = "Deseja bloquear as atualizações do Spotify? [Y/N]"
|
||||
CacheOn = "Limpar cache ativado ({0})"
|
||||
CacheOff = "A limpeza do cache não está ativada"
|
||||
CacheSelect = "Deseja definir a limpeza automática do cache? [Y/N]"
|
||||
CacheDays = "Cache antigo: XX dias para serem limpos"
|
||||
CacheDays2 = "Digite o número de dias entre 1 a 100"
|
||||
ModSpoti = "Aplicando patch no Spotify..."
|
||||
Error = "Erro"
|
||||
FileLocBroken = "A localização dos arquivos do Spotify está incorreta, desinstale o cliente e execute o script novamente"
|
||||
Spicetify = "Spicetify detectado"
|
||||
NoRestore = "O SpotX já foi instalado, mas os arquivos de recuperação xpui.js.bak e xpui.css.bak não foram encontrados. `nPor favor, desinstale o cliente do Spotify e execute Install.bat novamente"
|
||||
ExpSpotify = "Recursos experimentais oferecidos pelo Spotify"
|
||||
ExpStandart = "Os recursos experimentais do SpotX não estão incluídos"
|
||||
NoRestore2 = "O SpotX já foi instalado, xpui.bak não encontrado. `nPor favor, desinstale o cliente do Spotify e execute Install.bat novamente"
|
||||
UpdateBlocked = "As atualizações do Spotify já estão bloqueadas"
|
||||
UpdateError = "Falha ao bloquear as atualizações"
|
||||
NoSpotifyExe = "Não foi possível localizar Spotify.exe"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔════════════════════════════════════════╗
|
||||
║ Bine ați venit la SpotX pentru Windows ║
|
||||
╚════════════════════════════════════════╝"
|
||||
Incorrect = "Ups, o valoare incorectă,"
|
||||
Incorrect2 = "introduceți din nou prin "
|
||||
Download = "Eroare la descărcare"
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "Eroare din nou"
|
||||
Download4 = "Verificați setările de rețea și rulați din nou instalarea"
|
||||
Download5 = "Se descarca Spotify"
|
||||
Download6 = "Eroare Curl"
|
||||
StopScrpit = "Scriptul a fost oprit"
|
||||
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..."
|
||||
@@ -37,25 +36,15 @@
|
||||
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]"
|
||||
CacheOn = "Ștergerea cache-ului este activată ({0})"
|
||||
CacheOff = "Ștergerea cache-ului nu este activată"
|
||||
CacheSelect = "Doriți să configurați curățarea automată a cache-ului? [Y/N]"
|
||||
CacheDays = "Cache mai vechi: XX zile pentru a fi curățat "
|
||||
CacheDays2 = "Introduceți numărul de zile de la 1 la 100"
|
||||
ModSpoti = "Se patchuiește Spotify..."
|
||||
Error = "Eroare"
|
||||
FileLocBroken = "Locația fișierelor Spotify este stricată, dezinstalați clientul și rulați din nou scriptul"
|
||||
Spicetify = "Spicetify detectat"
|
||||
NoRestore = "SpotX a fost deja instalat, dar fișierele de recuperat xpui.js.bak și xpui.css.bak nu au fost găsite. `nVă rugăm să dezinstalați clientul Spotify și să rulați Install.bat din nou"
|
||||
ExpSpotify = "Funcții experimentale operate de Spotify"
|
||||
ExpStandart = "Caracteristicile experimentale ale SpotX nu sunt incluse"
|
||||
NoRestore2 = "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"
|
||||
UpdateBlocked = "Actualizările Spotify sunt deja blocate"
|
||||
UpdateError = "Nu s-a reușit blocarea actualizărilor"
|
||||
NoSpotifyExe = "Nu s-a putut gasi Spotify.exe"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -10,52 +10,41 @@
|
||||
Download3 = "Опять ошибка"
|
||||
Download4 = "Проверьте настройки вашей сети и снова запустите установку"
|
||||
Download5 = "Загрузка Spotify"
|
||||
Download6 = "Curl error"
|
||||
StopScrpit = "Cкрипт остановлен"
|
||||
StopScript = "Cкрипт остановлен"
|
||||
MsSpoti = "Обнаружена версия Spotify из Microsoft Store, которая не поддерживается"
|
||||
MsSpoti2 = "Хотите удалить Spotify Microsoft Store ? [Y/N]"
|
||||
MsSpoti2 = "Удалить Spotify Microsoft Store ? [Y/N]"
|
||||
MsSpoti3 = "Автоматическое удаление Spotify MS..."
|
||||
MsSpoti4 = "Удаление Spotify MS..."
|
||||
Prem = "Модификация для премиум аккаунта..."
|
||||
OldV = "Найдена устаревшая версия Spotify"
|
||||
OldV2 = "Ваша версия Spotify {0} устарела, рекомендуется обновиться до {1}"
|
||||
OldV2 = "Ваша версия Spotify ({0}) устарела. Текущая актуальная версия — {1}"
|
||||
OldV3 = "Обновить ? [Y/N]"
|
||||
AutoUpd = "Автоматическое обновление до рекомендуемой версии"
|
||||
DelOrOver = "Вы хотите удалить текущую версию {0} или установить поверх нее? Y [Удалить] / N [Поверх]"
|
||||
DelOrOver = "Удалить текущую версию ({0}) или установить поверх? Y [Удалить] / N [Поверх]"
|
||||
DelOld = "Удаление устаревшего Spotify..."
|
||||
NewV = "Найдена неподдерживаемая версия Spotify"
|
||||
NewV2 = "Ваша версия Spotify {0} еще не тестировалась, стабильная версия сейчас {1}"
|
||||
NewV3 = "Хотите продолжить с {0} (возможны ошибки) ? [Y/N]"
|
||||
Recom = "Хотите установить рекомендуемую {0} версию ? [Y/N]"
|
||||
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"
|
||||
PodcatsSelect = "Скрыть подкасты, шоу и аудиокниги на главной странице ? [Y/N]"
|
||||
DowngradeNote = "Рекомендуется заблокировать т.к. уже существует более новая версия Spotify"
|
||||
UpdBlock = "Обновления Spotify заблокированы"
|
||||
UpdUnblock = "Обновления Spotify не заблокированы"
|
||||
UpdSelect = "Хотите заблокировать обновления Spotify ? [Y/N]"
|
||||
CacheOn = "Очистка кеша включена ({0})"
|
||||
CacheOff = "Очистка кеша не включена"
|
||||
CacheSelect = "Хотите установить автоматическую очистку кеша ? [Y/N]"
|
||||
CacheDays = "Кэш старше: XX дней будет очищен"
|
||||
CacheDays2 = "Пожалуйста, введите количество дней от 1 до 100"
|
||||
UpdSelect = "Заблокировать обновления Spotify ? [Y/N]"
|
||||
ModSpoti = "Модифицирую Spotify..."
|
||||
Error = "Ошибка"
|
||||
FileLocBroken = "Расположение файлов Spotify нарушено, удалите клиент и снова запустите скрипт"
|
||||
Spicetify = "Обнаружен Spicetify"
|
||||
NoRestore = "SpotX уже был установлен, но файлы для восстановления xpui.js.bak и xpui.css.bak не найдены. `nУдалите клиент Spotify и снова запустите Install.bat"
|
||||
ExpSpotify = "Экспериментальные функции управляются Spotify"
|
||||
ExpStandart = "Экспериментальные функции SpotX не включены"
|
||||
NoRestore2 = "SpotX уже был установлен, но файл для восстановления xpui.bak не найден. `nУдалите клиент Spotify и снова запустите Install.bat"
|
||||
UpdateBlocked = "Обновления Spotify уже заблокированы"
|
||||
UpdateError = "Не удалось заблокировать обновления"
|
||||
NoSpotifyExe = "Spotify.exe не найден"
|
||||
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 = "Нажмите любую клавишу для выхода..."
|
||||
}
|
||||
|
||||
50
scripts/installer-lang/sk.ps1
Normal file
50
scripts/installer-lang/sk.ps1
Normal 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..."
|
||||
}
|
||||
50
scripts/installer-lang/sr-Latn.ps1
Normal file
50
scripts/installer-lang/sr-Latn.ps1
Normal 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..."
|
||||
}
|
||||
@@ -10,23 +10,22 @@
|
||||
Download3 = "Поново грешка"
|
||||
Download4 = "Проверите своје поставке мреже и покрените инсталацију још једном"
|
||||
Download5 = "Преузимање Spotify-ја"
|
||||
Download6 = "Curl грешка"
|
||||
StopScrpit = "Скрипта заустављена"
|
||||
StopScript = "Скрипта заустављена"
|
||||
MsSpoti = "Детектована је верзија Spotify-ја из Microsoft Store-а, што није подржано"
|
||||
MsSpoti2 = "Деинсталирати верзију Spotify-ја из Microsoft Store-а? [Y/N]"
|
||||
MsSpoti3 = "Аутоматска деинсталација Spotify MS..."
|
||||
MsSpoti4 = "Деинсталација Spotify MS..."
|
||||
Prem = "Модификација за премијум налог..."
|
||||
OldV = "Нађена је застарела верзија Spotify-ја"
|
||||
OldV2 = "Ваша верзија Spotify-ја {0} је застарела, препоручује се да је ажурирате на {1}"
|
||||
OldV = "Пронађена је застарела верзија Spotify-ја"
|
||||
OldV2 = "Ваша верзија Spotify-ја {0} је застарела, тренутно најновија верзија је {1}"
|
||||
OldV3 = "Желите ли да ажурирате? [Y/N]"
|
||||
AutoUpd = "Аутоматско ажурирање на препоручену верзију"
|
||||
DelOrOver = "Желите ли да деинсталирате тренутну верзију {0} или да инсталирате преко ње? Y [Деинсталирај] / N [Преко]"
|
||||
DelOld = "Деинсталација старог Spotify-ја..."
|
||||
NewV = "Нађена је неподржана верзија Spotify-ја"
|
||||
NewV2 = "Ваша верзија Spotify-ја {0} није још била тестирана, тренутна стабилна верзија је {1}"
|
||||
NewV = "Пронађена је неподржана верзија Spotify-ја"
|
||||
NewV2 = "Ваша верзија Spotify-ја {0} још није тестирана, тренутна стабилна верзија је {1}"
|
||||
NewV3 = "Желите ли да наставите са верзијом {0} (могуће су грешке)? [Y/N]"
|
||||
Recom = "Желите ли да инсталирате препоручену верзију {0}? [Y/N]"
|
||||
Recom = "Желите ли да инсталирате последњу верзију {0}? [Y/N]"
|
||||
DelNew = "Деинсталација нетестираног Spotify-ја..."
|
||||
DownSpoti = "Преузимање и инсталација Spotify-ја"
|
||||
DownSpoti2 = "Молимо сачекајте..."
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "Ажурирања Spotify-ја блокирана"
|
||||
UpdUnblock = "Ажурирања Spotify-ја нису блокирана"
|
||||
UpdSelect = "Желите ли да блокирате ажурирања Spotify-ја? [Y/N]"
|
||||
CacheOn = "Чишћење кеша омогућено ({0})"
|
||||
CacheOff = "Чишћење кеша није омогућено"
|
||||
CacheSelect = "Желите ли да подесите аутоматско чишћење кеша? [Y/N]"
|
||||
CacheDays = "Кеш старији од XX дана ће се брисати"
|
||||
CacheDays2 = "Унесите број дана од 1 до 100"
|
||||
ModSpoti = "Крпљење Spotify-ја..."
|
||||
Error = "Грешка"
|
||||
FileLocBroken = "Локација фајлова Spotify-ја је нарушена, деинсталирајте клијент, па покрените скрипту поново"
|
||||
Spicetify = "Детектован је Spicetify"
|
||||
NoRestore = "SpotX је већ био инсталиран, али резервни фајлови xpui.js.bak и xpui.css.bak нису нађени. `nМолимо деинсталирајте Spotify клијент и покрените Install.bat поново"
|
||||
ExpSpotify = "Експерименталним могућностима управља Spotify"
|
||||
ExpStandart = "Експерименталне могућности SpotX-а нису укључене"
|
||||
NoRestore2 = "SpotX је већ био инсталиран, xpui.bak није нађен. `nМолимо деинсталирајте Spotify клијент и покрените Install.bat поново"
|
||||
UpdateBlocked = "Ажурирања Spotify-ја су већ блокирана"
|
||||
UpdateError = "Блокирање ажурирања није успело"
|
||||
NoSpotifyExe = "Spotify.exe није нађен"
|
||||
InstallComplete = "Инсталација завршена"
|
||||
HostInfo = "Нежељени URL-ови нађени у фајлу hosts"
|
||||
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, уредите га ручно или покрените скрипту као администратор"
|
||||
}
|
||||
HostDel = "Покушавамо да уклонимо нежељене URL-ове из оригиналног hosts фајла..."
|
||||
HostError = "Нешто је пошло наопако током уређивања hosts фајла, уредите га ручно или покрените скрипту као администратор"
|
||||
PressAnyKey = "Притисните било који тастер да изађете..."
|
||||
}
|
||||
|
||||
50
scripts/installer-lang/sv.ps1
Normal file
50
scripts/installer-lang/sv.ps1
Normal 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..."
|
||||
}
|
||||
50
scripts/installer-lang/ta.ps1
Normal file
50
scripts/installer-lang/ta.ps1
Normal 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..."
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔══════════════════════════════════╗
|
||||
║ Windows için SpotX'e Hoşgeldiniz ║
|
||||
╚══════════════════════════════════╝"
|
||||
Incorrect = "Eyvah, yanlış bir değer,"
|
||||
Incorrect2 = "tekrar girin "
|
||||
Download = "İndirirken hata oluştu"
|
||||
@@ -10,15 +10,14 @@
|
||||
Download3 = "Yine hata oluştu"
|
||||
Download4 = "Ağ ayarlarınızı kontrol edin ve kurulumu tekrar çalıştırın"
|
||||
Download5 = "Spotify indiriliyor"
|
||||
Download6 = "Curl hatası"
|
||||
StopScrpit = "Komut dosyası durduruldu"
|
||||
MsSpoti = "Spotify'ın desteklenmeyen Microsoft Mağazası sürümü tespit edildi"
|
||||
MsSpoti2 = "Spotify Windows Mağazası sürümünü kaldır [Y/N]"
|
||||
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 {0} sürümü güncel değil, {1} sürümüne yükseltmeniz önerilir"
|
||||
OldV2 = "Spotify'ın {0} sürümü güncel değil, {1} sürümüne yükseltmeniz önerilir"
|
||||
OldV3 = "Güncelleme yapılsın mı? [Y/N]"
|
||||
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]"
|
||||
@@ -30,32 +29,22 @@
|
||||
DelNew = "Test edilmemiş Spotify kaldırılıyor..."
|
||||
DownSpoti = "Spotify indiriliyor ve kuruluyor"
|
||||
DownSpoti2 = "Lütfen bekleyin..."
|
||||
PodcatsOff = "Podcast'ler Kapalı"
|
||||
PodcastsOn = "Podcast'ler Açık"
|
||||
PodcatsSelect = "Ana sayfadan podcast'leri, bölümleri ve sesli kitapları kaldırmak istiyor musunuz? [Y/N]"
|
||||
DowngradeNote = "Spotify'da bir sürüm düşürme olduğu için engellemeniz önerilir"
|
||||
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]"
|
||||
CacheOn = "Önbelleği temizleme etkin ({0})"
|
||||
CacheOff = "Önbelleğin temizlenmesi etkin değil"
|
||||
CacheSelect = "Otomatik önbellek temizlemeyi ayarlamak ister misiniz? [Y/N]"
|
||||
CacheDays = "Daha eski olan önbellek: XX gün içinde temizlenecek "
|
||||
CacheDays2 = "Gün sayısını 1 ile 100 arasında girin"
|
||||
ModSpoti = "Spotify'a yama yapılıyor..."
|
||||
Error = "Hata"
|
||||
FileLocBroken = "Spotify dosyalarının konumu bozuk, istemciyi kaldırın ve kodu tekrar çalıştırın"
|
||||
Spicetify = "Spicetify algılandı"
|
||||
NoRestore = "SpotX zaten yüklenmiş, ancak xpui.js.bak ve xpui.css.bak dosyalarının bulunamadığı tespit edildi. `nLütfen Spotify istemcisini kaldırın ve Install.bat dosyasını tekrar çalıştırın"
|
||||
ExpSpotify = "Spotify tarafından sunulan deneysel özellikler"
|
||||
ExpStandart = "SpotX'in deneysel özellikleri dahil değildir"
|
||||
NoRestore2 = "SpotX zaten kurulmuş, xpui.bak dosyası bulunamadı. `nLütfen Spotify istemcisini kaldırın ve Install.bat dosyasını tekrar çalıştırın"
|
||||
UpdateBlocked = "Spotify güncellemeleri zaten engellenmiş durumda"
|
||||
UpdateError = "Güncellemeler engellenemedi"
|
||||
NoSpotifyExe = "Spotify.exe bulunamadı"
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔══════════════════════════════════════╗
|
||||
║ Ласкаво просимо до SpotX для Windows ║
|
||||
╚══════════════════════════════════════╝"
|
||||
Incorrect = "Упс, некоректне значення,"
|
||||
Incorrect2 = "введіть знову через "
|
||||
Download = "Помилка завантаження"
|
||||
@@ -10,8 +10,7 @@
|
||||
Download3 = "Помилка знову"
|
||||
Download4 = "Перевірте налаштування вашого з'єднання та запустіть інсталятор знову"
|
||||
Download5 = "Завантаження Spotify"
|
||||
Download6 = "Помилка Curl"
|
||||
StopScrpit = "Скрипт зупинено"
|
||||
StopScript = "Скрипт зупинено"
|
||||
MsSpoti = "Знайдено версію Spotify з Microsoft Store, яка не підтримується"
|
||||
MsSpoti2 = "Видалити версію Spotify з Microsoft Store [Y/N]"
|
||||
MsSpoti3 = "Автоматичне видалення Spotify MS..."
|
||||
@@ -37,25 +36,15 @@
|
||||
UpdBlock = "Оновлення Spotify заблоковано"
|
||||
UpdUnblock = "Оновлення Spotify наразі не заблоковані"
|
||||
UpdSelect = "Хочете заблокувати оновлення Spotify ? [Y/N]"
|
||||
CacheOn = "Увімкнено блокування кешу ({0})"
|
||||
CacheOff = "Блокування кешу вимкнено"
|
||||
CacheSelect = "Хочете налаштувати автоматичне чищення кешу? [Y/N]"
|
||||
CacheDays = "Кеш старіше XX днів буде видалений "
|
||||
CacheDays2 = "Введіть кількість днів від 1 до 100"
|
||||
ModSpoti = "Встановлення патчів на Spotify..."
|
||||
Error = "Помилка"
|
||||
FileLocBroken = "Помилки у шляху до файлів Spotify, видаліть клієнт та запустіть скрипт ще раз."
|
||||
Spicetify = "Знайдено Spicetify"
|
||||
NoRestore = "SpotX вже встановлено, але файли recover xpui.js.bak and xpui.css.bak не знайдені. `nБудь-ласка, видаліть клієнт Spotify та запустіть скрипт ще раз."
|
||||
ExpSpotify = "Експериментальні функції відSpotify"
|
||||
ExpStandart = "Експериментальні функції від SpotX не включено"
|
||||
NoRestore2 = "SpotX вже встановлено, але файл xpui.bak не знайдено. `nБудь-ласка, видаліть клієнт Spotify та запустіть скрипт ще раз."
|
||||
UpdateBlocked = "Оновлення Spotify вже заблоковані"
|
||||
UpdateError = "Помилка при блокуванні оновлень"
|
||||
NoSpotifyExe = "Не вдалося знайти Spotify.exe"
|
||||
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 = "Натисніть будь-яку клавішу, щоб вийти..."
|
||||
}
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
╔═════════════════════════════════════╗
|
||||
║ Chào mừng đến với SpotX cho Windows ║
|
||||
╚═════════════════════════════════════╝"
|
||||
Incorrect = "Ối, sai giá trị rồi,"
|
||||
Incorrect2 = "nhập lại lần nữa "
|
||||
Incorrect2 = "hãy thử lại "
|
||||
Download = "Lỗi khi tải xuống"
|
||||
Download2 = "Tải lại sau 5 giây..."
|
||||
Download3 = "Tiếp tục lỗi"
|
||||
Download4 = "Kiểm tra cài đặt mạng và chạy lại chương trình cài đặt"
|
||||
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"
|
||||
Download6 = "Lỗi curl"
|
||||
StopScrpit = "Đã dừng bản vá"
|
||||
MsSpoti = "Phát hiện phiên bản Spotify của Microsoft Store, phiên bản này không được hỗ trợ"
|
||||
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 = "Spotify {0} của bạn đã cũ, khuyến khích nâng cấp lên {1}"
|
||||
OldV2 = "Phiên bản Spotify {0} của bạn đã cũ, khuyến khích nâng cấp lên {1}"
|
||||
OldV3 = "Bạn có muốn cập nhật không ? [Y/N]"
|
||||
AutoUpd = "Tự động cập nhật lên phiên bản được đề xuất"
|
||||
DelOrOver = "Bạn muốn gỡ phiên bản hiện tại {0} hay cài đề lên? Y [Gỡ] / N [Cài đè lên]"
|
||||
DelOrOver = "Bạn muốn gỡ phiên bản hiện tại {0} hay cài đè lên? Y [Gỡ] / N [Cài đè lên]"
|
||||
DelOld = "Đang gỡ Spotify bản cũ..."
|
||||
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}"
|
||||
@@ -32,30 +31,20 @@
|
||||
DownSpoti2 = "Vui lòng chờ..."
|
||||
PodcatsOff = "Tắt Podcasts"
|
||||
PodcastsOn = "Bật Podcasts"
|
||||
PodcatsSelect = "Do you want to disable podcasts, episodes and audiobooks from the main page? [Y/N]" #
|
||||
DowngradeNote = "Nên chặn vì bạn đang dùng bản Spotify cũ"
|
||||
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 chặn Spotify tự động cập nhật? [Y/N]"
|
||||
CacheOn = "Dọn cache được kích hoạt ({0})"
|
||||
CacheOff = "Dọn cache chưa được kích hoạt"
|
||||
CacheSelect = "Bạn có muốn đặt thời gian tự động dọn dẹp cache? [Y/N]"
|
||||
CacheDays = "Cache cũ: XX ngày để bị dọn dẹp "
|
||||
CacheDays2 = "Nhập số ngày từ 1 đến 100"
|
||||
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ủa các tệp đã Spotify bị hỏng, gỡ Spotify và chạy lại bản vá"
|
||||
Spicetify = "Phát hiện Spicetify"
|
||||
NoRestore = "Đã cài SpotX nhưng không tìm thấy tập tin để khôi phục xpui.js.bak và xpui.css.bak. `nGỡ Spotify và chạy lại Install.bat"
|
||||
ExpSpotify = "Các tính năng thử nghiệm của Spotify"
|
||||
ExpStandart = "Không bao gồm các tính năng thử nghiệm của SpotX"
|
||||
NoRestore2 = "Đã 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"
|
||||
UpdateBlocked = "Cập nhật Spotify đã bị chặn rồi"
|
||||
UpdateError = "Lỗi khi chặn cập nhật Spotify"
|
||||
NoSpotifyExe = "Không thể tìm thấy Spotify.exe"
|
||||
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 = "Các URL không mong muốn được tìm thấy trong tệp hosts"
|
||||
HostInfo = "Tìm thấy các URL không cần thiết trong tệp hosts"
|
||||
HostBak = "Đang sao lưu hosts.bak..."
|
||||
HostDel = "Đang gỡ các URL không mong muốn khỏi tệp hosts..."
|
||||
HostError = "Lỗi khi chỉnh sửa tệp hosts, hãy chỉnh sửa thủ công hoặc chạy bản vá bằng quyền administrator"
|
||||
}
|
||||
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..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "糟糕, 不正確的參數,"
|
||||
╔═════════════════════════════╗
|
||||
║ 歡迎使用 SpotX Windows 版 ║
|
||||
╚═════════════════════════════╝"
|
||||
Incorrect = "糟糕,參數錯誤,"
|
||||
Incorrect2 = "請重新輸入 "
|
||||
Download = "下載錯誤"
|
||||
Download2 = "將在五秒後重試"
|
||||
Download3 = "再次出錯"
|
||||
Download4 = "檢查您的網路設定後再次嘗試安裝"
|
||||
Download5 = "下載 Spotify"
|
||||
Download6 = "Curl 錯誤"
|
||||
StopScrpit = "腳本已停止"
|
||||
StopScript = "腳本已停止"
|
||||
MsSpoti = "偵測到不支援的 Spotify 微軟商店版本"
|
||||
MsSpoti2 = "解除安裝微軟商店的 Spotify [Y/N]"
|
||||
MsSpoti3 = "自動解除安裝 Spotify 的微軟商店版本..."
|
||||
MsSpoti4 = "正在解除安裝 Spotify 的微軟商店版本..."
|
||||
Prem = "針對 Premium 帳號的修改..."
|
||||
OldV = "發現過時的 Spotify 版本"
|
||||
OldV2 = "您的Spotify {0} 版本已過時, 建議更新到 {1}"
|
||||
OldV2 = "您的Spotify {0} 版本已過時,建議更新到 {1}"
|
||||
OldV3 = "需要更新嗎? [Y/N]"
|
||||
AutoUpd = "自動更新到推薦版本"
|
||||
DelOrOver = "是否要解除安裝當前版本 {0} 或者覆蓋安裝? Y [解除安裝] / N [覆蓋安裝]"
|
||||
DelOld = "解除安裝舊的 Spotify..."
|
||||
DelOrOver = "是否要解除安裝目前版本 {0} 或者覆蓋安裝? Y [解除安裝] / N [覆蓋安裝]"
|
||||
DelOld = "解除安裝舊版 Spotify..."
|
||||
NewV = "偵測到不支援的 Spotify 版本"
|
||||
NewV2 = "您的 Spotify {0} 版本還沒有經過測試, 目前穩定的版本是 {1} "
|
||||
NewV3 = "您想要繼續使用 {0} 版本嗎 (可能會出現錯誤) ? [Y/N]"
|
||||
Recom = "您想安裝推薦的 {0} 版本嗎 ? [Y/N]"
|
||||
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 降級"
|
||||
DownSpoti2 = "請稍候..."
|
||||
PodcatsOff = "關閉 Podcasts"
|
||||
PodcastsOn = "開啟 Podcasts"
|
||||
PodcatsSelect = "您想要關閉主頁上的 Podcasts,劇集和有聲書嗎? [Y/N]"
|
||||
DowngradeNote = "由於 Spotify 已降級,故推薦阻止"
|
||||
UpdBlock = "阻止 Spotify 更新"
|
||||
UpdUnblock = "不阻止 Spotify 更新"
|
||||
UpdSelect = "您想要阻止 Spotify 更新嗎? [Y/N]"
|
||||
CacheOn = "清除快取已開啟 ({0})"
|
||||
CacheOff = "未開啟清除快取"
|
||||
CacheSelect = "您想要設定自動清除快取嗎? [Y/N]"
|
||||
CacheDays = "超過 XX 天的快取將被清除 "
|
||||
CacheDays2 = "輸入從 1 到 100 之內的天數"
|
||||
UpdSelect = "您想要阻止 Spotify 更新嗎? [Y/N]"
|
||||
ModSpoti = "修補 Spotify..."
|
||||
Error = "錯誤"
|
||||
FileLocBroken = "Spotify 檔案已損壞, 請解除安裝客戶端並重新運行腳本"
|
||||
Spicetify = "偵測到 Spicetify"
|
||||
NoRestore = "SpotX 已經安裝, 但找不到檔案 xpui.js.bak 和 xpui.css.bak not `n請重新安裝 Spotify 客戶端後再運行 Install.bat"
|
||||
ExpSpotify = "啟用 Spotify 的實驗性功能Experimental features operated by Spotify"
|
||||
ExpStandart = "SpotX的實驗性功能沒有啟用"
|
||||
NoRestore2 = "SpotX 已經安裝, 但是找不到xpui.bak `n請重新安裝 Spotify 客戶端後再運行 Install.bat"
|
||||
UpdateBlocked = "Spotify 更新已經被阻止"
|
||||
UpdateError = "阻止更新失敗"
|
||||
NoSpotifyExe = "找不到 Spotify.exe"
|
||||
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 檔案時發生了錯誤, 請手動編輯或以系統管理員身分運行腳本"
|
||||
}
|
||||
HostInfo = "在 hosts 檔案中發現不需要的網址"
|
||||
HostBak = "正在備份 hosts.bak..."
|
||||
HostDel = "正在嘗試從原始 hosts 檔案中刪除不需要的網址..."
|
||||
HostError = "在編輯 hosts 檔案時發生了錯誤,請手動編輯或以系統管理員身分執行腳本"
|
||||
PressAnyKey = "按任意鍵退出..."
|
||||
}
|
||||
|
||||
@@ -1,61 +1,50 @@
|
||||
[PSCustomObject]@{
|
||||
Welcome = "
|
||||
╔══════════════════════════════╗
|
||||
║ Welcome to SpotX for Windows ║
|
||||
╚══════════════════════════════╝"
|
||||
Incorrect = "糟糕,不正确的参数,"
|
||||
╔════════════════════════════════╗
|
||||
║ 欢迎使用 SpotX 的 Windows 版本 ║
|
||||
╚════════════════════════════════╝"
|
||||
Incorrect = "糟糕,不正确的参数,"
|
||||
Incorrect2 = "请重新输入 "
|
||||
Download = "下载错误"
|
||||
Download2 = "将在五秒后重试"
|
||||
Download3 = "再次出错"
|
||||
Download4 = "检查您的网络设置后再次尝试安装"
|
||||
Download4 = "请检查您的网络设置后再次尝试安装"
|
||||
Download5 = "下载 Spotify"
|
||||
Download6 = "Curl 错误"
|
||||
StopScrpit = "脚本已停止"
|
||||
MsSpoti = "检测到 Spotify 是微软商店版本,该版本不受到支持"
|
||||
MsSpoti2 = "卸载微软商店的 Spotify [Y/N]"
|
||||
StopScript = "脚本已停止"
|
||||
MsSpoti = "检测到 Spotify 为微软商店版本,此脚本不支持该版本"
|
||||
MsSpoti2 = "是否卸载微软商店的 Spotify [Y/N]"
|
||||
MsSpoti3 = "自动卸载 Spotify 的微软商店版本..."
|
||||
MsSpoti4 = "正在卸载 Spotify 的微软商店版本..."
|
||||
Prem = "针对 Premium 账户的修改..."
|
||||
OldV = "发现过时的 Spotify 版本"
|
||||
OldV2 = "您的 Spotify {0} 版本已过时, 建议更新到 {1}"
|
||||
OldV3 = "需要更新吗 ? [Y/N]"
|
||||
Prem = "正在进行针对 Premium 账户的修改..."
|
||||
OldV = "发现已过时的 Spotify 版本"
|
||||
OldV2 = "您的 Spotify {0} 版本已过时,建议更新到 {1}"
|
||||
OldV3 = "是否需要更新? [Y/N]"
|
||||
AutoUpd = "自动更新到推荐版本"
|
||||
DelOrOver = "是否要卸载当前版本 {0} 或者覆盖安装? Y [卸载] / N [覆盖安装]"
|
||||
DelOld = "卸载旧的 Spotify..."
|
||||
DelOld = "正在卸载旧的 Spotify..."
|
||||
NewV = "检测到 Spotify 版本不受到支持"
|
||||
NewV2 = "您的 Spotify {0} 版本没有经过测试, 目前的推荐的版本是 {1}"
|
||||
NewV3 = "您想要继续使用 {0} 版本吗 (可能会出现错误) ? [Y/N]"
|
||||
NewV2 = "您的 Spotify {0} 版本没有经过测试,目前的推荐的版本是 {1}"
|
||||
NewV3 = "您想要继续使用 {0} 版本吗 (可能会出现错误)? [Y/N]"
|
||||
Recom = "您想安装推荐的 {0} 版本吗 ? [Y/N]"
|
||||
DelNew = "卸载未经测试的 Spotify 版本..."
|
||||
DelNew = "正在卸载未经测试的 Spotify 版本..."
|
||||
DownSpoti = "下载并安装 Spotify"
|
||||
DownSpoti2 = "请稍等..."
|
||||
PodcatsOff = "关闭播客"
|
||||
PodcastsOn = "开启播客"
|
||||
PodcatsSelect = "您想关闭主页上的播客、剧集和有声读物吗? [Y/N]"
|
||||
DowngradeNote = "推荐阻止 Spotify 降级"
|
||||
PodcatsSelect = "您想关闭主页上的播客、剧集与有声读物吗? [Y/N]"
|
||||
DowngradeNote = "由于 Spotify 已降级,建议屏蔽"
|
||||
UpdBlock = "阻止 Spotify 更新"
|
||||
UpdUnblock = "不阻止 Spotify 更新"
|
||||
UpdSelect = "您想要阻止 Spotify 更新吗? [Y/N]"
|
||||
CacheOn = "清理缓存已启用 ({0})"
|
||||
CacheOff = "未启用清理缓存"
|
||||
CacheSelect = "您想要设置自动清除缓存吗? [Y/N]"
|
||||
CacheDays = "超过 XX 天的缓存将被清除 "
|
||||
CacheDays2 = "输入从 1 到 100 之内的天数"
|
||||
UpdSelect = "您想要阻止 Spotify 更新吗? [Y/N]"
|
||||
ModSpoti = "修补 Spotify..."
|
||||
Error = "错误"
|
||||
FileLocBroken = "Spotify 文件已损坏,请卸载客户端并重新运行脚本"
|
||||
Spicetify = "检测到 Spicetify"
|
||||
NoRestore = "SpotX 已经安装, 但是找不到文件 xpui.js.bak 和 xpui.css.bak . `n请重新安装 Spotify 客户端后再次运行 install.bat"
|
||||
ExpSpotify = "启用 Spotify 的实验性功能"
|
||||
ExpStandart = "SpotX 的实验性功能未被启用"
|
||||
NoRestore2 = "SpotX 已经安装, 但是找不到文件 xpui.bak . `n请重新安装 Spotify 客户端后再次运行 install.bat"
|
||||
UpdateBlocked = "Spotify 的更新已经被阻止了"
|
||||
UpdateError = "阻止更新失败"
|
||||
NoSpotifyExe = "未找到 Spotify.exe"
|
||||
FileLocBroken = "Spotify 文件已损坏,请请卸载客户端并重新运行脚本"
|
||||
Spicetify = "检测到 Spicetify,它必须在安装 SpotX 后进行安装。是否启用 FAQ 中的建议操作? [Y/N]"
|
||||
NoRestore = "SpotX 已经安装,但是找不到文件 xpui.bak . `n请重新安装 Spotify 客户端后再次运行 install.bat"
|
||||
InstallComplete = "安装完成"
|
||||
HostInfo = "在 hosts 文件中发现的不需要的 URL"
|
||||
HostInfo = "在 hosts 文件中发现了不需要的 URL"
|
||||
HostBak = "备份原始 hosts 文件为 hosts.bak..."
|
||||
HostDel = "试图从原始 hosts 文件中删除不需要的 URL..."
|
||||
HostDel = "正在试图从原始 hosts 文件中删除不需要的 URL..."
|
||||
HostError = "在编辑 hosts 文件时发生了错误,请手动编辑或以管理员身份重新运行该脚本。"
|
||||
}
|
||||
PressAnyKey = "按任意键退出..."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user