diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index fb904ed..904179d 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -77,7 +77,6 @@ body: options: - buildapp.yml (GitHub Actions) - build.sh (Shell script) - - Downloaded from third party validations: required: true diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index c12290b..3d62971 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -154,8 +154,6 @@ jobs: filepath = 'main/tmp/Payload/YouTube.app/Info.plist' remove_uisupporteddevices(filepath) EOF - # Manually install the Open in YouTube extension - cp -R main/Extensions/*.appex main/tmp/Payload/YouTube.app/PlugIns env: THEOS: ${{ github.workspace }}/theos YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index a8124a5..302d8d7 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -42,6 +42,7 @@ on: - success dry_run: description: 'Logs simulated changes, no deletions are performed' + type: boolean required: false jobs: diff --git a/.gitmodules b/.gitmodules index 6d35fdf..e52c366 100644 --- a/.gitmodules +++ b/.gitmodules @@ -55,6 +55,3 @@ [submodule "Tweaks/YouTimeStamp"] path = Tweaks/YouTimeStamp url = https://github.com/arichornloverALT/YouTimeStamp.git -[submodule "Tweaks/YouLoop"] - path = Tweaks/YouLoop - url = https://github.com/bhackel/YouLoop diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 4df64a9..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2024 YTLitePlus - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Makefile b/Makefile index ccf3d4c..0329369 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ EXTRA_CFLAGS := $(addprefix -I,$(shell find Tweaks/FLEX -name '*.h' -exec dirnam # Allow YouTubeHeader to be accessible using #include <...> export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks -YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib .theos/obj/YouLoop.dylib +YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m') $(shell find Tweaks/FLEX -type f \( -iname \*.c -o -iname \*.m -o -iname \*.mm \)) YTLitePlus_IPA = ./tmp/Payload/YouTube.app YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unsupported-availability-guard -Wno-unused-but-set-variable -DTWEAK_VERSION=$(PACKAGE_VERSION) $(EXTRA_CFLAGS) @@ -23,7 +23,7 @@ YTLitePlus_FRAMEWORKS = UIKit Security include $(THEOS)/makefiles/common.mk include $(THEOS_MAKE_PATH)/tweak.mk -SUBPROJECTS += Tweaks/Alderis Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YouMute Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouQuality Tweaks/YouTimeStamp Tweaks/YouGroupSettings Tweaks/YouLoop +SUBPROJECTS += Tweaks/Alderis Tweaks/YTUHD Tweaks/YouPiP Tweaks/YTABConfig Tweaks/YouMute Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouQuality Tweaks/YouTimeStamp Tweaks/YouGroupSettings include $(THEOS_MAKE_PATH)/aggregate.mk YTLITE_PATH = Tweaks/YTLite @@ -37,19 +37,15 @@ before-package:: @cp -R Tweaks/YTLite/Library/Application\ Support/YTLite.bundle Resources/ @cp -R Tweaks/YTUHD/layout/Library/Application\ Support/YTUHD.bundle Resources/ @cp -R Tweaks/YouPiP/layout/Library/Application\ Support/YouPiP.bundle Resources/ - @cp -R Tweaks/Return-YouTube-Dislikes/layout/Library/Application\ Support/RYD.bundle Resources/ @cp -R Tweaks/YTABConfig/layout/Library/Application\ Support/YTABC.bundle Resources/ @cp -R Tweaks/YouMute/layout/Library/Application\ Support/YouMute.bundle Resources/ @cp -R Tweaks/DontEatMyContent/layout/Library/Application\ Support/DontEatMyContent.bundle Resources/ @cp -R Tweaks/YTHoldForSpeed/layout/Library/Application\ Support/YTHoldForSpeed.bundle Resources/ - @cp -R Tweaks/iSponsorBlock/layout/Library/Application\ Support/iSponsorBlock.bundle Resources/ @cp -R Tweaks/YTVideoOverlay/layout/Library/Application\ Support/YTVideoOverlay.bundle Resources/ @cp -R Tweaks/YouQuality/layout/Library/Application\ Support/YouQuality.bundle Resources/ @cp -R Tweaks/YouTimeStamp/layout/Library/Application\ Support/YouTimeStamp.bundle Resources/ - @cp -R Tweaks/YouLoop/layout/Library/Application\ Support/YouLoop.bundle Resources/ @cp -R lang/YTLitePlus.bundle Resources/ @echo -e "==> \033[1mChanging the installation path of dylibs...\033[0m" - @ldid -r .theos/obj/iSponsorBlock.dylib && install_name_tool -change /usr/lib/libcolorpicker.dylib @rpath/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib @codesign --remove-signature .theos/obj/libcolorpicker.dylib && install_name_tool -change /Library/Frameworks/Alderis.framework/Alderis @rpath/Alderis.framework/Alderis .theos/obj/libcolorpicker.dylib internal-clean:: @@ -65,4 +61,4 @@ before-all:: if [[ ! -f $(YTLITE_DYLIB) || ! -d $(YTLITE_BUNDLE) ]]; then \ $(PRINT_FORMAT_ERROR) "Failed to extract YTLite"; exit 1; \ fi; \ - fi + fi \ No newline at end of file diff --git a/README.md b/README.md index 64d84a8..1e512e0 100644 --- a/README.md +++ b/README.md @@ -26,49 +26,122 @@ # Credits - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
dayanch96BalackburnarichornloverALTPoomSmartqnblackcat
SKEIDsasdfzxcvbnmatt911bhackelAlexInABox
GlentagototheskinnyMrAlucardDanteGalactic-DevAhmedBafkir
MiRO92ichitasoDeci8BelioSjuliovernetherealFoxster
Lyvendiassuesskindhbanglevel3tjgzSaaiq
ISnackableVictorxD70MacleykunBandarHLCokePokes
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
# Features @@ -111,7 +184,7 @@ 20. **OLDDarkmode**: Replace new official Youtube darkmode with old (grey) Youtube darkmode. -21. **LowContrastMode**: Makes the UI interface look dimmer to make it easier on the eyes. (App Compatibility: v17.33.2-v17.38.10) +21. **LowContrastMode**: Makes the YouTube Interface Low Contrast as possible to make it easier on the eyes. # AltStore diff --git a/Source/LowContrastMode.xm b/Source/LowContrastMode.xm index 6948402..0b0744e 100644 --- a/Source/LowContrastMode.xm +++ b/Source/LowContrastMode.xm @@ -1,6 +1,9 @@ #import "../YTLitePlus.h" -// Low Contrast Mode +// +static BOOL IsEnabled(NSString *key) { + return [[NSUserDefaults standardUserDefaults] boolForKey:key]; +} static int contrastMode() { return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"]; } diff --git a/Source/Settings.xm b/Source/Settings.xm index c25f262..ca3518d 100644 --- a/Source/Settings.xm +++ b/Source/Settings.xm @@ -32,6 +32,12 @@ settingItemId:0] */ +static BOOL IsEnabled(NSString *key) { + return [[NSUserDefaults standardUserDefaults] boolForKey:key]; +} +static int GetSelection(NSString *key) { + return [[NSUserDefaults standardUserDefaults] integerForKey:key]; +} static int contrastMode() { return [[NSUserDefaults standardUserDefaults] integerForKey:@"lcm"]; } @@ -41,8 +47,6 @@ static int appVersionSpoofer() { @interface YTSettingsSectionItemManager (YTLitePlus) - (void)updateYTLitePlusSectionWithEntry:(id)entry; -- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray *)urls; -- (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller; @end extern NSBundle *YTLitePlusBundle(); @@ -76,7 +80,7 @@ static const NSInteger YTLiteSection = 789; %end -// Add YTLitePlus to the settings list +// Settings %hook YTAppSettingsPresentationData + (NSArray *)settingsCategoryOrder { NSArray *order = %orig; @@ -104,15 +108,14 @@ static const NSInteger YTLiteSection = 789; Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem); YTSettingsViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"]; - // Add item for going to the YTLitePlus GitHub page YTSettingsSectionItem *main = [%c(YTSettingsSectionItem) - itemWithTitle:[NSString stringWithFormat:LOC(@"VERSION"), @(OS_STRINGIFY(TWEAK_VERSION))] - titleDescription:LOC(@"VERSION_CHECK") - accessibilityIdentifier:nil - detailTextBlock:nil - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/YTLitePlus/YTLitePlus/releases/latest"]]; - }]; + itemWithTitle:[NSString stringWithFormat:LOC(@"VERSION"), @(OS_STRINGIFY(TWEAK_VERSION))] + titleDescription:LOC(@"VERSION_CHECK") + accessibilityIdentifier:nil + detailTextBlock:nil + selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Balackburn/YTLitePlus/releases/latest"]]; + }]; [sectionItems addObject:main]; YTSettingsSectionItem *copySettings = [%c(YTSettingsSectionItem) @@ -194,28 +197,7 @@ static const NSInteger YTLiteSection = 789; ]; [sectionItems addObject:pasteSettings]; - YTSettingsSectionItem *videoPlayer = [%c(YTSettingsSectionItem) - itemWithTitle:LOC(@"VIDEO_PLAYER") - titleDescription:LOC(@"VIDEO_PLAYER_DESC") - accessibilityIdentifier:nil - detailTextBlock:nil - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - // Access the current view controller - UIViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"]; - if (settingsViewController) { - // Present the video picker - UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeMovie, (NSString *)kUTTypeVideo] inMode:UIDocumentPickerModeImport]; - documentPicker.delegate = (id)self; - documentPicker.allowsMultipleSelection = NO; - [settingsViewController presentViewController:documentPicker animated:YES completion:nil]; - } else { - NSLog(@"settingsViewController is nil"); - } - - return YES; // Return YES to indicate that the action was handled - } - ]; - [sectionItems addObject:videoPlayer]; + BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"); /* YTSettingsSectionItem *appIcon = [%c(YTSettingsSectionItem) @@ -232,179 +214,6 @@ static const NSInteger YTLiteSection = 789; [sectionItems addObject:appIcon]; */ -# pragma mark - Player Gestures - @bhackel - // Helper to get the selected gesture mode - static NSString* (^sectionGestureSelectedModeToString)(GestureMode) = ^(GestureMode sectionIndex) { - switch (sectionIndex) { - case GestureModeVolume: - return LOC(@"VOLUME"); - case GestureModeBrightness: - return LOC(@"BRIGHTNESS"); - case GestureModeSeek: - return LOC(@"SEEK"); - case GestureModeDisabled: - return LOC(@"DISABLED"); - default: - return @"Invalid index - Report bug"; - } - }; - - // Helper to generate checkmark setting items for selecting gesture modes - static YTSettingsSectionItem* (^gestureCheckmarkSettingItem)(NSInteger, NSString *) = ^(NSInteger idx, NSString *key) { - return [YTSettingsSectionItemClass - checkmarkItemWithTitle:sectionGestureSelectedModeToString(idx) - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:idx forKey:key]; - [settingsViewController reloadData]; - return YES; - } - ]; - }; - - // Helper to generate a section item for selecting a gesture mode - YTSettingsSectionItem *(^createSectionGestureSelector)(NSString *, NSString *) = ^YTSettingsSectionItem *(NSString *sectionLabel, NSString *sectionKey) { - return [YTSettingsSectionItemClass itemWithTitle:LOC(sectionLabel) - accessibilityIdentifier:nil - detailTextBlock:^NSString *() { - return sectionGestureSelectedModeToString(GetSelection(sectionKey)); - } - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - NSArray *rows = @[ - gestureCheckmarkSettingItem(0, sectionKey), // Volume - gestureCheckmarkSettingItem(1, sectionKey), // Brightness - gestureCheckmarkSettingItem(2, sectionKey), // Seek - gestureCheckmarkSettingItem(3, sectionKey) // Disabled - ]; - // Present picker when selecting this settings item - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] - initWithNavTitle:LOC(sectionLabel) - pickerSectionTitle:nil - rows:rows - selectedItemIndex:GetSelection(sectionKey) - parentResponder:[self parentResponder] - ]; - [settingsViewController pushViewController:picker]; - return YES; - } - ]; - }; - // Configuration picker for deadzone to pick from 0 to 100 pixels with interval of 10 - NSMutableArray *deadzoneValues = [NSMutableArray array]; - for (CGFloat value = 0; value <= 100; value += 10) { - [deadzoneValues addObject:@(value)]; - } - YTSettingsSectionItem *deadzonePicker = [YTSettingsSectionItemClass - itemWithTitle:LOC(@"DEADZONE") - titleDescription:LOC(@"DEADZONE_DESC") - accessibilityIdentifier:nil - detailTextBlock:^NSString *() { - return [NSString stringWithFormat:@"%ld px", (long)GetFloat(@"playerGesturesDeadzone")]; - } - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - // Generate rows for deadzone picker using the predefined array - NSMutableArray *deadzoneRows = [NSMutableArray array]; - for (NSNumber *deadzoneValue in deadzoneValues) { - CGFloat deadzone = [deadzoneValue floatValue]; - [deadzoneRows addObject:[YTSettingsSectionItemClass - checkmarkItemWithTitle:[NSString stringWithFormat:@"%ld px", (long)deadzone] - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setFloat:deadzone forKey:@"playerGesturesDeadzone"]; - [settingsViewController reloadData]; - return YES; - } - ]]; - } - // Determine the index of the currently selected deadzone - CGFloat currentDeadzone = GetFloat(@"playerGesturesDeadzone"); - NSUInteger selectedIndex = [deadzoneValues indexOfObject:@(currentDeadzone)]; - if (selectedIndex == NSNotFound) { - selectedIndex = 0; // Default to the first item if the current deadzone is not found - } - // Present deadzone picker when selecting this settings item - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] - initWithNavTitle:LOC(@"DEADZONE") - pickerSectionTitle:nil - rows:deadzoneRows - selectedItemIndex:selectedIndex - parentResponder:[self parentResponder] - ]; - [settingsViewController pushViewController:picker]; - return YES; - } - ]; - - // Configuration picker for sensitivity to pick from 0.5 to 2.0 with interval of 0.1 - NSMutableArray *sensitivityValues = [NSMutableArray array]; - for (CGFloat value = 0.5; value <= 2.0; value += 0.1) { - [sensitivityValues addObject:@(value)]; - } - YTSettingsSectionItem *sensitivityPicker = [YTSettingsSectionItemClass - itemWithTitle:LOC(@"SENSITIVITY") - titleDescription:LOC(@"SENSITIVITY_DESC") - accessibilityIdentifier:nil - detailTextBlock:^NSString *() { - return [NSString stringWithFormat:@"%.1f", GetFloat(@"playerGesturesSensitivity")]; - } - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - // Generate rows for sensitivity picker using the predefined array - NSMutableArray *sensitivityRows = [NSMutableArray array]; - for (NSNumber *sensitivityValue in sensitivityValues) { - CGFloat sensitivity = [sensitivityValue floatValue]; - [sensitivityRows addObject:[YTSettingsSectionItemClass - checkmarkItemWithTitle:[NSString stringWithFormat:@"%.1f", sensitivity] - selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setFloat:sensitivity forKey:@"playerGesturesSensitivity"]; - [settingsViewController reloadData]; - return YES; - } - ]]; - } - // Determine the index of the currently selected sensitivity - CGFloat currentSensitivity = GetFloat(@"playerGesturesSensitivity"); - NSUInteger selectedIndex = [sensitivityValues indexOfObject:@(currentSensitivity)]; - if (selectedIndex == NSNotFound) { - selectedIndex = 0; // Default to the first item if the current sensitivity is not found - } - // Present sensitivity picker - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] - initWithNavTitle:LOC(@"SENSITIVITY") - pickerSectionTitle:nil - rows:sensitivityRows - selectedItemIndex:selectedIndex - parentResponder:[self parentResponder] - ]; - [settingsViewController pushViewController:picker]; - return YES; - } - ]; - - // Create and add items to the high level gestures menu - YTSettingsSectionItem *playerGesturesGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"PLAYER_GESTURES_TITLE") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - NSArray *rows = @[ - // Description header item - [YTSettingsSectionItemClass - itemWithTitle:nil - titleDescription:LOC(@"PLAYER_GESTURES_DESC") - accessibilityIdentifier:nil - detailTextBlock:nil - selectBlock:nil - ], - // Toggle for enabling gestures - BASIC_SWITCH(LOC(@"PLAYER_GESTURES_TOGGLE"), nil, @"playerGestures_enabled"), - // Pickers for each gesture section - createSectionGestureSelector(@"TOP_SECTION", @"playerGestureTopSelection"), - createSectionGestureSelector(@"MIDDLE_SECTION", @"playerGestureMiddleSelection"), - createSectionGestureSelector(@"BOTTOM_SECTION", @"playerGestureBottomSelection"), - // Pickers for configuration settings - deadzonePicker, - sensitivityPicker - ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Player Gestures (Beta)") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; - [settingsViewController pushViewController:picker]; - return YES; - }]; - [sectionItems addObject:playerGesturesGroup]; - # pragma mark - Video Controls Overlay Options YTSettingsSectionItem *videoControlOverlayGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { NSArray *rows = @[ @@ -422,11 +231,6 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"ALWAYS_USE_REMAINING_TIME"), LOC(@"ALWAYS_USE_REMAINING_TIME_DESC"), @"alwaysShowRemainingTime_enabled"), BASIC_SWITCH(LOC(@"DISABLE_TOGGLE_TIME_REMAINING"), LOC(@"DISABLE_TOGGLE_TIME_REMAINING_DESC"), @"disableRemainingTime_enabled"), BASIC_SWITCH(LOC(@"DISABLE_ENGAGEMENT_OVERLAY"), LOC(@"DISABLE_ENGAGEMENT_OVERLAY_DESC"), @"disableEngagementOverlay_enabled"), - BASIC_SWITCH(LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER"), LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC"), @"hidePreviewCommentSection_enabled"), - BASIC_SWITCH(LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW"), LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW_DESC"), @"hideAutoplayMiniPreview_enabled"), - BASIC_SWITCH(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled"), - BASIC_SWITCH(LOC(@"HIDE_COLLAPSE_BUTTON"), LOC(@"HIDE_COLLAPSE_BUTTON_DESC"), @"disableCollapseButton_enabled"), - BASIC_SWITCH(LOC(@"HIDE_SPEED_TOAST"), LOC(@"HIDE_SPEED_TOAST_DESC"), @"hideSpeedToast_enabled"), ]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; @@ -447,14 +251,14 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"HIDE_PRIVACY_SECTION"), LOC(@"APP_RESTART_DESC"), @"disablePrivacySection_enabled"), BASIC_SWITCH(LOC(@"HIDE_LIVECHAT_SECTION"), LOC(@"APP_RESTART_DESC"), @"disableLiveChatSection_enabled") ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"APP_SETTINGS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"App Settings Overlay Options") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; [sectionItems addObject:appSettingsOverlayGroup]; # pragma mark - LowContrastMode - YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"LOW_CONTRAST_MODE") + YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Low Contrast Mode") accessibilityIdentifier:nil detailTextBlock:^NSString *() { switch (contrastMode()) { @@ -478,7 +282,7 @@ static const NSInteger YTLiteSection = 789; return YES; }] ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"LOW_CONTRAST_MODE") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Low Contrast Mode") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; @@ -550,7 +354,7 @@ static const NSInteger YTLiteSection = 789; return YES; }] ]; - YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"VERSION_SPOOFER_TITLE" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]]; + YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"Version Spoofer Picker" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]]; [settingsViewController pushViewController:picker]; return YES; }]; @@ -561,6 +365,8 @@ static const NSInteger YTLiteSection = 789; detailTextBlock:^NSString *() { switch (GetSelection(@"appTheme")) { case 1: + return LOC(@"OLED_DARK_THEME_2"); + case 2: return LOC(@"OLD_DARK_THEME"); case 0: default: @@ -574,11 +380,16 @@ static const NSInteger YTLiteSection = 789; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLD_DARK_THEME") titleDescription:LOC(@"OLD_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLED_DARK_THEME") titleDescription:LOC(@"OLED_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"]; [settingsViewController reloadData]; return YES; }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLD_DARK_THEME") titleDescription:LOC(@"OLD_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [[NSUserDefaults standardUserDefaults] setInteger:2 forKey:@"appTheme"]; + [settingsViewController reloadData]; + return YES; + }], BASIC_SWITCH(LOC(@"OLED_KEYBOARD"), LOC(@"OLED_KEYBOARD_DESC"), @"oledKeyBoard_enabled"), BASIC_SWITCH(LOC(@"LOW_CONTRAST_MODE"), LOC(@"LOW_CONTRAST_MODE_DESC"), @"lowContrastMode_enabled"), lowContrastModeSection @@ -649,7 +460,6 @@ static const NSInteger YTLiteSection = 789; BASIC_SWITCH(LOC(@"HIDE_SPONSORBLOCK_BUTTON"), LOC(@"HIDE_SPONSORBLOCK_BUTTON_DESC"), @"hideSponsorBlockButton_enabled"), BASIC_SWITCH(LOC(@"HIDE_HOME_TAB"), LOC(@"HIDE_HOME_TAB_DESC"), @"hideHomeTab_enabled"), BASIC_SWITCH(LOC(@"FIX_CASTING"), LOC(@"FIX_CASTING_DESC"), @"fixCasting_enabled"), - BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"), BASIC_SWITCH(LOC(@"ENABLE_FLEX"), LOC(@"ENABLE_FLEX_DESC"), @"flex_enabled"), BASIC_SWITCH(LOC(@"APP_VERSION_SPOOFER_LITE"), LOC(@"APP_VERSION_SPOOFER_LITE_DESC"), @"enableVersionSpoofer_enabled"), versionSpooferSection @@ -672,31 +482,4 @@ static const NSInteger YTLiteSection = 789; } %orig; } - -// Implement the delegate method for document picker -%new -- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray *)urls { - NSURL *pickedURL = [urls firstObject]; - - if (pickedURL) { - // Use AVPlayerViewController to play the video - AVPlayer *player = [AVPlayer playerWithURL:pickedURL]; - AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init]; - playerViewController.player = player; - - UIViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"]; - if (settingsViewController) { - [settingsViewController presentViewController:playerViewController animated:YES completion:^{ - [player play]; - }]; - } - } -} - -%new -- (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller { - // Handle cancellation if needed - NSLog(@"Document picker was cancelled"); -} - %end diff --git a/Source/Themes.xm b/Source/Themes.xm index 50457ff..75123db 100644 --- a/Source/Themes.xm +++ b/Source/Themes.xm @@ -1,11 +1,17 @@ #import "../YTLitePlus.h" +static BOOL IsEnabled(NSString *key) { + return [[NSUserDefaults standardUserDefaults] boolForKey:key]; +} static BOOL isDarkMode() { return ([[NSUserDefaults standardUserDefaults] integerForKey:@"page_style"] == 1); } -static BOOL oldDarkTheme() { +static BOOL oledDarkTheme() { return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1); } +static BOOL oldDarkTheme() { + return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 2); +} // Themes.xm - Theme Options // Old dark theme (gray) @@ -396,7 +402,7 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha: %end // OLED dark mode by @BandarHL and modified by @arichorn -/* +UIColor* raisedColor = [UIColor blackColor]; %group gOLED %hook YTCommonColorPalette - (UIColor *)background1 { @@ -782,7 +788,6 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha: } %end %end -*/ // OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e %group gOLEDKB @@ -832,6 +837,9 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha: if (IsEnabled(@"oledKeyBoard_enabled")) { %init(gOLEDKB); } + if (oledDarkTheme()) { + %init(gOLED); + } if (oldDarkTheme()) { %init(gOldDarkTheme); } diff --git a/Source/VersionSpooferLite.xm b/Source/VersionSpooferLite.xm index 78f2889..7399aec 100644 --- a/Source/VersionSpooferLite.xm +++ b/Source/VersionSpooferLite.xm @@ -1,6 +1,9 @@ #import "../YTLitePlus.h" - +// +static BOOL IsEnabled(NSString *key) { + return [[NSUserDefaults standardUserDefaults] boolForKey:key]; +} static int appVersionSpoofer() { return [[NSUserDefaults standardUserDefaults] integerForKey:@"versionSpoofer"]; } diff --git a/Tweaks/Return-YouTube-Dislikes b/Tweaks/Return-YouTube-Dislikes index 8578263..12c4c05 160000 --- a/Tweaks/Return-YouTube-Dislikes +++ b/Tweaks/Return-YouTube-Dislikes @@ -1 +1 @@ -Subproject commit 8578263c9f7caf7a22bd9364648e218974ee543c +Subproject commit 12c4c05aec6e10c618b7fb175bd903c6c4227e7f diff --git a/Tweaks/YTUHD b/Tweaks/YTUHD index 02a5c91..17c2035 160000 --- a/Tweaks/YTUHD +++ b/Tweaks/YTUHD @@ -1 +1 @@ -Subproject commit 02a5c915a7f4183307812a94759d73f25e7fdba6 +Subproject commit 17c2035ea9c8334f2d9154f114b6590928e93521 diff --git a/Tweaks/YouLoop b/Tweaks/YouLoop deleted file mode 160000 index 5a424d7..0000000 --- a/Tweaks/YouLoop +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5a424d7531c0d2f82d258b8e8c580e153a93fcdd diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 850e939..171f681 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 850e939ce7053f593ed477e83ec914c98669be46 +Subproject commit 171f681e235a1f7176cde31a95e6454fc00418c3 diff --git a/Tweaks/protobuf b/Tweaks/protobuf index 57ba428..cb71119 160000 --- a/Tweaks/protobuf +++ b/Tweaks/protobuf @@ -1 +1 @@ -Subproject commit 57ba42815efe292b3c9c99e8afadf13bbb13fff1 +Subproject commit cb7111914918b2c0783f2d44a18a08b6c4b51c4e diff --git a/YTLitePlus.h b/YTLitePlus.h index 8a41583..f2de2c4 100644 --- a/YTLitePlus.h +++ b/YTLitePlus.h @@ -6,10 +6,6 @@ #import #import #import -#import -#import -#import // For AVPlayer and AVPlayerViewController -#import // For kUTTypeMovie and kUTTypeVideo #import "Tweaks/FLEX/FLEX.h" #import "Tweaks/YouTubeHeader/YTAppDelegate.h" @@ -43,9 +39,6 @@ #import "Tweaks/YouTubeHeader/YTWatchPullToFullController.h" #import "Tweaks/YouTubeHeader/YTPlayerBarController.h" #import "Tweaks/YouTubeHeader/YTResponder.h" -#import "Tweaks/YouTubeHeader/YTMainAppControlsOverlayView.h" -#import "Tweaks/YouTubeHeader/YTMultiSizeViewController.h" -#import "Tweaks/YouTubeHeader/YTWatchLayerViewController.h" #define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil] #define YT_BUNDLE_ID @"com.google.ios.youtube" @@ -54,30 +47,6 @@ #define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k] #define APP_THEME_IDX [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] -// Avoid issues with multiple includes of this file -#pragma once - -// Helper methods for key retrieval -#define IsEnabled(key) [[NSUserDefaults standardUserDefaults] boolForKey:key] -#define GetSelection(key) [[NSUserDefaults standardUserDefaults] integerForKey:key] -#define GetFloat(key) [[NSUserDefaults standardUserDefaults] floatForKey:key] - - -// Player Gesture selected mode enum -typedef NS_ENUM(NSUInteger, GestureMode) { - GestureModeVolume, - GestureModeBrightness, - GestureModeSeek, - GestureModeDisabled -}; -// Gesture Section Enum -typedef NS_ENUM(NSUInteger, GestureSection) { - GestureSectionTop, - GestureSectionMiddle, - GestureSectionBottom, - GestureSectionInvalid -}; - // YTSpeed @interface YTVarispeedSwitchControllerOption : NSObject - (id)initWithTitle:(id)title rate:(float)rate; @@ -127,14 +96,6 @@ typedef NS_ENUM(NSUInteger, GestureSection) { @property (nonatomic, assign, readwrite) BOOL enableSnapToChapter; @end -// Hide Autoplay Mini Preview - @bhackel -@interface YTAutonavPreviewView : UIView -@end - -// OLED Live Chat - @bhackel -@interface YTLUserDefaults : NSUserDefaults -@end - // Hide Home Tab - @bhackel @interface YTPivotBarViewController : UIViewController @property NSString *selectedPivotIdentifier; @@ -152,21 +113,6 @@ typedef NS_ENUM(NSUInteger, GestureSection) { @property id parentResponder; @end -// Player Gestures - @bhackel -@interface YTPlayerViewController (YTLitePlus) -@property (nonatomic, retain) UIPanGestureRecognizer *YTLitePlusPanGesture; -- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer; -@end -@interface YTWatchFullscreenViewController : YTMultiSizeViewController -@end -@interface MPVolumeController : NSObject -@property (nonatomic, assign, readwrite) float volumeValue; -@end - -// Hide Collapse Button - @arichornlover -@interface YTMainAppControlsOverlayView (YTLitePlus) -@property (nonatomic, assign, readwrite) YTQTMButton *watchCollapseButton; -@end // SponsorBlock button in Nav bar @interface MDCButton : UIButton diff --git a/YTLitePlus.xm b/YTLitePlus.xm index d7bbc48..b9d5a9e 100644 --- a/YTLitePlus.xm +++ b/YTLitePlus.xm @@ -33,6 +33,11 @@ static NSString *accessGroupID() { return accessGroup; } +// +static BOOL IsEnabled(NSString *key) { + return [[NSUserDefaults standardUserDefaults] boolForKey:key]; +} + # pragma mark - Tweaks // Activate FLEX @@ -174,7 +179,6 @@ BOOL isSelf() { %end %end - // A/B flags %hook YTColdConfig - (BOOL)respectDeviceCaptionSetting { return NO; } // YouRememberCaption: https://poomsmart.github.io/repo/depictions/youremembercaption.html @@ -190,30 +194,6 @@ BOOL isSelf() { - (BOOL)shouldShowUpgradeDialog { return NO;} %end -// Hide Speed Toast - @bhackel -// YTLite Speed Toast -%hook PlayerToast -- (void)showPlayerToastWithText:(id)text - value:(CGFloat)value - style:(NSInteger)style - onView:(id)view -{ - if (IsEnabled(@"hideSpeedToast_enabled")) { - return; - } - %orig; -} -%end -// Default YouTube Speed Toast -%hook YTInlinePlayerScrubUserEducationView -- (void)setVisible:(BOOL)visible { - if (IsEnabled(@"hideSpeedToast_enabled")) { - return; - } - %orig; -} -%end - // Hide Home Tab - @bhackel %group gHideHomeTab %hook YTPivotBarView @@ -562,291 +542,6 @@ BOOL isTabSelected = NO; } %end -%hook _ASDisplayView -- (void)didMoveToWindow { - %orig; - // Hide the Comment Section Previews under the Video Player - @arichornlover - if ((IsEnabled(@"hidePreviewCommentSection_enabled")) && ([self.accessibilityIdentifier isEqualToString:@"id.ui.comments_entry_point_teaser"])) { - self.hidden = YES; - self.opaque = YES; - self.userInteractionEnabled = NO; - CGRect bounds = self.frame; - bounds.size.height = 0; - self.frame = bounds; - [self.superview layoutIfNeeded]; - [self setNeedsLayout]; - [self removeFromSuperview]; - } - - // Live chat OLED dark mode - @bhackel - CGFloat alpha; - if ([[%c(YTLUserDefaults) standardUserDefaults] boolForKey:@"oledTheme"] // YTLite OLED Theme - && [self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"] // Live chat text message - && [self.backgroundColor getWhite:nil alpha:&alpha] // Check if color is grayscale and get alpha - && alpha != 0.0) // Ignore shorts live chat - { - self.backgroundColor = [UIColor blackColor]; - } -} -%end - -// Hide Autoplay Mini Preview - @bhackel -%hook YTAutonavPreviewView -- (void)layoutSubviews { - %orig; - if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) { - self.hidden = YES; - } -} -- (void)setHidden:(BOOL)arg1 { - if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) { - %orig(YES); - } else { - %orig(arg1); - } -} -%end - -// Hide HUD Messages - @qnblackcat -%hook YTHUDMessageView -- (id)initWithMessage:(id)arg1 dismissHandler:(id)arg2 { - return IsEnabled(@"hideHUD_enabled") ? nil : %orig; -} -%end - -// Hide Video Player Collapse Button - @arichornlover -%hook YTMainAppControlsOverlayView -- (void)layoutSubviews { - %orig; - if (IsEnabled(@"disableCollapseButton_enabled")) { - if (self.watchCollapseButton) { - [self.watchCollapseButton removeFromSuperview]; - } - } -} -- (BOOL)watchCollapseButtonHidden { - if (IsEnabled(@"disableCollapseButton_enabled")) { - return YES; - } else { - return %orig; - } -} -- (void)setWatchCollapseButtonAvailable:(BOOL)available { - if (IsEnabled(@"disableCollapseButton_enabled")) { - } else { - %orig(available); - } -} -%end - -// Gestures - @bhackel -%group playerGestures -%hook YTWatchLayerViewController -// invoked when the player view controller is either created or destroyed -- (void)watchController:(YTWatchController *)watchController didSetPlayerViewController:(YTPlayerViewController *)playerViewController { - if (playerViewController) { - // check to see if the pan gesture is already created - if (!playerViewController.YTLitePlusPanGesture) { - playerViewController.YTLitePlusPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:playerViewController - action:@selector(YTLitePlusHandlePanGesture:)]; - playerViewController.YTLitePlusPanGesture.delegate = playerViewController; - [playerViewController.playerView addGestureRecognizer:playerViewController.YTLitePlusPanGesture]; - } - } - %orig; -} -%end - - -%hook YTPlayerViewController -// the pan gesture that will be created and added to the player view -%property (nonatomic, retain) UIPanGestureRecognizer *YTLitePlusPanGesture; -%new -- (void)YTLitePlusHandlePanGesture:(UIPanGestureRecognizer *)panGestureRecognizer { - // Haptic feedback generator - static UIImpactFeedbackGenerator *feedbackGenerator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleMedium]; - // Variables for storing initial values to be adjusted - static float initialVolume; - static float initialBrightness; - static CGFloat currentTime; - // Flag to determine if the pan gesture is valid - static BOOL isValidHorizontalPan = NO; - // Variable to store the section of the screen the gesture is in - static GestureSection gestureSection = GestureSectionInvalid; - // Variable to track the start location of the whole pan gesture - static CGPoint startLocation; - // Variable to track the X translation when exiting the deadzone - static CGFloat deadzoneStartingXTranslation; - // Constant for the deadzone radius that can be changed in the settings - static CGFloat deadzoneRadius = (CGFloat)GetFloat(@"playerGesturesDeadzone"); - // Constant for the sensitivity factor that can be changed in the settings - static CGFloat sensitivityFactor = (CGFloat)GetFloat(@"playerGesturesSensitivity"); - -/***** Helper functions *****/ - // Helper function to adjust brightness - void (^adjustBrightness)(CGFloat, CGFloat) = ^(CGFloat translationX, CGFloat initialBrightness) { - float newBrightness = initialBrightness + ((translationX / 1000.0) * sensitivityFactor); - newBrightness = fmaxf(fminf(newBrightness, 1.0), 0.0); - [[UIScreen mainScreen] setBrightness:newBrightness]; - }; - // Helper function to adjust volume - void (^adjustVolume)(CGFloat, CGFloat) = ^(CGFloat translationX, CGFloat initialVolume) { - float newVolume = initialVolume + ((translationX / 1000.0) * sensitivityFactor); - newVolume = fmaxf(fminf(newVolume, 1.0), 0.0); - // https://stackoverflow.com/questions/50737943/how-to-change-volume-programmatically-on-ios-11-4 - MPVolumeView *volumeView = [[MPVolumeView alloc] init]; - UISlider *volumeViewSlider = nil; - for (UIView *view in volumeView.subviews) { - if ([view isKindOfClass:[UISlider class]]) { - volumeViewSlider = (UISlider *)view; - break; - } - } - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - volumeViewSlider.value = newVolume; - }); - }; - // Helper function to adjust seek time - void (^adjustSeek)(CGFloat, CGFloat) = ^(CGFloat translationX, CGFloat currentTime) { - // Calculate a seek fraction based on the horizontal translation - CGFloat totalDuration = self.currentVideoTotalMediaTime; - CGFloat viewWidth = self.view.bounds.size.width; - CGFloat seekFraction = (translationX / viewWidth); - // Seek to the new time based on the calculated offset - CGFloat sensitivityFactor = 1; // Adjust this value to make seeking less sensitive - seekFraction = sensitivityFactor * seekFraction; - CGFloat seekTime = currentTime + totalDuration * seekFraction; - [self seekToTime:seekTime]; - }; - // Helper function to run the selected gesture action - void (^runSelectedGesture)(NSString*, CGFloat, CGFloat, CGFloat, CGFloat) - = ^(NSString *sectionKey, CGFloat translationX, CGFloat initialBrightness, CGFloat initialVolume, CGFloat currentTime) { - // Determine the selected gesture mode using the section key - GestureMode selectedGestureMode = (GestureMode)GetSelection(sectionKey); - // Handle the gesture action based on the selected mode - switch (selectedGestureMode) { - case GestureModeVolume: - adjustVolume(translationX, initialVolume); - break; - case GestureModeBrightness: - adjustBrightness(translationX, initialBrightness); - break; - case GestureModeSeek: - adjustSeek(translationX, currentTime); - break; - case GestureModeDisabled: - // Do nothing if the gesture is disabled - break; - default: - // Show an alert if the gesture mode is invalid - UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Invalid Gesture Mode" message:@"Please report this bug." preferredStyle:UIAlertControllerStyleAlert]; - UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; - [alertController addAction:okAction]; - [self presentViewController:alertController animated:YES completion:nil]; - break; - } - }; -/***** End of Helper functions *****/ - - // Handle gesture based on current gesture state - if (panGestureRecognizer.state == UIGestureRecognizerStateBegan) { - // Get the gesture's start position - startLocation = [panGestureRecognizer locationInView:self.view]; - CGFloat viewHeight = self.view.bounds.size.height; - - // Determine the section based on the start position - // by dividing the view into thirds - if (startLocation.y <= viewHeight / 3.0) { - gestureSection = GestureSectionTop; - // Cancel the gesture if the mode is disabled - if (GetSelection(@"playerGestureTopSelection") == GestureModeDisabled) { - panGestureRecognizer.state = UIGestureRecognizerStateCancelled; - return; - } - } else if (startLocation.y <= 2 * viewHeight / 3.0) { - gestureSection = GestureSectionMiddle; - // Cancel the gesture if the mode is disabled - if (GetSelection(@"playerGestureMiddleSelection") == GestureModeDisabled) { - panGestureRecognizer.state = UIGestureRecognizerStateCancelled; - return; - } - } else if (startLocation.y <= viewHeight) { - gestureSection = GestureSectionBottom; - // Cancel the gesture if the mode is disabled - if (GetSelection(@"playerGestureBottomSelection") == GestureModeDisabled) { - panGestureRecognizer.state = UIGestureRecognizerStateCancelled; - return; - } - } else { - gestureSection = GestureSectionInvalid; - } - // Deactive the activity flag - isValidHorizontalPan = NO; - } - - if (panGestureRecognizer.state == UIGestureRecognizerStateChanged) { - // Determine if the gesture is predominantly horizontal - CGPoint translation = [panGestureRecognizer translationInView:self.view]; - if (!isValidHorizontalPan) { - if (fabs(translation.x) > fabs(translation.y)) { - // Check if the touch has moved outside the deadzone - CGFloat distanceFromStart = hypot(translation.x, translation.y); - if (distanceFromStart < deadzoneRadius) { - // If within the deadzone, don't activate the pan gesture - return; - } - // If outside the deadzone, activate the pan gesture and store the initial values - isValidHorizontalPan = YES; - deadzoneStartingXTranslation = translation.x; - initialBrightness = [UIScreen mainScreen].brightness; - initialVolume = [[AVAudioSession sharedInstance] outputVolume]; - currentTime = self.currentVideoMediaTime; - // Provide haptic feedback to indicate a gesture start - [feedbackGenerator prepare]; - [feedbackGenerator impactOccurred]; - } else { - // Cancel the gesture if the translation is not horizontal - panGestureRecognizer.state = UIGestureRecognizerStateCancelled; - return; - } - } - - // Handle the gesture based on the identified section - if (isValidHorizontalPan) { - // Adjust the X translation based on the value hit after - // exiting the deadzone - CGFloat adjustedTranslationX = translation.x - deadzoneStartingXTranslation; - // Pass the adjusted translation to the selected gesture - if (gestureSection == GestureSectionTop) { - runSelectedGesture(@"playerGestureTopSelection", adjustedTranslationX, initialBrightness, initialVolume, currentTime); - } else if (gestureSection == GestureSectionMiddle) { - runSelectedGesture(@"playerGestureMiddleSelection", adjustedTranslationX, initialBrightness, initialVolume, currentTime); - } else if (gestureSection == GestureSectionBottom) { - runSelectedGesture(@"playerGestureBottomSelection", adjustedTranslationX, initialBrightness, initialVolume, currentTime); - } else { - // If the section is invalid, cancel the gesture - panGestureRecognizer.state = UIGestureRecognizerStateCancelled; - } - } - } - if (panGestureRecognizer.state == UIGestureRecognizerStateEnded) { - if (isValidHorizontalPan) { - // Provide haptic feedback upon successful gesture recognition - [feedbackGenerator prepare]; - [feedbackGenerator impactOccurred]; - } - } - -} -// allow the pan gesture to be recognized simultaneously with other gestures -%new -- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { - return YES; -} -%end -%end - -/* // BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer %group Main %hook YTWatchMiniBarView @@ -871,20 +566,6 @@ BOOL isTabSelected = NO; } %end %end -*/ -// New Big YT Mini Player - @bhackel -%hook YTColdConfig -- (BOOL)enableIosFloatingMiniplayer { - // Modify if not on iPad - return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; -} -- (BOOL)enableIosFloatingMiniplayerRepositioning { - return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; -} -- (BOOL)enableIosFloatingMiniplayerResizing { - return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig; -} -%end // App Settings Overlay Options %group gDisableAccountSection @@ -1018,9 +699,9 @@ BOOL isTabSelected = NO; if (IsEnabled(@"iPhoneLayout_enabled")) { %init(giPhoneLayout); } - // if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) { - // %init(Main); - // } + if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) { + %init(Main); + } if (IsEnabled(@"hideVideoPlayerShadowOverlayButtons_enabled")) { %init(gHideVideoPlayerShadowOverlayButtons); } @@ -1075,9 +756,6 @@ BOOL isTabSelected = NO; if (IsEnabled(@"disableEngagementOverlay_enabled")) { %init(gDisableEngagementOverlay); } - if (IsEnabled(@"playerGestures_enabled")) { - %init(playerGestures); - } // Change the default value of some options NSArray *allKeys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]; @@ -1093,21 +771,4 @@ BOOL isTabSelected = NO; if (![allKeys containsObject:@"fixCasting_enabled"]) { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"fixCasting_enabled"]; } - // Default gestures as volume, brightness, seek - if (![allKeys containsObject:@"playerGestureTopSelection"]) { - [[NSUserDefaults standardUserDefaults] setInteger:GestureModeVolume forKey:@"playerGestureTopSelection"]; - } - if (![allKeys containsObject:@"playerGestureMiddleSelection"]) { - [[NSUserDefaults standardUserDefaults] setInteger:GestureModeBrightness forKey:@"playerGestureMiddleSelection"]; - } - if (![allKeys containsObject:@"playerGestureBottomSelection"]) { - [[NSUserDefaults standardUserDefaults] setInteger:GestureModeSeek forKey:@"playerGestureBottomSelection"]; - } - // Default configuration options for gestures - if (![allKeys containsObject:@"playerGesturesDeadzone"]) { - [[NSUserDefaults standardUserDefaults] setFloat:20.0 forKey:@"playerGesturesDeadzone"]; - } - if (![allKeys containsObject:@"playerGesturesSensitivity"]) { - [[NSUserDefaults standardUserDefaults] setFloat:1.0 forKey:@"playerGesturesSensitivity"]; - } } diff --git a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings index a577d98..65033e0 100644 --- a/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ar.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "نسخة YTLitePlus: %@"; "VERSION_CHECK" = "انقر للتحقق من وجود تحديث"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "خيارات تراكب ضوابط الفيديو"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "إخفاء رسائل المعلومات"; -"HIDE_HUD_MESSAGES_DESC" = "مثلاً: تم إيقاف الترجمة..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/bg.lproj/Localizable.strings b/lang/YTLitePlus.bundle/bg.lproj/Localizable.strings deleted file mode 100644 index 4689437..0000000 --- a/lang/YTLitePlus.bundle/bg.lproj/Localizable.strings +++ /dev/null @@ -1,185 +0,0 @@ -// Settings -"VERSION" = "Версия на YTLitePlus: %@"; -"VERSION_CHECK" = "Докоснете, за да проверите за актуализация!"; - -"COPY_SETTINGS" = "Копиране на настройки"; -"COPY_SETTINGS_DESC" = "Копиране на всички текущи настройки в клипборда"; -"PASTE_SETTINGS" = "Поставяне на настройки"; -"PASTE_SETTINGS_DESC" = "Поставяне на настройки от клипборда и прилагане"; -"EXPORT_SETTINGS" = "Експортиране на настройки"; -"EXPORT_SETTINGS_DESC" = "Експортиране на всички текущи настройки в .txt файл"; -"IMPORT_SETTINGS" = "Импортиране на настройки"; -"IMPORT_SETTINGS_DESC" = "Натиснете, за да импортирате настройки (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Заменете бутоните 'Копиране на настройки' и 'Поставяне на настройки'"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Заменете бутоните с 'Експортиране на настройки' и 'Импортиране на настройки'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - -// Video controls overlay options -"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Опции за контрол на видеото"; - -"ENABLE_SHARE_BUTTON" = "Активирайте бутона за споделяне"; -"ENABLE_SHARE_BUTTON_DESC" = "Активирайте бутона за споделяне в контролите на видеото."; - -"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "Активирайте бутона 'Запази в плейлист'"; -"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "Активирайте бутона 'Запази в плейлист' в контролите на видеото."; - -"HIDE_SHADOW_OVERLAY_BUTTONS" = "Скрийте бутоните с сенчест слой"; -"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "Скрийте сенчестия слой на бутоните за възпроизвеждане/пауза, предишен, следващ, напред и въртене назад."; - -"HIDE_RIGHT_PANEL" = "Скрийте дясната панел в режим на цял екран"; -"HIDE_RIGHT_PANEL_DESC" = "Необходим е рестарт на приложението."; - -"HIDE_HEATWAVES" = "Скрийте топлинните вълни"; -"HIDE_HEATWAVES_DESC" = "Скрийте топлинните вълни в видеоплеъра. Необходим е рестарт на приложението."; - -"DISABLE_AMBIENT_PORTRAIT" = "Деактивирайте Ambient Mode (Портрет)"; -"DISABLE_AMBIENT_PORTRAIT_DESC" = "Деактивирайте осветлението около заглавието на видеото"; - -"DISABLE_AMBIENT_FULLSCREEN" = "Деактивирайте Ambient Mode (Цял екран)"; -"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Деактивирайте осветлението около видеоплеъра"; - -"FULLSCREEN_TO_THE_RIGHT" = "Цял екран вдясно"; -"FULLSCREEN_TO_THE_RIGHT_DESC" = "Винаги влизайте в режим на цял екран с бутона за начало от дясната страна."; - -"SEEK_ANYWHERE" = "Търсене навсякъде жест"; -"SEEK_ANYWHERE_DESC" = "Задръжте и плъзнете върху видеоплеъра, за да търсите. Трябва да деактивирате YTLite - Задръжте, за да увеличите скоростта"; - -"ENABLE_TAP_TO_SEEK" = "Активирайте докосване за търсене"; -"ENABLE_TAP_TO_SEEK_DESC" = "Скочете навсякъде в видео, като докоснете един път лентата за търсене"; - -"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Деактивирайте жеста за плъзгане до цял екран"; -"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Деактивирайте жеста за плъзгане, за да влезете в вертикален режим на цял екран. Приложимо само за видеа в ландшафтен режим."; - -"ALWAYS_USE_REMAINING_TIME" = "Винаги използвайте оставащото време"; -"ALWAYS_USE_REMAINING_TIME_DESC" = "Променете настройката по подразбиране да показва оставащото време в лентата на плейъра."; - -"DISABLE_TOGGLE_TIME_REMAINING" = "Деактивирайте превключването на оставащото време"; -"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Деактивирайте променянето на изминалото време на оставащото време. Използвайте с друга настройка, за да показвате винаги оставащото време."; - -"DISABLE_ENGAGEMENT_OVERLAY" = "Деактивирайте ангажиращия слой в режим на цял екран"; -"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Деактивирайте жеста за плъзгане нагоре и списъка с предложени видеа в режим на цял екран"; - -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Скрийте прегледите на коментари под плейъра"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Скрийте спойлера на коментарите в бутона за коментари"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Скрийте мини прегледа за автоматично възпроизвеждане"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Скрийте малкия прозорец с предложени видеа близо до заглавието в режим на цял екран"; - -"HIDE_HUD_MESSAGES" = "Скрийте съобщенията на HUD"; -"HIDE_HUD_MESSAGES_DESC" = "Скрийте съобщенията, които се показват за определени действия (напр. CC включен/изключен)"; - -"HIDE_COLLAPSE_BUTTON" = "Скрийте бутона за свиване"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Скрийте бутона за свиване на стрелка, който беше показан в горния ляв ъгъл на видеоплеъра."; - -"HIDE_SPEED_TOAST" = "Скрийте съобщението за скорост"; -"HIDE_SPEED_TOAST_DESC" = "Скрийте изскачащото съобщение за 2X скорост при задържане на плейъра"; - -// App settings overlay options -"APP_SETTINGS_OVERLAY_OPTIONS" = "Опции за настройки на приложението"; - -"HIDE_ACCOUNT_SECTION" = "Скрийте секцията \"Акаунт\""; -"HIDE_AUTOPLAY_SECTION" = "Скрийте секцията \"Автоматично възпроизвеждане\""; -"HIDE_TRYNEWFEATURES_SECTION" = "Скрийте секцията \"Опитайте нови функции\""; -"HIDE_VIDEOQUALITYPREFERENCES_SECTION" = "Скрийте секцията \"Предпочитания за качество на видеото\""; -"HIDE_NOTIFICATIONS_SECTION" = "Скрийте секцията \"Уведомления\""; -"HIDE_MANAGEALLHISTORY_SECTION" = "Скрийте секцията \"Управление на цялата история\""; -"HIDE_YOURDATAINYOUTUBE_SECTION" = "Скрийте секцията \"Вашите данни в YouTube\""; -"HIDE_PRIVACY_SECTION" = "Скрийте секцията \"Поверителност\""; -"HIDE_LIVECHAT_SECTION" = "Скрийте секцията \"Жив чат\""; - -// Theme -"THEME_OPTIONS" = "Опции за тема"; - -"OLED_DARK_THEME" = "OLED тъмен режим"; -"OLED_DARK_THEME_2" = "OLED тъмен режим"; -"OLED_DARK_THEME_DESC" = "Истински тъмен режим. Може да не работи правилно в някои случаи. Необходим е рестарт на приложението след включване/изключване на тази опция."; - -"OLD_DARK_THEME" = "Стар тъмен режим"; -"OLD_DARK_THEME_DESC" = "Старият тъмен режим на YouTube (сив режим). Необходим е рестарт на приложението."; - -"DEFAULT_THEME" = "По подразбиране"; -"DEFAULT_THEME_DESC" = "Тъмен(и) режим(и) по подразбиране на YouTube. Необходим е рестарт на приложението."; - -"OLED_KEYBOARD" = "OLED клавиатура"; -"OLED_KEYBOARD_DESC" = "Може да не работи правилно в някои случаи. Необходим е рестарт на приложението."; - -"LOW_CONTRAST_MODE" = "Режим с нисък контраст"; -"LOW_CONTRAST_MODE_DESC" = "Тази опция ще намали контраста на текстовете и бутоните, както беше в стария интерфейс на YouTube. Необходим е рестарт на приложението."; -"LCM_SELECTOR" = "Избор на режим с нисък контраст"; -"DEFAULT_LOWCONTRASTMODE" = "(По подразбиране) Режим с нисък контраст"; -"CUSTOM_LOWCONTRASTMODE" = "(Персонализиран цвят) Режим с нисък контраст"; - -// Miscellaneous -"MISCELLANEOUS" = "Разни"; - -"PLAYBACK_IN_FEEDS" = "Възпроизвеждане в новините"; -"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Винаги включено"; -"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Само Wi-Fi"; -"PLAYBACK_IN_FEEDS_OFF" = "Изключено"; - -"NEW_SETTINGS_UI" = "Нов потребителски интерфейс на настройките"; -"NEW_SETTINGS_UI_DESC" = "Използвайте новия групиран потребителски интерфейс за настройки. Може да скрие някои настройки"; - -"ENABLE_YT_STARTUP_ANIMATION" = "Активирайте анимацията при стартиране на YouTube"; -"ENABLE_YT_STARTUP_ANIMATION_DESC" = ""; - -"HIDE_MODERN_INTERFACE" = "Скрийте съвременния интерфейс (YTNoModernUI)"; -"HIDE_MODERN_INTERFACE_DESC" = "Включете това, за да скриете съвременните елементи, добавени от YouTube. Премахва Ambient Mode, закръглен дизайн и други. Необходим е рестарт на приложението."; - -"IPAD_LAYOUT" = "Оформление за iPad"; -"IPAD_LAYOUT_DESC" = "Използвайте това, само ако искате да имате оформлението за iPad на текущия си iPhone/iPod. Необходим е рестарт на приложението."; - -"IPHONE_LAYOUT" = "Оформление за iPhone"; -"IPHONE_LAYOUT_DESC" = "Използвайте това, само ако искате да имате оформлението за iPhone на текущия си iPad. Необходим е рестарт на приложението."; - -"CAST_CONFIRM" = "Потвърдете предупреждението преди стрийминг (YTCastConfirm)"; -"CAST_CONFIRM_DESC" = "Показвайте потвърдително предупреждение преди стрийминг, за да предотвратите случайно преекспониране на TV."; -"CASTING" = "Стрийминг"; -"MSG_ARE_YOU_SURE" = "Сигурни ли сте, че искате да започнете стрийминг?"; -"MSG_YES" = "Да"; -"MSG_CANCEL" = "Отказ"; - -"NEW_MINIPLAYER_STYLE" = "Нов стил на мини плейъра (BigYTMiniPlayer)"; -"NEW_MINIPLAYER_STYLE_DESC" = "Необходим е рестарт на приложението."; - -"HIDE_CAST_BUTTON" = "Скрийте бутона за стрийминг"; -"HIDE_CAST_BUTTON_DESC" = "Необходим е рестарт на приложението."; - -"HIDE_SPONSORBLOCK_BUTTON" = "Скрийте бутона за iSponsorBlock в навигационната лента"; -"HIDE_SPONSORBLOCK_BUTTON_DESC" = ""; - -"HIDE_HOME_TAB" = "Скрийте таба \"Начало\""; -"HIDE_HOME_TAB_DESC" = "Бъдете внимателни при скриване на всички табове"; - -"FIX_CASTING" = "Поправете стрийминг"; -"FIX_CASTING_DESC" = "Променя някои AB флагове, за да поправи стрийминг"; - -"ENABLE_FLEX" = "Активирайте FLEX"; -"ENABLE_FLEX_DESC" = "Активирайте FLEX за отстраняване на проблеми (не се препоръчва). Оставете това изключено, освен ако не знаете какво правите."; - -// Version Spoofer -"APP_VERSION_SPOOFER_LITE" = "Активирайте Промяна на версията на приложението (Lite)"; -"APP_VERSION_SPOOFER_LITE_DESC" = "Активирайте това, за да използвате Промяната на версията (Lite) и изберете предпочитаната версия по-долу. Необходим е рестарт на приложението."; -"VERSION_SPOOFER_TITLE" = "Избор на Промяна на версията"; - -// Other Localization -"APP_RESTART_DESC" = "Необходим е рестарт на приложението."; -"CHANGE_APP_ICON" = "Промяна на иконата на приложението"; diff --git a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings index 76a63fe..6a646dc 100644 --- a/lang/YTLitePlus.bundle/de.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/de.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tippe hier, um nach Updates zu suchen!"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Overlay-Optionen für Videosteuerungen"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "HUD-Nachrichten ausblenden"; -"HIDE_HUD_MESSAGES_DESC" = "z.B.: Untertitel sind aktiviert/deaktiviert, Videoschleife ist an, ..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Overlay-Optionen für App-Einstellungen"; diff --git a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings index 9801761..abb87ee 100644 --- a/lang/YTLitePlus.bundle/en.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/en.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Hide HUD messages"; -"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)"; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings index 1cf7433..5487a67 100644 --- a/lang/YTLitePlus.bundle/es.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/es.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "Versión de YTLitePlus: %@"; "VERSION_CHECK" = "Pulse para comprobar si hay actualizaciones."; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opciones de superposición de controles de vídeo"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Desactivar la superposición de compromiso a pantalla completa"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desactivar el gesto de deslizar hacia arriba y la lista de vídeos sugeridos en pantalla completa"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Ocultar mensajes HUD"; -"HIDE_HUD_MESSAGES_DESC" = "Ejemplo: CC está activado/desactivado, Vídeo en bucle está activado,..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opciones de superposición de los ajustes de la aplicación"; diff --git a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings index e788b97..edbf12b 100644 --- a/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/fr.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "YTLitePlus version : %@"; "VERSION_CHECK" = "Appuyez pour vérifier les mises à jour !"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Options de l'overlay des contrôles vidéo"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Masquer les messages de l'ATH"; -"HIDE_HUD_MESSAGES_DESC" = "Exemple : Les sous-titres sont activés/désactivés, la boucle vidéo est activée,..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Paramètres des options d'overlay de l'application"; diff --git a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings index 2749ff2..17bb1c4 100644 --- a/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ja.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "YTLitePlusのバージョン: %@"; "VERSION_CHECK" = "タップして更新をチェック!"; -"COPY_SETTINGS" = "設定をコピー"; -"COPY_SETTINGS_DESC" = "現在のすべての設定をクリップボードにコピーします"; -"PASTE_SETTINGS" = "設定を貼り付け"; -"PASTE_SETTINGS_DESC" = "クリップボードから設定を貼り付けて適用します"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールオーバーレイの設定"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "プレーヤー下のコメントプレビューを隠す"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "プレーヤーの下にあるコメントのプレビューを非表示にします。"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "HUDメッセージを非表示"; -"HIDE_HUD_MESSAGES_DESC" = "特定のアクション後に表示されるスナックバーを非表示にします。(例: 字幕がオン/オフになりました など)"; - -"HIDE_COLLAPSE_BUTTON" = "折りたたみボタンを隠す"; -"HIDE_COLLAPSE_BUTTON_DESC" = "プレーヤー左上の折りたたみボタンを非表示にします。"; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "アプリの設定オーバーレイの設定"; diff --git a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings index df987ed..e829c49 100644 --- a/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/pt.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "Versão do YTLitePlus: %@"; "VERSION_CHECK" = "Toque para verificar se há atualização!"; -"COPY_SETTINGS" = "Copiar Configurações"; -"COPY_SETTINGS_DESC" = "Copia todas as configurações atuais para a área de transferência"; -"PASTE_SETTINGS" = "Colar Configurações"; -"PASTE_SETTINGS_DESC" = "Cola as configurações da área de transferência e aplica"; -"EXPORT_SETTINGS" = "Exportar Configurações"; -"EXPORT_SETTINGS_DESC" = "Exporta todas as configurações atuais para um arquivo .txt"; -"IMPORT_SETTINGS" = "Importar Configurações"; -"IMPORT_SETTINGS_DESC" = "Pressione para importar as configurações (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Substituir os Botões 'Copiar Configurações' e 'Colar Configurações'"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Substitui os Botões 'Exportar Configurações' e 'Importar Configurações'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Vídeo"; @@ -56,8 +26,8 @@ "DISABLE_AMBIENT_FULLSCREEN" = "Desativar Iluminação cinematográfica (Tela cheia)"; "DISABLE_AMBIENT_FULLSCREEN_DESC" = "Desativa a iluminação ao redor do player de vídeo"; -"FULLSCREEN_TO_THE_RIGHT" = "Tela cheia para a direita"; -"FULLSCREEN_TO_THE_RIGHT_DESC" = "Sempre entre em tela cheia com o botão home no lado direito."; +"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right"; +"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side."; "SEEK_ANYWHERE" = "Gesto de Busca em qualquer lugar"; "SEEK_ANYWHERE_DESC" = "Segure e arraste o player de vídeo para buscar. Você deve desativar o YTLite - Segurar para velocidade (Hold for speed)"; @@ -77,22 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Desativar sobreposição de engajamento em tela cheia"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desativa o gesto de deslizar para cima e a lista de vídeos sugeridos em tela cheia"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Ocultar Visualizações de comentários sob o player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Oculta a Prévia de comentário no botão de comentários"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Ocultar mini visualização de reprodução automática"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Oculta a pequena caixa de vídeo sugerida perto do título em tela cheia"; - -"HIDE_HUD_MESSAGES" = "Ocultar Mensagens do HUD"; -"HIDE_HUD_MESSAGES_DESC" = "Exemplo: Legendas/CC ativadas/desativadas, A repetição do vídeo está ativada,..."; - -"HIDE_COLLAPSE_BUTTON" = "Ocultar Botão de Recolhimento"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Oculta o botão de seta para recolher que era exibido no canto superior esquerdo do player de vídeo."; - -"HIDE_SPEED_TOAST" = "Ocultar Toast de Velocidade"; -"HIDE_SPEED_TOAST_DESC" = "Ocultar o popup de Velocidade 2X ao segurar o player"; - - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Configurações do Aplicativo"; diff --git a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings index 343c226..018886c 100644 --- a/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ro.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "Versiune YTLitePlus: %@"; "VERSION_CHECK" = "Căutați actualizări"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opțiuni Overlay Controale Video"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Ascundere Mesaje HUD"; -"HIDE_HUD_MESSAGES_DESC" = "Exemplu: Subtitrările sunt activate/dezactivate, Redarea în buclă este activată,..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Opțiuni Overlay Setări Aplicație"; diff --git a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings index 5e6bb59..f2245c6 100644 --- a/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/ru.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; @@ -77,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Скрыть сообщения плеера"; -"HIDE_HUD_MESSAGES_DESC" = "Скрывает надписи YouTube, появляющиеся поверх видео."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings index 413a20a..b0ba5c7 100644 --- a/lang/YTLitePlus.bundle/template.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/template.lproj/Localizable.strings @@ -17,36 +17,6 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "VERSION" = "YTLitePlus's version: %@"; "VERSION_CHECK" = "Tap to check for update!"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options"; @@ -92,21 +62,6 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Hide HUD messages"; -"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)"; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options"; diff --git a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings index 14c9e72..5220806 100644 --- a/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/tr.lproj/Localizable.strings @@ -1,47 +1,6 @@ // Settings "VERSION" = "YTLitePlus'ın sürümü: %@"; -"VERSION_CHECK" = "Güncelleme kontrolü için dokun!"; - -"COPY_SETTINGS" = "Ayarları Kopyala"; -"COPY_SETTINGS_DESC" = "Tüm mevcut ayarları panoya kopyala"; -"PASTE_SETTINGS" = "Ayarları Yapıştır"; -"PASTE_SETTINGS_DESC" = "Panodaki ayarları yapıştır ve uygula"; -"EXPORT_SETTINGS" = "Ayarları Dışa Aktar"; -"EXPORT_SETTINGS_DESC" = "Tüm mevcut ayarları bir .txt dosyasına dışa aktarır"; -"IMPORT_SETTINGS" = "Ayarları İçe Aktar"; -"IMPORT_SETTINGS_DESC" = "Ayarları içe aktarmak için basın (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "'Ayarları Kopyala' ve 'Ayarları Yapıştır' Düğmelerini Değiştir"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Düğmeleri 'Ayarları Dışa Aktar' ve 'Ayarları İçe Aktar' ile değiştirir"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - -"COPY_SETTINGS" = "Ayarları Kopyala"; -"COPY_SETTINGS_DESC" = "Tüm mevcut ayarları panoya kopyala"; -"PASTE_SETTINGS" = "Ayarları Yapıştır"; -"PASTE_SETTINGS_DESC" = "Panodaki ayarları yapıştır ve uygula"; -"EXPORT_SETTINGS" = "Ayarları Dışa Aktar"; -"EXPORT_SETTINGS_DESC" = "Tüm mevcut ayarları bir .txt dosyasına dışa aktarır"; -"IMPORT_SETTINGS" = "Ayarları İçe Aktar"; -"IMPORT_SETTINGS_DESC" = "Ayarları içe aktarmak için basın (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "'Ayarları Kopyala' ve 'Ayarları Yapıştır' Düğmelerini Değiştir"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Düğmeleri 'Ayarları Dışa Aktar' ve 'Ayarları İçe Aktar' ile değiştirir"; +"VERSION_CHECK" = "Güncelleme için dokunun!"; // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Kontrol Seç."; @@ -88,21 +47,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Tam ekranda kaplamayı kapat"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Tam ekranda yukarı kaydırma hareketini ve önerilen videoları kapat"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Oynatıcının Altındaki Yorum Önizlemelerini Gizle"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Video oynatıcının altındaki yorum önizlemelerini gizler."; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Otomatik Oynatma Mini Önizlemesini Gizle"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Tam ekranda başlık yakınındaki küçük önerilen video kutusunu gizle"; - -"HIDE_HUD_MESSAGES" = "HUD mesajlarını gizle"; -"HIDE_HUD_MESSAGES_DESC" = "Belirli işlemler için görüntülenen bildirim çubuklarını gizler (ör. CC açıldı/kapandı)"; - -"HIDE_COLLAPSE_BUTTON" = "Daraltma Düğmesini Gizle"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Video oynatıcıda sol üstte görünen ok ile daraltma düğmesini gizler."; - -"HIDE_SPEED_TOAST" = "Hız Bildirimini Gizle"; -"HIDE_SPEED_TOAST_DESC" = "Oynatıcıya basılı tutarken 2X Hız bildirimini gizle"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "Uyg. Ayarları Kaplama Seç."; @@ -117,7 +61,7 @@ "HIDE_LIVECHAT_SECTION" = "\"Canlı Sohbet\" Bölümünü Gizle"; // Theme -"THEME_OPTIONS" = "Tema Seç"; +"THEME_OPTIONS" = "Tema Seç."; "OLED_DARK_THEME" = "OLED koyu tema"; "OLED_DARK_THEME_2" = "OLED koyu tema"; @@ -139,9 +83,9 @@ "CUSTOM_LOWCONTRASTMODE" = "(Özel Renk) DüşükKontrastModu"; // Miscellaneous -"MISCELLANEOUS" = "Diğer"; +"MISCELLANEOUS" = "Çeşitli"; -"PLAYBACK_IN_FEEDS" = "Akışlarda Oto Oynatma"; +"PLAYBACK_IN_FEEDS" = "Akışlarda Oynatma"; "PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Her zaman açık"; "PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Yalnızca Wi-Fi"; "PLAYBACK_IN_FEEDS_OFF" = "Kapalı"; diff --git a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings index dd3fdb0..29f0138 100644 --- a/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/vi.lproj/Localizable.strings @@ -2,36 +2,6 @@ "VERSION" = "Phiên bản của CercubePlus: %@"; "VERSION_CHECK" = "Nhấn để kiểm tra cập nhật!"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video player options "VIDEO_PLAYER_OPTIONS" = "Tùy chọn trình phát video"; @@ -86,21 +56,6 @@ "DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; "DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "Ẩn thông báo HUD"; -"HIDE_HUD_MESSAGES_DESC" = "Ví dụ: Đã bật/tắt phụ đề, Tính năng phát video lặp lại đang bật,..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // Shorts controls overlay options "SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn lớp phủ điều khiển quần short"; @@ -265,30 +220,30 @@ "CHANGE_APP_ICON" = "Change App Icon"; // Newly added strings -"APP_RESTART_DESC": "Mô tả khi khởi động lại ứng dụng", -"CUSTOM_LOWCONTRASTMODE": "Chế độ độ tương phản thấp tùy chỉnh", -"APP_VERSION_SPOOFER_LITE": "Phiên bản giả lập ứng dụng nhẹ", -"PLAYBACK_IN_FEEDS_OFF": "Tắt phát trong các trang danh sách video", -"PLAYBACK_IN_FEEDS": "Phát trong các trang danh sách video", -"ENABLE_SHARE_BUTTON_DESC": "Mô tả nút chia sẻ", -"ENABLE_SAVE_TO_PLAYLIST_BUTTON": "Bật nút lưu vào danh sách phát", -"LCM_SELECTOR": "Trình chọn chế độ độ tương phản thấp", -"NEW_SETTINGS_UI_DESC": "Mô tả giao diện cài đặt mới", -"VERSION_SPOOFER_TITLE": "Tiêu đề giả lập phiên bản", -"HIDE_SPONSORBLOCK_BUTTON": "Ẩn nút SponsorBlock", -"ENABLE_SHARE_BUTTON": "Bật nút chia sẻ", -"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC": "Mô tả nút lưu vào danh sách phát", -"HIDE_SHADOW_OVERLAY_BUTTONS": "Ẩn các nút lớp phủ bóng", -"APP_VERSION_SPOOFER_LITE_DESC": "Mô tả phiên bản giả lập ứng dụng nhẹ", -"DEFAULT_LOWCONTRASTMODE": "Chế độ độ tương phản thấp mặc định", -"APP_SETTINGS_OVERLAY_OPTIONS": "Tùy chọn lớp phủ cài đặt ứng dụng", -"HIDE_HOME_TAB_DESC": "Mô tả ẩn tab Trang chủ", -"PLAYBACK_IN_FEEDS_ALWAYS_ON": "Luôn bật phát trong các trang danh sách video", -"FIX_CASTING": "Sửa lỗi truyền phát", -"FIX_CASTING_DESC": "Mô tả sửa lỗi truyền phát", -"PLAYBACK_IN_FEEDS_WIFI_ONLY": "Phát trong các trang danh sách video chỉ qua WiFi", -"NEW_MINIPLAYER_STYLE_DESC": "Mô tả kiểu trình phát nhỏ mới", -"NEW_SETTINGS_UI": "Giao diện cài đặt mới", -"HIDE_HOME_TAB": "Ẩn tab Trang chủ", -"HIDE_SHADOW_OVERLAY_BUTTONS_DESC": "Mô tả ẩn các nút lớp phủ bóng", -"ENABLE_YT_STARTUP_ANIMATION": "Bật hoạt ảnh khởi động YouTube" +"APP_RESTART_DESC" = "APP_RESTART_DESC"; +"CUSTOM_LOWCONTRASTMODE" = "CUSTOM_LOWCONTRASTMODE"; +"APP_VERSION_SPOOFER_LITE" = "APP_VERSION_SPOOFER_LITE"; +"PLAYBACK_IN_FEEDS_OFF" = "PLAYBACK_IN_FEEDS_OFF"; +"PLAYBACK_IN_FEEDS" = "PLAYBACK_IN_FEEDS"; +"ENABLE_SHARE_BUTTON_DESC" = "ENABLE_SHARE_BUTTON_DESC"; +"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON"; +"LCM_SELECTOR" = "LCM_SELECTOR"; +"NEW_SETTINGS_UI_DESC" = "NEW_SETTINGS_UI_DESC"; +"VERSION_SPOOFER_TITLE" = "VERSION_SPOOFER_TITLE"; +"HIDE_SPONSORBLOCK_BUTTON" = "HIDE_SPONSORBLOCK_BUTTON"; +"ENABLE_SHARE_BUTTON" = "ENABLE_SHARE_BUTTON"; +"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC"; +"HIDE_SHADOW_OVERLAY_BUTTONS" = "HIDE_SHADOW_OVERLAY_BUTTONS"; +"APP_VERSION_SPOOFER_LITE_DESC" = "APP_VERSION_SPOOFER_LITE_DESC"; +"DEFAULT_LOWCONTRASTMODE" = "DEFAULT_LOWCONTRASTMODE"; +"APP_SETTINGS_OVERLAY_OPTIONS" = "APP_SETTINGS_OVERLAY_OPTIONS"; +"HIDE_HOME_TAB_DESC" = "HIDE_HOME_TAB_DESC"; +"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "PLAYBACK_IN_FEEDS_ALWAYS_ON"; +"FIX_CASTING" = "FIX_CASTING"; +"FIX_CASTING_DESC" = "FIX_CASTING_DESC"; +"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "PLAYBACK_IN_FEEDS_WIFI_ONLY"; +"NEW_MINIPLAYER_STYLE_DESC" = "NEW_MINIPLAYER_STYLE_DESC"; +"NEW_SETTINGS_UI" = "NEW_SETTINGS_UI"; +"HIDE_HOME_TAB" = "HIDE_HOME_TAB"; +"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "HIDE_SHADOW_OVERLAY_BUTTONS_DESC"; +"ENABLE_YT_STARTUP_ANIMATION" = "ENABLE_YT_STARTUP_ANIMATION"; diff --git a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings index aef5cf3..001af33 100644 --- a/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings +++ b/lang/YTLitePlus.bundle/zh_TW.lproj/Localizable.strings @@ -3,36 +3,6 @@ "VERSION" = "YTLitePlus 版本:%@"; "VERSION_CHECK" = "檢查更新"; -"COPY_SETTINGS" = "Copy Settings"; -"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard"; -"PASTE_SETTINGS" = "Paste Settings"; -"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply"; -"EXPORT_SETTINGS" = "Export Settings"; -"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file"; -"IMPORT_SETTINGS" = "Import Settings"; -"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)"; -"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons"; -"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'"; - -"VIDEO_PLAYER" = "Video Player (Beta)"; -"VIDEO_PLAYER_DESC" = "Open a downloaded video in the Apple player"; - -// Player Gestures -"PLAYER_GESTURES_TOGGLE" = "Enable Player Gestures"; -"VOLUME" = "Volume"; -"BRIGHTNESS" = "Brightness"; -"SEEK" = "Seek"; -"DISABLED" = "Disabled"; -"DEADZONE" = "Deadzone"; -"DEADZONE_DESC" = "Minimum distance to move before a gesture is recognized"; -"SENSITIVITY" = "Sensitivity"; -"SENSITIVITY_DESC" = "Multiplier on volume and brightness gestures"; -"PLAYER_GESTURES_TITLE" = "Player Gestures"; -"PLAYER_GESTURES_DESC" = "Configure horizontal pan gestures for the player"; -"TOP_SECTION" = "Top Section"; -"MIDDLE_SECTION" = "Middle Section"; -"BOTTOM_SECTION" = "Bottom Section"; - // Video controls overlay options "VIDEO_CONTROLS_OVERLAY_OPTIONS" = "影片區覆蓋按鈕設定"; @@ -63,36 +33,6 @@ "SEEK_ANYWHERE" = "Seek Anywhere Gesture"; "SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed"; -"ENABLE_TAP_TO_SEEK" = "Enable Tap To Seek"; -"ENABLE_TAP_TO_SEEK_DESC" = "Jump to anywhere in a video by single-tapping the seek bar"; - -"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Disable pull-to-fullscreen gesture"; -"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos."; - -"ALWAYS_USE_REMAINING_TIME" = "Always use remaining time"; -"ALWAYS_USE_REMAINING_TIME_DESC" = "Change the default to show time remaining in the player bar."; - -"DISABLE_TOGGLE_TIME_REMAINING" = "Disable toggle time remaining"; -"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Disables changing time elapsed to time remaining. Use with other setting to always show remaining time."; - -"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay"; -"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen"; - -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player"; -"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button"; - -"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview"; -"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen"; - -"HIDE_HUD_MESSAGES" = "隱藏 HUD 訊息"; -"HIDE_HUD_MESSAGES_DESC" = "例如:CC字幕、開啟/關閉、影片循環開啟等..."; - -"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button"; -"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player."; - -"HIDE_SPEED_TOAST" = "Hide Speed Toast"; -"HIDE_SPEED_TOAST_DESC" = "Hide the 2X Speed popup when holding the player"; - // App settings overlay options "APP_SETTINGS_OVERLAY_OPTIONS" = "應用程式設定隱藏項目";