Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dff35cbb43 | ||
|
|
245baff41d | ||
|
|
8062417cce | ||
|
|
21a960dff7 | ||
|
|
f6d81e3647 | ||
|
|
6ac142f6d0 | ||
|
|
68d88704d5 | ||
|
|
3373a75599 | ||
|
|
f0a6984c3f | ||
|
|
0540f6ca1b | ||
|
|
f1e1706fce | ||
|
|
d0f7d9521c |
@@ -5,7 +5,7 @@ endif
|
|||||||
DEBUG=0
|
DEBUG=0
|
||||||
FINALPACKAGE=1
|
FINALPACKAGE=1
|
||||||
ARCHS = arm64
|
ARCHS = arm64
|
||||||
PACKAGE_VERSION = 2.3
|
PACKAGE_VERSION = 2.4
|
||||||
TARGET := iphone:clang:latest:11.0
|
TARGET := iphone:clang:latest:11.0
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|||||||
+13
-11
@@ -6,15 +6,6 @@
|
|||||||
|
|
||||||
static const NSInteger YTLiteSection = 789;
|
static const NSInteger YTLiteSection = 789;
|
||||||
|
|
||||||
static void resetYTLiteSettings() {
|
|
||||||
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"];
|
|
||||||
[[NSFileManager defaultManager] removeItemAtPath:prefsPath error:nil];
|
|
||||||
|
|
||||||
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
|
|
||||||
[NSThread sleepForTimeInterval:1.0];
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
NSBundle *YTLiteBundle() {
|
NSBundle *YTLiteBundle() {
|
||||||
static NSBundle *bundle = nil;
|
static NSBundle *bundle = nil;
|
||||||
static dispatch_once_t onceToken;
|
static dispatch_once_t onceToken;
|
||||||
@@ -179,6 +170,7 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||||
createSwitchItem(LOC(@"Miniplayer"), LOC(@"MiniplayerDesc"), @"miniplayer", &kMiniplayer, selfObject),
|
createSwitchItem(LOC(@"Miniplayer"), LOC(@"MiniplayerDesc"), @"miniplayer", &kMiniplayer, selfObject),
|
||||||
createSwitchItem(LOC(@"PortraitFullscreen"), LOC(@"PortraitFullscreenDesc"), @"portraitFullscreen", &kPortraitFullscreen, selfObject),
|
createSwitchItem(LOC(@"PortraitFullscreen"), LOC(@"PortraitFullscreenDesc"), @"portraitFullscreen", &kPortraitFullscreen, selfObject),
|
||||||
|
createSwitchItem(LOC(@"CopyWithTimestamp"), LOC(@"CopyWithTimestampDesc"), @"copyWithTimestamp", &kCopyWithTimestamp, selfObject),
|
||||||
createSwitchItem(LOC(@"DisableAutoplay"), LOC(@"DisableAutoplayDesc"), @"disableAutoplay", &kDisableAutoplay, selfObject),
|
createSwitchItem(LOC(@"DisableAutoplay"), LOC(@"DisableAutoplayDesc"), @"disableAutoplay", &kDisableAutoplay, selfObject),
|
||||||
createSwitchItem(LOC(@"NoContentWarning"), LOC(@"NoContentWarningDesc"), @"noContentWarning", &kNoContentWarning, selfObject),
|
createSwitchItem(LOC(@"NoContentWarning"), LOC(@"NoContentWarningDesc"), @"noContentWarning", &kNoContentWarning, selfObject),
|
||||||
createSwitchItem(LOC(@"ClassicQuality"), LOC(@"ClassicQualityDesc"), @"classicQuality", &kClassicQuality, selfObject),
|
createSwitchItem(LOC(@"ClassicQuality"), LOC(@"ClassicQualityDesc"), @"classicQuality", &kClassicQuality, selfObject),
|
||||||
@@ -240,6 +232,7 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||||
createSwitchItem(LOC(@"RemoveLabels"), LOC(@"RemoveLabelsDesc"), @"removeLabels", &kRemoveLabels, selfObject),
|
createSwitchItem(LOC(@"RemoveLabels"), LOC(@"RemoveLabelsDesc"), @"removeLabels", &kRemoveLabels, selfObject),
|
||||||
|
createSwitchItem(LOC(@"RemoveIndicators"), LOC(@"RemoveIndicatorsDesc"), @"removeIndicators", &kRemoveIndicators, selfObject),
|
||||||
createSwitchItem(LOC(@"ReExplore"), LOC(@"ReExploreDesc"), @"reExplore", &kReExplore, selfObject),
|
createSwitchItem(LOC(@"ReExplore"), LOC(@"ReExploreDesc"), @"reExplore", &kReExplore, selfObject),
|
||||||
createSwitchItem(LOC(@"HideShortsTab"), LOC(@"HideShortsTabDesc"), @"removeShorts", &kRemoveShorts, selfObject),
|
createSwitchItem(LOC(@"HideShortsTab"), LOC(@"HideShortsTabDesc"), @"removeShorts", &kRemoveShorts, selfObject),
|
||||||
createSwitchItem(LOC(@"HideSubscriptionsTab"), LOC(@"HideSubscriptionsTabDesc"), @"removeSubscriptions", &kRemoveSubscriptions, selfObject),
|
createSwitchItem(LOC(@"HideSubscriptionsTab"), LOC(@"HideSubscriptionsTabDesc"), @"removeSubscriptions", &kRemoveSubscriptions, selfObject),
|
||||||
@@ -382,13 +375,22 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Deci8BelioS"]];
|
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Deci8BelioS"]];
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
YTSettingsSectionItem *skeids = [%c(YTSettingsSectionItem) itemWithTitle:@"SKEIDs" titleDescription:LOC(@"Japanese") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
|
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/SKEIDs"]];
|
||||||
|
}];
|
||||||
|
|
||||||
YTSettingsSectionItem *dayanch96 = [%c(YTSettingsSectionItem) itemWithTitle:@"Dayanch96" titleDescription:LOC(@"Developer") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
YTSettingsSectionItem *dayanch96 = [%c(YTSettingsSectionItem) itemWithTitle:@"Dayanch96" titleDescription:LOC(@"Developer") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Dayanch96/"]];
|
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Dayanch96/"]];
|
||||||
}];
|
}];
|
||||||
|
|
||||||
YTSettingsSectionItem *reset = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
YTSettingsSectionItem *reset = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
||||||
resetYTLiteSettings();
|
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"];
|
||||||
|
[[NSFileManager defaultManager] removeItemAtPath:prefsPath error:nil];
|
||||||
|
|
||||||
|
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
|
||||||
|
[NSThread sleepForTimeInterval:1.0];
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
actionTitle:LOC(@"Yes")
|
actionTitle:LOC(@"Yes")
|
||||||
cancelTitle:LOC(@"No")];
|
cancelTitle:LOC(@"No")];
|
||||||
@@ -404,7 +406,7 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
return @(OS_STRINGIFY(TWEAK_VERSION));
|
return @(OS_STRINGIFY(TWEAK_VERSION));
|
||||||
}
|
}
|
||||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
NSArray <YTSettingsSectionItem *> *rows = @[ps, miro, lillie, dayanch96, stalker, clement, balackburn, decibelios, space, createSwitchItem(LOC(@"Advanced"), nil, @"advancedMode", &kAdvancedMode, selfObject), reset];
|
NSArray <YTSettingsSectionItem *> *rows = @[ps, miro, lillie, dayanch96, stalker, clement, balackburn, decibelios, skeids, space, createSwitchItem(LOC(@"Advanced"), nil, @"advancedMode", &kAdvancedMode, selfObject), reset];
|
||||||
|
|
||||||
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||||
[settingsViewController pushViewController:picker];
|
[settingsViewController pushViewController:picker];
|
||||||
|
|||||||
+2
-2
@@ -133,6 +133,6 @@ static NSString *accessGroupID() {
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
%ctor {
|
%ctor {
|
||||||
NSString *embeddedMobileProvisionPath = [[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"];
|
if ([[NSFileManager defaultManager] fileExistsAtPath:[[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"]])
|
||||||
if ([[NSFileManager defaultManager] fileExistsAtPath:embeddedMobileProvisionPath]) %init(gSideloading);
|
%init(gSideloading);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ BOOL kNoPromotionCards;
|
|||||||
BOOL kNoWatermarks;
|
BOOL kNoWatermarks;
|
||||||
BOOL kMiniplayer;
|
BOOL kMiniplayer;
|
||||||
BOOL kPortraitFullscreen;
|
BOOL kPortraitFullscreen;
|
||||||
|
BOOL kCopyWithTimestamp;
|
||||||
BOOL kDisableAutoplay;
|
BOOL kDisableAutoplay;
|
||||||
BOOL kNoContentWarning;
|
BOOL kNoContentWarning;
|
||||||
BOOL kClassicQuality;
|
BOOL kClassicQuality;
|
||||||
@@ -80,6 +81,7 @@ BOOL kHideShortsDescription;
|
|||||||
BOOL kHideShortsAudioTrack;
|
BOOL kHideShortsAudioTrack;
|
||||||
BOOL kHideShortsPromoCards;
|
BOOL kHideShortsPromoCards;
|
||||||
BOOL kRemoveLabels;
|
BOOL kRemoveLabels;
|
||||||
|
BOOL kRemoveIndicators;
|
||||||
BOOL kReExplore;
|
BOOL kReExplore;
|
||||||
BOOL kRemoveShorts;
|
BOOL kRemoveShorts;
|
||||||
BOOL kRemoveSubscriptions;
|
BOOL kRemoveSubscriptions;
|
||||||
@@ -169,6 +171,9 @@ int kPivotIndex;
|
|||||||
@interface YTELMView : UIView
|
@interface YTELMView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface _ASDisplayView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
@interface MLHAMQueuePlayer : NSObject
|
@interface MLHAMQueuePlayer : NSObject
|
||||||
@property id playerEventCenter;
|
@property id playerEventCenter;
|
||||||
-(void)setRate:(float)rate;
|
-(void)setRate:(float)rate;
|
||||||
@@ -193,3 +198,8 @@ int kPivotIndex;
|
|||||||
+ (instancetype)confirmationDialogWithAction:(void (^)(void))action actionTitle:(NSString *)actionTitle cancelTitle:(NSString *)cancelTitle;
|
+ (instancetype)confirmationDialogWithAction:(void (^)(void))action actionTitle:(NSString *)actionTitle cancelTitle:(NSString *)cancelTitle;
|
||||||
- (void)show;
|
- (void)show;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface YTMainAppVideoPlayerOverlayViewController : UIViewController
|
||||||
|
@property (readonly, nonatomic) CGFloat mediaTime;
|
||||||
|
@property (readonly, nonatomic) NSString *videoID;
|
||||||
|
@end
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
- (NSData *)elementData {
|
- (NSData *)elementData {
|
||||||
if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData && kNoAds) return nil;
|
if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData && kNoAds) return nil;
|
||||||
|
|
||||||
NSArray *adDescriptions = @[@"brand_promo", @"product_carousel", @"product_engagement_panel", @"product_item", @"text_search_ad", @"text_image_button_layout", @"carousel_headered_layout", @"square_image_layout", @"feed_ad_metadata"];
|
NSArray *adDescriptions = @[@"brand_promo", @"product_carousel", @"product_engagement_panel", @"product_item", @"text_search_ad", @"text_image_button_layout", @"carousel_headered_layout", @"carousel_footered_layout", @"square_image_layout", @"landscape_image_wide_button_layout", @"feed_ad_metadata"];
|
||||||
NSString *description = [self description];
|
NSString *description = [self description];
|
||||||
if (([adDescriptions containsObject:description] && kNoAds) || ([description containsString:@"inline_shorts"] && kHideShorts)) {
|
if (([adDescriptions containsObject:description] && kNoAds) || ([description containsString:@"inline_shorts"] && kHideShorts)) {
|
||||||
return [NSData data];
|
return [NSData data];
|
||||||
@@ -333,6 +333,18 @@
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// Show real version in YT Settings
|
||||||
|
%hook YTSettingsCell
|
||||||
|
- (void)setDetailText:(id)arg1 {
|
||||||
|
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
|
||||||
|
NSString *appVersion = infoDictionary[@"CFBundleShortVersionString"];
|
||||||
|
|
||||||
|
if ([arg1 isEqualToString:@"18.18.2"]) {
|
||||||
|
arg1 = appVersion;
|
||||||
|
} %orig(arg1);
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
// Disable Snap To Chapter (https://github.com/qnblackcat/uYouPlus/blob/main/uYouPlus.xm#L457-464)
|
// Disable Snap To Chapter (https://github.com/qnblackcat/uYouPlus/blob/main/uYouPlus.xm#L457-464)
|
||||||
%hook YTSegmentableInlinePlayerBarView
|
%hook YTSegmentableInlinePlayerBarView
|
||||||
- (void)didMoveToWindow { %orig; if (kDontSnapToChapter) self.enableSnapToChapter = NO; }
|
- (void)didMoveToWindow { %orig; if (kDontSnapToChapter) self.enableSnapToChapter = NO; }
|
||||||
@@ -377,9 +389,22 @@
|
|||||||
- (BOOL)shouldExitFullScreenOnFinish { return kExitFullscreen ? YES : NO; }
|
- (BOOL)shouldExitFullScreenOnFinish { return kExitFullscreen ? YES : NO; }
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Disable Double Tap To Seek
|
|
||||||
%hook YTMainAppVideoPlayerOverlayViewController
|
%hook YTMainAppVideoPlayerOverlayViewController
|
||||||
|
// Disable Double Tap To Seek
|
||||||
- (BOOL)allowDoubleTapToSeekGestureRecognizer { return kNoDoubleTapToSeek ? NO : %orig; }
|
- (BOOL)allowDoubleTapToSeekGestureRecognizer { return kNoDoubleTapToSeek ? NO : %orig; }
|
||||||
|
|
||||||
|
// Copy Timestamped Link by Pressing On Pause
|
||||||
|
- (void)didPressPause:(id)arg1 {
|
||||||
|
%orig;
|
||||||
|
|
||||||
|
if (kCopyWithTimestamp) {
|
||||||
|
NSInteger mediaTimeInteger = (NSInteger)self.mediaTime;
|
||||||
|
NSString *currentTimeLink = [NSString stringWithFormat:@"https://www.youtube.com/watch?v=%@&t=%lds", self.videoID, mediaTimeInteger];
|
||||||
|
|
||||||
|
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
|
||||||
|
pasteboard.string = currentTimeLink;
|
||||||
|
}
|
||||||
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Fit 'Play All' Buttons Text For Localizations
|
// Fit 'Play All' Buttons Text For Localizations
|
||||||
@@ -516,7 +541,6 @@
|
|||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
%orig;
|
%orig;
|
||||||
if (kHideShortsDescription && [self.subviews[2].accessibilityIdentifier isEqualToString:@"id.reels_smv_player_title_label"]) self.subviews[2].hidden = YES;
|
if (kHideShortsDescription && [self.subviews[2].accessibilityIdentifier isEqualToString:@"id.reels_smv_player_title_label"]) self.subviews[2].hidden = YES;
|
||||||
if (kHideShortsThanks && [self.subviews[self.subviews.count - 3].accessibilityIdentifier isEqualToString:@"id.elements.components.suggested_action"]) self.subviews[self.subviews.count - 3].hidden = YES; // Might be useful for older versions
|
|
||||||
if (kHideShortsChannelName) self.subviews[self.subviews.count - 2].hidden = YES;
|
if (kHideShortsChannelName) self.subviews[self.subviews.count - 2].hidden = YES;
|
||||||
if (kHideShortsAudioTrack) self.subviews.lastObject.hidden = YES;
|
if (kHideShortsAudioTrack) self.subviews.lastObject.hidden = YES;
|
||||||
for (UIView *subview in self.subviews) {
|
for (UIView *subview in self.subviews) {
|
||||||
@@ -527,10 +551,11 @@
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%hook YTELMView
|
|
||||||
|
%hook _ASDisplayView
|
||||||
- (void)layoutSubviews {
|
- (void)layoutSubviews {
|
||||||
%orig;
|
%orig;
|
||||||
if (kHideShortsThanks && [self.subviews.firstObject.accessibilityIdentifier isEqualToString:@"id.elements.components.suggested_action"]) self.subviews.firstObject.hidden = YES;
|
if (kHideShortsThanks && [self.accessibilityIdentifier isEqualToString:@"id.elements.components.suggested_action"]) self.hidden = YES;
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -596,6 +621,12 @@ static void replaceTab(YTIGuideResponse *response) {
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// Hide Tab Bar Indicators
|
||||||
|
%hook YTPivotBarIndicatorView
|
||||||
|
- (void)setFillColor:(id)arg1 { %orig(kRemoveIndicators ? [UIColor clearColor] : arg1); }
|
||||||
|
- (void)setBorderColor:(id)arg1 { %orig(kRemoveIndicators ? [UIColor clearColor] : arg1); }
|
||||||
|
%end
|
||||||
|
|
||||||
// Hide Tab Labels
|
// Hide Tab Labels
|
||||||
BOOL hasHomeBar = NO;
|
BOOL hasHomeBar = NO;
|
||||||
CGFloat pivotBarViewHeight;
|
CGFloat pivotBarViewHeight;
|
||||||
@@ -733,6 +764,7 @@ static void reloadPrefs() {
|
|||||||
kNoWatermarks = [prefs[@"noWatermarks"] boolValue] ?: NO;
|
kNoWatermarks = [prefs[@"noWatermarks"] boolValue] ?: NO;
|
||||||
kMiniplayer = [prefs[@"miniplayer"] boolValue] ?: NO;
|
kMiniplayer = [prefs[@"miniplayer"] boolValue] ?: NO;
|
||||||
kPortraitFullscreen = [prefs[@"portraitFullscreen"] boolValue] ?: NO;
|
kPortraitFullscreen = [prefs[@"portraitFullscreen"] boolValue] ?: NO;
|
||||||
|
kCopyWithTimestamp = [prefs[@"copyWithTimestamp"] boolValue] ?: NO;
|
||||||
kDisableAutoplay = [prefs[@"disableAutoplay"] boolValue] ?: NO;
|
kDisableAutoplay = [prefs[@"disableAutoplay"] boolValue] ?: NO;
|
||||||
kNoContentWarning = [prefs[@"noContentWarning"] boolValue] ?: NO;
|
kNoContentWarning = [prefs[@"noContentWarning"] boolValue] ?: NO;
|
||||||
kClassicQuality = [prefs[@"classicQuality"] boolValue] ?: NO;
|
kClassicQuality = [prefs[@"classicQuality"] boolValue] ?: NO;
|
||||||
@@ -764,6 +796,7 @@ static void reloadPrefs() {
|
|||||||
kHideShortsAudioTrack = [prefs[@"hideShortsAudioTrack"] boolValue] ?: NO;
|
kHideShortsAudioTrack = [prefs[@"hideShortsAudioTrack"] boolValue] ?: NO;
|
||||||
kHideShortsPromoCards = [prefs[@"hideShortsPromoCards"] boolValue] ?: NO;
|
kHideShortsPromoCards = [prefs[@"hideShortsPromoCards"] boolValue] ?: NO;
|
||||||
kRemoveLabels = [prefs[@"removeLabels"] boolValue] ?: NO;
|
kRemoveLabels = [prefs[@"removeLabels"] boolValue] ?: NO;
|
||||||
|
kRemoveIndicators = [prefs[@"removeIndicators"] boolValue] ?: NO;
|
||||||
kReExplore = [prefs[@"reExplore"] boolValue] ?: NO;
|
kReExplore = [prefs[@"reExplore"] boolValue] ?: NO;
|
||||||
kRemoveShorts = [prefs[@"removeShorts"] boolValue] ?: NO;
|
kRemoveShorts = [prefs[@"removeShorts"] boolValue] ?: NO;
|
||||||
kRemoveSubscriptions = [prefs[@"removeSubscriptions"] boolValue] ?: NO;
|
kRemoveSubscriptions = [prefs[@"removeSubscriptions"] boolValue] ?: NO;
|
||||||
@@ -804,6 +837,7 @@ static void reloadPrefs() {
|
|||||||
@"noWatermarks" : @(kNoWatermarks),
|
@"noWatermarks" : @(kNoWatermarks),
|
||||||
@"miniplayer" : @(kMiniplayer),
|
@"miniplayer" : @(kMiniplayer),
|
||||||
@"portraitFullscreen" : @(kPortraitFullscreen),
|
@"portraitFullscreen" : @(kPortraitFullscreen),
|
||||||
|
@"copyWithTimestamp" : @(kCopyWithTimestamp),
|
||||||
@"disableAutoplay" : @(kDisableAutoplay),
|
@"disableAutoplay" : @(kDisableAutoplay),
|
||||||
@"noContentWarning" : @(kNoContentWarning),
|
@"noContentWarning" : @(kNoContentWarning),
|
||||||
@"classicQuality" : @(kClassicQuality),
|
@"classicQuality" : @(kClassicQuality),
|
||||||
@@ -835,6 +869,7 @@ static void reloadPrefs() {
|
|||||||
@"hideShortsAudioTrack" : @(kHideShortsAudioTrack),
|
@"hideShortsAudioTrack" : @(kHideShortsAudioTrack),
|
||||||
@"hideShortsPromoCards" : @(kHideShortsPromoCards),
|
@"hideShortsPromoCards" : @(kHideShortsPromoCards),
|
||||||
@"removeLabels" : @(kRemoveLabels),
|
@"removeLabels" : @(kRemoveLabels),
|
||||||
|
@"removeIndicators" : @(kRemoveIndicators),
|
||||||
@"reExplore" : @(kReExplore),
|
@"reExplore" : @(kReExplore),
|
||||||
@"removeShorts" : @(kRemoveShorts),
|
@"removeShorts" : @(kRemoveShorts),
|
||||||
@"removeSubscriptions" : @(kRemoveSubscriptions),
|
@"removeSubscriptions" : @(kRemoveSubscriptions),
|
||||||
|
|||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "Enables the mini player for videos that were not originally designed for it, such as videos targeted for children.";
|
"MiniplayerDesc" = "Enables the mini player for videos that were not originally designed for it, such as videos targeted for children.";
|
||||||
"PortraitFullscreen" = "Portrait fullscreen mode";
|
"PortraitFullscreen" = "Portrait fullscreen mode";
|
||||||
"PortraitFullscreenDesc" = "Enables portrait fullscreen mode support.";
|
"PortraitFullscreenDesc" = "Enables portrait fullscreen mode support.";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "Disable Autoplay videos";
|
"DisableAutoplay" = "Disable Autoplay videos";
|
||||||
"DisableAutoplayDesc" = "Prevents video playback after opening.";
|
"DisableAutoplayDesc" = "Prevents video playback after opening.";
|
||||||
"NoContentWarning" = "Skip content warning";
|
"NoContentWarning" = "Skip content warning";
|
||||||
@@ -75,6 +77,8 @@
|
|||||||
"Tabbar" = "Tab bar";
|
"Tabbar" = "Tab bar";
|
||||||
"RemoveLabels" = "Remove labels";
|
"RemoveLabels" = "Remove labels";
|
||||||
"RemoveLabelsDesc" = "Removes tab labels.";
|
"RemoveLabelsDesc" = "Removes tab labels.";
|
||||||
|
"RemoveIndicators" = "Remove indicators";
|
||||||
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
"ReExplore" = "Replace Shorts tab with Explore tab";
|
"ReExplore" = "Replace Shorts tab with Explore tab";
|
||||||
"ReExploreDesc" = "Shows Explore tab instead of Shorts tab as on old YouTube versions.";
|
"ReExploreDesc" = "Shows Explore tab instead of Shorts tab as on old YouTube versions.";
|
||||||
"HideShortsTab" = "Hide Shorts tab";
|
"HideShortsTab" = "Hide Shorts tab";
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
"ChineseTraditional" = "Chinese (Traditional) localization";
|
"ChineseTraditional" = "Chinese (Traditional) localization";
|
||||||
"French" = "French localization";
|
"French" = "French localization";
|
||||||
"Spanish" = "Spanish localization";
|
"Spanish" = "Spanish localization";
|
||||||
|
"Japanese" = "Japanese localization";
|
||||||
"Advanced" = "Advanced mode";
|
"Advanced" = "Advanced mode";
|
||||||
"AdvancedModeReminder" = "Would you like to activate Advanced mode for YTLite?\n\nThis mode provides more than 50 additional options to customize and optimize your YouTube experience. You can enable/disable it later from Settings → %@ → %@ → %@.";
|
"AdvancedModeReminder" = "Would you like to activate Advanced mode for YTLite?\n\nThis mode provides more than 50 additional options to customize and optimize your YouTube experience. You can enable/disable it later from Settings → %@ → %@ → %@.";
|
||||||
"ResetSettings" = "Reset YTLite settings";
|
"ResetSettings" = "Reset YTLite settings";
|
||||||
|
|||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños.";
|
"MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños.";
|
||||||
"PortraitFullscreen" = "Modo de pantalla completa vertical";
|
"PortraitFullscreen" = "Modo de pantalla completa vertical";
|
||||||
"PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical.";
|
"PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical.";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "Desactivar reproducción automática";
|
"DisableAutoplay" = "Desactivar reproducción automática";
|
||||||
"DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos.";
|
"DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos.";
|
||||||
"NoContentWarning" = "Omitir advertencia de contenido";
|
"NoContentWarning" = "Omitir advertencia de contenido";
|
||||||
@@ -75,6 +77,8 @@
|
|||||||
"Tabbar" = "Barra de pestañas";
|
"Tabbar" = "Barra de pestañas";
|
||||||
"RemoveLabels" = "Eliminar etiquetas";
|
"RemoveLabels" = "Eliminar etiquetas";
|
||||||
"RemoveLabelsDesc" = "Elimina las etiquetas de las pestañas.";
|
"RemoveLabelsDesc" = "Elimina las etiquetas de las pestañas.";
|
||||||
|
"RemoveIndicators" = "Remove indicators";
|
||||||
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
"ReExplore" = "Reemplazar pestaña Shorts con pestaña Explorar";
|
"ReExplore" = "Reemplazar pestaña Shorts con pestaña Explorar";
|
||||||
"ReExploreDesc" = "Muestra la pestaña Explorar en lugar de la pestaña Shorts como en versiones antiguas de YouTube.";
|
"ReExploreDesc" = "Muestra la pestaña Explorar en lugar de la pestaña Shorts como en versiones antiguas de YouTube.";
|
||||||
"HideShortsTab" = "Ocultar pestaña Shorts";
|
"HideShortsTab" = "Ocultar pestaña Shorts";
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
"ChineseTraditional" = "Traducción: Chino (Tradicional)";
|
"ChineseTraditional" = "Traducción: Chino (Tradicional)";
|
||||||
"French" = "Traducción: Frances";
|
"French" = "Traducción: Frances";
|
||||||
"Spanish" = "Traducción: Español";
|
"Spanish" = "Traducción: Español";
|
||||||
|
"Japanese" = "Traducción: Japonés";
|
||||||
"Advanced" = "Modo avanzado";
|
"Advanced" = "Modo avanzado";
|
||||||
"AdvancedModeReminder" = "¿Desea activar el modo Avanzado para YTLite?\n\nEste modo ofrece más de 50 opciones adicionales para personalizar y optimizar tu experiencia en YouTube. Puedes activarlo/desactivarlo más tarde desde Ajustes → %@ → %@ → %@.";
|
"AdvancedModeReminder" = "¿Desea activar el modo Avanzado para YTLite?\n\nEste modo ofrece más de 50 opciones adicionales para personalizar y optimizar tu experiencia en YouTube. Puedes activarlo/desactivarlo más tarde desde Ajustes → %@ → %@ → %@.";
|
||||||
"ResetSettings" = "Restablecer configuración de YTLite";
|
"ResetSettings" = "Restablecer configuración de YTLite";
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
"NoYTLogoDesc" = "Supprime le logo YouTube dans la barre de navigation.";
|
"NoYTLogoDesc" = "Supprime le logo YouTube dans la barre de navigation.";
|
||||||
|
|
||||||
"Overlay" = "Overlay";
|
"Overlay" = "Overlay";
|
||||||
"HideAutoplay" = "Masquer l'interrupteur de lecture automatique";
|
"HideAutoplay" = "Masquer le toggle de lecture automatique";
|
||||||
"HideAutoplayDesc" = "Masque l'interrupteur de lecture automatique de l'overlay.";
|
"HideAutoplayDesc" = "Masque le toggle de lecture automatique de l'overlay.";
|
||||||
"HideSubs" = "Masquer le bouton Sous-titres";
|
"HideSubs" = "Masquer le bouton Sous-titres";
|
||||||
"HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay.";
|
"HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay.";
|
||||||
"NoHUDMsgs" = "Masquer les messages HUD";
|
"NoHUDMsgs" = "Masquer les messages HUD";
|
||||||
@@ -49,16 +49,16 @@
|
|||||||
"MiniplayerDesc" = "Active le mini-lecteur pour les vidéos qui n'étaient pas initialement conçues pour cela, comme les vidéos destinées aux enfants.";
|
"MiniplayerDesc" = "Active le mini-lecteur pour les vidéos qui n'étaient pas initialement conçues pour cela, comme les vidéos destinées aux enfants.";
|
||||||
"PortraitFullscreen" = "Mode plein écran en portrait";
|
"PortraitFullscreen" = "Mode plein écran en portrait";
|
||||||
"PortraitFullscreenDesc" = "Active la prise en charge du mode plein écran en portrait.";
|
"PortraitFullscreenDesc" = "Active la prise en charge du mode plein écran en portrait.";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "Désactiver la lecture automatique des vidéos";
|
"DisableAutoplay" = "Désactiver la lecture automatique des vidéos";
|
||||||
"DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture.";
|
"DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture.";
|
||||||
"NoContentWarning" = "Passer l'avertissement de contenu";
|
"NoContentWarning" = "Passer l'avertissement de contenu";
|
||||||
"NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
|
"NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
|
||||||
"ClassicQuality" = "Qualité vidéo classique";
|
"ClassicQuality" = "Qualité vidéo classique";
|
||||||
"ClassicQualityDesc" = "Rétablit le menu de sélection de la qualité vidéo classique.";
|
"ClassicQualityDesc" = "Rétablit le menu de sélection de la qualité vidéo classique.";
|
||||||
"ExtraSpeedOptions"= "Options de vitesse supplémentaires";
|
"ExtraSpeedOptions" = "Options de vitesse supplémentaires";
|
||||||
"ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse.";
|
"ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse.";
|
||||||
"DontSnap2Chapter" = "Désactiver la capture au chapitre";
|
|
||||||
"DontSnap2ChapterDesc" = "Désactive le passage à l'épisode suivant en effectuant un geste de double-tape.";
|
|
||||||
"DontSnap2Chapter" = "Désactiver la coupure au chapitre";
|
"DontSnap2Chapter" = "Désactiver la coupure au chapitre";
|
||||||
"DontSnap2ChapterDesc" = "Désactive le passage à l'épisode suivant en double tapant.";
|
"DontSnap2ChapterDesc" = "Désactive le passage à l'épisode suivant en double tapant.";
|
||||||
"RedProgressBar" = "Barre de progression rouge";
|
"RedProgressBar" = "Barre de progression rouge";
|
||||||
@@ -77,6 +77,8 @@
|
|||||||
"Tabbar" = "Barre d'onglets";
|
"Tabbar" = "Barre d'onglets";
|
||||||
"RemoveLabels" = "Supprimer les sous-titres";
|
"RemoveLabels" = "Supprimer les sous-titres";
|
||||||
"RemoveLabelsDesc" = "Supprime les sous-titres des onglets.";
|
"RemoveLabelsDesc" = "Supprime les sous-titres des onglets.";
|
||||||
|
"RemoveIndicators" = "Remove indicators";
|
||||||
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
"ReExplore" = "Remplacer l'onglet Shorts par l'onglet Explorer";
|
"ReExplore" = "Remplacer l'onglet Shorts par l'onglet Explorer";
|
||||||
"ReExploreDesc" = "Affiche l'onglet Explorer à la place de l'onglet Shorts comme dans les anciennes versions de YouTube.";
|
"ReExploreDesc" = "Affiche l'onglet Explorer à la place de l'onglet Shorts comme dans les anciennes versions de YouTube.";
|
||||||
"HideShortsTab" = "Masquer l'onglet Shorts";
|
"HideShortsTab" = "Masquer l'onglet Shorts";
|
||||||
@@ -109,7 +111,7 @@
|
|||||||
"HideShortsLikeDesc" = "Masque le bouton J'aime de l'overlay Shorts.";
|
"HideShortsLikeDesc" = "Masque le bouton J'aime de l'overlay Shorts.";
|
||||||
"HideShortsDislike" = "Masquer le bouton Je n'aime pas";
|
"HideShortsDislike" = "Masquer le bouton Je n'aime pas";
|
||||||
"HideShortsDislikeDesc" = "Masque le bouton Je n'aime pas de l'overlay Shorts.";
|
"HideShortsDislikeDesc" = "Masque le bouton Je n'aime pas de l'overlay Shorts.";
|
||||||
"HideShortortsComments" = "Masquer le bouton Commentaires";
|
"HideShortsComments" = "Masquer le bouton Commentaires";
|
||||||
"HideShortsCommentsDesc" = "Masque le bouton Commentaires de l'overlay Shorts.";
|
"HideShortsCommentsDesc" = "Masque le bouton Commentaires de l'overlay Shorts.";
|
||||||
"HideShortsRemix" = "Masquer le bouton Remix";
|
"HideShortsRemix" = "Masquer le bouton Remix";
|
||||||
"HideShortsRemixDesc" = "Masque le bouton Remix de l'overlay Shorts.";
|
"HideShortsRemixDesc" = "Masque le bouton Remix de l'overlay Shorts.";
|
||||||
@@ -131,18 +133,18 @@
|
|||||||
"RemovePlayNextDesc" = "Supprime l'option \"Placer en première position dans la file d'attente\" du menu.";
|
"RemovePlayNextDesc" = "Supprime l'option \"Placer en première position dans la file d'attente\" du menu.";
|
||||||
"NoContinueWatching" = "Supprimer \"Continuer à regarder\"";
|
"NoContinueWatching" = "Supprimer \"Continuer à regarder\"";
|
||||||
"NoContinueWatchingDesc" = "Supprime la section \"Continuer à regarder\" contenant les vidéos inachevées de la page d'accueil.";
|
"NoContinueWatchingDesc" = "Supprime la section \"Continuer à regarder\" contenant les vidéos inachevées de la page d'accueil.";
|
||||||
"NoSearchHistory" = "Hide search history";
|
"NoSearchHistory" = "Masquer l'historique de recherche";
|
||||||
"NoSearchHistoryDesc" = "Visually hides search history and suggestions. Note: Your search history will still be accessible in your other YouTube clients.";
|
"NoSearchHistoryDesc" = "Masque visuellement l'historique de recherche et les suggestions. Note : Votre historique de recherche sera toujours accessible dans vos autres clients YouTube.";
|
||||||
"NoRelatedWatchNexts" = "Hide all videos under player";
|
"NoRelatedWatchNexts" = "Masquer toutes les vidéos sous le lecteur";
|
||||||
"NoRelatedWatchNextsDesc" = "Hides all videos below the player, leaving only the video info and comments section.";
|
"NoRelatedWatchNextsDesc" = "Masque toutes les vidéos sous le lecteur, ne laissant que les informations sur la vidéo et la section des commentaires.";
|
||||||
"StickSortComments" = "Stick comments header";
|
"StickSortComments" = "Épingler l'en-tête des commentaires";\
|
||||||
"StickSortCommentsDesc" = "Pins sort comments header (Top, Newest) so that it won't disappear while scrolling.";
|
"StickSortCommentsDesc" = "Épingle l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il ne disparaisse pas pendant le défilement.";
|
||||||
"HideSortComments" = "Hide comments header";
|
"HideSortComments" = "Masquer l'en-tête des commentaires";
|
||||||
"HideSortCommentsDesc" = "Hides sort comments header (Top, Newest) so it will never appear.";
|
"HideSortCommentsDesc" = "Masque l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il n'apparaisse jamais.";
|
||||||
"PlaylistOldMinibar" = "Old playlist minibar";
|
"PlaylistOldMinibar" = "Ancienne barre latérale de lecture";
|
||||||
"PlaylistOldMinibarDesc" = "Replaces the new floating playlist panel with the old one.";
|
"PlaylistOldMinibarDesc" = "Remplace le nouveau panneau de lecture flottant par l'ancien.";
|
||||||
"DisableRTL" = "Disable RTL formatting";
|
"DisableRTL" = "Désactiver le formatage de droite à gauche";
|
||||||
"DisableRTLDesc" = "Forcefully displays text in left-to-right (LTR) format for languages that are initially displayed in right-to-left (RTL).";
|
"DisableRTLDesc" = "Affiche le texte de force en format de gauche à droite (LTR) pour les langues qui sont initialement affichées de droite à gauche (RTL).";
|
||||||
|
|
||||||
"Startup" = "Page de démarrage";
|
"Startup" = "Page de démarrage";
|
||||||
"Home" = "Accueil";
|
"Home" = "Accueil";
|
||||||
@@ -157,10 +159,11 @@
|
|||||||
"About" = "À propos";
|
"About" = "À propos";
|
||||||
"Credits" = "Crédits";
|
"Credits" = "Crédits";
|
||||||
"Developer" = "Développeur YTLite";
|
"Developer" = "Développeur YTLite";
|
||||||
"ChineseSimplified" = "Traduction chinoise (simplifiée)";
|
"ChineseSimplified" = "Localisation chinoise (simplifiée)";
|
||||||
"ChineseTraditional" = "Traduction chinoise (traditionnelle)";
|
"ChineseTraditional" = "Localisation chinoise (traditionnelle)";
|
||||||
"French" = "Traduction française";
|
"French" = "Localisation française";
|
||||||
"Spanish" = "Traduction espagnole";
|
"Spanish" = "Localisation espagnole";
|
||||||
|
"Japanese" = "Localisation japonaise";
|
||||||
"Advanced" = "Mode avancé";
|
"Advanced" = "Mode avancé";
|
||||||
"AdvancedModeReminder" = "Voulez-vous activer le mode avancé pour YTLite ?\n\nCe mode offre plus de 50 options supplémentaires pour personnaliser et optimiser votre expérience YouTube. Vous pouvez l'activer/désactiver ultérieurement depuis Paramètres → %@ → %@ → %@.";
|
"AdvancedModeReminder" = "Voulez-vous activer le mode avancé pour YTLite ?\n\nCe mode offre plus de 50 options supplémentaires pour personnaliser et optimiser votre expérience YouTube. Vous pouvez l'activer/désactiver ultérieurement depuis Paramètres → %@ → %@ → %@.";
|
||||||
"ResetSettings" = "Réinitialiser les paramètres YTLite";
|
"ResetSettings" = "Réinitialiser les paramètres YTLite";
|
||||||
|
|||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "ミニプレイヤーに対応していない動画(子供向けの動画など)でもミニプレイヤーを有効にします";
|
"MiniplayerDesc" = "ミニプレイヤーに対応していない動画(子供向けの動画など)でもミニプレイヤーを有効にします";
|
||||||
"PortraitFullscreen" = "縦画面フルスクリーンモード";
|
"PortraitFullscreen" = "縦画面フルスクリーンモード";
|
||||||
"PortraitFullscreenDesc" = "縦画面フルスクリーンモードをサポートします";
|
"PortraitFullscreenDesc" = "縦画面フルスクリーンモードをサポートします";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "自動再生を無効化";
|
"DisableAutoplay" = "自動再生を無効化";
|
||||||
"DisableAutoplayDesc" = "アプリを開いた後に動画の自動再生を防止します";
|
"DisableAutoplayDesc" = "アプリを開いた後に動画の自動再生を防止します";
|
||||||
"NoContentWarning" = "コンテンツ警告をスキップ";
|
"NoContentWarning" = "コンテンツ警告をスキップ";
|
||||||
@@ -75,6 +77,8 @@
|
|||||||
"Tabbar" = "タブバー";
|
"Tabbar" = "タブバー";
|
||||||
"RemoveLabels" = "ラベルを削除";
|
"RemoveLabels" = "ラベルを削除";
|
||||||
"RemoveLabelsDesc" = "タブラベルを削除します";
|
"RemoveLabelsDesc" = "タブラベルを削除します";
|
||||||
|
"RemoveIndicators" = "Remove indicators";
|
||||||
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
"ReExplore" = "ショートタブを探索タブに置き換え";
|
"ReExplore" = "ショートタブを探索タブに置き換え";
|
||||||
"ReExploreDesc" = "古いYouTubeバージョンのように、ショートタブの代わりに探索タブを表示します";
|
"ReExploreDesc" = "古いYouTubeバージョンのように、ショートタブの代わりに探索タブを表示します";
|
||||||
"HideShortsTab" = "ショートタブを非表示";
|
"HideShortsTab" = "ショートタブを非表示";
|
||||||
@@ -83,7 +87,7 @@
|
|||||||
"HideSubscriptionsTabDesc" = "タブバーから登録チャンネルタブを非表示にします";
|
"HideSubscriptionsTabDesc" = "タブバーから登録チャンネルタブを非表示にします";
|
||||||
"HideUploadButton" = "アップロードボタンを非表示";
|
"HideUploadButton" = "アップロードボタンを非表示";
|
||||||
"HideUploadButtonDesc" = "タブバーからアップロードボタンを非表示にします";
|
"HideUploadButtonDesc" = "タブバーからアップロードボタンを非表示にします";
|
||||||
"HideLibraryTab" = "ライブラリタブを非表示;
|
"HideLibraryTab" = "ライブラリタブを非表示";
|
||||||
"HideLibraryTabDesc" = "タブバーからライブラリタブを非表示にします";
|
"HideLibraryTabDesc" = "タブバーからライブラリタブを非表示にします";
|
||||||
|
|
||||||
"Shorts" = "ショート";
|
"Shorts" = "ショート";
|
||||||
|
|||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "Принудительно активирует миниплеер для видео, в которых изначально не был предназначен (например, видеоролики для детей).";
|
"MiniplayerDesc" = "Принудительно активирует миниплеер для видео, в которых изначально не был предназначен (например, видеоролики для детей).";
|
||||||
"PortraitFullscreen" = "Портретный полноэкранный режим";
|
"PortraitFullscreen" = "Портретный полноэкранный режим";
|
||||||
"PortraitFullscreenDesc" = "Активирует поддержку портретного полноэкранного режима.";
|
"PortraitFullscreenDesc" = "Активирует поддержку портретного полноэкранного режима.";
|
||||||
|
"CopyWithTimestamp" = "Ссылки с временной отметкой";
|
||||||
|
"CopyWithTimestampDesc" = "Позволяет скопировать ссылку на видео с временной отметкой в буфер обмена нажатием на кнопку паузы.";
|
||||||
"DisableAutoplay" = "Запретить автовоспроизведение";
|
"DisableAutoplay" = "Запретить автовоспроизведение";
|
||||||
"DisableAutoplayDesc" = "Принудительно запрещает автовоспроизведение видео при его открытии.";
|
"DisableAutoplayDesc" = "Принудительно запрещает автовоспроизведение видео при его открытии.";
|
||||||
"NoContentWarning" = "Пропускать предупреждения";
|
"NoContentWarning" = "Пропускать предупреждения";
|
||||||
@@ -75,6 +77,8 @@
|
|||||||
"Tabbar" = "Панель вкладок";
|
"Tabbar" = "Панель вкладок";
|
||||||
"RemoveLabels" = "Скрыть названия";
|
"RemoveLabels" = "Скрыть названия";
|
||||||
"RemoveLabelsDesc" = "Скрывает названия вкладок.";
|
"RemoveLabelsDesc" = "Скрывает названия вкладок.";
|
||||||
|
"RemoveIndicators" = "Скрыть индикаторы";
|
||||||
|
"RemoveIndicatorsDesc" = "Скрывает индикаторы вкладок.";
|
||||||
"ReExplore" = "Вкладка «Навигация» вместо «Shorts»";
|
"ReExplore" = "Вкладка «Навигация» вместо «Shorts»";
|
||||||
"ReExploreDesc" = "Заменяет вкладку «Shorts» на привычную нам «Навигацию».";
|
"ReExploreDesc" = "Заменяет вкладку «Shorts» на привычную нам «Навигацию».";
|
||||||
"HideShortsTab" = "Скрыть «Shorts»";
|
"HideShortsTab" = "Скрыть «Shorts»";
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
"ChineseTraditional" = "Китайская (традиционная) локализация";
|
"ChineseTraditional" = "Китайская (традиционная) локализация";
|
||||||
"French" = "Французская локализация";
|
"French" = "Французская локализация";
|
||||||
"Spanish" = "Испанская локализация";
|
"Spanish" = "Испанская локализация";
|
||||||
|
"Japanese" = "Японская локализация";
|
||||||
"Advanced" = "Расширенный режим";
|
"Advanced" = "Расширенный режим";
|
||||||
"AdvancedModeReminder" = "Хотите ли вы активировать расширенный режим настроек YTLite?\n\nДанный режим добавляет более 50 опций для тонкой настройки YouTube. Вы всегда сможете включить/отключить расширенный режим перейдя в Настройки → %@ → %@ → %@.";
|
"AdvancedModeReminder" = "Хотите ли вы активировать расширенный режим настроек YTLite?\n\nДанный режим добавляет более 50 опций для тонкой настройки YouTube. Вы всегда сможете включить/отключить расширенный режим перейдя в Настройки → %@ → %@ → %@.";
|
||||||
"ResetSettings" = "Сбросить настройки твика";
|
"ResetSettings" = "Сбросить настройки твика";
|
||||||
|
|||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "启用迷你播放器来播放最初不是为其设计的视频,例如针对儿童的视频。";
|
"MiniplayerDesc" = "启用迷你播放器来播放最初不是为其设计的视频,例如针对儿童的视频。";
|
||||||
"PortraitFullscreen" = "竖屏全屏模式";
|
"PortraitFullscreen" = "竖屏全屏模式";
|
||||||
"PortraitFullscreenDesc" = "启用竖屏全屏模式支持。";
|
"PortraitFullscreenDesc" = "启用竖屏全屏模式支持。";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "禁用自动播放视频";
|
"DisableAutoplay" = "禁用自动播放视频";
|
||||||
"DisableAutoplayDesc" = "打开后防止视频自动播放。";
|
"DisableAutoplayDesc" = "打开后防止视频自动播放。";
|
||||||
"NoContentWarning" = "跳过内容警告";
|
"NoContentWarning" = "跳过内容警告";
|
||||||
@@ -75,6 +77,8 @@
|
|||||||
"Tabbar" = "选项卡栏";
|
"Tabbar" = "选项卡栏";
|
||||||
"RemoveLabels" = "移除标签";
|
"RemoveLabels" = "移除标签";
|
||||||
"RemoveLabelsDesc" = "删除选项卡标签。";
|
"RemoveLabelsDesc" = "删除选项卡标签。";
|
||||||
|
"RemoveIndicators" = "Remove indicators";
|
||||||
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
"ReExplore" = "“短视频”替换为“探索”";
|
"ReExplore" = "“短视频”替换为“探索”";
|
||||||
"ReExploreDesc" = "在旧版本 YouTube 中将“短视频”选项卡替换为“探索”。";
|
"ReExploreDesc" = "在旧版本 YouTube 中将“短视频”选项卡替换为“探索”。";
|
||||||
"HideShortsTab" = "隐藏短视频";
|
"HideShortsTab" = "隐藏短视频";
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
"ChineseTraditional" = "中文(繁体)本地化";
|
"ChineseTraditional" = "中文(繁体)本地化";
|
||||||
"French" = "法语本地化";
|
"French" = "法语本地化";
|
||||||
"Spanish" = "西班牙语本地化";
|
"Spanish" = "西班牙语本地化";
|
||||||
|
"Japanese" = "日语本地化";
|
||||||
"Advanced" = "高级模式";
|
"Advanced" = "高级模式";
|
||||||
"AdvancedModeReminder" = "想为YTLite激活高级模式吗?\n\n此模式提供了50多个额外的选项来自定义和优化您的YouTube体验。\n可以稍后从设置中启用/禁用它 → %@ → %@ → %@。";
|
"AdvancedModeReminder" = "想为YTLite激活高级模式吗?\n\n此模式提供了50多个额外的选项来自定义和优化您的YouTube体验。\n可以稍后从设置中启用/禁用它 → %@ → %@ → %@。";
|
||||||
"ResetSettings" = "重置YTLite设置";
|
"ResetSettings" = "重置YTLite设置";
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"BackgroundPlayback" = "背景播放";
|
"BackgroundPlayback" = "背景播放";
|
||||||
"BackgroundPlaybackDesc" = "啟用背景播放";
|
"BackgroundPlaybackDesc" = "啟用背景播放";
|
||||||
|
|
||||||
"Navbar" = "上方導覽列";
|
"Navbar" = "頂部導覽列";
|
||||||
"RemoveCast" = "隱藏投放按鈕";
|
"RemoveCast" = "隱藏投放按鈕";
|
||||||
"RemoveCastDesc" = "從導覽列隱藏投放按鈕";
|
"RemoveCastDesc" = "從導覽列隱藏投放按鈕";
|
||||||
"RemoveNotifications" = "隱藏通知按鈕";
|
"RemoveNotifications" = "隱藏通知按鈕";
|
||||||
@@ -29,15 +29,15 @@
|
|||||||
"NoHUDMsgsDesc" = "隱藏播放器中的所有功能。例如:開啟/關閉 CC、開啟循環播放...等";
|
"NoHUDMsgsDesc" = "隱藏播放器中的所有功能。例如:開啟/關閉 CC、開啟循環播放...等";
|
||||||
"HidePrevNext" = "隱藏上一部和下一部按鈕";
|
"HidePrevNext" = "隱藏上一部和下一部按鈕";
|
||||||
"HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕";
|
"HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕";
|
||||||
"ReplacePrevNext" = "替換快轉和倒轉按鈕";
|
"ReplacePrevNext" = "取代快轉和倒轉按鈕";
|
||||||
"ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕替換為快轉和倒轉按鈕";
|
"ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕取代為快轉和倒轉按鈕";
|
||||||
"NoDarkBg" = "移除深色背景";
|
"NoDarkBg" = "移除深色背景";
|
||||||
"NoDarkBgDesc" = "移除播放器中的深色背景";
|
"NoDarkBgDesc" = "移除播放器中的深色背景";
|
||||||
"NoEndScreenCards" = "隱藏片尾懸停影片";
|
"NoEndScreenCards" = "隱藏片尾懸停影片";
|
||||||
"NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)";
|
"NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)";
|
||||||
"NoFullscreenActions" = "停用全螢幕操作";
|
"NoFullscreenActions" = "停用全螢幕操作";
|
||||||
"NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板";
|
"NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板";
|
||||||
"NoRelatedVids" = "沒有相關影片";
|
"NoRelatedVids" = "隱藏相關影片";
|
||||||
"NoRelatedVidsDesc" = "移除全螢幕模式向上滑動時所出現的相關影片";
|
"NoRelatedVidsDesc" = "移除全螢幕模式向上滑動時所出現的相關影片";
|
||||||
"NoPromotionCards" = "隱藏付費推廣";
|
"NoPromotionCards" = "隱藏付費推廣";
|
||||||
"NoPromotionCardsDesc" = "在付費推廣的影片中隱藏「付費推廣」";
|
"NoPromotionCardsDesc" = "在付費推廣的影片中隱藏「付費推廣」";
|
||||||
@@ -49,6 +49,8 @@
|
|||||||
"MiniplayerDesc" = "對於原本不支援迷你播放器的影片(例如針對兒童的影片),啟用迷你播放器";
|
"MiniplayerDesc" = "對於原本不支援迷你播放器的影片(例如針對兒童的影片),啟用迷你播放器";
|
||||||
"PortraitFullscreen" = "直向全螢幕模式";
|
"PortraitFullscreen" = "直向全螢幕模式";
|
||||||
"PortraitFullscreenDesc" = "啟用直向全螢幕模式";
|
"PortraitFullscreenDesc" = "啟用直向全螢幕模式";
|
||||||
|
"CopyWithTimestamp" = "Copy timestamped links";
|
||||||
|
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
||||||
"DisableAutoplay" = "停用自動播放";
|
"DisableAutoplay" = "停用自動播放";
|
||||||
"DisableAutoplayDesc" = "在打開應用程式後防止自動播放影片";
|
"DisableAutoplayDesc" = "在打開應用程式後防止自動播放影片";
|
||||||
"NoContentWarning" = "略過內容警告";
|
"NoContentWarning" = "略過內容警告";
|
||||||
@@ -59,8 +61,8 @@
|
|||||||
"ExtraSpeedOptionsDesc" = "在播放速度選單中添加更多選項";
|
"ExtraSpeedOptionsDesc" = "在播放速度選單中添加更多選項";
|
||||||
"DontSnap2Chapter" = "停用跳轉到章節";
|
"DontSnap2Chapter" = "停用跳轉到章節";
|
||||||
"DontSnap2ChapterDesc" = "停用點兩下手勢跳轉到下一集";
|
"DontSnap2ChapterDesc" = "停用點兩下手勢跳轉到下一集";
|
||||||
"RedProgressBar" = "紅色進度條";
|
"RedProgressBar" = "紅色進度欄";
|
||||||
"RedProgressBarDesc" = "恢復紅色的進度條";
|
"RedProgressBarDesc" = "恢復紅色的進度欄";
|
||||||
"NoHints" = "停用提示";
|
"NoHints" = "停用提示";
|
||||||
"NoHintsDesc" = "在播放過程中出現在右上角的作者提示";
|
"NoHintsDesc" = "在播放過程中出現在右上角的作者提示";
|
||||||
"NoFreeZoom" = "停用自由縮放手勢";
|
"NoFreeZoom" = "停用自由縮放手勢";
|
||||||
@@ -75,8 +77,10 @@
|
|||||||
"Tabbar" = "下方標籤欄";
|
"Tabbar" = "下方標籤欄";
|
||||||
"RemoveLabels" = "移除標籤文字";
|
"RemoveLabels" = "移除標籤文字";
|
||||||
"RemoveLabelsDesc" = "移除標籤文字";
|
"RemoveLabelsDesc" = "移除標籤文字";
|
||||||
"ReExplore" = "將Shorts替換為探索";
|
"RemoveIndicators" = "Remove indicators";
|
||||||
"ReExploreDesc" = "在舊版YouTube上顯示「探索」而非「Shorts」";
|
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
||||||
|
"ReExplore" = "用探索取代Shorts分頁";
|
||||||
|
"ReExploreDesc" = "如同舊版YouTube一樣顯示「探索」而非「Shorts」";
|
||||||
"HideShortsTab" = "隱藏Shorts";
|
"HideShortsTab" = "隱藏Shorts";
|
||||||
"HideShortsTabDesc" = "從標籤欄中隱藏Shorts標籤";
|
"HideShortsTabDesc" = "從標籤欄中隱藏Shorts標籤";
|
||||||
"HideSubscriptionsTab" = "隱藏訂閱內容";
|
"HideSubscriptionsTab" = "隱藏訂閱內容";
|
||||||
@@ -159,6 +163,7 @@
|
|||||||
"ChineseTraditional" = "繁體中文在地化";
|
"ChineseTraditional" = "繁體中文在地化";
|
||||||
"French" = "法文在地化";
|
"French" = "法文在地化";
|
||||||
"Spanish" = "西班牙文在地化";
|
"Spanish" = "西班牙文在地化";
|
||||||
|
"Japanese" = "日本語本地化";
|
||||||
"Advanced" = "進階模式";
|
"Advanced" = "進階模式";
|
||||||
"AdvancedModeReminder" = "您是否想啟用YTLite的進階模式?\n\n這個模式提供了50多個額外的選項,可以自訂義和優化您的YouTube使用體驗。您稍後可以在「設定」中 → %@ → %@ → %@ 啟用或停用它。";
|
"AdvancedModeReminder" = "您是否想啟用YTLite的進階模式?\n\n這個模式提供了50多個額外的選項,可以自訂義和優化您的YouTube使用體驗。您稍後可以在「設定」中 → %@ → %@ → %@ 啟用或停用它。";
|
||||||
"ResetSettings" = "重置YTLite設定";
|
"ResetSettings" = "重置YTLite設定";
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user