Compare commits
38
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93b7aa9258 | ||
|
|
0db1e09917 | ||
|
|
6a8798597b | ||
|
|
ac6fa7b853 | ||
|
|
49b75626b9 | ||
|
|
8ec1cb8cba | ||
|
|
12f80fa7ee | ||
|
|
09b765d7d9 | ||
|
|
fd8dc7a61d | ||
|
|
1036272ce3 | ||
|
|
41ae9ef959 | ||
|
|
2b141cb50f | ||
|
|
02addcb00c | ||
|
|
53f62444ba | ||
|
|
922b86a749 | ||
|
|
976c103dce | ||
|
|
8dc2ed3166 | ||
|
|
932cae3473 | ||
|
|
3d05302b9b | ||
|
|
40af55583f | ||
|
|
e389801893 | ||
|
|
ee98ec6237 | ||
|
|
516749e081 | ||
|
|
c5935309ca | ||
|
|
94fdb176ea | ||
|
|
a2b9a6ac73 | ||
|
|
96b62b5791 | ||
|
|
49615dd41c | ||
|
|
96c528fa72 | ||
|
|
d959269a3b | ||
|
|
7045e82565 | ||
|
|
11308d59b5 | ||
|
|
e6622b7e74 | ||
|
|
f8a02e11d7 | ||
|
|
43d593d88d | ||
|
|
f4bf32bcad | ||
|
|
b16c54cd63 | ||
|
|
f45f1946b4 |
@@ -27,6 +27,7 @@ _(Please attach videos or screenshots if possible)_
|
||||
### Crash log (if possible)
|
||||
_(The crash log can be found in the Settings app - Privacy - Analytics & Improvements - Analytics Data - Youtube...)_
|
||||
|
||||
### Does the issue happen with the official YouTube from AppStore?
|
||||
_(Well, YouTube itself is buggy sometimes...)_
|
||||
|
||||
### Additional context:
|
||||
|
||||
### Additional context:
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
@interface YTMainAppControlsOverlayView : UIView
|
||||
@end
|
||||
|
||||
// @interface YTTransportControlsButtonView : UIView
|
||||
// @end
|
||||
@interface YTTransportControlsButtonView : UIView
|
||||
@end
|
||||
|
||||
@interface _ASCollectionViewCell : UICollectionViewCell
|
||||
- (id)node;
|
||||
|
||||
@@ -70,11 +70,11 @@
|
||||
|
||||
# Download
|
||||
|
||||
- **uYouPlus** (or you can call it uYou+) requires iOS & iPadOS 13.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases).
|
||||
- **uYouPlus** (or you can call it uYou+) requires iOS or iPadOS 13.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases).
|
||||
|
||||
- For AltStore user:
|
||||
|
||||
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
||||
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
||||
|
||||
- [Open in AltStore (v17.26.2-2.1)](https://tinyurl.com/2y86dh6b) - It will take a while to install because AltStore needs to download the IPA.
|
||||
|
||||
|
||||
+10
-1
@@ -42,6 +42,15 @@ extern BOOL hidePaidPromotionCard();
|
||||
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
||||
NSBundle *tweakBundle = uYouPlusBundle();
|
||||
|
||||
YTSettingsSectionItem *killApp = [%c(YTSettingsSectionItem) // https://github.com/PoomSmart/YTABConfig/blob/b74d7f28151c407cffc21cce12908c49e9e65999/Tweak.x#L76
|
||||
itemWithTitle:LOC(@"KILL_APP")
|
||||
titleDescription:LOC(@"KILL_APP_DESC")
|
||||
accessibilityIdentifier:nil
|
||||
detailTextBlock:nil
|
||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
exit(0);
|
||||
}];
|
||||
|
||||
YTSettingsSectionItem *hidePaidPromotionCard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PAID_PROMOTION_CARDS") titleDescription:LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC")];
|
||||
hidePaidPromotionCard.hasSwitch = YES;
|
||||
hidePaidPromotionCard.switchVisible = YES;
|
||||
@@ -159,7 +168,7 @@ extern BOOL hidePaidPromotionCard();
|
||||
return YES;
|
||||
};
|
||||
|
||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, reExplore]];
|
||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[killApp, autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, reExplore]];
|
||||
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
||||
}
|
||||
|
||||
|
||||
+1
-1
Submodule Tweaks/YTSpeed updated: 7c11d9c916...3fec2dfcf0
+1
-1
Submodule Tweaks/YouPiP updated: 9ce79c280c...27609f6d0f
+1
-1
Submodule Tweaks/YouTubeHeader updated: c34699b33c...f2d6e1fa9d
+1
-1
Submodule Tweaks/iSponsorBlock updated: a936217c38...09a485c8a0
@@ -0,0 +1,46 @@
|
||||
// Settings
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "إخفاء زر "السابق" و"التالي"";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "إخفاء زرّي "السابق" و"التالي" من أزرار التحكم على الفيديو.";
|
||||
|
||||
"YT_MINIPLAYER" = "السماح بـ"المشغل المصغّر" لكل فيديوهات يوتيوب";
|
||||
"YT_MINIPLAYER_DESC" = "عند تصغير فيديوهات الأطفال مثلاً (قبل إغلاق المقطع).";
|
||||
|
||||
"CAST_CONFIRM" = "التأكيد قبل البث (أداة YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "إظهار تنبيه للتأكيد قبل البث، من أجل منع البث للتلفاز عن طريق الخطأ.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "إخفاء صور المقاطع الأخرى في نهاية المقاطع (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "إخفاء الصور المصغرة الظاهرة على مشغل الفيديو في نهاية المقطع.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "تغيير شكل المشغّل المصغر (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "تغيير شكل المشغّل المصغر في الآيفون إلى نفس شكله في الآيباد - تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
|
||||
"YT_RE_EXPLORE" = "استبدال تبويب Shorts بتبويب Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = " تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "إخفاء زر "الترجمة"";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "إخفاء زر "الترجمة" من أزرار التحكم على الفيديو.";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "إخفاء زر "التشغيل التلقائي"";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "إخفاء زر "التشغيل التلقائي" من أزرار التحكم على الفيديو.";
|
||||
|
||||
"AUTO_FULLSCREEN" = "كامل الشاشة تلقائياً (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "تشغيل الفيديوهات تلقائياً بكامل الشاشة.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "إخفاء رسائل المعلومات";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "مثلاً: تم إيقاف الترحمة...";
|
||||
|
||||
"OLED_DARKMODE" = "وضغ داكن OLED (ميزة تجريبية)";
|
||||
"OLED_DARKMODE_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||
|
||||
"OLED_KEYBOARD" = "لوحة مفاتيح داكنة OLED (ميزة تجريبية)";
|
||||
"OLED_KEYBOARD_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "إخفاء شريط "الترويج المدفوع"";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "إخفاء عبارة "يتضمن ترويجاً مدفوعاً" الظاهرة على بعض الفيديوهات.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "البث";
|
||||
"MSG_ARE_YOU_SURE" = "هل أنت متأكد أنك تريد بدء البث؟";
|
||||
"MSG_YES" = "نعم";
|
||||
"MSG_CANCEL" = "إلغاء";
|
||||
@@ -0,0 +1,58 @@
|
||||
// How to translate uYouPlus to your languate:
|
||||
//
|
||||
// 1. Fork 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_3166_country_codes
|
||||
// 3. Translate each line below after each =
|
||||
// 4. Open a Pull Request
|
||||
//
|
||||
// If your language already exists then feel free to check it and/or improve it!
|
||||
// You can also add your localiztion to YouPiP here, the process is the same
|
||||
// https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||
//
|
||||
// Settings
|
||||
|
||||
"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.";
|
||||
|
||||
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
||||
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
||||
|
||||
"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.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Skrýt karty na konci videa (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Skryje náhledy jiných videjí na konci videa.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Nový styl minipřehrávače (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "Je potřeba restart aplikace.";
|
||||
|
||||
"YT_RE_EXPLORE" = "Nahradit záložku Shorts tab záložkou Explore (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "Je potřeba restart aplikace.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Skrýt tlačítko titulky";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Skryje tlačítko titulky v překrytí ovládání videa.";
|
||||
|
||||
"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.";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Přes celou obrazovku (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automaticky spouští videa přes celou obrazovku.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Skrýt vyskakující zprávy";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Příklad: Titulky zapnuty/vypnuty, Smyčka videa zapnuta,...";
|
||||
|
||||
"OLED_DARKMODE" = "Tmavý OLED režim (Experimentální)";
|
||||
"OLED_DARKMODE_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.";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Skrýt kartu placené propagace";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Skryje 'Obsahuje placenou propagaci' u některých videjí.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "Sdílení obrazu";
|
||||
"MSG_ARE_YOU_SURE" = "Opravdu chcete začít sdílet obraz?";
|
||||
"MSG_YES" = "Ano";
|
||||
"MSG_CANCEL" = "Zrušit";
|
||||
@@ -1,53 +1,46 @@
|
||||
// How to translate uYouPlus to your languate:
|
||||
//
|
||||
// 1. Fork 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_3166_country_codes
|
||||
// 3. Translate each line below after each =
|
||||
// 4. Open a Pull Request
|
||||
//
|
||||
// If your language already exists then feel free to check it and/or improve it!
|
||||
//
|
||||
// Settings
|
||||
// Settings
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Spultasten ausblenden";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Spultasten im Video ausblenden";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Vor- und Zurücktasten ausblenden";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Vor- und Zurückspultasten vom Videoplayer ausblenden.";
|
||||
|
||||
"YT_MINIPLAYER" = "Miniplayer für alle YouTube-Videos aktivieren";
|
||||
"YT_MINIPLAYER_DESC" = "Zum Beispiel bei Videos für Kinder.";
|
||||
"YT_MINIPLAYER" = "Miniplayer für alle YT Videos aktivieren";
|
||||
"YT_MINIPLAYER_DESC" = "z.B. bei Videos für Kinder";
|
||||
|
||||
"CAST_CONFIRM" = "Warnung vor Starten einer Übertragung (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Warnung vor Starten einer Übertragung, um ein versehentliches Übernehmen des TVs zu verhindern.";
|
||||
"CAST_CONFIRM" = "Warnung vor TV-Übertragungen (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Zeigt eine Warnung an, um eine ausversehene TV-Übertragung zu verhindern.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Endkarten ausblenden (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Endkarten (Thumbnails) am Ende von Videos ausblenden.";
|
||||
"HIDE_HOVER_CARD" = "Endkarten ausblenden (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Endkarten (Thumbnails) am Ende des Videos ausblenden.";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "Neue Miniplayer-Leiste (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "App-Neustart erforderlich.";
|
||||
"NEW_MINIPLAYER_STYLE" = "Neuer Miniplayer Style (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "App-Neustart erforderlich!";
|
||||
|
||||
"YT_RE_EXPLORE" = "Registerkarte Shorts durch Registerkarte Entdecken ersetzen (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "App-Neustart erforderlich.";
|
||||
"YT_RE_EXPLORE" = "Shorts-Tab durch Entdecken-Tab ersetzen (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "App-Neustart erforderlich!";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Schaltfläche Untertitel ausblenden";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Schaltfläche Untertitel im Video ausblenden.";
|
||||
"HIDE_SUBTITLES_BUTTON" = "Untertitel-Button ausblenden";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Untertitel-Button vom Videoplayer ausblenden.";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Schaltfläche Autoplay ausblenden";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Schaltfläche Autoplay im Video ausblenden.";
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Autoplay-Schalter ausblenden";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Autoplay-Schalter vom Videoplayer ausblenden.";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Auto-Vollbild (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Auto. Videos im Vollbild starten.";
|
||||
"AUTO_FULLSCREEN" = "Automatisches Vollbild (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Automatisch Videos im Vollbild starten.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "HUD-Meldungen ausblenden";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Beispiel: CC ist ein/ausgeschaltet, Videoschleife ist eingeschaltet,...";
|
||||
"HIDE_HUD_MESSAGES" = "HUD-Nachrichten ausblenden";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "z.B.: Untertitel sind akti-/deaktiviert, Videoschleife ist an, ...";
|
||||
|
||||
"OLED_DARKMODE" = "OLED-Dunkelmodus (Experimentell)";
|
||||
"OLED_DARKMODE_DESC" = "Funktioniert in einigen Fällen möglicherweise nicht richtig. Ein App-Neustart ist nach Aktiv-/Deaktivierung erforderlich.";
|
||||
"OLED_DARKMODE" = "OLED-Dunkelmodus (Experimental)";
|
||||
"OLED_DARKMODE_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart ist erforderlich, wenn diese Option akti-/deaktiviert wird!";
|
||||
|
||||
"OLED_KEYBOARD" = "OLED-Tastatur (Experimentell)";
|
||||
"OLED_KEYBOARD_DESC" = "Funktioniert in einigen Fällen möglicherweise nicht richtig. App-Neustart erforderlich.";
|
||||
"OLED_KEYBOARD" = "OLED-Tastatur (Experimental)";
|
||||
"OLED_KEYBOARD_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart erforderlich1";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "Übertragen";
|
||||
"MSG_ARE_YOU_SURE" = "Sind Sie sicher, dass Sie mit der Übertragung beginnen wollen?";
|
||||
"MSG_YES" = "Ja";
|
||||
"MSG_CANCEL" = "Abbrechen";
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Enthält bezahlte Werbung Info ausblenden";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Enthält bezahlte Werbung Infobanner bei manchen Videos ausblenden.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "TV-Übertragung";
|
||||
"MSG_ARE_YOU_SURE" = "Sind Sie sicher, dass Sie mit der Videoübertragung beginnen wollen?";
|
||||
"MSG_YES" = "Ja";
|
||||
"MSG_CANCEL" = "Abbrechen";
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
// Settings
|
||||
|
||||
"KILL_APP" = "Close YouTube";
|
||||
"KILL_APP_DESC" = "Tap here to close YouTube!";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
// Settings
|
||||
|
||||
"KILL_APP" = "Fermer YouTube";
|
||||
"KILL_APP_DESC" = "Appuyez ici pour fermer YouTube !";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Masquer les boutons Précédent et Suivant";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Masquer les boutons Précédent et Suivant dans la superposition des contrôles vidéo";
|
||||
|
||||
@@ -36,6 +39,9 @@
|
||||
"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.";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Masquer la bannière des communications commerciales";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Masque la bannière 'Inclut une communication commerciale' dans certaines vidéos.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "Castings";
|
||||
"MSG_ARE_YOU_SURE" = "Êtes-vous sûr de vouloir commencer le casting ?";
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// Settings
|
||||
|
||||
"KILL_APP" = "Fechar o YouTube";
|
||||
"KILL_APP_DESC" = "Toque aqui para fechar o YouTube!";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ocultar botão Anterior e Próximo";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Oculta o botão Anterior e Próximo na sobreposição de controles de vídeo.";
|
||||
|
||||
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
|
||||
|
||||
"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.";
|
||||
|
||||
"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.";
|
||||
|
||||
"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.";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "Ocultar botão de Legendas";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Oculta o botão de Legendas na 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.";
|
||||
|
||||
"AUTO_FULLSCREEN" = "Tela cheia automática (YTAutoFullScreen)";
|
||||
"AUTO_FULLSCREEN_DESC" = "Reproduz videos em tela cheia automaticamente.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Ocultar Mensagens do HUD";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Exemplo: Legendas/CC ativadas/desativadas, A repetição do vídeo está ativada,...";
|
||||
|
||||
"OLED_DARKMODE" = "Modo escuro OLED (Experimental)";
|
||||
"OLED_DARKMODE_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.";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Ocultar Banner de promoção paga";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Oculta o banner 'Contém promoção paga' em alguns vídeos.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "Transmissão";
|
||||
"MSG_ARE_YOU_SURE" = "Tem certeza de que deseja começar a transmitir?";
|
||||
"MSG_YES" = "Sim";
|
||||
"MSG_CANCEL" = "Cancelar";
|
||||
@@ -1,17 +1,20 @@
|
||||
// How to translate uYouPlus to your languate:
|
||||
// How to translate uYouPlus to your language:
|
||||
//
|
||||
// 1. Fork 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_3166_country_codes
|
||||
// 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
|
||||
//
|
||||
// If your language already exists then feel free to check it and/or improve it!
|
||||
// You can also add your localiztion to YouPiP here, the process is the same
|
||||
// You can also add your localization to YouPiP here, the process is the same
|
||||
// https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||
//
|
||||
// Settings
|
||||
|
||||
"KILL_APP" = "Close YouTube";
|
||||
"KILL_APP_DESC" = "Tap here to close YouTube!";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
||||
|
||||
@@ -55,4 +58,4 @@
|
||||
"CASTING" = "Castings";
|
||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||
"MSG_YES" = "Yes";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
"MSG_CANCEL" = "Cancel";
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
// Settings
|
||||
|
||||
"KILL_APP" = "Đóng ứng dụng";
|
||||
"KILL_APP_DESC" = "Chạm để đóng YouTube!";
|
||||
|
||||
"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.";
|
||||
|
||||
"YT_MINIPLAYER" = "Cho phép trình phát thu nhỏ chạy với mọi video";
|
||||
"YT_MINIPLAYER" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
|
||||
"YT_MINIPLAYER_DESC" = "Ví dụ: Video cho trẻ em.";
|
||||
|
||||
"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 để ngăn việc vô tình làm gián đoạn TV.";
|
||||
"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.";
|
||||
|
||||
"HIDE_HOVER_CARD" = "Ẩn video dạng thumbnails (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ẩn các video dạng thu nhỏ (thumbnails) xuất hiện ở gần cuối video.";
|
||||
"HIDE_HOVER_CARD_DESC" = "Ẩn thumbnail của các video đề xuất xuất hiện ở cuối video.";
|
||||
|
||||
"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.";
|
||||
@@ -21,26 +24,26 @@
|
||||
"HIDE_SUBTITLES_BUTTON" = "Ẩn nút bật Phụ đề";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Ẩn nút bật phụ đề trong trình phát video.";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ẩn công tắc Tự động phát";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ẩn công tắc Tự động phát 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.";
|
||||
|
||||
"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.";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "Ẩn tin nhắn HUD";
|
||||
"HIDE_HUD_MESSAGES" = "Ẩn thông báo HUD";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "Ví dụ: Đã bật/tắt phụ đề, Tính năng phát video lặp lại đang bật,...";
|
||||
|
||||
"OLED_DARKMODE" = "Chế độ tối OLED (Thử nghiệm)";
|
||||
"OLED_DARKMODE_DESC" = "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.";
|
||||
"OLED_DARKMODE" = "Chế độ tối cho màn OLED (Thử nghiệm)";
|
||||
"OLED_DARKMODE_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.";
|
||||
|
||||
"OLED_KEYBOARD" = "Bàn phím OLED (Thử nghiệm)";
|
||||
"OLED_KEYBOARD_DESC" = "Tính năng này 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.";
|
||||
"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.";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "Ẩn popup quảng cáo được trả tiền";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ẩn popup 'Chứa nội dung được trả tiền để quảng cáo' trong một số video.";
|
||||
"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.";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "Truyền video";
|
||||
"MSG_ARE_YOU_SURE" = "Bạn có muốn bắt đầu truyền video không?";
|
||||
"MSG_YES" = "Có";
|
||||
"MSG_CANCEL" = "Không";
|
||||
"MSG_CANCEL" = "Không";
|
||||
|
||||
@@ -36,8 +36,11 @@
|
||||
"OLED_KEYBOARD" = "OLED 鍵盤(實驗性)";
|
||||
"OLED_KEYBOARD_DESC" = "在某些情況下可能無法正常工作。需要重新啟動應用程式。";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "隱藏付費促銷橫幅";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "在某些影片中隱藏“包括付費促銷”橫幅。";
|
||||
|
||||
// YTCastConfirm
|
||||
"CASTING" = "投放中";
|
||||
"MSG_ARE_YOU_SURE" = "確定要開始投放嗎?";
|
||||
"MSG_YES" = "是";
|
||||
"MSG_YES" = "確定";
|
||||
"MSG_CANCEL" = "取消";
|
||||
|
||||
+12
-9
@@ -68,11 +68,17 @@ BOOL castConfirm() {
|
||||
BOOL ytMiniPlayer() {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
||||
}
|
||||
BOOL hidePaidPromotionCard(){
|
||||
BOOL hidePaidPromotionCard() {
|
||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePaidPromotionCard_enabled"];
|
||||
}
|
||||
|
||||
# pragma mark - Tweaks
|
||||
// Enable Reorder videos from playlist while on the Watch page - @PoomSmart
|
||||
%hook YTIPlaylistPanelVideoRenderer
|
||||
%new
|
||||
- (BOOL)canReorder { return YES; }
|
||||
%end
|
||||
|
||||
// YTMiniPlayerEnabler: https://github.com/level3tjg/YTMiniplayerEnabler/
|
||||
%hook YTWatchMiniBarViewController
|
||||
- (void)updateMiniBarPlayerStateFromRenderer {
|
||||
@@ -96,8 +102,8 @@ BOOL hidePaidPromotionCard(){
|
||||
if (hidePreviousAndNextButton()) {
|
||||
MSHookIvar<YTMainAppControlsOverlayView *>(self, "_nextButton").hidden = YES;
|
||||
MSHookIvar<YTMainAppControlsOverlayView *>(self, "_previousButton").hidden = YES;
|
||||
// MSHookIvar<YTTransportControlsButtonView *>(self, "_nextButtonView").hidden = YES;
|
||||
// MSHookIvar<YTTransportControlsButtonView *>(self, "_previousButtonView").hidden = YES;
|
||||
MSHookIvar<YTTransportControlsButtonView *>(self, "_nextButtonView").hidden = YES;
|
||||
MSHookIvar<YTTransportControlsButtonView *>(self, "_previousButtonView").hidden = YES;
|
||||
}
|
||||
}
|
||||
%end
|
||||
@@ -202,12 +208,9 @@ BOOL hidePaidPromotionCard(){
|
||||
- (BOOL)isPromptForLocalNetworkPermissionsEnabled { return NO; }
|
||||
%end
|
||||
|
||||
// YTSystemAppearance: https://poomsmart.github.io/repo/depictions/ytsystemappearance.html
|
||||
// YouRememberCaption: https://poomsmart.github.io/repo/depictions/youremembercaption.html
|
||||
%hook YTColdConfig
|
||||
- (BOOL)shouldUseAppThemeSetting { return YES; }
|
||||
- (BOOL)respectDeviceCaptionSetting { return NO; }
|
||||
- (BOOL)isEnhancedSearchBarEnabled { return YES; }
|
||||
%end
|
||||
|
||||
// NOYTPremium - https://github.com/PoomSmart/NoYTPremium/
|
||||
@@ -380,7 +383,7 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
}
|
||||
- (UIColor *)raisedBackground {
|
||||
if (self.pageStyle == 1) {
|
||||
return raisedColor;
|
||||
return [UIColor blackColor];
|
||||
}
|
||||
return %orig;
|
||||
}
|
||||
@@ -543,11 +546,11 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (isDarkMode()) {
|
||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = raisedColor; }
|
||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { 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.cancel.button"]) { self.superview.backgroundColor = raisedColor; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
|
||||
Reference in New Issue
Block a user