Compare commits
616 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93a564bf03 | ||
|
|
6bfbbf1249 | ||
|
|
65eefc6998 | ||
|
|
e0caa144a6 | ||
|
|
4dfc4f6ea5 | ||
|
|
6da693c98f | ||
|
|
3f650bd623 | ||
|
|
b6c979b8a9 | ||
|
|
dedc21e0a1 | ||
|
|
31ccd3872b | ||
|
|
081e3776a3 | ||
|
|
200be48d2a | ||
|
|
c80017fe9e | ||
|
|
a7613d6336 | ||
|
|
5b585a13e5 | ||
|
|
bace8c02ca | ||
|
|
b0dd9101d1 | ||
|
|
eee57234eb | ||
|
|
54cd18c4be | ||
|
|
c2510652f0 | ||
|
|
21c6552580 | ||
|
|
74850a7eac | ||
|
|
2a44b7c54d | ||
|
|
fb4b56c873 | ||
|
|
02ca804eb9 | ||
|
|
d7605197fa | ||
|
|
1cf1e883d6 | ||
|
|
5900b0a5ce | ||
|
|
82baaeb8bb | ||
|
|
fdf9d2254c | ||
|
|
ce33a15967 | ||
|
|
fc1407c1da | ||
|
|
71a1acd47d | ||
|
|
9c43f77816 | ||
|
|
5f0dc6cf9f | ||
|
|
6f43106e5c | ||
|
|
765a2204d4 | ||
|
|
b50afd2dd3 | ||
|
|
9b82cac0c6 | ||
|
|
7493710172 | ||
|
|
22720c77bb | ||
|
|
4a06676725 | ||
|
|
e7fa875d1e | ||
|
|
ccd67cc5b9 | ||
|
|
518c5de5e5 | ||
|
|
80a7e00461 | ||
|
|
50c99177e9 | ||
|
|
a02120adde | ||
|
|
6b33ed8f44 | ||
|
|
f851392e3f | ||
|
|
9c8b3df2ba | ||
|
|
70f06b4abf | ||
|
|
a91a6dd475 | ||
|
|
232fe497e4 | ||
|
|
c2c9cba09d | ||
|
|
0b987f2e6b | ||
|
|
afbcd4f470 | ||
|
|
08596dea2d | ||
|
|
a00fb7f42c | ||
|
|
7ac6f2ad96 | ||
|
|
c8ca610922 | ||
|
|
31e10fce8f | ||
|
|
33e93b633b | ||
|
|
150b7acb1b | ||
|
|
756d0c2425 | ||
|
|
43a6709662 | ||
|
|
4287235057 | ||
|
|
0429b4d1d9 | ||
|
|
fed99eeb69 | ||
|
|
0d318c11a5 | ||
|
|
91fffe4a6b | ||
|
|
eef213242c | ||
|
|
e084dca96b | ||
|
|
bb6c2d665e | ||
|
|
01dc6634d7 | ||
|
|
cd6a7e69b1 | ||
|
|
2eebd7dd09 | ||
|
|
31d7c838d2 | ||
|
|
9a9898680f | ||
|
|
c236299cc4 | ||
|
|
4cf8a8674e | ||
|
|
67f7440c88 | ||
|
|
528e771889 | ||
|
|
672f7f2bcc | ||
|
|
550f193099 | ||
|
|
6b800100f1 | ||
|
|
6a3b5254e8 | ||
|
|
656c2d725a | ||
|
|
4d1ccacd6a | ||
|
|
70ac2d1963 | ||
|
|
7caca22bc8 | ||
|
|
428c8eb92c | ||
|
|
a8d925774e | ||
|
|
5fd4de2da1 | ||
|
|
49bde90f2c | ||
|
|
b8ff781190 | ||
|
|
7b262301e2 | ||
|
|
a9649c0688 | ||
|
|
816bba068c | ||
|
|
95900f68e0 | ||
|
|
e74d568675 | ||
|
|
d49c6185dc | ||
|
|
36da48986a | ||
|
|
e3a5ce60d7 | ||
|
|
0fa9f42aab | ||
|
|
218272d627 | ||
|
|
2ac4e3b832 | ||
|
|
77660c1c51 | ||
|
|
3b61837ed2 | ||
|
|
96d3185f9d | ||
|
|
6a6f1748a7 | ||
|
|
6b1c304974 | ||
|
|
4d0ecb3356 | ||
|
|
a5209f06e1 | ||
|
|
dc323f3c7e | ||
|
|
838cc65cbc | ||
|
|
375a08c4cd | ||
|
|
c5d5de39d6 | ||
|
|
1809253d61 | ||
|
|
29e8b09e3e | ||
|
|
eca4cc04ee | ||
|
|
67bcf504e9 | ||
|
|
621fd653a6 | ||
|
|
cd429c40a1 | ||
|
|
d2dc20496b | ||
|
|
91905d2151 | ||
|
|
e926075904 | ||
|
|
c9afa26b33 | ||
|
|
ec5ce70334 | ||
|
|
2f63fd15c7 | ||
|
|
035e463be4 | ||
|
|
f6c07e9dd2 | ||
|
|
dce32e8032 | ||
|
|
3e0969839d | ||
|
|
0fcfe4f858 | ||
|
|
235f35f9cc | ||
|
|
43e497fb5f | ||
|
|
52bcf40fc2 | ||
|
|
6a6a463020 | ||
|
|
d6380ee379 | ||
|
|
dc2ccb6528 | ||
|
|
5b2436e39f | ||
|
|
e28b165211 | ||
|
|
76bdcbdad7 | ||
|
|
14b57512fc | ||
|
|
f60272bd41 | ||
|
|
7feef909f5 | ||
|
|
0d23938396 | ||
|
|
ea9cb70c05 | ||
|
|
9f3da12e1c | ||
|
|
515c5a64d1 | ||
|
|
86c18659ea | ||
|
|
e742eecb71 | ||
|
|
bdf7449a40 | ||
|
|
f0b7efb509 | ||
|
|
dea08c68ba | ||
|
|
df3a7ddad8 | ||
|
|
d07cee1fc9 | ||
|
|
baa50fcae2 | ||
|
|
98987871b9 | ||
|
|
c7006cec21 | ||
|
|
2828785564 | ||
|
|
7959f3d780 | ||
|
|
4c2f45db01 | ||
|
|
86ca725b54 | ||
|
|
08eeae68d9 | ||
|
|
601d8f6d95 | ||
|
|
322a2023d9 | ||
|
|
11dd2111bd | ||
|
|
6d1902b145 | ||
|
|
931a83fd0f | ||
|
|
4d091a673d | ||
|
|
4016735b99 | ||
|
|
cd08c068bb | ||
|
|
6bb417d601 | ||
|
|
4af842475c | ||
|
|
c9f830cbf7 | ||
|
|
a65142d7e4 | ||
|
|
3b233b07a5 | ||
|
|
a4dedeb451 | ||
|
|
5bb24fc712 | ||
|
|
9f367b0b07 | ||
|
|
2cc361651b | ||
|
|
42635ca151 | ||
|
|
bc7264f1ae | ||
|
|
7526ae75cc | ||
|
|
6f0478af33 | ||
|
|
baf5e043e8 | ||
|
|
81941a81f0 | ||
|
|
901867fd11 | ||
|
|
2114f4686b | ||
|
|
54e3403b22 | ||
|
|
72c88cfddf | ||
|
|
a2872996b2 | ||
|
|
b6c96a4680 | ||
|
|
076dcf4d9f | ||
|
|
1b158afa30 | ||
|
|
bd0aedb4a9 | ||
|
|
f585221627 | ||
|
|
1a313d6923 | ||
|
|
c52fb9e2cf | ||
|
|
3da1d563ff | ||
|
|
5836a9a6ff | ||
|
|
d7f8cf3913 | ||
|
|
5c6eaf2fa5 | ||
|
|
d0df045e1b | ||
|
|
1ff93b4a4d | ||
|
|
3cb2df1027 | ||
|
|
76a1d28f25 | ||
|
|
b109c9d5ba | ||
|
|
94b6a1e3dd | ||
|
|
93dc180246 | ||
|
|
8539589981 | ||
|
|
2628dd7b79 | ||
|
|
e60e70c772 | ||
|
|
f37f5359f7 | ||
|
|
d4bf938641 | ||
|
|
3b9de82030 | ||
|
|
c42865521e | ||
|
|
091332073a | ||
|
|
53a50504b2 | ||
|
|
8de5f0bb10 | ||
|
|
0e22bef9cd | ||
|
|
83eebbf264 | ||
|
|
1341cc6370 | ||
|
|
b0d1f91791 | ||
|
|
dcb094b404 | ||
|
|
f1f11aac2e | ||
|
|
a2d7d2df34 | ||
|
|
f79714f6c3 | ||
|
|
f30e0bf7ca | ||
|
|
98b5b98b1f | ||
|
|
2439b9dc67 | ||
|
|
9c2b2557bb | ||
|
|
143f3f7323 | ||
|
|
64afb80764 | ||
|
|
139574bcf9 | ||
|
|
ac23bc02ed | ||
|
|
e41ee0b9ea | ||
|
|
34d165f964 | ||
|
|
18c24e439b | ||
|
|
8af7a58533 | ||
|
|
111c361ba8 | ||
|
|
71929f5a2a | ||
|
|
869c7c6722 | ||
|
|
a447c3325a | ||
|
|
a4c0ebf03e | ||
|
|
737e6cb4f6 | ||
|
|
34eab34620 | ||
|
|
7106706e81 | ||
|
|
c27ed8854a | ||
|
|
c0006a59ad | ||
|
|
a82f79678b | ||
|
|
1e35628ac4 | ||
|
|
8176ae891f | ||
|
|
f1a7024cf3 | ||
|
|
08a06f52a2 | ||
|
|
cb52d0f838 | ||
|
|
908f28fc81 | ||
|
|
f954b1504d | ||
|
|
0c9d855bc7 | ||
|
|
4c92078d36 | ||
|
|
da5f6223de | ||
|
|
42c913af86 | ||
|
|
743d7f4b3c | ||
|
|
cede3b58d5 | ||
|
|
3e7c7970b0 | ||
|
|
bb6e1b54ab | ||
|
|
1d69040003 | ||
|
|
7db85e8b8e | ||
|
|
9f8d87d801 | ||
|
|
e4cd1e5999 | ||
|
|
dcce00a772 | ||
|
|
63cdc53860 | ||
|
|
86af9b182f | ||
|
|
ccf73c0785 | ||
|
|
b6876692e6 | ||
|
|
fd995ef1a6 | ||
|
|
ef862c8d68 | ||
|
|
f29f3f26bd | ||
|
|
41f3e70842 | ||
|
|
82e00bdd52 | ||
|
|
4f332c7009 | ||
|
|
ba27befd33 | ||
|
|
2f0ac9afdd | ||
|
|
19849087da | ||
|
|
fd6a07a420 | ||
|
|
1bdbf5a1bb | ||
|
|
34b2593815 | ||
|
|
2b3e0869e8 | ||
|
|
2a0ed287b5 | ||
|
|
8c5ed914ce | ||
|
|
9ebf28df77 | ||
|
|
0e0fedc418 | ||
|
|
a1f8eb92be | ||
|
|
de98e58bac | ||
|
|
935d0d9703 | ||
|
|
44d855e42a | ||
|
|
1d61542513 | ||
|
|
2251049401 | ||
|
|
10282a2d9f | ||
|
|
680ae2a7f8 | ||
|
|
58afb4be52 | ||
|
|
5fb36e29bb | ||
|
|
e7fa6191cb | ||
|
|
49777351e0 | ||
|
|
0b113fc70a | ||
|
|
1bce31bf4d | ||
|
|
467991ec8d | ||
|
|
b6356182d1 | ||
|
|
a98cc7ad40 | ||
|
|
9c85621b2d | ||
|
|
91d3529261 | ||
|
|
1986600d46 | ||
|
|
e3b4187766 | ||
|
|
c2c1f38662 | ||
|
|
012725efa6 | ||
|
|
1dca562a22 | ||
|
|
8d03828478 | ||
|
|
cd0c125feb | ||
|
|
39fd5b783b | ||
|
|
bf83324ff2 | ||
|
|
ccc112f835 | ||
|
|
5d3cec9711 | ||
|
|
ea04a38b7e | ||
|
|
f135505f1e | ||
|
|
3cfdf5ac8e | ||
|
|
0b04b91ef2 | ||
|
|
8ae42fef4d | ||
|
|
66191f3edf | ||
|
|
c3e8f75839 | ||
|
|
4edc1dd440 | ||
|
|
353a549e83 | ||
|
|
89174aa328 | ||
|
|
513abdbc22 | ||
|
|
81f7a55bde | ||
|
|
0f0f86115e | ||
|
|
ed5da99036 | ||
|
|
b3bf06ce7e | ||
|
|
8cbbc3093f | ||
|
|
ad33154c18 | ||
|
|
ab43d84951 | ||
|
|
33c9508607 | ||
|
|
bdc046b211 | ||
|
|
8f68e0c363 | ||
|
|
beb9dcbd13 | ||
|
|
baf9d06677 | ||
|
|
c90b56d8d3 | ||
|
|
d04cf5a24d | ||
|
|
1804a2cfa5 | ||
|
|
bb28191fe4 | ||
|
|
32d047a1e8 | ||
|
|
da90055059 | ||
|
|
a3581bf3ba | ||
|
|
5197eacd2a | ||
|
|
69dc003517 | ||
|
|
5e83c4ca98 | ||
|
|
a94ee4f855 | ||
|
|
92d5eaa10f | ||
|
|
7b5e4fa6a1 | ||
|
|
efe3e3ce0f | ||
|
|
ae2793db39 | ||
|
|
effb18e2c1 | ||
|
|
8c11ff11df | ||
|
|
6ff27ebf94 | ||
|
|
a0343b34b8 | ||
|
|
efe8503241 | ||
|
|
4cb8c9b5da | ||
|
|
8d56ee85c8 | ||
|
|
6763948779 | ||
|
|
f2f63981e7 | ||
|
|
b2fefd2ff8 | ||
|
|
0805fe053a | ||
|
|
877d969580 | ||
|
|
1793c4b031 | ||
|
|
e64368002c | ||
|
|
551fdfcb4e | ||
|
|
e0c49c3ed6 | ||
|
|
cb04600613 | ||
|
|
df1681f34f | ||
|
|
d08f3babd6 | ||
|
|
1b8edc7818 | ||
|
|
52249ae259 | ||
|
|
d8858c92aa | ||
|
|
df964d39c3 | ||
|
|
05936f1426 | ||
|
|
9702239dd1 | ||
|
|
f7c98d1f23 | ||
|
|
ad0d875fb5 | ||
|
|
de3d4320e6 | ||
|
|
fbf66f9031 | ||
|
|
bc234732b8 | ||
|
|
d87b0d1763 | ||
|
|
f516ddeca4 | ||
|
|
1cf8221c8d | ||
|
|
27ac05851f | ||
|
|
24f90271d1 | ||
|
|
5e46d9936d | ||
|
|
30ce254ce5 | ||
|
|
ed20d9e5f5 | ||
|
|
b0e5a8f82f | ||
|
|
73f4fc5edd | ||
|
|
0150082a31 | ||
|
|
49f12a0b66 | ||
|
|
33d150e739 | ||
|
|
bc08c77664 | ||
|
|
9c11a8d6af | ||
|
|
91ea6c8fe1 | ||
|
|
118f4fd556 | ||
|
|
25e7b84541 | ||
|
|
87900e01a5 | ||
|
|
0f726cfa32 | ||
|
|
72401dcd13 | ||
|
|
1905439eda | ||
|
|
4398c49258 | ||
|
|
ef93afd234 | ||
|
|
d56dc8a86a | ||
|
|
93b3397e01 | ||
|
|
97c6d103d8 | ||
|
|
851f831b73 | ||
|
|
4bfbcd5f6a | ||
|
|
a40becdb44 | ||
|
|
4641328c9b | ||
|
|
24bf80cef5 | ||
|
|
c0257e801e | ||
|
|
a8440ab26e | ||
|
|
05e24f733f | ||
|
|
ee54600327 | ||
|
|
815cd96302 | ||
|
|
d2fb05bf86 | ||
|
|
4b2c982160 | ||
|
|
bc862d88ac | ||
|
|
1e63361f48 | ||
|
|
7369ee0ac1 | ||
|
|
6936a8fb2b | ||
|
|
15af3980f0 | ||
|
|
7d873944a6 | ||
|
|
43b542d697 | ||
|
|
ce82c117db | ||
|
|
8c9097db1d | ||
|
|
2aaf7dd4f7 | ||
|
|
d870bb5123 | ||
|
|
2c063e85a9 | ||
|
|
19e771714b | ||
|
|
3a79b638fa | ||
|
|
5a8703ef55 | ||
|
|
1d431bb927 | ||
|
|
e53fb5e6df | ||
|
|
df8f59c21d | ||
|
|
70a14e827a | ||
|
|
5b70455b4b | ||
|
|
ba128dd024 | ||
|
|
56e22c8a21 | ||
|
|
1cf7480a9e | ||
|
|
72d172b3d9 | ||
|
|
97301ee2d9 | ||
|
|
932289221d | ||
|
|
4bd10955fa | ||
|
|
c105310e71 | ||
|
|
6af6a382ab | ||
|
|
3d245dc784 | ||
|
|
948f478229 | ||
|
|
90eff9f385 | ||
|
|
6f4f979a2d | ||
|
|
78c2ddaaea | ||
|
|
04c212f915 | ||
|
|
61ae8e720a | ||
|
|
f5f0748d91 | ||
|
|
de3eb16662 | ||
|
|
6bfab35e2d | ||
|
|
ac1004e906 | ||
|
|
f6c3d055db | ||
|
|
b5c404572d | ||
|
|
b31c2337b1 | ||
|
|
be8b1b7637 | ||
|
|
e7547e4d06 | ||
|
|
c1d5762afd | ||
|
|
10008aa9af | ||
|
|
c0cf0237fc | ||
|
|
c651c58736 | ||
|
|
c1e75b443c | ||
|
|
3d2310589a | ||
|
|
d461c3ef89 | ||
|
|
d5880ea00e | ||
|
|
cfe83e471a | ||
|
|
d1a88de0dc | ||
|
|
a89beaa189 | ||
|
|
7d5af8e99a | ||
|
|
1be0c249cc | ||
|
|
d743657492 | ||
|
|
b57483c17b | ||
|
|
343b334f14 | ||
|
|
1f343d67b0 | ||
|
|
a99e10ba04 | ||
|
|
37a1461742 | ||
|
|
f8bfcffbef | ||
|
|
566ad93bf0 | ||
|
|
d1cd5e68a1 | ||
|
|
99c5aa0d5a | ||
|
|
5df593c7e7 | ||
|
|
bc1a3fd1af | ||
|
|
413cb22444 | ||
|
|
1371927937 | ||
|
|
732fa3a4d5 | ||
|
|
b91e6d1d6d | ||
|
|
986be79147 | ||
|
|
ade503ebb3 | ||
|
|
8f7a6a7a68 | ||
|
|
f8c3428eb6 | ||
|
|
ef6912212f | ||
|
|
7ed046a8fc | ||
|
|
055da8f17b | ||
|
|
69cf94cb44 | ||
|
|
4b46e44b52 | ||
|
|
4ac0afed6f | ||
|
|
361de02ff1 | ||
|
|
fa313c15cd | ||
|
|
3bca764334 | ||
|
|
f03ab2fe3d | ||
|
|
cec0e27e55 | ||
|
|
4be9549d42 | ||
|
|
ccd6826de4 | ||
|
|
4020ab10a7 | ||
|
|
99a3416652 | ||
|
|
2de374dbe8 | ||
|
|
2a1975d069 | ||
|
|
b9ef23f9dd | ||
|
|
a0c50c4dea | ||
|
|
f66e962b06 | ||
|
|
c2d69b97a6 | ||
|
|
4ab1b0573f | ||
|
|
f59f4243be | ||
|
|
88dd1b711f | ||
|
|
9afbdb2dac | ||
|
|
10ce2d1bd8 | ||
|
|
ef025bd3ac | ||
|
|
9c52e27b9a | ||
|
|
4512d43e42 | ||
|
|
a194b345f8 | ||
|
|
2215e3bd5f | ||
|
|
c27a33ccff | ||
|
|
ccda2827a9 | ||
|
|
95095dbddd | ||
|
|
c9d32fd2c3 | ||
|
|
619223cc90 | ||
|
|
eae46196ed | ||
|
|
e4fc237941 | ||
|
|
defe4a0f8c | ||
|
|
7681af2aaf | ||
|
|
65d96a84e1 | ||
|
|
359ce0e29d | ||
|
|
d8a0f921a4 | ||
|
|
5b1ff83bdd | ||
|
|
2254c8511a | ||
|
|
db1a29a0e3 | ||
|
|
dd015adea7 | ||
|
|
1d2be63a9e | ||
|
|
2bd5aed405 | ||
|
|
c7d141c3d3 | ||
|
|
e5b3fdbb3b | ||
|
|
f6dc419db7 | ||
|
|
36c05f3678 | ||
|
|
0fac075d6c | ||
|
|
fe0b4f7ab0 | ||
|
|
91eb0d1a42 | ||
|
|
cfcfcf05b2 | ||
|
|
1a307df502 | ||
|
|
8127b3da9d | ||
|
|
432ebc879f | ||
|
|
cd401daa37 | ||
|
|
9126bbe2b6 | ||
|
|
5819451c4f | ||
|
|
1eff0b0fd4 | ||
|
|
63624a49f9 | ||
|
|
efeb36f1e6 | ||
|
|
d20263bf35 | ||
|
|
0c414df932 | ||
|
|
107a5e35d6 | ||
|
|
12f9830817 | ||
|
|
aa69f5161c | ||
|
|
3c5c6536c0 | ||
|
|
7af1e4368b | ||
|
|
c00a28aba9 | ||
|
|
aaee12c551 | ||
|
|
7e8fbc10da | ||
|
|
10d879fe11 | ||
|
|
3861f57711 | ||
|
|
b3cb53e998 | ||
|
|
7f4faf44ed | ||
|
|
bbeb521b04 | ||
|
|
29dcffb0e8 | ||
|
|
bbf056a051 | ||
|
|
afe0955072 | ||
|
|
9c099faa10 | ||
|
|
fa6e26fa2e | ||
|
|
a39798499f | ||
|
|
8777cf41fe | ||
|
|
0a4e56c0c4 | ||
|
|
15051b2e42 | ||
|
|
b0341f5596 | ||
|
|
1525f7c0fb | ||
|
|
3ff69825b2 | ||
|
|
cfac3d25e6 | ||
|
|
bf49a3a8d7 | ||
|
|
22f68d61e6 | ||
|
|
70d757bc6f | ||
|
|
13e72a298f | ||
|
|
8f2c87ce33 | ||
|
|
26cd4536cb | ||
|
|
254704fbd5 | ||
|
|
a6e87b94d5 | ||
|
|
cee5ffca3c | ||
|
|
42cad3f974 | ||
|
|
470e95e605 | ||
|
|
98085815f7 | ||
|
|
a9943de261 |
86 changed files with 7907 additions and 3431 deletions
59
.github/ISSUE_TEMPLATE/bug.yaml
vendored
59
.github/ISSUE_TEMPLATE/bug.yaml
vendored
|
|
@ -6,7 +6,7 @@ body:
|
|||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue for this?
|
||||
description: _Please search to see if an issue already exists for the bug you encountered. **I DON\'T MAKE THIS TICK BOX FOR COSMETIC.**_
|
||||
description: Please search to see if an issue already exists for the bug you encountered. **I DIDN\'T MAKE THIS CHECKBOX FOR COSMETICS**
|
||||
options:
|
||||
- label: I have searched the existing issues
|
||||
required: true
|
||||
|
|
@ -14,34 +14,57 @@ body:
|
|||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you read the FAQ?
|
||||
description: _Make sure you actually visit the [**FAQ**](https://github.com/qnblackcat/uYouPlus/wiki/FAQ) page! **I DON\'T MAKE THIS TICK BOX FOR COSMETIC**_
|
||||
description: Make sure you actually visit the [**FAQ**](https://github.com/qnblackcat/uYouPlus/wiki/FAQ) page! **I DIDN\'T MAKE THIS CHECKBOX FOR COSMETICS**
|
||||
options:
|
||||
- label: Yes, I did read the FAQ
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
label: Device info
|
||||
description:
|
||||
value: |
|
||||
- iOS/iPadOS version:
|
||||
- Device model:
|
||||
- Sideload tool (AltStore, Sideloadly, TrollStore,...):
|
||||
- The specific version of uYouPlus (**latest or newest is NOT a version number!**):
|
||||
value: "## Device Info"
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: iOS/iPadOS version
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Device model
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Sideload tool
|
||||
placeholder: AltStore, Sideloadly, TrollStore, ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Tweak version
|
||||
placeholder: uYouEnhanced/uYouPlusExtra/uYouPlus - v18.xx.x-3.0.1
|
||||
description: "**latest or newest is NOT a version number!**"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Description"
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: _Please attach videos or screenshots if possible_
|
||||
description: Please attach videos or screenshots if possible
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce the issue
|
||||
description: _Please attach videos or screenshots if possible_
|
||||
description: Please attach videos or screenshots if possible
|
||||
value: |
|
||||
1.
|
||||
2.
|
||||
|
|
@ -53,14 +76,13 @@ body:
|
|||
id: logs
|
||||
attributes:
|
||||
label: Crash log (if the app crashes)
|
||||
description: _If somehow the app crashes, **you must provide the crash log**. It can be found in your device's Settings App > Privacy > Analytics & Improvements > Analytics Data > Youtube-xxx-xxx.ips_
|
||||
description: If somehow the app crashes, **you must provide the crash log**. It can be found in your device's Settings App > Privacy > Analytics & Improvements > Analytics Data > Youtube-xxx-xxx.ips
|
||||
render: shell
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you using the newest version of uYouPlus? If not, why?
|
||||
description: _Developers spend time and effort to fix bugs & add improvements with every release. Why don't you update to the [latest version](https://github.com/qnblackcat/uYouPlus/releases/latest) before reporting about an issue?_
|
||||
multiple: false
|
||||
description: Developers spend time and effort to fix bugs & add improvements with every release. Why don't you update to the [latest version](https://github.com/qnblackcat/uYouPlus/releases/latest) before reporting about an issue?
|
||||
options:
|
||||
- ✅ Yes, I'm using the latest version of uYouPlus right now
|
||||
- ❌ No, I'll explain at the end of the template
|
||||
|
|
@ -70,8 +92,7 @@ body:
|
|||
- type: dropdown
|
||||
attributes:
|
||||
label: Does the issue happen with the official YouTube from AppStore?
|
||||
description: _Well, YouTube itself is buggy sometimes..._
|
||||
multiple: false
|
||||
description: Well, YouTube itself is buggy sometimes...
|
||||
options:
|
||||
- ❌ No, I can't reproduce this issue in the official YouTube from AppStore
|
||||
- ✅ Yes, I can reproduce this issue in the official YouTube from AppStore
|
||||
|
|
@ -81,6 +102,6 @@ body:
|
|||
- type: textarea
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: _Um, anything else you want to say?_
|
||||
description: Um, anything else you want to say?
|
||||
validations:
|
||||
required: false
|
||||
|
|
|
|||
71
.github/workflows/buildapp.yml
vendored
71
.github/workflows/buildapp.yml
vendored
|
|
@ -1,11 +1,21 @@
|
|||
# Original idea by @ISnackable. Thanks to him for handling the hardest parts!
|
||||
# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml
|
||||
# https://github.com/ISnackable/YTCubePlus/blob/main/.github/workflows/Build.yml
|
||||
|
||||
name: Build and Release uYouPlus
|
||||
name: Build and Release uYouEnhanced
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
sdk_version:
|
||||
description: "iOS SDK version to be used during build"
|
||||
default: "16.2"
|
||||
required: true
|
||||
type: string
|
||||
youtube_version:
|
||||
description: "The version of YouTube"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
uyou_version:
|
||||
description: "The version of uYou"
|
||||
default: "3.0.1"
|
||||
|
|
@ -16,11 +26,6 @@ on:
|
|||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
youtube_version:
|
||||
description: "The version of YouTube"
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
bundle_id:
|
||||
description: "Modify the bundle ID. Not recommended"
|
||||
default: "com.google.ios.youtube"
|
||||
|
|
@ -36,6 +41,11 @@ on:
|
|||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
upload_artifact:
|
||||
description: "Upload Artifact"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
|
|
@ -43,51 +53,55 @@ concurrency:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouPlus
|
||||
runs-on: macos-11
|
||||
name: Build uYouEnhanced
|
||||
runs-on: macos-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Install Dependencies
|
||||
run: brew install curl dpkg jq ldid make node svn wget xz
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
path: main
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
- name: Set PATH environment variable
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: Caching
|
||||
- name: SDK Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v3.2.0
|
||||
uses: actions/cache@v4.0.0
|
||||
env:
|
||||
cache-name: iOS-15.5-SDK
|
||||
cache-name: iOS-${{ inputs.sdk_version }}-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS 15.5 SDK
|
||||
restore-keys: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
svn checkout -q https://github.com/chrisharper22/sdks/trunk/iPhoneOS15.5.sdk
|
||||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/arichorn/sdks/
|
||||
cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
|
|
@ -115,8 +129,8 @@ jobs:
|
|||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
make package IPA=YouTube.ipa FINALPACKAGE=1
|
||||
(mv "packages/$(ls -t packages | head -n1)" "packages/uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa")
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=YouTube.ipa FINALPACKAGE=1
|
||||
(mv "packages/$(ls -t packages | head -n1)" "packages/uYouEnhanced_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa")
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m"
|
||||
echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m"
|
||||
|
|
@ -129,12 +143,13 @@ jobs:
|
|||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3.1.1
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v4.3.0
|
||||
env:
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||
with:
|
||||
name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
|
||||
name: uYouEnhanced_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
if-no-files-found: error
|
||||
|
||||
|
|
|
|||
59
.github/workflows/delete-workflow-runs.yml
vendored
Normal file
59
.github/workflows/delete-workflow-runs.yml
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
name: Delete Workflow Runs
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
days:
|
||||
description: 'Number of days.'
|
||||
required: true
|
||||
default: 0
|
||||
minimum_runs:
|
||||
description: 'The minimum runs to keep for each workflow.'
|
||||
required: true
|
||||
default: 0
|
||||
delete_workflow_pattern:
|
||||
description: 'The name or filename of the workflow. if not set then it will target all workflows.'
|
||||
required: false
|
||||
delete_workflow_by_state_pattern:
|
||||
description: 'Remove workflow by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
|
||||
required: true
|
||||
default: "All"
|
||||
type: choice
|
||||
options:
|
||||
- "All"
|
||||
- active
|
||||
- deleted
|
||||
- disabled_inactivity
|
||||
- disabled_manually
|
||||
delete_run_by_conclusion_pattern:
|
||||
description: 'Remove workflow by conclusion: action_required, cancelled, failure, skipped, success'
|
||||
required: true
|
||||
default: "All"
|
||||
type: choice
|
||||
options:
|
||||
- "All"
|
||||
- action_required
|
||||
- cancelled
|
||||
- failure
|
||||
- skipped
|
||||
- success
|
||||
dry_run:
|
||||
description: 'Only log actions, do not perform any delete operations.'
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
del_runs:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: write
|
||||
steps:
|
||||
- name: Delete workflow runs
|
||||
uses: Mattraks/delete-workflow-runs@v2
|
||||
with:
|
||||
token: ${{ github.token }}
|
||||
repository: ${{ github.repository }}
|
||||
retain_days: ${{ github.event.inputs.days }}
|
||||
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
|
||||
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
|
||||
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
|
||||
delete_run_by_conclusion_pattern: ${{ github.event.inputs.delete_run_by_conclusion_pattern }}
|
||||
dry_run: ${{ github.event.inputs.dry_run }}
|
||||
87
.github/workflows/update-submodules.yml
vendored
87
.github/workflows/update-submodules.yml
vendored
|
|
@ -1,43 +1,62 @@
|
|||
---
|
||||
name: Update submodules!
|
||||
name: Update Submodules
|
||||
|
||||
#############################
|
||||
# Start the job on all push #
|
||||
#############################
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 */7 * *"
|
||||
workflow_dispatch:
|
||||
|
||||
###############
|
||||
# Set the Job #
|
||||
###############
|
||||
jobs:
|
||||
build:
|
||||
name: Update submodules
|
||||
update-submodules:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PARENT_REPOSITORY: 'qnblackcat/uYouPlus'
|
||||
CHECKOUT_BRANCH: 'main'
|
||||
PR_AGAINST_BRANCH: 'main'
|
||||
OWNER: 'qnblackcat'
|
||||
|
||||
steps:
|
||||
##########################
|
||||
# Checkout the code base #
|
||||
##########################
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4.1.1
|
||||
|
||||
####################################
|
||||
# Run the action against code base #
|
||||
####################################
|
||||
- name: run action
|
||||
id: run_action
|
||||
uses: qnblackcat/github-action-create-pr-parent-submodule@main
|
||||
with:
|
||||
github_token: ${{ secrets.RELEASE_HUB_SECRET }}
|
||||
parent_repository: ${{ env.PARENT_REPOSITORY }}
|
||||
checkout_branch: ${{ env.CHECKOUT_BRANCH }}
|
||||
pr_against_branch: ${{ env.PR_AGAINST_BRANCH }}
|
||||
owner: ${{ env.OWNER }}
|
||||
- name: Set up Git
|
||||
run: |
|
||||
git config --global user.email "actions@github.com"
|
||||
git config --global user.name "GitHub Actions"
|
||||
|
||||
- name: Update submodules
|
||||
run: |
|
||||
git submodule update --init --recursive --remote Tweaks/Alderis
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/DontEatMyContent
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTHoldForSpeed
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/MrBeastify
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/PSHeader
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/Return-YouTube-Dislikes
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/uYouLocalization
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTABConfig
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTUHD
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTVideoOverlay
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouMute
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouPiP
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouQuality
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouTubeHeader
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/iSponsorBlock
|
||||
git add .
|
||||
git submodule update --init --recursive
|
||||
git commit -m "updated submodules"
|
||||
git push
|
||||
continue-on-error: true
|
||||
|
||||
- name: Check exit code
|
||||
run: |
|
||||
exit_code=$?
|
||||
if [ $exit_code -ne 0 ]; then
|
||||
echo "Submodule update failed with exit code $exit_code"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -4,4 +4,5 @@ packages/
|
|||
tmp/
|
||||
Tweaks/uYou/*
|
||||
!Tweaks/uYou/.gitkeep
|
||||
Resources/
|
||||
Resources/
|
||||
*.ipa
|
||||
|
|
|
|||
32
.gitmodules
vendored
32
.gitmodules
vendored
|
|
@ -1,27 +1,27 @@
|
|||
[submodule "Tweaks/YTUHD"]
|
||||
path = Tweaks/YTUHD
|
||||
url = https://github.com/PoomSmart/YTUHD.git
|
||||
url = https://github.com/arichorn/YTUHD.git
|
||||
branch = master
|
||||
[submodule "Tweaks/YouPiP"]
|
||||
path = Tweaks/YouPiP
|
||||
url = https://github.com/PoomSmart/YouPiP.git
|
||||
url = https://github.com/arichorn/YouPiP.git
|
||||
branch = main
|
||||
[submodule "Tweaks/YouMute"]
|
||||
path = Tweaks/YouMute
|
||||
url = https://github.com/PoomSmart/YouMute.git
|
||||
url = https://github.com/arichornlover/YouMute.git
|
||||
branch = main
|
||||
[submodule "Tweaks/YouQuality"]
|
||||
path = Tweaks/YouQuality
|
||||
url = https://github.com/PoomSmart/YouQuality.git
|
||||
url = https://github.com/arichorn/YouQuality.git
|
||||
branch = main
|
||||
[submodule "Tweaks/YTVideoOverlay"]
|
||||
path = Tweaks/YTVideoOverlay
|
||||
url = https://github.com/PoomSmart/YTVideoOverlay.git
|
||||
url = https://github.com/arichorn/YTVideoOverlay.git
|
||||
branch = main
|
||||
[submodule "Tweaks/Return-YouTube-Dislikes"]
|
||||
path = Tweaks/Return-YouTube-Dislikes
|
||||
url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git
|
||||
branch = main
|
||||
url = https://github.com/arichorn/Return-YouTube-Dislikes.git
|
||||
branch = uYouEnhanced
|
||||
[submodule "Tweaks/YouTubeHeader"]
|
||||
path = Tweaks/YouTubeHeader
|
||||
url = https://github.com/PoomSmart/YouTubeHeader.git
|
||||
|
|
@ -36,11 +36,8 @@
|
|||
branch = main
|
||||
[submodule "Tweaks/YTABConfig"]
|
||||
path = Tweaks/YTABConfig
|
||||
url = https://github.com/PoomSmart/YTABConfig.git
|
||||
url = https://github.com/arichornlover/YTABConfig.git
|
||||
branch = main
|
||||
[submodule "Tweaks/FLEXing"]
|
||||
path = Tweaks/FLEXing
|
||||
url = https://github.com/NSExceptional/FLEXing
|
||||
[submodule "Tweaks/Alderis"]
|
||||
path = Tweaks/Alderis
|
||||
url = https://github.com/hbang/Alderis.git
|
||||
|
|
@ -54,3 +51,16 @@
|
|||
path = Tweaks/iSponsorBlock
|
||||
url = https://github.com/Galactic-Dev/iSponsorBlock.git
|
||||
branch = master
|
||||
[submodule "Tweaks/MrBeastify"]
|
||||
path = Tweaks/MrBeastify
|
||||
url = https://github.com/arichornlover/MrBeastify.git
|
||||
branch = main
|
||||
[submodule "Tweaks/FLEXing"]
|
||||
path = Tweaks/FLEXing
|
||||
url = https://github.com/PoomSmart/FLEXing
|
||||
[submodule "Tweaks/YTHoldForSpeed"]
|
||||
path = Tweaks/YTHoldForSpeed
|
||||
url = https://github.com/arichornlover/YTHoldForSpeed.git
|
||||
[submodule "Tweaks/uYouLocalization"]
|
||||
path = Tweaks/uYouLocalization
|
||||
url = https://github.com/dayanch96/uYouLocalization.git
|
||||
|
|
|
|||
1
Bundles/MrBeastify.bundle
Symbolic link
1
Bundles/MrBeastify.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/MrBeastify/layout/Library/Application Support/MrBeastify.bundle
|
||||
1
Bundles/YTHoldForSpeed.bundle
Symbolic link
1
Bundles/YTHoldForSpeed.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/YTHoldForSpeed/layout/Library/Application Support/YTHoldForSpeed.bundle
|
||||
1
Bundles/YTNoCommunityPosts.bundle
Symbolic link
1
Bundles/YTNoCommunityPosts.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/YTNoCommunityPosts/layout/Library/Application Support/YTNoCommunityPosts.bundle
|
||||
1
Bundles/YTVideoOverlay.bundle
Symbolic link
1
Bundles/YTVideoOverlay.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/YTVideoOverlay/layout/Library/Application Support/YTVideoOverlay.bundle
|
||||
1
Bundles/YouMute.bundle
Symbolic link
1
Bundles/YouMute.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/YouMute/layout/Library/Application Support/YouMute.bundle
|
||||
1
Bundles/YouQuality.bundle
Symbolic link
1
Bundles/YouQuality.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/YouQuality/layout/Library/Application Support/YouQuality.bundle
|
||||
1
Bundles/uYouLocalization.bundle
Symbolic link
1
Bundles/uYouLocalization.bundle
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../Tweaks/uYouLocalization/layout/Library/Application Support/uYouLocalization.bundle
|
||||
|
|
@ -1 +1 @@
|
|||
../lang/uYouPlus.bundle
|
||||
../Localizations/uYouPlus.bundle
|
||||
|
|
|
|||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "إصدار uYouPlus: %@";
|
||||
"VERSION_CHECK" = "المس هنا للبحث عن التحديثات!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "خيارات مشغِّل الفيديو";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "كامل الشاشة تلقائياً (أداة YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "تشغيل الفيديوهات تلقائياً بكامل الشاشة.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "خيارات سِمة التطبيق";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "تلقائي";
|
||||
"DEFAULT_THEME_DESC" = "الوضع المظلم التلقائي ليوتيوب. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"OLD_DARK_THEME" = "الوضع المظلم القديم";
|
||||
"OLD_DARK_THEME_DESC" = "الوضع المظلم القديم ليوتيوب (ألوان رمادية). تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"OLED_DARK_THEME" = "وضع داكن OLED (ميزة تجريبية)";
|
||||
"OLED_DARK_THEME_2" = "وضع داكن OLED";
|
||||
"OLED_DARK_THEME_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||
|
||||
"OLED_KEYBOARD" = "لوحة مفاتيح داكنة OLED (ميزة تجريبية)";
|
||||
"OLED_KEYBOARD_DESC" = "قد لا تعمل بشكل صحيح في بعض الحالات. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ خيارات مشغِّل الفيديو";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "منع خاصية النقر مرتين للتقدم أو التراجع";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "إظهار مؤشر تغيير الصوت الرسمي الخاص بـ iOS بدلاً من مؤشر يوتيوب";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "أزرار التحكم على الطبقة فوق الفيديو";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 أزرار التحكم على الطبقة فوق الفيديو";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "إخفاء زر التشغيل التلقائي";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "إخفاء زر التشغيل التلقائي من أزرار التحكم على الفيديو.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "تقدم وتراجع بدلاً من السابق والتالي";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "استبدال زرّي المقطع السابق والمقطع التالي بزرّي تقدم وتراجع. يتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "شريط تقدّم أحمر";
|
||||
"RED_PROGRESS_BAR_DESC" = "إعادة اللون الأحمر لشريط التقدم. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "إخفاء صور المقاطع الأخرى في نهاية المقاطع (أداة YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "إخفاء الصور المصغرة الظاهرة على مشغل الفيديو في نهاية المقطع.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "إخفاء القائمة اليمنى التي تظهر في وضع ملء الشاشة";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "شريط تقدّم أحمر";
|
||||
"RED_PROGRESS_BAR_DESC" = "إعادة اللون الأحمر لشريط التقدم. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "منع النوتش/الجزيرة التفاعلية على مقاطع 2:1 (أداة DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "منع النوتش/الجزيرة التفاعلية من قص المقاطع التي تكون نسبة العرض إلى الارتفاع فيها تساوي 2:1. يتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "خيارات طبقة التحكم بمقاطع Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "إخفاء الصورة الرمزية لقناة المقطع القصير";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "إخفاء الصورة الرمزية لقنوات مقاطع Shorts.";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "إخفاء زر عدم الإعجاب في المقاطع القصيرة";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "إخفاء زر عدم الإعجاب لمقاطع Shorts.";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "إخفاء زر التعليقات في المقاطع القصيرة";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "إخفاء زر التعليقات لمقاطع Shorts.";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "إخفاء زر المزج في المقاطع القصيرة";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "إخفاء زر remix لمقاطع Shorts.";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "إخفاء زر المشاركة للمقاطع القصيرة";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "إخفاء زر المشاركة لمقاطع Shorts.";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "إخفاء أزرار uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "إخفاء أزرار التحميل الخاصة بـuYou من مقاطع Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "إخفاء زر الاشتراك";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "إخفاء زر الاشتراك، والذي يظهر عند إيقاف الفيديو مؤقتاً.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 خيارات طبقة التحكم بمقاطع Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "إخفاء عبارة 'شراء سوبر شكراً' في المقاطع القصيرة";
|
||||
"HIDE_SUPER_THANKS_DESC" = "إخفاء لافتة 'Buy Super Thanks' من مقاطع Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "إخفاء زر الاشتراك";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "إخفاء زر الاشتراك، والذي يظهر عند إيقاف الفيديو مؤقتاً.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "منع استئناف المشاهدة في المقاطع القصيرة";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "إذا أغلقت تطبيق يوتيوب أثناء مشاهدة مقطع Shorts, لن يتم استئناف الشماهدة في المرة القادمة التي تفتح فيها التطبيق.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "خيارات سِمة التطبيق";
|
||||
|
||||
"OLED_DARK_THEME" = "وضع داكن OLED (ميزة تجريبية)";
|
||||
"OLED_DARK_THEME_2" = "وضع داكن OLED";
|
||||
"OLED_DARK_THEME_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||
|
||||
"OLD_DARK_THEME" = "الوضع المظلم القديم";
|
||||
"OLD_DARK_THEME_DESC" = "الوضع المظلم القديم ليوتيوب (ألوان رمادية). تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"DEFAULT_THEME" = "تلقائي";
|
||||
"DEFAULT_THEME_DESC" = "الوضع المظلم التلقائي ليوتيوب. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"OLED_KEYBOARD" = "لوحة مفاتيح داكنة OLED (ميزة تجريبية)";
|
||||
"OLED_KEYBOARD_DESC" = "قد لا تعمل بشكل صحيح في بعض الحالات. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "خيارات متنوعة";
|
||||
"MISCELLANEOUS" = "🔎 خيارات متنوعة";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "التأكيد قبل البث (أداة YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "إظهار تنبيه للتأكيد قبل البث، من أجل منع البث للتلفاز عن طريق الخطأ.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "منع التلميحات";
|
||||
"DISABLE_HINTS_DESC" = "منع تلميحات مزايا التطبيق، والتي تظهر عادة عند تثبيت التطبيق حديثاً.";
|
||||
|
||||
"ENABLE_FLEX" = "تفعيل FLEX";
|
||||
"ENABLE_FLEX_DESC" = "تفعيل FLEX للمطورين (لا ينصح به). اترك هذا الخيار مغلقاً إلا إذا كنت تعرف ما تفعل.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "تفعيل شعار يوتيوب المتحرك عند بدء تشغيل التطبيق";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "إصلاح تسجيل الدخول بحساب جوجل (لمستخدمي TrollStore فقط)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "هذا الخيار لا يعمل إلا إذا كان التطبيق مثبت بواسطة TrollStore: فعل هذا الخيار لتتمكن من تسجيل الدخول بحساب جوجل. يتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "إخفاء الشريط العلوي";
|
||||
"HIDE_CHIP_BAR_DESC" = "إخفاء الشريط العلوي من تبويب الصفحة الرئيسية (موسيقى، ألعاب فيديو، تشكيلات ...) ومن تبويب الاشتراكات (كل الفيديوهات، متابعة المشاهدة,...). تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "إخفاء \"تشغيل المقطع التالي من قائمة الانتظار\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "إخفاء خيار \"تشغيل التالي من قائمة الانتظار\" من قائمة السياق في حسابات يوتيوب المدفوعة";
|
||||
|
||||
"IPHONE_LAYOUT" = "واجهة الآيفون";
|
||||
"IPHONE_LAYOUT_DESC" = "فعل الخيار لتفعيل واجهة الآيفون. يتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "تغيير شكل المشغّل المصغر (أداة BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "تغيير شكل المشغّل المصغر في الآيفون إلى نفس شكله في الآيباد - تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
|
||||
"YT_RE_EXPLORE" = "استبدال تبويب Shorts بتبويب Explore (أداة YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = " تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
|
||||
"IPHONE_LAYOUT" = "واجهة الآيفون";
|
||||
"IPHONE_LAYOUT_DESC" = "فعل الخيار لتفعيل واجهة الآيفون. يتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
"ENABLE_FLEX" = "تفعيل FLEX";
|
||||
"ENABLE_FLEX_DESC" = "تفعيل FLEX للمطورين (لا ينصح به). اترك هذا الخيار مغلقاً إلا إذا كنت تعرف ما تفعل.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "إصلاح تسجيل الدخول بحساب جوجل (لمستخدمي TrollStore فقط)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "هذا الخيار لا يعمل إلا إذا كان التطبيق مثبت بواسطة TrollStore: فعل هذا الخيار لتتمكن من تسجيل الدخول بحساب جوجل. يتطلب إعادة تشغيل التطبيق.";
|
||||
|
|
@ -1,30 +1,58 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "Tmavý OLED režim (Experimentální)";
|
||||
"OLED_DARK_THEME_2" = "Tmavý OLED režim (Experimentální)";
|
||||
"OLED_DARK_THEME_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Klávesnice (Experimentální)";
|
||||
"OLED_KEYBOARD_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Přes celou obrazovku (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automaticky spouští videa přes celou obrazovku.";
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking in videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
||||
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Controls Overlay Options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Skrýt přepínač automatického přehrávání";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Skryje přepínač automatického přehrávání v překrytí ovládání videa.";
|
||||
|
|
@ -35,11 +63,11 @@
|
|||
"HIDE_HUD_MESSAGES" = "Skrýt vyskakující zprávy";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Příklad: Titulky zapnuty/vypnuty, Smyčka videa zapnuta,...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide paid promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Skrýt tlačítka předchozí a následující";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Skryje tlačítka předchozí a následující v překrytí ovládání videa.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Nahradit předchozí a další tlačítko";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Nahradit předchozí a následující tlačítko tlačítkem Přetočit vpřed a vzad. Je vyžadován restart aplikace.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Skrýt karty na konci videa (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Skryje náhledy jiných videjí na konci videa.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Zabránit zářezu/ostrovu na videoobsahu 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Zabraňte tomu, aby zářez/Dynamic Island žvýkal video obsah 2:1 na YouTube. Je vyžadován restart aplikace.";
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "Tmavý OLED režim (Experimentální)";
|
||||
"OLED_DARK_THEME_2" = "Tmavý OLED režim (Experimentální)";
|
||||
"OLED_DARK_THEME_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Klávesnice (Experimentální)";
|
||||
"OLED_KEYBOARD_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Zobrazit potvrzení před začátkem sdílení obrazu (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Zobrazí potvrzení aby se zamezilo nechtěnému sdílení do televize.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "Zrušit";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Opravit přihlášení přes Google (pouze pro uživatele TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Tuto možnost zapněte pouze v případě, že se nemůžete přihlásit pomocí svého účtu Google a aplikace byla nainstalována prostřednictvím TrollStore. Pokud se můžete normálně přihlásit, ponechte ji deaktivovanou. Je vyžadován restart aplikace.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nový styl minipřehrávače (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Je potřeba restart aplikace.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "Nahradit záložku Shorts tab záložkou Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Je potřeba restart aplikace.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Opravit přihlášení přes Google (pouze pro uživatele TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Tuto možnost zapněte pouze v případě, že se nemůžete přihlásit pomocí svého účtu Google a aplikace byla nainstalována prostřednictvím TrollStore. Pokud se můžete normálně přihlásit, ponechte ji deaktivovanou. Je vyžadován restart aplikace.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "uYouPlus-Version: %@";
|
||||
"VERSION_CHECK" = "Tippen, um nach Updates zu suchen!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video-Player-Optionen";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Automatischer Vollbildmodus (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automatisch Videos im Vollbildmodus starten.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Optionen";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Standard";
|
||||
"DEFAULT_THEME_DESC" = "Standardmäßig dunklerer Modus von YouTube. App-Neustart erforderlich.";
|
||||
|
||||
"OLD_DARK_THEME" = "Alter dunkler Modus";
|
||||
"OLD_DARK_THEME_DESC" = "Alter dunkler Modus von YouTube (grauer Modus). App-Neustart erforderlich.";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED-Dunkelmodus (Experimentell)";
|
||||
"OLED_DARK_THEME_2" = "OLED-Dunkelmodus";
|
||||
"OLED_DARK_THEME_DESC" = "Echter dunkler Modus. Könnte in einigen Fällen nicht richtig funktionieren. App-Neustart erforderlich nachdem Sie diese Option aktiviert/deaktiviert haben.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED-Tastatur (Experimentell)";
|
||||
"OLED_KEYBOARD_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart erforderlich!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video-Player-Optionen";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Doppeltippen zum Suchen deaktivieren";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Optionen";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Controls Overlay Optionen";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Autoplay-Schalter ausblenden";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Autoplay-Schalter vom Videoplayer ausblenden.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Vor- und Zurücktasten ersetzen";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Tasten zum Vor- und Zurückspringen zwischen Videos durch Vor- und Zurückspultasten ersetzen. App-Neustart erforderlich!";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Roter Fortschrittsbalken";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bringen Sie den roten Fortschrittsbalken zurück. App-Neustart erforderlich.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Endkarten ausblenden (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Creator-Endkarten (Thumbnails) am Ende des Videos ausblenden.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Ausblenden des rechten Bedienfelds im Vollbildmodus";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App-Neustart erforderlich.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Roter Fortschrittsbalken";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bringen Sie den roten Fortschrittsbalken zurück. App-Neustart erforderlich.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Kerbe/dynamische Insel bei 2:1-Videoinhalten berücksichtigen (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Verhindert, dass die Notch/Dynamic Island 2:1-Videoinhalte überdeckt. App-Neustart erforderlich!";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay-Optionen";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "\"Avatar\" des Short-Kanals ausblenden";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Shorts-Schaltfläche \"Dislike\" ausblenden";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Shorts Schaltfläche \"Kommentare\" ausblenden";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Shorts-Schaltfläche \"Remix\" ausblenden";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Shorts-Schaltfläche \"Teilen\" ausblenden";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "uYou Schaltflächen ausblenden";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Die Download-Schaltflächen von uYou bei Shorts ausblenden.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Schaltfläche \"Abos\" ausblenden";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Ausblenden der Schaltfläche \"Abos\", die beim Anhalten angezeigt wird.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Controls Overlay-Optionen";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "'Buy Super Thanks'-Banner ausblenden";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ausblenden des \"Buy Super Thanks\"-Banners in bestimmten Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Schaltfläche \"Abos\" ausblenden";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Ausblenden der Schaltfläche \"Abos\", die beim Anhalten angezeigt wird.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Fortsetzen nach Shorts deaktivieren";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Wenn Sie YouTube beenden, während Sie Shorts ansehen, werden Shorts beim nächsten Start von YouTube nicht automatisch abgespielt.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Optionen";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED-Dunkelmodus (Experimentell)";
|
||||
"OLED_DARK_THEME_2" = "OLED-Dunkelmodus";
|
||||
"OLED_DARK_THEME_DESC" = "Echter dunkler Modus. Könnte in einigen Fällen nicht richtig funktionieren. App-Neustart erforderlich nachdem Sie diese Option aktiviert/deaktiviert haben.";
|
||||
|
||||
"OLD_DARK_THEME" = "Alter dunkler Modus";
|
||||
"OLD_DARK_THEME_DESC" = "Alter dunkler Modus von YouTube (grauer Modus). App-Neustart erforderlich.";
|
||||
|
||||
"DEFAULT_THEME" = "Standard";
|
||||
"DEFAULT_THEME_DESC" = "Standardmäßig dunklerer Modus von YouTube. App-Neustart erforderlich.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED-Tastatur (Experimentell)";
|
||||
"OLED_KEYBOARD_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart erforderlich!";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Sonstiges";
|
||||
"MISCELLANEOUS" = "🔎 Sonstiges";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Warnung vor TV-Übertragungen (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Zeigt eine Warnung an, um eine ausversehene TV-Übertragung zu verhindern.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Deaktiviere Hinweise";
|
||||
"DISABLE_HINTS_DESC" = "Deaktiviere Hinweise von YouTube, welche normalerweise erscheinen, sobald die App neu installiert wurde.";
|
||||
|
||||
"ENABLE_FLEX" = "Aktiviere FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Aktiviere FLEX für debugging (nicht empfohlen). Deaktiviert lassen, es sei denn, Sie wissen, was Sie tuen.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Aktivieren der YouTube-Startanimation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Google-Anmeldung reparieren (nur für TrollStore-Benutzer!)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Aktiviere diese Option nur, wenn Sie sich nicht mit Ihrem Google-Account anmelden können und die App über TrollStore installiert wurde. Wenn Sie sich normal anmelden können, halte diese Option deaktiviert! App-Neustart erforderlich!";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Obere Leiste ausblenden";
|
||||
"HIDE_CHIP_BAR_DESC" = "Obere Leiste in den Home-Feeds (Trends, Musik, Spiele...) und Abo-Feeds (Alle Videos, Weiterschauen...) ausblenden. App-Neustart erforderlich.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Umschalten, um das iPhone-Layout zu verwenden. App-Neustart erforderlich.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Neuer Miniplayer Style (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "App-Neustart erforderlich!";
|
||||
|
||||
"YT_RE_EXPLORE" = "Shorts-Tab durch Entdecken-Tab ersetzen (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "App-Neustart erforderlich!";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Umschalten, um das iPhone-Layout zu verwenden. App-Neustart erforderlich.";
|
||||
"ENABLE_FLEX" = "Aktiviere FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Aktiviere FLEX für debugging (nicht empfohlen). Deaktiviert lassen, es sei denn, Sie wissen, was Sie tuen.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Google-Anmeldung reparieren (nur für TrollStore-Benutzer!)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Aktiviere diese Option nur, wenn Sie sich nicht mit Ihrem Google-Account anmelden können und die App über TrollStore installiert wurde. Wenn Sie sich normal anmelden können, halte diese Option deaktiviert! App-Neustart erforderlich!";
|
||||
|
|
@ -1,30 +1,58 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Μαύρο θέμα (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED Μαύρο θέμα";
|
||||
"OLED_DARK_THEME_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής αφού το ενεργοποιήσετε/απενεργοποιήσετε.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED πληκτρολόγιο (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Αυτόματη αναπαραγωγή σε πλήρη οθόνη (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Αυτόματη αναπαραγωγή των βίντεο σε πλήρη οθόνη.";
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking in videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Ενεργοποιήστε το miniplayer για όλα τα βίντεο του YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Τα παιδικά βίντεο για παράδειγμα.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής κατά την αναπαραγωγή βίντεο";
|
||||
|
|
@ -35,11 +63,11 @@
|
|||
"HIDE_HUD_MESSAGES" = "Κρύψτε τα μηνύματα του HUD";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Παράδειγμα: Οι Υπότιτλοι απενεργοποιήθηκαν/ενεργοποιήθηκαν...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide paid promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Κρύψτε το προηγούμενο και το επόμενο κουμπί";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Κρύψτε το προηγούμενο και το επόμενο κουμπί κατά την αναπαραγωγή βίντεο.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Αντικατάσταση του Προηγούμενου και του Επόμενου Κουμπιού";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Αντικατάσταση του Προηγούμενου και του Επόμενου κουμπιού με το κουμπί Γρήγορη κίνηση προς τα εμπρός και προς τα πίσω. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Κρύψτε τις τελικές καρτέλες (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Κρύψτε τις τελικές καρτέλες από τους δημιουργούς (thumbnails) στο τέλος των βίντεο.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Αποτροπή Notch/Island σε περιεχόμενο βίντεο 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Αποτρέψτε το notch/Dynamic Island από το να μασουλάει περιεχόμενο βίντεο 2:1 στο YouTube. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Controls Overlay Options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Μαύρο θέμα (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED Μαύρο θέμα";
|
||||
"OLED_DARK_THEME_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής αφού το ενεργοποιήσετε/απενεργοποιήσετε.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED πληκτρολόγιο (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock";
|
||||
|
||||
"CAST_CONFIRM" = "Επιβεβαιωτικό μήνυμα πριν γίνει Cast(YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Να φανεί ένα επιβεβαιωτικό μήνυμα πριν γίνει cast για να αποτρεπτεί η καταλάθως σύνδεση στην τηλεόραση.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "Ακύρωση";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Διόρθωση σύνδεσης Google (μόνο για χρήστες του TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Ενεργοποιήστε αυτήν την επιλογή μόνο όταν δεν μπορείτε να συνδεθείτε με τον λογαριασμό σας Google και η εφαρμογή έχει εγκατασταθεί μέσω του TrollStore. Εάν μπορείτε να συνδεθείτε κανονικά, διατηρήστε την απενεργοποιημένη. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Καινούργιο miniplayer θέμα στην μπάρα (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "Αντικατάσταση της καρτέλας Shorts με την καρτέλα Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Διόρθωση σύνδεσης Google (μόνο για χρήστες του TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Ενεργοποιήστε αυτήν την επιλογή μόνο όταν δεν μπορείτε να συνδεθείτε με τον λογαριασμό σας Google και η εφαρμογή έχει εγκατασταθεί μέσω του TrollStore. Εάν μπορείτε να συνδεθείτε κανονικά, διατηρήστε την απενεργοποιημένη. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
137
Localizations/uYouPlus.bundle/en.lproj/Localizable.strings
Normal file
137
Localizations/uYouPlus.bundle/en.lproj/Localizable.strings
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED (experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Pure-black dark theme";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED keyboard (experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Hide subtitles button";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Hide HUD messages";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide paid promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide previous and next buttons";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Use fast forward and rewind buttons";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Replaces previous and next buttons with fast forward and rewind";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "YTNoHoverCards";
|
||||
"HIDE_HOVER_CARD_DESC" = "Hides videos' end screens";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||
"CASTING" = "Casting";
|
||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||
"MSG_YES" = "Yes";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "BigYTMiniPlayer";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "New mini player bar style";
|
||||
|
||||
"YT_RE_EXPLORE" = "YTReExplore";
|
||||
"YT_RE_EXPLORE_DESC" = "Replaces the Shorts tab with the Explore tab";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Google Sign in (for TrollStore user only)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Only turn on this option when you can't sign in with your Google account and the app was installed via TrollStore. If you can log in normally, keep it disabled. App restart is required.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
"VERSION" = "Versión uYouPlus's: %@";
|
||||
// About
|
||||
"ABOUT" = "Acerca de";
|
||||
|
||||
"VERSION" = "Versión";
|
||||
"VERSION_CHECK" = "Pulse para comprobar si hay actualizaciones.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opciones del reproductor de vídeo";
|
||||
"REPORT_AN_ISSUE" = "Informar de un problema";
|
||||
"ADD_TITLE" = "Añada aquí su título...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Pantalla completa automática (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Reproducir vídeos en pantalla completa automáticamente.";
|
||||
"QUIT_YOUTUBE" = "Salir de Youtube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Reinicia YouTube para aplicar los cambios";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 Aspecto de la aplicación";
|
||||
"THEME_OPTIONS" = "Opciones de Temas";
|
||||
|
||||
"DARK_THEME" = "Tema oscuro";
|
||||
|
||||
"DEFAULT_THEME" = "Por defecto";
|
||||
"DEFAULT_THEME_DESC" = "Tema oscuro predeterminado de YouTube. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"OLD_DARK_THEME" = "Tema oscuro antiguo";
|
||||
"OLD_DARK_THEME_DESC" = "Antiguo tema oscuro de YouTube (tema gris). Es necesario reiniciar la aplicación.";
|
||||
|
||||
"OLED_DARK_THEME" = "Modo oscuro OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Modo oscuro OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app después de activar/desactivar esta opción.";
|
||||
|
||||
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opciones del reproductor de vídeo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Activar el deslizamiento para buscar";
|
||||
"SLIDE_TO_SEEK_DESC" = "Traer de vuelta la diapositiva para buscar el gesto.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Desactivar la doble pulsación para buscar";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -20,11 +48,11 @@
|
|||
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Utiliza el HUD de volumen de iOS";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opciones de superposición de controles de vídeo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opciones de superposición de controles de vídeo";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ocultar interruptor de Reproducir automáticamente";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ocultar el interruptor de Reproducir automáticamente en los botones superpuestos.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Reemplazar botón anterior y siguiente";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Reemplace el botón Anterior y Siguiente con el botón Avance rápido y Rebobinado. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra de progreso roja";
|
||||
"RED_PROGRESS_BAR_DESC" = "Recupera la barra de progreso roja. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ocultar tarjetas flotantes en las pantallas finales (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ocultar tarjetas flotantes del creador (miniaturas) al final de los vídeos.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Ocultar el panel derecho en modo pantalla completa";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Es necesario reiniciar la aplicación.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra de progreso roja";
|
||||
"RED_PROGRESS_BAR_DESC" = "Recupera la barra de progreso roja. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Evitar Notch/Island en contenido de video 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Evite que la muesca/Dynamic Island se trague contenido de video 2:1 en YouTube. Es necesario reiniciar la aplicación.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Configurar superposición de Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Ocultar el avatar del canal Shorts";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Ocultar el botón 'No me gusta' de Shorts";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Ocultar el botón de comentario de Shorts";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Ocultar botón Remix de Shorts";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Ocultar el botón de compartir Shorts";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Ocultar botones de uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Ocultar los botones de descarga de uYou en Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Configurar superposición de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ocultar banner 'Comprar Supergracias";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ocultar el banner 'Comprar Supergracias' en Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Ocultar el botón de suscripción";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Desactivar reanudación a Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Si cierras YouTube mientras ves Shorts, éstos no se reproducirán automáticamente la próxima vez que inicies YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Opciones de Temas";
|
||||
|
||||
"OLED_DARK_THEME" = "Modo oscuro OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Modo oscuro OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app después de activar/desactivar esta opción.";
|
||||
|
||||
"OLD_DARK_THEME" = "Tema oscuro antiguo";
|
||||
"OLD_DARK_THEME_DESC" = "Antiguo tema oscuro de YouTube (tema gris). Es necesario reiniciar la aplicación.";
|
||||
|
||||
"DEFAULT_THEME" = "Por defecto";
|
||||
"DEFAULT_THEME_DESC" = "Tema oscuro predeterminado de YouTube. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Varios";
|
||||
"MISCELLANEOUS" = "🔎 Varios";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alerta de confirmación antes de Enviar contenido (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Mostrar una alerta de confirmación antes de Enviar contenido para prevenir el secuestro accidental del TV.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Desactivar sugerencias";
|
||||
"DISABLE_HINTS_DESC" = "Desactiva las sugerencias de YouTube que suelen aparecer cuando la aplicación está recién instalada.";
|
||||
|
||||
"ENABLE_FLEX" = "Activar FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Habilitar FLEX para depuración (no recomendado). Déjelo desactivado a menos que sepa lo que está haciendo.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Activar la animación de inicio de YouTube";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Reparar el inicio de sesión de Google (solo para usuarios de TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Active esta opción solo cuando no pueda iniciar sesión con su cuenta de Google y la aplicación se instaló a través de TrollStore. Si puede iniciar sesión normalmente, manténgala desactivada. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Ocultar la barra superior";
|
||||
"HIDE_CHIP_BAR_DESC" = "Ocultar la barra superior de las fuentes de inicio (Tendencias, Música, Juegos...) y de suscripción (Todos los vídeos, Seguir viendo...). Es necesario reiniciar la aplicación.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ocultar \"Reproducir siguiente en cola\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Diseño para iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Pulse para utilizar el diseño del iPhone. Es necesario reiniciar la aplicación.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nuevo estilo de barra del minirreproductor (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Requiere reiniciar la app.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Reemplazar pestaña de Cortos con pestaña de Explorar (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Requiere reiniciar la app.";
|
||||
|
||||
"IPHONE_LAYOUT" = "Diseño para iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Pulse para utilizar el diseño del iPhone. Es necesario reiniciar la aplicación.";
|
||||
"ENABLE_FLEX" = "Activar FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Habilitar FLEX para depuración (no recomendado). Déjelo desactivado a menos que sepa lo que está haciendo.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Reparar el inicio de sesión de Google (solo para usuarios de TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Active esta opción solo cuando no pueda iniciar sesión con su cuenta de Google y la aplicación se instaló a través de TrollStore. Si puede iniciar sesión normalmente, manténgala desactivada. Es necesario reiniciar la aplicación.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version de uYouPlus : %@";
|
||||
"VERSION_CHECK" = "Appuyez pour vérifier les mises à jour !";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Options du lecteur vidéo";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Plein écran automatique (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Lecture automatique des vidéos en plein écran";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Options du thème";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Défaut";
|
||||
"DEFAULT_THEME_DESC" = "Thème plus sombre par défaut de YouTube. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"OLD_DARK_THEME" = "Ancien thème sombre";
|
||||
"OLD_DARK_THEME_DESC" = "Ancien thème sombre de YouTube (thème gris). Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"OLED_DARK_THEME" = "Mode sombre OLED (Expérimental)";
|
||||
"OLED_DARK_THEME_2" = "Mode sombre OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire après avoir activé/désactivé cette option.";
|
||||
|
||||
"OLED_KEYBOARD" = "Clavier OLED (Expérimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Options du lecteur vidéo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Désactiver le double tap pour chercher";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Options de superposition des contrôles vidéo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Options de superposition des contrôles vidéo";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Masquer l'interrupteur de lecture automatique";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Masquer le bouton de lecture automatique dans la superposition des contrôles vidéo";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Remplacer le bouton précédent et suivant";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Remplace les boutons Précédent et Suivant par les boutons Avance rapide et Retour rapide. Un redémarrage de l'application est nécessaire";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barre de progression rouge";
|
||||
"RED_PROGRESS_BAR_DESC" = "Rétablir la barre de progression rouge. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Masquer les cartes de survol des écrans de fin (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Masquer les écrans de fin (vignettes) des créateurs à la fin des vidéos";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Masquer le panneau de droite en mode plein écran";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barre de progression rouge";
|
||||
"RED_PROGRESS_BAR_DESC" = "Rétablir la barre de progression rouge. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Empêcher l'encoche/Dynamic Island de grignoter le contenu vidéo 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Empêche l'encoche/Dynamic Island de grignoter du contenu vidéo 2:1 dans YouTube. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Options de la superposition de commandes de Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Masquer l'avatar de la chaîne de Shorts";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Masquer le bouton de dislikes de Shorts";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Masquer le bouton de commentaires de Shorts";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Masquer le bouton de remix de Shorts";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Masquer le bouton de partage de Shorts";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Masquer les boutons uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Masque les boutons de téléchargement uYou dans les Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Masquer le bouton Abonnements";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Masque le bouton Abonnements qui apparaît lors de la pause.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Options de la superposition de commandes de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Masquer la bannière 'Acheter des Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Masquer la bannière 'Acheter des Super Thanks' dans les Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Masquer le bouton Abonnements";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Masque le bouton Abonnements qui apparaît lors de la pause.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Désactiver la reprise des Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Si vous fermez YouTube en regardant des Shorts, ils ne seront pas automatiquement lus la prochaine fois que vous lancerez YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Options du thème";
|
||||
|
||||
"OLED_DARK_THEME" = "Mode sombre OLED (Expérimental)";
|
||||
"OLED_DARK_THEME_2" = "Mode sombre OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire après avoir activé/désactivé cette option.";
|
||||
|
||||
"OLD_DARK_THEME" = "Ancien thème sombre";
|
||||
"OLD_DARK_THEME_DESC" = "Ancien thème sombre de YouTube (thème gris). Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"DEFAULT_THEME" = "Défaut";
|
||||
"DEFAULT_THEME_DESC" = "Thème plus sombre par défaut de YouTube. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"OLED_KEYBOARD" = "Clavier OLED (Expérimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Divers";
|
||||
"MISCELLANEOUS" = "🔎 Divers";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Confirmer l'alerte avant le casting (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Afficher une alerte de confirmation avant de lancer le casting afin d'éviter de déclencher accidentellement la télévision";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Désactiver les astuces";
|
||||
"DISABLE_HINTS_DESC" = "Désactiver les astuces de fonctionnalités de YouTube qui s'affichent habituellement lorsque l'application est fraîchement installée.";
|
||||
|
||||
"ENABLE_FLEX" = "Activer FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Activer FLEX pour déboguer (non recommandé). Laissez-le désactivé à moins que vous sachiez ce que vous faites.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Activer l'animation de démarrage de YouTube";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Réparer l'identification Google (pour les utilisateurs de TrollStore uniquement)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Activez cette option uniquement si vous ne pouvez pas vous connecter avec votre compte Google et que l'application a été installée via TrollStore. Si vous pouvez vous connecter normalement, laissez-la désactivée. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Masquer la barre supérieure";
|
||||
"HIDE_CHIP_BAR_DESC" = "Masquer la barre supérieure dans les fils d'actualité (Tendances, Musique, Gaming...) et les fils d'abonnement (Toutes les vidéos, Poursuivre la lecture...). Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Disposition iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Basculer pour utiliser la disposition iPhone. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nouveau style de barre de mini-lecteur (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Un redémarrage de l'application est nécessaire";
|
||||
|
||||
"YT_RE_EXPLORE" = "Remplacer l'onglet Shorts par l'onglet Explorer (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Un redémarrage de l'application est nécessaire";
|
||||
|
||||
"IPHONE_LAYOUT" = "Disposition iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Basculer pour utiliser la disposition iPhone. Un redémarrage de l'application est nécessaire.";
|
||||
"ENABLE_FLEX" = "Activer FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Activer FLEX pour déboguer (non recommandé). Laissez-le désactivé à moins que vous sachiez ce que vous faites.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Réparer l'identification Google (pour les utilisateurs de TrollStore uniquement)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Activez cette option uniquement si vous ne pouvez pas vous connecter avec votre compte Google et que l'application a été installée via TrollStore. Si vous pouvez vous connecter normalement, laissez-la désactivée. Un redémarrage de l'application est nécessaire.";
|
||||
|
|
@ -1,30 +1,58 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "תצוגה כהה OLED (נסיוני)";
|
||||
"OLED_DARK_THEME_2" = "תצוגה כהה OLED";
|
||||
"OLED_DARK_THEME_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||
|
||||
"OLED_KEYBOARD" = "מקלדת כהה OLED (נסיוני)";
|
||||
"OLED_DARKMODE_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "מסך מלא אוטומטי (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "נגן סרטונים במסך מלא אוטומטית.";
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking in videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "אפשר את הנגן הקטן עבור כל הסרטונים ב-YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "סרטוני ילדים לדוגמה.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "הסתר את כפתור ההפעלה האוטומטית";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "הסתר את כפתור ההפעלה האוטומטית בתצוגת השליטה בסרטון.";
|
||||
|
|
@ -35,11 +63,11 @@
|
|||
"HIDE_HUD_MESSAGES" = "הסתר הודעות קופצות";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "לדוגמה: כתוביות מופעלות/מושבתות, הופעל סרטון בלופ,...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide paid promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "הסתר את הקודם והבא";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "הסתר את כפתורי הקודם והבא בתצוגת השליטה בסרטון.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "החלף את הלחצן הקודם והבא";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "החלף את הלחצן הקודם והבא בלחצן הרצה קדימה והאחורה. נדרשת הפעלה מחדש של האפליקציה.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "הסתר כרטיסיות סיום סרטון (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "הסתר את מסכי הסיום של סרטונים המציגים את הערוץ וסרטונים נוספים.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "מנע חריץ/אי בתוכן וידאו 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "מנע מהחריץ/האי הדינמי ללעוס תוכן וידאו 2:1 ב-YouTube. נדרשת הפעלה מחדש של האפליקציה.";
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "תצוגה כהה OLED (נסיוני)";
|
||||
"OLED_DARK_THEME_2" = "תצוגה כהה OLED";
|
||||
"OLED_DARK_THEME_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "מקלדת כהה OLED (נסיוני)";
|
||||
"OLED_DARKMODE_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "התראת אישור לפני שידור לטלוויזיה (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "הצג התראת אישור לפני שידור לטלוויזיה כדי למנוע לחיצה בטעות.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "ביטול";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "תקן כניסה של Google (עבור משתמש TrollStore בלבד)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "הפעל אפשרות זו רק כאשר אינך יכול להיכנס עם חשבון Google שלך והאפליקציה הותקנה דרך TrollStore. אם אתה יכול להתחבר כרגיל, השאר אותה מושבתת. נדרשת הפעלה מחדש של האפליקציה.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "עיצוב נגן קטן חדש (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "נדרש לפתוח מחדש את היישום.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "החלף את לשונית ה-Shorts בלשונית Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "נדרש לפתוח מחדש את היישום.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "תקן כניסה של Google (עבור משתמש TrollStore בלבד)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "הפעל אפשרות זו רק כאשר אינך יכול להיכנס עם חשבון Google שלך והאפליקציה הותקנה דרך TrollStore. אם אתה יכול להתחבר כרגיל, השאר אותה מושבתת. נדרשת הפעלה מחדש של האפליקציה.";
|
||||
|
|
@ -1,21 +1,49 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED sötét mód (Kísérleti)";
|
||||
"OLED_DARK_THEME_2" = "OLED sötét mód";
|
||||
"OLED_DARK_THEME_DESC" = "Előfordulhat, hogy bizonyos esetekben nem működik megfelelően. Az alkalmazás újraindítása szükséges az opció engedélyezése/letiltása után.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Billentyűzet (Kísérleti)";
|
||||
"OLED_KEYBOARD_DESC" = "Előfordulhat, hogy bizonyos esetekben nem működik megfelelően. Az alkalmazás újraindítása szükséges az opció engedélyezése/letiltása után.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Automatikus teljes képernyő (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Videók automatikus lejátszása teljes képernyőn.";
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking in videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Engedélyezze a Minilejátszót az összes YouTube-videóhoz";
|
||||
"YT_MINIPLAYER_DESC" = "Például gyermekvideók.";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Az automatikus lejátszás kapcsoló elrejtése";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Az Automatikus lejátszás kapcsoló elrejtése a videovezérlők fedvényében.";
|
||||
|
|
@ -38,8 +66,8 @@
|
|||
"HIDE_PAID_PROMOTION_CARDS" = "Fizetett promóciós szalaghirdetés elrejtése";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "A „Fizetett promóciókat tartalmaz” szalaghirdetés elrejtése egyes videóknál.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Előző és Következő gomb elrejtése";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Az Előző és a Következő gomb elrejtése a videóvezérlők fedvényén.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Előző és Következő gomb cseréje";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Cserélje ki az Előző és Következő gombot Gyors előre és visszatekerés gombbal. Az alkalmazás újraindítása szükséges.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "A záróképernyők lebegő kártyáinak elrejtése (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Az alkotói záróképernyők (bélyegképek) elrejtése a videók végén.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Notch/Island megelőzése 2:1 arányú videótartalomnál (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Akadályozza meg, hogy a Notch/Dynamic Island 2:1 arányú videótartalmat csámcsogjon a YouTube-on. Az alkalmazás újraindítása szükséges.";
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED sötét mód (Kísérleti)";
|
||||
"OLED_DARK_THEME_2" = "OLED sötét mód";
|
||||
"OLED_DARK_THEME_DESC" = "Előfordulhat, hogy bizonyos esetekben nem működik megfelelően. Az alkalmazás újraindítása szükséges az opció engedélyezése/letiltása után.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Billentyűzet (Kísérleti)";
|
||||
"OLED_KEYBOARD_DESC" = "Előfordulhat, hogy bizonyos esetekben nem működik megfelelően. Az alkalmazás újraindítása szükséges az opció engedélyezése/letiltása után.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Megerősítés átküldés előtt (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Az átküldés előtt mutasson megerősítő figyelmeztetést, hogy megakadályozza a TV véletlen eltérítését.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "Visszavon";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "A Google bejelentkezés javítása (csak a TrollStore-felhasználók számára)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Csak akkor kapcsolja be ezt az opciót, ha nem tud bejelentkezni Google-fiókjával, és az alkalmazást a TrollStore-on keresztül telepítették. Ha normálisan be tud jelentkezni, tartsa letiltva. Az alkalmazás újraindítása szükséges.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Új minilejátszó sáv (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Az alkalmazás újraindítása szükséges.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "Cserélje le a Shorts fület a Felfedezés fülre (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Az alkalmazás újraindítása szükséges.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "A Google bejelentkezés javítása (csak a TrollStore-felhasználók számára)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Csak akkor kapcsolja be ezt az opciót, ha nem tud bejelentkezni Google-fiókjával, és az alkalmazást a TrollStore-on keresztül telepítették. Ha normálisan be tud jelentkezni, tartsa letiltva. Az alkalmazás újraindítása szükséges.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "versione di uYouPlus: %@";
|
||||
"VERSION_CHECK" = "Clicca qui per cercare gli aggiornamenti!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opzioni Video Player";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto Schermo Intero (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Riproduci automaticamente video a tutto schermo.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Opzioni Tema";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Predefinito";
|
||||
"DEFAULT_THEME_DESC" = "Tema scuro predefinito di YouTube. È richiesto il riavvio dell'app.";
|
||||
|
||||
"OLD_DARK_THEME" = "Vecchio Tema Scuro (Sperimentale)";
|
||||
"OLD_DARK_THEME_DESC" = "Tema scuro del vecchio YouTube (tema grigio). È richiesto il riavvio dell'app.";
|
||||
|
||||
"OLED_DARK_THEME" = "Modalità Scura OLED (Sperimentale)";
|
||||
"OLED_DARK_THEME_2" = "Modalità Scura OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Potrebbe non funzionare correttamente in alcuni scenari. È richiesto un riavvio dell'app dopo aver abilitato/disabilitato questa opzione.";
|
||||
|
||||
"OLED_KEYBOARD" = "Tastiera OLED (Sperimentale)";
|
||||
"OLED_KEYBOARD_DESC" = "Potrebbe non funzionare correttamente in alcuni scenari. È richiesto un riavvio dell'app.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opzioni Video Player";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opzioni Sovrimpressione (Overlay) Video";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opzioni Sovrimpressione (Overlay) Video";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Nascondi Interruttore Riproduzione Automatica";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Nasconde il controllo per la riproduzione automatica in sovrimpressione al video.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Sostituisci i Bottoni Precedente e Successivo";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Sostituisci i Bottoni Precedente e Successivo con Avanti veloce e Indietro veloce. È richiesto un riavvio dell'app.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra di avanzamento rossa";
|
||||
"RED_PROGRESS_BAR_DESC" = "Ripristina la barra di avanzamento rossa. È richiesto il riavvio dell'app.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Nascondi i riquadri in sovrimpressione a fine video (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Nasconde i riquadri (miniature) a fine video proposti dall'autore.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Nascondi il pannello di destra in modalità a schermo intero";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "È richiesto un riavvio dell'app.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra di avanzamento rossa";
|
||||
"RED_PROGRESS_BAR_DESC" = "Ripristina la barra di avanzamento rossa. È richiesto il riavvio dell'app.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Previeni la Tacca/Isola sui Contenuti Video 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Previene alla Tacca/Isola di nascondere parte dei Contenuti Video 2:1 in YouTube. È richiesto un riavvio dell'app.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Opzioni Sovrimpressione (Overlay) Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Nascondi l'avatar del canale negli Shorts";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Nascondi il bottone dislike dagli Shorts";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Nascondi il bottone commenti dagli Shorts";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Nascondi il bottone remix dagli Shorts";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Nascondi il bottone condividi dagli Shorts";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Nascondi il uYou's bottone download Shorts";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Nascondi il bottone uYou's download dagli Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Opzioni Sovrimpressione (Overlay) Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Nascondi 'Buy Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Nascondi il banner 'Buy Super Thanks' dagli Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disabilita il resume dagli Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Se chiudi YouTube mentre guardi uno Short, gli Short non verranno riprodotti automaticamente la prossima volta che avvii YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Opzioni Tema";
|
||||
|
||||
"OLED_DARK_THEME" = "Modalità Scura OLED (Sperimentale)";
|
||||
"OLED_DARK_THEME_2" = "Modalità Scura OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Potrebbe non funzionare correttamente in alcuni scenari. È richiesto un riavvio dell'app dopo aver abilitato/disabilitato questa opzione.";
|
||||
|
||||
"OLD_DARK_THEME" = "Vecchio Tema Scuro (Sperimentale)";
|
||||
"OLD_DARK_THEME_DESC" = "Tema scuro del vecchio YouTube (tema grigio). È richiesto il riavvio dell'app.";
|
||||
|
||||
"DEFAULT_THEME" = "Predefinito";
|
||||
"DEFAULT_THEME_DESC" = "Tema scuro predefinito di YouTube. È richiesto il riavvio dell'app.";
|
||||
|
||||
"OLED_KEYBOARD" = "Tastiera OLED (Sperimentale)";
|
||||
"OLED_KEYBOARD_DESC" = "Potrebbe non funzionare correttamente in alcuni scenari. È richiesto un riavvio dell'app.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Varie";
|
||||
"MISCELLANEOUS" = "🔎 Varie";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Avviso di conferma prima della condivisione su TV (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Mostra un avviso di conferma prima della condivisione per evitar e di irrompere accidentalmente sulla TV.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Disabilita i suggerimenti";
|
||||
"DISABLE_HINTS_DESC" = "Disabilita i suggerimenti sulle funzionalità di YouTube che di solito vengono visualizzati quando l'app viene appena installata.";
|
||||
|
||||
"ENABLE_FLEX" = "Abilita FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Abilita FLEX per il debugging (sconsigliato). Lascialo disabilitato se non sai cosa stai facendo.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Abilita YouTube startup animazione";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Ripara Google Sign in (solo per utenti TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Attiva questa opzione solo quando non puoi accedere al tuo account Google e l'app è stata installata attraverso TrollStore. Se puoi accedere normalmente, tienila disabilitata. È richiesto un riavvio dell'app.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Nascondi la barra superiore";
|
||||
"HIDE_CHIP_BAR_DESC" = "Nascondi la barra superiore nella Home (Tendenze, Musica, Giochi...) e Iscrizioni (Tutti i video, Continua a guardare...). È richiesto il riavvio dell'app.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Seleziona per usare il Layout Iphone. È richiesto il riavvio dell'app.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nuovo stile per la barra del miniplayer (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "È richiesto un riavvio dell'app.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Sostituisci il tab Shorts con il tab Esplora (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "È richiesto un riavvio dell'app.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Seleziona per usare il Layout Iphone. È richiesto il riavvio dell'app.";
|
||||
"ENABLE_FLEX" = "Abilita FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Abilita FLEX per il debugging (sconsigliato). Lascialo disabilitato se non sai cosa stai facendo.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Ripara Google Sign in (solo per utenti TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Attiva questa opzione solo quando non puoi accedere al tuo account Google e l'app è stata installata attraverso TrollStore. Se puoi accedere normalmente, tienila disabilitata. È richiesto un riavvio dell'app.";
|
||||
137
Localizations/uYouPlus.bundle/ja.lproj/Localizable.strings
Normal file
137
Localizations/uYouPlus.bundle/ja.lproj/Localizable.strings
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
// About
|
||||
"ABOUT" = "アプリについて";
|
||||
|
||||
"VERSION" = "バージョン";
|
||||
"VERSION_CHECK" = "ここをタップしてアップデートを確認!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "不具合を報告";
|
||||
"ADD_TITLE" = "タイトルをここに追加...";
|
||||
|
||||
"QUIT_YOUTUBE" = "YouTubeを終了";
|
||||
|
||||
"RESTART_YOUTUBE" = "変更を適用するためにYouTubeを再起動";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 アプリのテーマ";
|
||||
"THEME_OPTIONS" = "テーマの設定";
|
||||
|
||||
"DARK_THEME" = "ダークテーマ";
|
||||
|
||||
"DEFAULT_THEME" = "デフォルト";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "明るいグレー";
|
||||
"OLD_DARK_THEME_DESC" = "YouTubeの古いダークテーマ";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED (実験的)";
|
||||
"OLED_DARK_THEME_2" = "OLED";
|
||||
"OLED_DARK_THEME_DESC" = "純粋な黒のダークテーマ";
|
||||
|
||||
"OLED_KEYBOARD" = "OLEDキーボード (実験的)";
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "⏯️ 動画コントロールのオーバーレイ設定";
|
||||
|
||||
"SLIDE_TO_SEEK" = "スライドシークを有効化";
|
||||
"SLIDE_TO_SEEK_DESC" = "スライドシークジェスチャーを復活させます。";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップによるシークを無効化";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効にする";
|
||||
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効化します。";
|
||||
|
||||
"PINCH_TO_ZOOM" = "ピンチで拡大を無効にする";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
||||
"YT_MINIPLAYER_DESC" = "ミニプレーヤーが使えない動画(子ども向けの動画など)がありますが、このオプションでバイパスできます。";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 動画コントロールのオーバーレイ設定";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "自動再生ボタンを非表示";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "字幕ボタンを非表示";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "HUDメッセージを非表示";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "特定のアクション後に表示されるスナックバーを非表示にします。(例: 字幕がオン/オフになりました など)";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "有料プロモーションカードを非表示";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "チャンネルのウォーターマークを非表示";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "前へ/次へボタンを非表示";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "前へ/次へボタンを置き換える";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "前へ/次へボタンを早送り/巻き戻しボタンに置き換えます。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "赤いプログレスバー";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "YTNoHoverCards";
|
||||
"HIDE_HOVER_CARD_DESC" = "動画のエンドスクリーンを非表示にします。";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "フルスクリーン時のエンゲージパネルを非表示";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "ランドスケープ時の右パネル(コメントなど)を非表示にします。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 ショート動画のオーバーレイ設定";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "「Super Thanksを購入」バナーを非表示";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "チャンネル登録ボタンを非表示";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "ショートの再開を無効化";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "ショート動画を視聴中にアプリを終了し、再度開いた際にショートから再開されるのを防ぎます。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "🔎 その他";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "キャスト前に確認の警告を表示します。";
|
||||
"CASTING" = "キャスト";
|
||||
"MSG_ARE_YOU_SURE" = "本当にキャストを開始しますか?";
|
||||
"MSG_YES" = "はい";
|
||||
"MSG_CANCEL" = "キャンセル";
|
||||
|
||||
"DISABLE_HINTS" = "ヒントを非表示";
|
||||
"DISABLE_HINTS_DESC" = "アプリ初回起動時に表示されるYouTubeのヒントを非表示にします。";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube起動時にアニメーションを表示";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "トップバーを非表示";
|
||||
"HIDE_CHIP_BAR_DESC" = "ホーム(トレンド,音楽,ゲーム...)とサブスクリプション(すべてのビデオ、視聴を続ける...)リボンのトップバーを非表示にします。";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "「キューの最初に追加」を非表示";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhoneのレイアウトを強制";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "BigYTMiniPlayer";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "新しいミニプレーヤーバー";
|
||||
|
||||
"YT_RE_EXPLORE" = "YTReExplore";
|
||||
"YT_RE_EXPLORE_DESC" = "ショートタブを探索タブに置き換えます。";
|
||||
|
||||
"ENABLE_FLEX" = "FLEXを有効化";
|
||||
"ENABLE_FLEX_DESC" = "デバッグ用のFLEXを有効にします。";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Googleのサインインを修正 (TrollStoreユーザーのみ)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Googleアカウントでサインインできない場合で、アプリがTrollStore経由でインストールされている場合のみ、このオプションをオンにしてください。通常通りサインインできる場合はオフのままにしてください。アプリの再起動が必要です。";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "uYouPlus 버전: %@";
|
||||
"VERSION_CHECK" = "업데이트를 확인하려면 탭하세요!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "비디오 재생 설정";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "자동 전체화면 재생 (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "자동으로 전체화면에서 재생합니다.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "테마 설정";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "기본";
|
||||
"DEFAULT_THEME_DESC" = "YouTube 기본 다크 모드. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"OLD_DARK_THEME" = "이전 다크 모드 테마";
|
||||
"OLD_DARK_THEME_DESC" = "이전 YouTube 다크 모드 (회색 테마). 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 다크모드 (실험실)";
|
||||
"OLED_DARK_THEME_2" = "OLED 다크모드";
|
||||
"OLED_DARK_THEME_DESC" = "몇몇 경우 제대로 동작하지 않을 수도 있습니다. 이 기능을 켜거나 끄는 경우 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 키보드 (실험실)";
|
||||
"OLED_KEYBOARD_DESC" = "몇몇 경우 제대로 동작하지 않을 수도 있습니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 비디오 재생 설정";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "두번 탭하여 탐색 사용하지 않음";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "비디오 재생 오버레이 설정";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 비디오 재생 오버레이 설정";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "자동재생 스위치 숨기기";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "비디오 재생 오버레이에서 자동재생 스위치를 숨깁니다.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "이전, 다음 재생 버튼 교체";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "이전 재생, 다음 재생 버튼을 빨리 감기, 되감기 버튼으로 교체합니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "빨간색 진행 막대";
|
||||
"RED_PROGRESS_BAR_DESC" = "영상 진행 막대의 색을 빨간색으로 되돌립니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "영상 끝 부분의 호버카드 숨기기 (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "영상의 끝 부분에서 게시자가 표시한 영상 썸네일을 숨깁니다.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "전체화면 모드에서 오른쪽 패널 숨기기";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "앱을 다시 시작해야 합니다.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "빨간색 진행 막대";
|
||||
"RED_PROGRESS_BAR_DESC" = "영상 진행 막대의 색을 빨간색으로 되돌립니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "노치/아일랜드 영역이 2:1 비율 비디오를 가리지 않게 함 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "노치/다이내믹 아일랜드 영역이 유튜브의 2:1 비율 영상 일부를 가리는 것을 막아줍니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 재생 오버레이 설정";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Shorts 채널 아바타 숨기기";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Shorts 영상 싫어요 버튼 숨기기";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Shorts 영상 댓글 버튼 숨기기";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Shorts 영상 리믹스 버튼 숨기기";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Shorts 영상 공유 버튼 숨기기";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "uYou 버튼 숨기기";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Shorts에서 uYou의 다운로드 버튼을 숨깁니다.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "구독 버튼 숨기기";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "일시 정지 할 때 보이는 구독 버튼을 숨깁니다.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 재생 오버레이 설정";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "'Super Thanks 구매' 배너 숨기기";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Shorts 영상에서 'Super Thanks 구매' 배너를 숨깁니다.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "구독 버튼 숨기기";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "일시 정지 할 때 보이는 구독 버튼을 숨깁니다.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Shorts 복원 사용하지 않음";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Shorts를 시청하는 도중 앱을 닫을 때, 다시 앱을 열어도 Shorts 영상이 자동재생되지 않도록 합니다.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "테마 설정";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 다크모드 (실험실)";
|
||||
"OLED_DARK_THEME_2" = "OLED 다크모드";
|
||||
"OLED_DARK_THEME_DESC" = "몇몇 경우 제대로 동작하지 않을 수도 있습니다. 이 기능을 켜거나 끄는 경우 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"OLD_DARK_THEME" = "이전 다크 모드 테마";
|
||||
"OLD_DARK_THEME_DESC" = "이전 YouTube 다크 모드 (회색 테마). 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"DEFAULT_THEME" = "기본";
|
||||
"DEFAULT_THEME_DESC" = "YouTube 기본 다크 모드. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 키보드 (실험실)";
|
||||
"OLED_KEYBOARD_DESC" = "몇몇 경우 제대로 동작하지 않을 수도 있습니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "기타 설정";
|
||||
"MISCELLANEOUS" = "🔎 기타 설정";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "TV 전송 알림 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "의도치 않게 TV로 영상을 전송하지 않도록 보내기 전에 확인 메시지를 표시합니다.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "힌트 표시하지 않음";
|
||||
"DISABLE_HINTS_DESC" = "앱을 새로 설치하는 경우 표시되는 앱의 몇몇 기능에 대한 설명이 표시되지 않도록 합니다.";
|
||||
|
||||
"ENABLE_FLEX" = "FLEX 사용";
|
||||
"ENABLE_FLEX_DESC" = "디버그를 위해 FLEX를 사용하도록 설정합니다(권장하지 않음). 사용에 익숙하지 않으면 활성화하지 마십시오.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube 시작 애니메이션을 표시합니다.";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "구글 로그인 문제 수정 (TrollStore 사용자만 해당)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "TrollStore를 통해 설치된 앱에만 적용됩니다: 구글 계정으로 로그인하려면 이 설정을 켜 주세요. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "피드 선택 막대 숨기기";
|
||||
"HIDE_CHIP_BAR_DESC" = "앱의 홈 화면에서 맞춤 동영상(인기 급상승, 음악, 게임...)과 구독 피드(전체, 감상한 동영상...) 선택 막대를 숨깁니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "아이폰 화면배치";
|
||||
"IPHONE_LAYOUT_DESC" = "아이폰의 화면배치를 사용하려면 선택하세요. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "새로운 스타일의 미니 플레이어 (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "앱을 다시 시작해야 합니다.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Shorts 탭 대신 탐색 탭 보이기 (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "앱을 다시 시작해야 합니다.";
|
||||
|
||||
"IPHONE_LAYOUT" = "아이폰 화면배치";
|
||||
"IPHONE_LAYOUT_DESC" = "아이폰의 화면배치를 사용하려면 선택하세요. 앱을 다시 시작해야 합니다.";
|
||||
"ENABLE_FLEX" = "FLEX 사용";
|
||||
"ENABLE_FLEX_DESC" = "디버그를 위해 FLEX를 사용하도록 설정합니다(권장하지 않음). 사용에 익숙하지 않으면 활성화하지 마십시오.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "구글 로그인 문제 수정 (TrollStore 사용자만 해당)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "TrollStore를 통해 설치된 앱에만 적용됩니다: 구글 계정으로 로그인하려면 이 설정을 켜 주세요. 앱을 다시 시작해야 합니다.";
|
||||
|
|
@ -1,30 +1,58 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Donkere Stand (Experimenteel)";
|
||||
"OLED_DARK_THEME_2" = "OLED Donkere Stand";
|
||||
"OLED_DARK_THEME_DESC" = "Werkt mogelijk niet correct in sommige gevallen. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Toetsenbord (Experimenteel)";
|
||||
"OLED_KEYBOARD_DESC" = "Werkt mogelijk niet correct in sommige gevallen. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto Volledig Scherm (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automatisch volledig scherm wanneer je een video aan klikt.";
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking in videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Schakel de Mini Speler in voor alle video's";
|
||||
"YT_MINIPLAYER_DESC" = "Video's voor kinderen bijvoorbeeld.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Verberg Autoplay schakelaar";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Verberg de Autoplay schakelaar in de video speler.";
|
||||
|
|
@ -38,8 +66,8 @@
|
|||
"HIDE_PAID_PROMOTION_CARDS" = "Verberg Betaalde Promoties";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Verberg de 'Bevat Betaalde Promotie' in sommige video's.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Verberg vorige en volgende knoppen";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Verberg de vorige en volgende knop in de video speler.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Vervang Volgende en Vorige knoppen";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Vervang de Vorige en Volgende knoppen met spoelknoppen.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Verberg eind scherm hover cards (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Verberg eind schermen (thumbnails) aan het einde van video's.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Voorkom Notch/Eiland Bij 2:1 Video's (DontEatMyContent)";#
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Voorkomt dat de video zich achter de Notch/het Dynamische Eiland bevind bij 2:1 video's. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Donkere Stand (Experimenteel)";
|
||||
"OLED_DARK_THEME_2" = "OLED Donkere Stand";
|
||||
"OLED_DARK_THEME_DESC" = "Werkt mogelijk niet correct in sommige gevallen. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Toetsenbord (Experimenteel)";
|
||||
"OLED_KEYBOARD_DESC" = "Werkt mogelijk niet correct in sommige gevallen. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Bevestig casten (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Toon een melding na het drukken op de cast knop om te voorkomen dat je per ongeluk cast.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "Niet casten!";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Inloggen met Google (Alleen voor TrollStore gebruikers)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Zet dit aan wanneer je niet kan inloggen met je Google account en je de app hebt geïnstalleerd met Trollstore. Als je in kan loggen laat dit dan met rust. Om dit te activeren moet je de app opnieuw opstarten.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nieuwe Mini Speler stijl (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "Vervang Shorts met Ontdekken (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Inloggen met Google (Alleen voor TrollStore gebruikers)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Zet dit aan wanneer je niet kan inloggen met je Google account en je de app hebt geïnstalleerd met Trollstore. Als je in kan loggen laat dit dan met rust. Om dit te activeren moet je de app opnieuw opstarten.";
|
||||
137
Localizations/uYouPlus.bundle/pl.lproj/Localizable.strings
Normal file
137
Localizations/uYouPlus.bundle/pl.lproj/Localizable.strings
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "Tryb ciemny OLED (Eksperymentalny)";
|
||||
"OLED_DARK_THEME_2" = "Tryb ciemny OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Pure-black dark theme";
|
||||
|
||||
"OLED_KEYBOARD" = "Klawiatura OLED (Eksperymentalna)";
|
||||
"OLED_KEYBOARD_DESC" = "Może w niektórych przypadkach nie działać. Restart aplikacji jest wymagany.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Włącz miniodtwarzach dla wszystkich filmów";
|
||||
"YT_MINIPLAYER_DESC" = "Np. filmów dla dzieci.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ukryj przycisk Autoodtwarzanie";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ukrywa przycisk Autoodtwarzanie w okładce odtwarzacza filmów.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Ukryj przycisk Napisy";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Ukrywa przycisk Napisy w okładce odtwarzacza filmów.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Ukryj komunikaty HUD";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Np. Napisy są wył/wł, Odtwarzanie w pętli jest włączone, ...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Ukryj baner płatnej promocji";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ukrywa baner 'Zawiera płatną promocję' w niektórych filmach.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ukryj przyciski Poprzedni i Następny";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ukryj przyciski Poprzedni i Następny w okładce sterowania filmu.";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Zamień przyciski Poprzedni i Następny";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Zamienia przyciski Poprzedni i Następny z przyciskami Przewiń w przód i tył. Restart aplikacji jest wymagany.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ukryj ekrany końcowe (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ukryj ekrany końcowe (miniaturki) na końcu filmów.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alert przed przesyłaniem (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Pokaż alert przed przesyłaniem aby nie łączyć się przez przypadek z telewizorem.";
|
||||
"CASTING" = "Przesyłania";
|
||||
"MSG_ARE_YOU_SURE" = "Czy na pewno chcesz przesyłać?";
|
||||
"MSG_YES" = "Tak";
|
||||
"MSG_CANCEL" = "Anuluj";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nowy styl miniodtwarzacza (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Restart aplikacji jest wymagany.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Zamień kartę Shorts na kartę Odkrywaj (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Restart aplikacji jest wymagany.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Napraw logowanie się z Google (tylko dla użytkowników TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Włącz tą opcję tylko wtedy, kiedy nie możesz zalogować się swoim kontem Google, a aplikacja została zainstalowana przez TrollStore. Jeżeli da się zalogować normalnie, zostaw to wyłączone. Restart aplikacji jest wymagany.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Versão do uYouPlus: %@";
|
||||
"VERSION_CHECK" = "Toque para verificar se há atualização!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opções do Reprodutor de Vídeo";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Tela cheia automática (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Reproduz videos em tela cheia automaticamente.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Opções de Temas";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Padrão";
|
||||
"DEFAULT_THEME_DESC" = "Tema escuro padrão do YouTube. A reinicialização do app é necessária.";
|
||||
|
||||
"OLD_DARK_THEME" = "Antigo tema escuro";
|
||||
"OLD_DARK_THEME_DESC" = "Tema escuro do YouTube antigo (tema cinza). A reinicialização do app é necessária.";
|
||||
|
||||
"OLED_DARK_THEME" = "Modo escuro OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Modo escuro OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária após você ativar/desativar essa opção.";
|
||||
|
||||
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opções do Reprodutor de Vídeo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Desativar toque duplo para buscar";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Vídeo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opções de Sobreposição de Controles de Vídeo";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ocultar interruptor de Reprodução automática";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Oculta o interruptor de Reprodução automática na sobreposição de controles de vídeo.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Substituir o botão Anterior e Próximo";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Substitui o botão Anterior e Próximo pelo botão Avançar e Retroceder. A reinicialização do app é necessária.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra de progresso vermelha";
|
||||
"RED_PROGRESS_BAR_DESC" = "Traz de volta a barra de progresso vermelha. A reinicialização do app é necessária.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ocultar Cartões flutuantes de telas finais (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Oculta telas finais do criador (miniaturas) no final dos vídeos.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Ocultar o painel direito no modo de tela cheia";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "A reinicialização do app é necessária.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Barra de progresso vermelha";
|
||||
"RED_PROGRESS_BAR_DESC" = "Traz de volta a barra de progresso vermelha. A reinicialização do app é necessária.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Evitar o notch/Island em conteúdo de vídeo 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Evita que o notch/Dynamic Island coma conteúdo de vídeo 2:1 no YouTube. A reinicialização do app é necessária.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Ocultar o avatar do canal do Shorts";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Ocultar o botão não gostei do Shorts";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Ocultar o botão de comentário do Shorts";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Ocultar o botão de remix do Shorts";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Ocultar o botão de compartilhamento do Shorts";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Ocultar os botões do uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Oculta os botões de download do uYou nos Shorts";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Ocultar o botão Inscrições";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Oculta o botão Inscrições que aparece quando pausado.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Opções de Sobreposição de Controles de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ocultar o banner 'Comprar Valeu Demais'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Oculta o banner 'Comprar Valeu Demais' nos Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Ocultar o botão Inscrições";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Oculta o botão Inscrições que aparece quando pausado.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Desativar voltar para os Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Se você fechar o YouTube enquanto assiste a Shorts, os Shorts não serão reproduzidos automaticamente na próxima vez que você iniciar o YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Opções de Temas";
|
||||
|
||||
"OLED_DARK_THEME" = "Modo escuro OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Modo escuro OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária após você ativar/desativar essa opção.";
|
||||
|
||||
"OLD_DARK_THEME" = "Antigo tema escuro";
|
||||
"OLD_DARK_THEME_DESC" = "Tema escuro do YouTube antigo (tema cinza). A reinicialização do app é necessária.";
|
||||
|
||||
"DEFAULT_THEME" = "Padrão";
|
||||
"DEFAULT_THEME_DESC" = "Tema escuro padrão do YouTube. A reinicialização do app é necessária.";
|
||||
|
||||
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Diversos";
|
||||
"MISCELLANEOUS" = "🔎 Diversos";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alerta de confirmação antes de transmitir (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Mostra um alerta de confirmação antes da transmissão para evitar o sequestro acidental da TV.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Desativar dicas";
|
||||
"DISABLE_HINTS_DESC" = "Desativa as dicas de recursos do YouTube que geralmente são exibidas quando o aplicativo é instalado recentemente.";
|
||||
|
||||
"ENABLE_FLEX" = "Ativar FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Ativa o FLEX para depuração (não recomendado). Deixe isso desligado, a menos que você saiba o que está fazendo.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Ativar animação de inicialização do YouTube";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Corrigir o login do Google (somente para usuários da TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Ative esta opção somente quando você não conseguir fazer login com sua conta do Google e o aplicativo foi instalado via TrollStore. Se você conseguir fazer login normalmente, mantenha-o desativado. A reinicialização do app é necessária.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Ocultar a Barra superior";
|
||||
"HIDE_CHIP_BAR_DESC" = "Oculta a Barra superior nos Feeds iniciais (Tendências, Música, Jogos...) e Feeds de inscrições (Todos os vídeos, Continuar assistindo...). A reinicialização do app é necessária.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Layout do iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Alterne para usar o Layout do iPhone. A reinicialização do app é necessária.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Novo estilo de barra de miniplayer (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "A reinicialização do app é necessária.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Substituir a guia Shorts pela guia Explorar (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "A reinicialização do app é necessária.";
|
||||
|
||||
"IPHONE_LAYOUT" = "Layout do iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Alterne para usar o Layout do iPhone. A reinicialização do app é necessária.";
|
||||
"ENABLE_FLEX" = "Ativar FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Ativa o FLEX para depuração (não recomendado). Deixe isso desligado, a menos que você saiba o que está fazendo.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Corrigir o login do Google (somente para usuários da TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Ative esta opção somente quando você não conseguir fazer login com sua conta do Google e o aplicativo foi instalado via TrollStore. Se você conseguir fazer login normalmente, mantenha-o desativado. A reinicialização do app é necessária.";
|
||||
|
|
@ -1,30 +1,58 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Versiune uYouPlus: %@";
|
||||
"VERSION_CHECK" = "Căutare actualizări";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto Ecran Întreg (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Redare automată video pe ecran complet.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "Mod Întunecat OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Mod Întunecat OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Este posibil să nu funcționeze corect în anumite cazuri. Este necesară repornirea aplicației după ce această opțiune este activată/dezactivată.";
|
||||
|
||||
"OLED_KEYBOARD" = "Tastatură OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Este posibil să nu funcționeze corect în anumite cazuri. Este necesară repornirea aplicației.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking videos. App restart is required.";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Activare Miniplayer pentru toate videoclipurile YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "De exemplu, videoclipurile destinate pentri copii";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ascunde comutatorul Redare automată";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ascunde comutatorul Redare automată din controalele video.";
|
||||
|
|
@ -38,8 +66,8 @@
|
|||
"HIDE_PAID_PROMOTION_CARDS" = "Ascunde banner-ul Promovare Plătită";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ascunde banner-ul 'Include Promovare Plătită' în unele videoclipuri.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ascunde butoanele Înainte/Înapoi";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ascunde butoanele Înainte/Înapoi din controalele video.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Înlocuire butoane Înainte/Înapoi";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Înlocuiește butoanele Înainte/Înapoi cu butoanele derulare Înainte/Înapoi. Este necesară repornirea aplicației.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ascunde ecranele de final (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ascunde ecranele de final de la sfârșitul videoclipurilor.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Previne apariția Notch/Island pe content video 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Previne tăierea conținutului video 2:1 de către Notch/Dynamic Island . Este necesară repornirea aplicației.";
|
||||
"HIDE_HOVER_CARD" = "Ascunde ecranele de final (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ascunde ecranele de final de la sfârșitul videoclipurilor.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's download buttons in Shorts";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "Mod Întunecat OLED (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "Mod Întunecat OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Este posibil să nu funcționeze corect în anumite cazuri. Este necesară repornirea aplicației după ce această opțiune este activată/dezactivată.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "Tastatură OLED (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Este posibil să nu funcționeze corect în anumite cazuri. Este necesară repornirea aplicației.";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alertă de confirmare înainte de proiectare (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Afișează o alertă de confirmare înainte de a proiecta, pentru a preveni deturnarea accidentală a TV-ului.";
|
||||
|
|
@ -116,19 +110,19 @@
|
|||
"MSG_CANCEL" = "Anulare";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Rezolvare problemă autentificare cont Google (doar pentru utilizatorii TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Activează această opțiune doar în cazul în care nu te poți autentifica în contul tău Google și apariția a fost instalată via TrollStore. Dacă te poți autentifica fără probleme, țineți setarea dezactivată. Este necesară repornirea aplicației.";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Stil nou bară Miniplayer (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Este necesară repornirea aplicației.";
|
||||
|
|
@ -136,5 +130,8 @@
|
|||
"YT_RE_EXPLORE" = "Înlocuire fila Shorts cu fila Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Este necesară repornirea aplicației.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Rezolvare problemă autentificare cont Google (doar pentru utilizatorii TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Activează această opțiune doar în cazul în care nu te poți autentifica în contul tău Google și apariția a fost instalată via TrollStore. Dacă te poți autentifica fără probleme, țineți setarea dezactivată. Este necesară repornirea aplicației.";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
/* uYouPlusSettings */
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Версия uYouPlus: %@";
|
||||
"VERSION_CHECK" = "Нажмите, чтобы проверить доступные обновления.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Параметры видеоплеера";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Полноэкранный режим (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Автоматически открывает ролики в полноэкранном режиме.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Параметры темы";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "По умолчанию";
|
||||
"DEFAULT_THEME_DESC" = "Темная(новая) тема YouTube по умолчанию. Требуется перезапуск приложения.";
|
||||
|
||||
"OLD_DARK_THEME" = "Старая темная тема";
|
||||
"OLD_DARK_THEME_DESC" = "Старая темная тема YouTube (серая тема). Требуется перезапуск приложения.";
|
||||
|
||||
"OLED_DARK_THEME" = "Темный режим для OLED (Бета)";
|
||||
"OLED_DARK_THEME_2" = "Темный режим для OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Понадобится перезагрузка при смене цветовой темы приложения. Если OLED-тема не включится, попробуйте переключиться не светлый режим и обратно, а затем перезагрузить приложение.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED-клавиатура (Бета)";
|
||||
"OLED_KEYBOARD_DESC" = "Возможно, на некоторых устройствах будет работать криво. Потребуется перезагрузка.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Параметры видеоплеера";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Отключить двойное нажатие для перемотки";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Параметры элементов оверлея видеоплеера";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Параметры элементов оверлея видеоплеера";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Скрыть «Автовоспроизведение»";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Убирает тумблер «Автовоспроизведение» с оверлея плеера.";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Кнопки перемотки вместо «Пред.» и «След.»";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Заменяет переключатели «Следующий» и «Предыдущий» на кнопки перемотки на 10 сек. Потребуется перезагрузка.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Красная полоса воспроизведения";
|
||||
"RED_PROGRESS_BAR_DESC" = "Возвращает красную полосу воспроизведения. Требуется перезапуск приложения.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Скрыть рекомендации (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Скрывает эскизы, отображаемые по окончанию видеоролика.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Скрыть правую панель в полноэкранном режиме";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Требуется перезапуск приложения.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Красная полоса воспроизведения";
|
||||
"RED_PROGRESS_BAR_DESC" = "Возвращает красную полосу воспроизведения. Требуется перезапуск приложения.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Запретить обрезку контента (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Запрещает обрезать контент с соотношением сторон 2:1 на устройствах с вырезом. Потребуется перезагрузка.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Параметры элементов оверлея в Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Скрыть аватар канала в Shorts";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Скрыть кнопку 'Не нравится' в Shorts ";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Скрыть кнопку комментария в Shorts";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Скрыть кнопку 'Ремикс' в Shorts";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Скрыть кнопку 'Поделиться' в Shorts";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Скрыть кнопки uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Скрывает кнопки uYou для скачивания видеороликов Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Скрыть кнопку подписок";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Скрыть кнопку подписки, которая отображается при приостановке.";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Параметры элементов оверлея в Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Скрыть баннер 'Купить суперспасибо'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Скрывает баннер 'Купить суперспасибо' в Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Скрыть кнопку подписок";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Скрыть кнопку подписки, которая отображается при приостановке.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Отключить продолжение видео Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Если закрыть YouTube во время просмотра видео Shorts, то при следующем запуске YouTube видео Shorts не будет автоматически воспроизводиться.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Параметры темы";
|
||||
|
||||
"OLED_DARK_THEME" = "Темный режим для OLED (Бета)";
|
||||
"OLED_DARK_THEME_2" = "Темный режим для OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Понадобится перезагрузка при смене цветовой темы приложения. Если OLED-тема не включится, попробуйте переключиться не светлый режим и обратно, а затем перезагрузить приложение.";
|
||||
|
||||
"OLD_DARK_THEME" = "Старая темная тема";
|
||||
"OLD_DARK_THEME_DESC" = "Старая темная тема YouTube (серая тема). Требуется перезапуск приложения.";
|
||||
|
||||
"DEFAULT_THEME" = "По умолчанию";
|
||||
"DEFAULT_THEME_DESC" = "Темная(новая) тема YouTube по умолчанию. Требуется перезапуск приложения.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED-клавиатура (Бета)";
|
||||
"OLED_KEYBOARD_DESC" = "Возможно, на некоторых устройствах будет работать криво. Потребуется перезагрузка.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Другое";
|
||||
"MISCELLANEOUS" = "🔎 Другое";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Подтверждение «Трансляции» (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Спрашивать подтверждение перед началом трансляции во избежание случайных подключений к ТВ.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Отключить подсказки";
|
||||
"DISABLE_HINTS_DESC" = "Отключает подсказки функций с YouTube, которые обычно отображаются при свежей установке приложения.";
|
||||
|
||||
"ENABLE_FLEX" = "Включить FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Включите FLEX для отладки (не рекомендуется). Не включайте эту опцию, если вы не знаете, что делаете.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Включить анимацию запуска YouTube";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Исправить авторизацию (TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Включите данную опцию только, если не можете войти в учетную запись Google, а приложение установлено через TrollStore. Если удается авторизоваться как обычно, оставьте данную опцию отключенной. Потребуется перезагрузка.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Скрыть верхнюю панель";
|
||||
"HIDE_CHIP_BAR_DESC" = "Скрывает верхнюю панель на вкладках «Главная» (Тренды, Музыка, Игры...) и «Подписки» (Все видео, Продолжить просмотр...)\nТребуется перезапуск приложения.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Оформление приложения как на iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Переключает оформление приложения как на iPhone. Требуется перезапуск приложения.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Мини-плеер в стиле iPad (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Потребуется перезагрузка.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Вкладка «Навигация» вместо «Shorts»";
|
||||
"YT_RE_EXPLORE_DESC" = "Потребуется перезагрузка.";
|
||||
|
||||
"IPHONE_LAYOUT" = "Оформление приложения как на iPhone";
|
||||
"IPHONE_LAYOUT_DESC" = "Переключает оформление приложения как на iPhone. Требуется перезапуск приложения.";
|
||||
"ENABLE_FLEX" = "Включить FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Включите FLEX для отладки (не рекомендуется). Не включайте эту опцию, если вы не знаете, что делаете.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Исправить авторизацию (TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Включите данную опцию только, если не можете войти в учетную запись Google, а приложение установлено через TrollStore. Если удается авторизоваться как обычно, оставьте данную опцию отключенной. Потребуется перезагрузка.";
|
||||
152
Localizations/uYouPlus.bundle/template.lproj/Localizable.strings
Normal file
152
Localizations/uYouPlus.bundle/template.lproj/Localizable.strings
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
/* Read me:
|
||||
- How to translate uYouPlus (if your language already exists then feel free to check it and/or improve it):
|
||||
1. Fork this uYouPlus repo
|
||||
2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id.
|
||||
For example: <ru.lproj> for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||
3. Translate each line below after each =
|
||||
4. Open a Pull Request
|
||||
|
||||
- You can also add your localization to YTABConfig, YouPiP, YTUHD, and Return YouTube Dislike. The process is the same:
|
||||
https://github.com/PoomSmart/YTABConfig/tree/main/layout/Library/Application%20Support/YTABC.bundle
|
||||
https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||
https://github.com/PoomSmart/YTUHD/tree/master/layout/Library/Application%20Support/YTUHD.bundle
|
||||
https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Application%20Support/RYD.bundle
|
||||
*/
|
||||
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "Version";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Lighter grey";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube's old dark theme";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED (experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Pure-black dark theme";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED keyboard (experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disables auto snap to chapter when seeking through videos";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Hide subtitles button";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Hide HUD messages";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide paid promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide previous and next buttons";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Use fast forward and rewind buttons";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Replaces previous and next buttons with fast forward and rewind";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "YTNoHoverCards";
|
||||
"HIDE_HOVER_CARD_DESC" = "Hides videos' end screens";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||
"CASTING" = "Casting";
|
||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||
"MSG_YES" = "Yes";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disables YouTube feature hints that are displayed when the app is newly installed";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hides the upper bar in home and subscription feeds (e.g., All videos, Continue watching, etc.)";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "BigYTMiniPlayer";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "New mini player bar style";
|
||||
|
||||
"YT_RE_EXPLORE" = "YTReExplore";
|
||||
"YT_RE_EXPLORE_DESC" = "Replaces the Shorts tab with the Explore tab";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enables FLEX for debugging";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Google Sign in (for TrollStore user only)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Only turn on this option when you can't sign in with your Google account and the app was installed via TrollStore. If you can log in normally, keep it disabled. App restart is required.";
|
||||
|
|
@ -1,12 +1,43 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "uYouPlus'ın sürümü: %@";
|
||||
"VERSION_CHECK" = "Güncellemeyi kontrol etmek için dokun!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Oynatıcı Seçenekleri";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Otomatik Tam Ekran (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Videoları otomatik olarak tam ekranda oynatır.";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Tema ayarları";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "Varsayılan";
|
||||
"DEFAULT_THEME_DESC" = "YouTube'un varsayılan daha karanlık teması. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"OLD_DARK_THEME" = "Eski karanlık tema";
|
||||
"OLD_DARK_THEME_DESC" = "Eski YouTube'un karanlık teması (gri tema). Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Karanlık modu (Deneysel)";
|
||||
"OLED_DARK_THEME_2" = "OLED Karanlık modu";
|
||||
"OLED_DARK_THEME_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Bu seçeneği etkinleştirdikten/devre dışı bıraktıktan sonra uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Klavye (Deneysel)";
|
||||
"OLED_KEYBOARD_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video Oynatıcı Seçenekleri";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Bölüme geçişi devre dışı bırak";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Video ararken otomatik olarak bölüme geçmeyi devre dışı bırakır. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
|
@ -21,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Kontrolleri Kaplaması Seçenekleri";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Kontrolleri Kaplaması Seçenekleri";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Otomatik oynatma anahtarını gizle";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Otomatik oynat anahtarını video kontrolleri katmanından gizler.";
|
||||
|
|
@ -44,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Önceki ve Sonraki Düğmelerini Değiştir";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Önceki ve Sonraki Düğmelerini Hızlı ileri ve Geri Sar düğmeleriyle değiştir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Kırmızı ilerleme çubuğu";
|
||||
"RED_PROGRESS_BAR_DESC" = "Kırmızı ilerleme çubuğunu geri getirir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Bitiş ekranlarının üzerine gelen kartları gizle.(YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Videoların sonundaki içerik oluşturucu bitiş ekranlarını (küçük resimler) gizler.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Tam ekran modunda sağ paneli gizle";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Kırmızı ilerleme çubuğu";
|
||||
"RED_PROGRESS_BAR_DESC" = "Kırmızı ilerleme çubuğunu geri getirir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "2:1 Video İçeriğinde Çentik/Ada Önleme (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Çentik/Dinamik Ada'nın YouTube'daki 2:1 video içeriğini yemesini önle. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Kontroller Kaplama Seçenekleri";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Shorts kanalının avatarını gizle";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Shorts beğenmeme düğmesini gizle";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Shorts yorum düğmesini gizle";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Shorts remix düğmesini gizle";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Shorts paylaşım düğmesini gizle";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "uYou'nun düğmelerini gizle";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Shorts'ta uYou'nun indirme düğmelerini gizle.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Abonelikler düğmesini gizle ";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Duraklatıldığında görünen Abonelikler düğmesini gizle .";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Kontroller Kaplama Seçenekleri";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "\"Süper Teşekkür Satın Alın\" afişini gizle";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Shorts'ta \"Süper Teşekkür Satın Alın\" afişini gizle.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Abonelikler düğmesini gizle ";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Duraklatıldığında görünen Abonelikler düğmesini gizle .";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Shorts'ta kaldığı yerden devam etmeyi devre dışı bırak";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Shorts izlerken YouTube'u kapatırsan Shorts, YouTube'u bir sonraki açışında otomatik olarak oynatılmaz.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Tema ayarları";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED Karanlık modu (Deneysel)";
|
||||
"OLED_DARK_THEME_2" = "OLED Karanlık modu";
|
||||
"OLED_DARK_THEME_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Bu seçeneği etkinleştirdikten/devre dışı bıraktıktan sonra uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"OLD_DARK_THEME" = "Eski karanlık tema";
|
||||
"OLD_DARK_THEME_DESC" = "Eski YouTube'un karanlık teması (gri tema). Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"DEFAULT_THEME" = "Varsayılan";
|
||||
"DEFAULT_THEME_DESC" = "YouTube'un varsayılan daha karanlık teması. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Klavye (Deneysel)";
|
||||
"OLED_KEYBOARD_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Diğer";
|
||||
"MISCELLANEOUS" = "🔎 Diğer";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Yayınlamadan önce uyarıyı onayla (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "TV'nin yanlışlıkla ele geçirilmesini önlemek için yayınlamadan önce bir onay uyarısı gösterir.";
|
||||
|
|
@ -115,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "İpuçlarını devre dışı bırak";
|
||||
"DISABLE_HINTS_DESC" = "Genellikle uygulama yeni yüklendiğinde görüntülenen YouTube'dan özellik ipuçlarını devre dışı bırak.";
|
||||
|
||||
"ENABLE_FLEX" = "FLEX'i etkinleştir";
|
||||
"ENABLE_FLEX_DESC" = "Hata ayıklama için FLEX'i etkinleştir (önerilmez). Ne yaptığını bilmiyorsan bunu kapalı bırak.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube başlangıç animasyonunu etkinleştir";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Google Oturumu Açma'yı düzeltin (yalnızca TrollStore kullanıcıları için)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Bu seçeneği yalnızca Google hesabınızla oturum açamadığınızda ve uygulama TrollStore aracılığıyla yüklendiyse aç. Normal olarak giriş yapabiliyorsan, devre dışı bırak. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Üst çubuğu gizle";
|
||||
"HIDE_CHIP_BAR_DESC" = "Ana Sayfa akışlarında (Trendler, Müzik, Oyun...) ve Abonelik akışlarında (Tüm videolar, İzlemeye devam et...) Üst çubuğu gizle. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Düzeni";
|
||||
"IPHONE_LAYOUT_DESC" = "iPhone Düzenini kullanmak istersen etkinleştir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Yeni mini oynatıcı bar stili. (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Shorts sekmesini Keşfet sekmesiyle değiştirin (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Düzeni";
|
||||
"IPHONE_LAYOUT_DESC" = "iPhone Düzenini kullanmak istersen etkinleştir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
"ENABLE_FLEX" = "FLEX'i etkinleştir";
|
||||
"ENABLE_FLEX_DESC" = "Hata ayıklama için FLEX'i etkinleştir (önerilmez). Ne yaptığını bilmiyorsan bunu kapalı bırak.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Google Oturumu Açma'yı düzeltin (yalnızca TrollStore kullanıcıları için)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Bu seçeneği yalnızca Google hesabınızla oturum açamadığınızda ve uygulama TrollStore aracılığıyla yüklendiyse aç. Normal olarak giriş yapabiliyorsan, devre dışı bırak. Uygulamanın yeniden başlatılması gerekir.";
|
||||
BIN
Localizations/uYouPlus.bundle/uYouPlus_logo.png
Normal file
BIN
Localizations/uYouPlus.bundle/uYouPlus_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
BIN
Localizations/uYouPlus.bundle/uYouPlus_logo_dark.png
Normal file
BIN
Localizations/uYouPlus.bundle/uYouPlus_logo_dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
|
|
@ -1,20 +1,48 @@
|
|||
// Settings
|
||||
"VERSION" = "Phiên bản của uYouPlus: %@";
|
||||
// About
|
||||
"ABOUT" = "Giới thiệu";
|
||||
|
||||
"VERSION" = "Phiên bản";
|
||||
"VERSION_CHECK" = "Chạm để kiểm tra bản cập nhật!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Tùy chọn trình phát video";
|
||||
"REPORT_AN_ISSUE" = "Báo lỗi";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Tự động toàn màn hình (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Tự động phát video ở chế độ toàn màn hình.";
|
||||
"QUIT_YOUTUBE" = "Đóng YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Khởi động lại YouTube để áp dụng các thay đổi";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 Giao diện của ứng dụng";
|
||||
"THEME_OPTIONS" = "Tùy chọn giao diện";
|
||||
|
||||
"DARK_THEME" = "Giao diện tối";
|
||||
|
||||
"DEFAULT_THEME" = "Mặc định";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Xám nhạt";
|
||||
"OLD_DARK_THEME_DESC" = "Giao diện tối cũ của YouTube";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED (thử nghiệm)";
|
||||
"OLED_DARK_THEME_2" = "OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Giao diện tối màu đen hoàn toàn";
|
||||
|
||||
"OLED_KEYBOARD" = "Bàn phím OLED (thử nghiệm)";
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Tùy chọn trình phát video";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Vuốt để tua";
|
||||
"SLIDE_TO_SEEK_DESC" = "Đem lại cử chỉ vuốt để tua như trước đây.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Tắt tình năng chạm 2 lần để tua";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Vô hiệu hóa tự động chuyển tới chương";
|
||||
"SNAP_TO_CHAPTER" = "Tắt tự động chuyển tới chương";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Tắt tính năng tự động chuyển tới chương gần nhất khi tua video. Cần khởi động lại ứng dụng.";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Vô hiệu hóa chạm để thu phóng";
|
||||
"PINCH_TO_ZOOM" = "Tắt tính năng chạm để thu phóng";
|
||||
"PINCH_TO_ZOOM_DESC" = "Cần khởi động lại ứng dụng.";
|
||||
|
||||
"YT_MINIPLAYER" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn hiển thị trong trình phát video";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Tùy chọn hiển thị trong trình phát video";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ẩn nút Tự động phát";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ẩn nút Tự động phát trong trình phát video.";
|
||||
|
|
@ -38,8 +66,8 @@
|
|||
"HIDE_PAID_PROMOTION_CARDS" = "Ẩn banner quảng cáo được trả tiền";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ẩn banner 'Chứa nội dung được trả tiền để quảng cáo' trong một số video.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Ẩn hình mờ kênh";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Ẩn hình mờ của kênh trong lớp phủ điều khiển video. Yêu cầu khởi động lại ứng dụng.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Ẩn watermark của kênh";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Ẩn watermark của kênh trong video. Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ẩn nút Next và nút Previous";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ẩn nút Next và nút Previous trong trình phát video.";
|
||||
|
|
@ -47,38 +75,17 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Thay thế nút chuyển video";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Thay thế nút chuyển video bằng nút tua nhanh. Cần khởi động lại ứng dụng.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Thanh tiến trình màu đỏ";
|
||||
"RED_PROGRESS_BAR_DESC" = "Mang lại thanh tiến trình màu đỏ. Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ẩn video dạng thumbnails (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ẩn thumbnail của các video đề xuất xuất hiện ở cuối video.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Ẩn bảng điều khiển bên phải";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Ẩn bảng điều khiển bên phải khi ở chế độ toàn màn hình. Cần khởi động lại ứng dụng.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Thanh tiến trình màu đỏ";
|
||||
"RED_PROGRESS_BAR_DESC" = "Mang lại thanh tiến trình màu đỏ. Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Ẩn tai thỏ/Dynamic Island (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Ẩn tai thỏ/Dynamic Island chèn vào các video có tỷ lệ 2:1. Cần khởi động lại ứng dụng.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn hiển thị trong Shorts";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Ẩn hình đại diện của kênh";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Ẩn nút không thích";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Ẩn nút bình luận";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Ẩn nút phối lại video";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Ẩn nút chia sẻ";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Ẩn nút tải xuống của uYou";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Tùy chọn hiển thị trong Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ẩn biểu ngữ 'Mua ảnh động Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ẩn biểu ngữ 'Mua ảnh động Super Thanks'.";
|
||||
|
|
@ -89,24 +96,11 @@
|
|||
"DISABLE_RESUME_TO_SHORTS" = "Tắt tính năng tự động tiếp tục Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Nếu bạn thoát YouTube trong khi đang xem video Shorts, video Shorts đó sẽ không tự động phát khi bạn mở lại YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Tùy chọn giao diện";
|
||||
|
||||
"OLED_DARK_THEME" = "Chế độ tối cho màn OLED (Thử nghiệm)";
|
||||
"OLED_DARK_THEME_2" = "Chế độ tối cho màn OLED";
|
||||
"OLED_DARK_THEME_DESC" = "Có thể không hoạt động tốt trong một số trường hợp. Cần khởi động lại ứng dụng nếu bạn bật/tắt tính năng này, nhưng không cần khởi động lại ứng dụng nếu chuyển giữa chế độ Sáng và chế độ Tối.";
|
||||
|
||||
"OLD_DARK_THEME" = "Chủ đề tối cũ";
|
||||
"OLD_DARK_THEME_DESC" = "Chủ đề tối cũ của YouTube (chủ đề màu xám). Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"DEFAULT_THEME" = "Mặc định";
|
||||
"DEFAULT_THEME_DESC" = "Chủ đề tối mặc định của YouTube. Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"OLED_KEYBOARD" = "Bàn phím tối cho màn OLED (Thử nghiệm)";
|
||||
"OLED_KEYBOARD_DESC" = "Có thể không hoạt động tốt trong một vài trường hợp. Cần khởi động lại ứng dụng.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Cài đặt khác";
|
||||
"MISCELLANEOUS" = "🔎 Cài đặt khác";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Xác nhận trước khi cast video (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Hiện hộp thoại xác nhận trước khi cast video sang TV để tránh vô tình chiếm quyền điều khiển TV.";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "Ẩn gợi ý";
|
||||
"DISABLE_HINTS_DESC" = "Ẩn các gợi ý tính năng thường hiện khi mới cài đặt YouTube.";
|
||||
|
||||
"ENABLE_FLEX" = "Bật FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Bật FLEX để kiểm tra/sửa lỗi (không khuyến khích). Nếu bạn không biết FLEX là gì thì đừng bật tính năng này.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Bật hiệu ứng khi khởi động YouTube";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Sửa lỗi không thể đăng nhập tài khoản Google";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Chỉ bật tính năng này khi bạn không thể đăng nhập tài khoản Google và ứng dụng được cài qua TrollStore. Nếu bạn có thể đăng nhập bình thường thì hãy tắt tính năng này. Cần khởi động lại ứng dụng.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Ẩn thanh phím tắt";
|
||||
"HIDE_CHIP_BAR_DESC" = "Ẩn thanh phím tắt trong Home feed (Thịnh hành, Âm nhạc, Trò chơi...) và trong Subciption feed (Tất cả, Tiếp tục xem...).";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ẩn \"Phát tiếp theo trong danh sách chờ\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Giao diện trình phát thu nhỏ kiểu mới (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Cần khởi động lại ứng dụng.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Thay thế tab Shorts bằng tab Khám phá (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Cần khởi động lại ứng dụng.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
"ENABLE_FLEX" = "Bật FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Bật FLEX để kiểm tra/sửa lỗi (không khuyến khích). Nếu bạn không biết FLEX là gì thì đừng bật tính năng này.";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Sửa lỗi không thể đăng nhập tài khoản Google";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Chỉ bật tính năng này khi bạn không thể đăng nhập tài khoản Google và ứng dụng được cài qua TrollStore. Nếu bạn có thể đăng nhập bình thường thì hãy tắt tính năng này. Cần khởi động lại ứng dụng.";
|
||||
BIN
Localizations/uYouPlus.bundle/youtube_logo.png
Normal file
BIN
Localizations/uYouPlus.bundle/youtube_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
BIN
Localizations/uYouPlus.bundle/youtube_logo_dark.png
Normal file
BIN
Localizations/uYouPlus.bundle/youtube_logo_dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 81 KiB |
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "当前 uYouPlus 版本:%@";
|
||||
"VERSION_CHECK" = "点击此处前往 GitHub 查看最新版本信息!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "视频播放器选项";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "自动全屏 (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "自动全屏播放视频。";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "主题选项";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "默认深色模式";
|
||||
"DEFAULT_THEME_DESC" = "使用当前版本 YouTube 的默认深色模式(比灰色稍暗)。更改本设置后需要重启 App。";
|
||||
|
||||
"OLD_DARK_THEME" = "旧深色模式";
|
||||
"OLD_DARK_THEME_DESC" = "使用旧版本 YouTube 的深色模式(灰色模式)。更改本设置后需要重启 App。";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 深色模式(实验性功能)";
|
||||
"OLED_DARK_THEME_2" = "OLED 深色模式";
|
||||
"OLED_DARK_THEME_DESC" = "使用全黑背景,在使用 OLED 屏幕时可节省电量。在某些情况下可能不会正常工作。更改本设置后需要重启 App。";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 键盘(实验性功能)";
|
||||
"OLED_KEYBOARD_DESC" = "在某些情况下可能不会正常工作。更改本设置后需要重启 App。";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 视频播放器选项";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "禁用双击快进和快退";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "视频播放器控制界面选项";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 视频播放器控制界面选项";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "隐藏自动播放模式开关";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "隐藏视频播放器控制界面上的自动播放开关。";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "替换上一个/下一个按钮";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "将视频播放器控制界面上的上一个/下一个按钮替换成快进/快退按钮。更改本设置后需要重启 App。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "红色进度条";
|
||||
"RED_PROGRESS_BAR_DESC" = "将新版本中的白色进度条还原为红色。更改本设置后需要重启 App。";
|
||||
|
||||
"HIDE_HOVER_CARD" = "隐藏片尾画面悬浮卡片 (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "隐藏视频结尾处的片尾画面元素。例如:其他视频的封面等。";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "隐藏全屏模式右侧面板";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "更改本设置后需要重启App。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "红色进度条";
|
||||
"RED_PROGRESS_BAR_DESC" = "将新版本中的白色进度条还原为红色。更改本设置后需要重启 App。";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "2:1 视频刘海屏/灵动岛优化 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "改进部分机型的刘海区域或灵动岛在 2:1 比例视频中引发的遮挡问题。更改本设置后需要重启 App。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 短片播放器选项";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "隐藏频道头像";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "隐藏“踩”按钮";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "隐藏评论按钮";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "隐藏混剪按钮";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "隐藏分享按钮";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "隐藏 uYou 下载按钮";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "隐藏 Shorts 短片播放器中的 uYou 下载按钮。";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "隐藏订阅按钮";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "隐藏在暂停时出现的订阅按钮。";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 短片播放器选项";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "隐藏“购买超级感谢”横幅";
|
||||
"HIDE_SUPER_THANKS_DESC" = "隐藏出现在部分 Shorts 短片中的“购买超级感谢”横幅。";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "隐藏订阅按钮";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "隐藏在暂停时出现的订阅按钮。";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "应用重启后不恢复至 Shorts 短片";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "若您在观看 Shorts 短片时关闭了 YouTube,下次启动时将不再自动进入 Shorts 短片分区。";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "主题选项";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 深色模式(实验性功能)";
|
||||
"OLED_DARK_THEME_2" = "OLED 深色模式";
|
||||
"OLED_DARK_THEME_DESC" = "使用全黑背景,在使用 OLED 屏幕时可节省电量。在某些情况下可能不会正常工作。更改本设置后需要重启 App。";
|
||||
|
||||
"OLD_DARK_THEME" = "旧深色模式";
|
||||
"OLD_DARK_THEME_DESC" = "使用旧版本 YouTube 的深色模式(灰色模式)。更改本设置后需要重启 App。";
|
||||
|
||||
"DEFAULT_THEME" = "默认深色模式";
|
||||
"DEFAULT_THEME_DESC" = "使用当前版本 YouTube 的默认深色模式(比灰色稍暗)。更改本设置后需要重启 App。";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 键盘(实验性功能)";
|
||||
"OLED_KEYBOARD_DESC" = "在某些情况下可能不会正常工作。更改本设置后需要重启 App。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "其它选项";
|
||||
"MISCELLANEOUS" = "🔎 其它选项";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "投屏前确认 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "在投屏前显示确认对话框以防意外劫屏。";
|
||||
|
|
@ -118,23 +112,26 @@
|
|||
"DISABLE_HINTS" = "禁用首开介绍";
|
||||
"DISABLE_HINTS_DESC" = "禁用首次打开 App 时出现的功能探索提示。";
|
||||
|
||||
"ENABLE_FLEX" = "启用 FLEX";
|
||||
"ENABLE_FLEX_DESC" = "启用 FLEX 调试程序(不推荐)。如果您不熟悉本设置的效果,请将其禁用。";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "播放启动动画";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "修复 Google 账号登录问题(仅 TrollStore 用户有效)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "仅在使用 TrollStore 安装本 App 的情况下生效:启用本设置后即可正常登录您的 Google 账号。更改本设置后需要重启 App。";
|
||||
|
||||
"HIDE_CHIP_BAR" = "隐藏顶部标签栏";
|
||||
"HIDE_CHIP_BAR_DESC" = "隐藏首页和订阅内容页顶部的标签栏(例如:首页顶部的“音乐”、“游戏”、“新闻”以及订阅内容页顶部的“今天”、“继续观看”、“未观看”等)。更改本设置后需要重启 App。";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone 视图";
|
||||
"IPHONE_LAYOUT_DESC" = "在 iPad 上使用 iPhone 版本的应用布局,以便查看社区贴子和使用短片创作功能。更改本设置后需要重启 App。";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "新迷你播放器风格 (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "更改本设置后需要重启 App。";
|
||||
|
||||
"YT_RE_EXPLORE" = "将 Shorts 选项卡替换成探索选项卡 (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "更改本设置后需要重启 App。";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone 视图";
|
||||
"IPHONE_LAYOUT_DESC" = "在 iPad 上使用 iPhone 版本的应用布局,以便查看社区贴子和使用短片创作功能。更改本设置后需要重启 App。";
|
||||
"ENABLE_FLEX" = "启用 FLEX";
|
||||
"ENABLE_FLEX_DESC" = "启用 FLEX 调试程序(不推荐)。如果您不熟悉本设置的效果,请将其禁用。";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "修复 Google 账号登录问题(仅 TrollStore 用户有效)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "仅在使用 TrollStore 安装本 App 的情况下生效:启用本设置后即可正常登录您的 Google 账号。更改本设置后需要重启 App。";
|
||||
|
|
@ -1,12 +1,40 @@
|
|||
// Settings
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
|
||||
"VERSION" = "uYouPlus 版本為: %@";
|
||||
"VERSION_CHECK" = "查看最新版本";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "播放器選項";
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
|
||||
"AUTO_FULLSCREEN" = "自動全螢幕 (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "自動全螢幕播放影片。";
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "主題風格選項";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
|
||||
"DEFAULT_THEME" = "預設";
|
||||
"DEFAULT_THEME_DESC" = "YouTube預設深色模式. 需要重新啟動應用程式。";
|
||||
|
||||
"OLD_DARK_THEME" = "傳統深色模式";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube深色模式 (灰色風格). 需要重新啟動應用程式。";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 深色模式(實驗性)";
|
||||
"OLED_DARK_THEME_2" = "OLED 深色模式";
|
||||
"OLED_DARK_THEME_DESC" = "在某些情況下無法正常運作。更動此選項後,需要重新啟動應用程式。";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 鍵盤(實驗性)";
|
||||
"OLED_KEYBOARD_DESC" = "在某些情況下可能無法正常運作。需要重新啟動應用程式。";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 播放器選項";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
|
@ -24,7 +52,7 @@
|
|||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "影片懸浮控制選項";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 影片懸浮控制選項";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "隱藏自動播放開關";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "在影片控制中隱藏自動播放開關。";
|
||||
|
|
@ -47,66 +75,32 @@
|
|||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "更換上一個/下一個按鈕";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "將影片播放器控制介面上的上一個/下一個按鈕替換成快轉/倒轉按鈕,需要重新啟動應用程式。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "紅色進度列";
|
||||
"RED_PROGRESS_BAR_DESC" = "恢復紅色進度列. 需要重新啟動應用程式。";
|
||||
|
||||
"HIDE_HOVER_CARD" = "隱藏片尾畫面懸浮卡 (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "在影片結尾隱藏創作者結束畫面。";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "在全螢幕下隱藏右側面板";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "需要重新啟動應用程式。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "紅色進度列";
|
||||
"RED_PROGRESS_BAR_DESC" = "恢復紅色進度列. 需要重新啟動應用程式。";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "2:1 影片瀏海/動態島優化(DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "改進部分機型的瀏海區域/動態島在 2:1 影片中的遮擋問題,需要重新啟動應用程式。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 懸浮控制選項";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "隱藏 Shorts 頻道大頭照";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "隱藏 Shorts 不喜歡按鈕";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "隱藏 Shorts 留言按鈕";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "隱藏 Shorts remix 按鈕";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "隱藏 Shorts 分享按鈕";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "隱藏 uYou 按鈕";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "在 Shorts 中隱藏 uYou 下載按鈕.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "隱藏訂閱按鈕";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "隱藏當暫停時出現的訂閱按鈕。";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 懸浮控制選項";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "隱藏 '購買超級感謝' 橫幅";
|
||||
"HIDE_SUPER_THANKS_DESC" = "在 Shorts 中隱藏 '購買超級感謝' 橫幅.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "隱藏訂閱按鈕";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "隱藏當暫停時出現的訂閱按鈕。";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "停用恢復播放 Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "如果你在觀看 Shorts 時關閉程式,下次開啟程式時將不再自動播放 Shorts.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "主題風格選項";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED 深色模式(實驗性)";
|
||||
"OLED_DARK_THEME_2" = "OLED 深色模式";
|
||||
"OLED_DARK_THEME_DESC" = "在某些情況下無法正常運作。更動此選項後,需要重新啟動應用程式。";
|
||||
|
||||
"OLD_DARK_THEME" = "傳統深色模式";
|
||||
"OLD_DARK_THEME_DESC" = "YouTube深色模式 (灰色風格). 需要重新啟動應用程式。";
|
||||
|
||||
"DEFAULT_THEME" = "預設";
|
||||
"DEFAULT_THEME_DESC" = "YouTube預設深色模式. 需要重新啟動應用程式。";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED 鍵盤(實驗性)";
|
||||
"OLED_KEYBOARD_DESC" = "在某些情況下可能無法正常運作。需要重新啟動應用程式。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "雜項";
|
||||
"MISCELLANEOUS" = "🔎 雜項";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "投放前確認 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "在投放前顯示確認訊息,以防止家人幹樵。";
|
||||
|
|
@ -118,24 +112,26 @@
|
|||
"DISABLE_HINTS" = "停用提示";
|
||||
"DISABLE_HINTS_DESC" = "停用初次安裝應用程式時顯示的功能提示。";
|
||||
|
||||
|
||||
"ENABLE_FLEX" = "啟用 FLEX";
|
||||
"ENABLE_FLEX_DESC" = "啟用 FLEX 供除錯 (不推薦)。 當你不知道你在幹嘛時請勿使用。";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "啟用 Youtube 歡迎動畫";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "修復 Google 帳號登入問題(僅TrollStore 使用者有效)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "僅在使用 TrollStore 安裝此應用程式時有效:啟用本設定後即可正常登入 Google 帳號,需要重新啟動應用程式。";
|
||||
|
||||
"HIDE_CHIP_BAR" = "隱藏上層欄位";
|
||||
"HIDE_CHIP_BAR_DESC" = "隱藏主畫面上層欄位 (話題, 音樂, 遊戲...) 和訂閱對象動態 (所有影片, 繼續觀看...). 需要重新啟動應用程式。";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone 佈局";
|
||||
"IPHONE_LAYOUT_DESC" = "切換使用iPhone佈局. 需要重新啟動應用程式。";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "迷你播放器 (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "需要重新啟動應用程式。";
|
||||
|
||||
"YT_RE_EXPLORE" = "用探索分頁代替 Shorts 分頁 (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "需要重新啟動應用程式。";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone 佈局";
|
||||
"IPHONE_LAYOUT_DESC" = "切換使用iPhone佈局. 需要重新啟動應用程式。";
|
||||
"ENABLE_FLEX" = "啟用 FLEX";
|
||||
"ENABLE_FLEX_DESC" = "啟用 FLEX 供除錯 (不推薦)。 當你不知道你在幹嘛時請勿使用。";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "修復 Google 帳號登入問題(僅TrollStore 使用者有效)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "僅在使用 TrollStore 安裝此應用程式時有效:啟用本設定後即可正常登入 Google 帳號,需要重新啟動應用程式。";
|
||||
20
Makefile
20
Makefile
|
|
@ -1,10 +1,10 @@
|
|||
export TARGET = iphone:clang:15.5:14.0
|
||||
export TARGET = iphone:clang:16.2:14.0
|
||||
export ARCHS = arm64
|
||||
|
||||
export libcolorpicker_ARCHS = arm64
|
||||
export libFLEX_ARCHS = arm64
|
||||
export Alderis_XCODEOPTS = LD_DYLIB_INSTALL_NAME=@rpath/Alderis.framework/Alderis
|
||||
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)" -quiet
|
||||
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)" -q
|
||||
export libcolorpicker_LDFLAGS = -F$(TARGET_PRIVATE_FRAMEWORK_PATH) -install_name @rpath/libcolorpicker.dylib
|
||||
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks/RemoteLog
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ MODULES = jailed
|
|||
endif
|
||||
|
||||
ifndef YOUTUBE_VERSION
|
||||
YOUTUBE_VERSION = 18.32.2
|
||||
YOUTUBE_VERSION = 19.05.3
|
||||
endif
|
||||
ifndef UYOU_VERSION
|
||||
UYOU_VERSION = 3.0.1
|
||||
|
|
@ -26,18 +26,20 @@ TWEAK_NAME = uYouPlus
|
|||
DISPLAY_NAME = YouTube
|
||||
BUNDLE_ID = com.google.ios.youtube
|
||||
|
||||
$(TWEAK_NAME)_FILES = uYouPlus.xm Settings.xm
|
||||
$(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x)
|
||||
$(TWEAK_NAME)_FRAMEWORKS = UIKit Security
|
||||
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
|
||||
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib
|
||||
# $(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib
|
||||
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/MrBeastify.dylib
|
||||
$(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
|
||||
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks/Alderis.framework
|
||||
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
|
||||
$(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle)
|
||||
$(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex)
|
||||
|
||||
include $(THEOS)/makefiles/common.mk
|
||||
ifneq ($(JAILBROKEN),1)
|
||||
SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/Return-YouTube-Dislikes Tweaks/YouPiP Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality
|
||||
# SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/MrBeastify
|
||||
SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/MrBeastify
|
||||
include $(THEOS_MAKE_PATH)/aggregate.mk
|
||||
endif
|
||||
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||
|
|
@ -61,7 +63,7 @@ before-all::
|
|||
fi
|
||||
before-all::
|
||||
@if [[ ! -f $(UYOU_DEB) ]]; then \
|
||||
curl -s https://miro92.com/repo/debs/com.miro.uyou_$(UYOU_VERSION)_iphoneos-arm.deb -o $(UYOU_DEB); \
|
||||
curl -s -L "https://www.dropbox.com/scl/fi/5f0esi1en9so7t8lhmyjm/com.miro.uyou_$(UYOU_VERSION)_iphoneos-arm.deb?rlkey=00nncobda6tcfvhzid5or1lnn&dl=1" -o $(UYOU_DEB); \
|
||||
fi; \
|
||||
if [[ ! -f $(UYOU_DYLIB) || ! -d $(UYOU_BUNDLE) ]]; then \
|
||||
tar -xf Tweaks/uYou/com.miro.uyou_$(UYOU_VERSION)_iphoneos-arm.deb -C Tweaks/uYou; tar -xf Tweaks/uYou/data.tar* -C Tweaks/uYou; \
|
||||
|
|
@ -71,5 +73,5 @@ before-all::
|
|||
fi;
|
||||
else
|
||||
before-package::
|
||||
@mkdir -p $(THEOS_STAGING_DIR)/Library/Application\ Support; cp -r lang/uYouPlus.bundle $(THEOS_STAGING_DIR)/Library/Application\ Support/
|
||||
@mkdir -p $(THEOS_STAGING_DIR)/Library/Application\ Support; cp -r Localizations/uYouPlus.bundle $(THEOS_STAGING_DIR)/Library/Application\ Support/
|
||||
endif
|
||||
|
|
|
|||
343
README.md
343
README.md
|
|
@ -1,134 +1,226 @@
|
|||

|
||||
***
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow" alt="Badge"/>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
|
||||
|
||||
|
||||
|
||||
<a href="https://user-images.githubusercontent.com/78001398/271790092-006e81cc-715a-4fbc-aff6-15832e2da8c4.png">
|
||||
<img src="https://user-images.githubusercontent.com/78001398/271790092-006e81cc-715a-4fbc-aff6-15832e2da8c4.png" alt="UYOUPLUS_LOGO" width="200" height="200">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/releases/latest"><img src="https://custom-icon-badges.demolab.com/github/v/release/qnblackcat/uYouPlus?color=brightgreen&label=Latest%20release" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/releases/latest"><img src="https://img.shields.io/github/downloads/qnblackcat/uYouPlus/total?label=Download" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/commit"><img src="https://custom-icon-badges.demolab.com/github/last-commit/qnblackcat/uYouPlus?logo=history&logoColor=white&label=Last commit" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/issues"><img src="https://custom-icon-badges.demolab.com/github/issues-raw/qnblackcat/uYouPlus?logo=issue-opened&label=Issues" alt="Badge"></img></a>
|
||||
|
||||
<a href="https://user-images.githubusercontent.com/52943116/189822859-8a0952db-9264-4b5b-9cbe-d0a87b2db5a0.PNG">
|
||||
<img src="https://user-images.githubusercontent.com/78001398/271856328-dc45c8de-fb9c-403f-b287-3b9b270b84eb.png" alt="UYOUPLUS_SCREENSHOTS">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/github/stars/qnblackcat/uYouPlus?style=social" alt="Badge"/>
|
||||
<img src="https://img.shields.io/github/forks/qnblackcat/uYouPlus?style=social" alt="Badge"/>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus#support-the-developers"><img src="https://img.shields.io/badge/-Support-lightgrey?style=social&logo=paypal" alt="Badge"></img></a>
|
||||
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow?logo=apple&logoColor=white" alt="Platform Badge">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/releases/latest"><img src="https://custom-icon-badges.demolab.com/github/v/release/arichornlover/uYouEnhanced?logo=youtube&color=%23e81e8a&label=Latest%20Release" alt="Latest Release Badge"></a>
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/releases/latest"><img src="https://img.shields.io/github/downloads/qnblackcat/uYouPlus/total?color=%23e81e8a&label=Downloads&logo=cloudsmith&logoColor=white" alt="Download Badge"></a>
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/commit"><img src="https://custom-icon-badges.demolab.com/github/last-commit/arichornlover/uYouEnhanced?logo=history&logoColor=white&color=%23e81e8a&label=Last%20Commit" alt="Last Commit Badge"></a>
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/issues"><img src="https://custom-icon-badges.demolab.com/github/issues-raw/arichornlover/uYouEnhanced?logo=issue-opened&logoColor=white&color=%23e81e8a&label=Issues" alt="Issues Badge"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/stargazers"><img src="https://custom-icon-badges.demolab.com/github/stars/arichornlover/uYouEnhanced?style=flat&logo=star&logoColor=white&color=%23e81e8a&label=Stars" alt="Stars Badge"></img></a>
|
||||
<a href="https://github.com/arichornlover/uYouEnhanced/network/members"><img src="https://custom-icon-badges.demolab.com/github/forks/arichornlover/uYouEnhanced?style=flat&logo=github&logoColor=white&color=%23e81e8a&label=Forks"></a>
|
||||
</p>
|
||||
|
||||
# Table of Contents
|
||||
|
||||
* [Credits](#credits)
|
||||
* [Features](#features)
|
||||
* [Known issues](#known-issues)
|
||||
* [Download](#download)
|
||||
* [Installation](#installation)
|
||||
* [Support the developers!](#support-the-developers)
|
||||
* [FAQ](#faq)
|
||||
* [Building](#building-optional)
|
||||
[](#credits)<br>
|
||||
[](#features)<br>
|
||||
[](#known-issues)<br>
|
||||
[](#download)<br>
|
||||
[](#installation)<br>
|
||||
[](#support-the-developers)<br>
|
||||
[](#faq)<br>
|
||||
[](#building-optional)
|
||||
|
||||
# Credits
|
||||
- Special thanks to all the developers who have contributed to uYouPlus!
|
||||
- Special thanks to all the developers who have worked on uYouPlus/uYouPlusExtra!
|
||||
|
||||
<table id='credit'>
|
||||
<tr>
|
||||
<td id='miro92'>
|
||||
|
||||
<MiRO92>
|
||||
<td align="center">
|
||||
<a href='https://github.com/MiRO92'>
|
||||
<img src='https://github.com/MiRO92.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271811861-da79accc-095c-4cb3-b7b4-8d48b1449259.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/miro92'>MiRO92</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/miro92'>MiRO92</a>
|
||||
</td>
|
||||
<td id='poomsmart'>
|
||||
|
||||
<qnblackcat>
|
||||
<td align="center">
|
||||
<a href='https://github.com/qnblackcat'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812521-e52ebf96-7272-4ec0-a149-8e721c053508.png' width='110px'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/qnblackcat'>qnblackcat</a>
|
||||
</td>
|
||||
|
||||
<PoomSmart>
|
||||
<td align="center">
|
||||
<a href='https://github.com/PoomSmart'>
|
||||
<img src='https://github.com/PoomSmart.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271811615-96093202-4aec-4e50-a750-8c7b83f3862c.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/poomsmart'>PoomSmart</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/poomsmart'>PoomSmart</a>
|
||||
</td>
|
||||
<td id='level3tjg'>
|
||||
|
||||
<level3tjg>
|
||||
<td align="center">
|
||||
<a href='https://github.com/level3tjg'>
|
||||
<img src='https://github.com/level3tjg.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812596-7854996a-3825-4971-a9ff-1001b4d153cb.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/level3tjg'>level3tjg</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/level3tjg'>level3tjg</a>
|
||||
</td>
|
||||
<td id='bandarHL'>
|
||||
|
||||
<BandarHL>
|
||||
<td align="center">
|
||||
<a href='https://github.com/BandarHL'>
|
||||
<img src='https://github.com/BandarHL.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812729-2bb63da0-5239-43a4-aa3e-e1daa67e8dc2.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/bandarhl'>BandarHelal</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/bandarhl'>BandarHelal</a>
|
||||
</td>
|
||||
<td id='galactic-dev'>
|
||||
|
||||
<Galactic-Dev>
|
||||
<td align="center">
|
||||
<a href='https://github.com/Galactic-Dev'>
|
||||
<img src='https://github.com/Galactic-Dev.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812231-5b7d5d9f-6d19-4174-8478-8f07379ee1ca.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/dev_galactic'>galactic</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/dev_galactic'>galactic</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td id='julioverne'>
|
||||
|
||||
<julioverne>
|
||||
<td align="center">
|
||||
<a href='https://github.com/julioverne'>
|
||||
<img src='https://github.com/julioverne.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812914-bf26d603-2d94-49f4-9702-f5e66af3f44a.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/ijulioverne'>julioverne</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/ijulioverne'>julioverne</a>
|
||||
</td>
|
||||
<td id='hbang'>
|
||||
|
||||
<hbang>
|
||||
<td align="center">
|
||||
<a href='https://github.com/hbang'>
|
||||
<img src='https://github.com/hbang.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271813035-2e168ee5-fc47-43a6-9307-0fc20c7fca60.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/hashbang'>HASHBANG</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/hashbang'>HASHBANG</a>
|
||||
</td>
|
||||
<td id='lyvendia'>
|
||||
|
||||
<Lyvendia>
|
||||
<td align="center">
|
||||
<a href='https://github.com/Lyvendia'>
|
||||
<img src='https://github.com/Lyvendia.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812187-1c0d5b24-caba-4616-b875-4c458d10ca55.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://github.com/Lyvendia'>Lyvendia</a></h4>
|
||||
<br>
|
||||
<a href='https://github.com/Lyvendia'>Lyvendia</a>
|
||||
</td>
|
||||
<td id='foxster'>
|
||||
|
||||
<therealFoxster>
|
||||
<td align="center">
|
||||
<a href='https://github.com/therealFoxster'>
|
||||
<img src='https://github.com/therealFoxster.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812075-923038a7-5ffa-4ea4-9de4-fdf4e5d556c2.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/therealFoxster'>Foxster</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/therealFoxster'>Foxster</a>
|
||||
</td>
|
||||
<td id='ichitaso'>
|
||||
|
||||
<ichitaso>
|
||||
<td align="center">
|
||||
<a href='https://github.com/ichitaso'>
|
||||
<img src='https://github.com/ichitaso.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271812398-c7e40fa3-4e0b-4be2-aa51-900444d59abd.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/ichitaso'>ichitaso</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/ichitaso'>ichitaso</a>
|
||||
</td>
|
||||
|
||||
<AhmedBafkir>
|
||||
<td align="center">
|
||||
<a href='https://github.com/AhmedBafkir'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271813114-dcb005f7-b83b-40e6-a9cb-9b661dd6b33b.png' width='110px'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td id='ahmed-bafkir'>
|
||||
<a href='https://github.com/AhmedBafkir'>
|
||||
<img src='https://github.com/AhmedBafkir.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a></h4>
|
||||
</td>
|
||||
<td id='cokepokes'>
|
||||
|
||||
<CokePokes>
|
||||
<td align="center">
|
||||
<a href='https://github.com/CokePokes'>
|
||||
<img src='https://github.com/CokePokes.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271813228-d28471b4-cb67-442c-bd63-276f1641a14e.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/cokepokes'>CokePokes</a></h4>
|
||||
<br>
|
||||
<a href='https://twitter.com/cokepokes'>CokePokes</a>
|
||||
</td>
|
||||
<td id='isnackable'>
|
||||
|
||||
<ISnackable>
|
||||
<td align="center">
|
||||
<a href='https://github.com/ISnackable'>
|
||||
<img src='https://github.com/ISnackable.png' width='140px;'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271813311-2027a8de-a08d-4f1b-97a4-167f4bcef497.png' width='110px'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://isnackable.me/'>Tommy Teo</a></h4>
|
||||
<br>
|
||||
<a href='https://isnackable.me/'>Tommy Teo</a>
|
||||
</td>
|
||||
<td id='theos-team'>
|
||||
<a href='https://github.com/theos/theos'>
|
||||
<img src='https://github.com/theos.png' width='140px;'>
|
||||
|
||||
<dayanch96>
|
||||
<td align="center">
|
||||
<a href='https://github.com/dayanch96'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271853514-129334b3-498f-4804-aceb-392bf5e373e6.png' width='110px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://theos.dev'>theos</a></h4>
|
||||
<br>
|
||||
<a href='https://github.com/dayanch96'>dayanch96</a>
|
||||
</td>
|
||||
|
||||
<ssuesskind>
|
||||
<td align="center">
|
||||
<a href='https://github.com/ssuesskind'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271853585-77271641-b825-43b1-af57-d9f5b12fe8ff.png' width='110px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://github.com/ssuesskind'>ssuesskind</a>
|
||||
</td>
|
||||
|
||||
<balackburn>
|
||||
<td align="center">
|
||||
<a href='https://github.com/balackburn'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271853318-3005deb3-b484-4b2b-a093-44c2af79b9af.png' width='110px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://github.com/balackburn'>balackburn</a>
|
||||
</td>
|
||||
|
||||
<theos>
|
||||
<td align="center">
|
||||
<a href='https://github.com/theos/theos'>
|
||||
<img src='https://user-images.githubusercontent.com/78001398/271813393-56a63730-a56d-41ba-b473-4d37761526c9.png' width='110px'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://theos.dev'>theos</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<bhackel>
|
||||
<td align="center">
|
||||
<a href='https://github.com/bhackel'>
|
||||
<img src='https://github.com/arichornlover/uYouEnhanced/assets/78001398/d1d46f69-d7b9-4e6a-82b6-e5629d26667b' width='110px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://github.com/bhackel'>bhackel</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -146,85 +238,96 @@
|
|||
<details>
|
||||
<summary>And many more...!</summary>
|
||||
|
||||
5. **YTClassicVideoQuality:** since YouTube v16.xx, you need one more step to change the video quality. YTClassicVideoQuality brings back the old video quality selector, which is a lot better than the new one.
|
||||
5. **YTClassicVideoQuality:** Since YouTube v16.xx, changing video quality requires an extra step. YTClassicVideoQuality brings back the old video quality selector, which is more user-friendly than the new one.
|
||||
|
||||
6. **YTNoHoverCards:** offer an option to enable/disable the annoying suggested videos show up at the end of the videos.
|
||||
6. **YTNoHoverCards:** This tweak offers the option to enable or disable the annoying suggested videos that appear at the end of YouTube videos.
|
||||
|
||||
7. **YouRememberCaption**: make YouTube remember your video caption setting (if not already).
|
||||
7. **YouRememberCaption:** YouRememberCaption makes YouTube remember your video caption setting (if not already).
|
||||
|
||||
8. **NoYTPremium**: remove YouTube Premium upsells.
|
||||
8. **NoYTPremium:** NoYTPremium removes YouTube Premium upsells, preventing the ads and promotions for YouTube Premium from appearing.
|
||||
|
||||
9. **YTSpeed**: add 2.25, 2.5, 2.75, and 3x playback speed
|
||||
9. **YTSpeed:** YTSpeed adds additional playback speed options of 2.25x, 2.5x, 2.75x, 3x and more to the YouTube app, providing more flexibility in video playback speed.
|
||||
|
||||
10. **YTMiniplayerEnabler**: enable Miniplayer for all YouTube videos.
|
||||
10. **YTMiniplayerEnabler:** YTMiniplayerEnabler enables the Miniplayer feature for all YouTube videos.
|
||||
|
||||
11. **DontEatMyContent**: prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube.
|
||||
11. **DontEatMyContent:** This tweak prevents the notch or Dynamic Island from obstructing 2:1 video content on YouTube, ensuring a better viewing experience.
|
||||
|
||||
12. **YTABConfig**: allow user to control over YouTube A/B testing flags.
|
||||
12. **YTABConfig:** This tweak gives users control over YouTube's A/B testing flags, allowing them to enable or disable experimental features.
|
||||
|
||||
13. **YouMute**: mute YouTube videos via a button.
|
||||
13. **YouMute:** YouMute provides a button to mute YouTube videos in the video player, offering a convenient way to toggle the audio on and off.
|
||||
|
||||
14. **YouQuality**: change video quality via a button.
|
||||
14. **YouQuality:** YouQuality offers a button to change the video quality of YouTube videos in the video player, allowing quick access to different quality options.
|
||||
|
||||
15. **YTVideoOverlay**: add buttons to overlay the video.
|
||||
15. **YTVideoOverlay:** YTVideoOverlay adds buttons to overlay the video, providing quick access to features like captions, speed control, and quality settings.
|
||||
|
||||
16. **LowContrastMode:** LowContrastMode is a tweak that allows users to darken the text in the YouTube app, making it easier to read. **<-- uYouEnhanced Exclusive Feature (subject to change)**
|
||||
|
||||
</details>
|
||||
|
||||
# Known issues
|
||||
# Known issues
|
||||
|
||||
- **uYou**: all the known-issues of uYou are listed [here](https://github.com/MiRO92/uYou-for-YouTube/issues). Make sure you take a look at it before reporting any bugs! ***Also, keep in mind that uYou+ is a modified version of uYou, DO NOT bother MiRO92 with problems unrelated to uYou!!!***
|
||||
- **uYou**: All the known issues of uYou are listed [here](https://github.com/MiRO92/uYou-for-YouTube/issues). Make sure you take a look at it before reporting any bugs! Also, keep in mind that uYou+ is a modified version of uYou. DO NOT bother MiRO92 with problems unrelated to uYou!
|
||||
|
||||
- Issues that related to **uYouPlus** are [here](https://github.com/qnblackcat/uYouPlus/issues/)
|
||||
- Issues related to **uYouPlus** can be found [here](https://github.com/qnblackcat/uYouPlus/issues/), or issues related to **uYouEnhanced** can be found [here](https://github.com/arichornlover/uYouEnhanced/issues/).
|
||||
|
||||
# Download
|
||||
|
||||
- **uYouPlus** (or you can call it uYou+) requires iOS or iPadOS 14.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases/latest).
|
||||
- **uYouEnhanced** (or you can just call it uYouPlus / uYou+) requires iOS or iPadOS 14.0 or later. The latest version of **uYouEnhanced** ipa can be found in the [Release tab](https://github.com/arichornlover/uYouEnhanced/releases/latest).
|
||||
|
||||
<!-- - For AltStore user:
|
||||
- For AltStore user:
|
||||
|
||||
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
||||
- My official AltStore repo: https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornlover/arichornlover.github.io/main/apps.json
|
||||
|
||||
- [Open in AltStore (v18.14.1-3.0)](https://tinyurl.com/yv6wrxjz) - It will take a while to install because AltStore needs to download the IPA first. -->
|
||||
- [Open in AltStore (v19.04.3-3.0.1)](http://tinyurl.com/5n6hxnz8) - It will take a while to install because AltStore needs to download the IPA first.
|
||||
|
||||
- Version info: _(last update: Aug 5)_
|
||||
- Version info: _(last update: Jan 31 2024)_
|
||||
|
||||
<details>
|
||||
<summary>Expand ℹ️</summary>
|
||||
|
||||
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
||||
| - | - | :-: | :-: |
|
||||
| **YouTube** | Google Inc | 18.30.7 | ✖︎ |
|
||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0 | ✖︎ |
|
||||
| **YouTube** | Google Inc | 19.04.3 | ✖︎ |
|
||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.1 | ✖︎ |
|
||||
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
|
||||
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-15 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.1 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
||||
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
||||
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.0.6 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
||||
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.3 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
||||
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
||||
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
||||
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.3.5-1 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.19-1 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2 | [✔︎](https://github.com/hbang/Alderis) |
|
||||
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.2 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.8.2 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.0 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
||||
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.1 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
||||
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
||||
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
||||
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.3 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-2 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
||||
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
||||
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.0-2 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
||||
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.6 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-3 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
||||
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4-2 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
||||
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
||||
| **YTHoldForSpeed** | [joshuaseltzer](https://github.com/joshuaseltzer) | 1.2.0 | [✔︎](https://github.com/joshuaseltzer/YTHoldForSpeed) |
|
||||
| **LowContrastMode** | [arichornlover](https://github.com/arichornlover) | 1.5.2 | [✔︎](https://github.com/arichornlover/YTLowContrastMode) |
|
||||
|
||||
</details>
|
||||
|
||||
# uYou Tweak Compatibility List
|
||||
|
||||
| Developer | Tweak Name and Version | App Version Compatibility | iOS Version Compatibility |
|
||||
|-----------|-----------------------|--------------------------|--------------------------|
|
||||
| MiRO92 | uYou 2.1/2.3~1 | v16.42.3 - 18.01.6 | iOS 13 - iOS 15 |
|
||||
| MiRO92 | uYou 3.0 | v18.06.6 - 18.18.2 | iOS 14 - iOS 15 |
|
||||
| MiRO92 | uYou 3.0.1 | v18.19.1 - v18.41.5 | iOS 14 - iOS 17 |
|
||||
|
||||
# Installation
|
||||
See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installation).
|
||||
|
||||
# Support the developers
|
||||
- [**MiRO92**](https://twitter.com/miro92): https://github.com/MiRO92/uYou-for-YouTube#support
|
||||
- [**Poomsmart**](https://twitter.com/poomsmart): https://poomsmart.github.io
|
||||
- [**level3tjg**](https://twitter.com/level3tjg): https://ko-fi.com/level3tjg
|
||||
- [**BandarHL**](https://twitter.com/bandarhl): https://www.paypal.com/paypalme/BandarHL
|
||||
- [**julioverne**](https://twitter.com/ijulioverne): https://www.patreon.com/julioverne
|
||||
|
|
@ -238,4 +341,32 @@ See [FAQ - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/FAQ).
|
|||
|
||||
# Building (optional)
|
||||
|
||||
See [Building - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Building).
|
||||
See [qnblackcat/Building - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Building)
|
||||
or [arichornlover/Building - Wiki](https://github.com/arichornlover/uYouEnhanced/wiki/Building).
|
||||
|
||||
<details>
|
||||
<summary>Balackburn's YTLitePlus</summary><br>
|
||||
- Change from uYouPlus/uYouEnhanced to YTLitePlus (optional)
|
||||
|
||||
Hello, this is here to showcase this tweak. I have been seeing the YTLitePlus tweak on Reddit for quite some time now and decided to join in. Before you download the tweak, you should take a look at the pros and cons below to learn more about the tweak.
|
||||
|
||||
https://github.com/Balackburn/YTLitePlus/releases
|
||||
|
||||
**Pros**
|
||||
|
||||
- YTLitePlus is stable and more customizable than uYouPlus/uYouEnhanced.
|
||||
|
||||
- YTLitePlus provides more features in YTLite & YTLitePlus Sections in Settings that uYouPlus/uYouEnhanced may not have.
|
||||
|
||||
- YTLitePlus includes a lightweight version of the App Version Spoofer, making it easier to use.
|
||||
|
||||
- YTLitePlus does not cause your device to overheat, unlike uYouEnhanced.
|
||||
|
||||
**Cons**
|
||||
|
||||
- No custom video downloading feature in YTLitePlus.
|
||||
|
||||
- Video quality on WiFi option is not available in YTLitePlus.
|
||||
|
||||
- Reordering the pivot bar tabs such as ‘Home‘, ‘Shorts‘, ‘Explore‘, ‘Trending‘, Create‘, ‘Subscriptions‘ & ‘You‘ is not available in YTLitePlus.
|
||||
</details>
|
||||
|
|
|
|||
20
SECURITY.md
Normal file
20
SECURITY.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Security Policy for This Repostory
|
||||
If I verify a reported security vulnerability, my policy is:
|
||||
|
||||
- Contributors are allowed to make patches only to the main branch, unless an additional branch is involved. This policy applies to the implementation of custom features/options, updated features/options, and grammar errors.
|
||||
|
||||
- uYouEnhanced does not support Localization pull requests. While it may seem like a sudden change, maintaining localization becomes challenging when the branch needs to be reset due to the changes from qnblackcat/uYouPlus repostory. Therefore, it is difficult to preserve any localization changes that were added on uYouEnhanced since the fork/branch can get resetted.
|
||||
|
||||
- The Users **qnblackcat** and **PoomSmart** are prohibited from utilizing any new or modified code that was introduced in the uYouEnhanced fork, but I'll allow you to use submodules and I allow you to utize the code you made for this fork. but Violation of this rule from the ones I don't allow will result in appropriate consequences, including but not limited to account suspension, access revocation, or other disciplinary actions as deemed necessary by the project administrators. Furthermore, it is strictly forbidden to publicly share or showcase the content of this policy on any social media platforms. Any breach of this restriction may result in similar disciplinary actions. This was policy was made to keep any rejected features on uYouEnhanced.
|
||||
|
||||
## Supported Versions
|
||||
|
||||
these versions of the project are
|
||||
currently being supported with security/feature updates.
|
||||
|
||||
| Version | LTS Support of the uYouEnhanced Tweak | YT Version Supported by Google | App Stability | uYou Functionality |
|
||||
| ------- | -------------------------------------- | ------------------------------ | -------------------- | ------------------ |
|
||||
| [latest](https://github.com/arichornlover/uYouEnhanced/releases/latest) | ✅ | ✅ | The latest version is stable! |
|
||||
| [18.08.1-3.0 LTS](https://github.com/arichornlover/uYouEnhanced/releases/tag/v18.08.1-3.0-F4) | ✅ | ✅ | This new LTS Release is only here to give users the version **18.08.1** of YouTube and also helps fix any new issues that uYou 3.0.1 Users originally had. |
|
||||
| [17.38.10-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/releases/latest) | N/A | ✅ | This new LTS Release will soon to replace **16.42.3-2.1 LTS** next year. | uYou Video/Audio Downloading is Offline. / kCFErrorDomainCFNetwork error 303 🚫 |
|
||||
| [16.42.3-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/releases/tag/v16.42.3-2.1-F20) | Depends| 🚫 | If you're using iOS 16 or later, please note that Stage Manager may not be sized correctly when videos are playing in the video player. Additionally, the App Pivot Bar may not hide correctly when playing videos. also iOS 16 or newer has compatibility issues of other factors within the app. However, this version of YouTube can still receive new some features from Google, such as Shorts, the Continue Watching Section, the Watch It Again Section, Handles, and more. Overall and the removal of the ‘Channels‘ & 'About‘ Tabs in the Channel Page. and this YouTube version probably remains functional and up-to-date or probably still supported by Google. | uYou Video/Audio Downloading is Offline. / kCFErrorDomainCFNetwork error 303 🚫 |
|
||||
415
Settings.xm
415
Settings.xm
|
|
@ -1,415 +0,0 @@
|
|||
#import "Tweaks/YouTubeHeader/YTSettingsViewController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTSearchableSettingsViewController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTSettingsSectionItem.h"
|
||||
#import "Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h"
|
||||
#import "Tweaks/YouTubeHeader/YTUIUtils.h"
|
||||
#import "Tweaks/YouTubeHeader/YTSettingsPickerViewController.h"
|
||||
#import "Header.h"
|
||||
|
||||
static BOOL IsEnabled(NSString *key) {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:key];
|
||||
}
|
||||
static int GetSelection(NSString *key) {
|
||||
return [[NSUserDefaults standardUserDefaults] integerForKey:key];
|
||||
}
|
||||
static const NSInteger uYouPlusSection = 500;
|
||||
|
||||
@interface YTSettingsSectionItemManager (uYouPlus)
|
||||
- (void)updateTweakSectionWithEntry:(id)entry;
|
||||
@end
|
||||
|
||||
extern NSBundle *uYouPlusBundle();
|
||||
|
||||
// Settings
|
||||
%hook YTAppSettingsPresentationData
|
||||
+ (NSArray *)settingsCategoryOrder {
|
||||
NSArray *order = %orig;
|
||||
NSMutableArray *mutableOrder = [order mutableCopy];
|
||||
NSUInteger insertIndex = [order indexOfObject:@(1)];
|
||||
if (insertIndex != NSNotFound)
|
||||
[mutableOrder insertObject:@(uYouPlusSection) atIndex:insertIndex + 1];
|
||||
return mutableOrder;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTSettingsSectionController
|
||||
- (void)setSelectedItem:(NSUInteger)selectedItem {
|
||||
if (selectedItem != NSNotFound) %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTSettingsSectionItemManager
|
||||
%new(v@:@)
|
||||
- (void)updateTweakSectionWithEntry:(id)entry {
|
||||
NSMutableArray *sectionItems = [NSMutableArray array];
|
||||
NSBundle *tweakBundle = uYouPlusBundle();
|
||||
Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem);
|
||||
YTSettingsViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"];
|
||||
|
||||
YTSettingsSectionItem *version = [%c(YTSettingsSectionItem)
|
||||
itemWithTitle:[NSString stringWithFormat:LOC(@"VERSION"), @(OS_STRINGIFY(TWEAK_VERSION))]
|
||||
titleDescription:LOC(@"VERSION_CHECK")
|
||||
accessibilityIdentifier:nil
|
||||
detailTextBlock:nil
|
||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/qnblackcat/uYouPlus/releases/latest"]];
|
||||
}];
|
||||
[sectionItems addObject:version];
|
||||
|
||||
# pragma mark - VideoPlayer
|
||||
YTSettingsSectionItem *videoPlayerGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"VIDEO_PLAYER_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK")
|
||||
titleDescription:LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"doubleTapToSeek_disabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"doubleTapToSeek_disabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"SNAP_TO_CHAPTER")
|
||||
titleDescription:LOC(@"SNAP_TO_CHAPTER_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"snapToChapter_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"snapToChapter_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"PINCH_TO_ZOOM")
|
||||
titleDescription:LOC(@"PINCH_TO_ZOOM_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"pinchToZoom_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"pinchToZoom_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"YT_MINIPLAYER")
|
||||
titleDescription:LOC(@"YT_MINIPLAYER_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"ytMiniPlayer_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"ytMiniPlayer_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"STOCK_VOLUME_HUD")
|
||||
titleDescription:LOC(@"STOCK_VOLUME_HUD_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"stockVolumeHUD_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"stockVolumeHUD_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
];
|
||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_PLAYER_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||
[settingsViewController pushViewController:picker];
|
||||
return YES;
|
||||
}];
|
||||
[sectionItems addObject:videoPlayerGroup];
|
||||
|
||||
# pragma mark - Video Controls Overlay Options
|
||||
YTSettingsSectionItem *videoControlOverlayGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_AUTOPLAY_SWITCH")
|
||||
titleDescription:LOC(@"HIDE_AUTOPLAY_SWITCH_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideAutoplaySwitch_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideAutoplaySwitch_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_SUBTITLES_BUTTON")
|
||||
titleDescription:LOC(@"HIDE_SUBTITLES_BUTTON_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideCC_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideCC_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_HUD_MESSAGES")
|
||||
titleDescription:LOC(@"HIDE_HUD_MESSAGES_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideHUD_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideHUD_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_PAID_PROMOTION_CARDS")
|
||||
titleDescription:LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hidePaidPromotionCard_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePaidPromotionCard_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_CHANNEL_WATERMARK")
|
||||
titleDescription:LOC(@"HIDE_CHANNEL_WATERMARK_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideChannelWatermark_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideChannelWatermark_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON")
|
||||
titleDescription:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hidePreviousAndNextButton_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePreviousAndNextButton_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON")
|
||||
titleDescription:LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"replacePreviousAndNextButton_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"replacePreviousAndNextButton_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"RED_PROGRESS_BAR")
|
||||
titleDescription:LOC(@"RED_PROGRESS_BAR_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"redProgressBar_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"redProgressBar_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_HOVER_CARD")
|
||||
titleDescription:LOC(@"HIDE_HOVER_CARD_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideHoverCards_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideHoverCards_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_RIGHT_PANEL")
|
||||
titleDescription:LOC(@"HIDE_RIGHT_PANEL_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideRightPanel_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideRightPanel_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
];
|
||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||
[settingsViewController pushViewController:picker];
|
||||
return YES;
|
||||
}];
|
||||
[sectionItems addObject:videoControlOverlayGroup];
|
||||
|
||||
# pragma mark - Shorts Controls Overlay Options
|
||||
YTSettingsSectionItem *shortsControlOverlayGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"SHORTS_CONTROLS_OVERLAY_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_SUPER_THANKS")
|
||||
titleDescription:LOC(@"HIDE_SUPER_THANKS_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideBuySuperThanks_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideBuySuperThanks_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_SUBCRIPTIONS")
|
||||
titleDescription:LOC(@"HIDE_SUBCRIPTIONS_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideSubcriptions_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideSubcriptions_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"DISABLE_RESUME_TO_SHORTS")
|
||||
titleDescription:LOC(@"DISABLE_RESUME_TO_SHORTS_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"disableResumeToShorts")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"disableResumeToShorts"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
];
|
||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"SHORTS_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||
[settingsViewController pushViewController:picker];
|
||||
return YES;
|
||||
}];
|
||||
[sectionItems addObject:shortsControlOverlayGroup];
|
||||
|
||||
# pragma mark - Theme
|
||||
YTSettingsSectionItem *themeGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"THEME_OPTIONS")
|
||||
accessibilityIdentifier:nil
|
||||
detailTextBlock:^NSString *() {
|
||||
switch (GetSelection(@"appTheme")) {
|
||||
case 1:
|
||||
return LOC(@"OLED_DARK_THEME_2");
|
||||
case 2:
|
||||
return LOC(@"OLD_DARK_THEME");
|
||||
case 0:
|
||||
default:
|
||||
return LOC(@"DEFAULT_THEME");
|
||||
}
|
||||
}
|
||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"DEFAULT_THEME") titleDescription:LOC(@"DEFAULT_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"appTheme"];
|
||||
[settingsViewController reloadData];
|
||||
return YES;
|
||||
}],
|
||||
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLED_DARK_THEME") titleDescription:LOC(@"OLED_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"];
|
||||
[settingsViewController reloadData];
|
||||
return YES;
|
||||
}],
|
||||
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLD_DARK_THEME") titleDescription:LOC(@"OLD_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
[[NSUserDefaults standardUserDefaults] setInteger:2 forKey:@"appTheme"];
|
||||
[settingsViewController reloadData];
|
||||
return YES;
|
||||
}],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"OLED_KEYBOARD")
|
||||
titleDescription:LOC(@"OLED_KEYBOARD_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"oledKeyBoard_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"oledKeyBoard_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0]
|
||||
];
|
||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"THEME_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:GetSelection(@"appTheme") parentResponder:[self parentResponder]];
|
||||
[settingsViewController pushViewController:picker];
|
||||
return YES;
|
||||
}];
|
||||
[sectionItems addObject:themeGroup];
|
||||
|
||||
# pragma mark - Miscellaneous
|
||||
YTSettingsSectionItem *miscellaneousGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"MISCELLANEOUS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"CAST_CONFIRM")
|
||||
titleDescription:LOC(@"CAST_CONFIRM_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"castConfirm_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"castConfirm_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"DISABLE_HINTS")
|
||||
titleDescription:LOC(@"DISABLE_HINTS_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"disableHints_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"disableHints_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"ENABLE_FLEX")
|
||||
titleDescription:LOC(@"ENABLE_FLEX_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"flex_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"flex_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"ENABLE_YT_STARTUP_ANIMATION")
|
||||
titleDescription:LOC(@"ENABLE_YT_STARTUP_ANIMATION_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"ytStartupAnimation_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"ytStartupAnimation_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"HIDE_CHIP_BAR")
|
||||
titleDescription:LOC(@"HIDE_CHIP_BAR_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"hideChipBar_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideChipBar_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"IPHONE_LAYOUT")
|
||||
titleDescription:LOC(@"IPHONE_LAYOUT_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"iPhoneLayout_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"iPhoneLayout_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"NEW_MINIPLAYER_STYLE")
|
||||
titleDescription:LOC(@"NEW_MINIPLAYER_STYLE_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"bigYTMiniPlayer_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"bigYTMiniPlayer_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
|
||||
[YTSettingsSectionItemClass switchItemWithTitle:LOC(@"YT_RE_EXPLORE")
|
||||
titleDescription:LOC(@"YT_RE_EXPLORE_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
switchOn:IsEnabled(@"reExplore_enabled")
|
||||
switchBlock:^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"reExplore_enabled"];
|
||||
return YES;
|
||||
}
|
||||
settingItemId:0],
|
||||
];
|
||||
|
||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"MISCELLANEOUS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||
[settingsViewController pushViewController:picker];
|
||||
return YES;
|
||||
}];
|
||||
[sectionItems addObject:miscellaneousGroup];
|
||||
|
||||
[settingsViewController setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:LOC(@"TITLE DESCRIPTION") headerHidden:YES];
|
||||
}
|
||||
|
||||
- (void)updateSectionForCategory:(NSUInteger)category withEntry:(id)entry {
|
||||
if (category == uYouPlusSection) {
|
||||
[self updateTweakSectionWithEntry:entry];
|
||||
return;
|
||||
}
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
8
Sources/BigYTMiniPlayer.h
Normal file
8
Sources/BigYTMiniPlayer.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#import "uYouPlus.h"
|
||||
|
||||
@interface YTMainAppVideoPlayerOverlayView : UIView
|
||||
- (UIViewController *)_viewControllerForAncestor;
|
||||
@end
|
||||
|
||||
@interface YTWatchMiniBarView : UIView
|
||||
@end
|
||||
31
Sources/BigYTMiniPlayer.xm
Normal file
31
Sources/BigYTMiniPlayer.xm
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#import "BigYTMiniPlayer.h"
|
||||
|
||||
%group BigYTMiniPlayer // https://github.com/Galactic-Dev/BigYTMiniPlayer
|
||||
%hook YTWatchMiniBarView
|
||||
- (void)setWatchMiniPlayerLayout:(int)arg1 {
|
||||
%orig(1);
|
||||
}
|
||||
- (int)watchMiniPlayerLayout {
|
||||
return 1;
|
||||
}
|
||||
- (void)layoutSubviews {
|
||||
%orig;
|
||||
self.frame = CGRectMake(([UIScreen mainScreen].bounds.size.width - self.frame.size.width), self.frame.origin.y, self.frame.size.width, self.frame.size.height);
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTMainAppVideoPlayerOverlayView
|
||||
- (BOOL)isUserInteractionEnabled {
|
||||
if([[self _viewControllerForAncestor].parentViewController.parentViewController isKindOfClass:%c(YTWatchMiniBarViewController)]) {
|
||||
return NO;
|
||||
}
|
||||
return %orig;
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
if (IS_ENABLED(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) {
|
||||
%init(BigYTMiniPlayer);
|
||||
}
|
||||
}
|
||||
6
Sources/ColourOptionsController.h
Normal file
6
Sources/ColourOptionsController.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
@interface ColourOptionsController : UIColorPickerViewController <UIColorPickerViewControllerDelegate>
|
||||
|
||||
@end
|
||||
77
Sources/ColourOptionsController.m
Normal file
77
Sources/ColourOptionsController.m
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
#import "ColourOptionsController.h"
|
||||
#import "../uYouPlus.h"
|
||||
|
||||
@interface ColourOptionsController ()
|
||||
- (void)coloursView;
|
||||
@end
|
||||
|
||||
@implementation ColourOptionsController
|
||||
|
||||
- (void)loadView {
|
||||
[super loadView];
|
||||
[self coloursView];
|
||||
|
||||
self.title = @"Theme Custom Color";
|
||||
|
||||
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStylePlain target:self action:@selector(close)];
|
||||
self.navigationItem.rightBarButtonItem = closeButton;
|
||||
|
||||
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(save)];
|
||||
self.navigationItem.rightBarButtonItem = saveButton;
|
||||
|
||||
UIBarButtonItem *resetButton = [[UIBarButtonItem alloc] initWithTitle:@"Reset" style:UIBarButtonItemStylePlain target:self action:@selector(reset)];
|
||||
self.navigationItem.leftBarButtonItem = resetButton;
|
||||
|
||||
self.supportsAlpha = NO;
|
||||
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"kCustomThemeColor"];
|
||||
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:colorData error:nil];
|
||||
[unarchiver setRequiresSecureCoding:NO];
|
||||
UIColor *color = [unarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
self.selectedColor = color;
|
||||
}
|
||||
|
||||
- (void)coloursView {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
|
||||
self.view.backgroundColor = [UIColor colorWithRed:0.949 green:0.949 blue:0.969 alpha:1.0];
|
||||
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor blackColor]}];
|
||||
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
|
||||
}
|
||||
else {
|
||||
self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
||||
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||
[super traitCollectionDidChange:previousTraitCollection];
|
||||
[self coloursView];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation ColourOptionsController(Privates)
|
||||
|
||||
- (void)close {
|
||||
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)save {
|
||||
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:self.selectedColor requiringSecureCoding:nil error:nil];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"kCustomThemeColor"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
|
||||
UIAlertController *alertSaved = [UIAlertController alertControllerWithTitle:@"Color Saved" message:nil preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
[alertSaved addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
|
||||
}]];
|
||||
|
||||
[self presentViewController:alertSaved animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)reset {
|
||||
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"kCustomThemeColor"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}
|
||||
|
||||
@end
|
||||
6
Sources/ColourOptionsController2.h
Normal file
6
Sources/ColourOptionsController2.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
@interface ColourOptionsController2 : UIColorPickerViewController <UIColorPickerViewControllerDelegate>
|
||||
|
||||
@end
|
||||
77
Sources/ColourOptionsController2.m
Normal file
77
Sources/ColourOptionsController2.m
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
#import "ColourOptionsController2.h"
|
||||
#import "../uYouPlus.h"
|
||||
|
||||
@interface ColourOptionsController2 ()
|
||||
- (void)coloursView;
|
||||
@end
|
||||
|
||||
@implementation ColourOptionsController2
|
||||
|
||||
- (void)loadView {
|
||||
[super loadView];
|
||||
[self coloursView];
|
||||
|
||||
self.title = @"Custom Text/Etc. Color";
|
||||
|
||||
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStylePlain target:self action:@selector(close)];
|
||||
self.navigationItem.rightBarButtonItem = closeButton;
|
||||
|
||||
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(save)];
|
||||
self.navigationItem.rightBarButtonItem = saveButton;
|
||||
|
||||
UIBarButtonItem *resetButton = [[UIBarButtonItem alloc] initWithTitle:@"Reset" style:UIBarButtonItemStylePlain target:self action:@selector(reset)];
|
||||
self.navigationItem.leftBarButtonItem = resetButton;
|
||||
|
||||
self.supportsAlpha = NO;
|
||||
NSData *lcmColorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"kCustomUIColor"];
|
||||
NSKeyedUnarchiver *lcmUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:lcmColorData error:nil];
|
||||
[lcmUnarchiver setRequiresSecureCoding:NO];
|
||||
UIColor *color = [lcmUnarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
self.selectedColor = color;
|
||||
}
|
||||
|
||||
- (void)coloursView {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
|
||||
self.view.backgroundColor = [UIColor colorWithRed:0.949 green:0.949 blue:0.969 alpha:1.0];
|
||||
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor blackColor]}];
|
||||
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
|
||||
}
|
||||
else {
|
||||
self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
|
||||
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||
[super traitCollectionDidChange:previousTraitCollection];
|
||||
[self coloursView];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation ColourOptionsController2(Privates)
|
||||
|
||||
- (void)close {
|
||||
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)save {
|
||||
NSData *lcmColorData = [NSKeyedArchiver archivedDataWithRootObject:self.selectedColor requiringSecureCoding:nil error:nil];
|
||||
[[NSUserDefaults standardUserDefaults] setObject:lcmColorData forKey:@"kCustomUIColor"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
|
||||
UIAlertController *alertSaved = [UIAlertController alertControllerWithTitle:@"Color Saved" message:nil preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
[alertSaved addAction:[UIAlertAction actionWithTitle:@"Okay" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
|
||||
}]];
|
||||
|
||||
[self presentViewController:alertSaved animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void)reset {
|
||||
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"kCustomUIColor"];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}
|
||||
|
||||
@end
|
||||
7
Sources/Extractor.h
Normal file
7
Sources/Extractor.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
// Extractor.h was made by @LillieH1000 from https://www.github.com/LillieH1000/YouTube-Reborn
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface Extractor : NSObject
|
||||
+ (NSDictionary *)youtubePlayerRequest :(NSString *)client :(NSString *)videoID;
|
||||
@end
|
||||
44
Sources/Extractor.xm
Normal file
44
Sources/Extractor.xm
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// Extractor.xm was made by @LillieH1000 from https://www.github.com/LillieH1000/YouTube-Reborn
|
||||
|
||||
#import "Extractor.h"
|
||||
|
||||
@implementation Extractor
|
||||
|
||||
+ (NSDictionary *)youtubePlayerRequest :(NSString *)client :(NSString *)videoID {
|
||||
NSLocale *locale = [NSLocale currentLocale];
|
||||
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
|
||||
|
||||
NSURL *requestURL;
|
||||
if ([client isEqual:@"android"]) {
|
||||
requestURL = [NSURL URLWithString:@"https://www.youtube.com/youtubei/v1/player?key=AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w&prettyPrint=false"];
|
||||
} else if ([client isEqual:@"ios"]) {
|
||||
requestURL = [NSURL URLWithString:@"https://www.youtube.com/youtubei/v1/player?key=AIzaSyB-63vPrdThhKuerbB2N_l7Kwwcxj6yUAc&prettyPrint=false"];
|
||||
}
|
||||
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:requestURL];
|
||||
[request setHTTPMethod:@"POST"];
|
||||
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
||||
if ([client isEqual:@"android"]) {
|
||||
[request setValue:@"com.google.android.youtube/17.31.35 (Linux; U; Android 11) gzip" forHTTPHeaderField:@"User-Agent"];
|
||||
NSString *jsonBody = [NSString stringWithFormat:@"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"%@\",\"clientName\":\"ANDROID\",\"clientVersion\":\"17.31.35\",\"androidSdkVersion\":30,\"playbackContext\":{\"contentPlaybackContext\":{\"vis\":0,\"splay\":false,\"autoCaptionsDefaultOn\":false,\"autonavState\":\"STATE_OFF\",\"signatureTimestamp\":\"sts\",\"html5Preference\":\"HTML5_PREF_WANTS\",\"lactMilliseconds\":\"-1\"}}}},\"contentCheckOk\":true,\"racyCheckOk\":true,\"videoId\":\"%@\"}", countryCode, videoID];
|
||||
[request setHTTPBody:[jsonBody dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];
|
||||
} else if ([client isEqual:@"ios"]) {
|
||||
[request setValue:@"com.google.ios.youtube/17.33.2 (iPhone14,3; U; CPU iOS 15_6 like Mac OS X)" forHTTPHeaderField:@"User-Agent"];
|
||||
NSString *jsonBody = [NSString stringWithFormat:@"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"%@\",\"clientName\":\"IOS\",\"clientVersion\":\"17.33.2\",\"deviceModel\":\"iPhone14,3\",\"playbackContext\":{\"contentPlaybackContext\":{\"vis\":0,\"splay\":false,\"autoCaptionsDefaultOn\":false,\"autonavState\":\"STATE_OFF\",\"signatureTimestamp\":\"sts\",\"html5Preference\":\"HTML5_PREF_WANTS\",\"lactMilliseconds\":\"-1\"}}}},\"contentCheckOk\":true,\"racyCheckOk\":true,\"videoId\":\"%@\"}", countryCode, videoID];
|
||||
[request setHTTPBody:[jsonBody dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]];
|
||||
}
|
||||
|
||||
__block NSData *requestData;
|
||||
__block BOOL requestFinished = NO;
|
||||
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
|
||||
requestData = data;
|
||||
requestFinished = YES;
|
||||
}] resume];
|
||||
|
||||
while (!requestFinished) {
|
||||
[NSThread sleepForTimeInterval:0.02];
|
||||
}
|
||||
|
||||
return [NSJSONSerialization JSONObjectWithData:requestData options:0 error:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
592
Sources/LowContrastMode.xm
Normal file
592
Sources/LowContrastMode.xm
Normal file
|
|
@ -0,0 +1,592 @@
|
|||
#import "uYouPlus.h"
|
||||
|
||||
//
|
||||
static int contrastMode() {
|
||||
return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"];
|
||||
}
|
||||
static BOOL lowContrastMode() {
|
||||
return IS_ENABLED(@"lowContrastMode_enabled") && contrastMode() == 0;
|
||||
}
|
||||
static BOOL customContrastMode() {
|
||||
return IS_ENABLED(@"lowContrastMode_enabled") && contrastMode() == 1;
|
||||
}
|
||||
|
||||
UIColor *lcmHexColor;
|
||||
|
||||
%group gLowContrastMode // Low Contrast Mode v1.5.1 (Compatible with only YouTube v16.05.7-v17.38.10)
|
||||
%hook UIColor
|
||||
+ (UIColor *)whiteColor { // Dark Theme Color
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)lightTextColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)lightGrayColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)ychGrey7 {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)skt_chipBackgroundColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)placeholderTextColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)systemLightGrayColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)systemExtraLightGrayColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)labelColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)secondaryLabelColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)tertiaryLabelColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
+ (UIColor *)quaternaryLabelColor {
|
||||
return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00];
|
||||
}
|
||||
%end
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayTextPrimary {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayTextSecondary {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)iconActive {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)iconActiveOther {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)brandIconActive {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)staticBrandWhite {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconActiveOther {
|
||||
return self.pageStyle == 1 ? [UIColor whiteColor] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconInactive {
|
||||
return self.pageStyle == 1 ? [[UIColor whiteColor] colorWithAlphaComponent:0.7] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconDisabled {
|
||||
return self.pageStyle == 1 ? [[UIColor whiteColor] colorWithAlphaComponent:0.3] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayFilledButtonActive {
|
||||
return self.pageStyle == 1 ? [[UIColor whiteColor] colorWithAlphaComponent:0.2] : %orig;
|
||||
}
|
||||
%end
|
||||
%hook YTColor
|
||||
+ (BOOL)darkerPaletteTextColorEnabled {
|
||||
return NO;
|
||||
}
|
||||
+ (UIColor *)white1 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)white2 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)white3 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)white4 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)white5 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)grey1 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
+ (UIColor *)grey2 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
%end
|
||||
%hook QTMColorGroup
|
||||
- (UIColor *)tint100 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint300 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint500 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint700 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accent200 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accent400 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)brightAccentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)regularColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)darkerColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)lightBodyTextColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnRegularColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnLighterColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnDarkerColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnAccentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)buttonBackgroundColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
%end
|
||||
%hook YCHLiveChatLabel
|
||||
- (NSAttributedString *)attributedText {
|
||||
NSAttributedString *originalAttributedString = %orig;
|
||||
NSMutableAttributedString *modifiedAttributedString = [originalAttributedString mutableCopy];
|
||||
[modifiedAttributedString addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, modifiedAttributedString.length)];
|
||||
return modifiedAttributedString;
|
||||
}
|
||||
%end
|
||||
%hook YTQTMButton
|
||||
- (void)setImage:(UIImage *)image {
|
||||
UIImage *currentImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
[self setTintColor:[UIColor whiteColor]];
|
||||
%orig(currentImage);
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedSRGColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.9];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedSRGBColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:1.0];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedGrayColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:1.0];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook VideoTitleLabel
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UILabel
|
||||
+ (void)load {
|
||||
@autoreleasepool {
|
||||
[[UILabel appearance] setTextColor:[UIColor whiteColor]];
|
||||
}
|
||||
}
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UITextField
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UITextView
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UISearchBar
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UISegmentedControl
|
||||
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attributes];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
%orig(modifiedAttributes, state);
|
||||
}
|
||||
%end
|
||||
%hook UIButton
|
||||
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state {
|
||||
color = [UIColor whiteColor];
|
||||
%orig(color, state);
|
||||
}
|
||||
%end
|
||||
%hook UIBarButtonItem
|
||||
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attributes];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
%orig(modifiedAttributes, state);
|
||||
}
|
||||
%end
|
||||
%hook NSAttributedString
|
||||
- (instancetype)initWithString:(NSString *)str attributes:(NSDictionary<NSAttributedStringKey, id> *)attrs {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attrs];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
return %orig(str, modifiedAttributes);
|
||||
}
|
||||
%end
|
||||
%hook CATextLayer
|
||||
- (void)setTextColor:(CGColorRef)textColor {
|
||||
%orig([UIColor whiteColor].CGColor);
|
||||
}
|
||||
%end
|
||||
%hook ASTextNode
|
||||
- (NSAttributedString *)attributedString {
|
||||
NSAttributedString *originalAttributedString = %orig;
|
||||
NSMutableAttributedString *newAttributedString = [originalAttributedString mutableCopy];
|
||||
[newAttributedString addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, newAttributedString.length)];
|
||||
return newAttributedString;
|
||||
}
|
||||
%end
|
||||
%hook ASTextFieldNode
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%hook ASTextView
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%hook ASButtonNode
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%group gCustomContrastMode // Custom Contrast Mode (Hex Color)
|
||||
%hook UIColor
|
||||
+ (UIColor *)whiteColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)lightTextColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)lightGrayColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)ychGrey7 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)skt_chipBackgroundColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)placeholderTextColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)systemLightGrayColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)systemExtraLightGrayColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)labelColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)secondaryLabelColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)tertiaryLabelColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)quaternaryLabelColor {
|
||||
return lcmHexColor;
|
||||
}
|
||||
%end
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)textPrimary {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)textSecondary {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)overlayTextPrimary {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)overlayTextSecondary {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)iconActive {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)iconActiveOther {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)brandIconActive {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)staticBrandWhite {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconActiveOther {
|
||||
return self.pageStyle == 1 ? lcmHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconInactive {
|
||||
return self.pageStyle == 1 ? [lcmHexColor colorWithAlphaComponent:0.7] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayIconDisabled {
|
||||
return self.pageStyle == 1 ? [lcmHexColor colorWithAlphaComponent:0.3] : %orig;
|
||||
}
|
||||
- (UIColor *)overlayFilledButtonActive {
|
||||
return self.pageStyle == 1 ? [lcmHexColor colorWithAlphaComponent:0.2] : %orig;
|
||||
}
|
||||
%end
|
||||
%hook YTColor
|
||||
+ (BOOL)darkerPaletteTextColorEnabled {
|
||||
return NO;
|
||||
}
|
||||
+ (UIColor *)white1 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)white2 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)white3 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)white4 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)white5 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)grey1 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
+ (UIColor *)grey2 {
|
||||
return lcmHexColor;
|
||||
}
|
||||
%end
|
||||
%hook QTMColorGroup
|
||||
- (UIColor *)tint100 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint300 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint500 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)tint700 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accent200 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accent400 {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)accentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)brightAccentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)regularColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)darkerColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)lightBodyTextColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnRegularColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnLighterColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnDarkerColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)bodyTextColorOnAccentColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
- (UIColor *)buttonBackgroundColor {
|
||||
return [UIColor whiteColor];
|
||||
}
|
||||
%end
|
||||
%hook YTQTMButton
|
||||
- (void)setImage:(UIImage *)image {
|
||||
UIImage *currentImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
|
||||
[self setTintColor:[UIColor whiteColor]];
|
||||
%orig(currentImage);
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedSRGColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.9];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedSRGBColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:1.0];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook UIExtendedGrayColorSpace
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [[UIColor whiteColor] colorWithAlphaComponent:1.0];
|
||||
%orig();
|
||||
}
|
||||
%end
|
||||
%hook VideoTitleLabel
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UILabel
|
||||
+ (void)load {
|
||||
@autoreleasepool {
|
||||
[[UILabel appearance] setTextColor:[UIColor whiteColor]];
|
||||
}
|
||||
}
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UITextField
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UITextView
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%log;
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UISearchBar
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
textColor = [UIColor whiteColor];
|
||||
%orig(textColor);
|
||||
}
|
||||
%end
|
||||
%hook UISegmentedControl
|
||||
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attributes];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
%orig(modifiedAttributes, state);
|
||||
}
|
||||
%end
|
||||
%hook UIButton
|
||||
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state {
|
||||
color = [UIColor whiteColor];
|
||||
%orig(color, state);
|
||||
}
|
||||
%end
|
||||
%hook UIBarButtonItem
|
||||
- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attributes];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
%orig(modifiedAttributes, state);
|
||||
}
|
||||
%end
|
||||
%hook NSAttributedString
|
||||
- (instancetype)initWithString:(NSString *)str attributes:(NSDictionary<NSAttributedStringKey, id> *)attrs {
|
||||
NSMutableDictionary *modifiedAttributes = [NSMutableDictionary dictionaryWithDictionary:attrs];
|
||||
[modifiedAttributes setObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];
|
||||
return %orig(str, modifiedAttributes);
|
||||
}
|
||||
%end
|
||||
%hook CATextLayer
|
||||
- (void)setTextColor:(CGColorRef)textColor {
|
||||
%orig([UIColor whiteColor].CGColor);
|
||||
}
|
||||
%end
|
||||
%hook ASTextNode
|
||||
- (NSAttributedString *)attributedString {
|
||||
NSAttributedString *originalAttributedString = %orig;
|
||||
NSMutableAttributedString *newAttributedString = [originalAttributedString mutableCopy];
|
||||
[newAttributedString addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:NSMakeRange(0, newAttributedString.length)];
|
||||
return newAttributedString;
|
||||
}
|
||||
%end
|
||||
%hook ASTextFieldNode
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%hook ASTextView
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%hook ASButtonNode
|
||||
- (void)setTextColor:(UIColor *)textColor {
|
||||
%orig([UIColor whiteColor]);
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
# pragma mark - ctor
|
||||
%ctor {
|
||||
%init;
|
||||
if (lowContrastMode()) {
|
||||
%init(gLowContrastMode);
|
||||
}
|
||||
if (customContrastMode()) {
|
||||
NSData *lcmColorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"kCustomUIColor"];
|
||||
NSKeyedUnarchiver *lcmUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:lcmColorData error:nil];
|
||||
[lcmUnarchiver setRequiresSecureCoding:NO];
|
||||
NSString *lcmHexString = [lcmUnarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
if (lcmHexString != nil) {
|
||||
lcmHexColor = [lcmUnarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
%init(gCustomContrastMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
21
Sources/YTCastConfirm.xm
Normal file
21
Sources/YTCastConfirm.xm
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#import "../Tweaks/YouTubeHeader/YTAlertView.h"
|
||||
#import "uYouPlus.h"
|
||||
|
||||
extern NSBundle *uYouPlusBundle();
|
||||
|
||||
// YTCastConfirm: https://github.com/JamieBerghmans/YTCastConfirm
|
||||
%hook MDXPlaybackRouteButtonController
|
||||
- (void)didPressButton:(id)arg1 {
|
||||
if (IS_ENABLED(@"castConfirm_enabled")) {
|
||||
NSBundle *tweakBundle = uYouPlusBundle();
|
||||
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
||||
%orig;
|
||||
} actionTitle:LOC(@"MSG_YES")];
|
||||
alertView.title = LOC(@"CASTING");
|
||||
alertView.subtitle = LOC(@"MSG_ARE_YOU_SURE");
|
||||
[alertView show];
|
||||
} else {
|
||||
return %orig;
|
||||
}
|
||||
}
|
||||
%end
|
||||
45
Sources/YTReExplore.x
Normal file
45
Sources/YTReExplore.x
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#import "../Tweaks/YouTubeHeader/YTIPivotBarRenderer.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponseSupportedRenderers.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
||||
#import "uYouPlus.h"
|
||||
|
||||
%group YTReExplore // https://github.com/PoomSmart/YTReExplore/
|
||||
static void replaceTab(YTIGuideResponse *response) {
|
||||
NSMutableArray <YTIGuideResponseSupportedRenderers *> *renderers = [response itemsArray];
|
||||
for (YTIGuideResponseSupportedRenderers *guideRenderers in renderers) {
|
||||
YTIPivotBarRenderer *pivotBarRenderer = [guideRenderers pivotBarRenderer];
|
||||
NSMutableArray <YTIPivotBarSupportedRenderers *> *items = [pivotBarRenderer itemsArray];
|
||||
NSUInteger shortIndex = [items indexOfObjectPassingTest:^BOOL(YTIPivotBarSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
|
||||
return [[[renderers pivotBarItemRenderer] pivotIdentifier] isEqualToString:@"FEshorts"];
|
||||
}];
|
||||
if (shortIndex != NSNotFound) {
|
||||
[items removeObjectAtIndex:shortIndex];
|
||||
NSUInteger exploreIndex = [items indexOfObjectPassingTest:^BOOL(YTIPivotBarSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
|
||||
return [[[renderers pivotBarItemRenderer] pivotIdentifier] isEqualToString:[%c(YTIBrowseRequest) browseIDForExploreTab]];
|
||||
}];
|
||||
if (exploreIndex == NSNotFound) {
|
||||
YTIPivotBarSupportedRenderers *exploreTab = [%c(YTIPivotBarRenderer) pivotSupportedRenderersWithBrowseId:[%c(YTIBrowseRequest) browseIDForExploreTab] title:@"Explore" iconType:292];
|
||||
[items insertObject:exploreTab atIndex:1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
%hook YTGuideServiceCoordinator
|
||||
- (void)handleResponse:(YTIGuideResponse *)response withCompletion:(id)completion {
|
||||
replaceTab(response);
|
||||
%orig(response, completion);
|
||||
}
|
||||
- (void)handleResponse:(YTIGuideResponse *)response error:(id)error completion:(id)completion {
|
||||
replaceTab(response);
|
||||
%orig(response, error, completion);
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
if (IS_ENABLED(@"reExplore_enabled")) {
|
||||
%init(YTReExplore);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,3 @@
|
|||
#import "Tweaks/YouTubeHeader/YTAppDelegate.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <objc/runtime.h>
|
||||
|
|
@ -7,35 +5,65 @@
|
|||
#import <sys/utsname.h>
|
||||
#import <substrate.h>
|
||||
#import <rootless.h>
|
||||
|
||||
#import "Tweaks/YouTubeHeader/YTAppDelegate.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTQTMButton.h"
|
||||
#import "Tweaks/YouTubeHeader/YTVideoQualitySwitchOriginalController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTWatchController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIGuideResponseSupportedRenderers.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIPivotBarSupportedRenderers.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIPivotBarItemRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIPivotBarRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIButtonRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTISectionListRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTColorPalette.h"
|
||||
#import "Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
||||
#import "Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h"
|
||||
#import "Tweaks/YouTubeHeader/ASCollectionView.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPlayerOverlay.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h"
|
||||
#import "Tweaks/YouTubeHeader/YTReelWatchPlaybackOverlayView.h"
|
||||
#import "Tweaks/YouTubeHeader/YTReelPlayerBottomButton.h"
|
||||
#import "Tweaks/YouTubeHeader/YTReelPlayerViewController.h"
|
||||
#import "Tweaks/YouTubeHeader/YTAlertView.h"
|
||||
#import "Tweaks/YouTubeHeader/YTISectionListRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h"
|
||||
#import "Tweaks/YouTubeHeader/YTPivotBarItemView.h"
|
||||
#import "Tweaks/YouTubeHeader/YTVideoWithContextNode.h" // YouTube-X
|
||||
#import "Tweaks/YouTubeHeader/ELMCellNode.h" // YouTube-X
|
||||
#import "Tweaks/YouTubeHeader/ELMNodeController.h" // YouTube-X
|
||||
|
||||
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
|
||||
#define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k]
|
||||
#define APP_THEME_IDX [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"]
|
||||
#define YT_BUNDLE_ID @"com.google.ios.youtube"
|
||||
#define YT_NAME @"YouTube"
|
||||
#define DEFAULT_RATE 2.0f // YTSpeed
|
||||
#define DEFAULT_RATE 1.0f // YTSpeed
|
||||
#define LOWCONTRASTMODE_CUTOFF_VERSION @"17.38.10" // LowContrastMode
|
||||
|
||||
@interface YTSingleVideoController ()
|
||||
- (float)playbackRate;
|
||||
- (void)setPlaybackRate:(float)arg1;
|
||||
@end
|
||||
|
||||
@interface YTPlayerViewController ()
|
||||
- (YTSingleVideoController *)activeVideo;
|
||||
@end
|
||||
|
||||
// IAmYouTube
|
||||
@interface SSOConfiguration : NSObject
|
||||
@end
|
||||
|
||||
// uYouPlus
|
||||
@interface YTHeaderLogoController : UIView
|
||||
@property(readonly, nonatomic) long long pageStyle;
|
||||
@end
|
||||
|
||||
@interface YTNavigationBarTitleView : UIView
|
||||
@end
|
||||
|
||||
@interface YTChipCloudCell : UIView
|
||||
@end
|
||||
|
||||
|
|
@ -54,7 +82,6 @@
|
|||
@end
|
||||
|
||||
@interface YTAsyncCollectionView : UICollectionView
|
||||
- (void)removeShortsAndFeaturesAdsAtIndexPath:(NSIndexPath *)indexPath;
|
||||
@end
|
||||
|
||||
@interface FRPSliderCell : UITableViewCell
|
||||
|
|
@ -63,6 +90,9 @@
|
|||
@interface boolSettingsVC : UIViewController
|
||||
@end
|
||||
|
||||
@interface YTPlaybackButton : UIControl
|
||||
@end
|
||||
|
||||
@interface PlayerManager : NSObject
|
||||
- (float)progress;
|
||||
@end
|
||||
|
|
@ -75,6 +105,17 @@
|
|||
@property UIButton *downloadsButton;
|
||||
@end
|
||||
|
||||
// Buttons
|
||||
@interface YTRightNavigationButtons : UIView
|
||||
@property YTQTMButton *notificationButton;
|
||||
@property YTQTMButton *sponsorBlockButton;
|
||||
@end
|
||||
|
||||
@interface YTISlimMetadataButtonSupportedRenderers : NSObject
|
||||
- (id)slimButton_buttonRenderer;
|
||||
- (id)slimMetadataButtonRenderer;
|
||||
@end
|
||||
|
||||
// YTSpeed
|
||||
@interface YTVarispeedSwitchControllerOption : NSObject
|
||||
- (id)initWithTitle:(id)title rate:(float)rate;
|
||||
|
|
@ -109,38 +150,59 @@
|
|||
displayLanguage:(NSString *)displayLanguage;
|
||||
@end
|
||||
|
||||
// uYouLocal fix
|
||||
@interface YTLocalPlaybackController : NSObject
|
||||
- (id)activeVideo;
|
||||
// Fix uYou's appearance not updating if the app is backgrounded
|
||||
@interface DownloadsPagerVC : UIViewController
|
||||
- (NSArray<UIViewController *> *)viewControllers;
|
||||
- (void)updatePageStyles;
|
||||
@end
|
||||
|
||||
// uYou theme fix
|
||||
@interface YTAppDelegate ()
|
||||
@property(nonatomic, strong) id downloadsVC;
|
||||
@interface DownloadingVC : UIViewController
|
||||
- (void)updatePageStyles;
|
||||
- (UITableView *)tableView;
|
||||
@end
|
||||
|
||||
|
||||
// BigYTMiniPlayer
|
||||
@interface YTMainAppVideoPlayerOverlayView : UIView
|
||||
- (UIViewController *)_viewControllerForAncestor;
|
||||
@interface DownloadingCell : UITableViewCell
|
||||
- (void)updatePageStyles;
|
||||
@end
|
||||
|
||||
@interface YTWatchMiniBarView : UIView
|
||||
@interface DownloadedVC : UIViewController
|
||||
- (void)updatePageStyles;
|
||||
- (UITableView *)tableView;
|
||||
@end
|
||||
@interface DownloadedCell : UITableViewCell
|
||||
- (void)updatePageStyles;
|
||||
@end
|
||||
@interface UILabel (uYou)
|
||||
+ (id)_defaultColor;
|
||||
@end
|
||||
|
||||
// YTAutoFullScreen
|
||||
@interface YTPlayerViewController (YTAFS)
|
||||
- (void)autoFullscreen;
|
||||
// DontEatMycontent
|
||||
- (id)activeVideoPlayerOverlay;
|
||||
- (id)playerView;
|
||||
// YTSpeed
|
||||
@property id activeVideo;
|
||||
@property float playbackRate;
|
||||
- (void)singleVideo:(id)video playbackRateDidChange:(float)rate;
|
||||
// uYouCrashFix
|
||||
- (YTSingleVideoController *)activeVideo;
|
||||
@end
|
||||
|
||||
// App Theme
|
||||
@interface YTColor : NSObject
|
||||
+ (UIColor *)white1;
|
||||
+ (UIColor *)white2;
|
||||
+ (UIColor *)white3;
|
||||
+ (UIColor *)white4;
|
||||
+ (UIColor *)white5;
|
||||
+ (UIColor *)black0;
|
||||
+ (UIColor *)black1;
|
||||
+ (UIColor *)black2;
|
||||
+ (UIColor *)black3;
|
||||
+ (UIColor *)black4;
|
||||
+ (UIColor *)blackPure;
|
||||
+ (UIColor *)grey1;
|
||||
+ (UIColor *)grey2;
|
||||
+ (UIColor *)white1Alpha98;
|
||||
+ (UIColor *)white1Alpha95;
|
||||
@end
|
||||
|
||||
@interface YCHLiveChatView : UIView
|
||||
@end
|
||||
|
||||
|
|
@ -150,6 +212,9 @@
|
|||
@interface YTRelatedVideosView : UIView
|
||||
@end
|
||||
|
||||
@interface YTTopAlignedView : UIView
|
||||
@end
|
||||
|
||||
@interface ELMView : UIView
|
||||
@end
|
||||
|
||||
|
|
@ -168,6 +233,15 @@
|
|||
@interface _ASDisplayView : UIView
|
||||
@end
|
||||
|
||||
@interface ELMContainerNode : NSObject
|
||||
@end
|
||||
|
||||
@interface YTAutonavEndscreenView : UIView
|
||||
@end
|
||||
|
||||
@interface YTPivotBarIndicatorView : UIView
|
||||
@end
|
||||
|
||||
@interface YTCommentDetailHeaderCell : UIView
|
||||
@end
|
||||
|
||||
|
|
@ -191,4 +265,20 @@
|
|||
|
||||
@interface settingsReorderTable : UIViewController
|
||||
@property(nonatomic, strong) UITableView *tableView;
|
||||
@end
|
||||
@end
|
||||
|
||||
// Snack bar
|
||||
@interface YTHUDMessage : NSObject
|
||||
+ (id)messageWithText:(id)text;
|
||||
- (void)setAction:(id)action;
|
||||
@end
|
||||
|
||||
@interface GOOHUDMessageAction : NSObject
|
||||
- (void)setTitle:(NSString *)title;
|
||||
- (void)setHandler:(void (^)(id))handler;
|
||||
@end
|
||||
|
||||
@interface GOOHUDManagerInternal : NSObject
|
||||
- (void)showMessageMainThread:(id)message;
|
||||
+ (id)sharedInstance;
|
||||
@end
|
||||
1241
Sources/uYouPlus.xm
Normal file
1241
Sources/uYouPlus.xm
Normal file
File diff suppressed because it is too large
Load diff
243
Sources/uYouPlusPatches.xm
Normal file
243
Sources/uYouPlusPatches.xm
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
#import "uYouPlus.h"
|
||||
|
||||
# pragma mark - YouTube patches
|
||||
|
||||
// Fix Google Sign in by @PoomSmart and @level3tjg (qnblackcat/uYouPlus#684)
|
||||
%hook NSBundle
|
||||
- (NSDictionary *)infoDictionary {
|
||||
NSMutableDictionary *info = %orig.mutableCopy;
|
||||
NSString *altBundleIdentifier = info[@"ALTBundleIdentifier"];
|
||||
if (altBundleIdentifier) info[@"CFBundleIdentifier"] = altBundleIdentifier;
|
||||
return info;
|
||||
}
|
||||
%end
|
||||
|
||||
// Workaround for MiRO92/uYou-for-YouTube#12, qnblackcat/uYouPlus#263
|
||||
%hook YTDataUtils
|
||||
+ (NSMutableDictionary *)spamSignalsDictionary {
|
||||
return nil;
|
||||
}
|
||||
+ (NSMutableDictionary *)spamSignalsDictionaryWithoutIDFA {
|
||||
return nil;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTHotConfig
|
||||
- (BOOL)disableAfmaIdfaCollection { return NO; }
|
||||
%end
|
||||
|
||||
// Reposition "Create" Tab to the Center in the Pivot Bar - qnblackcat/uYouPlus#107
|
||||
/*
|
||||
static void repositionCreateTab(YTIGuideResponse *response) {
|
||||
NSMutableArray<YTIGuideResponseSupportedRenderers *> *renderers = [response itemsArray];
|
||||
for (YTIGuideResponseSupportedRenderers *guideRenderers in renderers) {
|
||||
YTIPivotBarRenderer *pivotBarRenderer = [guideRenderers pivotBarRenderer];
|
||||
NSMutableArray<YTIPivotBarSupportedRenderers *> *items = [pivotBarRenderer itemsArray];
|
||||
NSUInteger createIndex = [items indexOfObjectPassingTest:^BOOL(YTIPivotBarSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) {
|
||||
return [[[renderers pivotBarItemRenderer] pivotIdentifier] isEqualToString:@"FEuploads"];
|
||||
}];
|
||||
if (createIndex != NSNotFound) {
|
||||
YTIPivotBarSupportedRenderers *createTab = [items objectAtIndex:createIndex];
|
||||
[items removeObjectAtIndex:createIndex];
|
||||
NSUInteger centerIndex = items.count / 2;
|
||||
[items insertObject:createTab atIndex:centerIndex]; // Reposition the "Create" tab at the center
|
||||
}
|
||||
}
|
||||
}
|
||||
%hook YTGuideServiceCoordinator
|
||||
- (void)handleResponse:(YTIGuideResponse *)response withCompletion:(id)completion {
|
||||
repositionCreateTab(response);
|
||||
%orig(response, completion);
|
||||
}
|
||||
- (void)handleResponse:(YTIGuideResponse *)response error:(id)error completion:(id)completion {
|
||||
repositionCreateTab(response);
|
||||
%orig(response, error, completion);
|
||||
}
|
||||
%end
|
||||
*/
|
||||
|
||||
// https://github.com/PoomSmart/YouTube-X/blob/1e62b68e9027fcb849a75f54a402a530385f2a51/Tweak.x#L27
|
||||
// %hook YTAdsInnerTubeContextDecorator
|
||||
// - (void)decorateContext:(id)context {}
|
||||
// %end
|
||||
|
||||
# pragma mark - uYou patches
|
||||
|
||||
// Workaround for qnblackcat/uYouPlus#10
|
||||
%hook UIViewController
|
||||
- (UITraitCollection *)traitCollection {
|
||||
@try {
|
||||
return %orig;
|
||||
} @catch(NSException *e) {
|
||||
return [UITraitCollection currentTraitCollection];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Prevent uYou player bar from showing when not playing downloaded media
|
||||
%hook PlayerManager
|
||||
- (void)pause {
|
||||
if (isnan([self progress]))
|
||||
return;
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Workaround for issue #54
|
||||
%hook YTMainAppVideoPlayerOverlayViewController
|
||||
- (void)updateRelatedVideos {
|
||||
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"relatedVideosAtTheEndOfYTVideos"] == NO) {}
|
||||
else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
||||
%group iOS16
|
||||
%hook OBPrivacyLinkButton
|
||||
%new
|
||||
- (instancetype)initWithCaption:(NSString *)caption
|
||||
buttonText:(NSString *)buttonText
|
||||
image:(UIImage *)image
|
||||
imageSize:(CGSize)imageSize
|
||||
useLargeIcon:(BOOL)useLargeIcon {
|
||||
return [self initWithCaption:caption
|
||||
buttonText:buttonText
|
||||
image:image
|
||||
imageSize:imageSize
|
||||
useLargeIcon:useLargeIcon
|
||||
displayLanguage:[NSLocale currentLocale].languageCode];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
// Fix uYou playback speed crashes YT v18.49.3+, see https://github.com/iCrazeiOS/uYouCrashFix
|
||||
%hook YTPlayerViewController
|
||||
%new
|
||||
-(float)currentPlaybackRateForVarispeedSwitchController:(id)arg1 {
|
||||
return [[self activeVideo] playbackRate];
|
||||
}
|
||||
|
||||
%new
|
||||
-(void)varispeedSwitchController:(id)arg1 didSelectRate:(float)arg2 {
|
||||
[[self activeVideo] setPlaybackRate:arg2];
|
||||
}
|
||||
%end
|
||||
|
||||
// Fix streched artwork in uYou's player view - https://github.com/MiRO92/uYou-for-YouTube/issues/287
|
||||
%hook ArtworkImageView
|
||||
- (id)imageView {
|
||||
UIImageView * imageView = %orig;
|
||||
imageView.contentMode = UIViewContentModeScaleAspectFit;
|
||||
// Make artwork a bit bigger
|
||||
UIView *artworkImageView = imageView.superview;
|
||||
if (artworkImageView != nil && !artworkImageView.translatesAutoresizingMaskIntoConstraints) {
|
||||
[artworkImageView.leftAnchor constraintEqualToAnchor:artworkImageView.superview.leftAnchor constant:16].active = YES;
|
||||
[artworkImageView.rightAnchor constraintEqualToAnchor:artworkImageView.superview.rightAnchor constant:-16].active = YES;
|
||||
}
|
||||
return imageView;
|
||||
}
|
||||
%end
|
||||
|
||||
// Fix navigation bar showing a lighter grey with default dark mode - https://github.com/therealFoxster/uYouPlus/commit/8db8197
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)brandBackgroundSolid {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.05882352941176471 green:0.05882352941176471 blue:0.05882352941176471 alpha:1.0] : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Fix uYou's appearance not updating if the app is backgrounded
|
||||
DownloadsPagerVC *downloadsPagerVC;
|
||||
NSUInteger selectedTabIndex;
|
||||
static void refreshUYouAppearance() {
|
||||
if (!downloadsPagerVC) return;
|
||||
// View pager
|
||||
[downloadsPagerVC updatePageStyles];
|
||||
// Views
|
||||
for (UIViewController *vc in [downloadsPagerVC viewControllers]) {
|
||||
if ([vc isKindOfClass:%c(DownloadingVC)]) {
|
||||
// `Downloading` view
|
||||
[(DownloadingVC *)vc updatePageStyles];
|
||||
for (UITableViewCell *cell in [(DownloadingVC *)vc tableView].visibleCells)
|
||||
if ([cell isKindOfClass:%c(DownloadingCell)])
|
||||
[(DownloadingCell *)cell updatePageStyles];
|
||||
}
|
||||
else if ([vc isKindOfClass:%c(DownloadedVC)]) {
|
||||
// `All`, `Audios`, `Videos`, `Shorts` views
|
||||
[(DownloadedVC *)vc updatePageStyles];
|
||||
for (UITableViewCell *cell in [(DownloadedVC *)vc tableView].visibleCells)
|
||||
if ([cell isKindOfClass:%c(DownloadedCell)])
|
||||
[(DownloadedCell *)cell updatePageStyles];
|
||||
}
|
||||
}
|
||||
// View pager tabs
|
||||
for (UIView *subview in [downloadsPagerVC view].subviews) {
|
||||
if ([subview isKindOfClass:[UIScrollView class]]) {
|
||||
UIScrollView *tabs = (UIScrollView *)subview;
|
||||
NSUInteger i = 0;
|
||||
for (UIView *item in tabs.subviews) {
|
||||
if ([item isKindOfClass:[UILabel class]]) {
|
||||
// Tab label
|
||||
UILabel *tabLabel = (UILabel *)item;
|
||||
if (i == selectedTabIndex) {} // Selected tab should be excluded
|
||||
else [tabLabel setTextColor:[UILabel _defaultColor]];
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
%hook DownloadsPagerVC
|
||||
- (instancetype)init {
|
||||
downloadsPagerVC = %orig;
|
||||
return downloadsPagerVC;
|
||||
}
|
||||
- (void)viewPager:(id)viewPager didChangeTabToIndex:(NSUInteger)arg1 fromTabIndex:(NSUInteger)arg2 {
|
||||
%orig; selectedTabIndex = arg1;
|
||||
}
|
||||
%end
|
||||
%hook UIViewController
|
||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||
%orig;
|
||||
refreshUYouAppearance();
|
||||
}
|
||||
%end
|
||||
|
||||
// Prevent uYou's playback from colliding with YouTube's
|
||||
BOOL isYTPlaybackActive = NO;
|
||||
%hook HAMPlayerInternal
|
||||
- (void)play { %orig; isYTPlaybackActive = YES; }
|
||||
- (void)terminate { %orig; isYTPlaybackActive = NO; }
|
||||
%end
|
||||
%hook PlayerManager
|
||||
- (void)play {
|
||||
if (isYTPlaybackActive) return;
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Temporarily disable uYou's bouncy animation cause it's buggy
|
||||
%hook SSBouncyButton
|
||||
- (void)beginShrinkAnimation {}
|
||||
- (void)beginEnlargeAnimation {}
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
%init;
|
||||
if (@available(iOS 16, *)) {
|
||||
%init(iOS16);
|
||||
}
|
||||
|
||||
// Disable broken options
|
||||
|
||||
// Disable uYou's auto updates
|
||||
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"automaticallyCheckForUpdates"];
|
||||
|
||||
// Disable uYou's welcome screen (fix #1147)
|
||||
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"showedWelcomeVC"];
|
||||
|
||||
// Disable uYou's disable age restriction
|
||||
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"disableAgeRestriction"];
|
||||
|
||||
// Disable uYou's playback speed controls (prevent crash on video playback https://github.com/therealFoxster/uYouPlus/issues/2#issuecomment-1894912963)
|
||||
// [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showPlaybackRate"];
|
||||
}
|
||||
1143
Sources/uYouPlusSettings.xm
Normal file
1143
Sources/uYouPlusSettings.xm
Normal file
File diff suppressed because it is too large
Load diff
711
Sources/uYouPlusThemes.xm
Normal file
711
Sources/uYouPlusThemes.xm
Normal file
|
|
@ -0,0 +1,711 @@
|
|||
#import "uYouPlus.h"
|
||||
|
||||
#define IS_DARK_APPEARANCE_ENABLED ([[NSUserDefaults standardUserDefaults] integerForKey:@"page_style"] == 1)
|
||||
#define IS_OLD_DARK_THEME_SELECTED (APP_THEME_IDX == 1)
|
||||
#define IS_OLED_DARK_THEME_SELECTED (APP_THEME_IDX == 2)
|
||||
#define IS_CUSTOM_DARK_THEME_SELECTED (APP_THEME_IDX == 3)
|
||||
|
||||
# pragma mark - Old dark theme (lighter grey)
|
||||
|
||||
%group gOldDarkTheme
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)background1 {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)background2 {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)background3 {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)baseBackground {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSolid {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundPrimary {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSecondary {
|
||||
return self.pageStyle == 1 ? [[UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] colorWithAlphaComponent:0.9] : %orig;
|
||||
}
|
||||
- (UIColor *)raisedBackground {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)staticBrandBlack {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)generalBackgroundA {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)generalBackgroundB {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
- (UIColor *)menuBackground {
|
||||
return self.pageStyle == 1 ? [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0] : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTColdConfig
|
||||
- (BOOL)uiSystemsClientGlobalConfigUseDarkerPaletteBgColorForNative { return NO; }
|
||||
- (BOOL)uiSystemsClientGlobalConfigUseDarkerPaletteTextColorForNative { return NO; }
|
||||
- (BOOL)enableCinematicContainerOnClient { return NO; }
|
||||
%end
|
||||
|
||||
%hook _ASDisplayView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
}
|
||||
%end
|
||||
|
||||
%hook ASCollectionView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.superview.backgroundColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:1.0];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTFullscreenEngagementOverlayView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.subviews[0].backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTRelatedVideosView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.subviews[0].backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
# pragma mark - OLED dark mode by BandarHL
|
||||
|
||||
UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:1.0];
|
||||
|
||||
%group gOLED
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)baseBackground {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSolid {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundPrimary {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSecondary {
|
||||
return self.pageStyle == 1 ? [[UIColor blackColor] colorWithAlphaComponent:0.9] : %orig;
|
||||
}
|
||||
- (UIColor *)raisedBackground {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
- (UIColor *)staticBrandBlack {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
- (UIColor *)generalBackgroundA {
|
||||
return self.pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// uYou settings
|
||||
%hook UITableViewCell
|
||||
- (void)_layoutSystemBackgroundView {
|
||||
%orig;
|
||||
UIView *systemBackgroundView = [self valueForKey:@"_systemBackgroundView"];
|
||||
NSString *backgroundViewKey = class_getInstanceVariable(systemBackgroundView.class, "_colorView") ? @"_colorView" : @"_backgroundView";
|
||||
((UIView *)[systemBackgroundView valueForKey:backgroundViewKey]).backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
- (void)_layoutSystemBackgroundView:(BOOL)arg1 {
|
||||
%orig;
|
||||
((UIView *)[[self valueForKey:@"_systemBackgroundView"] valueForKey:@"_colorView"]).backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook settingsReorderTable
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FRPSelectListTable
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FRPreferences
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTInnerTubeCollectionViewController
|
||||
- (UIColor *)backgroundColor:(NSInteger)pageStyle {
|
||||
return pageStyle == 1 ? [UIColor blackColor] : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Explore
|
||||
%hook ASScrollView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Your videos
|
||||
%hook ASCollectionView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) {
|
||||
self.superview.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Sub menu?
|
||||
%hook ELMView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[0].backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// iSponsorBlock
|
||||
%hook SponsorBlockSettingsController
|
||||
- (void)viewDidLoad {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = [UIColor blackColor];
|
||||
} else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
%hook SponsorBlockViewController
|
||||
- (void)viewDidLoad {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||
%orig;
|
||||
self.view.backgroundColor = [UIColor blackColor];
|
||||
} else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
// Search view
|
||||
%hook YTSearchBarView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// History search view
|
||||
%hook YTSearchBoxView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
|
||||
}
|
||||
%end
|
||||
|
||||
// Comment view
|
||||
%hook YTCommentView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentAccessoryView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
- (void)setTextColor:(UIColor *)color { // fix black text in #Shorts video's comment
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor whiteColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCommentDetailHeaderCell
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[2].backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTFormattedStringLabel // YT is werid...
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor clearColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Live chat comment
|
||||
%hook YCHLiveChatActionPanelView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTEmojiTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YCHLiveChatView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[1].backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCollectionView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
//
|
||||
%hook YTBackstageCreateRepostDetailView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Others
|
||||
%hook _ASDisplayView
|
||||
- (void)layoutSubviews {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
UIResponder *responder = [self nextResponder];
|
||||
while (responder != nil) {
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTActionSheetDialogViewController")]) {
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTPanelLoadingStrategyViewController")]) {
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTTabHeaderElementsViewController")]) {
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTEditSheetControllerElementsContentViewController")]) {
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
responder = [responder nextResponder];
|
||||
}
|
||||
}
|
||||
}
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"brand_promo.view"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.topic_channel_details"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_thread"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.timed_comments_welcome"]) { self.superview.backgroundColor = self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_bottom_sheet_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.superview.backgroundColor = self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier hasPrefix:@"id.elements.components.overflow_menu_item_"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Open link with...
|
||||
%hook ASWAppSwitchingSheetHeaderView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(raisedColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook ASWAppSwitchingSheetFooterView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(raisedColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook ASWAppSwitcherCollectionViewCell
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
self.backgroundColor = raisedColor;
|
||||
// self.subviews[1].backgroundColor = raisedColor;
|
||||
self.superview.backgroundColor = raisedColor;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Incompatibility with the new YT Dark theme
|
||||
%hook YTColdConfig
|
||||
- (BOOL)uiSystemsClientGlobalConfigUseDarkerPaletteBgColorForNative { return NO; }
|
||||
%end
|
||||
%end
|
||||
|
||||
# pragma mark - Custom dark mode by BandarHL
|
||||
|
||||
UIColor *customHexColor;
|
||||
|
||||
%group gCustomTheme
|
||||
%hook YTCommonColorPalette
|
||||
- (UIColor *)baseBackground {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSolid {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundPrimary {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)brandBackgroundSecondary {
|
||||
return self.pageStyle == 1 ? [customHexColor colorWithAlphaComponent:0.9] : %orig;
|
||||
}
|
||||
- (UIColor *)raisedBackground {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)staticBrandBlack {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
- (UIColor *)generalBackgroundA {
|
||||
return self.pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// uYou settings
|
||||
%hook UITableViewCell
|
||||
- (void)_layoutSystemBackgroundView {
|
||||
%orig;
|
||||
UIView *systemBackgroundView = [self valueForKey:@"_systemBackgroundView"];
|
||||
NSString *backgroundViewKey = class_getInstanceVariable(systemBackgroundView.class, "_colorView") ? @"_colorView" : @"_backgroundView";
|
||||
((UIView *)[systemBackgroundView valueForKey:backgroundViewKey]).backgroundColor = customHexColor;
|
||||
}
|
||||
- (void)_layoutSystemBackgroundView:(BOOL)arg1 {
|
||||
%orig;
|
||||
((UIView *)[[self valueForKey:@"_systemBackgroundView"] valueForKey:@"_colorView"]).backgroundColor = customHexColor;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook settingsReorderTable
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = customHexColor;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FRPSelectListTable
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = customHexColor;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook FRPreferences
|
||||
- (void)viewDidLayoutSubviews {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = customHexColor;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTInnerTubeCollectionViewController
|
||||
- (UIColor *)backgroundColor:(NSInteger)pageStyle {
|
||||
return pageStyle == 1 ? customHexColor : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Explore
|
||||
%hook ASScrollView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Your videos
|
||||
%hook ASCollectionView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) {
|
||||
self.superview.backgroundColor = customHexColor;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Sub menu?
|
||||
%hook ELMView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[0].backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// iSponsorBlock
|
||||
%hook SponsorBlockSettingsController
|
||||
- (void)viewDidLoad {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||
%orig;
|
||||
self.tableView.backgroundColor = customHexColor;
|
||||
} else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
%hook SponsorBlockViewController
|
||||
- (void)viewDidLoad {
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||
%orig;
|
||||
self.view.backgroundColor = customHexColor;
|
||||
} else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
// Search view
|
||||
%hook YTSearchBarView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// History search view
|
||||
%hook YTSearchBoxView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
|
||||
}
|
||||
%end
|
||||
|
||||
// Comment view
|
||||
%hook YTCommentView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentAccessoryView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
- (void)setTextColor:(UIColor *)color { // fix black text in #Shorts video's comment
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor whiteColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCommentDetailHeaderCell
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[2].backgroundColor = customHexColor;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTFormattedStringLabel // YT is werid...
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor clearColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Live chat comment
|
||||
%hook YCHLiveChatActionPanelView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTEmojiTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YCHLiveChatView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[1].backgroundColor = customHexColor;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCollectionView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
//
|
||||
%hook YTBackstageCreateRepostDetailView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(customHexColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Others
|
||||
%hook _ASDisplayView
|
||||
- (void)layoutSubviews {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
UIResponder *responder = [self nextResponder];
|
||||
while (responder != nil) {
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTActionSheetDialogViewController")]) {
|
||||
self.backgroundColor = customHexColor;
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTPanelLoadingStrategyViewController")]) {
|
||||
self.backgroundColor = customHexColor;
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTTabHeaderElementsViewController")]) {
|
||||
self.backgroundColor = customHexColor;
|
||||
}
|
||||
if ([responder isKindOfClass:NSClassFromString(@"YTEditSheetControllerElementsContentViewController")]) {
|
||||
self.backgroundColor = customHexColor;
|
||||
}
|
||||
responder = [responder nextResponder];
|
||||
}
|
||||
}
|
||||
}
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"brand_promo.view"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.topic_channel_details"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_thread"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.timed_comments_welcome"]) { self.superview.backgroundColor = self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_bottom_sheet_container"]) { self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.superview.backgroundColor = self.backgroundColor = customHexColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier hasPrefix:@"id.elements.components.overflow_menu_item_"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Open link with...
|
||||
%hook ASWAppSwitchingSheetHeaderView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(raisedColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook ASWAppSwitchingSheetFooterView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig(raisedColor) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook ASWAppSwitcherCollectionViewCell
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
self.backgroundColor = raisedColor;
|
||||
// self.subviews[1].backgroundColor = raisedColor;
|
||||
self.superview.backgroundColor = raisedColor;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Incompatibility with the new YT Dark theme
|
||||
%hook YTColdConfig
|
||||
- (BOOL)uiSystemsClientGlobalConfigUseDarkerPaletteBgColorForNative { return NO; }
|
||||
%end
|
||||
%end
|
||||
|
||||
|
||||
# pragma mark - OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
||||
|
||||
%group gOLEDKB
|
||||
%hook UIPredictionViewController
|
||||
- (void)loadView {
|
||||
%orig;
|
||||
[self.view setBackgroundColor:[UIColor blackColor]];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UICandidateViewController
|
||||
- (void)loadView {
|
||||
%orig;
|
||||
[self.view setBackgroundColor:[UIColor blackColor]];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UIKeyboardDockView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UIKeyboardLayoutStar
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UIKBRenderConfig // Prediction text color
|
||||
- (void)setLightKeyboard:(BOOL)arg1 { %orig(NO); }
|
||||
%end
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
if (IS_OLED_DARK_THEME_SELECTED) {
|
||||
%init(gOLED);
|
||||
}
|
||||
if (IS_OLD_DARK_THEME_SELECTED) {
|
||||
%init(gOldDarkTheme)
|
||||
}
|
||||
if (IS_ENABLED(@"oledKeyBoard_enabled")) {
|
||||
%init(gOLEDKB);
|
||||
}
|
||||
if (IS_CUSTOM_DARK_THEME_SELECTED) {
|
||||
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"kCustomThemeColor"];
|
||||
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingFromData:colorData error:nil];
|
||||
[unarchiver setRequiresSecureCoding:NO];
|
||||
NSString *hexString = [unarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
if (hexString != nil) {
|
||||
customHexColor = [unarchiver decodeObjectForKey:NSKeyedArchiveRootObjectKey];
|
||||
%init(gCustomTheme);
|
||||
}
|
||||
}
|
||||
}
|
||||
1247
Sources/uYouPlusVersionSpoofer.xm
Normal file
1247
Sources/uYouPlusVersionSpoofer.xm
Normal file
File diff suppressed because it is too large
Load diff
90
Sources/update-submodules.txt
Normal file
90
Sources/update-submodules.txt
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
// Template for whenever I refresh the main branch. and even need to re-add the submodules afterwards.
|
||||
|
||||
name: Update Submodules
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-submodules:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: Set up Git
|
||||
run: |
|
||||
git config --global user.email "actions@github.com"
|
||||
git config --global user.name "GitHub Actions"
|
||||
|
||||
- name: Add uYouEnhanced submodules
|
||||
run: |
|
||||
git submodule add https://github.com/PoomSmart/FLEXing.git Tweaks/FLEXing
|
||||
git submodule add https://github.com/dayanch96/uYouLocalization.git Tweaks/uYouLocalization
|
||||
git submodule add https://github.com/arichorn/YTHoldForSpeed.git Tweaks/YTHoldForSpeed
|
||||
git add .
|
||||
git commit -m "added uYouEnhanced submodules"
|
||||
git push origin
|
||||
|
||||
# - name: Update submodules
|
||||
# run: |
|
||||
# git submodule update --init --recursive --remote
|
||||
# git add .
|
||||
# git commit -m "updated submodules"
|
||||
# git push origin
|
||||
# continue-on-error: true
|
||||
|
||||
- name: Update submodules
|
||||
run: |
|
||||
git submodule update --init --recursive --remote Tweaks/Alderis
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/DontEatMyContent
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTHoldForSpeed
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/MrBeastify
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/PSHeader
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/Return-YouTube-Dislikes
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/uYouLocalization
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTABConfig
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTUHD
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YTVideoOverlay
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouMute
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouPiP
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouQuality
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/YouTubeHeader
|
||||
git add .
|
||||
git submodule update --init --recursive --remote Tweaks/iSponsorBlock
|
||||
git add .
|
||||
git commit -m "updated submodules"
|
||||
git push origin
|
||||
continue-on-error: true
|
||||
|
||||
- name: Make .bundle files
|
||||
run: |
|
||||
cd Bundles
|
||||
ln -s ../Tweaks/MrBeastify/layout/Library/Application\ Support/MrBeastify.bundle MrBeastify.bundle
|
||||
ln -s ../Tweaks/uYouLocalization/layout/Library/Application\ Support/uYouLocalization.bundle uYouLocalization.bundle
|
||||
ln -s ../Tweaks/YTHoldForSpeed/layout/Library/Application\ Support/YTHoldForSpeed.bundle YTHoldForSpeed.bundle
|
||||
git add .
|
||||
git commit -m "Added bundles"
|
||||
git push origin
|
||||
|
||||
- name: Check exit code
|
||||
run: |
|
||||
exit_code=$?
|
||||
if [ $exit_code -ne 0 ]; then
|
||||
echo "Submodule update failed with exit code $exit_code"
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit a514fbe4e063a1157da6e68fc05633ef9cec0f44
|
||||
Subproject commit 2253bc34fbb8a5f44993578db37024835bbccdd1
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 07d0ad67c5abe370f3731ecdc0961ae5dae8b487
|
||||
Subproject commit f7a65cf89b92ca1d35bf8b499acc4419eef7bc13
|
||||
1
Tweaks/MrBeastify
Submodule
1
Tweaks/MrBeastify
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit f849df879c511a05c4c0a3f266aa6f98443d0f17
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit b836acf9c1f487879b74db63d077575e0bedc289
|
||||
Subproject commit 591de492eae66ecb649d9a023d39f7508a253791
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 91fc25a8504faa62eca55dae451fe11ac7d1602d
|
||||
Subproject commit d2aec88d3e8c300983592d4e54f55eccad12c50d
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit ae9d1345f045482b1ab4367ffaec9136e74c84c2
|
||||
Subproject commit 79cfd5d5c7efc8eb69b6d920d835c6628564e76e
|
||||
1
Tweaks/YTHoldForSpeed
Submodule
1
Tweaks/YTHoldForSpeed
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 2a4282fbdcbd0c8b586a64ad364fbb3ec880f606
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit ed71ce0dbbcb2246defdd2198014846572baea35
|
||||
Subproject commit 31e218b2725bdcbc1e85d52e87f9167080708914
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 23dcadf5b418c4da60fb1dd76192f38f68530c48
|
||||
Subproject commit fa400fa63a2e77d1190ef9aa7ce9ddfdefe82d6c
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit bbab96d70fbb596f3fffde7898e27734c499ada7
|
||||
Subproject commit 7f36c985716839fa9398186cd33ef7e638ed1d5c
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 327d272a36988ae22ad1d118e67e72ee434127b8
|
||||
Subproject commit a310cefd7832194757e62f926d097d52421c0bc1
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 8b23971bbf40f28acecda2855171918d241929c9
|
||||
Subproject commit b1c2178660a83fa68253fba0a961d1c9662691b1
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 99bb00ebbf77267567938787cb8bd775a07641de
|
||||
Subproject commit 9a6f0726998e62864bc227d3a41094b871f1cb08
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 96954d578d56e6762f0b179a2b837598a542d40c
|
||||
Subproject commit 4f643248d6e7d60487c9a047e0eb04a2cc35a651
|
||||
1
Tweaks/uYouLocalization
Submodule
1
Tweaks/uYouLocalization
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 1c84cc29079f8b089b9b79da2c8210c326ddb425
|
||||
37
build.sh
Normal file
37
build.sh
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
# To build, either place the IPA file in the project's root directory, or get the path to the IPA, then run `./build.sh`
|
||||
|
||||
read -p $'\e[34m==> \e[1;39mPath to the decrypted YouTube.ipa or YouTube.app. If nothing is provied, any ipa/app in the project\'s root directory will be used: ' PATHTOYT
|
||||
|
||||
# Check if PATHTOYT is empty
|
||||
if [ -z "$PATHTOYT" ]; then
|
||||
# Look for ipa/app files in the current directory
|
||||
IPAS=$(find . -maxdepth 1 -type f \( -name "*.ipa" -o -name "*.app" \))
|
||||
|
||||
# Check if there are two or more ipa/app files
|
||||
COUNT=$(echo "$IPAS" | wc -l)
|
||||
|
||||
if [ "$COUNT" -ge 2 ]; then
|
||||
echo "❌ Error: Multiple IPA/app files found in the project's root directory directory. Make sure there is only one ipa."
|
||||
exit 1
|
||||
|
||||
elif [ -n "$IPAS" ]; then
|
||||
PATHTOYT=$(echo "$IPAS" | head -n 1)
|
||||
|
||||
else
|
||||
echo "❌ Error: No IPA/app file found in the project's root directory directory."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA="$PATHTOYT" FINALPACKAGE=1
|
||||
|
||||
# SHASUM
|
||||
if [[ $? -eq 0 ]]; then
|
||||
open packages
|
||||
echo "SHASUM256: $(shasum -a 256 packages/*.ipa)"
|
||||
|
||||
else
|
||||
echo "Failed building uYouPlus"
|
||||
|
||||
fi
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
read -p $'\e[34m==> \e[1;39mPath to the decrypted YouTube.ipa or YouTube.app: ' PATHTOYT
|
||||
make package IPA=$PATHTOYT FINALPACKAGE=1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
open packages
|
||||
echo "\033[0;32m==> \033[1;39mSHASUM256: $(shasum -a 256 packages/*.ipa)"
|
||||
else
|
||||
echo "\033[0;31m==> \033[1;39mFailed building uYouPlus"
|
||||
fi
|
||||
10
control
10
control
|
|
@ -1,10 +1,10 @@
|
|||
Package: com.qnblackcat.uyouplus
|
||||
Name: uYouPlus
|
||||
Package: com.arichorn.uyouenhanced
|
||||
Name: uYouEnhanced
|
||||
Architecture: iphoneos-arm
|
||||
Description: Modified version of uYou
|
||||
Maintainer: qnblackcat
|
||||
Description: An expanded version of uYouPlus
|
||||
Maintainer: arichorn
|
||||
Author: qnblackcat
|
||||
Section: Tweaks
|
||||
Depends: mobilesubstrate (>= 0.9.5000), com.miro.uyou
|
||||
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.devvix.ytcastconfirm, com.ps.ytclassicvideoquality, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, me.foxster.donteatmycontent, com.lyvendia.ytspeed, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
||||
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.devvix.ytcastconfirm, com.ps.ytclassicvideoquality, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, me.foxster.donteatmycontent, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
||||
Recommends: com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn
|
||||
|
|
|
|||
|
|
@ -1,140 +0,0 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto full screen (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking through videos. App restart is required.";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
|
||||
"YT_MINIPLAYER" = "Enable the mini player for all YouTube videos";
|
||||
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide the Previous and Next button in video controls overlay.";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Replace Previous and Next button";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Replace the Previous and Next buttons with the Fast forward and Rewind buttons. App restart is required.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Hide the creator End screens (thumbnails) at the end of videos.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Prevent Notch/Island on 2:1 video content (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube. App restart is required.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED dark theme (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED dark theme";
|
||||
"OLED_DARK_THEME_DESC" = "True dark theme. Might not work correctly in some cases. App restart is required after you enable/disable this option.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Might not work correctly in some cases. App restart is required.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
|
||||
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
||||
"CASTING" = "Castings";
|
||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||
"MSG_YES" = "Yes";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Google Sign in (for TrollStore user only)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Only turn on this option when you can't sign in with your Google account and the app was installed via TrollStore. If you can log in normally, keep it disabled. App restart is required.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subscription feeds (All videos, Continue watching...).";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "New mini player bar style (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlusのバージョン: %@";
|
||||
"VERSION_CHECK" = "ここをタップしてアップデートを確認!";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールのオーバーレイ設定";
|
||||
|
||||
"AUTO_FULLSCREEN" = "自動でフルスクリーンにする (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "動画を自動でフルスクリーンにします。";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップによるシークを無効化";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効にする";
|
||||
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効化します。";
|
||||
|
||||
"PINCH_TO_ZOOM" = "ピンチで拡大を無効にする";
|
||||
"PINCH_TO_ZOOM_DESC" = "アプリの再起動が必要です。";
|
||||
|
||||
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
||||
"YT_MINIPLAYER_DESC" = "例:子ども向けの動画など";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールのオーバーレイ設定";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "自動再生ボタンを非表示";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "動画コントロールのオーバーレイから自動再生ボタンを非表示にします。";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "字幕ボタンを非表示";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "動画コントロールのオーバーレイから字幕ボタンを非表示にします。";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "HUDのメッセージを非表示";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "例:字幕がオン/オフになりました、ループ再生はオンになっています、等";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "プロモーションバナーを非表示";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "「プロモーションを含みます」のバナーを非表示にします。";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "チャンネルのウォーターマークを非表示";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "動画再生時のチャンネルのウォーターマークを非表示にします。 アプリの再起動が必要です。";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "前後の動画を再生するボタンを非表示";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "動画コントロールのオーバーレイで次の動画と前の動画を再生するボタンを非表示にします。";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "前後の動画を再生するボタンを置換";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "次の動画と前の動画を再生するボタンをそれぞれ早送りと巻き戻しボタンに置き換えます。アプリの再起動が必要です。";
|
||||
|
||||
"HIDE_HOVER_CARD" = "動画終わりのホバーカードを非表示 (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "動画の最後のホバーカード(サムネイル)を非表示にします。";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "フルスクリーンモードで右パネルを非表示";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "アプリの再起動が必要です。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "赤いプログレスバー";
|
||||
"RED_PROGRESS_BAR_DESC" = "赤いプログレスバーに戻します。アプリの再起動が必要です。";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "2:1の動画とノッチ/Dynamic Islandの最適化 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "2:1比率の動画とノッチ/Dynamic Islandが干渉することを防ぎます。アプリの再起動が必要です。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "ショートのコントロールのオーバーレイ設定";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "ショートのチャンネルのプロフィール画像を非表示";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "ショートの低評価ボタンを非表示";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "ショートのコメントのボタンを非表示";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "ショートのリミックスのボタンを非表示";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "ショートの共有ボタンを非表示";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "uYouボタンを非表示";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "ショートのuYouボタンを非表示にします。";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "チャンネル登録ボタンを非表示";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "一時停止時に表示されるチャンネル登録ボタンを非表示にします";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Super Thanks を購入のバナーを非表示";
|
||||
"HIDE_SUPER_THANKS_DESC" = "ショートの「Super Thanks」バナーを非表示にします。";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "ショートの再開を無効化";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "ショート動画を見ていてアプリを終了した後、再度開いた際にショートから再開されるのを防ぎます。";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "テーマの設定";
|
||||
|
||||
"OLED_DARK_THEME" = "有機ELダークモード (実験的機能)";
|
||||
"OLED_DARK_THEME_2" = "有機ELダークモード";
|
||||
"OLED_DARK_THEME_DESC" = "正常に動作しない可能性があります。アプリの再起動が必要です。";
|
||||
|
||||
"OLD_DARK_THEME" = "従来のダークモード";
|
||||
"OLD_DARK_THEME_DESC" = "前のYouTubeのダークモードです。(グレー) アプリの再起動が必要です。";
|
||||
|
||||
"DEFAULT_THEME" = "通常";
|
||||
"DEFAULT_THEME_DESC" = "通常のYouTubeのダークモードです。アプリの再起動が必要です。";
|
||||
|
||||
"OLED_KEYBOARD" = "有機ELキーボード (実験的機能)";
|
||||
"OLED_KEYBOARD_DESC" = "正常に動作しない可能性があります。この設定を変更した場合、アプリの再起動が必要です。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "その他";
|
||||
|
||||
"CAST_CONFIRM" = "キャストする前に確認をする (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "誤ってテレビにキャストしないように、確認の警告を表示します。";
|
||||
"CASTING" = "キャスト";
|
||||
"MSG_ARE_YOU_SURE" = "本当にキャストを開始しますか?";
|
||||
"MSG_YES" = "はい";
|
||||
"MSG_CANCEL" = "キャンセル";
|
||||
|
||||
"DISABLE_HINTS" = "ヒントを非表示";
|
||||
"DISABLE_HINTS_DESC" = "アプリが再インストールされた際に表示される機能の使い方を非表示にします。";
|
||||
|
||||
"ENABLE_FLEX" = "FLEXを有効化";
|
||||
"ENABLE_FLEX_DESC" = "デバッグ用のFLEXを有効にします(推奨しません) 何をやっているのかわからない場合はオフにしてください。";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube起動時のアニメーションを有効にする";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Googleのサインインを修正 (TrollStoreユーザーのみ)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "アプリがTrollStoreでインストールされた場合のみ機能します。このオプションを有効にしてGoogleアカウントでサインインできるようにします。アプリの再起動が必要です。";
|
||||
|
||||
"HIDE_CHIP_BAR" = "トップバーを非表示";
|
||||
"HIDE_CHIP_BAR_DESC" = "ホーム(トレンド,音楽,ゲーム...)とサブスクリプション(すべてのビデオ、視聴を続ける...)リボンのトップバーを非表示にします。アプリの再起動が必要です。";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "新しいミニプレーヤー・バーを使う (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "アプリの再起動が必要です。";
|
||||
|
||||
"YT_RE_EXPLORE" = "ショートタブを探索タブに置き換える (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "アプリの再起動が必要です。";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhoneのレイアウト";
|
||||
"IPHONE_LAYOUT_DESC" = "iPhoneのレイアウトを使用する場合はトグルで切り替えてください。アプリの再起動が必要です。";
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for update!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto pełny ekran (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automaczycznie otwórz filmy w pełnym ekranie.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking videos. App restart is required.";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
|
||||
"YT_MINIPLAYER" = "Włącz miniodtwarzach dla wszystkich filmów";
|
||||
"YT_MINIPLAYER_DESC" = "Np. filmów dla dzieci.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ukryj przycisk Autoodtwarzanie";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ukrywa przycisk Autoodtwarzanie w okładce odtwarzacza filmów.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Ukryj przycisk Napisy";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Ukrywa przycisk Napisy w okładce odtwarzacza filmów.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Ukryj komunikaty HUD";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Np. Napisy są wył/wł, Odtwarzanie w pętli jest włączone, ...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Ukryj baner płatnej promocji";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ukrywa baner 'Zawiera płatną promocję' w niektórych filmach.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide Channel Watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ukryj przyciski Poprzedni i Następny";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ukryj przyciski Poprzedni i Następny w okładce sterowania filmu.";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Zamień przyciski Poprzedni i Następny";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Zamienia przyciski Poprzedni i Następny z przyciskami Przewiń w przód i tył. Restart aplikacji jest wymagany.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ukryj ekrany końcowe (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ukryj ekrany końcowe (miniaturki) na końcu filmów.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Zapobiega przeszkadzaniu Notcha/Island na filmach o proporcjach 2:1 (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Zapobiega notcha/Dynamic Island przed jedzeniem filmów o proporcjach 2:1 na YouTubie. Restart aplikacji jest wymagany.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "Tryb ciemny OLED (Eksperymentalny)";
|
||||
"OLED_DARK_THEME_2" = "Tryb ciemny OLED";
|
||||
"OLED_DARK_THEME_DESC" = "True dark theme. Might not work correctly in some cases. App restart is required after you enable/disable this option.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Może w niektórych przypadkach nie działać. Restart aplikacji jest wymagany.";
|
||||
|
||||
"OLED_KEYBOARD" = "Klawiatura OLED (Eksperymentalna)";
|
||||
"OLED_KEYBOARD_DESC" = "Może w niektórych przypadkach nie działać. Restart aplikacji jest wymagany.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
|
||||
"CAST_CONFIRM" = "Alert przed przesyłaniem (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Pokaż alert przed przesyłaniem aby nie łączyć się przez przypadek z telewizorem.";
|
||||
"CASTING" = "Przesyłania";
|
||||
"MSG_ARE_YOU_SURE" = "Czy na pewno chcesz przesyłać?";
|
||||
"MSG_YES" = "Tak";
|
||||
"MSG_CANCEL" = "Anuluj";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Napraw logowanie się z Google (tylko dla użytkowników TrollStore)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Włącz tą opcję tylko wtedy, kiedy nie możesz zalogować się swoim kontem Google, a aplikacja została zainstalowana przez TrollStore. Jeżeli da się zalogować normalnie, zostaw to wyłączone. Restart aplikacji jest wymagany.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subcription feeds (All videos, Continue watching...). App restart is required.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nowy styl miniodtwarzacza (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Restart aplikacji jest wymagany.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Zamień kartę Shorts na kartę Odkrywaj (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Restart aplikacji jest wymagany.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
/* Read me:
|
||||
- How to translate uYouPlus (if your language already exists then feel free to check it and/or improve it):
|
||||
1. Fork this uYouPlus repo
|
||||
2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id.
|
||||
For example: <ru.lproj> for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||
3. Translate each line below after each =
|
||||
4. Open a Pull Request
|
||||
|
||||
- You can also add your localization to YTABConfig, YouPiP, YTUHD, and Return YouTube Dislike. The process is the same:
|
||||
https://github.com/PoomSmart/YTABConfig/tree/main/layout/Library/Application%20Support/YTABC.bundle
|
||||
https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||
https://github.com/PoomSmart/YTUHD/tree/master/layout/Library/Application%20Support/YTUHD.bundle
|
||||
https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Application%20Support/RYD.bundle
|
||||
*/
|
||||
|
||||
// Settings
|
||||
"VERSION" = "uYouPlus's version: %@";
|
||||
"VERSION_CHECK" = "Tap to check for updates!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Player Options";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto full screen (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Disable snap to chapter";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Disable auto snap to chapter when seeking through videos. App restart is required.";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Disable pinch to zoom";
|
||||
"PINCH_TO_ZOOM_DESC" = "App restart is required.";
|
||||
|
||||
"YT_MINIPLAYER" = "Enable the mini player for all YouTube videos";
|
||||
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Hide channel watermark";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Hide channel's watermark in video controls overlay. App restart is required.";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide the Previous and Next button in video controls overlay.";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "Replace Previous and Next button";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "Replace the Previous and Next buttons with the Fast forward and Rewind buttons. App restart is required.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Hide the creator End screens (thumbnails) at the end of videos.";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
"RED_PROGRESS_BAR" = "Red progress bar";
|
||||
"RED_PROGRESS_BAR_DESC" = "Bring back the red progress bar. App restart is required.";
|
||||
|
||||
"DONT_EAT_MY_CONTENT" = "Prevent Notch/Island on 2:1 video content (DontEatMyContent)";
|
||||
"DONT_EAT_MY_CONTENT_DESC" = "Prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube. App restart is required.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR" = "Hide Shorts channel's avatar";
|
||||
"HIDE_SHORTS_CHANNEL_AVATAR_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON" = "Hide Shorts dislike button";
|
||||
"HIDE_SHORTS_DISLIKE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_COMMENT_BUTTON" = "Hide Shorts comment button";
|
||||
"HIDE_SHORTS_COMMENT_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_REMIX_BUTTON" = "Hide Shorts remix button";
|
||||
"HIDE_SHORTS_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_SHORTS_SHARE_BUTTON" = "Hide Shorts share button";
|
||||
"HIDE_SHORTS_SHARE_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON" = "Hide uYou's buttons";
|
||||
"HIDE_UYOU_SHORTS_DOWNLOAD_BUTTON_DESC" = "Hide uYou's download buttons in Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide Subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "Hide Subscriptions button which shows up when paused.";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide 'Buy Super Thanks' banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Hide the 'Buy Super Thanks' banner in Shorts.";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Disable resume to Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, Shorts won‘t automatically play next time you launch YouTube.";
|
||||
|
||||
// Theme
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED dark theme (Experimental)";
|
||||
"OLED_DARK_THEME_2" = "OLED dark theme";
|
||||
"OLED_DARK_THEME_DESC" = "True dark theme. Might not work correctly in some cases. App restart is required after you enable/disable this option.";
|
||||
|
||||
"OLD_DARK_THEME" = "Old dark theme";
|
||||
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
|
||||
|
||||
"DEFAULT_THEME" = "Default";
|
||||
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Might not work correctly in some cases. App restart is required.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
|
||||
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
||||
"CASTING" = "Castings";
|
||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||
"MSG_YES" = "Yes";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
|
||||
"DISABLE_HINTS" = "Disable hints";
|
||||
"DISABLE_HINTS_DESC" = "Disable feature hints from YouTube that usually display when the app is freshly installed.";
|
||||
|
||||
"ENABLE_FLEX" = "Enable FLEX";
|
||||
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Fix Google Sign in (for TrollStore user only)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Only turn on this option when you can't sign in with your Google account and the app was installed via TrollStore. If you can log in normally, keep it disabled. App restart is required.";
|
||||
|
||||
"HIDE_CHIP_BAR" = "Hide the Upper bar";
|
||||
"HIDE_CHIP_BAR_DESC" = "Hide Upper bar in the Home feeds (Trends, Music, Gaming...) and Subscription feeds (All videos, Continue watching...).";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "New mini player bar style (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhone Layout";
|
||||
"IPHONE_LAYOUT_DESC" = "Toggle to use the iPhone Layout. App restart is required.";
|
||||
1041
uYouPlus.xm
1041
uYouPlus.xm
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue