Compare commits

...

616 commits

Author SHA1 Message Date
arichornlover
93a564bf03
Update uYouPlusSettings.xm 2024-02-12 00:04:35 -06:00
arichornlover
6bfbbf1249
Update Localization. 2024-02-11 23:59:57 -06:00
arichornlover
65eefc6998
Update uYouPlusSettings.xm 2024-02-11 23:30:35 -06:00
arichornlover
e0caa144a6
Remove custom subview 2024-02-11 22:56:22 -06:00
arichornlover
4dfc4f6ea5
Update uYouPlusSettings.xm
I’m changing it until it works with YTSettingsCell.
I’m using the methods from Apple’s Documentation.
2024-02-11 21:53:32 -06:00
arichornlover
6da693c98f
Update uYouPlusSettings.xm 2024-02-11 21:42:44 -06:00
arichornlover
3f650bd623
Update uYouPlusSettings.xm 2024-02-11 16:45:53 -06:00
arichornlover
b6c979b8a9
Update uYouPlusSettings.xm 2024-02-11 16:27:30 -06:00
arichornlover
dedc21e0a1
Remove duplicate (buildapp.yml) 2024-02-11 15:43:27 -06:00
GitHub Actions
31ccd3872b updated submodules 2024-02-11 21:34:51 +00:00
GitHub Actions
081e3776a3 updated submodules 2024-02-11 21:22:32 +00:00
arichornlover
200be48d2a
Submodule Improvements 2024-02-11 15:21:49 -06:00
GitHub Actions
c80017fe9e updated submodules 2024-02-11 20:18:24 +00:00
arichornlover
a7613d6336
Fix other submodules
Seeing if I fixed it all..
2024-02-11 14:17:46 -06:00
GitHub Actions
5b585a13e5 updated submodules 2024-02-11 20:01:30 +00:00
arichornlover
bace8c02ca
Fix RYD Submodule
Fixed RYD due to Conventioal Imports not working with uYouEnhanced compiling
2024-02-11 14:00:07 -06:00
arichornlover
b0dd9101d1
Update buildapp.yml 2024-02-11 12:32:51 -06:00
arichornlover
eee57234eb
Added YouGroupSettings (PoomSmart)
Whenever I updated the Submodules, I saw this when I was looking through the changes. And the weirder thing is that my settings changed and I’m certain and hope that this fixes the problems I’ve been having in the Settings. If it doesn’t then I don’t know.
2024-02-11 10:58:22 -06:00
GitHub Actions
54cd18c4be updated submodules 2024-02-11 16:30:54 +00:00
arichornlover
c2510652f0
Added “Clear Cache” Button 2024-02-11 10:24:39 -06:00
arichornlover
21c6552580
Fix for YouTubeHeader compiling? (buildapp.yml) 2024-02-10 14:41:55 -06:00
GitHub Actions
74850a7eac updated submodules 2024-02-10 19:10:07 +00:00
arichornlover
2a44b7c54d
Update uYouPlus.xm 2024-02-08 18:44:33 -06:00
arichornlover
fb4b56c873
Create YTCastConfirm.xm 2024-02-08 18:43:36 -06:00
arichornlover
02ca804eb9
Remove duplicate header 2024-02-08 18:43:08 -06:00
arichornlover
d7605197fa
fix uYouPlus.bundle 2024-02-08 18:40:28 -06:00
arichornlover
1cf1e883d6
Update update-submodules.yml 2024-02-08 18:39:29 -06:00
arichornlover
5900b0a5ce
Create BigYTMiniPlayer.xm 2024-02-08 18:39:00 -06:00
arichornlover
82baaeb8bb
Remove duplicates - uYouPlus.xm 2024-02-08 18:37:17 -06:00
arichornlover
fdf9d2254c
Remove duplicate headers - uYouPlus.h 2024-02-08 18:34:05 -06:00
arichornlover
ce33a15967
Create BigYTMiniPlayer.h 2024-02-08 18:32:34 -06:00
arichornlover
fc1407c1da
fix Makefile compiling 2024-02-08 17:58:51 -06:00
GitHub Actions
71a1acd47d Rename 'lang' to 'Localizations' 2024-02-08 23:54:10 +00:00
arichornlover
9c43f77816
Update update-submodules.txt 2024-02-08 17:53:32 -06:00
arichornlover
5f0dc6cf9f
Planning on adding new localization name. 2024-02-08 17:46:34 -06:00
arichornlover
6f43106e5c
Update Localizable.strings 2024-02-08 17:46:16 -06:00
arichornlover
765a2204d4
Update Localizable.strings 2024-02-08 17:45:21 -06:00
arichornlover
b50afd2dd3
Update Localizable.strings 2024-02-08 17:44:02 -06:00
arichornlover
9b82cac0c6
Update Template Localization 2024-02-08 17:42:12 -06:00
arichornlover
7493710172
Update Localizable.strings 2024-02-08 17:39:57 -06:00
arichornlover
22720c77bb
Update Localizable.strings 2024-02-08 17:39:19 -06:00
arichornlover
4a06676725
Update Localizable.strings 2024-02-08 17:38:24 -06:00
arichornlover
e7fa875d1e
Update Localizable.strings 2024-02-08 17:37:20 -06:00
arichornlover
ccd67cc5b9
Update Localizable.strings 2024-02-08 17:36:15 -06:00
arichornlover
518c5de5e5
Update Localizable.strings 2024-02-08 17:35:12 -06:00
arichornlover
80a7e00461
Update Localizable.strings 2024-02-08 17:34:02 -06:00
arichornlover
50c99177e9
Update Localizable.strings 2024-02-08 17:33:04 -06:00
arichornlover
a02120adde
Update Localizable.strings 2024-02-08 17:32:08 -06:00
arichornlover
6b33ed8f44
Update Localizable.strings 2024-02-08 17:29:59 -06:00
arichornlover
f851392e3f
Update Localizable.strings 2024-02-08 17:27:56 -06:00
arichornlover
9c8b3df2ba
Update Localizable.strings 2024-02-08 17:26:25 -06:00
arichornlover
70f06b4abf
Update Localizable.strings 2024-02-08 17:25:09 -06:00
arichornlover
a91a6dd475
Update Localizable.strings 2024-02-08 17:23:10 -06:00
arichornlover
232fe497e4
Update Localizable.strings 2024-02-08 17:22:06 -06:00
arichornlover
c2c9cba09d
Update Localizable.strings 2024-02-08 17:21:07 -06:00
arichornlover
0b987f2e6b
Update Localizable.strings 2024-02-08 17:17:17 -06:00
arichornlover
afbcd4f470
Update Localizable.strings 2024-02-08 17:15:38 -06:00
arichornlover
08596dea2d
fix control 2024-02-05 21:00:13 -06:00
arichornlover
a00fb7f42c
Fix compiling for new folder 2024-02-05 20:56:52 -06:00
arichornlover
7ac6f2ad96
Update update-submodules.yml 2024-02-05 20:55:03 -06:00
GitHub Actions
c8ca610922 updated submodules 2024-02-06 02:48:36 +00:00
GitHub Actions
31e10fce8f Rename 'Source' to 'Sources' 2024-02-06 02:48:21 +00:00
arichornlover
33e93b633b
Update update-submodules.yml 2024-02-05 20:48:03 -06:00
arichornlover
150b7acb1b
v19.04.3-3.0.1 2024-01-31 22:58:35 -06:00
GitHub Actions
756d0c2425 updated submodules 2024-02-01 04:49:45 +00:00
arichornlover
43a6709662
Improved YTSpeed 2024-01-31 21:09:33 -06:00
arichornlover
4287235057
Update uYouPlus.xm 2024-01-31 19:21:31 -06:00
arichornlover
0429b4d1d9
Undo Bad Implementation.
Testing to see if this is the reason.
2024-01-30 18:12:18 -06:00
arichornlover
fed99eeb69
Fix broken options 2024-01-28 14:47:14 -06:00
arichornlover
0d318c11a5
Update uYouPlusSettings.xm 2024-01-28 14:46:02 -06:00
arichornlover
91fffe4a6b
Add 2 new options in settings
You can hide the remix and share buttons now. It was requested I guess.
2024-01-27 17:59:44 -06:00
arichornlover
eef213242c
Attempt to remove the gaps?!
I’m playing with fire, if this immediately crashes the app then I am sorry 😞
2024-01-27 13:51:12 -06:00
arichornlover
e084dca96b
Added “Hide Connect” and “Hide Share” buttons under the video player 2024-01-27 13:13:51 -06:00
arichornlover
bb6c2d665e
Better script (qnblackcat) 2024-01-27 10:06:21 -06:00
arichornlover
01dc6634d7
New TR Localizable.strings 2024-01-25 21:50:10 -06:00
GitHub Actions
cd6a7e69b1 updated submodules 2024-01-25 22:04:55 +00:00
arichornlover
2eebd7dd09
MrBeastify Re-Added! 2024-01-24 23:03:16 -06:00
GitHub Actions
31d7c838d2 Added MrBeastify Localizatiom 2024-01-25 05:01:04 +00:00
arichornlover
9a9898680f
Update update-submodules.yml 2024-01-24 23:00:21 -06:00
arichornlover
c236299cc4
Update update-submodules.yml 2024-01-24 22:56:39 -06:00
GitHub Actions
4cf8a8674e updated submodules 2024-01-25 03:46:19 +00:00
GitHub Actions
67f7440c88 updated submodules 2024-01-25 03:27:18 +00:00
GitHub Actions
528e771889 updated submodules 2024-01-25 02:55:14 +00:00
arichornlover
672f7f2bcc
Update buildapp.yml 2024-01-24 20:33:38 -06:00
arichornlover
550f193099
Remove Deprecated Warnings ⚠️ - buildapp.yml
Removed deprecated related to Node.js 16.
2024-01-24 20:30:01 -06:00
GitHub Actions
6b800100f1 updated submodules 2024-01-25 02:27:41 +00:00
GitHub Actions
6a3b5254e8 updated submodules 2024-01-25 02:17:27 +00:00
arichornlover
656c2d725a
Fix update-submodules.yml 2024-01-24 20:16:58 -06:00
arichornlover
4d1ccacd6a
Update .gitmodules 2024-01-24 20:09:09 -06:00
arichornlover
70ac2d1963
Re-add MrBeastify 2024-01-24 20:03:02 -06:00
GitHub Actions
7caca22bc8 updated submodules 2024-01-25 02:01:33 +00:00
GitHub Actions
428c8eb92c updated submodules 2024-01-25 01:52:38 +00:00
arichornlover
a8d925774e
Update .gitmodules 2024-01-24 19:46:52 -06:00
GitHub Actions
5fd4de2da1 updated submodules 2024-01-25 01:42:50 +00:00
arichornlover
49bde90f2c
Update uYouPlusThemes.xm 2024-01-24 17:51:02 -06:00
arichornlover
b8ff781190
Update and rename VersionSpoofer.xm to uYouPlusVersionSpoofer.xm 2024-01-24 17:17:00 -06:00
arichornlover
7b262301e2
Delete Source/LowContrastMode.swift 2024-01-24 17:16:33 -06:00
arichornlover
a9649c0688
Update LowContrastMode.xm 2024-01-24 17:16:15 -06:00
GitHub Actions
816bba068c updated submodules 2024-01-24 23:10:31 +00:00
arichornlover
95900f68e0
Update Makefile 2024-01-24 17:06:30 -06:00
arichornlover
e74d568675
Remove duplicate stuff 2024-01-24 16:56:59 -06:00
arichornlover
d49c6185dc
Update and rename Patches.xm to uYouPlusPatches.xm 2024-01-24 16:55:26 -06:00
arichornlover
36da48986a
Update Patches.xm 2024-01-24 16:54:39 -06:00
arichornlover
e3a5ce60d7
Create uYouPlus.xm 2024-01-24 16:52:23 -06:00
arichornlover
0fa9f42aab
Delete uYouPlus.xm 2024-01-24 16:52:00 -06:00
arichornlover
218272d627
Update uYouPlus.xm 2024-01-24 16:51:31 -06:00
arichornlover
2ac4e3b832
Create YTReExplore.x 2024-01-24 16:50:25 -06:00
arichornlover
77660c1c51
Delete Duplicate 2024-01-24 16:48:35 -06:00
arichornlover
3b61837ed2
Create uYouPlus.h 2024-01-24 16:48:18 -06:00
arichornlover
96d3185f9d
Create uYouPlusSettings.xm 2024-01-24 16:47:28 -06:00
arichornlover
6a6f1748a7
Delete Settings.xm 2024-01-24 16:46:19 -06:00
arichornlover
6b1c304974
Update Makefile 2024-01-24 16:45:34 -06:00
arichornlover
4d0ecb3356
Update buildapp.yml 2024-01-24 16:42:53 -06:00
arichornlover
a5209f06e1
qnblackcat’s buildapp.yml to uYouEnhanced 2024-01-24 16:42:00 -06:00
arichornlover
dc323f3c7e
Update Settings.xm 2024-01-24 16:39:58 -06:00
arichornlover
838cc65cbc
Update uYouPlus.xm 2024-01-24 16:36:29 -06:00
arichornlover
375a08c4cd
Update uYouPlusThemes.xm 2024-01-24 16:31:03 -06:00
arichornlover
c5d5de39d6
Update uYouPlusThemes.xm 2024-01-24 16:30:18 -06:00
arichornlover
1809253d61
Merge pull request #304 from IceBotYT/patch-1
v19.02.1-3.0.1
Fix username in README
2024-01-22 18:46:19 -06:00
IceBotYT
29e8b09e3e
Fix username in README 2024-01-22 18:25:15 -05:00
arichornlover
eca4cc04ee
Disable Buttons that don’t compile correctly ⚠️ 2024-01-17 16:03:33 -06:00
arichornlover
67bcf504e9
Update Settings.xm 2024-01-17 00:48:14 -06:00
arichornlover
621fd653a6
Update Settings.xm 2024-01-17 00:39:56 -06:00
arichornlover
cd429c40a1
Add Color Options to Settings! - YouTube Reborn
Added some color options from YouTube Reborn, baked into uYouEnhanced Settings! If it works than this will be great!
2024-01-17 00:38:17 -06:00
arichornlover
d2dc20496b
Fix Functionality of CustomContrastMode
Whoops, I apologize for not fixing this
2024-01-16 23:56:13 -06:00
arichornlover
91905d2151
Fix ColourOptionsController2 Reset Button 2024-01-16 23:48:47 -06:00
arichornlover
e926075904
Merge pull request #295 from bhackel/main
Fix building by disabling uYouLocalization
2024-01-16 23:39:42 -06:00
Bryce Hackel
c9afa26b33
Disable uYouLocalization 2024-01-15 20:43:44 -08:00
arichornlover
ec5ce70334
Temporary-Disable uYouLocalization 2024-01-14 18:59:28 -06:00
GitHub Actions
2f63fd15c7 updated submodules 2024-01-14 16:27:35 +00:00
GitHub Actions
035e463be4 updated submodules 2024-01-14 02:03:04 +00:00
arichornlover
f6c07e9dd2
Update SECURITY.md (Tweak name update)
Policy has been modified a bit and includes the new tweak name 😅
2024-01-13 12:58:19 -06:00
arichornlover
dce32e8032
Merge pull request #288 from SKEIDs/Update-Japanese-localization
Update Japanese localization
2024-01-12 18:33:39 -06:00
SKEIDs
3e0969839d
Update Japanese localization 2024-01-13 09:17:08 +09:00
arichornlover
0fcfe4f858
Update Settings.xm 2024-01-12 00:20:50 -06:00
arichornlover
235f35f9cc
Update Makefile 2024-01-11 20:58:02 -06:00
arichornlover
43e497fb5f
Better Themes - uYouEnhanced 2024-01-11 20:52:20 -06:00
arichornlover
52bcf40fc2
Update Themes.xm 2024-01-11 20:32:00 -06:00
arichornlover
6a6a463020
Update Themes.xm 2024-01-11 20:24:17 -06:00
arichornlover
d6380ee379
Update LowContrastMode.xm 2024-01-11 20:11:28 -06:00
arichornlover
dc2ccb6528
Remove unnecessary code 2024-01-11 20:10:25 -06:00
arichornlover
5b2436e39f
Update Themes.xm 2024-01-11 19:48:20 -06:00
arichornlover
e28b165211
Update uYouPlus.xm
Separate function?
2024-01-11 19:45:58 -06:00
arichornlover
76bdcbdad7
Update Themes.xm 2024-01-11 19:35:29 -06:00
arichornlover
14b57512fc
Update uYouPlus.h 2024-01-11 19:33:16 -06:00
arichornlover
f60272bd41
Update uYouPlus.h 2024-01-11 19:25:30 -06:00
arichornlover
7feef909f5
Update control 2024-01-11 19:19:32 -06:00
arichornlover
0d23938396
Update ColourOptionsController2.m 2024-01-11 19:11:51 -06:00
arichornlover
ea9cb70c05
Update ColourOptionsController.m 2024-01-11 19:11:37 -06:00
arichornlover
9f3da12e1c
Update ColourOptionsController2.m 2024-01-11 19:04:48 -06:00
arichornlover
515c5a64d1
Update ColourOptionsController.m 2024-01-11 19:04:35 -06:00
arichornlover
86c18659ea
Add support for both custom color pickers (Tweak.xm) 2024-01-11 18:19:07 -06:00
arichornlover
e742eecb71
Custom Dark Theme Implementation 2024-01-11 18:18:42 -06:00
arichornlover
bdf7449a40
Update ColourOptionsController2.m
You may be wondering, why am I adding reset buttons? Well the problem is that if YouTube Reborn isn’t present in uYouEnhanced, I gotta do it like this.
2024-01-11 18:03:15 -06:00
arichornlover
f0b7efb509
Update ColourOptionsController.m
Remove YouTube Reborn Stuff
2024-01-11 17:58:32 -06:00
arichornlover
dea08c68ba
Add Color Picker Controllers (For Themes & LCM)
I have added 2 color picker controllers!
in uYouEnhanced Settings, the themes will get an update to help you give it more personalization.
However I do need help making this a reality in uYouEnhanced Settings.
2024-01-11 17:40:58 -06:00
arichornlover
df3a7ddad8
v19.01.1-3.0.1 2024-01-11 12:04:24 -06:00
arichornlover
d07cee1fc9
v18.49.3-3.0.1-F3
Also includes a new contributor and better code readability.
2024-01-10 17:51:13 -06:00
arichornlover
baa50fcae2
Merge pull request #283 from bhackel/feature-No-Suggested-Video
Feature: Remove Suggested Video
2024-01-10 17:26:11 -06:00
Bryce Hackel
98987871b9
Add autoplay note 2024-01-10 12:40:39 -08:00
Bryce Hackel
c7006cec21
Add YTNoSuggestedVideo 2024-01-10 02:34:54 -08:00
arichornlover
2828785564
Merge pull request #282 from bhackel/fix-build
Only download specific SDK
2024-01-09 19:59:38 -06:00
Bryce Hackel
7959f3d780
Only download specific SDK 2024-01-09 17:41:42 -08:00
arichornlover
4c2f45db01
Fix uYouEnhanced Building 🔧 2024-01-09 18:57:13 -06:00
arichornlover
86ca725b54
Re-implement uYouPlus Settings Search Bar
After nearly 2 years, I have decided to re-add this feature since settings look different ;) enjoy! Hope it’s easier!
2024-01-08 17:33:39 -06:00
GitHub Actions
08eeae68d9 updated submodules 2024-01-06 03:54:42 +00:00
GitHub Actions
601d8f6d95 updated submodules 2023-12-30 19:16:47 +00:00
arichornlover
322a2023d9
Rename buildapp.sh to build.sh 2023-12-28 15:19:21 -06:00
arichornlover
11dd2111bd
Update .gitignore 2023-12-28 15:18:17 -06:00
arichornlover
6d1902b145
Update Spanish Localizable.strings 2023-12-28 15:16:22 -06:00
arichornlover
931a83fd0f
Update KO Localizable.strings 2023-12-28 15:15:26 -06:00
arichornlover
4d091a673d
Update NL Localizable.strings 2023-12-28 15:14:16 -06:00
arichornlover
4016735b99
Update PL Localizable.strings 2023-12-28 15:13:16 -06:00
arichornlover
cd08c068bb
Update PT Localizable.strings 2023-12-28 15:12:23 -06:00
arichornlover
6bb417d601
Update RO Localizable.strings 2023-12-28 15:11:20 -06:00
arichornlover
4af842475c
Update HE Localizable.strings 2023-12-28 15:09:48 -06:00
arichornlover
c9f830cbf7
Update HU Localizable.strings 2023-12-28 15:08:42 -06:00
arichornlover
a65142d7e4
Update RU Localizable.strings 2023-12-28 15:07:05 -06:00
arichornlover
3b233b07a5
Update IT Localizable.strings 2023-12-28 15:04:13 -06:00
arichornlover
a4dedeb451
Update Localizable.strings 2023-12-28 15:03:19 -06:00
arichornlover
5bb24fc712
Update TR Localizable.strings 2023-12-28 15:01:36 -06:00
arichornlover
9f367b0b07
Update AR Localizable.strings 2023-12-28 15:00:37 -06:00
arichornlover
2cc361651b
Update CZ Localizable.strings 2023-12-28 14:59:43 -06:00
arichornlover
42635ca151
Update ZH_CN Localizable.strings 2023-12-28 14:58:21 -06:00
arichornlover
bc7264f1ae
Update FR Localizable.strings 2023-12-28 14:56:25 -06:00
arichornlover
7526ae75cc
Update Localizable.strings 2023-12-28 14:55:14 -06:00
arichornlover
6f0478af33
Update EL Localizable.strings 2023-12-28 14:54:12 -06:00
arichornlover
baf5e043e8
Update JA Localizable.strings 2023-12-28 14:52:19 -06:00
arichornlover
81941a81f0
Update Localizable.strings 2023-12-28 14:45:02 -06:00
arichornlover
901867fd11
New English Localization 2023-12-28 14:43:25 -06:00
arichornlover
2114f4686b
New Localization for new settings 2023-12-28 14:42:07 -06:00
arichornlover
54e3403b22
Fix an option header
App Settings Overlay Options needed it’s own header 😅
2023-12-28 14:36:48 -06:00
arichornlover
72c88cfddf
Re-implement Custom Contrast Mode (Broken?) 2023-12-27 22:43:39 -06:00
GitHub Actions
a2872996b2 updated submodules 2023-12-28 04:39:12 +00:00
arichornlover
b6c96a4680
Removed unused function GetSelection
Not needed.
2023-12-27 22:36:18 -06:00
arichornlover
076dcf4d9f
Fix missing
I kept missing some stuff 😅
2023-12-27 22:29:26 -06:00
arichornlover
1b158afa30
Update LowContrastMode.xm 2023-12-27 22:26:25 -06:00
arichornlover
bd0aedb4a9
Update Settings.xm 2023-12-27 22:12:56 -06:00
arichornlover
f585221627
Update Settings.xm 2023-12-27 21:58:07 -06:00
arichornlover
1a313d6923
Change Version Spoofer and Low Contrast Mode Picker 2023-12-27 21:01:30 -06:00
arichornlover
c52fb9e2cf
Update buildapp (Updated Theos) 2023-12-27 19:59:30 -06:00
arichornlover
3da1d563ff
Add missing ]]
Small mistake 😅
2023-12-27 19:52:03 -06:00
arichornlover
5836a9a6ff
Update LowContrastMode Option 2023-12-27 19:05:32 -06:00
arichornlover
d7f8cf3913
Update Settings.xm 2023-12-27 18:46:37 -06:00
arichornlover
5c6eaf2fa5
Update Settings.xm 2023-12-27 18:33:17 -06:00
arichornlover
d0df045e1b
Define Switch_item 3 & 4
Smarter way I believe?
2023-12-27 18:32:28 -06:00
arichornlover
1ff93b4a4d
Update uYouPlus.xm 2023-12-27 17:26:08 -06:00
arichornlover
3cb2df1027
Update all of LowContrastMode’s Keys
Updated all keys to use IS_ENABLED instead of IsEnabled
2023-12-27 16:48:35 -06:00
arichornlover
76a1d28f25
Update all of AppVersionSpoofer’s Keys
Updated all keys to use IS_ENABLED instead of IsEnabled
2023-12-27 16:45:00 -06:00
arichornlover
b109c9d5ba
Still not done!
LowContrastMode & App Version Spoofer aren’t patched!
2023-12-27 16:21:42 -06:00
arichornlover
94b6a1e3dd
more improvements 2023-12-27 14:58:23 -06:00
arichornlover
93dc180246
More Improvements (WIP)
I gotta test before I continue changing stuff.
2023-12-27 13:48:42 -06:00
arichornlover
8539589981
Remove IsEnabled stuff 2023-12-27 13:19:15 -06:00
arichornlover
2628dd7b79
Update to new Video player options settings
Still not done. Working on a fix for the version spoofer and LowContrastMode sections not showing.
2023-12-27 03:25:06 -06:00
arichornlover
e60e70c772
IsEnabled to IS_ENABLED
Based on therealFoxster’s implementation, i’m still figuring out how to fix Version Spoofer and LowContrastMode
2023-12-26 22:40:43 -06:00
arichornlover
f37f5359f7
Unfinished - LowContrastMode/VersionSpoofer weird implementation
I ain’t doing too well with this..
2023-12-26 21:23:15 -06:00
arichornlover
d4bf938641
Disable LowContrastMode Functionality due to New Settings 2023-12-26 20:48:48 -06:00
arichornlover
3b9de82030
Refined Theme Options (Breaks LowContrastMode Option)
I somehow gotta figure out if I can make LowContrastMode work with this new layout for Themes. I can’t place it in there.
2023-12-26 19:30:01 -06:00
arichornlover
c42865521e
New Headers
New Headers from theRealFoxster to define the updated Themes file
2023-12-26 19:18:04 -06:00
arichornlover
091332073a
remove duplicate function (Hide Shorts Cells) 2023-12-26 19:08:42 -06:00
arichornlover
53a50504b2
Old Dark Theme Improvements 2023-12-26 19:03:21 -06:00
arichornlover
8de5f0bb10
Updated Themes #266 2023-12-26 16:39:29 -06:00
arichornlover
0e22bef9cd
Re-added iOS16 Fix Headers 2023-12-24 10:37:36 -06:00
arichornlover
83eebbf264
Update uYouPlus.xm 2023-12-24 10:19:55 -06:00
arichornlover
1341cc6370
Remove Code Duplicates (for Patches.xm) 2023-12-24 10:07:40 -06:00
arichornlover
b0d1f91791
New File: Patches.xm
Also I reimplemented a long lost feature that was removed from uYouEnhanced.
I have re-added the iOS 16 Patch!
2023-12-24 10:07:14 -06:00
arichornlover
dcb094b404
New Headers
New Headers that may be important later on.
2023-12-24 09:50:52 -06:00
arichornlover
f1f11aac2e
Implement therealFoxster Dark Theme Fix 2023-12-24 09:46:26 -06:00
arichornlover
a2d7d2df34
Update VersionSpoofer.xm (https://github.com/arichorn/uYouEnhanced/discussions/171)
This has been changed due to https://github.com/arichorn/uYouEnhanced/discussions/171
2023-12-21 21:29:28 -06:00
arichornlover
f79714f6c3
Updated Version Spoofer Options (for YouTube v19.xx.x+) https://github.com/arichorn/uYouEnhanced/discussions/171
Since YouTube v19.xx.x is right around the corner, I have decided to remove v16 versions inside the Version Spoofer. https://github.com/arichorn/uYouEnhanced/discussions/171
2023-12-21 21:02:15 -06:00
arichornlover
f30e0bf7ca
Actually add uYouLocalization
I thought it was added, until I realized it wasn’t. It should be now.
2023-12-21 06:17:09 -06:00
arichornlover
98b5b98b1f
v18.49.3-3.0.1-F2 2023-12-21 01:03:50 -06:00
GitHub Actions
2439b9dc67 updated submodules 2023-12-21 05:11:31 +00:00
arichornlover
9c2b2557bb
Update .gitmodules 2023-12-20 23:10:30 -06:00
arichornlover
143f3f7323
remove unnecessary actions in update-submodules.yml
Since it’s been added, these need to be removed to avoid duplicate files or unwanted conflicts.
2023-12-20 23:00:09 -06:00
arichornlover
64afb80764
Add uYouLocalization to update-submodules template 2023-12-20 22:59:09 -06:00
GitHub Actions
139574bcf9 Added uYouLocalization bundle 2023-12-21 04:56:16 +00:00
arichornlover
ac23bc02ed
Update update-submodules.txt
Supports uYouEnhanced stuff instead of uYouPlusExtra
2023-12-20 22:55:31 -06:00
arichornlover
e41ee0b9ea
Add uYouLocalization Bundle 2023-12-20 22:55:02 -06:00
GitHub Actions
34d165f964 added uYouLocalization submodule 2023-12-21 04:48:51 +00:00
arichornlover
18c24e439b
uYouLocalization 2023-12-20 22:48:12 -06:00
GitHub Actions
8af7a58533 updated submodules 2023-12-20 20:55:18 +00:00
arichornlover
111c361ba8
Re-Enable Return YouTube Dislikes
Thanks PoomSmart!
2023-12-20 14:54:33 -06:00
arichornlover
71929f5a2a
Merge pull request #261 from Deci8BelioS/main
Update Localizable.strings Spanish
2023-12-20 13:14:19 -06:00
DeciBelioS
869c7c6722
Update Localizable.strings spanish 2023-12-20 17:06:15 +01:00
arichornlover
a447c3325a
Update uYouPlus.xm 2023-12-18 19:30:28 -06:00
arichornlover
a4c0ebf03e
Disable Return YouTube Dislikes [Temporary]
Disabled the Tweak due to building errors. Will return once it’s fixed
2023-12-18 18:46:38 -06:00
GitHub Actions
737e6cb4f6 updated submodules 2023-12-19 00:41:52 +00:00
arichornlover
34eab34620
Update .gitmodules 2023-12-18 18:40:38 -06:00
GitHub Actions
7106706e81 updated submodules 2023-12-17 20:20:53 +00:00
arichornlover
c27ed8854a
Rewrite YTNoCommunityPosts Code
Thanks to iCrazeiOS, it can use YTIElementRenderer
2023-12-17 11:02:57 -06:00
arichornlover
c0006a59ad
Remove tweak name *uYouEnhanced* (bug.yaml) 2023-12-16 17:29:52 -06:00
arichornlover
a82f79678b
Merge pull request #255 from aaronliu0130/patch-1
Separate device info into several required input fields and remove italics
2023-12-16 15:54:28 -06:00
arichornlover
1e35628ac4
LowContrastMode Cutoff Version
I’m changing one of the options. It will have this.
2023-12-16 15:07:48 -06:00
Aaron Liu
8176ae891f
Update bug.yaml 2023-12-16 15:54:46 -05:00
Aaron Liu
f1a7024cf3
move parentheses into description and remove italics 2023-12-16 11:13:57 -05:00
Aaron Liu
08a06f52a2
oops 2023-12-16 11:09:28 -05:00
Aaron Liu
cb52d0f838
separate device info 2023-12-16 11:08:00 -05:00
GitHub Actions
908f28fc81 updated submodules 2023-12-15 21:12:21 +00:00
arichornlover
f954b1504d
Update LowContrastMode.xm 2023-12-15 01:55:30 -06:00
arichornlover
0c9d855bc7
fix spelling errors (LowContrastMode) 2023-12-14 22:57:04 -06:00
arichornlover
4c92078d36
Added iSponsorBlock Button (LowContrastMode) 2023-12-14 22:21:58 -06:00
arichornlover
da5f6223de
Finally Added white1 Color (LowContrastMode)
Y’know. I’m adding this. It’s a controversial change and this is something I despised of because it also changes the text and icons video player overflow menu which doesn’t look appealing but I’ll add it,
2023-12-14 21:38:53 -06:00
arichornlover
42c913af86
Update Settings.xm 2023-12-13 19:46:09 -06:00
arichornlover
743d7f4b3c
Remove Restore the Previous Channel Page Option
from #251 
This option has been removed from uYouEnhanced due to an unfixable problem with the Previous Channel Page UI.
2023-12-13 19:44:39 -06:00
arichornlover
cede3b58d5
Update YTNoTracking (new change based off of YouTube Revanced)
I made this and it initially replicates how YouTube Revanced Looks. Can’t confirm if it works as if I didn’t test it.
2023-12-13 19:18:46 -06:00
arichornlover
3e7c7970b0
Update LowContrastMode 2023-12-13 02:10:20 -06:00
arichornlover
bb6e1b54ab
Updated Implementation to help solve #248 2023-12-12 23:43:08 -06:00
arichornlover
1d69040003
v18.49.3-3.0.1 2023-12-11 21:08:20 -06:00
arichornlover
7db85e8b8e
Update Makefile 2023-12-11 18:20:04 -06:00
arichornlover
9f8d87d801
Update buildapp.yml 2023-12-09 21:58:47 -06:00
arichornlover
e4cd1e5999
Update uYouPlus.xm 2023-12-09 21:44:48 -06:00
arichornlover
dcce00a772
Update uYouPlus.xm 2023-12-09 21:32:40 -06:00
arichornlover
63cdc53860
Reimplement YTNoModernUI Option using only Keys
a smarter implementation of YTNoModernUI! and way better then ever! Work Smarter not Harder.
2023-12-09 21:01:15 -06:00
arichornlover
86af9b182f
Rename tweak name to uYouEnhanced (buildapp.yml)
next release the uYouPlusExtra name won’t be present. Instead it shows the name uYouEnhanced.
2023-12-09 18:24:18 -06:00
arichornlover
ccf73c0785
Relocate App Version Spoofer
App Version Spoofer is now in a new category! called `UI Options`! It’s in this category due to the fact that the Spoofer messes with the YouTube App’s UI Interface which makes sense.
2023-12-09 17:26:38 -06:00
arichornlover
b6876692e6
Discontinue YTNoModernUI Option
I have changed the functionality of YTNoModernUI. The time has came to get rid of it and allow you guys to change the options your way. All of the code from YTNoModernUI has been separated has different options to give out more customization.
2023-12-09 16:01:14 -06:00
GitHub Actions
fd995ef1a6 updated submodules 2023-12-09 20:46:31 +00:00
arichornlover
ef862c8d68
Merge pull request #243 from ErSpieltHD/patch-1
Update Localizable.strings
2023-12-09 14:45:53 -06:00
ErSpieltHD
f29f3f26bd
Update Localizable.strings 2023-12-09 11:54:47 +01:00
ErSpieltHD
41f3e70842
Update Localizable.strings 2023-12-09 11:45:30 +01:00
arichornlover
82e00bdd52
re-added buildapp.sh
This is not functional yet.
2023-12-05 02:22:44 -06:00
arichornlover
4f332c7009
v18.48.3-3.0.1 2023-12-04 17:09:18 -06:00
GitHub Actions
ba27befd33 updated submodules 2023-12-04 22:35:25 +00:00
arichornlover
2f0ac9afdd
Update Settings.xm 2023-12-04 16:08:39 -06:00
arichornlover
19849087da
YTSpeed works with Latest Version.
These changes + headers were made by level3tjg! Please go and support for their hard work! They done an amazing job! 🎊
2023-12-04 02:48:46 -06:00
GitHub Actions
fd6a07a420 updated submodules 2023-12-04 08:33:50 +00:00
arichornlover
1bdbf5a1bb
Update Makefile 2023-12-04 02:28:53 -06:00
arichornlover
34b2593815
New Header Changes 2023-12-03 22:54:38 -06:00
arichornlover
2b3e0869e8
Resolve #238
Rip. I re-added the old ‘Hide Channel Watermark` functionality.
2023-12-03 22:50:51 -06:00
arichornlover
2a0ed287b5
About kCFErrorDomainCFNetwork error 303
Updated Security Policy.
2023-12-02 20:35:30 -06:00
arichornlover
8c5ed914ce
v18.46.3-3.0.1-F2 2023-12-02 16:41:33 -06:00
arichornlover
9ebf28df77
Update uYouPlus.xm 2023-12-02 15:41:17 -06:00
arichornlover
0e0fedc418
Merge some changes 2023-12-02 15:29:45 -06:00
arichornlover
a1f8eb92be
Update uYouPlus.xm 2023-12-02 14:52:19 -06:00
arichornlover
de98e58bac
Update uYouPlus.xm 2023-12-02 14:41:18 -06:00
arichornlover
935d0d9703
Resolve some errors 2023-12-02 14:33:03 -06:00
arichornlover
44d855e42a
Code Clean Up & Improvements
A major change to uYouPlusExtra. Cleaning up and changing a ton of code around the uYouPlus.xm file
2023-12-02 13:44:42 -06:00
arichornlover
1d61542513
this implementation is hard.
I’m sorry for multiple changed y’all, I keep changing how this works so it’ll hide the containers. I’m just not that good at this.
2023-12-02 01:33:32 -06:00
arichornlover
2251049401
Update uYouPlus.xm 2023-12-02 00:42:53 -06:00
arichornlover
10282a2d9f
Update uYouPlus.xm 2023-12-02 00:05:50 -06:00
arichornlover
680ae2a7f8
Update uYouPlus.xm 2023-12-01 22:09:52 -06:00
arichornlover
58afb4be52
Update uYouPlus.xm 2023-12-01 21:45:28 -06:00
arichornlover
5fb36e29bb
Changes to some stuff 2023-12-01 21:08:33 -06:00
arichornlover
e7fa6191cb
New Tweak Name Poll Announcement
Hello! Check out https://github.com/arichorn/uYouPlusExtra/discussions/236 and vote on which name this tweak to be called.
2023-12-01 20:28:36 -06:00
arichornlover
49777351e0
Rename to Disable Ambient Mode in Fullscreen
I changed the title to this because it only turns off Ambient Mode when in Fullscreen.
2023-11-30 21:24:44 -06:00
arichornlover
0b113fc70a
Improvements to Disable Ambient Mode 2023-11-30 16:46:21 -06:00
GitHub Actions
1bce31bf4d updated submodules 2023-11-30 07:38:08 +00:00
arichornlover
467991ec8d
Use description as accessibilityidentifier
I apologize for this change, but I’m having trouble doing this implementation. I don’t want the functionality to break so I’m doing my best.
2023-11-29 17:54:41 -06:00
arichornlover
b6356182d1
Update uYouPlus.xm 2023-11-29 17:28:03 -06:00
arichornlover
a98cc7ad40
Update Settings.xm 2023-11-29 16:52:33 -06:00
arichornlover
9c85621b2d
New Option Red Subscribe Button
New option to replace the subscribe button color from white to red!
2023-11-29 16:48:31 -06:00
arichornlover
91d3529261
Update uYouPlus.h 2023-11-29 16:38:09 -06:00
arichornlover
1986600d46
Add a new Header 2023-11-29 16:25:58 -06:00
arichornlover
e3b4187766
Update Settings.xm 2023-11-29 16:14:30 -06:00
arichornlover
c2c1f38662
Improved Hide Ambient Mode & Hide Button Containers 2023-11-29 16:12:38 -06:00
arichornlover
012725efa6
Update Settings.xm 2023-11-28 20:24:34 -06:00
arichornlover
1dca562a22
New Option Hide Button Containers
you can now hide the containers in the buttons 😎
Some of y’all requested this and it’s now implemented to uYouPlusExtra!
2023-11-28 20:05:50 -06:00
arichornlover
8d03828478
Updated YTNoModernUI (1)
Realized it was the wrong method, swapped it out with *removeFromSuperview*
2023-11-28 19:41:18 -06:00
arichornlover
cd0c125feb
Updated YTNoModernUI
YTNoModernUI had an urgent update! Google has changed the way ambient works and I decided to do an implementation to fix it!
2023-11-28 19:35:16 -06:00
arichornlover
39fd5b783b
Lower uYou compatibility 2023-11-28 02:29:02 -06:00
arichornlover
bf83324ff2
Adjusted uYou Tweak Compatibility List
List has been updated since I was incorrect. I’m certain on v18.34.5 is the minimum version to run uYou 3.0.1 because of the Video Quality changes?
2023-11-27 23:39:31 -06:00
arichornlover
ccc112f835
v18.08.1-3.0.1-F4 2023-11-27 20:54:19 -06:00
arichornlover
5d3cec9711
Added more custom YouTube Logos - #183
This version doesn’t include the `Extra` label that’s on the right side of the logo.
Special Thanks to HaruMatsu9124
2023-11-27 20:08:52 -06:00
arichornlover
ea04a38b7e
LowContrastMode v1.5.1
After all these months, I finally did another LowContrastMode patch that can potentially fix and support the YouTube UI on v17.39.4 and above!
2023-11-27 17:53:38 -06:00
arichornlover
f135505f1e
Add a workaround fix for YouTube Premium Logo - #187 2023-11-27 16:07:57 -06:00
arichornlover
3cfdf5ac8e
Fix Center YouTube Logo 2023-11-26 21:46:07 -06:00
arichornlover
0b04b91ef2
Remove **uYouPlusExtra Logo** option
since I failed to implement the option as I wanted. I decided to replace it with the option to be able to Center the YouTube Logo.
2023-11-26 17:45:28 -06:00
arichornlover
8ae42fef4d
Removed an option
I removed this because it will completely crash the app. I suck at trying to implement something like this.
2023-11-26 17:18:58 -06:00
arichornlover
66191f3edf
Delete Bundles/MrBeastify.bundle 2023-11-26 13:37:13 -06:00
arichornlover
c3e8f75839
Update update-submodules.yml 2023-11-26 13:25:03 -06:00
arichornlover
4edc1dd440
Updated Update-Submodules template 2023-11-26 13:24:37 -06:00
arichornlover
353a549e83
Update update-submodules.yml 2023-11-26 13:24:07 -06:00
GitHub Actions
89174aa328 Added YTHoldForSpeed bundle 2023-11-26 19:21:13 +00:00
GitHub Actions
513abdbc22 Added YTHoldForSpeed submodule 2023-11-26 19:21:12 +00:00
arichornlover
81f7a55bde
Update update-submodules.yml 2023-11-26 13:20:50 -06:00
arichornlover
0f0f86115e
New Tweak YTHoldForSpeed
This change also removes the MrBeastify tweak.
2023-11-26 13:13:12 -06:00
arichornlover
ed5da99036
Update uYouPlusExtra Logo again
I had to urgently change something. If YTHeaderLogoController was set to NULL, it will remove the controller and then the custom logo won’t show up.
2023-11-26 13:00:22 -06:00
arichornlover
b3bf06ce7e
New Options
This also reverts the stupid changes I’ve done. Hope this is fine.
2023-11-26 12:44:50 -06:00
arichornlover
8cbbc3093f
Undo some changes 2023-11-26 12:38:51 -06:00
arichornlover
ad33154c18
Update Settings.xm 2023-11-26 12:32:08 -06:00
arichornlover
ab43d84951
Bring back the old color for Buffer Bar
This is what the Buffer Bar color originally was in v16.xx.x YouTube.
2023-11-26 10:37:15 -06:00
arichornlover
33c9508607
Update uYouPlus.xm 2023-11-26 00:47:30 -06:00
arichornlover
bdc046b211
Update Settings.xm 2023-11-26 00:26:15 -06:00
arichornlover
8f68e0c363
Update uYouPlus.xm 2023-11-26 00:15:18 -06:00
arichornlover
beb9dcbd13
Resolve some errors with new changes 2023-11-25 23:54:35 -06:00
arichornlover
baf9d06677
Add YouTube Logo Section 2023-11-25 23:41:51 -06:00
arichornlover
c90b56d8d3
Declared YouTube Logos 2023-11-25 23:12:45 -06:00
arichornlover
d04cf5a24d
Add missing YouTube Logo stuff 2023-11-25 22:55:48 -06:00
arichornlover
1804a2cfa5
Change YouTube Logo Options functionality
Now, you are able to change the YouTube Logo easier with these new changes!
2023-11-25 22:54:10 -06:00
arichornlover
bb28191fe4
New Options (YouTube Logo Customization)
New YouTube Logo options! This provides more customization towards the YouTube Logo in uYouPlusExtra!
2023-11-25 22:32:50 -06:00
arichornlover
32d047a1e8
Update YTHeaderLogoController Header 2023-11-25 19:15:39 -06:00
arichornlover
da90055059
Update uYouPlus.xm 2023-11-25 19:12:35 -06:00
arichornlover
a3581bf3ba
Update uYouPlus.xm 2023-11-25 19:04:22 -06:00
arichornlover
5197eacd2a
Is there a better way for the Custom Logo implementation? 2023-11-25 18:49:58 -06:00
arichornlover
69dc003517
Update uYouPlus.xm 2023-11-25 18:27:44 -06:00
arichornlover
5e83c4ca98
New Header 2023-11-25 18:16:26 -06:00
arichornlover
a94ee4f855
Change some other stuff 2023-11-25 18:12:08 -06:00
arichornlover
92d5eaa10f
Updated uYouPlusExtra Logo Option 2023-11-25 17:49:47 -06:00
arichornlover
7b5e4fa6a1
3 New Options
You can now hide the buttons `Thanks, Clip & Save to playlist` under the video player!
2023-11-25 16:38:27 -06:00
arichornlover
efe3e3ce0f
Fixed uYouPlusExtra Building
uYouPlusExtra can now build packages normally again!
Some stuff has been changed to ensure the updated url and it’s uYou deb injected into the ipa.
2023-11-25 15:18:39 -06:00
arichornlover
ae2793db39
Updated Hide Shorts Cells
Hide Shorts Cells has an upgrade from PoomSmart & iCrazeiOS
2023-11-23 20:30:09 -06:00
arichornlover
effb18e2c1
v18.46.3-3.0.1 2023-11-20 19:41:06 -06:00
GitHub Actions
8c11ff11df updated submodules 2023-11-21 00:58:51 +00:00
arichornlover
6ff27ebf94
Update Makefile 2023-11-19 19:04:13 -06:00
arichornlover
a0343b34b8
Fix Remove Indicators option
Option wasn’t building correctly.
2023-11-18 18:11:58 -06:00
arichornlover
efe8503241
More YTNoTracking Improvements
Planning on trying to focus on YTNoTracking to take care of the other issues related to stripping Tracking Params & URLs.
2023-11-18 17:51:56 -06:00
arichornlover
4cb8c9b5da
Updated YTNoTracking Tweak 2023-11-17 23:21:31 -06:00
arichornlover
8d56ee85c8
Update Settings.xm 2023-11-17 22:21:50 -06:00
arichornlover
6763948779
Improved some Options 2023-11-17 16:23:04 -06:00
GitHub Actions
f2f63981e7 updated submodules 2023-11-17 11:45:41 +00:00
arichornlover
b2fefd2ff8
Update uYouPlus.xm 2023-11-16 06:47:45 -06:00
arichornlover
0805fe053a
Will this fix the logos? 2023-11-16 00:02:24 -06:00
GitHub Actions
877d969580 updated submodules 2023-11-15 23:39:20 +00:00
arichornlover
1793c4b031
New Option Disable Ambient Mode - #165 2023-11-15 17:33:19 -06:00
arichornlover
e64368002c
Update uYouPlus.xm 2023-11-15 17:30:07 -06:00
arichornlover
551fdfcb4e
Updated YTNoModernUI (due to New A/B Flags) 2023-11-15 17:29:20 -06:00
arichornlover
e0c49c3ed6
New Section in Settings
Added a new section so that Miscellaneous won’t get cluttered.
2023-11-15 17:15:19 -06:00
arichornlover
cb04600613
Also change Premium YouTube Logo hook 2023-11-15 17:03:38 -06:00
arichornlover
df1681f34f
Update Makefile 2023-11-15 16:59:03 -06:00
arichornlover
d08f3babd6
Fixed a Header 2023-11-15 16:13:07 -06:00
arichornlover
1b8edc7818
Updated uYouPlusExtra Logo hook
I realized that the hook somehow got spelled incorrectly. So it’s now `YTLogoHeaderController` to `YTHeaderLogoController`
2023-11-15 16:09:36 -06:00
arichornlover
52249ae259
New Options for hiding Buttons under the video player
Added a few more options to hide some buttons that is under the video player.
2023-11-13 16:11:44 -06:00
arichornlover
d8858c92aa
Fixed “uYouPlusExtra Logo” Toggle
I saw a mistake in the option and since it’s been fixed, the option should work now.
2023-11-13 16:09:42 -06:00
arichornlover
df964d39c3
Improvements 2023-11-12 16:33:59 -06:00
arichornlover
05936f1426
New Headers 2023-11-12 16:29:57 -06:00
GitHub Actions
9702239dd1 updated submodules 2023-11-12 21:41:24 +00:00
arichornlover
f7c98d1f23
Undo YouTubeHeader Submodule Changes 2023-11-12 15:37:11 -06:00
arichornlover
ad0d875fb5
Updated Hide Channel Watermark Option - #198 2023-11-11 16:45:55 -06:00
arichornlover
de3d4320e6
Renamed an option - #155 2023-11-11 16:08:12 -06:00
arichornlover
fbf66f9031
Added YTLogoHeaderViewController Header
This header is required along with the pageStyle to be able to change the icons in light/dark theme of the app.
2023-11-11 11:59:38 -06:00
arichornlover
bc234732b8
New Option: YouTube Premium Logo 2023-11-11 11:56:41 -06:00
arichornlover
d87b0d1763
Change some options
Changed
“uYouPlusExtra Logo” option (UIImageView didn’t work out)`
“Hide Comment Section” option (replaces sizeToFit with CGRect),
“Hide Remix Button” & “Hide Offline Button” options (these 2 are having problems and the new changes were untested)
2023-11-11 11:52:55 -06:00
arichornlover
f516ddeca4
Update uYouPlus.xm 2023-11-08 01:23:30 -06:00
arichornlover
1cf8221c8d
Updated Security Policy
Re-added the rule to Prohibit qnblackcat & PoomSmart from interfering with the uYouPlusExtra Project.
2023-11-08 00:40:02 -06:00
arichornlover
27ac05851f
v18.44.3-3.0.1 2023-11-07 19:50:57 -06:00
arichornlover
24f90271d1
Improvements & fixed options 2023-11-07 19:11:38 -06:00
arichornlover
5e46d9936d
New Option: uYouPlusExtra Logo 2023-11-07 19:05:45 -06:00
arichornlover
30ce254ce5
New Headers 2023-11-07 19:01:12 -06:00
arichornlover
ed20d9e5f5
Update Makefile 2023-11-07 14:23:42 -06:00
GitHub Actions
b0e5a8f82f updated submodules 2023-11-07 19:27:35 +00:00
arichornlover
73f4fc5edd
Added custom YouTube Logos - #183 2023-11-05 21:43:08 -06:00
GitHub Actions
0150082a31 updated submodules 2023-11-05 20:28:02 +00:00
arichornlover
49f12a0b66
Update Makefile 2023-11-02 22:49:41 -05:00
GitHub Actions
33d150e739 updated submodules 2023-11-02 06:19:21 +00:00
arichornlover
bc08c77664
Update YouTubeHeader Submodule
Directory of the YouTubeHeader submodule is now set to arichorn/YouTubeHeader,
I needed to modify something so the uYouCrashFix will function.
2023-11-02 01:18:49 -05:00
arichornlover
9c11a8d6af
Update uYouPlus.xm 2023-11-02 01:07:59 -05:00
arichornlover
91ea6c8fe1
Update uYouPlus.h 2023-11-02 01:04:39 -05:00
arichornlover
118f4fd556
Update uYouPlus.h 2023-11-01 23:34:20 -05:00
arichornlover
25e7b84541
Added Important Headers
Headers that may be needed.
uYouCrashFix headers from iCrazeiOS
2023-11-01 21:59:54 -05:00
GitHub Actions
87900e01a5 updated submodules 2023-10-30 04:05:29 +00:00
arichornlover
0f726cfa32
v18.41.5-3.0.1 2023-10-28 23:01:51 -05:00
arichornlover
72401dcd13
Update Makefile 2023-10-28 19:37:10 -05:00
arichornlover
1905439eda
Merge pull request #167 from Harumatsu91202024/patch-1
Updated Localizable.strings
2023-10-26 15:52:10 -05:00
HaruMatsu
4398c49258
Updated Localizable.strings
FIxed some gramatical mistakes as well as added in missing strings from recent updates.
2023-10-27 05:47:13 +09:00
arichornlover
ef93afd234
Updated YTNoModernUI
These New flags were added or changed in the recent YouTube versions. Hope this is useful.
2023-10-26 01:47:19 -05:00
arichornlover
d56dc8a86a
Fix Themes not working in comment section
YouTube once again changed something therefore I update this.
2023-10-26 01:04:50 -05:00
arichornlover
93b3397e01
Added Hide Remix Button (for v16.xx.x UI version)
Same option except it’s for older Video Player UI for Version Spoofers Users / Fake YT Version Users
2023-10-24 01:01:56 -05:00
arichornlover
97c6d103d8
Update uYouPlus.h 2023-10-24 00:56:03 -05:00
arichornlover
851f831b73
Update uYouPlus.h 2023-10-23 20:39:20 -05:00
arichornlover
4bfbcd5f6a
Update Settings.xm 2023-10-23 02:19:34 -05:00
arichornlover
a40becdb44
Added Hide Remix Button + Other Changes
Some of the changes were hard to do. Including the Hide Remix and Download buttons. And some of the other changes are Inspired and based off of YouTube Revanced (&  Revanced Extended)
2023-10-23 02:16:53 -05:00
arichornlover
4641328c9b
Update Settings.xm 2023-10-22 23:05:54 -05:00
arichornlover
24bf80cef5
Fix #162 2023-10-22 23:04:55 -05:00
arichornlover
c0257e801e
Update Settings.xm 2023-10-22 03:03:54 -05:00
arichornlover
a8440ab26e
New Option “Hide Videos in Fullscreen”
Technically not a new option. This change was made to move half of the functionality from the option “ Hide all videos under player”.
2023-10-22 02:59:57 -05:00
GitHub Actions
05e24f733f updated submodules 2023-10-22 07:52:10 +00:00
GitHub Actions
ee54600327 updated submodules 2023-10-22 07:22:22 +00:00
GitHub Actions
815cd96302 updated submodules 2023-10-22 06:49:54 +00:00
arichornlover
d2fb05bf86
revert changes to update Submodules
2 weeks later and this change has been breaking some Submodules like MrBeastify. I will change it back to the other if this is a bad idea
2023-10-22 01:49:13 -05:00
arichornlover
4b2c982160
Update MrBeastify Submodule 2023-10-22 00:31:39 -05:00
arichornlover
bc862d88ac
🔧 Update buildapp.yml Dependencies 2023-10-20 17:07:35 -05:00
arichornlover
1e63361f48
Fix errors (uYouPlus.xm)
I apologize about the errors, this took all night to resolve 😅
2023-10-19 16:47:33 -05:00
arichornlover
7369ee0ac1
Update uYouPlus.xm 2023-10-19 02:49:25 -05:00
arichornlover
6936a8fb2b
Resolve some errors? (uYouPlus.xm) 2023-10-19 02:31:18 -05:00
arichornlover
15af3980f0
Update uYouPlus.h 2023-10-19 01:53:22 -05:00
arichornlover
7d873944a6
Update an option (Settings.xm) 2023-10-19 01:33:46 -05:00
arichornlover
43b542d697
Option Improvements
Improved 2 Options
- Hide Shorts Cells
- Hide Download Button under Player
2023-10-19 01:30:46 -05:00
arichornlover
ce82c117db
Improved buildapp.yml
This version of the buildapp.yml was from level3tjg’s uYouPlus repository and here were the changes that I added to the uYouPlusExtra Version.
- You can modify the sdk version. (For example changing from 16.2 to 15.5 if you wanted to.)
- things have been reordered to be organized just like level3tjg’s version.

And I didn’t add everything from the level3tjg version. Because I fear those are unfinished and gotta respect to not add it in yet 🫡
2023-10-19 00:05:13 -05:00
arichornlover
8c9097db1d
Update Extractor.xm 2023-10-16 17:21:20 -05:00
arichornlover
2aaf7dd4f7
Show the new Options
Updated Settings.xm to make the new options show up.
2023-10-15 18:12:14 -05:00
arichornlover
d870bb5123
Updated “Hide Related Videos” Option #155 2023-10-15 15:16:10 -05:00
arichornlover
2c063e85a9
3 New Options
This is subject to change. Nothing has been tested.
2023-10-15 03:58:49 -05:00
arichornlover
19e771714b
Downgrade Theos.. Again..
Downgrading Theos again because this time it broke the Alderis Framework.
2023-10-15 03:32:44 -05:00
arichornlover
3a79b638fa
Update Makefile 2023-10-13 00:40:31 -05:00
arichornlover
5a8703ef55
Add Extractor Files 2023-10-12 21:46:04 -05:00
arichorn
1d431bb927
Merge pull request #148 from asdfzxcvbn/submodules
improve submodule updating
2023-10-08 21:13:34 -05:00
zx
e53fb5e6df
improve submodule updating
basically no behavior has changed, but the line count of the file has gone down significantly
2023-10-08 20:08:26 -04:00
arichorn
df8f59c21d
Japan Localization update from qnblackcat/uYouPlus 2023-10-07 13:39:04 -05:00
arichorn
70a14e827a
Supports latest Theos
Special thanks to Level3tjg for fixing the compiling! uYouPlus & uYouPlusExtra can be built without any compiling errors now!
2023-10-06 23:52:01 -05:00
arichorn
5b70455b4b
Update VersionSpoofer.xm 2023-10-06 23:23:47 -05:00
arichorn
ba128dd024
Update LowContrastMode.xm 2023-10-06 23:23:34 -05:00
arichorn
56e22c8a21
Fix Compiling error on Themes 2023-10-06 23:16:43 -05:00
arichorn
1cf7480a9e
Update SECURITY.md 2023-10-06 23:09:12 -05:00
arichorn
72d172b3d9
Update Settings.xm 2023-10-06 22:18:53 -05:00
arichorn
97301ee2d9
Update uYouPlus.xm 2023-10-06 22:18:34 -05:00
arichorn
932289221d
rename Header.h
File name has been changed to uYouPlus.h (by level3tjg)
2023-10-06 22:18:16 -05:00
arichorn
4bd10955fa
v18.39.1-3.0.1
Also hope y’all like the new and improved README.md!
2023-10-02 22:59:51 -05:00
arichorn
c105310e71
Update Makefile 2023-10-02 21:28:08 -05:00
arichorn
6af6a382ab
Themes Improvements 2023-10-01 22:40:13 -05:00
arichorn
3d245dc784
Improved some Options 2023-10-01 20:20:58 -05:00
arichorn
948f478229
Fix #138
Fixed a problem that was caused by me
2023-10-01 00:28:35 -05:00
arichorn
90eff9f385
Theme changes for #113 2023-09-30 13:28:59 -05:00
arichorn
6f4f979a2d
Updated YTNoModernUI Localizations
YTNoModernUI has updated localization because YTNoModernUI’s functionality has been completely changed.
2023-09-29 18:49:40 -05:00
arichorn
78c2ddaaea
Updated update-submodules template 2023-09-29 18:00:33 -05:00
arichorn
04c212f915
Updated Security Policy
I realized a fatal mistake. I no longer support Localization since it’s hard to maintain it whenever the branch resets or new settings from qnblackcat’s uYouPlus gets added.
2023-09-29 17:19:39 -05:00
arichorn
61ae8e720a
Update uYouPlus.xm 2023-09-28 21:42:06 -05:00
arichorn
f5f0748d91
Updated YTNoModernUI 2023-09-28 20:36:12 -05:00
arichorn
de3eb16662
Update Dependencies 2023-09-28 19:37:31 -05:00
arichorn
6bfab35e2d
fix another issue with themes
YouTube secretly replace “brand.promo_view” with “brand_promo.view” so it’s fixed.
2023-09-27 18:14:49 -05:00
arichorn
ac1004e906
Update update-submodules.txt 2023-09-25 20:18:23 -05:00
arichorn
f6c3d055db
Update Makefile 2023-09-25 20:14:08 -05:00
arichorn
b5c404572d
Update update-submodules.yml 2023-09-25 20:07:01 -05:00
GitHub Actions
b31c2337b1 removed ytnocommunityposts 2023-09-26 00:58:16 +00:00
arichorn
be8b1b7637
Update update-submodules.yml 2023-09-25 19:57:52 -05:00
arichorn
e7547e4d06
Added a new Header
Another Header is required in order to hide Video Suggestions.
2023-09-25 19:55:16 -05:00
arichorn
c1d5762afd
Update update-submodules.yml 2023-09-25 19:52:56 -05:00
arichorn
10008aa9af
Remove Suggested Videos from Video Player #126 2023-09-25 18:04:13 -05:00
arichorn
c0cf0237fc
Fix Timed Comments Background Color (Dark Theme)
The color palettes for these weren’t changing so I fixed it.
2023-09-25 17:54:51 -05:00
arichorn
c651c58736
v18.38.2-3.0.1 2023-09-24 20:52:54 -05:00
arichorn
c1e75b443c
Update Settings.xm 2023-09-24 20:12:00 -05:00
arichorn
3d2310589a
Added Hide Header Links under Channel Profile Option
Option was made by arichorn
Option was based off of Dayanch96’s YTLite
2023-09-24 20:08:26 -05:00
arichorn
d461c3ef89
Update Makefile 2023-09-24 19:23:59 -05:00
arichorn
d5880ea00e
Disable a few more options
These options don’t work correctly at the moment. Didn’t realize these were incompatible with their tweaks.
2023-09-24 18:08:31 -05:00
GitHub Actions
cfe83e471a updated submodules 2023-09-24 14:24:58 +00:00
arichorn
d1a88de0dc
change YTABConfig
Changed submodule to the forked version of YTABConfig to remove something I disliked.
2023-09-24 09:24:18 -05:00
GitHub Actions
a89beaa189 updated submodules 2023-09-24 02:47:52 +00:00
arichorn
7d5af8e99a
Revert Changes because of macos-latest
iOS 17 SDK cannot be used because `macos-latest` has not updated
2023-09-22 19:00:27 -05:00
arichorn
1be0c249cc
Update Makefile 2023-09-22 18:59:11 -05:00
arichorn
d743657492
Update README.md
v18.35.4-3.0.1 (September 11th Release)

other changes:
uYou 3.0.1 is not compatible with 18.06.6 or 18.07.5 therefore it only works with 18.08.1 or newer.
2023-09-22 18:56:26 -05:00
arichorn
b57483c17b
Update Dependencies 2023-09-22 18:37:58 -05:00
arichorn
343b334f14
Update update-submodules.yml 2023-09-22 18:35:28 -05:00
arichorn
1f343d67b0
iOS 17.0 SDK
New SDK to support iPhone 15/iPhone 15 Pro
2023-09-22 18:35:09 -05:00
arichorn
a99e10ba04
Update LowContrastMode.xm 2023-09-21 23:25:32 -05:00
arichorn
37a1461742
Updated YTNoModernUI + YTShortsProgress
YTNoModernUI was updated to remove some stuff that is no longer in the app anymore.

YTShortsProgress was updated to fix the PlayerBar but unfortunately when I checked it seems like YouTube removed the `shouldEnablePlayerBar` Feature which was needed.
2023-09-21 22:01:33 -05:00
arichorn
f8bfcffbef
LowContrastMode v1.5.0
LowContrastMode v1.5.0 provides more changes to improve the tweak!
2023-09-21 21:34:29 -05:00
arichorn
566ad93bf0
Disable New Option
I realized having this option in uYouPlusExtra will not work as intended sadly.
2023-09-21 18:32:50 -05:00
arichorn
d1cd5e68a1
LowContrastMode Improvements 2023-09-20 21:44:26 -05:00
arichorn
99c5aa0d5a
Update uYouPlus.xm 2023-09-20 20:12:49 -05:00
arichorn
5df593c7e7
Updated Themes Supports YouTube v18.34.5+
OLED & Old Dark Theme has been updated because there was new UI changes in the Comment Section. so It has been fixed in this commit.
2023-09-20 19:02:26 -05:00
arichorn
bc1a3fd1af
Added Hide the Download Button under player Option
Option was made by arichorn
Option was based off of MiRO92’s uYou Tweak
2023-09-20 18:47:24 -05:00
arichorn
413cb22444
Another Option https://github.com/qnblackcat/uYouPlus/issues/145
a new option based off of uYou's old `Hide Download Button` option. this will only work on YouTube Versions that have the New Interface.
2023-09-20 18:44:24 -05:00
arichorn
1371927937
Fixed Comment Section Identifiers
fixed some of the identifiers to it will hide the rest of the comment section correctly.
2023-09-20 18:16:47 -05:00
arichorn
732fa3a4d5
Remove Duplicated Method
I forgot that the `Shorts Subscriptions Option` was in here. so I just decided to move the Hide Comment Section code to the option above to avoid the duplication error.
2023-09-20 17:52:08 -05:00
arichorn
b91e6d1d6d
Updated update-submodules Template
Template has been updated so actions/checkout would be using v4.0.0 to avoid deprecation warnings in the future.
2023-09-20 17:42:44 -05:00
arichorn
986be79147
Update Settings.xm 2023-09-20 17:39:18 -05:00
arichorn
ade503ebb3
Updated an Option
Previous Code appears to not work. so now I'm using this version of the code based off of YouTube Reborn.
2023-09-20 17:38:43 -05:00
arichorn
8f7a6a7a68
Update control 2023-09-19 22:59:53 -05:00
arichorn
f8c3428eb6
Update Settings.xm 2023-09-19 22:25:57 -05:00
GitHub Actions
ef6912212f updated submodules 2023-09-20 01:14:11 +00:00
arichorn
7ed046a8fc
Update update-submodules.yml 2023-09-19 20:13:44 -05:00
arichorn
055da8f17b
Update VersionSpoofer.xm 2023-09-19 20:11:58 -05:00
arichorn
69cf94cb44
Added more Version Spoofer Options
It’s been awhile! Version Spoofer has been updated to support and to be able to spoof to newer versions of the app.
2023-09-19 19:53:02 -05:00
arichorn
4b46e44b52
Updated Version Spoofer
Added 8+ More Versions to the Spoofer! These were added to I wanted to debug which version had the new You Tab in the pivot bar.
2023-09-19 19:17:34 -05:00
arichorn
4ac0afed6f
Updated Security Policy 2023-09-19 16:35:21 -05:00
arichorn
361de02ff1
Added Hide the comment section under player Option
Option was made by arichorn
Option was based off of Dayanch96’s YTLite Adblock
2023-09-18 21:42:57 -05:00
arichorn
fa313c15cd
Another Option #111
Another option based off of #111 but this time you can hide the comment section
2023-09-18 21:36:38 -05:00
arichorn
3bca764334
Added Hide all videos under player Option
Option was made by Dayanch96
Option was from YTLite
2023-09-17 15:35:05 -05:00
arichorn
f03ab2fe3d
Added another Option #111 2023-09-17 12:44:15 -05:00
arichorn
cec0e27e55
Update Header.h 2023-09-17 11:56:33 -05:00
arichorn
4be9549d42
Update uYouPlus.xm 2023-09-17 11:55:16 -05:00
arichorn
ccd6826de4
Updated App Settings Overlay Options
This has been updated to be up-to-date and supported for YouTube’s New Pivot Bar Tab & Settings changes.
2023-09-17 03:46:05 -05:00
arichorn
4020ab10a7
New Options!
New Options for uYouPlusExtra! This change was made due to the introduction of the `You` Tab in the App which completely changed some of the `App Settings Overlay Options` stuff
2023-09-17 03:31:40 -05:00
arichorn
99a3416652
Update update-submodules.yml 2023-09-16 18:42:41 -05:00
GitHub Actions
2de374dbe8 Re-Added FLEXing 2023-09-16 23:33:01 +00:00
arichorn
2a1975d069
Update update-submodules.yml 2023-09-16 18:32:38 -05:00
GitHub Actions
b9ef23f9dd Change FLEXing 2023-09-16 23:27:47 +00:00
arichorn
a0c50c4dea
Update update-submodules.yml 2023-09-16 18:27:20 -05:00
arichorn
f66e962b06
Update update-submodules.yml 2023-09-16 18:16:19 -05:00
arichorn
c2d69b97a6
Change FLEXing Branch
Branch has been changed. Reason why I changed it was due to issues with crashing in iOS15+ and System Log not working in iOS 17+
2023-09-16 18:13:06 -05:00
GitHub Actions
4ab1b0573f updated submodules 2023-09-16 03:00:58 +00:00
arichorn
f59f4243be
Update OLED Dark Theme
Added stuff so that OLED Dark Theme works correctly on the latest version of YouTube.
2023-09-14 18:56:39 -05:00
arichorn
88dd1b711f
Update Themes.xm 2023-09-13 17:01:24 -05:00
arichorn
9afbdb2dac
Fix OLD Dark Theme
Fix OLD Dark Theme not working on newer YouTube Versions.
2023-09-13 16:43:58 -05:00
arichorn
10ce2d1bd8
Update Settings.xm 2023-09-11 18:37:14 -05:00
arichorn
ef025bd3ac
Disable CustomContrastMode
Crashes as soon as you use it. My fault.
2023-09-11 18:33:49 -05:00
arichorn
9c52e27b9a
Update uYouPlus.xm 2023-09-07 20:22:41 -05:00
GitHub Actions
4512d43e42 updated submodules 2023-09-08 01:02:06 +00:00
arichorn
a194b345f8
Update uYouPlus.xm 2023-09-07 19:44:29 -05:00
arichorn
2215e3bd5f
Update Settings.xm 2023-09-07 19:43:43 -05:00
arichorn
c27a33ccff
Add files via upload 2023-09-07 19:27:09 -05:00
arichorn
ccda2827a9
Update Localizable.strings 2023-09-07 16:52:40 -05:00
GitHub Actions
95095dbddd updated submodules 2023-09-07 21:51:39 +00:00
arichorn
c9d32fd2c3
Update Themes.xm 2023-09-07 16:37:39 -05:00
GitHub Actions
619223cc90 updated submodules 2023-09-07 21:37:12 +00:00
arichorn
eae46196ed
Update Return YouTube Dislike #101 2023-09-07 16:35:56 -05:00
arichorn
e4fc237941
Update Themes.xm 2023-09-07 16:28:25 -05:00
arichorn
defe4a0f8c
Improvements to Themes 2023-09-06 16:36:29 -05:00
arichorn
7681af2aaf
v18.34.5-3.0.1 2023-09-05 22:45:21 -05:00
arichorn
65d96a84e1
Update Settings.xm 2023-09-05 22:14:06 -05:00
arichorn
359ce0e29d
Update uYouPlus.xm 2023-09-05 22:13:36 -05:00
arichorn
d8a0f921a4
Update Themes.xm 2023-09-05 22:12:08 -05:00
arichorn
5b1ff83bdd
Update Themes.xm 2023-09-05 21:32:50 -05:00
arichorn
2254c8511a
Update Makefile 2023-09-05 21:02:31 -05:00
arichorn
db1a29a0e3
Fix Native Dark Theme
This commit changes Old Dark Theme aswell.
2023-09-05 20:56:22 -05:00
arichorn
dd015adea7
Update uYouPlus.xm 2023-09-05 20:48:20 -05:00
arichorn
1d2be63a9e
Changes from qnblackcat/uYouPlus
I’m suspicious with the commit. Looks identical to my version.
2023-09-05 20:42:27 -05:00
arichorn
2bd5aed405
Update Localizable.strings 2023-09-05 20:39:40 -05:00
arichorn
c7d141c3d3
Update Localization 2023-09-05 20:38:04 -05:00
GitHub Actions
e5b3fdbb3b updated submodules 2023-09-06 01:37:53 +00:00
GitHub Actions
f6dc419db7 updated submodules 2023-09-05 00:53:59 +00:00
GitHub Actions
36c05f3678 updated submodules 2023-09-05 00:52:03 +00:00
GitHub Actions
0fac075d6c updated submodules 2023-09-05 00:36:31 +00:00
arichorn
fe0b4f7ab0
Fix broken options
Fix broken options related to the Sections DontEatMyContent, Return YouTube Dislike & YouPiP
2023-09-04 18:59:39 -05:00
GitHub Actions
91eb0d1a42 updated submodules 2023-09-04 23:04:11 +00:00
arichorn
cfcfcf05b2
Update uYouPlus.xm 2023-09-04 14:17:47 -05:00
arichorn
1a307df502
Merge pull request #100 from olivertzeng/patch-1
Update Localizable.strings
2023-09-04 11:50:06 -05:00
arichorn
8127b3da9d
Undo buildapp.yml changes 2023-09-04 11:46:57 -05:00
arichorn
432ebc879f
Merge branch 'qnblackcat:main' into main 2023-09-04 11:45:43 -05:00
GitHub Actions
cd401daa37 updated submodules 2023-09-04 02:05:51 +00:00
arichorn
9126bbe2b6
Temporary Update MrBeastify Tweak 2023-09-03 21:05:10 -05:00
arichorn
5819451c4f
Update Settings.xm 2023-09-03 19:04:37 -05:00
arichorn
1eff0b0fd4
Update Makefile 2023-09-03 18:53:54 -05:00
arichorn
63624a49f9
Update Settings.xm 2023-09-03 18:51:05 -05:00
arichorn
efeb36f1e6
New Options!
The new options shown in the code replaces the old option “Disabled Wifi Related Settings”
2023-09-03 18:38:02 -05:00
arichorn
d20263bf35
Update update-submodules.yml 2023-09-03 17:53:14 -05:00
GitHub Actions
0c414df932 Added submodule bundle 2023-09-03 22:51:39 +00:00
GitHub Actions
107a5e35d6 added MrBeastify submodule 2023-09-03 22:51:38 +00:00
arichorn
12f9830817
Update update-submodules.yml 2023-09-03 17:51:13 -05:00
arichorn
aa69f5161c
Updated update-submodules Template 2023-09-03 17:48:30 -05:00
arichorn
3c5c6536c0
Removed buildapp.sh
Unfortunately buildapp.sh is not working. So I recommend forking uYouPlusExtra and then building the ipa with GitHub Actions.
2023-09-03 17:21:02 -05:00
Oliver Tzeng
7af1e4368b
Update Localizable.strings
Missing strings lol
2023-09-03 15:52:37 +08:00
arichorn
c00a28aba9
Update YTColor Headers
Updated this so it’ll be able to do more changes related to the UI around the app.
2023-09-02 16:29:57 -05:00
arichorn
aaee12c551
Improved Hex Color 2023-09-02 13:04:14 -05:00
arichorn
7e8fbc10da
Removed all ColorContrastMode options
next I need to figure out how to implement the Hex Color for the new functionality of the tweak.
2023-09-02 09:58:02 -05:00
arichorn
10d879fe11
Deprecate ColorContrastMode
ColorContrastMode was something made by Dayanch96, an beloved extension to the LowContrastMode tweak. But as of September 1st 2023, it has been removed because of how tiring it is to modify and also having them here makes the code be over 1000+ lines. So ColorContrastMode will be replaced with Hex Color.
2023-09-01 23:41:47 -05:00
arichorn
3861f57711
New Tweak: YTNoTracking 2023-08-30 17:08:06 -05:00
arichorn
b3cb53e998
Updated YTShortsProgress to v1.0.3
This is my own version of YTShortsProgress, a contribution to PoomSmarts Tweak.

Changes:
Removed Flag `mobileShortsTablnlined` as a replacement for the new flag `mobileShortsTablnlinedExpandWatchOnDismiss`, the flag that I removed isn’t on the app anymore.

Added an Implementation to remove YouTube’s Tracking Parameters
2023-08-30 16:23:08 -05:00
arichorn
7f4faf44ed
LowContrastMode Improvements 2 2023-08-28 23:58:18 -05:00
arichorn
bbeb521b04
LowContrastMode Improvements 2023-08-28 19:18:57 -05:00
arichorn
29dcffb0e8
New Header - YTColor (for LowContrastMode v1.4.2) 2023-08-28 14:41:12 -05:00
arichorn
bbf056a051
LowContrastMode v1.4.2 2023-08-28 14:35:51 -05:00
arichorn
afe0955072
🔨 Update buildapp.yml Dependencies 2023-08-27 16:14:45 -05:00
arichorn
9c099faa10
Update update-submodules.yml 2023-08-27 16:12:55 -05:00
arichorn
fa6e26fa2e
Updated update-submodules template dependencies 2023-08-27 16:12:33 -05:00
arichorn
a39798499f
Disabled some OLED Dark Theme UI 2023-08-27 12:21:45 -05:00
arichorn
8777cf41fe
Update LowContrastMode.xm 2023-08-26 14:11:42 -05:00
arichorn
0a4e56c0c4
Fix LowContrastMode 2023-08-25 22:21:38 -05:00
arichorn
15051b2e42
v18.33.2-3.0.1 2023-08-25 20:58:24 -05:00
arichorn
b0341f5596
Update Makefile 2023-08-25 20:36:39 -05:00
GitHub Actions
1525f7c0fb updated submodules 2023-08-24 23:12:12 +00:00
arichorn
3ff69825b2
LowContrastMode v1.4.1 2023-08-23 20:27:38 -05:00
arichorn
cfac3d25e6
Revert OLED Dark Theme Modifications
I kept some of the modifications for OLED because it is important for it to function as intended.
2023-08-23 16:03:01 -05:00
arichorn
bf49a3a8d7
Reimplement Keychain Patch & Login Fix 2023-08-21 16:52:36 -05:00
arichorn
22f68d61e6
Update README.md 2023-08-20 04:06:47 -05:00
arichorn
70d757bc6f
Update update-submodules.yml 2023-08-19 23:04:44 -05:00
arichorn
13e72a298f
Target iOS 16.2 2023-08-19 22:50:17 -05:00
arichorn
8f2c87ce33
New iOS SDK (iOS 16.2)
uYouPlusExtra now uses a up to date SDK as of August 19th 2023
using the iOS 15.5 SDK is now not recommended for this tweak.
2023-08-19 22:49:34 -05:00
GitHub Actions
26cd4536cb Added bundles 2023-08-19 20:30:37 +00:00
GitHub Actions
254704fbd5 updated submodules 2023-08-19 20:30:36 +00:00
GitHub Actions
a6e87b94d5 added YTNoCommunityPosts submodule 2023-08-19 20:30:29 +00:00
arichorn
cee5ffca3c
Update update-submodules.yml 2023-08-19 15:29:49 -05:00
arichorn
42cad3f974
Create delete-workflow-runs.yml 2023-08-19 15:27:33 -05:00
arichorn
470e95e605
Downgrade Theos ⚠️
Theos had an update which breaks the building
this is why I downgraded it: https://github.com/arichorn/uYouPlusExtra/actions/runs/5651520528
2023-08-19 15:26:35 -05:00
arichorn
98085815f7
Readded uYouPlusExtra Makefile 2023-08-19 15:23:54 -05:00
arichorn
a9943de261
Refreshed uYouPlusExtra Branch
Branch has been refreshed to update to the latest commits from qnblackcat/uYouPlus to provide a more up-to-date experience.
2023-08-19 15:21:42 -05:00
86 changed files with 7907 additions and 3431 deletions

View file

@ -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

View file

@ -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

View 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 }}

View file

@ -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
View file

@ -4,4 +4,5 @@ packages/
tmp/
Tweaks/uYou/*
!Tweaks/uYou/.gitkeep
Resources/
Resources/
*.ipa

32
.gitmodules vendored
View file

@ -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
View file

@ -0,0 +1 @@
../Tweaks/MrBeastify/layout/Library/Application Support/MrBeastify.bundle

View file

@ -0,0 +1 @@
../Tweaks/YTHoldForSpeed/layout/Library/Application Support/YTHoldForSpeed.bundle

View file

@ -0,0 +1 @@
../Tweaks/YTNoCommunityPosts/layout/Library/Application Support/YTNoCommunityPosts.bundle

View file

@ -0,0 +1 @@
../Tweaks/YTVideoOverlay/layout/Library/Application Support/YTVideoOverlay.bundle

1
Bundles/YouMute.bundle Symbolic link
View file

@ -0,0 +1 @@
../Tweaks/YouMute/layout/Library/Application Support/YouMute.bundle

1
Bundles/YouQuality.bundle Symbolic link
View file

@ -0,0 +1 @@
../Tweaks/YouQuality/layout/Library/Application Support/YouQuality.bundle

View file

@ -0,0 +1 @@
../Tweaks/uYouLocalization/layout/Library/Application Support/uYouLocalization.bundle

View file

@ -1 +1 @@
../lang/uYouPlus.bundle
../Localizations/uYouPlus.bundle

View file

@ -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: فعل هذا الخيار لتتمكن من تسجيل الدخول بحساب جوجل. يتطلب إعادة تشغيل التطبيق.";

View file

@ -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 wont 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.";

View file

@ -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!";

View file

@ -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 wont 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. Εάν μπορείτε να συνδεθείτε κανονικά, διατηρήστε την απενεργοποιημένη. Απαιτείται επανεκκίνηση της εφαρμογής.";

View 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.";

View file

@ -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.";

View file

@ -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.";

View file

@ -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 wont 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. אם אתה יכול להתחבר כרגיל, השאר אותה מושבתת. נדרשת הפעלה מחדש של האפליקציה.";

View file

@ -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 wont 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.";

View file

@ -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.";

View 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経由でインストールされている場合のみ、このオプションをオンにしてください。通常通りサインインできる場合はオフのままにしてください。アプリの再起動が必要です。";

View file

@ -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를 통해 설치된 앱에만 적용됩니다: 구글 계정으로 로그인하려면 이 설정을 켜 주세요. 앱을 다시 시작해야 합니다.";

View file

@ -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 wont 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.";

View 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.";

View file

@ -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.";

View file

@ -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 wont 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.";

View file

@ -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. Если удается авторизоваться как обычно, оставьте данную опцию отключенной. Потребуется перезагрузка.";

View 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.";

View file

@ -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.";

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View file

@ -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.";

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View file

@ -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。";

View file

@ -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 帳號,需要重新啟動應用程式。";

View file

@ -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
View file

@ -1,134 +1,226 @@
![IMG_2196](https://user-images.githubusercontent.com/52943116/189822859-8a0952db-9264-4b5b-9cbe-d0a87b2db5a0.PNG)
***
<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](https://img.shields.io/badge/Credits-blue?style=flat)](#credits)<br>
[![Features](https://img.shields.io/badge/Features-blue?style=flat)](#features)<br>
[![Known Issues](https://img.shields.io/badge/Known%20Issues-blue?style=flat)](#known-issues)<br>
[![Download](https://img.shields.io/badge/Download-blue?style=flat)](#download)<br>
[![Installation](https://img.shields.io/badge/Installation-blue?style=flat)](#installation)<br>
[![Support the Developers](https://img.shields.io/badge/Support%20the%20Developers-blue?style=flat)](#support-the-developers)<br>
[![FAQ](https://img.shields.io/badge/FAQ-blue?style=flat)](#faq)<br>
[![Building (Optional)](https://img.shields.io/badge/Building%20%28Optional%29-blue?style=flat)](#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
View 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 🚫 |

View file

@ -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

View file

@ -0,0 +1,8 @@
#import "uYouPlus.h"
@interface YTMainAppVideoPlayerOverlayView : UIView
- (UIViewController *)_viewControllerForAncestor;
@end
@interface YTWatchMiniBarView : UIView
@end

View 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);
}
}

View file

@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface ColourOptionsController : UIColorPickerViewController <UIColorPickerViewControllerDelegate>
@end

View 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

View file

@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface ColourOptionsController2 : UIColorPickerViewController <UIColorPickerViewControllerDelegate>
@end

View 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
View 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
View 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
View 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
View 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
View 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);
}
}

View file

@ -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

File diff suppressed because it is too large Load diff

243
Sources/uYouPlusPatches.xm Normal file
View 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

File diff suppressed because it is too large Load diff

711
Sources/uYouPlusThemes.xm Normal file
View 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);
}
}
}

File diff suppressed because it is too large Load diff

View 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

@ -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

@ -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

@ -0,0 +1 @@
Subproject commit 1c84cc29079f8b089b9b79da2c8210c326ddb425

37
build.sh Normal file
View 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

View file

@ -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
View file

@ -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

View file

@ -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 wont 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.";

View file

@ -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のレイアウトを使用する場合はトグルで切り替えてください。アプリの再起動が必要です。";

View file

@ -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 wont 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.";

View file

@ -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 wont 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.";

File diff suppressed because it is too large Load diff