Compare commits
208
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d53b400235 | ||
|
|
3cabc4405d | ||
|
|
d3a347a914 | ||
|
|
17adfaf534 | ||
|
|
edc1ac3912 | ||
|
|
21d3e74f9f | ||
|
|
3bd1914a36 | ||
|
|
7ff88f4106 | ||
|
|
b6304bf20a | ||
|
|
0db3c368a0 | ||
|
|
9bd31e7189 | ||
|
|
58488a1d89 | ||
|
|
c9547cae78 | ||
|
|
f8336d0352 | ||
|
|
e549c1e9e9 | ||
|
|
afb5cf1cb6 | ||
|
|
f275f72413 | ||
|
|
46b4ea6a27 | ||
|
|
23ba60a3ba | ||
|
|
93b7aa9258 | ||
|
|
0db1e09917 | ||
|
|
6a8798597b | ||
|
|
ac6fa7b853 | ||
|
|
49b75626b9 | ||
|
|
8ec1cb8cba | ||
|
|
12f80fa7ee | ||
|
|
09b765d7d9 | ||
|
|
fd8dc7a61d | ||
|
|
1036272ce3 | ||
|
|
41ae9ef959 | ||
|
|
2b141cb50f | ||
|
|
02addcb00c | ||
|
|
53f62444ba | ||
|
|
922b86a749 | ||
|
|
976c103dce | ||
|
|
8dc2ed3166 | ||
|
|
932cae3473 | ||
|
|
3d05302b9b | ||
|
|
40af55583f | ||
|
|
e389801893 | ||
|
|
ee98ec6237 | ||
|
|
516749e081 | ||
|
|
c5935309ca | ||
|
|
94fdb176ea | ||
|
|
a2b9a6ac73 | ||
|
|
96b62b5791 | ||
|
|
49615dd41c | ||
|
|
96c528fa72 | ||
|
|
d959269a3b | ||
|
|
7045e82565 | ||
|
|
11308d59b5 | ||
|
|
e6622b7e74 | ||
|
|
f8a02e11d7 | ||
|
|
43d593d88d | ||
|
|
f4bf32bcad | ||
|
|
b16c54cd63 | ||
|
|
f45f1946b4 | ||
|
|
f325a31196 | ||
|
|
cab48bbe9e | ||
|
|
5424e4a9e8 | ||
|
|
d7a7c90cf0 | ||
|
|
fe45ebaac1 | ||
|
|
4590369aa1 | ||
|
|
36bf21ad2e | ||
|
|
c2d1581698 | ||
|
|
ca0650d73a | ||
|
|
ad29207afd | ||
|
|
64c7717b38 | ||
|
|
25f66162c5 | ||
|
|
5becdf5a85 | ||
|
|
9145301cc8 | ||
|
|
b2b14305eb | ||
|
|
02ec80256c | ||
|
|
b37f1e1a24 | ||
|
|
244e5a3576 | ||
|
|
3a532cfa63 | ||
|
|
ef153f5d9c | ||
|
|
4258986378 | ||
|
|
dae08da6bf | ||
|
|
7f0e749030 | ||
|
|
c6dd02a759 | ||
|
|
23d745e869 | ||
|
|
2116d96e6a | ||
|
|
f2cb699e3b | ||
|
|
fbafccf1bd | ||
|
|
029ab22b9f | ||
|
|
f4215a7b0b | ||
|
|
0d1e7bad8e | ||
|
|
e97ada36c1 | ||
|
|
4d1b478606 | ||
|
|
24c2f5594f | ||
|
|
c1e3976200 | ||
|
|
0fc9032979 | ||
|
|
b4c70ee668 | ||
|
|
f966182c15 | ||
|
|
1b20c07f03 | ||
|
|
7ad8f9409b | ||
|
|
122d5b8280 | ||
|
|
5744474710 | ||
|
|
faaecd51cb | ||
|
|
8250a1462e | ||
|
|
9371c72a42 | ||
|
|
1acf0a4eba | ||
|
|
1a63491af3 | ||
|
|
e912dc0bda | ||
|
|
fa87084000 | ||
|
|
0b30adb3f4 | ||
|
|
349a49eb93 | ||
|
|
57ed260959 | ||
|
|
9b03cac475 | ||
|
|
0a6179a4b7 | ||
|
|
9e37aaed11 | ||
|
|
691d7d3078 | ||
|
|
915bb7efb3 | ||
|
|
d8151344ae | ||
|
|
163dac3e81 | ||
|
|
3383edbb05 | ||
|
|
c2efac035c | ||
|
|
0fad665452 | ||
|
|
1b554d0994 | ||
|
|
87575119b8 | ||
|
|
90468a2b69 | ||
|
|
29c7f279ae | ||
|
|
e870be2f52 | ||
|
|
772cc2af2e | ||
|
|
9e3065fac6 | ||
|
|
5db4a43777 | ||
|
|
7ab7b499d7 | ||
|
|
c922424d53 | ||
|
|
f1b540af8b | ||
|
|
9afaddb2e0 | ||
|
|
b7f6c21353 | ||
|
|
8e4293f7a1 | ||
|
|
573dfa1d67 | ||
|
|
5d2cc93f56 | ||
|
|
42959eb9fb | ||
|
|
aa139dffa8 | ||
|
|
6520ae2d53 | ||
|
|
4bfb78634f | ||
|
|
78fbf1dc6b | ||
|
|
3dcf4f290f | ||
|
|
85ddb15d38 | ||
|
|
5948dac548 | ||
|
|
070647ecd5 | ||
|
|
b7328028aa | ||
|
|
79f058f354 | ||
|
|
26b5912495 | ||
|
|
f029b9a372 | ||
|
|
ecf3107846 | ||
|
|
93397e48d7 | ||
|
|
b83081fd57 | ||
|
|
c74b5203f7 | ||
|
|
920b7c4882 | ||
|
|
d469f31270 | ||
|
|
f910c416ef | ||
|
|
fb0e5073ae | ||
|
|
f9e05fee77 | ||
|
|
ec7eec660b | ||
|
|
2e6c19c060 | ||
|
|
bb3b8ed310 | ||
|
|
b94a5cc967 | ||
|
|
8b50a3c1b7 | ||
|
|
025dc4d2cb | ||
|
|
9860fdb4e8 | ||
|
|
5e9d719882 | ||
|
|
f63cfa8b43 | ||
|
|
37b6b1e07e | ||
|
|
1827ece773 | ||
|
|
f9e98fa04d | ||
|
|
2c5d0545d7 | ||
|
|
3c33e6fed0 | ||
|
|
daa004d027 | ||
|
|
556f4dd8cf | ||
|
|
68855e71bf | ||
|
|
8fcf17572d | ||
|
|
94c58965c7 | ||
|
|
5e7b7717ff | ||
|
|
1a99fa819e | ||
|
|
0c8376fc60 | ||
|
|
5b70271968 | ||
|
|
968dc841ee | ||
|
|
ada2c00338 | ||
|
|
0e2ec9a52e | ||
|
|
274abee25d | ||
|
|
5b920d7353 | ||
|
|
34e34a4fef | ||
|
|
3e4264e3c7 | ||
|
|
e3d779cbf2 | ||
|
|
314efca54b | ||
|
|
feaeb234cc | ||
|
|
4502236d64 | ||
|
|
3154b51cf6 | ||
|
|
4f99b08a63 | ||
|
|
ae1dc1a701 | ||
|
|
f1eb708e08 | ||
|
|
9298cadbf8 | ||
|
|
efe8670c51 | ||
|
|
fb5781865c | ||
|
|
afb6bd9842 | ||
|
|
8ee749dad1 | ||
|
|
a38e37f6e9 | ||
|
|
ff5167af99 | ||
|
|
62b0168cff | ||
|
|
5d87e7ee1c | ||
|
|
6330c15d2e | ||
|
|
de4f2f7373 | ||
|
|
67aba1f2ad | ||
|
|
d89b146e3d |
@@ -9,6 +9,8 @@ assignees: ''
|
|||||||
|
|
||||||
## ⚠️ Have you read the [FAQ](https://github.com/qnblackcat/uYouPlus/wiki/FAQ)? Make sure you visit the FAQ page first!!! ⚠️
|
## ⚠️ Have you read the [FAQ](https://github.com/qnblackcat/uYouPlus/wiki/FAQ)? Make sure you visit the FAQ page first!!! ⚠️
|
||||||
|
|
||||||
|
_Make sure you complete the template. Otherwise, it will be closed without further explanation!_
|
||||||
|
|
||||||
### Device info
|
### Device info
|
||||||
- iOS/iPadOS version:
|
- iOS/iPadOS version:
|
||||||
- Device model:
|
- Device model:
|
||||||
@@ -25,5 +27,7 @@ _(Please attach videos or screenshots if possible)_
|
|||||||
### Crash log (if possible)
|
### Crash log (if possible)
|
||||||
_(The crash log can be found in the Settings app - Privacy - Analytics & Improvements - Analytics Data - Youtube...)_
|
_(The crash log can be found in the Settings app - Privacy - Analytics & Improvements - Analytics Data - Youtube...)_
|
||||||
|
|
||||||
|
### Does the issue happen with the official YouTube from AppStore?
|
||||||
|
_(Well, YouTube itself is buggy sometimes...)_
|
||||||
|
|
||||||
### Additional context:
|
### Additional context:
|
||||||
|
|||||||
@@ -0,0 +1,143 @@
|
|||||||
|
# Original idea by @ISnackable. Thanks to him for handling the hardest parts!
|
||||||
|
# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml
|
||||||
|
|
||||||
|
name: Build and Release uYouPlus
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
uyou_version:
|
||||||
|
description: "The version of uYou"
|
||||||
|
default: "2.1"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
decrypted_youtube_url:
|
||||||
|
description: "The direct URL to the decrypted YouTube ipa"
|
||||||
|
default: ""
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
youtube_version:
|
||||||
|
description: "The version of YouTube"
|
||||||
|
default: ""
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
create_release:
|
||||||
|
description: "Create a draft release"
|
||||||
|
default: false
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build uYouPlus
|
||||||
|
runs-on: macos-latest
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout Main
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: main
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: brew install ldid dpkg
|
||||||
|
|
||||||
|
- name: Setup Theos
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: theos/theos
|
||||||
|
ref: master
|
||||||
|
path: theos
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Download iOS 15.5 SDK
|
||||||
|
run: |
|
||||||
|
svn checkout -q https://github.com/chrisharper22/sdks/trunk/iPhoneOS15.5.sdk
|
||||||
|
mv *.sdk $THEOS/sdks
|
||||||
|
env:
|
||||||
|
THEOS: ${{ github.workspace }}/theos
|
||||||
|
|
||||||
|
- name: Setup Theos Jailed
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: kabiroberai/theos-jailed
|
||||||
|
ref: master
|
||||||
|
path: theos-jailed
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install Theos Jailed
|
||||||
|
run: |
|
||||||
|
./theos-jailed/install
|
||||||
|
env:
|
||||||
|
THEOS: ${{ github.workspace }}/theos
|
||||||
|
|
||||||
|
- name: Download uYou & prepare YouTube iPA
|
||||||
|
run: |
|
||||||
|
curl "https://raw.githubusercontent.com/Muirey03/RemoteLog/master/RemoteLog.h" --output "$THEOS/include/RemoteLog.h"
|
||||||
|
curl "https://miro92.com/repo/debs/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb" --output "./main/Tweaks/uYou/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb"
|
||||||
|
wget "$YOUTUBE_URL" --no-verbose -O ./main/YouTube.ipa
|
||||||
|
dpkg-deb -x "./main/Tweaks/uYou/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb" ./main/Tweaks/uYou/
|
||||||
|
unzip -q ./main/YouTube.ipa -d ./main/tmp
|
||||||
|
rm -rf ./main/tmp/Payload/YouTube.app/PlugIns/*
|
||||||
|
cp -R ./main/Extensions/*.appex ./main/tmp/Payload/YouTube.app/PlugIns
|
||||||
|
|
||||||
|
env:
|
||||||
|
THEOS: ${{ github.workspace }}/theos
|
||||||
|
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||||
|
YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }}
|
||||||
|
|
||||||
|
- name: Fix compiling && Build Package
|
||||||
|
id: build_package
|
||||||
|
run: |
|
||||||
|
cd ${{ github.workspace }}/main
|
||||||
|
(cd ${{ github.workspace }}/main/Tweaks/YouPiP && sed -i '' "14s/$/ AVFoundation UIKit/" Makefile)
|
||||||
|
make package FINALPACKAGE=1
|
||||||
|
(mv "packages/$(ls -t packages | head -n1)" "packages/uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa")
|
||||||
|
echo "::set-output name=package::$(ls -t packages | head -n1)"
|
||||||
|
env:
|
||||||
|
THEOS: ${{ github.workspace }}/theos
|
||||||
|
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||||
|
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
env:
|
||||||
|
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||||
|
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||||
|
with:
|
||||||
|
name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
|
||||||
|
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
if: ${{ inputs.create_release }}
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||||
|
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||||
|
with:
|
||||||
|
tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})
|
||||||
|
release_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})
|
||||||
|
draft: true
|
||||||
|
prerelease: false
|
||||||
|
|
||||||
|
- name: Upload Release Asset
|
||||||
|
if: ${{ inputs.create_release }}
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||||
|
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||||
|
asset_name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa
|
||||||
|
asset_content_type: application/vnd.debian.binary-package
|
||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
.theos
|
.theos
|
||||||
.DS_Store
|
.DS_Store
|
||||||
packages
|
packages/
|
||||||
obj
|
tmp/
|
||||||
Tweaks/uYou/*
|
Tweaks/uYou/*
|
||||||
!Tweaks/uYou/.gitkeep
|
!Tweaks/uYou/.gitkeep
|
||||||
|
Resources/
|
||||||
@@ -30,3 +30,7 @@
|
|||||||
path = Tweaks/YTSpeed
|
path = Tweaks/YTSpeed
|
||||||
url = https://github.com/qnblackcat/YTSpeed.git
|
url = https://github.com/qnblackcat/YTSpeed.git
|
||||||
branch = main
|
branch = main
|
||||||
|
[submodule "Extensions"]
|
||||||
|
path = Extensions
|
||||||
|
url = https://github.com/CokePokes/YoutubeExtensions.git
|
||||||
|
branch = main
|
||||||
|
|||||||
Submodule
+1
Submodule Extensions added at a68d70883d
@@ -0,0 +1,86 @@
|
|||||||
|
#import "Tweaks/YouTubeHeader/YTPlayerViewController.h"
|
||||||
|
|
||||||
|
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
|
||||||
|
#define YT_BUNDLE_ID @"com.google.ios.youtube"
|
||||||
|
#define YT_NAME @"YouTube"
|
||||||
|
|
||||||
|
// IAmYouTube
|
||||||
|
@interface SSOConfiguration : NSObject
|
||||||
|
@end
|
||||||
|
|
||||||
|
// uYouPlus
|
||||||
|
@interface YTMainAppControlsOverlayView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTTransportControlsButtonView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface _ASCollectionViewCell : UICollectionViewCell
|
||||||
|
- (id)node;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTAsyncCollectionView : UICollectionView
|
||||||
|
- (void)removeShortsAndFeaturesAdsAtIndexPath:(NSIndexPath *)indexPath;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface FRPSliderCell : UITableViewCell
|
||||||
|
@end
|
||||||
|
|
||||||
|
// iOS16 fix
|
||||||
|
@interface OBPrivacyLinkButton : UIButton
|
||||||
|
- (instancetype)initWithCaption:(NSString *)caption
|
||||||
|
buttonText:(NSString *)buttonText
|
||||||
|
image:(UIImage *)image
|
||||||
|
imageSize:(CGSize)imageSize
|
||||||
|
useLargeIcon:(BOOL)useLargeIcon
|
||||||
|
displayLanguage:(NSString *)displayLanguage;
|
||||||
|
@end
|
||||||
|
|
||||||
|
// uYouLocal fix
|
||||||
|
@interface YTLocalPlaybackController : NSObject
|
||||||
|
- (id)activeVideo;
|
||||||
|
@end
|
||||||
|
|
||||||
|
// BigYTMiniPlayer
|
||||||
|
@interface YTMainAppVideoPlayerOverlayView : UIView
|
||||||
|
- (UIViewController *)_viewControllerForAncestor;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTWatchMiniBarView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
// YTAutoFullScreen
|
||||||
|
@interface YTPlayerViewController (YTAFS)
|
||||||
|
- (void)autoFullscreen;
|
||||||
|
@end
|
||||||
|
|
||||||
|
// OLED Darkmode
|
||||||
|
@interface ASWAppSwitcherCollectionViewCell : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface ASScrollView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface UIKeyboardLayoutStar : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface UIKeyboardDockView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface _ASDisplayView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTCommentDetailHeaderCell : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface SponsorBlockSettingsController : UITableViewController
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface SponsorBlockViewController : UIViewController
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface UICandidateViewController : UIViewController
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface UIPredictionViewController : UIViewController
|
||||||
|
@end
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
uYouPlus_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YoutubeSpeed.dylib
|
TARGET = iphone:clang:latest:13.0
|
||||||
|
|
||||||
uYouPlus_USE_FLEX = 0
|
uYouPlus_USE_FLEX = 0
|
||||||
|
uYouPlus_USE_FISHHOOK = 0
|
||||||
ARCHS = arm64
|
ARCHS = arm64
|
||||||
MODULES = jailed
|
MODULES = jailed
|
||||||
FINALPACKAGE = 1
|
FINALPACKAGE = 1
|
||||||
@@ -10,9 +10,11 @@ TWEAK_NAME = uYouPlus
|
|||||||
DISPLAY_NAME = YouTube
|
DISPLAY_NAME = YouTube
|
||||||
BUNDLE_ID = com.google.ios.youtube
|
BUNDLE_ID = com.google.ios.youtube
|
||||||
|
|
||||||
uYouPlus_FILES = uYouPlus.xm
|
uYouPlus_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YoutubeSpeed.dylib
|
||||||
uYouPlus_IPA = /path/to/decrypted/YouTube/IPA
|
uYouPlus_FILES = uYouPlus.xm Settings.xm
|
||||||
### Important: edit the path to your decrypted YouTube IPA!!!
|
uYouPlus_IPA = ./tmp/Payload/YouTube.app
|
||||||
|
uYouPlus_FRAMEWORKS = UIKit
|
||||||
|
uYouPlus_CFLAGS = -fobjc-arc
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
include $(THEOS_MAKE_PATH)/tweak.mk
|
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||||
@@ -20,11 +22,12 @@ SUBPROJECTS += Tweaks/Alderis Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tw
|
|||||||
include $(THEOS_MAKE_PATH)/aggregate.mk
|
include $(THEOS_MAKE_PATH)/aggregate.mk
|
||||||
|
|
||||||
before-package::
|
before-package::
|
||||||
@tput setaf 4 && echo -e "==> \033[1mMoving tweak's bundle to Resources/...\033[0m"
|
@echo -e "==> \033[1mMoving tweak's bundle to Resources/...\033[0m"
|
||||||
@mkdir -p Resources/Frameworks/Alderis.framework && find .theos/obj/install/Library/Frameworks/Alderis.framework -maxdepth 1 -type f -exec cp {} Resources/Frameworks/Alderis.framework/ \;
|
@mkdir -p Resources/Frameworks/Alderis.framework && find .theos/obj/install/Library/Frameworks/Alderis.framework -maxdepth 1 -type f -exec cp {} Resources/Frameworks/Alderis.framework/ \;
|
||||||
@cp -R Tweaks/YouPiP/layout/Library/Application\ Support/YouPiP.bundle Resources/
|
@cp -R Tweaks/YouPiP/layout/Library/Application\ Support/YouPiP.bundle Resources/
|
||||||
@cp -R Tweaks/iSponsorBlock/layout/Library/Application\ Support/iSponsorBlock.bundle Resources/
|
@cp -R Tweaks/iSponsorBlock/layout/Library/Application\ Support/iSponsorBlock.bundle Resources/
|
||||||
@cp -R Tweaks/uYou/Library/Application\ Support/uYouBundle.bundle Resources/
|
@cp -R Tweaks/uYou/Library/Application\ Support/uYouBundle.bundle Resources/
|
||||||
@tput setaf 5 && echo -e "==> \033[1mChanging the installation path of dylibs...\033[0m"
|
@cp -R lang/uYouPlus.bundle Resources/
|
||||||
|
@echo -e "==> \033[1mChanging the installation path of dylibs...\033[0m"
|
||||||
@codesign --remove-signature .theos/obj/iSponsorBlock.dylib && install_name_tool -change /usr/lib/libcolorpicker.dylib @rpath/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib
|
@codesign --remove-signature .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
|
@codesign --remove-signature .theos/obj/libcolorpicker.dylib && install_name_tool -change /Library/Frameworks/Alderis.framework/Alderis @rpath/Alderis.framework/Alderis .theos/obj/libcolorpicker.dylib
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
# Table of Contents
|
# Table of Contents
|
||||||
|
|
||||||
* [Credits](#credits)
|
* [Credits](#credits)
|
||||||
@@ -10,8 +9,7 @@
|
|||||||
* [Installation](#installation)
|
* [Installation](#installation)
|
||||||
* [Support the developers!](#support-the-developers)
|
* [Support the developers!](#support-the-developers)
|
||||||
* [FAQ](#faq)
|
* [FAQ](#faq)
|
||||||
* [Building (optional)](#building-optional)
|
* [Building](#building-optional)
|
||||||
|
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
@@ -21,16 +19,19 @@
|
|||||||
|
|
||||||
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
||||||
|
|
||||||
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, include: [YouRememberCaption](https://www.ios-repo-updates.com/repository/poomsmart/package/com.ps.youremembercaption/), [YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality.html), [YTNoCheckLocalNetwork](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html), [YTSystemAppearance](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html), [YTAutoFullScreen](https://github.com/PoomSmart/YTAutoFullScreen/), [YTReExplore](https://github.com/PoomSmart/YTReExplore/), [YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd.html), [YouPiP](https://poomsmart.github.io/repo/depictions/youpip.html), and [Return YouTube Dislike](https://github.com/PoomSmart/Return-YouTube-Dislikes)
|
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, see [Version info - Download](#download) for more details.
|
||||||
|
|
||||||
- [level3tjg](https://twitter.com/level3tjg) - for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards).
|
- [level3tjg](https://twitter.com/level3tjg) for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards), [YTMiniplayerEnabler](https://github.com/level3tjg/YTMiniplayerEnabler) and many hot patches for uYou.
|
||||||
|
|
||||||
|
- [BandarHL](https://twitter.com/bandarhl) for a bunch of improvements.
|
||||||
|
|
||||||
- [Lyvendia](https://github.com/Lyvendia/) for [YTSpeed](https://github.com/Lyvendia/YTSpeed/)
|
- [Lyvendia](https://github.com/Lyvendia/) for [YTSpeed](https://github.com/Lyvendia/YTSpeed/)
|
||||||
|
|
||||||
- [Al4ise](https://github.com/Al4ise) for [Azule](https://github.com/Al4ise/Azule), a tool used to inject jailbreak tweaks into jailed iOS apps.
|
- [YouTube Extensions](https://github.com/CokePokes/YoutubeExtensions) by [CokePokes](https://github.com/CokePokes/).
|
||||||
|
|
||||||
- [theos team](https://github.com/theos/theos) for theos & theos-jailed.
|
- [theos team](https://github.com/theos/theos) for theos & theos-jailed.
|
||||||
|
|
||||||
|
- Thanks to all the translators who have contributed to uYouPlus. Your contribution is highly appreciated!
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
|
|
||||||
@@ -51,14 +52,16 @@
|
|||||||
|
|
||||||
7. **YTNoHoverCards:** offer an option to enable/disable the annoying suggested videos show up at the end of the videos.
|
7. **YTNoHoverCards:** offer an option to enable/disable the annoying suggested videos show up at the end of the videos.
|
||||||
|
|
||||||
8. **YTSystemAppearance**: sync the YouTube theme (dark/light) with the system theme.
|
8. **YTNoCheckLocalNetwork**: block the Local Network permission popup.
|
||||||
|
|
||||||
9. **YTNoCheckLocalNetwork**: block the Local Network permission popup.
|
9. **YouRememberCaption**: make YouTube remember your video caption setting (if not already).
|
||||||
|
|
||||||
10. **YouRememberCaption**: make YouTube remember your video caption setting (if not already).
|
10. **NoYTPremium**: remove YouTube Premium upshells.
|
||||||
|
|
||||||
11. **YTSpeed**: add 2.25, 2.5, 2.75, and 3x playback speed
|
11. **YTSpeed**: add 2.25, 2.5, 2.75, and 3x playback speed
|
||||||
|
|
||||||
|
12. **YTMiniplayerEnabler**: enable Miniplayer for all YouTube videos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
# Known issues
|
# Known issues
|
||||||
@@ -67,40 +70,44 @@
|
|||||||
|
|
||||||
- Issues that related to **uYouPlus** are [here](https://github.com/qnblackcat/uYouPlus/issues/)
|
- Issues that related to **uYouPlus** are [here](https://github.com/qnblackcat/uYouPlus/issues/)
|
||||||
|
|
||||||
|
|
||||||
# Download
|
# Download
|
||||||
|
|
||||||
- **uYouPlus** (or you can call it uYou+) requires iOS & iPadOS 13.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases).
|
- **uYouPlus** (or you can call it uYou+) requires iOS or iPadOS 13.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases).
|
||||||
|
|
||||||
- For AltStore user:
|
- For AltStore user:
|
||||||
|
|
||||||
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
||||||
|
|
||||||
- [Open in AltStore (v17.15.1-2.1)](https://tinyurl.com/bdd57rer) - It will take a while to install because AltStore needs to download the IPA.
|
- [Open in AltStore (v17.31.4-2.1)](https://tinyurl.com/2p99amjz) - It will take a while to install because AltStore needs to download the IPA.
|
||||||
|
|
||||||
- Version info: _(last update: Apr 19)_
|
- Version info: _(last update: Aug 12)_
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> Expand</summary>
|
<summary>Expand</summary>
|
||||||
|
|
||||||
| **Tweaks/App** | **Version** | **Open source** |
|
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
||||||
| :------------: | :----------:| :-------------: |
|
| - | - | :-: | :-: |
|
||||||
| **YouTube** | 17.15.1 | ✖︎ |
|
| **YouTube** | Google Inc | 17.31.4 | ✖︎ |
|
||||||
| **uYou** | 2.1 | ✖︎ |
|
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 2.1 | ✖︎ |
|
||||||
| **Return YouTube Dislike** | 1.6.4 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
| [Open in YouTube](https://github.com/CokePokes/YoutubeExtensions) | [CokePokes](https://github.com/CokePokes) | 1.2 | ✖︎ |
|
||||||
| **iSponsorBlock** | 1.0-14 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-15 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||||
| **Alderis Color Picker** | 1.1.2| [✔︎](https://github.com/hbang/Alderis) |
|
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
||||||
| **YouRememberCaption** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||||
| **YTClassicVideoQuality** | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
||||||
| **YTNoCheckLocalNetwork** | 1.0.2 | [✔︎](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html) |
|
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||||
| **YTNoHoverCards** | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
||||||
| **YTSystemAppearance** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html) |
|
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
||||||
| **YTUHD** | 1.2.6 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.9 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||||
| **YouPiP** | 1.6.9 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.7 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||||
| **YTSpeed** | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||||
| **YTAutoFullScreen** | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen/) |
|
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||||
| **YTReExplore** | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
||||||
| **BigYTMiniPlayer** | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
||||||
|
| **YTAutoFullScreen** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen) |
|
||||||
|
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||||
|
| **YTClassicVideoQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
||||||
|
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.6.6 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||||
|
| **YTNoCheckLocalNetwork** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html) |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@@ -118,12 +125,18 @@ See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installati
|
|||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Poomsmart</summary>
|
<summary>PoomSmart</summary>
|
||||||
|
|
||||||
- Paypal: https://poomsmart.github.io/
|
- Paypal: https://poomsmart.github.io/
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Bandar Alruwaili (BandarHL)</summary>
|
||||||
|
|
||||||
|
- Paypal: https://www.paypal.com/paypalme/BandarHL
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Galactic-dev</summary>
|
<summary>Galactic-dev</summary>
|
||||||
|
|
||||||
|
|||||||
+182
@@ -0,0 +1,182 @@
|
|||||||
|
#import "Tweaks/YouTubeHeader/YTSettingsViewController.h"
|
||||||
|
#import "Tweaks/YouTubeHeader/YTSettingsSectionItem.h"
|
||||||
|
#import "Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h"
|
||||||
|
#import "Header.h"
|
||||||
|
|
||||||
|
@interface YTSettingsSectionItemManager (YouPiP)
|
||||||
|
- (void)updateuYouPlusSectionWithEntry:(id)entry;
|
||||||
|
@end
|
||||||
|
|
||||||
|
static const NSInteger uYouPlusSection = 500;
|
||||||
|
|
||||||
|
extern NSBundle *uYouPlusBundle();
|
||||||
|
extern BOOL hideHUD();
|
||||||
|
extern BOOL oled();
|
||||||
|
extern BOOL oledKB();
|
||||||
|
extern BOOL autoFullScreen();
|
||||||
|
extern BOOL hideHoverCard();
|
||||||
|
extern BOOL reExplore();
|
||||||
|
extern BOOL bigYTMiniPlayer();
|
||||||
|
extern BOOL hideCC();
|
||||||
|
extern BOOL hideAutoplaySwitch();
|
||||||
|
extern BOOL castConfirm();
|
||||||
|
extern BOOL ytMiniPlayer();
|
||||||
|
extern BOOL hidePreviousAndNextButton();
|
||||||
|
extern BOOL hidePaidPromotionCard();
|
||||||
|
|
||||||
|
// Settings
|
||||||
|
%hook YTAppSettingsPresentationData
|
||||||
|
+ (NSArray *)settingsCategoryOrder {
|
||||||
|
NSArray *order = %orig;
|
||||||
|
NSMutableArray *mutableOrder = [order mutableCopy];
|
||||||
|
NSUInteger insertIndex = [order indexOfObject:@(1)];
|
||||||
|
if (insertIndex != NSNotFound)
|
||||||
|
[mutableOrder insertObject:@(uYouPlusSection) atIndex:insertIndex + 1];
|
||||||
|
return mutableOrder;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook YTSettingsSectionItemManager
|
||||||
|
%new
|
||||||
|
- (void)updateuYouPlusSectionWithEntry:(id)entry {
|
||||||
|
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
||||||
|
NSBundle *tweakBundle = uYouPlusBundle();
|
||||||
|
|
||||||
|
YTSettingsSectionItem *killApp = [%c(YTSettingsSectionItem) // https://github.com/PoomSmart/YTABConfig/blob/b74d7f28151c407cffc21cce12908c49e9e65999/Tweak.x#L76
|
||||||
|
itemWithTitle:LOC(@"KILL_APP")
|
||||||
|
titleDescription:LOC(@"KILL_APP_DESC")
|
||||||
|
accessibilityIdentifier:nil
|
||||||
|
detailTextBlock:nil
|
||||||
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
|
exit(0);
|
||||||
|
}];
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hidePaidPromotionCard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PAID_PROMOTION_CARDS") titleDescription:LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC")];
|
||||||
|
hidePaidPromotionCard.hasSwitch = YES;
|
||||||
|
hidePaidPromotionCard.switchVisible = YES;
|
||||||
|
hidePaidPromotionCard.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePaidPromotionCard_enabled"];
|
||||||
|
hidePaidPromotionCard.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePaidPromotionCard_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hidePreviousAndNextButton = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON") titleDescription:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC")];
|
||||||
|
hidePreviousAndNextButton.hasSwitch = YES;
|
||||||
|
hidePreviousAndNextButton.switchVisible = YES;
|
||||||
|
hidePreviousAndNextButton.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePreviousAndNextButton_enabled"];
|
||||||
|
hidePreviousAndNextButton.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePreviousAndNextButton_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *ytMiniPlayer = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"YT_MINIPLAYER") titleDescription:LOC(@"YT_MINIPLAYER_DESC")];
|
||||||
|
ytMiniPlayer.hasSwitch = YES;
|
||||||
|
ytMiniPlayer.switchVisible = YES;
|
||||||
|
ytMiniPlayer.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
||||||
|
ytMiniPlayer.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"ytMiniPlayer_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *castConfirm = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"CAST_CONFIRM") titleDescription:LOC(@"CAST_CONFIRM_DESC")];
|
||||||
|
castConfirm.hasSwitch = YES;
|
||||||
|
castConfirm.switchVisible = YES;
|
||||||
|
castConfirm.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"castConfirm_enabled"];
|
||||||
|
castConfirm.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"castConfirm_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hideHoverCard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_HOVER_CARD") titleDescription:LOC(@"HIDE_HOVER_CARD_DESC")];
|
||||||
|
hideHoverCard.hasSwitch = YES;
|
||||||
|
hideHoverCard.switchVisible = YES;
|
||||||
|
hideHoverCard.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hideHoverCards_enabled"];
|
||||||
|
hideHoverCard.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideHoverCards_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *bigYTMiniPlayer = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"NEW_MINIPLAYER_STYLE") titleDescription:LOC(@"NEW_MINIPLAYER_STYLE_DESC")];
|
||||||
|
bigYTMiniPlayer.hasSwitch = YES;
|
||||||
|
bigYTMiniPlayer.switchVisible = YES;
|
||||||
|
bigYTMiniPlayer.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"bigYTMiniPlayer_enabled"];
|
||||||
|
bigYTMiniPlayer.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"bigYTMiniPlayer_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *reExplore = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"YT_RE_EXPLORE") titleDescription:LOC(@"YT_RE_EXPLORE_DESC")];
|
||||||
|
reExplore.hasSwitch = YES;
|
||||||
|
reExplore.switchVisible = YES;
|
||||||
|
reExplore.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"reExplore_enabled"];
|
||||||
|
reExplore.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"reExplore_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hideCC = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_SUBTITLES_BUTTON") titleDescription:LOC(@"HIDE_SUBTITLES_BUTTON_DESC")];
|
||||||
|
hideCC.hasSwitch = YES;
|
||||||
|
hideCC.switchVisible = YES;
|
||||||
|
hideCC.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hideCC_enabled"];
|
||||||
|
hideCC.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideCC_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hideAutoplaySwitch = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_AUTOPLAY_SWITCH") titleDescription:LOC(@"HIDE_AUTOPLAY_SWITCH_DESC")];
|
||||||
|
hideAutoplaySwitch.hasSwitch = YES;
|
||||||
|
hideAutoplaySwitch.switchVisible = YES;
|
||||||
|
hideAutoplaySwitch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hideAutoplaySwitch_enabled"];
|
||||||
|
hideAutoplaySwitch.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideAutoplaySwitch_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *autoFull = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"AUTO_FULLSCREEN") titleDescription:LOC(@"AUTO_FULLSCREEN_DESC")];
|
||||||
|
autoFull.hasSwitch = YES;
|
||||||
|
autoFull.switchVisible = YES;
|
||||||
|
autoFull.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"autoFull_enabled"];
|
||||||
|
autoFull.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"autoFull_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hideHUD = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_HUD_MESSAGES") titleDescription:LOC(@"HIDE_HUD_MESSAGES_DESC")];
|
||||||
|
hideHUD.hasSwitch = YES;
|
||||||
|
hideHUD.switchVisible = YES;
|
||||||
|
hideHUD.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hideHUD_enabled"];
|
||||||
|
hideHUD.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hideHUD_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *oledDarkMode = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"OLED_DARKMODE") titleDescription:LOC(@"OLED_DARKMODE_DESC")];
|
||||||
|
oledDarkMode.hasSwitch = YES;
|
||||||
|
oledDarkMode.switchVisible = YES;
|
||||||
|
oledDarkMode.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"oled_enabled"];
|
||||||
|
oledDarkMode.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"oled_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
YTSettingsSectionItem *oledKeyBoard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"OLED_KEYBOARD") titleDescription:LOC(@"OLED_KEYBOARD_DESC")];
|
||||||
|
oledKeyBoard.hasSwitch = YES;
|
||||||
|
oledKeyBoard.switchVisible = YES;
|
||||||
|
oledKeyBoard.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"oledKeyBoard_enabled"];
|
||||||
|
oledKeyBoard.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"oledKeyBoard_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
|
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[killApp, autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, reExplore]];
|
||||||
|
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)updateSectionForCategory:(NSUInteger)category withEntry:(id)entry {
|
||||||
|
if (category == uYouPlusSection) {
|
||||||
|
[self updateuYouPlusSectionWithEntry:entry];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
+1
-1
Submodule Tweaks/Alderis updated: f8b577ebf7...c5b3ed5761
+1
-1
Submodule Tweaks/PSHeader updated: 7f13c9adf9...ac9324f441
Submodule Tweaks/Return-YouTube-Dislikes updated: b16a511648...deae67afea
+1
-1
Submodule Tweaks/YTSpeed updated: 7c11d9c916...3fec2dfcf0
+1
-1
Submodule Tweaks/YTUHD updated: 9916e88bc5...b0d24c0859
+1
-1
Submodule Tweaks/YouPiP updated: 23fc13e5e2...a8c4224f7d
+1
-1
Submodule Tweaks/YouTubeHeader updated: 5d11e98158...08eeeb7a9c
+1
-1
Submodule Tweaks/iSponsorBlock updated: a026656096...82d717878f
+27
-12
@@ -4,34 +4,49 @@
|
|||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
# Check uYou
|
# Check uYou
|
||||||
if [[ ! -f Tweaks/uYou/com.miro.uyou_2.1_iphoneos-arm.deb ]]
|
if [ ! -f Tweaks/uYou/com.miro.uyou_2.1_iphoneos-arm.deb ]
|
||||||
then
|
then
|
||||||
echo -e "==> \033[1muYou v2.1 is not found. Downloading uYou (v2.1)...\033[0m"
|
echo -e "==> \033[1muYou v2.1 is not found. Downloading uYou (v2.1)...\033[0m"
|
||||||
(set -x ; curl https://miro92.com/repo/debs/com.miro.uyou_2.1_iphoneos-arm.deb --output Tweaks/uYou/com.miro.uyou_2.1_iphoneos-arm.deb)
|
(set -x ; curl https://miro92.com/repo/debs/com.miro.uyou_2.1_iphoneos-arm.deb --output Tweaks/uYou/com.miro.uyou_2.1_iphoneos-arm.deb)
|
||||||
else
|
else
|
||||||
echo -e "==> \033[1mFounded uYou (v2.1)!\033[0m"
|
echo -e "==> \033[1mFounded uYou (v2.1)!\033[0m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extract uYou
|
# Extract uYou
|
||||||
echo -e "==> \033[1mExtracting uYou...\033[0m"
|
echo -e "==> \033[1mExtracting uYou...\033[0m"
|
||||||
if (cd Tweaks/uYou && tar -xf com.miro.uyou_2.1_iphoneos-arm.deb && tar -xf data.tar.*)
|
if (cd Tweaks/uYou && tar -xf com.miro.uyou_2.1_iphoneos-arm.deb && tar -xf data.tar.*)
|
||||||
then
|
then
|
||||||
echo -e "\033[1m> Extracted uYou!\033[0m"
|
echo -e "\033[1m> Extracted uYou!\033[0m"
|
||||||
else
|
else
|
||||||
echo "> \033[1mCouldn't extract uYou\033[0m"
|
echo "> \033[1mCouldn't extract uYou\033[0m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Makefile
|
# Makefile
|
||||||
read -e -p "==> Path to the decrypted YouTube iPA: " PATHTOIPA
|
if [ -d ./tmp ]
|
||||||
if [[ $PATHTOIPA == *.ipa ]]
|
|
||||||
then
|
then
|
||||||
sed -i '' "14s#.*#uYouPlus_IPA = $PATHTOIPA#g" ./Makefile
|
rm -rf ./tmp
|
||||||
|
fi
|
||||||
|
read -e -p "==> Path to the decrypted YouTube.ipa or YouTube.app: " PATHTOYT
|
||||||
|
if [[ $PATHTOYT == *.ipa ]]
|
||||||
|
then
|
||||||
|
unzip -q "$PATHTOYT" -d ./tmp
|
||||||
|
rm -rf ./tmp/Payload/YouTube.app/PlugIns/*.appex
|
||||||
|
cp -R Extensions/*.appex tmp/Payload/YouTube.app/PlugIns
|
||||||
|
make package
|
||||||
|
open ./packages
|
||||||
|
|
||||||
|
elif [[ $PATHTOYT == *.app ]]
|
||||||
|
then
|
||||||
|
mkdir -p ./tmp/Payload/
|
||||||
|
cp -R "$PATHTOYT" ./tmp/Payload 2>/dev/null
|
||||||
|
rm -rf ./tmp/Payload/YouTube.app/PlugIns/*.appex
|
||||||
|
cp -R Extensions/*.appex tmp/Payload/YouTube.app/PlugIns
|
||||||
make package
|
make package
|
||||||
open ./packages
|
open ./packages
|
||||||
else
|
else
|
||||||
echo "This is not an iPA"
|
echo "This is not an ipa/app!"
|
||||||
fi
|
fi
|
||||||
# Clean up
|
# Clean up
|
||||||
tput setaf 1 && echo -e "==> \033[1mCleaning up...\033[0m"
|
tput setaf 1 && echo -e "==> \033[1mCleaning up...\033[0m"
|
||||||
find Tweaks/uYou -mindepth 1 ! -name "com.miro.uyou_2.1_iphoneos-arm.deb" ! -name ".gitkeep" -exec rm -rf {} \; 2>/dev/null
|
find Tweaks/uYou -mindepth 1 ! -name "com.miro.uyou_2.1_iphoneos-arm.deb" ! -name ".gitkeep" -exec rm -rf {} \; 2>/dev/null
|
||||||
rm -rf Resources .theos/_/Payload
|
rm -rf tmp/ Resources .theos/_/Payload
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "إغلاق تطبيق يوتيوب";
|
||||||
|
"KILL_APP_DESC" = "المس هنا لإغلاق تطبيق يوتيوب!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "إخفاء زر السابق والتالي";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "إخفاء زرّي السابق والتالي من أزرار التحكم على الفيديو.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "السماح بالمشغل المصغّر لكل فيديوهات يوتيوب";
|
||||||
|
"YT_MINIPLAYER_DESC" = "عند تصغير فيديوهات الأطفال مثلاً (قبل إغلاق المقطع).";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "التأكيد قبل البث (أداة YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "إظهار تنبيه للتأكيد قبل البث، من أجل منع البث للتلفاز عن طريق الخطأ.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "إخفاء صور المقاطع الأخرى في نهاية المقاطع (أداة YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "إخفاء الصور المصغرة الظاهرة على مشغل الفيديو في نهاية المقطع.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "تغيير شكل المشغّل المصغر (أداة BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "تغيير شكل المشغّل المصغر في الآيفون إلى نفس شكله في الآيباد - تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "استبدال تبويب Shorts بتبويب Explore (أداة YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = " تتطلب إغلاق التطبيق وإعادة فتحه.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "إخفاء زر الترجمة";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "إخفاء زر الترجمة من أزرار التحكم على الفيديو.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "إخفاء زر التشغيل التلقائي";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "إخفاء زر التشغيل التلقائي من أزرار التحكم على الفيديو.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "كامل الشاشة تلقائياً (أداة YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "تشغيل الفيديوهات تلقائياً بكامل الشاشة.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "إخفاء رسائل المعلومات";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "مثلاً: تم إيقاف الترجمة...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "وضغ داكن OLED (ميزة تجريبية)";
|
||||||
|
"OLED_DARKMODE_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "لوحة مفاتيح داكنة OLED (ميزة تجريبية)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "قد لا تعمل في كل الحالات. يجب إعادة تشغيل التطبيق عند تشغيل أو إيقاف هذه الخاصية.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "إخفاء شريط الترويج المدفوع";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "إخفاء عبارة يتضمن ترويجاً مدفوعاً الظاهرة على بعض الفيديوهات.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "البث";
|
||||||
|
"MSG_ARE_YOU_SURE" = "هل أنت متأكد أنك تريد بدء البث؟";
|
||||||
|
"MSG_YES" = "نعم";
|
||||||
|
"MSG_CANCEL" = "إلغاء";
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
// How to translate uYouPlus to your languate:
|
||||||
|
//
|
||||||
|
// 1. Fork uYouPlus repo
|
||||||
|
// 2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id.
|
||||||
|
// For example: <ru.lproj> for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
|
||||||
|
// 3. Translate each line below after each =
|
||||||
|
// 4. Open a Pull Request
|
||||||
|
//
|
||||||
|
// If your language already exists then feel free to check it and/or improve it!
|
||||||
|
// You can also add your localiztion to YouPiP here, the process is the same
|
||||||
|
// https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||||
|
//
|
||||||
|
// Settings
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Skrýt tlačítka předchozí a následující";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Skryje tlačítka předchozí a následující v překrytí ovládání videa.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Zobrazit potvrzení před začátkem sdílení obrazu (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Zobrazí potvrzení aby se zamezilo nechtěnému sdílení do televize.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Skrýt karty na konci videa (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Skryje náhledy jiných videjí na konci videa.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Nový styl minipřehrávače (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Je potřeba restart aplikace.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Nahradit záložku Shorts tab záložkou Explore (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Je potřeba restart aplikace.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Skrýt tlačítko titulky";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Skryje tlačítko titulky v překrytí ovládání videa.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Skrýt přepínač automatického přehrávání";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Skryje přepínač automatického přehrávání v překrytí ovládání videa.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Přes celou obrazovku (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Automaticky spouští videa přes celou obrazovku.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Skrýt vyskakující zprávy";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Příklad: Titulky zapnuty/vypnuty, Smyčka videa zapnuta,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Tmavý OLED režim (Experimentální)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED Klávesnice (Experimentální)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Skrýt kartu placené propagace";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Skryje 'Obsahuje placenou propagaci' u některých videjí.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Sdílení obrazu";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Opravdu chcete začít sdílet obraz?";
|
||||||
|
"MSG_YES" = "Ano";
|
||||||
|
"MSG_CANCEL" = "Zrušit";
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Vor- und Zurücktasten ausblenden";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Vor- und Zurückspultasten vom Videoplayer ausblenden.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Miniplayer für alle YT Videos aktivieren";
|
||||||
|
"YT_MINIPLAYER_DESC" = "z.B. bei Videos für Kinder";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Warnung vor TV-Übertragungen (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Zeigt eine Warnung an, um eine ausversehene TV-Übertragung zu verhindern.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Endkarten ausblenden (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Endkarten (Thumbnails) am Ende des Videos ausblenden.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Neuer Miniplayer Style (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "App-Neustart erforderlich!";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Shorts-Tab durch Entdecken-Tab ersetzen (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "App-Neustart erforderlich!";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Untertitel-Button ausblenden";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Untertitel-Button vom Videoplayer ausblenden.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Autoplay-Schalter ausblenden";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Autoplay-Schalter vom Videoplayer ausblenden.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Automatisches Vollbild (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Automatisch Videos im Vollbild starten.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "HUD-Nachrichten ausblenden";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "z.B.: Untertitel sind akti-/deaktiviert, Videoschleife ist an, ...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED-Dunkelmodus (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart ist erforderlich, wenn diese Option akti-/deaktiviert wird!";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED-Tastatur (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart erforderlich1";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Enthält bezahlte Werbung Info ausblenden";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Enthält bezahlte Werbung Infobanner bei manchen Videos ausblenden.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "TV-Übertragung";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Sind Sie sicher, dass Sie mit der Videoübertragung beginnen wollen?";
|
||||||
|
"MSG_YES" = "Ja";
|
||||||
|
"MSG_CANCEL" = "Abbrechen";
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Κρύψτε το προηγούμενο και το επόμενο κουμπί";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Κρύψτε το προηγούμενο και το επόμενο κουμπί κατά την αναπαραγωγή βίντεο.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Ενεργοποιήστε το miniplayer για όλα τα βίντεο του YouTube";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Τα παιδικά βίντεο για παράδειγμα.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Επιβεβαιωτικό μήνυμα πριν γίνει Cast(YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Να φανεί ένα επιβεβαιωτικό μήνυμα πριν γίνει cast για να αποτρεπτεί η καταλάθως σύνδεση στην τηλεόραση.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Κρύψτε τις τελικές καρτέλες (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Κρύψτε τις τελικές καρτέλες από τους δημιουργούς (thumbnails) στο τέλος των βίντεο.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Καινούργιο miniplayer θέμα στην μπάρα (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Αντικατάσταση της καρτέλας Shorts με την καρτέλα Explore (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Κρύψτε το κουμπί των Υπότιτλων";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Κρύψτε το κουμπί των Υπότιτλων κατά την αναπαραγωγή βίντεο.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής κατά την αναπαραγωγή βίντεο";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Αυτόματη αναπαραγωγή σε πλήρη οθόνη (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Αυτόματη αναπαραγωγή των βίντεο σε πλήρη οθόνη.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Κρύψτε τα μηνύματα του HUD";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Παράδειγμα: Οι Υπότιτλοι απενεργοποιήθηκαν/ενεργοποιήθηκαν...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED Μαύρο θέμα (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής αφού το ενεργοποιήσετε/απενεργοποιήσετε.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED πληκτρολόγιο (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Μετάδοση";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Είστε σίγουροι ότι θέλενε να ξεκινήσετε την μετάδοση;";
|
||||||
|
"MSG_YES" = "Ναι";
|
||||||
|
"MSG_CANCEL" = "Ακύρωση";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Close YouTube";
|
||||||
|
"KILL_APP_DESC" = "Tap here to close YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Enable the Miniplayer for all YouTube videos";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Hide creator End screens (thumbnails) at the end of videos.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "New miniplayer bar style (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Auto Full Screen (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED Dark mode (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Might not working correctly in some cases. App restart is required after you enable/disable this option.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Castings";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||||
|
"MSG_YES" = "Yes";
|
||||||
|
"MSG_CANCEL" = "Cancel";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Cerrar YouTube";
|
||||||
|
"KILL_APP_DESC" = "Toca aquí para cerrar YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ocultar el botón de Anterior y Siguiente";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ocultar el botón de Anterior y Siguiente en los botones superpuestos.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Alerta de confirmación antes de Enviar contenido (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Mostrar una alerta de confirmación antes de Enviar contenido para prevenir el secuestro accidental del TV.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Ocultar tarjetas flotantes en las pantallas finales (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Ocultar tarjetas flotantes del creador (miniaturas) al final de los vídeos.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Nuevo estilo de barra del minirreproductor (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Requiere reiniciar la app.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Reemplazar pestaña de Cortos con pestaña de Explorar (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Requiere reiniciar la app.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Ocultar botón de Subtítulos";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Ocultar el botón de Subtítulos en los botones superpuestos.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Ocultar interruptor de Reproducir automáticamente";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ocultar el interruptor de Reproducir automáticamente en los botones superpuestos.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Pantalla completa automática (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Reproducir vídeos en pantalla completa automáticamente.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Ocultar mensajes HUD";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Ejemplo: CC está activado/desactivado, Vídeo en bucle está activado,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Modo oscuro OLED (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app después de activar/desactivar esta opción.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Ocultar banner de contenido promocional";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ocultar el banner de 'Incluye contenido promocional' en algunos vídeos.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Enviar contenido";
|
||||||
|
"MSG_ARE_YOU_SURE" = "¿Estás seguro de que deseas Enviar contenido?";
|
||||||
|
"MSG_YES" = "Sí";
|
||||||
|
"MSG_CANCEL" = "Cancelar";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Fermer YouTube";
|
||||||
|
"KILL_APP_DESC" = "Appuyez ici pour fermer YouTube !";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Masquer les boutons Précédent et Suivant";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Masquer les boutons Précédent et Suivant dans la superposition des contrôles vidéo";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Activer le mini-lecteur pour toutes les vidéos YouTube";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Vidéos pour enfants par exemple";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Confirmer l'alerte avant le casting (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Afficher une alerte de confirmation avant le casting pour éviter de déclancher accidentellement la télévision";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Masquer les cartes de survol des écrans de fin (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Masquer les écrans de fin (vignettes) des créateurs à la fin des vidéos";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Nouveau style de barre de mini-lecteur (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Un redémarrage de l'application est nécessaire";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Remplacer l'onglet Shorts par l'onglet Explorer (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Un redémarrage de l'application est nécessaire";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Bouton de masquage des sous-titres";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Masquer le bouton des sous-titres dans la superposition des contrôles vidéo";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Masquer l'interrupteur de lecture automatique";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Masquer le bouton de lecture automatique dans la superposition des contrôles vidéo";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Plein écran automatique (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Lecture automatique des vidéos en plein écran";
|
||||||
|
|
||||||
|
"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,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Mode sombre OLED (Expérimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire après avoir activé/désactivé cette option.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "Clavier OLED (Expérimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Masquer la bannière des communications commerciales";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Masque la bannière 'Inclut une communication commerciale' dans certaines vidéos.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Castings";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Êtes-vous sûr de vouloir commencer le casting ?";
|
||||||
|
"MSG_YES" = "Oui";
|
||||||
|
"MSG_CANCEL" = "Annuler";
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "הסתר את הקודם והבא";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "הסתר את כפתורי הקודם והבא בתצוגת השליטה בסרטון.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "אפשר את הנגן הקטן עבור כל הסרטונים ב-YouTube";
|
||||||
|
"YT_MINIPLAYER_DESC" = "סרטוני ילדים לדוגמה.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "התראת אישור לפני שידור לטלוויזיה (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "הצג התראת אישור לפני שידור לטלוויזיה כדי למנוע לחיצה בטעות.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "הסתר כרטיסיות סיום סרטון (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "הסתר את מסכי הסיום של סרטונים המציגים את הערוץ וסרטונים נוספים.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "עיצוב נגן קטן חדש (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "נדרש לפתוח מחדש את היישום.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "החלף את לשונית ה-Shorts בלשונית Explore (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "נדרש לפתוח מחדש את היישום.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "הסתר את כפתור הכתוביות";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "הסתר את כפתור הכתוביות בתצוגת השליטה בסרטון.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "הסתר את כפתור ההפעלה האוטומטית";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "הסתר את כפתור ההפעלה האוטומטית בתצוגת השליטה בסרטון.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "מסך מלא אוטומטי (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "נגן סרטונים במסך מלא אוטומטית.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "הסתר הודעות קופצות";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "לדוגמה: כתוביות מופעלות/מושבתות, הופעל סרטון בלופ,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "תצוגה כהה OLED (נסיוני)";
|
||||||
|
"OLED_DARKMODE_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "מקלדת כהה OLED (נסיוני)";
|
||||||
|
"OLED_DARKMODE_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "משדר";
|
||||||
|
"MSG_ARE_YOU_SURE" = "האם להתחיל לשדר?";
|
||||||
|
"MSG_YES" = "כן";
|
||||||
|
"MSG_CANCEL" = "ביטול";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "YouTubeを閉じる";
|
||||||
|
"KILL_APP_DESC" = "ここをタップしてYouTubeを終了できます!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "前後の動画のボタンを非表示";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "コントロールのオーバーレイで前後の動画のボタンを非表示にします。";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
||||||
|
"YT_MINIPLAYER_DESC" = "例: 子供向けの動画";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "キャストする前に確認画面を表示する (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "誤ってテレビにキャストしないよう、前に確認画面を表示します。";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "動画終わりのホバーカードを非表示 (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "動画終わりのホバーカード(サムネ)を非表示にします。";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "新しいミニプレーヤー・バーを使う (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "アプリを再起動してください。";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "ショートのタブを「見つける」タブに置き換える (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "アプリを再起動してください。";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "字幕ボタンを非表示";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "動画コントロールのオーバーレイから字幕ボタンを非表示にします。";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "自動再生ボタンを非表示";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "動画コントロールのオーバーレイから自動再生ボタンを非表示にします。";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "自動でフルスクリーンにする (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "動画を自動でフルスクリーンにします。";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "HUDのメッセージを非表示";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "例: 字幕がon/offです、ループ再生は有効です 等";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "有機ELダークモード (実験的機能)";
|
||||||
|
"OLED_DARKMODE_DESC" = "一部では正しく動作しない可能性があります。 この設定を変更したあとはアプリを再起動してください。";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "有機ELキーボード (実験的機能)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "一部では正しく動作しない可能性があります。 この設定を変更したあとはアプリを再起動してください。";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "「プロモーションを含む」 のバナーを非表示";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "一部の動画にある「プロモーションを含む」 のバナーを非表示にします。";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "キャスト";
|
||||||
|
"MSG_ARE_YOU_SURE" = "本当にキャストを開始しますか?";
|
||||||
|
"MSG_YES" = "はい";
|
||||||
|
"MSG_CANCEL" = "キャンセル";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Fechar o YouTube";
|
||||||
|
"KILL_APP_DESC" = "Toque aqui para fechar o YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ocultar botão Anterior e Próximo";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Oculta o botão Anterior e Próximo na sobreposição de controles de vídeo.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Alerta de confirmação antes de transmitir (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Mostra um alerta de confirmação antes da transmissão para evitar o sequestro acidental da TV.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Ocultar Cartões flutuantes de telas finais (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Oculta telas finais do criador (miniaturas) no final dos vídeos.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Novo estilo de barra de miniplayer (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "A reinicialização do app é necessária.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Substituir a guia Shorts pela guia Explorar (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "A reinicialização do app é necessária.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Ocultar botão de Legendas";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Oculta o botão de Legendas na sobreposição de controles de vídeo.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Ocultar interruptor de Reprodução automática";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Oculta o interruptor de Reprodução automática na sobreposição de controles de vídeo.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Tela cheia automática (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Reproduz videos em tela cheia automaticamente.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Ocultar Mensagens do HUD";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Exemplo: Legendas/CC ativadas/desativadas, A repetição do vídeo está ativada,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Modo escuro OLED (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária após você ativar/desativar essa opção.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "Teclado OLED (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Ocultar Banner de promoção paga";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Oculta o banner 'Contém promoção paga' em alguns vídeos.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Transmissão";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Tem certeza de que deseja começar a transmitir?";
|
||||||
|
"MSG_YES" = "Sim";
|
||||||
|
"MSG_CANCEL" = "Cancelar";
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* uYouPlusSettings */
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Скрыть «Пред.» и «След.»";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Убирает кнопки переключения видео «Следующий» и «Предыдущий» с плеера.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Мини-плеер для всех видео";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Принудительно активирует мини-плеер для всех видео, включая видео, предназначенное для детей.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Подтверждение «Трансляции» (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Спрашивать подтверждение перед началом трансляции во избежание случайных подключений к ТВ.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Скрыть рекомендации (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Скрывает эскизы, отображаемые по окончанию видеоролика.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Мини-плеер в стиле iPad (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Потребуется перезагрузка.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Вкладка «Навигация» вместо «Shorts»";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Потребуется перезагрузка.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Скрыть «Субтитры»";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Скрывает кнопку субтитров с оверлея плеера.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Скрыть «Автовоспроизведение»";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Убирает тумблер «Автовоспроизведение» с оверлея плеера.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Полноэкранный режим (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Автоматически открывает ролики в полноэкранном режиме.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Скрыть сообщения плеера";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Скрывает надписи YouTube, появляющиеся поверх видео.";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Темный режим для OLED (Бета)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Понадобится перезагрузка при смене цветовой темы приложения. Если OLED-тема не включится, попробуйте переключиться не светлый режим и обратно, а затем перезагрузить приложение.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED-клавиатура (Бета)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Возможно, на некоторых устройствах будет работать криво. Потребуется перезагрузка.";
|
||||||
|
|
||||||
|
/* YTCastConfirm */
|
||||||
|
"CASTING" = "Трансляция";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Начать трансляцию экрана?";
|
||||||
|
"MSG_YES" = "Да";
|
||||||
|
"MSG_CANCEL" = "Отмена";
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
// How to translate uYouPlus to your language:
|
||||||
|
//
|
||||||
|
// 1. Fork uYouPlus repo
|
||||||
|
// 2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id.
|
||||||
|
// For example: <ru.lproj> for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||||
|
// 3. Translate each line below after each =
|
||||||
|
// 4. Open a Pull Request
|
||||||
|
//
|
||||||
|
// If your language already exists then feel free to check it and/or improve it!
|
||||||
|
// You can also add your localization to YouPiP here, the process is the same
|
||||||
|
// https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||||
|
//
|
||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Close YouTube";
|
||||||
|
"KILL_APP_DESC" = "Tap here to close YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Enable the Miniplayer for all YouTube videos";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Hide creator End screens (thumbnails) at the end of videos.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "New miniplayer bar style (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Auto Full Screen (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED Dark mode (Experimental)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Might not working correctly in some cases. App restart is required after you enable/disable this option.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Castings";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||||
|
"MSG_YES" = "Yes";
|
||||||
|
"MSG_CANCEL" = "Cancel";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "Đóng ứng dụng";
|
||||||
|
"KILL_APP_DESC" = "Chạm để đóng YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Ẩn nút Next và nút Previous";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Ẩn nút Next và nút Previous trong trình phát video.";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
|
||||||
|
"YT_MINIPLAYER_DESC" = "Ví dụ: Video cho trẻ em.";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "Xác nhận trước khi cast video (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "Hiện hộp thoại xác nhận trước khi cast video sang TV để tránh vô tình chiếm quyền điều khiển TV.";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "Ẩn video dạng thumbnails (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "Ẩn thumbnail của các video đề xuất xuất hiện ở cuối video.";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "Giao diện trình phát thu nhỏ kiểu mới (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "Cần khởi động lại ứng dụng.";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "Thay thế tab Shorts bằng tab Khám phá (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "Cần khởi động lại ứng dụng.";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "Ẩn nút bật Phụ đề";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Ẩn nút bật phụ đề trong trình phát video.";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "Ẩn nút Tự động phát";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ẩn nút Tự động phát trong trình phát video.";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "Tự động toàn màn hình (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "Tự động phát video ở chế độ toàn màn hình.";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "Ẩn thông báo HUD";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "Ví dụ: Đã bật/tắt phụ đề, Tính năng phát video lặp lại đang bật,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "Chế độ tối cho màn OLED (Thử nghiệm)";
|
||||||
|
"OLED_DARKMODE_DESC" = "Có thể không hoạt động tốt trong một số trường hợp. Cần khởi động lại ứng dụng nếu bạn bật/tắt tính năng này, nhưng không cần khởi động lại ứng dụng nếu chuyển giữa chế độ Sáng và chế độ Tối.";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "Bàn phím tối cho màn OLED (Thử nghiệm)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "Có thể không hoạt động tốt trong một vài trường hợp. Cần khởi động lại ứng dụng.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Ẩn banner quảng cáo được trả tiền";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ẩn banner 'Chứa nội dung được trả tiền để quảng cáo' trong một số video.";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "Truyền video";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Bạn có muốn bắt đầu truyền video không?";
|
||||||
|
"MSG_YES" = "Có";
|
||||||
|
"MSG_CANCEL" = "Không";
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"KILL_APP" = "关闭YouTube";
|
||||||
|
"KILL_APP_DESC" = "点击此处关闭YouTube!";
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "隐藏上一个/下一个按钮";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "隐藏视频播放器控制界面上的上一个/下一个按钮。";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "为所有YouTube视频启用迷你播放器";
|
||||||
|
"YT_MINIPLAYER_DESC" = "例如:面向儿童的视频。";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "投屏前确认 (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "在投屏前显示确认对话框以防意外劫屏。";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "隐藏片尾画面悬浮卡片 (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "隐藏视频结尾处的创作者片尾画面元素(缩略图)。";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "新迷你播放器风格 (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "更改本设置后需要重启App。";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "将Shorts选项卡替换成探索选项卡 (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "更改本设置后需要重启App。";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "隐藏字幕按钮";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "隐藏视频播放器控制界面上的字幕按钮。";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "隐藏自动播放模式开关";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "隐藏视频播放器控制界面上的自动播放开关。";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "自动全屏 (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "自动全屏播放视频。";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "隐藏系统提醒";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "例如:\"已启用/停用字幕\"、\"已开启/关闭视频循环播放\"等。";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED 深色模式(实验性功能)";
|
||||||
|
"OLED_DARKMODE_DESC" = "在某些情况下可能不会正常工作。更改本设置后需要重启App。";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED 键盘(实验性功能)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "在某些情况下可能不会正常工作。更改本设置后需要重启App。";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "隐藏付费宣传内容提醒横幅";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "隐藏出现在部分视频中的\"包含付费宣传内容\"横幅。";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "正在投屏";
|
||||||
|
"MSG_ARE_YOU_SURE" = "您确定要开始投屏吗?";
|
||||||
|
"MSG_YES" = "确定";
|
||||||
|
"MSG_CANCEL" = "取消";
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
// Settings
|
||||||
|
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "隱藏上一個和下一個按鈕";
|
||||||
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "在影片控制層中隱藏上一個和下一個按鈕";
|
||||||
|
|
||||||
|
"YT_MINIPLAYER" = "為所有YouTube影片啟用迷你播放器";
|
||||||
|
"YT_MINIPLAYER_DESC" = "例如兒童影片";
|
||||||
|
|
||||||
|
"CAST_CONFIRM" = "投放前確認 (YTCastConfirm)";
|
||||||
|
"CAST_CONFIRM_DESC" = "在投放前顯示確認訊息,以防止意外攔劫電視。";
|
||||||
|
|
||||||
|
"HIDE_HOVER_CARD" = "隱藏片尾畫面懸浮卡片 (YTNoHoverCards)";
|
||||||
|
"HIDE_HOVER_CARD_DESC" = "在影片結尾隱藏創作者結束畫面(縮略圖)。";
|
||||||
|
|
||||||
|
"NEW_MINIPLAYER_STYLE" = "新的迷你播放器控制列風格 (BigYTMiniPlayer)";
|
||||||
|
"NEW_MINIPLAYER_STYLE_DESC" = "需要重新啟動應用程式。";
|
||||||
|
|
||||||
|
"YT_RE_EXPLORE" = "用探索選項卡替換Shorts選項卡 (YTReExplore)";
|
||||||
|
"YT_RE_EXPLORE_DESC" = "需要重新啟動應用程式。";
|
||||||
|
|
||||||
|
"HIDE_SUBTITLES_BUTTON" = "隱藏字幕按鈕";
|
||||||
|
"HIDE_SUBTITLES_BUTTON_DESC" = "隱藏影片控制層中的字幕按鈕。";
|
||||||
|
|
||||||
|
"HIDE_AUTOPLAY_SWITCH" = "隱藏自動播放開關";
|
||||||
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "在影片控制層中隱藏自動播放開關。";
|
||||||
|
|
||||||
|
"AUTO_FULLSCREEN" = "自動全螢幕 (YTAutoFullScreen)";
|
||||||
|
"AUTO_FULLSCREEN_DESC" = "自動全螢幕播放影片。";
|
||||||
|
|
||||||
|
"HIDE_HUD_MESSAGES" = "隱藏 HUD 訊息";
|
||||||
|
"HIDE_HUD_MESSAGES_DESC" = "舉例來說:CC字幕 開啟/關閉,影片循環開啟,...";
|
||||||
|
|
||||||
|
"OLED_DARKMODE" = "OLED 深色模式(實驗性)";
|
||||||
|
"OLED_DARKMODE_DESC" = "在某些情況下可能無法正常工作。啟用/禁用此選項後,需要重新啟動應用程式。";
|
||||||
|
|
||||||
|
"OLED_KEYBOARD" = "OLED 鍵盤(實驗性)";
|
||||||
|
"OLED_KEYBOARD_DESC" = "在某些情況下可能無法正常工作。需要重新啟動應用程式。";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "隱藏付費促銷橫幅";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "在某些影片中隱藏“包括付費促銷”橫幅。";
|
||||||
|
|
||||||
|
// YTCastConfirm
|
||||||
|
"CASTING" = "投放中";
|
||||||
|
"MSG_ARE_YOU_SURE" = "確定要開始投放嗎?";
|
||||||
|
"MSG_YES" = "確定";
|
||||||
|
"MSG_CANCEL" = "取消";
|
||||||
+554
-415
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user