Compare commits

...
12 Commits
Author SHA1 Message Date
dayanch96 dff35cbb43 Timestamped Links, Tabbar Indicators, More ads 2023-11-10 21:41:34 +03:00
Dan 245baff41d Merge pull request #34 from Balackburn/main
correction of indentation and removal of duplicate lines
2023-11-04 20:23:58 +03:00
Balackburn 8062417cce correction of indentation and removal of duplicate lines 2023-10-06 00:08:19 +02:00
Dan 21a960dff7 Merge pull request #31 from Balackburn/main
Updated French localization
2023-08-29 17:19:30 +03:00
Balackburn f6d81e3647 Merge branch 'dayanch96:main' into main 2023-08-27 20:20:32 +02:00
Balackburn 6ac142f6d0 Updated French localization 2023-08-27 20:19:48 +02:00
Dan 68d88704d5 Merge pull request #27 from Neo1102/main
Update Localizable.strings
2023-08-10 21:50:24 +03:00
ИEØ_ΙΙØZ 3373a75599 Update Localizable.strings 2023-08-10 12:01:44 +08:00
Dan f0a6984c3f Merge pull request #25 from xiangfeidexiaohuo/main
update
2023-08-03 10:45:07 +03:00
xiangfeidexiaohuo 0540f6ca1b update
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2023-08-03 15:15:13 +08:00
dayanch96 f1e1706fce Merge branch 'main' of https://github.com/dayanch96/YTLite 2023-07-29 18:52:46 +03:00
dayanch96 d0f7d9521c show real version, bug fixes 2023-07-29 18:50:16 +03:00
16 changed files with 132 additions and 53 deletions
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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);
} }
+10
View File
@@ -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
+40 -5
View File
@@ -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.