Compare commits
117
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4f84deaac | ||
|
|
e04f247789 | ||
|
|
51766ee9a3 | ||
|
|
f885e7f25b | ||
|
|
add0bee6e4 | ||
|
|
b0ab41ed0c | ||
|
|
9c8716693c | ||
|
|
d4b2243788 | ||
|
|
cc1135e76f | ||
|
|
4c819c69da | ||
|
|
9aab7255b6 | ||
|
|
076967ab94 | ||
|
|
4fcb13d3aa | ||
|
|
7e99ba39e9 | ||
|
|
a7bc1264a9 | ||
|
|
e73c884bfb | ||
|
|
8f5d7d9991 | ||
|
|
f4012ca76a | ||
|
|
329cfcb441 | ||
|
|
3e7d8b2479 | ||
|
|
e4de01a940 | ||
|
|
ed13a2fdc8 | ||
|
|
c7aa258a33 | ||
|
|
ed0b853d31 | ||
|
|
c827624404 | ||
|
|
0ff17cad55 | ||
|
|
e3d6405ff5 | ||
|
|
9c5eb0c488 | ||
|
|
ef69c0127f | ||
|
|
236989b5da | ||
|
|
7352749623 | ||
|
|
dfeaaa0d11 | ||
|
|
3486a66b15 | ||
|
|
722c1a9bad | ||
|
|
bdc9708c5e | ||
|
|
94a00f5356 | ||
|
|
5adb3802fe | ||
|
|
3d24576558 | ||
|
|
f732fa3ced | ||
|
|
88ac43d0d2 | ||
|
|
4c34416fc4 | ||
|
|
b929861bf1 | ||
|
|
ff1793407a | ||
|
|
7ffd5852e4 | ||
|
|
ea3b3c90ba | ||
|
|
f2e151618f | ||
|
|
1c8af4daa8 | ||
|
|
e69957ea5e | ||
|
|
a8d8f5222b | ||
|
|
5edb868c5a | ||
|
|
5f2252b919 | ||
|
|
0da6da06af | ||
|
|
492db13195 | ||
|
|
33b2132a65 | ||
|
|
fd7c63cac6 | ||
|
|
5df3bfbdfd | ||
|
|
818d9abde1 | ||
|
|
ff208b4191 | ||
|
|
707c84608e | ||
|
|
9a3c6be2d9 | ||
|
|
f4a8a32887 | ||
|
|
684ba19c4f | ||
|
|
c6b6411697 | ||
|
|
1b8e9821c7 | ||
|
|
76657c6ba4 | ||
|
|
a94e60639f | ||
|
|
7e17cbb123 | ||
|
|
5522c7604b | ||
|
|
9f6d0562b8 | ||
|
|
ced5cf81df | ||
|
|
b9d1826c99 | ||
|
|
6307c0c2c6 | ||
|
|
7263ce7127 | ||
|
|
f376cabd2a | ||
|
|
d7aee836ac | ||
|
|
556c7d99a5 | ||
|
|
dbc8c08db1 | ||
|
|
a30b04a503 | ||
|
|
f5c765595c | ||
|
|
6385692aad | ||
|
|
2c3fe9b575 | ||
|
|
a893229d74 | ||
|
|
9f05b40e1d | ||
|
|
31350813b7 | ||
|
|
6bb70aa744 | ||
|
|
880603f7f4 | ||
|
|
61e55e1b15 | ||
|
|
1459b08e55 | ||
|
|
b95f0874ba | ||
|
|
6d579dca14 | ||
|
|
4c7b3c42bd | ||
|
|
af082215e2 | ||
|
|
3e8435dc8f | ||
|
|
e16ebb14b6 | ||
|
|
7b0098cff5 | ||
|
|
e1591c2c89 | ||
|
|
8b5814e1d2 | ||
|
|
eea9cf2e4e | ||
|
|
7a7c113523 | ||
|
|
f17618651e | ||
|
|
0972258215 | ||
|
|
be20d3edb3 | ||
|
|
880bbb9e36 | ||
|
|
b0259a6872 | ||
|
|
14fe16f906 | ||
|
|
8dc3ac121d | ||
|
|
714f3fa24c | ||
|
|
de5c919260 | ||
|
|
617ffedef6 | ||
|
|
2118bca18a | ||
|
|
9a8916f3fa | ||
|
|
c397ccbab0 | ||
|
|
cd9934bc1a | ||
|
|
2f6d431b63 | ||
|
|
f08e390beb | ||
|
|
449a8a99d6 | ||
|
|
1d5f61cfbf |
@@ -8,16 +8,11 @@ on:
|
||||
inputs:
|
||||
uyou_version:
|
||||
description: "The version of uYou"
|
||||
default: "3.0.1"
|
||||
default: "3.0.3"
|
||||
required: true
|
||||
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"
|
||||
description: "Direct URL to the decrypted YouTube ipa. The version of YouTube will be detected automatically."
|
||||
default: ""
|
||||
required: true
|
||||
type: string
|
||||
@@ -36,7 +31,12 @@ on:
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
upload_artifact:
|
||||
description: "Upload Artifact"
|
||||
default: true
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
@@ -44,20 +44,17 @@ concurrency:
|
||||
jobs:
|
||||
build:
|
||||
name: Build uYouPlus
|
||||
runs-on: macos-11
|
||||
runs-on: macos-12
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout Main
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
path: main
|
||||
submodules: recursive
|
||||
|
||||
- name: Update Homebrew
|
||||
run: brew update
|
||||
|
||||
- name: Install Dependencies
|
||||
run: brew install ldid dpkg make
|
||||
|
||||
@@ -65,32 +62,34 @@ jobs:
|
||||
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
|
||||
|
||||
- name: Setup Theos
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: theos/theos
|
||||
ref: 9941262c450c0abac524574cb96b9a4cdf5e50f4
|
||||
ref: master
|
||||
path: theos
|
||||
submodules: recursive
|
||||
|
||||
- name: Caching
|
||||
id: SDK
|
||||
uses: actions/cache@v3.2.0
|
||||
uses: actions/cache@v4.0.0
|
||||
env:
|
||||
cache-name: iOS-15.5-SDK
|
||||
cache-name: iOS-16.5-SDK
|
||||
with:
|
||||
path: theos/sdks/
|
||||
key: ${{ env.cache-name }}
|
||||
|
||||
- name: Download iOS 15.5 SDK
|
||||
- name: Download iOS 16.5 SDK
|
||||
if: steps.SDK.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
svn checkout -q https://github.com/chrisharper22/sdks/trunk/iPhoneOS15.5.sdk
|
||||
git clone -n --depth=1 --filter=tree:0 https://github.com/theos/sdks.git && cd sdks
|
||||
git sparse-checkout set --no-cone iPhoneOS16.5.sdk
|
||||
git checkout
|
||||
mv *.sdk $THEOS/sdks
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Setup Theos Jailed
|
||||
uses: actions/checkout@v3.2.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: qnblackcat/theos-jailed
|
||||
ref: master
|
||||
@@ -103,23 +102,30 @@ jobs:
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
|
||||
- name: Download YouTube iPA
|
||||
- name: Prepare YouTube iPA
|
||||
id: prepare_youtube
|
||||
run: |
|
||||
wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa && echo -e "==> \033[1mYouTube v${{ inputs.youtube_version }} downloaded! \033[0m"
|
||||
wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa
|
||||
cd ${{ github.workspace }}/main
|
||||
mv YouTube.ipa YouTube.zip
|
||||
unzip -q YouTube.zip
|
||||
youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion)
|
||||
echo "==> YouTube v$youtube_version downloaded!"
|
||||
sed -i '' "17s#.*#YOUTUBE_VERSION = ${youtube_version}#g" Makefile
|
||||
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
|
||||
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||
YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }}
|
||||
|
||||
- name: Fix compiling & Build Package
|
||||
id: build_package
|
||||
run: |
|
||||
mkdir -p theos/lib/iphone/rootless
|
||||
cd ${{ github.workspace }}/main
|
||||
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
|
||||
sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
|
||||
make package IPA=YouTube.ipa FINALPACKAGE=1
|
||||
(mv "packages/$(ls -t packages | head -n1)" "packages/uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa")
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
|
||||
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
|
||||
echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m"
|
||||
echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m"
|
||||
@@ -127,15 +133,15 @@ jobs:
|
||||
env:
|
||||
THEOS: ${{ github.workspace }}/theos
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||
BUNDLE_ID: ${{ inputs.bundle_id }}
|
||||
APP_NAME: ${{ inputs.app_name }}
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v3.1.1
|
||||
if: ${{ inputs.upload_artifact }}
|
||||
uses: actions/upload-artifact@v4.3.0
|
||||
env:
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
|
||||
with:
|
||||
name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
|
||||
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
|
||||
@@ -143,11 +149,11 @@ jobs:
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: softprops/action-gh-release@v0.1.15
|
||||
uses: qnblackcat/action-gh-release@master
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
UYOU_VERSION: ${{ inputs.uyou_version }}
|
||||
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
|
||||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
|
||||
DRAFT: ${{ inputs.create_release }}
|
||||
with:
|
||||
tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})
|
||||
|
||||
@@ -26,10 +26,6 @@
|
||||
path = Tweaks/YouTubeHeader
|
||||
url = https://github.com/PoomSmart/YouTubeHeader.git
|
||||
branch = main
|
||||
[submodule "Tweaks/PSHeader"]
|
||||
path = Tweaks/PSHeader
|
||||
url = https://github.com/PoomSmart/PSHeader.git
|
||||
branch = master
|
||||
[submodule "Extensions"]
|
||||
path = Extensions
|
||||
url = https://github.com/CokePokes/YoutubeExtensions.git
|
||||
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../Tweaks/YTVideoOverlay/layout/Library/Application Support/YTVideoOverlay.bundle
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../Tweaks/YouMute/layout/Library/Application Support/YouMute.bundle
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../Tweaks/YouQuality/layout/Library/Application Support/YouQuality.bundle
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "خيارات سِمة التطبيق";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "قد لا تعمل بشكل صحيح في بعض الحالات. تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "خيارات مشغِّل الفيديو";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ خيارات مشغِّل الفيديو";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "منع خاصية النقر مرتين للتقدم أو التراجع";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "السماح بالمشغل المصغّر لكل فيديوهات يوتيوب";
|
||||
"YT_MINIPLAYER_DESC" = "عند تصغير فيديوهات الأطفال مثلاً (قبل إغلاق المقطع).";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "استخدام مؤشر تغيير الصوت الخاص بالنظام";
|
||||
"STOCK_VOLUME_HUD_DESC" = "إظهار مؤشر تغيير الصوت الرسمي الخاص بـ iOS بدلاً من مؤشر يوتيوب";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "أزرار التحكم على الطبقة فوق الفيديو";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 أزرار التحكم على الطبقة فوق الفيديو";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "إخفاء زر التشغيل التلقائي";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "إخفاء زر التشغيل التلقائي من أزرار التحكم على الفيديو.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "تتطلب إعادة تشغيل التطبيق.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "خيارات طبقة التحكم بمقاطع Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 خيارات طبقة التحكم بمقاطع Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "إخفاء عبارة 'شراء سوبر شكراً' في المقاطع القصيرة";
|
||||
"HIDE_SUPER_THANKS_DESC" = "إخفاء لافتة 'Buy Super Thanks' من مقاطع Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "إذا أغلقت تطبيق يوتيوب أثناء مشاهدة مقطع Shorts, لن يتم استئناف الشماهدة في المرة القادمة التي تفتح فيها التطبيق.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "خيارات متنوعة";
|
||||
"MISCELLANEOUS" = "🔎 خيارات متنوعة";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "التأكيد قبل البث (أداة YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "إظهار تنبيه للتأكيد قبل البث، من أجل منع البث للتلفاز عن طريق الخطأ.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Mohou se vyskytnout chyby. Je potřeba restart aplikace.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
||||
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Controls Overlay Options";
|
||||
|
||||
"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.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"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.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Optionen";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Könnte in manchen Fällen nicht richtig funktionieren. App-Neustart erforderlich!";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video-Player-Optionen";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video-Player-Optionen";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Doppeltippen zum Suchen deaktivieren";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Miniplayer für alle YouTube-Videos aktivieren";
|
||||
"YT_MINIPLAYER_DESC" = "z.B. bei Videos für Kinder.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Standard iOS Lautstärke HUD aktivieren";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Optionen";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Controls Overlay Optionen";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Autoplay-Schalter ausblenden";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Autoplay-Schalter vom Videoplayer ausblenden.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App-Neustart erforderlich.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay-Optionen";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Controls Overlay-Optionen";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "'Buy Super Thanks'-Banner ausblenden";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ausblenden des \"Buy Super Thanks\"-Banners in bestimmten Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Wenn Sie YouTube beenden, während Sie Shorts ansehen, werden Shorts beim nächsten Start von YouTube nicht automatisch abgespielt.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Sonstiges";
|
||||
"MISCELLANEOUS" = "🔎 Sonstiges";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Warnung vor TV-Übertragungen (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Zeigt eine Warnung an, um eine ausversehene TV-Übertragung zu verhindern.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Μπορεί να μην δουλέψει σε κάποιες περιπτώσεις. Απαιτείται επανεκκίνηση της εφαρμογής.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Ενεργοποιήστε το miniplayer για όλα τα βίντεο του YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Τα παιδικά βίντεο για παράδειγμα.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Κρύψτε τον διακόπτη της αυτόματης αναπαραγωγής κατά την αναπαραγωγή βίντεο";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Controls Overlay Options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Controls Overlay Options";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "Hide engagement panels in full screen";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock";
|
||||
|
||||
"CAST_CONFIRM" = "Επιβεβαιωτικό μήνυμα πριν γίνει Cast(YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Να φανεί ένα επιβεβαιωτικό μήνυμα πριν γίνει cast για να αποτρεπτεί η καταλάθως σύνδεση στην τηλεόραση.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hides iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
"ABOUT" = "Acerca de";
|
||||
|
||||
"VERSION" = "Versión uYouPlus's: %@";
|
||||
"VERSION" = "Versión";
|
||||
"VERSION_CHECK" = "Pulse para comprobar si hay actualizaciones.";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
"REPORT_AN_ISSUE" = "Informar de un problema";
|
||||
"ADD_TITLE" = "Añada aquí su título...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
"QUIT_YOUTUBE" = "Salir de Youtube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
"RESTART_YOUTUBE" = "Reinicia YouTube para aplicar los cambios";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 Aspecto de la aplicación";
|
||||
"THEME_OPTIONS" = "Opciones de Temas";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
"DARK_THEME" = "Tema oscuro";
|
||||
|
||||
"DEFAULT_THEME" = "Por defecto";
|
||||
"DEFAULT_THEME_DESC" = "Tema oscuro predeterminado de YouTube. Es necesario reiniciar la aplicación.";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Puede no funcionar correctamente en algunos casos. Requiere reiniciar la app.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opciones del reproductor de vídeo";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opciones del reproductor de vídeo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Activar el deslizamiento para buscar";
|
||||
"SLIDE_TO_SEEK_DESC" = "Traer de vuelta la diapositiva para buscar el gesto.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Desactivar la doble pulsación para buscar";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"HIDE_REMIX_BUTTON" = "Oculta el botón Remix";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Ocultar botón Clip";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Ocultar botón de descarga";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Utiliza el HUD de volumen de iOS";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opciones de superposición de controles de vídeo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opciones de superposición de controles de vídeo";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ocultar interruptor de Reproducir automáticamente";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ocultar el interruptor de Reproducir automáticamente en los botones superpuestos.";
|
||||
@@ -82,19 +94,22 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Es necesario reiniciar la aplicación.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Configurar superposición de Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Configurar superposición de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ocultar banner 'Comprar Supergracias";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ocultar el banner 'Comprar Supergracias' en Shorts.";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "Hide subscriptions button";
|
||||
"HIDE_SUBCRIPTIONS" = "Ocultar el botón de suscripción";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "Desactivar reanudación a Shorts";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Si cierras YouTube mientras ves Shorts, éstos no se reproducirán automáticamente la próxima vez que inicies YouTube.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Varios";
|
||||
"MISCELLANEOUS" = "🔎 Varios";
|
||||
|
||||
"HIDE_UYOU" = "Ocultar pestaña uYou";
|
||||
"HIDE_ISPONSORBLOCK" = "Ocultar botón iSponsorBlock";
|
||||
|
||||
"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.";
|
||||
@@ -112,7 +127,7 @@
|
||||
"HIDE_CHIP_BAR" = "Ocultar la barra superior";
|
||||
"HIDE_CHIP_BAR_DESC" = "Ocultar la barra superior de las fuentes de inicio (Tendencias, Música, Juegos...) y de suscripción (Todos los vídeos, Seguir viendo...). Es necesario reiniciar la aplicación.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ocultar \"Reproducir siguiente en cola\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Diseño para iPhone";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Options du thème";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Peut ne pas fonctionner correctement dans certains cas. Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Options du lecteur vidéo";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Options du lecteur vidéo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Désactiver le double tap pour chercher";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Activer le mini-lecteur pour toutes les vidéos YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Vidéos pour enfants par exemple";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Utiliser l'affichage iOS du volume par défaut";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Options de superposition des contrôles vidéo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Options de 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";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Un redémarrage de l'application est nécessaire.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Options de la superposition de commandes de Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Options de la superposition de commandes de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Masquer la bannière 'Acheter des Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Masquer la bannière 'Acheter des Super Thanks' dans les Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Si vous fermez YouTube en regardant des Shorts, ils ne seront pas automatiquement lus la prochaine fois que vous lancerez YouTube.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Divers";
|
||||
"MISCELLANEOUS" = "🔎 Divers";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Confirmer l'alerte avant le casting (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Afficher une alerte de confirmation avant de lancer le casting afin d'éviter de déclencher accidentellement la télévision";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_DARKMODE_DESC" = "עלול לא לעבוד נכון בחלק מהמקרים, נדרש לפתוח מחדש את היישום.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "אפשר את הנגן הקטן עבור כל הסרטונים ב-YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "סרטוני ילדים לדוגמה.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "הסתר את כפתור ההפעלה האוטומטית";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "הסתר את כפתור ההפעלה האוטומטית בתצוגת השליטה בסרטון.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "התראת אישור לפני שידור לטלוויזיה (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "הצג התראת אישור לפני שידור לטלוויזיה כדי למנוע לחיצה בטעות.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Előfordulhat, hogy bizonyos esetekben nem működik megfelelően. Az alkalmazás újraindítása szükséges az opció engedélyezése/letiltása után.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Engedélyezze a Minilejátszót az összes YouTube-videóhoz";
|
||||
"YT_MINIPLAYER_DESC" = "Például gyermekvideók.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Az automatikus lejátszás kapcsoló elrejtése";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Az Automatikus lejátszás kapcsoló elrejtése a videovezérlők fedvényében.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Megerősítés átküldés előtt (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Az átküldés előtt mutasson megerősítő figyelmeztetést, hogy megakadályozza a TV véletlen eltérítését.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Opzioni Tema";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Potrebbe non funzionare correttamente in alcuni scenari. È richiesto un riavvio dell'app.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opzioni Video Player";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opzioni Video Player";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Abilita il Miniplayer su tutti i video di YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Video YouTube Kids per esempio.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opzioni Sovrimpressione (Overlay) Video";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opzioni Sovrimpressione (Overlay) Video";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Nascondi Interruttore Riproduzione Automatica";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Nasconde il controllo per la riproduzione automatica in sovrimpressione al video.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "È richiesto un riavvio dell'app.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Opzioni Sovrimpressione (Overlay) Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Opzioni Sovrimpressione (Overlay) Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Nascondi 'Buy Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Nascondi il banner 'Buy Super Thanks' dagli Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Se chiudi YouTube mentre guardi uno Short, gli Short non verranno riprodotti automaticamente la prossima volta che avvii YouTube.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Varie";
|
||||
"MISCELLANEOUS" = "🔎 Varie";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Avviso di conferma prima della condivisione su TV (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Mostra un avviso di conferma prima della condivisione per evitar e di irrompere accidentalmente sulla TV.";
|
||||
|
||||
@@ -1,131 +1,146 @@
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
"ABOUT" = "アプリについて";
|
||||
|
||||
"VERSION" = "uYouPlusのバージョン: %@";
|
||||
"VERSION" = "バージョン";
|
||||
"VERSION_CHECK" = "ここをタップしてアップデートを確認!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
"REPORT_AN_ISSUE" = "不具合を報告";
|
||||
"ADD_TITLE" = "タイトルをここに追加...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
"QUIT_YOUTUBE" = "YouTubeを終了";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
"RESTART_YOUTUBE" = "変更を適用するためにYouTubeを再起動";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 アプリのテーマ";
|
||||
"THEME_OPTIONS" = "テーマの設定";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
"DARK_THEME" = "ダークテーマ";
|
||||
|
||||
"DEFAULT_THEME" = "通常";
|
||||
"DEFAULT_THEME_DESC" = "通常のYouTubeのダークモードです。アプリの再起動が必要です。";
|
||||
"DEFAULT_THEME" = "デフォルト";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "従来のダークモード";
|
||||
"OLD_DARK_THEME_DESC" = "前のYouTubeのダークモードです。(グレー) アプリの再起動が必要です。";
|
||||
"OLD_DARK_THEME" = "明るいグレー";
|
||||
"OLD_DARK_THEME_DESC" = "以前のダークテーマ";
|
||||
|
||||
"OLED_DARK_THEME" = "有機ELダークモード (実験的機能)";
|
||||
"OLED_DARK_THEME_2" = "有機ELダークモード";
|
||||
"OLED_DARK_THEME_DESC" = "正常に動作しない可能性があります。アプリの再起動が必要です。";
|
||||
"OLED_DARK_THEME" = "OLED (実験的)";
|
||||
"OLED_DARK_THEME_2" = "OLED";
|
||||
"OLED_DARK_THEME_DESC" = "純粋な黒のダークテーマ";
|
||||
|
||||
"OLED_KEYBOARD" = "有機ELキーボード (実験的機能)";
|
||||
"OLED_KEYBOARD_DESC" = "正常に動作しない可能性があります。この設定を変更した場合、アプリの再起動が必要です。";
|
||||
"OLED_KEYBOARD" = "OLEDキーボード (実験的)";
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールのオーバーレイ設定";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 動画コントロールのオーバーレイ設定";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップによるシークを無効化";
|
||||
"SLIDE_TO_SEEK" = "スライドシークを有効化";
|
||||
"SLIDE_TO_SEEK_DESC" = "スライドシークジェスチャーを有効にします。";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップシークを無効化";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効にする";
|
||||
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効化します。";
|
||||
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効化";
|
||||
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効にします。";
|
||||
|
||||
"PINCH_TO_ZOOM" = "ピンチで拡大を無効にする";
|
||||
"PINCH_TO_ZOOM_DESC" = "アプリの再起動が必要です。";
|
||||
"PINCH_TO_ZOOM" = "ピンチで拡大を無効化";
|
||||
"PINCH_TO_ZOOM_DESC" = "";
|
||||
|
||||
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
||||
"YT_MINIPLAYER_DESC" = "例:子ども向けの動画など";
|
||||
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効化";
|
||||
"YT_MINIPLAYER_DESC" = "ミニプレーヤーが使えない動画(子ども向けの動画など)がありますが、このオプションでバイパスできます。";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
|
||||
"HIDE_REMIX_BUTTON" = "リミックスボタンを非表示";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "クリップボタンを非表示";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "オフラインボタンを非表示";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "標準の音量HUDを利用する";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールのオーバーレイ設定";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 動画コントロールのオーバーレイ設定";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "自動再生ボタンを非表示";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "動画コントロールのオーバーレイから自動再生ボタンを非表示にします。";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
|
||||
"HIDE_SUBTITLES_BUTTON" = "字幕ボタンを非表示";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "動画コントロールのオーバーレイから字幕ボタンを非表示にします。";
|
||||
"HIDE_SUBTITLES_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_HUD_MESSAGES" = "HUDのメッセージを非表示";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "例:字幕がオン/オフになりました、ループ再生はオンになっています、等";
|
||||
"HIDE_HUD_MESSAGES" = "HUDメッセージを非表示";
|
||||
"HIDE_HUD_MESSAGES_DESC" = "特定のアクション後に表示されるスナックバーを非表示にします。(例: 字幕がオン/オフになりました など)";
|
||||
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "プロモーションバナーを非表示";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "「プロモーションを含みます」のバナーを非表示にします。";
|
||||
"HIDE_PAID_PROMOTION_CARDS" = "有料プロモーションカードを非表示";
|
||||
"HIDE_PAID_PROMOTION_CARDS_DESC" = "";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "チャンネルのウォーターマークを非表示";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "動画再生時のチャンネルのウォーターマークを非表示にします。 アプリの再起動が必要です。";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "";
|
||||
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "前後の動画を再生するボタンを非表示";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "動画コントロールのオーバーレイで次の動画と前の動画を再生するボタンを非表示にします。";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "前へ/次へボタンを非表示";
|
||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "";
|
||||
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "前後の動画を再生するボタンを置換";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "次の動画と前の動画を再生するボタンをそれぞれ早送りと巻き戻しボタンに置き換えます。アプリの再起動が必要です。";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON" = "前へ/次へボタンを置き換える";
|
||||
"REPLACE_PREVIOUS_NEXT_BUTTON_DESC" = "前へ/次へボタンを早送り/巻き戻しボタンに置き換えます。";
|
||||
|
||||
"RED_PROGRESS_BAR" = "赤いプログレスバー";
|
||||
"RED_PROGRESS_BAR_DESC" = "赤いプログレスバーに戻します。アプリの再起動が必要です。";
|
||||
"RED_PROGRESS_BAR_DESC" = "";
|
||||
|
||||
"HIDE_HOVER_CARD" = "動画終わりのホバーカードを非表示 (YTNoHoverCards)";
|
||||
"HIDE_HOVER_CARD_DESC" = "動画の最後のホバーカード(サムネイル)を非表示にします。";
|
||||
"HIDE_HOVER_CARD" = "YTNoHoverCards";
|
||||
"HIDE_HOVER_CARD_DESC" = "動画のエンドスクリーンを非表示にします。";
|
||||
|
||||
"HIDE_RIGHT_PANEL" = "フルスクリーンモードで右パネルを非表示";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "アプリの再起動が必要です。";
|
||||
"HIDE_RIGHT_PANEL" = "フルスクリーン時の右側パネルを非表示";
|
||||
"HIDE_RIGHT_PANEL_DESC" = "横向きの時、右パネル(チャットなど)を非表示にします。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "ショートのコントロールのオーバーレイ設定";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 ショート動画のオーバーレイ設定";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Super Thanks を購入のバナーを非表示";
|
||||
"HIDE_SUPER_THANKS_DESC" = "ショートの「Super Thanks」バナーを非表示にします。";
|
||||
"HIDE_SUPER_THANKS" = "「Super Thanksを購入」バナーを非表示";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
|
||||
"HIDE_SUBCRIPTIONS" = "チャンネル登録ボタンを非表示";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "一時停止時に表示されるチャンネル登録ボタンを非表示にします";
|
||||
"HIDE_SUBCRIPTIONS_DESC" = "";
|
||||
|
||||
"DISABLE_RESUME_TO_SHORTS" = "ショートの再開を無効化";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "ショート動画を見ていてアプリを終了した後、再度開いた際にショートから再開されるのを防ぎます。";
|
||||
"DISABLE_RESUME_TO_SHORTS" = "ショート動画からの再開を無効化";
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "ショート動画を視聴中にアプリを終了し、再度開いた際にショートから再開されるのを防ぎます。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "その他";
|
||||
"MISCELLANEOUS" = "🔎 その他";
|
||||
|
||||
"CAST_CONFIRM" = "キャストする前に確認をする (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "誤ってテレビにキャストしないように、確認の警告を表示します。";
|
||||
"HIDE_UYOU" = "uYouタブを非表示";
|
||||
"HIDE_ISPONSORBLOCK" = "iSponsorBlockボタンを非表示";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "キャスト前に確認の警告を表示します。";
|
||||
"CASTING" = "キャスト";
|
||||
"MSG_ARE_YOU_SURE" = "本当にキャストを開始しますか?";
|
||||
"MSG_YES" = "はい";
|
||||
"MSG_CANCEL" = "キャンセル";
|
||||
"MSG_CANCEL" = "いいえ";
|
||||
|
||||
"DISABLE_HINTS" = "ヒントを非表示";
|
||||
"DISABLE_HINTS_DESC" = "アプリが再インストールされた際に表示される機能の使い方を非表示にします。";
|
||||
"DISABLE_HINTS_DESC" = "アプリ初回起動時に表示されるYouTubeのヒントを非表示にします。";
|
||||
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube起動時のアニメーションを有効にする";
|
||||
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube起動時にアニメーションを表示";
|
||||
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
|
||||
|
||||
"HIDE_CHIP_BAR" = "トップバーを非表示";
|
||||
"HIDE_CHIP_BAR_DESC" = "ホーム(トレンド,音楽,ゲーム...)とサブスクリプション(すべてのビデオ、視聴を続ける...)リボンのトップバーを非表示にします。アプリの再起動が必要です。";
|
||||
"HIDE_CHIP_BAR_DESC" = "ホームと登録チャンネルのトップバー(すべて,音楽,ゲーム,続きを見る など)を非表示にします。";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "\"次に再生\"を削除";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "コンテキストメニューの\"キューの最初に追加\"オプションを非表示にします";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "「キューの最初に追加」を非表示";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "iPhoneのレイアウト";
|
||||
"IPHONE_LAYOUT_DESC" = "iPhoneのレイアウトを使用する場合はトグルで切り替えてください。アプリの再起動が必要です。";
|
||||
"IPHONE_LAYOUT" = "iPhoneのレイアウトを強制";
|
||||
"IPHONE_LAYOUT_DESC" = "";
|
||||
|
||||
"NEW_MINIPLAYER_STYLE" = "新しいミニプレーヤー・バーを使う (BigYTMiniPlayer)";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "アプリの再起動が必要です。";
|
||||
"NEW_MINIPLAYER_STYLE" = "BigYTMiniPlayer";
|
||||
"NEW_MINIPLAYER_STYLE_DESC" = "新しいミニプレーヤーバー";
|
||||
|
||||
"YT_RE_EXPLORE" = "ショートタブを探索タブに置き換える (YTReExplore)";
|
||||
"YT_RE_EXPLORE_DESC" = "アプリの再起動が必要です。";
|
||||
"YT_RE_EXPLORE" = "YTReExplore";
|
||||
"YT_RE_EXPLORE_DESC" = "ショートタブを探索タブに置き換えます。";
|
||||
|
||||
"ENABLE_FLEX" = "FLEXを有効化";
|
||||
"ENABLE_FLEX_DESC" = "デバッグ用のFLEXを有効にします(推奨しません) 何をやっているのかわからない場合はオフにしてください。";
|
||||
"ENABLE_FLEX_DESC" = "デバッグ用のFLEXを有効にします。";
|
||||
|
||||
"FIX_GOOGLE_SIGNIN" = "Googleのサインインを修正 (TrollStoreユーザーのみ)";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "アプリがTrollStoreでインストールされた場合のみ機能します。このオプションを有効にしてGoogleアカウントでサインインできるようにします。アプリの再起動が必要です。";
|
||||
"FIX_GOOGLE_SIGNIN_DESC" = "Googleアカウントでサインインできない場合で、アプリがTrollStore経由でインストールされている場合のみ、このオプションをオンにしてください。通常通りサインインできる場合はオフのままにしてください。アプリの再起動が必要です。";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "테마 설정";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "몇몇 경우 제대로 동작하지 않을 수도 있습니다. 앱을 다시 시작해야 합니다.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "비디오 재생 설정";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 비디오 재생 설정";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "두번 탭하여 탐색 사용하지 않음";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "모든 YouTube 영상에서 미니 플레이어 활성화";
|
||||
"YT_MINIPLAYER_DESC" = "유튜브 키즈의 영상 같은 경우.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "iOS 기본 음량 표시기 사용";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "비디오 재생 오버레이 설정";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 비디오 재생 오버레이 설정";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "자동재생 스위치 숨기기";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "비디오 재생 오버레이에서 자동재생 스위치를 숨깁니다.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "앱을 다시 시작해야 합니다.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 재생 오버레이 설정";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 재생 오버레이 설정";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "'Super Thanks 구매' 배너 숨기기";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Shorts 영상에서 'Super Thanks 구매' 배너를 숨깁니다.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Shorts를 시청하는 도중 앱을 닫을 때, 다시 앱을 열어도 Shorts 영상이 자동재생되지 않도록 합니다.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "기타 설정";
|
||||
"MISCELLANEOUS" = "🔎 기타 설정";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "TV 전송 알림 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "의도치 않게 TV로 영상을 전송하지 않도록 보내기 전에 확인 메시지를 표시합니다.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme Options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Werkt mogelijk niet correct in sommige gevallen. Je moet de app opnieuw opstarten om dit te activeren.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Schakel de Mini Speler in voor alle video's";
|
||||
"YT_MINIPLAYER_DESC" = "Video's voor kinderen bijvoorbeeld.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Verberg Autoplay schakelaar";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Verberg de Autoplay schakelaar in de video speler.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Bevestig casten (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Toon een melding na het drukken op de cast knop om te voorkomen dat je per ongeluk cast.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Może w niektórych przypadkach nie działać. Restart aplikacji jest wymagany.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Włącz miniodtwarzach dla wszystkich filmów";
|
||||
"YT_MINIPLAYER_DESC" = "Np. filmów dla dzieci.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ukryj przycisk Autoodtwarzanie";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ukrywa przycisk Autoodtwarzanie w okładce odtwarzacza filmów.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alert przed przesyłaniem (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Pokaż alert przed przesyłaniem aby nie łączyć się przez przypadek z telewizorem.";
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
// About
|
||||
"ABOUT" = "About";
|
||||
"ABOUT" = "Sobre";
|
||||
|
||||
"VERSION" = "Versão do uYouPlus: %@";
|
||||
"VERSION" = "Versão";
|
||||
"VERSION_CHECK" = "Toque para verificar se há atualização!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Report an issue";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
"REPORT_AN_ISSUE" = "Informar um problema";
|
||||
"ADD_TITLE" = "Adicione seu título aqui...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Quit YouTube";
|
||||
"QUIT_YOUTUBE" = "Sair do YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
"RESTART_YOUTUBE" = "Reinicie o YouTube para aplicar as alterações";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 Aparência do aplicativo";
|
||||
"THEME_OPTIONS" = "Opções de Temas";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
"DARK_THEME" = "Tema Escuro";
|
||||
|
||||
"DEFAULT_THEME" = "Padrão";
|
||||
"DEFAULT_THEME_DESC" = "Tema escuro padrão do YouTube. A reinicialização do app é necessária.";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Pode não funcionar corretamente em alguns casos. A reinicialização do app é necessária.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Opções do Reprodutor de Vídeo";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opções do Reprodutor de Vídeo";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Ativar Deslizar para buscar";
|
||||
"SLIDE_TO_SEEK_DESC" = "Traz de volta o gesto Deslizar para buscar.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Desativar toque duplo para buscar";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Ocultar o botão Remix";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Ocultar o botão Clipe";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Ocultar o botão de Download";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Usar o HUD de volume padrão do iOS";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Vídeo";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Opções de 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.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "A reinicialização do app é necessária.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Opções de Sobreposição de Controles de Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ocultar o banner 'Comprar Valeu Demais'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Oculta o banner 'Comprar Valeu Demais' nos Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Se você fechar o YouTube enquanto assiste a Shorts, os Shorts não serão reproduzidos automaticamente na próxima vez que você iniciar o YouTube.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Diversos";
|
||||
"MISCELLANEOUS" = "🔎 Diversos";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Ocultar o botão iSponsorBlock";
|
||||
|
||||
"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.";
|
||||
@@ -112,7 +127,7 @@
|
||||
"HIDE_CHIP_BAR" = "Ocultar a Barra superior";
|
||||
"HIDE_CHIP_BAR_DESC" = "Oculta a Barra superior nos Feeds iniciais (Tendências, Música, Jogos...) e Feeds de inscrições (Todos os vídeos, Continuar assistindo...). A reinicialização do app é necessária.";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ocultar \"Adicionar como próximo na fila\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Layout do iPhone";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Este posibil să nu funcționeze corect în anumite cazuri. Este necesară repornirea aplicației.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Activare Miniplayer pentru toate videoclipurile YouTube";
|
||||
"YT_MINIPLAYER_DESC" = "De exemplu, videoclipurile destinate pentri copii";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Ascunde comutatorul Redare automată";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Ascunde comutatorul Redare automată din controalele video.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Alertă de confirmare înainte de proiectare (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Afișează o alertă de confirmare înainte de a proiecta, pentru a preveni deturnarea accidentală a TV-ului.";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Параметры темы";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Возможно, на некоторых устройствах будет работать криво. Потребуется перезагрузка.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Параметры видеоплеера";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Параметры видеоплеера";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Отключить двойное нажатие для перемотки";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Мини-плеер для всех видео";
|
||||
"YT_MINIPLAYER_DESC" = "Принудительно активирует мини-плеер для всех видео, включая видео, предназначенное для детей.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Использовать стоковый слайдер грмкости iOS";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Параметры элементов оверлея видеоплеера";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Параметры элементов оверлея видеоплеера";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Скрыть «Автовоспроизведение»";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Убирает тумблер «Автовоспроизведение» с оверлея плеера.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Требуется перезапуск приложения.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Параметры элементов оверлея в Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Параметры элементов оверлея в Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Скрыть баннер 'Купить суперспасибо'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Скрывает баннер 'Купить суперспасибо' в Shorts.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Если закрыть YouTube во время просмотра видео Shorts, то при следующем запуске YouTube видео Shorts не будет автоматически воспроизводиться.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Другое";
|
||||
"MISCELLANEOUS" = "🔎 Другое";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Подтверждение «Трансляции» (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "Спрашивать подтверждение перед началом трансляции во избежание случайных подключений к ТВ.";
|
||||
|
||||
@@ -27,7 +27,7 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Theme options";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -46,7 +46,10 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video player options";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video player options";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -60,11 +63,20 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video controls overlay options";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video controls overlay options";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Hide autoplay switch";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "";
|
||||
@@ -97,7 +109,7 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Hides right panels (e.g., comments, live chat, etc.) in landscape";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts controls overlay options";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts controls overlay options";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Hide \"Buy Super Thanks\" banner";
|
||||
"HIDE_SUPER_THANKS_DESC" = "";
|
||||
@@ -109,7 +121,10 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "If you close YouTube while watching Shorts, this prevents it from automatically resuming the next time you reopen the app";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Miscellaneous";
|
||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hides iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "YTCastConfirm";
|
||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "Tema ayarları";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Video Oynatıcı Seçenekleri";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Video Oynatıcı Seçenekleri";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "Tüm YouTube videoları için Mini Oynatıcıyı etkinleştir";
|
||||
"YT_MINIPLAYER_DESC" = "Örneğin çocuk videoları.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Mevcut iOS baş yukarı göstergesi(HUD) alanını kullan";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Kontrolleri Kaplaması Seçenekleri";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Video Kontrolleri Kaplaması Seçenekleri";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "Otomatik oynatma anahtarını gizle";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Otomatik oynat anahtarını video kontrolleri katmanından gizler.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts Kontroller Kaplama Seçenekleri";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts Kontroller Kaplama Seçenekleri";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "\"Süper Teşekkür Satın Alın\" afişini gizle";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Shorts'ta \"Süper Teşekkür Satın Alın\" afişini gizle.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Shorts izlerken YouTube'u kapatırsan Shorts, YouTube'u bir sonraki açışında otomatik olarak oynatılmaz.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Diğer";
|
||||
"MISCELLANEOUS" = "🔎 Diğer";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "Yayınlamadan önce uyarıyı onayla (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "TV'nin yanlışlıkla ele geçirilmesini önlemek için yayınlamadan önce bir onay uyarısı gösterir.";
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
"VERSION_CHECK" = "Chạm để kiểm tra bản cập nhật!";
|
||||
|
||||
"REPORT_AN_ISSUE" = "Báo lỗi";
|
||||
"ADD_TITLE" = "Add your title here...";
|
||||
"ADD_TITLE" = "Thêm tiêu đề lỗi ở đây...";
|
||||
|
||||
"QUIT_YOUTUBE" = "Đóng YouTube";
|
||||
|
||||
"RESTART_YOUTUBE" = "Khởi động lại YouTube để áp dụng các thay đổi";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "Giao diện của ứng dụng";
|
||||
"APP_THEME" = "🎨 Giao diện của ứng dụng";
|
||||
"THEME_OPTIONS" = "Tùy chọn giao diện";
|
||||
|
||||
"DARK_THEME" = "Giao diện tối";
|
||||
@@ -20,7 +20,7 @@
|
||||
"DEFAULT_THEME" = "Mặc định";
|
||||
"DEFAULT_THEME_DESC" = "";
|
||||
|
||||
"OLD_DARK_THEME" = "Xám nhạt hơn";
|
||||
"OLD_DARK_THEME" = "Xám nhạt";
|
||||
"OLD_DARK_THEME_DESC" = "Giao diện tối cũ của YouTube";
|
||||
|
||||
"OLED_DARK_THEME" = "OLED (thử nghiệm)";
|
||||
@@ -31,25 +31,37 @@
|
||||
"OLED_KEYBOARD_DESC" = "";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "Tùy chọn trình phát video";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ Tùy chọn trình phát video";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Vuốt để tua";
|
||||
"SLIDE_TO_SEEK_DESC" = "Đem lại cử chỉ vuốt để tua như trước đây.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Tắt tình năng chạm 2 lần để tua";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
|
||||
"SNAP_TO_CHAPTER" = "Vô hiệu hóa tự động chuyển tới chương";
|
||||
"SNAP_TO_CHAPTER" = "Tắt tự động chuyển tới chương";
|
||||
"SNAP_TO_CHAPTER_DESC" = "Tắt tính năng tự động chuyển tới chương gần nhất khi tua video. Cần khởi động lại ứng dụng.";
|
||||
|
||||
"PINCH_TO_ZOOM" = "Vô hiệu hóa chạm để thu phóng";
|
||||
"PINCH_TO_ZOOM" = "Tắt tính năng chạm để thu phóng";
|
||||
"PINCH_TO_ZOOM_DESC" = "Cần khởi động lại ứng dụng.";
|
||||
|
||||
"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.";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Ẩn nút Phối lại";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Ẩn nút Tạo đoạn video";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Ẩn nút Tải xuống";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "Sử dụng thanh âm lượng mặc định của iOS";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn hiển thị trong trình phát video";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 Tùy chọn hiển thị 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.";
|
||||
@@ -63,8 +75,8 @@
|
||||
"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.";
|
||||
|
||||
"HIDE_CHANNEL_WATERMARK" = "Ẩn hình mờ kênh";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Ẩn hình mờ của kênh trong lớp phủ điều khiển video. Yêu cầu khởi động lại ứng dụng.";
|
||||
"HIDE_CHANNEL_WATERMARK" = "Ẩn watermark của kênh";
|
||||
"HIDE_CHANNEL_WATERMARK_DESC" = "Ẩn watermark của kênh trong video. Yêu cầu khởi động lại ứng dụng.";
|
||||
|
||||
"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.";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "Ẩn bảng điều khiển bên phải khi ở chế độ toàn màn hình. Cần khởi động lại ứng dụng.";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn hiển thị trong Shorts";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Tùy chọn hiển thị trong Shorts";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "Ẩn biểu ngữ 'Mua ảnh động Super Thanks'";
|
||||
"HIDE_SUPER_THANKS_DESC" = "Ẩn biểu ngữ 'Mua ảnh động Super Thanks'.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "Nếu bạn thoát YouTube trong khi đang xem video Shorts, video Shorts đó sẽ không tự động phát khi bạn mở lại YouTube.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "Cài đặt khác";
|
||||
"MISCELLANEOUS" = "🔎 Cài đặt khác";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Ẩn nút iSponsorBlock trên thanh menu";
|
||||
|
||||
"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.";
|
||||
@@ -112,7 +127,7 @@
|
||||
"HIDE_CHIP_BAR" = "Ẩn thanh phím tắt";
|
||||
"HIDE_CHIP_BAR_DESC" = "Ẩn thanh phím tắt trong Home feed (Thịnh hành, Âm nhạc, Trò chơi...) và trong Subciption feed (Tất cả, Tiếp tục xem...).";
|
||||
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ẩn \"Phát tiếp theo trong danh sách chờ\"";
|
||||
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
|
||||
|
||||
"IPHONE_LAYOUT" = "Force iPhone layout";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "主题选项";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "在某些情况下可能不会正常工作。更改本设置后需要重启 App。";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "视频播放器选项";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 视频播放器选项";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "禁用双击快进和快退";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "为所有 YouTube 视频启用迷你播放器";
|
||||
"YT_MINIPLAYER_DESC" = "例如:面向儿童的视频。";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "使用 iOS 自带音量指示";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "视频播放器控制界面选项";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 视频播放器控制界面选项";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "隐藏自动播放模式开关";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "隐藏视频播放器控制界面上的自动播放开关。";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "更改本设置后需要重启App。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 短片播放器选项";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 短片播放器选项";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "隐藏“购买超级感谢”横幅";
|
||||
"HIDE_SUPER_THANKS_DESC" = "隐藏出现在部分 Shorts 短片中的“购买超级感谢”横幅。";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "若您在观看 Shorts 短片时关闭了 YouTube,下次启动时将不再自动进入 Shorts 短片分区。";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "其它选项";
|
||||
"MISCELLANEOUS" = "🔎 其它选项";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "投屏前确认 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "在投屏前显示确认对话框以防意外劫屏。";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
|
||||
|
||||
// App appearance
|
||||
"APP_THEME" = "App appearance";
|
||||
"APP_THEME" = "🎨 App appearance";
|
||||
"THEME_OPTIONS" = "主題風格選項";
|
||||
|
||||
"DARK_THEME" = "Dark theme";
|
||||
@@ -31,7 +31,10 @@
|
||||
"OLED_KEYBOARD_DESC" = "在某些情況下可能無法正常運作。需要重新啟動應用程式。";
|
||||
|
||||
// Video player options
|
||||
"VIDEO_PLAYER_OPTIONS" = "播放器選項";
|
||||
"VIDEO_PLAYER_OPTIONS" = "⏯️ 播放器選項";
|
||||
|
||||
"SLIDE_TO_SEEK" = "Enable Slide to seek";
|
||||
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
|
||||
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Disable double tap to seek";
|
||||
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
|
||||
@@ -45,11 +48,20 @@
|
||||
"YT_MINIPLAYER" = "為所有 YouTube 影片啟用迷你播放器";
|
||||
"YT_MINIPLAYER_DESC" = "例如兒童影片";
|
||||
|
||||
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||
|
||||
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||
|
||||
"STOCK_VOLUME_HUD" = "使用 iOS 內建的音量 HUD";
|
||||
"STOCK_VOLUME_HUD_DESC" = "";
|
||||
|
||||
// Video controls overlay options
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "影片懸浮控制選項";
|
||||
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "📹 影片懸浮控制選項";
|
||||
|
||||
"HIDE_AUTOPLAY_SWITCH" = "隱藏自動播放開關";
|
||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "在影片控制中隱藏自動播放開關。";
|
||||
@@ -82,7 +94,7 @@
|
||||
"HIDE_RIGHT_PANEL_DESC" = "需要重新啟動應用程式。";
|
||||
|
||||
// Shorts controls overlay options
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Shorts 懸浮控制選項";
|
||||
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 Shorts 懸浮控制選項";
|
||||
|
||||
"HIDE_SUPER_THANKS" = "隱藏 '購買超級感謝' 橫幅";
|
||||
"HIDE_SUPER_THANKS_DESC" = "在 Shorts 中隱藏 '購買超級感謝' 橫幅.";
|
||||
@@ -94,7 +106,10 @@
|
||||
"DISABLE_RESUME_TO_SHORTS_DESC" = "如果你在觀看 Shorts 時關閉程式,下次開啟程式時將不再自動播放 Shorts.";
|
||||
|
||||
// Miscellaneous
|
||||
"MISCELLANEOUS" = "雜項";
|
||||
"MISCELLANEOUS" = "🔎 雜項";
|
||||
|
||||
"HIDE_UYOU" = "Hide uYou tab";
|
||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
||||
|
||||
"CAST_CONFIRM" = "投放前確認 (YTCastConfirm)";
|
||||
"CAST_CONFIRM_DESC" = "在投放前顯示確認訊息,以防止家人幹樵。";
|
||||
|
||||
@@ -4,9 +4,9 @@ export ARCHS = arm64
|
||||
export libcolorpicker_ARCHS = arm64
|
||||
export libFLEX_ARCHS = arm64
|
||||
export Alderis_XCODEOPTS = LD_DYLIB_INSTALL_NAME=@rpath/Alderis.framework/Alderis
|
||||
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)" -quiet
|
||||
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)"
|
||||
export libcolorpicker_LDFLAGS = -F$(TARGET_PRIVATE_FRAMEWORK_PATH) -install_name @rpath/libcolorpicker.dylib
|
||||
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks/RemoteLog
|
||||
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks/RemoteLog -I$(THEOS_PROJECT_DIR)/Tweaks
|
||||
|
||||
ifneq ($(JAILBROKEN),1)
|
||||
export DEBUGFLAG = -ggdb -Wno-unused-command-line-argument -L$(THEOS_OBJ_DIR) -F$(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks
|
||||
@@ -14,10 +14,10 @@ MODULES = jailed
|
||||
endif
|
||||
|
||||
ifndef YOUTUBE_VERSION
|
||||
YOUTUBE_VERSION = 18.32.2
|
||||
YOUTUBE_VERSION = 19.16.3
|
||||
endif
|
||||
ifndef UYOU_VERSION
|
||||
UYOU_VERSION = 3.0.1
|
||||
UYOU_VERSION = 3.0.3
|
||||
endif
|
||||
PACKAGE_VERSION = $(YOUTUBE_VERSION)-$(UYOU_VERSION)
|
||||
|
||||
@@ -28,10 +28,10 @@ BUNDLE_ID = com.google.ios.youtube
|
||||
|
||||
$(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x)
|
||||
$(TWEAK_NAME)_FRAMEWORKS = UIKit Security
|
||||
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
|
||||
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YTSpeed.dylib
|
||||
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -Wno-module-import-in-extern-c
|
||||
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib
|
||||
$(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
|
||||
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks/Alderis.framework
|
||||
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
|
||||
$(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle)
|
||||
$(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex)
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||

|
||||
# uYouPlus
|
||||
|
||||

|
||||
<!---->
|
||||
|
||||
***
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow" alt="Badge"/>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
|
||||
|
||||
|
||||
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQs"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
|
||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQs"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -24,218 +25,233 @@
|
||||
<a href="https://github.com/qnblackcat/uYouPlus#support-the-developers"><img src="https://img.shields.io/badge/-Support-lightgrey?style=social&logo=paypal" alt="Badge"></img></a>
|
||||
</p>
|
||||
|
||||
# Table of Contents
|
||||
> [!NOTE]
|
||||
> uYouPlus is a **modified version** of uYou. **Please DO NOT bother MiRO92 with issues unrelated to uYou!**
|
||||
|
||||
## Table of contents
|
||||
|
||||
* [Credits](#credits)
|
||||
* [Features](#features)
|
||||
* [Known issues](#known-issues)
|
||||
* [Download](#download)
|
||||
* [Installation](#installation)
|
||||
* [Features](#features)
|
||||
* [Credits](#credits)
|
||||
* [Support the developers!](#support-the-developers)
|
||||
* [FAQ](#faq)
|
||||
* [Building](#building-optional)
|
||||
* [FAQs](#faqs)
|
||||
* [Building](#building)
|
||||
|
||||
# Credits
|
||||
- Special thanks to all the developers who have contributed to uYouPlus!
|
||||
## Download
|
||||
|
||||
<table id='credit'>
|
||||
<tr>
|
||||
<td id='miro92'>
|
||||
<a href='https://github.com/MiRO92'>
|
||||
<img src='https://github.com/MiRO92.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/miro92'>MiRO92</a></h4>
|
||||
</td>
|
||||
<td id='poomsmart'>
|
||||
<a href='https://github.com/PoomSmart'>
|
||||
<img src='https://github.com/PoomSmart.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/poomsmart'>PoomSmart</a></h4>
|
||||
</td>
|
||||
<td id='level3tjg'>
|
||||
<a href='https://github.com/level3tjg'>
|
||||
<img src='https://github.com/level3tjg.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/level3tjg'>level3tjg</a></h4>
|
||||
</td>
|
||||
<td id='bandarHL'>
|
||||
<a href='https://github.com/BandarHL'>
|
||||
<img src='https://github.com/BandarHL.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/bandarhl'>BandarHelal</a></h4>
|
||||
</td>
|
||||
<td id='galactic-dev'>
|
||||
<a href='https://github.com/Galactic-Dev'>
|
||||
<img src='https://github.com/Galactic-Dev.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/dev_galactic'>galactic</a></h4>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td id='julioverne'>
|
||||
<a href='https://github.com/julioverne'>
|
||||
<img src='https://github.com/julioverne.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/ijulioverne'>julioverne</a></h4>
|
||||
</td>
|
||||
<td id='hbang'>
|
||||
<a href='https://github.com/hbang'>
|
||||
<img src='https://github.com/hbang.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/hashbang'>HASHBANG</a></h4>
|
||||
</td>
|
||||
<td id='lyvendia'>
|
||||
<a href='https://github.com/Lyvendia'>
|
||||
<img src='https://github.com/Lyvendia.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://github.com/Lyvendia'>Lyvendia</a></h4>
|
||||
</td>
|
||||
<td id='foxster'>
|
||||
<a href='https://github.com/therealFoxster'>
|
||||
<img src='https://github.com/therealFoxster.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/therealFoxster'>Foxster</a></h4>
|
||||
</td>
|
||||
<td id='ichitaso'>
|
||||
<a href='https://github.com/ichitaso'>
|
||||
<img src='https://github.com/ichitaso.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/ichitaso'>ichitaso</a></h4>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td id='ahmed-bafkir'>
|
||||
<a href='https://github.com/AhmedBafkir'>
|
||||
<img src='https://github.com/AhmedBafkir.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a></h4>
|
||||
</td>
|
||||
<td id='cokepokes'>
|
||||
<a href='https://github.com/CokePokes'>
|
||||
<img src='https://github.com/CokePokes.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://twitter.com/cokepokes'>CokePokes</a></h4>
|
||||
</td>
|
||||
<td id='isnackable'>
|
||||
<a href='https://github.com/ISnackable'>
|
||||
<img src='https://github.com/ISnackable.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://isnackable.me/'>Tommy Teo</a></h4>
|
||||
</td>
|
||||
<td id='theos-team'>
|
||||
<a href='https://github.com/theos/theos'>
|
||||
<img src='https://github.com/theos.png' width='140px;'>
|
||||
</a>
|
||||
<h4 align='center'><a href='https://theos.dev'>theos</a></h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
# Features
|
||||
|
||||
1. **uYou:** uYou has a ton of features that I can't list them all. Visit [here](https://miro92.com/repo/depictions/?p=com.miro.uyou) for more info!
|
||||
|
||||
2. **iSponsorBlock:** Skips annoying sponsor ads inside videos. iSponsorBlock is based on [SponsorBlock engine](https://sponsor.ajay.app/). Basically, this is the iOS version of the SponsorBlock extension.
|
||||
|
||||
3. **YouPiP:** enable YouTube's **native PiP**. More options are in YouTube Settings - General.
|
||||
|
||||
4. **YTUHD:** unlock VP9 codec and in effect, enables video quality of 2K and 4K. You can enable/disable YTUHD in YouTube Settings - Video quality preferences.
|
||||
|
||||
<details>
|
||||
<summary>And many more...!</summary>
|
||||
|
||||
5. **YTClassicVideoQuality:** since YouTube v16.xx, you need one more step to change the video quality. YTClassicVideoQuality brings back the old video quality selector, which is a lot better than the new one.
|
||||
|
||||
6. **YTNoHoverCards:** offer an option to enable/disable the annoying suggested videos show up at the end of the videos.
|
||||
|
||||
7. **YouRememberCaption**: make YouTube remember your video caption setting (if not already).
|
||||
|
||||
8. **NoYTPremium**: remove YouTube Premium upsells.
|
||||
|
||||
9. **YTSpeed**: add 2.25, 2.5, 2.75, and 3x playback speed
|
||||
|
||||
10. **YTMiniplayerEnabler**: enable Miniplayer for all YouTube videos.
|
||||
|
||||
11. **DontEatMyContent**: prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube.
|
||||
|
||||
12. **YTABConfig**: allow user to control over YouTube A/B testing flags.
|
||||
|
||||
13. **YouMute**: mute YouTube videos via a button.
|
||||
|
||||
14. **YouQuality**: change video quality via a button.
|
||||
|
||||
15. **YTVideoOverlay**: add buttons to overlay the video.
|
||||
|
||||
</details>
|
||||
|
||||
# Known issues
|
||||
|
||||
- **uYou**: all the known-issues of uYou are listed [here](https://github.com/MiRO92/uYou-for-YouTube/issues). Make sure you take a look at it before reporting any bugs! ***Also, keep in mind that uYou+ is a modified version of uYou, DO NOT bother MiRO92 with problems unrelated to uYou!!!***
|
||||
|
||||
- Issues that related to **uYouPlus** are [here](https://github.com/qnblackcat/uYouPlus/issues/)
|
||||
|
||||
# Download
|
||||
|
||||
- **uYouPlus** (or you can call it uYou+) requires iOS or iPadOS 14.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases/latest).
|
||||
|
||||
<!-- - For AltStore user:
|
||||
- The latest version of **uYouPlus** can be found under [Releases](https://github.com/qnblackcat/uYouPlus/releases/latest).
|
||||
- **Compatibility:** Requires iOS/iPadOS 14.0 or later.
|
||||
- For AltStore user:
|
||||
|
||||
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
||||
|
||||
- [Open in AltStore (v18.14.1-3.0)](https://tinyurl.com/yv6wrxjz) - It will take a while to install because AltStore needs to download the IPA first. -->
|
||||
|
||||
- Version info: _(last update: Aug 5)_
|
||||
- [Open in AltStore (v19.08.2-3.0.3)](http://tinyurl.com/4vzwk5hx) - It will take a while to install because AltStore needs to download the IPA first.
|
||||
|
||||
<details>
|
||||
<summary>Expand ℹ️</summary>
|
||||
<summary>Version information (last updated: Feb 27, 2024)</summary>
|
||||
|
||||
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
||||
| - | - | :-: | :-: |
|
||||
| **YouTube** | Google Inc | 18.30.7 | ✖︎ |
|
||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0 | ✖︎ |
|
||||
| **YouTube** | Google Inc | 19.08.2 | ✖︎ |
|
||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.3 | ✖︎ |
|
||||
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
|
||||
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-15 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.2 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
||||
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
||||
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.0.6 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
||||
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.4 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
||||
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
||||
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
||||
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.3.5-1 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.19-1 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.0 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
||||
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2.3 | [✔︎](https://github.com/hbang/Alderis) |
|
||||
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.3 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.8.4 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.3.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.0 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
||||
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
||||
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
||||
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.3 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-2 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
||||
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
||||
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.0-2 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
||||
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.6 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-3 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
||||
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4-2 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
||||
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.6 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
||||
|
||||
</details>
|
||||
|
||||
# Installation
|
||||
## Installation
|
||||
|
||||
See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installation).
|
||||
|
||||
# Support the developers
|
||||
- [**MiRO92**](https://twitter.com/miro92): https://github.com/MiRO92/uYou-for-YouTube#support
|
||||
- [**Poomsmart**](https://twitter.com/poomsmart): https://poomsmart.github.io
|
||||
- [**level3tjg**](https://twitter.com/level3tjg): https://ko-fi.com/level3tjg
|
||||
- [**BandarHL**](https://twitter.com/bandarhl): https://www.paypal.com/paypalme/BandarHL
|
||||
- [**julioverne**](https://twitter.com/ijulioverne): https://www.patreon.com/julioverne
|
||||
- [**Galactic-dev**](https://twitter.com/dev_galactic):
|
||||
## Features
|
||||
|
||||
1. **[uYou](https://miro92.com/repo/depictions/?p=com.miro.uyou):** Enhance your YouTube experience.
|
||||
|
||||
2. **[iSponsorBlock](https://github.com/Galactic-Dev/iSponsorBlock):** A jailbreak tweak that implements the SponsorBlock API to skip sponsorships in YouTube videos.
|
||||
|
||||
3. **[YouPiP](https://poomsmart.github.io/repo/depictions/youpip):** Enable **native PiP** in iOS YouTube app.
|
||||
|
||||
4. **[YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd):** Unlock 1440p (2K) and 2160p (4K) resolutions in iOS YouTube app.
|
||||
|
||||
<details>
|
||||
<summary>And many more!</summary>
|
||||
|
||||
5. **[YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality):** Revert to the original video quality selector in YouTube app.
|
||||
|
||||
6. **[YTNoHoverCards](https://level3tjg.me/repo/depictions/?p=com.level3tjg.ytnohovercards):** Disable overlay at the end of YouTube videos.
|
||||
|
||||
7. **[YouRememberCaption](https://poomsmart.github.io/repo/depictions/youremembercaption)**: Make YouTube remember your video caption setting, if not already.
|
||||
|
||||
8. **[NoYTPremium](https://poomsmart.github.io/repo/depictions/noytpremium)**: Remove YouTube Premium upsell alerts.
|
||||
|
||||
9. **[YTSpeed](http://cydia.saurik.com/package/com.lyvendia.ytspeed/)**: Simple playback speed tweak for the YouTube app on jailbroken iOS/iPadOS devices.
|
||||
|
||||
10. **[YTMiniplayerEnabler](https://level3tjg.me/repo/depictions/?p=com.level3tjg.ytminiplayerenabler)**: Enable Miniplayer for all YouTube videos.
|
||||
|
||||
11. **[DontEatMyContent](https://github.com/therealFoxster/DontEatMyContent)**: Prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube.
|
||||
|
||||
12. **[YTABConfig](https://poomsmart.github.io/repo/depictions/ytabconfig)**: Configure A/B settings in iOS YouTube app.
|
||||
|
||||
13. **[YouMute](https://poomsmart.github.io/repo/depictions/youmute)**: Mute/unmute videos in iOS YouTube directly.
|
||||
|
||||
14. **[YouQuality](https://poomsmart.github.io/repo/depictions/youquality)**: View and change video quality in YouTube app from the video overlay.
|
||||
|
||||
</details>
|
||||
|
||||
## Credits
|
||||
|
||||
- Special thanks to all the developers who have contributed to uYouPlus!
|
||||
|
||||
<table id='credits'>
|
||||
<tr align='center'>
|
||||
<td id='miro92'>
|
||||
<a href='https://github.com/MiRO92'>
|
||||
<img src='https://github.com/MiRO92.png' width='140px;' style='border-radius: 99999px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/miro92'>MiRO92</a>
|
||||
</td>
|
||||
<td id='poomsmart'>
|
||||
<a href='https://github.com/PoomSmart'>
|
||||
<img src='https://github.com/PoomSmart.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/poomsmart'>PoomSmart</a>
|
||||
</td>
|
||||
<td id='level3tjg'>
|
||||
<a href='https://github.com/level3tjg'>
|
||||
<img src='https://github.com/level3tjg.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/level3tjg'>level3tjg</a>
|
||||
</td>
|
||||
<td id='bandarHL'>
|
||||
<a href='https://github.com/BandarHL'>
|
||||
<img src='https://github.com/BandarHL.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/bandarhl'>BandarHelal</a>
|
||||
</td>
|
||||
<td id='galactic-dev'>
|
||||
<a href='https://github.com/Galactic-Dev'>
|
||||
<img src='https://github.com/Galactic-Dev.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/dev_galactic'>galactic</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr align='center'>
|
||||
<td id='julioverne'>
|
||||
<a href='https://github.com/julioverne'>
|
||||
<img src='https://github.com/julioverne.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/ijulioverne'>julioverne</a>
|
||||
</td>
|
||||
<td id='hbang'>
|
||||
<a href='https://github.com/hbang'>
|
||||
<img src='https://github.com/hbang.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/hashbang'>HASHBANG</a>
|
||||
</td>
|
||||
<td id='lyvendia'>
|
||||
<a href='https://github.com/Lyvendia'>
|
||||
<img src='https://github.com/Lyvendia.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://github.com/Lyvendia'>Lyvendia</a>
|
||||
</td>
|
||||
<td id='foxster'>
|
||||
<a href='https://github.com/therealFoxster'>
|
||||
<img src='https://github.com/therealFoxster.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://github.com/therealFoxster'>Foxster</a>
|
||||
</td>
|
||||
<td id='ichitaso'>
|
||||
<a href='https://github.com/ichitaso'>
|
||||
<img src='https://github.com/ichitaso.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/ichitaso'>ichitaso</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr align='center'>
|
||||
<td id='ahmed-bafkir'>
|
||||
<a href='https://github.com/AhmedBafkir'>
|
||||
<img src='https://github.com/AhmedBafkir.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a>
|
||||
</td>
|
||||
<td id='cokepokes'>
|
||||
<a href='https://github.com/CokePokes'>
|
||||
<img src='https://github.com/CokePokes.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://twitter.com/cokepokes'>CokePokes</a>
|
||||
</td>
|
||||
<td id='isnackable'>
|
||||
<a href='https://github.com/ISnackable'>
|
||||
<img src='https://github.com/ISnackable.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://isnackable.me/'>Tommy Teo</a>
|
||||
</td>
|
||||
<td id='theos-team'>
|
||||
<a href='https://github.com/theos/theos'>
|
||||
<img src='https://github.com/theos.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://theos.dev'>theos</a>
|
||||
</td>
|
||||
<td id='qnblackcat'>
|
||||
<a href='https://github.com/qnblackcat'>
|
||||
<img src='https://github.com/qnblackcat.png' width='140px;'>
|
||||
</a>
|
||||
<br>
|
||||
<a href='https://https://twitter.com/t70438299'>qnblackcat</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Support the developers!
|
||||
|
||||
- **MiRO92**: https://github.com/MiRO92/uYou-for-YouTube#support
|
||||
- **PoomSmart**: https://poomsmart.github.io
|
||||
- **level3tjg**: https://ko-fi.com/level3tjg
|
||||
- **BandarHL**: https://www.paypal.com/paypalme/BandarHL
|
||||
- **julioverne**: https://www.patreon.com/julioverne
|
||||
- **Galactic-Dev**:
|
||||
- Paypal: https://www.paypal.com/paypalme/DBrett684
|
||||
- Venmo: https://venmo.com/u/DavidBrett
|
||||
|
||||
# FAQ
|
||||
## FAQs
|
||||
|
||||
See [FAQ - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/FAQ).
|
||||
See [FAQs - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/FAQs).
|
||||
|
||||
# Building (optional)
|
||||
## Building
|
||||
|
||||
See [Building - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Building).
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTAlertView.h"
|
||||
#import "uYouPlus.h"
|
||||
|
||||
extern NSBundle *uYouPlusBundle();
|
||||
|
||||
// YTCastConfirm: https://github.com/JamieBerghmans/YTCastConfirm
|
||||
%hook MDXPlaybackRouteButtonController
|
||||
- (void)didPressButton:(id)arg1 {
|
||||
if (IS_ENABLED(@"castConfirm_enabled")) {
|
||||
NSBundle *tweakBundle = uYouPlusBundle();
|
||||
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
||||
%orig;
|
||||
} actionTitle:LOC(@"MSG_YES")];
|
||||
alertView.title = LOC(@"CASTING");
|
||||
alertView.subtitle = LOC(@"MSG_ARE_YOU_SURE");
|
||||
[alertView show];
|
||||
} else {
|
||||
return %orig;
|
||||
}
|
||||
}
|
||||
%end
|
||||
@@ -1,5 +1,5 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTPlayerOverlay.h"
|
||||
#import <YouTubeHeader/YTPlayerOverlayProvider.h>
|
||||
#import <YouTubeHeader/YTPlayerOverlay.h>
|
||||
#import "uYouPlus.h"
|
||||
|
||||
// YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTIPivotBarRenderer.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponseSupportedRenderers.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
||||
#import <YouTubeHeader/YTIPivotBarRenderer.h>
|
||||
#import <YouTubeHeader/YTIGuideResponse.h>
|
||||
#import <YouTubeHeader/YTIGuideResponseSupportedRenderers.h>
|
||||
#import <YouTubeHeader/YTIBrowseRequest.h>
|
||||
#import "uYouPlus.h"
|
||||
|
||||
%group YTReExplore // https://github.com/PoomSmart/YTReExplore/
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
#import "uYouPlus.h"
|
||||
|
||||
%group YTStockVolumeHUD // https://github.com/lilacvibes/YTStockVolumeHUD
|
||||
%hook YTVolumeBarView
|
||||
- (void)volumeChanged:(id)arg1 {
|
||||
%orig(nil);
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UIApplication
|
||||
- (void)setSystemVolumeHUDEnabled:(BOOL)arg1 forAudioCategory:(id)arg2 {
|
||||
%orig(true, arg2);
|
||||
}
|
||||
%end
|
||||
%end
|
||||
|
||||
%ctor {
|
||||
if (IS_ENABLED(@"stockVolumeHUD_enabled")) {
|
||||
%init(YTStockVolumeHUD);
|
||||
}
|
||||
}
|
||||
+16
-2
@@ -7,8 +7,17 @@
|
||||
#import <rootless.h>
|
||||
|
||||
#import "uYouPlusThemes.h" // Hide "Buy Super Thanks" banner (_ASDisplayView)
|
||||
#import "../Tweaks/YouTubeHeader/YTAppDelegate.h" // Activate FLEX
|
||||
// #import "../Tweaks/YouTubeHeader/YTISectionListRenderer.h" // Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
|
||||
#import <YouTubeHeader/YTAppDelegate.h> // Activate FLEX
|
||||
#import <YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h>
|
||||
#import <YouTubeHeader/YTIPlayerBarDecorationModel.h>
|
||||
#import <YouTubeHeader/YTPlayerBarRectangleDecorationView.h>
|
||||
|
||||
// Hide buttons under the video player by @PoomSmart
|
||||
#import <YouTubeHeader/ASCollectionElement.h>
|
||||
#import <YouTubeHeader/ASCollectionView.h>
|
||||
#import <YouTubeHeader/ELMNodeController.h>
|
||||
|
||||
// #import <YouTubeHeader/YTISectionListRenderer.h> // Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
|
||||
|
||||
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
|
||||
#define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k]
|
||||
@@ -28,6 +37,11 @@
|
||||
- (void)confirmAlertDidPressConfirm;
|
||||
@end
|
||||
|
||||
// Hide iSponsorBlock
|
||||
@interface YTRightNavigationButtons : UIView
|
||||
@property (nonatomic, readwrite, strong) UIView *sponsorBlockButton;
|
||||
@end
|
||||
|
||||
// Hide YouTube annoying banner in Home page? - @MiRO92 - YTNoShorts: https://github.com/MiRO92/YTNoShorts
|
||||
@interface _ASCollectionViewCell : UICollectionViewCell
|
||||
- (id)node;
|
||||
|
||||
+126
-36
@@ -19,11 +19,10 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
// See uYouPlusThemes.xm
|
||||
|
||||
# pragma mark - Video player options
|
||||
|
||||
// Disable double tap to seek
|
||||
%hook YTDoubleTapToSeekController
|
||||
- (void)enableDoubleTapToSeek:(BOOL)arg1 {
|
||||
return IS_ENABLED(@"doubleTapToSeek_disabled") ? %orig(NO) : %orig;
|
||||
// Bring back Slide to seek - https://github.com/PoomSmart/YTABConfig/discussions/95#discussioncomment-8166019
|
||||
%hook YTColdConfig
|
||||
- (BOOL)speedMasterArm2FastForwardWithoutSeekBySliding {
|
||||
return IS_ENABLED(@"slideToSeek_enabled") ? NO : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
@@ -44,11 +43,68 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
}
|
||||
%end
|
||||
|
||||
// Hide useless buttons under the video player by @PoomSmart
|
||||
static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *identifiers) {
|
||||
for (id child in [nodeController children]) {
|
||||
if ([child isKindOfClass:%c(ELMNodeController)]) {
|
||||
NSArray <ELMComponent *> *elmChildren = [(ELMNodeController *)child children];
|
||||
for (ELMComponent *elmChild in elmChildren) {
|
||||
for (NSString *identifier in identifiers) {
|
||||
if ([[elmChild description] containsString:identifier])
|
||||
return YES;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ([child isKindOfClass:%c(ASNodeController)]) {
|
||||
ASDisplayNode *childNode = ((ASNodeController *)child).node; // ELMContainerNode
|
||||
NSArray *yogaChildren = childNode.yogaChildren;
|
||||
for (ASDisplayNode *displayNode in yogaChildren) {
|
||||
if ([identifiers containsObject:displayNode.accessibilityIdentifier])
|
||||
return YES;
|
||||
}
|
||||
|
||||
return findCell(child, identifiers);
|
||||
}
|
||||
|
||||
return NO;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
%hook ASCollectionView
|
||||
|
||||
- (CGSize)sizeForElement:(ASCollectionElement *)element {
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.video.scrollable_action_bar"]) {
|
||||
ASCellNode *node = [element node];
|
||||
ASNodeController *nodeController = [node controller];
|
||||
if (IS_ENABLED(@"hideRemixButton_enabled") && findCell(nodeController, @[@"id.video.remix.button"])) {
|
||||
return CGSizeZero;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(@"hideClipButton_enabled") && findCell(nodeController, @[@"clip_button.eml"])) {
|
||||
return CGSizeZero;
|
||||
}
|
||||
|
||||
if (IS_ENABLED(@"hideDownloadButton_enabled") && findCell(nodeController, @[@"id.ui.add_to.offline.button"])) {
|
||||
return CGSizeZero;
|
||||
}
|
||||
}
|
||||
return %orig;
|
||||
}
|
||||
|
||||
%end
|
||||
|
||||
// Enable miniplayer for all videos
|
||||
// See YTMiniPlayerEnabler.x
|
||||
|
||||
// Use stock iOS volume HUD
|
||||
// See YTStockVolumeHUD.xm
|
||||
// Use YTColdConfig's method instead of YTStockVolumeHUD.xm, see https://x.com/PoomSmart/status/1756904290445332653
|
||||
%hook YTColdConfig
|
||||
- (BOOL)iosUseSystemVolumeControlInFullscreen {
|
||||
return IS_ENABLED(@"stockVolumeHUD_enabled") ? YES : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
# pragma mark - Video control overlay options
|
||||
|
||||
@@ -81,30 +137,33 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
else { return %orig; }
|
||||
}
|
||||
%end
|
||||
|
||||
// Hide next and previous buttons
|
||||
%group gHidePreviousAndNextButton
|
||||
%hook YTColdConfig
|
||||
- (BOOL)removeNextPaddleForSingletonVideos { return YES; }
|
||||
- (BOOL)removePreviousPaddleForSingletonVideos { return YES; }
|
||||
%end
|
||||
- (BOOL)iosEnableFeaturedChannelWatermarkOverlayFix {
|
||||
return IS_ENABLED(@"hideChannelWatermark_enabled") ? NO : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Replace next and previous buttons with fast forward and rewind
|
||||
%group gReplacePreviousAndNextButton
|
||||
%hook YTColdConfig
|
||||
- (BOOL)replaceNextPaddleWithFastForwardButtonForSingletonVods { return YES; }
|
||||
- (BOOL)replacePreviousPaddleWithRewindButtonForSingletonVods { return YES; }
|
||||
%end
|
||||
%end
|
||||
|
||||
// Bring back the red progress bar - Broken?!
|
||||
// Bring back the red progress bar - old versions
|
||||
%hook YTInlinePlayerBarContainerView
|
||||
- (id)quietProgressBarColor {
|
||||
return IS_ENABLED(@"redProgressBar_enabled") ? [UIColor redColor] : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Bring back the red progress bar - new versions
|
||||
%hook YTPlayerBarRectangleDecorationView
|
||||
- (void)drawRectangleDecorationWithSideMasks:(CGRect)rect {
|
||||
if (IS_ENABLED(@"redProgressBar_enabled")) {
|
||||
YTIPlayerBarDecorationModel *model = [self valueForKey:@"_model"];
|
||||
int overlayMode = model.playingState.overlayMode;
|
||||
model.playingState.overlayMode = 1;
|
||||
%orig;
|
||||
model.playingState.overlayMode = overlayMode;
|
||||
} else
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Hide videos' end screens
|
||||
// See YTNoHoverCards.x
|
||||
|
||||
@@ -140,17 +199,18 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
}
|
||||
%end
|
||||
|
||||
// Disable resume to Shorts
|
||||
%hook YTShortsStartupCoordinator
|
||||
- (id)evaluateResumeToShorts {
|
||||
return IS_ENABLED(@"disableResumeToShorts") ? nil : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
# pragma mark - Miscellaneous
|
||||
|
||||
// YTCastConfirm
|
||||
// See YTCastConfirm.xm
|
||||
// Hide iSponsorBlock
|
||||
%hook YTRightNavigationButtons
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_ENABLED(@"hideiSponsorBlockButton_enabled")) {
|
||||
self.sponsorBlockButton.hidden = YES;
|
||||
self.sponsorBlockButton.frame = CGRectZero;
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Disable hints - https://github.com/LillieH001/YouTube-Reborn/blob/v4/
|
||||
%group gDisableHints
|
||||
@@ -194,6 +254,13 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
%end
|
||||
%end
|
||||
|
||||
// Hide "Play next in queue" - qnblackcat/uYouPlus#1138
|
||||
%hook YTMenuItemVisibilityHandler
|
||||
- (BOOL)shouldShowServiceItemRenderer:(YTIMenuConditionalServiceItemRenderer *)renderer {
|
||||
return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 ? NO : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Force iPhone layout
|
||||
%group giPhoneLayout
|
||||
%hook UIDevice
|
||||
@@ -258,6 +325,33 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
}
|
||||
%end
|
||||
|
||||
// Fixes uYou crash when trying to play video (#1422)
|
||||
@interface YTVarispeedSwitchController : NSObject
|
||||
@end
|
||||
|
||||
@interface YTPlayerOverlayManager : NSObject
|
||||
@property (nonatomic, assign) float currentPlaybackRate;
|
||||
@property (nonatomic, strong, readonly) YTVarispeedSwitchController *varispeedController;
|
||||
|
||||
- (void)varispeedSwitchController:(YTVarispeedSwitchController *)varispeed didSelectRate:(float)rate;
|
||||
- (void)setCurrentPlaybackRate:(float)rate;
|
||||
- (void)setPlaybackRate:(float)rate;
|
||||
@end
|
||||
|
||||
%hook YTPlayerOverlayManager
|
||||
%property (nonatomic, assign) float currentPlaybackRate;
|
||||
|
||||
%new
|
||||
- (void)setCurrentPlaybackRate:(float)rate {
|
||||
[self varispeedSwitchController:self.varispeedController didSelectRate:rate];
|
||||
}
|
||||
|
||||
%new
|
||||
- (void)setPlaybackRate:(float)rate {
|
||||
[self varispeedSwitchController:self.varispeedController didSelectRate:rate];
|
||||
}
|
||||
%end
|
||||
|
||||
// Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
|
||||
// %hook YTIElementRenderer
|
||||
// - (NSData *)elementData {
|
||||
@@ -286,6 +380,8 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
- (BOOL)respectDeviceCaptionSetting { return NO; }
|
||||
// Swipe right to dismiss the right panel in fullscreen mode
|
||||
- (BOOL)isLandscapeEngagementPanelSwipeRightToDismissEnabled { return YES; }
|
||||
// Don't use new YT settings layout (Cairo Settings)
|
||||
- (BOOL)mainAppCoreClientEnableCairoSettings { return NO; }
|
||||
%end
|
||||
|
||||
# pragma mark - Constructor
|
||||
@@ -295,12 +391,6 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
||||
// dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY);
|
||||
|
||||
%init;
|
||||
if (IS_ENABLED(@"hidePreviousAndNextButton_enabled")) {
|
||||
%init(gHidePreviousAndNextButton);
|
||||
}
|
||||
if (IS_ENABLED(@"replacePreviousAndNextButton_enabled")) {
|
||||
%init(gReplacePreviousAndNextButton);
|
||||
}
|
||||
if (IS_ENABLED(@"disableHints_enabled")) {
|
||||
%init(gDisableHints);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,22 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
||||
#import <YouTubeHeader/YTCommonColorPalette.h>
|
||||
#import "uYouPlus.h"
|
||||
|
||||
// Prevent uYou player bar from showing when not playing downloaded media
|
||||
@interface YTSingleVideoController : NSObject
|
||||
-(float)playbackRate;
|
||||
-(void)setPlaybackRate:(float)arg1;
|
||||
@end
|
||||
|
||||
@interface YTPlayerViewController : UIViewController
|
||||
-(YTSingleVideoController *)activeVideo;
|
||||
@end
|
||||
|
||||
@interface PlayerManager : NSObject
|
||||
// Prevent uYou player bar from showing when not playing downloaded media
|
||||
- (float)progress;
|
||||
// Prevent uYou's playback from colliding with YouTube's
|
||||
- (void)setSource:(id)source;
|
||||
- (void)pause;
|
||||
+ (id)sharedInstance;
|
||||
@end
|
||||
|
||||
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
||||
|
||||
+59
-41
@@ -6,8 +6,8 @@
|
||||
%hook NSBundle
|
||||
- (NSDictionary *)infoDictionary {
|
||||
NSMutableDictionary *info = %orig.mutableCopy;
|
||||
NSString *altBundleIdentifier = info[@"ALTBundleIdentifier"];
|
||||
if (altBundleIdentifier) info[@"CFBundleIdentifier"] = altBundleIdentifier;
|
||||
if ([self isEqual:NSBundle.mainBundle])
|
||||
info[@"CFBundleIdentifier"] = @"com.google.ios.youtube";
|
||||
return info;
|
||||
}
|
||||
%end
|
||||
@@ -62,23 +62,36 @@
|
||||
%end
|
||||
|
||||
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
||||
%group iOS16
|
||||
%hook OBPrivacyLinkButton
|
||||
%new
|
||||
- (instancetype)initWithCaption:(NSString *)caption
|
||||
buttonText:(NSString *)buttonText
|
||||
image:(UIImage *)image
|
||||
imageSize:(CGSize)imageSize
|
||||
useLargeIcon:(BOOL)useLargeIcon {
|
||||
return [self initWithCaption:caption
|
||||
buttonText:buttonText
|
||||
image:image
|
||||
imageSize:imageSize
|
||||
useLargeIcon:useLargeIcon
|
||||
displayLanguage:[NSLocale currentLocale].languageCode];
|
||||
}
|
||||
%end
|
||||
%end
|
||||
// %group iOS16
|
||||
// %hook OBPrivacyLinkButton
|
||||
// %new
|
||||
// - (instancetype)initWithCaption:(NSString *)caption
|
||||
// buttonText:(NSString *)buttonText
|
||||
// image:(UIImage *)image
|
||||
// imageSize:(CGSize)imageSize
|
||||
// useLargeIcon:(BOOL)useLargeIcon {
|
||||
// return [self initWithCaption:caption
|
||||
// buttonText:buttonText
|
||||
// image:image
|
||||
// imageSize:imageSize
|
||||
// useLargeIcon:useLargeIcon
|
||||
// displayLanguage:[NSLocale currentLocale].languageCode];
|
||||
// }
|
||||
// %end
|
||||
// %end
|
||||
|
||||
// Fix uYou playback speed crashes YT v18.49.3+, see https://github.com/iCrazeiOS/uYouCrashFix
|
||||
// %hook YTPlayerViewController
|
||||
// %new
|
||||
// -(float)currentPlaybackRateForVarispeedSwitchController:(id)arg1 {
|
||||
// return [[self activeVideo] playbackRate];
|
||||
// }
|
||||
|
||||
// %new
|
||||
// -(void)varispeedSwitchController:(id)arg1 didSelectRate:(float)arg2 {
|
||||
// [[self activeVideo] setPlaybackRate:arg2];
|
||||
// }
|
||||
// %end
|
||||
|
||||
// Fix streched artwork in uYou's player view - https://github.com/MiRO92/uYou-for-YouTube/issues/287
|
||||
%hook ArtworkImageView
|
||||
@@ -103,8 +116,17 @@
|
||||
%end
|
||||
|
||||
// Fix uYou's appearance not updating if the app is backgrounded
|
||||
DownloadsPagerVC *downloadsPagerVC;
|
||||
NSUInteger selectedTabIndex;
|
||||
static DownloadsPagerVC *downloadsPagerVC;
|
||||
static NSUInteger selectedTabIndex;
|
||||
%hook DownloadsPagerVC
|
||||
- (id)init {
|
||||
downloadsPagerVC = %orig;
|
||||
return downloadsPagerVC;
|
||||
}
|
||||
- (void)viewPager:(id)viewPager didChangeTabToIndex:(NSUInteger)arg1 fromTabIndex:(NSUInteger)arg2 {
|
||||
%orig; selectedTabIndex = arg1;
|
||||
}
|
||||
%end
|
||||
static void refreshUYouAppearance() {
|
||||
if (!downloadsPagerVC) return;
|
||||
// View pager
|
||||
@@ -143,31 +165,27 @@ static void refreshUYouAppearance() {
|
||||
}
|
||||
}
|
||||
}
|
||||
%hook DownloadsPagerVC
|
||||
- (instancetype)init {
|
||||
downloadsPagerVC = %orig;
|
||||
return downloadsPagerVC;
|
||||
}
|
||||
- (void)viewPager:(id)viewPager didChangeTabToIndex:(NSUInteger)arg1 fromTabIndex:(NSUInteger)arg2 {
|
||||
%orig; selectedTabIndex = arg1;
|
||||
}
|
||||
%end
|
||||
%hook UIViewController
|
||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||
%orig;
|
||||
refreshUYouAppearance();
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
refreshUYouAppearance();
|
||||
});
|
||||
}
|
||||
%end
|
||||
|
||||
// Prevent uYou's playback from colliding with YouTube's
|
||||
BOOL isYTPlaybackActive = NO;
|
||||
%hook HAMPlayerInternal
|
||||
- (void)play { %orig; isYTPlaybackActive = YES; }
|
||||
- (void)terminate { %orig; isYTPlaybackActive = NO; }
|
||||
%hook PlayerVC
|
||||
- (void)close {
|
||||
%orig;
|
||||
[[%c(PlayerManager) sharedInstance] setSource:nil];
|
||||
}
|
||||
%end
|
||||
%hook PlayerManager
|
||||
%hook HAMPlayerInternal
|
||||
- (void)play {
|
||||
if (isYTPlaybackActive) return;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[[%c(PlayerManager) sharedInstance] pause];
|
||||
});
|
||||
%orig;
|
||||
}
|
||||
%end
|
||||
@@ -180,9 +198,9 @@ BOOL isYTPlaybackActive = NO;
|
||||
|
||||
%ctor {
|
||||
%init;
|
||||
if (@available(iOS 16, *)) {
|
||||
%init(iOS16);
|
||||
}
|
||||
// if (@available(iOS 16, *)) {
|
||||
// %init(iOS16);
|
||||
// }
|
||||
|
||||
// Disable broken options
|
||||
|
||||
@@ -196,5 +214,5 @@ BOOL isYTPlaybackActive = NO;
|
||||
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"disableAgeRestriction"];
|
||||
|
||||
// Disable uYou's playback speed controls (prevent crash on video playback https://github.com/therealFoxster/uYouPlus/issues/2#issuecomment-1894912963)
|
||||
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showPlaybackRate"];
|
||||
// [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"showPlaybackRate"];
|
||||
}
|
||||
@@ -1,11 +1,14 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTSettingsViewController.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTSearchableSettingsViewController.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTSettingsSectionItem.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTUIUtils.h"
|
||||
#import "../Tweaks/YouTubeHeader/YTSettingsPickerViewController.h"
|
||||
#import <YouTubeHeader/YTSettingsViewController.h>
|
||||
#import <YouTubeHeader/YTSearchableSettingsViewController.h>
|
||||
#import <YouTubeHeader/YTSettingsSectionItem.h>
|
||||
#import <YouTubeHeader/YTSettingsSectionItemManager.h>
|
||||
#import <YouTubeHeader/YTUIUtils.h>
|
||||
#import <YouTubeHeader/YTSettingsPickerViewController.h>
|
||||
#import "uYouPlus.h"
|
||||
|
||||
NSString *UYOUPLUS_RELEASES_URL = @"https://github.com/qnblackcat/uYouPlus/releases";
|
||||
NSString *UYOUPLUS_NEW_ISSUE_URL = @"https://github.com/qnblackcat/uYouPlus/issues/new?assignees=&labels=bug&projects=&template=bug.yaml&title=[v%@] %@";
|
||||
|
||||
// For displaying snackbars
|
||||
@interface YTHUDMessage : NSObject
|
||||
+ (id)messageWithText:(id)text;
|
||||
|
||||
+13
-10
@@ -54,7 +54,7 @@ extern NSBundle *uYouPlusBundle();
|
||||
return VERSION_STRING;
|
||||
}
|
||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/qnblackcat/uYouPlus/releases"]];
|
||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:UYOUPLUS_RELEASES_URL]];
|
||||
}
|
||||
];
|
||||
[sectionItems addObject:version];
|
||||
@@ -65,9 +65,9 @@ extern NSBundle *uYouPlusBundle();
|
||||
accessibilityIdentifier:nil
|
||||
detailTextBlock:nil
|
||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||
NSString *url = [NSString stringWithFormat:@"https://github.com/qnblackcat/uYouPlus/issues/new?assignees=&labels=bug&projects=&template=bug.yaml&title=[v%@] %@", VERSION_STRING, LOC(@"ADD_TITLE")];
|
||||
NSString *url = [NSString stringWithFormat:UYOUPLUS_NEW_ISSUE_URL, VERSION_STRING, LOC(@"ADD_TITLE")];
|
||||
|
||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"]]];
|
||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:url]];
|
||||
}
|
||||
];
|
||||
[sectionItems addObject:bug];
|
||||
@@ -163,10 +163,13 @@ extern NSBundle *uYouPlusBundle();
|
||||
# pragma mark - Video player options
|
||||
SECTION_HEADER(LOC(@"VIDEO_PLAYER_OPTIONS"));
|
||||
|
||||
SWITCH_ITEM(LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK"), LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK_DESC"), @"doubleTapToSeek_disabled");
|
||||
SWITCH_ITEM2(LOC(@"SLIDE_TO_SEEK"), LOC(@"SLIDE_TO_SEEK_DESC"), @"slideToSeek_enabled");
|
||||
SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled");
|
||||
SWITCH_ITEM2(LOC(@"PINCH_TO_ZOOM"), LOC(@"PINCH_TO_ZOOM_DESC"), @"pinchToZoom_enabled");
|
||||
SWITCH_ITEM(LOC(@"YT_MINIPLAYER"), LOC(@"YT_MINIPLAYER_DESC"), @"ytMiniPlayer_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_REMIX_BUTTON"), LOC(@"HIDE_REMIX_BUTTON_DESC"), @"hideRemixButton_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_CLIP_BUTTON"), LOC(@"HIDE_CLIP_BUTTON_DESC"), @"hideClipButton_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_DOWNLOAD_BUTTON"), LOC(@"HIDE_DOWNLOAD_BUTTON_DESC"), @"hideDownloadButton_enabled");
|
||||
SWITCH_ITEM(LOC(@"STOCK_VOLUME_HUD"), LOC(@"STOCK_VOLUME_HUD_DESC"), @"stockVolumeHUD_enabled");
|
||||
|
||||
# pragma mark - Video controls overlay options
|
||||
@@ -177,8 +180,6 @@ extern NSBundle *uYouPlusBundle();
|
||||
SWITCH_ITEM(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_PAID_PROMOTION_CARDS"), LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC"), @"hidePaidPromotionCard_enabled");
|
||||
SWITCH_ITEM2(LOC(@"HIDE_CHANNEL_WATERMARK"), LOC(@"HIDE_CHANNEL_WATERMARK_DESC"), @"hideChannelWatermark_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON"), LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC"), @"hidePreviousAndNextButton_enabled");
|
||||
SWITCH_ITEM2(LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON"), LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON_DESC"), @"replacePreviousAndNextButton_enabled");
|
||||
SWITCH_ITEM2(LOC(@"RED_PROGRESS_BAR"), LOC(@"RED_PROGRESS_BAR_DESC"), @"redProgressBar_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_HOVER_CARD"), LOC(@"HIDE_HOVER_CARD_DESC"), @"hideHoverCards_enabled");
|
||||
SWITCH_ITEM2(LOC(@"HIDE_RIGHT_PANEL"), LOC(@"HIDE_RIGHT_PANEL_DESC"), @"hideRightPanel_enabled");
|
||||
@@ -188,14 +189,13 @@ extern NSBundle *uYouPlusBundle();
|
||||
|
||||
SWITCH_ITEM(LOC(@"HIDE_SUPER_THANKS"), LOC(@"HIDE_SUPER_THANKS_DESC"), @"hideBuySuperThanks_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_SUBCRIPTIONS"), LOC(@"HIDE_SUBCRIPTIONS_DESC"), @"hideSubcriptions_enabled");
|
||||
SWITCH_ITEM(LOC(@"DISABLE_RESUME_TO_SHORTS"), LOC(@"DISABLE_RESUME_TO_SHORTS_DESC"), @"disableResumeToShorts");
|
||||
|
||||
# pragma mark - Miscellaneous
|
||||
SECTION_HEADER(LOC(@"MISCELLANEOUS"));
|
||||
|
||||
SWITCH_ITEM(LOC(@"CAST_CONFIRM"), LOC(@"CAST_CONFIRM_DESC"), @"castConfirm_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_ISPONSORBLOCK"), nil, @"hideiSponsorBlockButton_enabled");
|
||||
SWITCH_ITEM(LOC(@"DISABLE_HINTS"), LOC(@"DISABLE_HINTS_DESC"), @"disableHints_enabled");
|
||||
SWITCH_ITEM(LOC(@"ENABLE_YT_STARTUP_ANIMATION"), LOC(@"ENABLE_YT_STARTUP_ANIMATION_DESC"), @"ytStartupAnimation_enabled");
|
||||
SWITCH_ITEM2(LOC(@"ENABLE_YT_STARTUP_ANIMATION"), LOC(@"ENABLE_YT_STARTUP_ANIMATION_DESC"), @"ytStartupAnimation_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_CHIP_BAR"), LOC(@"HIDE_CHIP_BAR_DESC"), @"hideChipBar_enabled");
|
||||
SWITCH_ITEM(LOC(@"HIDE_PLAY_NEXT_IN_QUEUE"), LOC(@"HIDE_PLAY_NEXT_IN_QUEUE_DESC"), @"hidePlayNextInQueue_enabled");
|
||||
SWITCH_ITEM2(LOC(@"IPHONE_LAYOUT"), LOC(@"IPHONE_LAYOUT_DESC"), @"iPhoneLayout_enabled");
|
||||
@@ -203,7 +203,10 @@ extern NSBundle *uYouPlusBundle();
|
||||
SWITCH_ITEM2(LOC(@"YT_RE_EXPLORE"), LOC(@"YT_RE_EXPLORE_DESC"), @"reExplore_enabled");
|
||||
SWITCH_ITEM(LOC(@"ENABLE_FLEX"), LOC(@"ENABLE_FLEX_DESC"), @"flex_enabled");
|
||||
|
||||
[settingsViewController setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:LOC(@"TITLE DESCRIPTION") headerHidden:YES];
|
||||
if ([settingsViewController respondsToSelector:@selector(setSectionItems:forCategory:title:icon:titleDescription:headerHidden:)])
|
||||
[settingsViewController setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" icon:nil titleDescription:LOC(@"TITLE DESCRIPTION") headerHidden:YES];
|
||||
else
|
||||
[settingsViewController setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:LOC(@"TITLE DESCRIPTION") headerHidden:YES];
|
||||
}
|
||||
|
||||
- (void)updateSectionForCategory:(NSUInteger)category withEntry:(id)entry {
|
||||
|
||||
+12
-11
@@ -1,9 +1,10 @@
|
||||
#import "../Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
||||
#import "../Tweaks/YouTubeHeader/ASCollectionView.h"
|
||||
#import <YouTubeHeader/YTCommonColorPalette.h>
|
||||
#import <YouTubeHeader/ASCollectionView.h>
|
||||
#import <YouTubeHeader/_ASDisplayView.h>
|
||||
#import "uYouPlus.h"
|
||||
|
||||
@interface YCHLiveChatView : UIView
|
||||
@end
|
||||
// @interface YCHLiveChatView : UIView
|
||||
// @end
|
||||
|
||||
@interface YTFullscreenEngagementOverlayView : UIView
|
||||
@end
|
||||
@@ -11,8 +12,8 @@
|
||||
@interface YTRelatedVideosView : UIView
|
||||
@end
|
||||
|
||||
@interface ELMView : UIView
|
||||
@end
|
||||
// @interface ELMView : UIView
|
||||
// @end
|
||||
|
||||
@interface ASWAppSwitcherCollectionViewCell : UIView
|
||||
@end
|
||||
@@ -26,11 +27,8 @@
|
||||
@interface UIKeyboardDockView : UIView
|
||||
@end
|
||||
|
||||
@interface _ASDisplayView : UIView
|
||||
@end
|
||||
|
||||
@interface YTCommentDetailHeaderCell : UIView
|
||||
@end
|
||||
// @interface YTCommentDetailHeaderCell : UIView
|
||||
// @end
|
||||
|
||||
@interface SponsorBlockSettingsController : UITableViewController
|
||||
@end
|
||||
@@ -44,6 +42,9 @@
|
||||
@interface UIPredictionViewController : UIViewController
|
||||
@end
|
||||
|
||||
@interface TUIEmojiSearchView : UIView
|
||||
@end
|
||||
|
||||
@interface FRPreferences : UITableViewController
|
||||
@end
|
||||
|
||||
|
||||
+47
-105
@@ -123,22 +123,20 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
}
|
||||
%end
|
||||
|
||||
// Your videos
|
||||
// Download sort
|
||||
%hook GOODialogView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Playlist sort
|
||||
%hook ASCollectionView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) {
|
||||
self.superview.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
// Sub menu?
|
||||
%hook ELMView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[0].backgroundColor = [UIColor clearColor];
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
@@ -162,108 +160,46 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
}
|
||||
%end
|
||||
|
||||
// Search view
|
||||
%hook YTSearchBarView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// History search view
|
||||
%hook YTSearchBoxView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
|
||||
}
|
||||
%end
|
||||
|
||||
// Comment view
|
||||
%hook YTCommentView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentAccessoryView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCreateCommentTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
- (void)setTextColor:(UIColor *)color { // fix black text in #Shorts video's comment
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor whiteColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCommentDetailHeaderCell
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[2].backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTFormattedStringLabel // YT is werid...
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor clearColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Live chat comment
|
||||
%hook YCHLiveChatActionPanelView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTEmojiTextView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YCHLiveChatView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
// self.subviews[1].backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
}
|
||||
%end
|
||||
|
||||
%hook YTCollectionView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
//
|
||||
%hook YTBackstageCreateRepostDetailView
|
||||
- (void)setBackgroundColor:(UIColor *)color {
|
||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||
}
|
||||
%end
|
||||
|
||||
// Others
|
||||
%hook _ASDisplayView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
|
||||
//
|
||||
UIResponder *responder = self.nextResponder;
|
||||
UIViewController *closestViewController = nil;
|
||||
|
||||
while (responder != nil) {
|
||||
if ([responder isKindOfClass:[UIViewController class]]) {
|
||||
closestViewController = (UIViewController *)responder;
|
||||
break;
|
||||
}
|
||||
responder = responder.nextResponder;
|
||||
}
|
||||
|
||||
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTActionSheetDialogViewController"] &&
|
||||
(([NSStringFromClass([self.superview class]) isEqualToString:@"YTELMView"]) ||
|
||||
[NSStringFromClass([self.superview class]) isEqualToString:@"_ASDisplayView"] ||
|
||||
[NSStringFromClass([self.superview class]) isEqualToString:@"ELMView"])) {
|
||||
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
|
||||
// Save video bottom
|
||||
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTBottomSheetController"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
|
||||
// Subcriptions header
|
||||
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTMySubsFilterHeaderViewController"] &&
|
||||
([NSStringFromClass([self.superview class]) isEqualToString:@"YTELMView"])) {
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_bottom_sheet_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||
}
|
||||
@@ -288,7 +224,6 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
%orig;
|
||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||
self.backgroundColor = raisedColor;
|
||||
// self.subviews[1].backgroundColor = raisedColor;
|
||||
self.superview.backgroundColor = raisedColor;
|
||||
}
|
||||
}
|
||||
@@ -303,6 +238,13 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
# pragma mark - OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
||||
|
||||
%group gOLEDKB
|
||||
%hook TUIEmojiSearchView
|
||||
- (void)didMoveToWindow {
|
||||
%orig;
|
||||
self.backgroundColor = [UIColor blackColor];
|
||||
}
|
||||
%end
|
||||
|
||||
%hook UIPredictionViewController
|
||||
- (void)loadView {
|
||||
%orig;
|
||||
@@ -346,4 +288,4 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
||||
if (IS_ENABLED(@"oledKeyBoard_enabled")) {
|
||||
%init(gOLEDKB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
Submodule Tweaks/DontEatMyContent updated: eccde5ba98...95fecff296
+1
-1
Submodule Tweaks/FLEXing updated: f7a65cf89b...d0c2c2594a
+1
-1
Submodule Tweaks/IAmYouTube updated: f3872945d9...fbc81ebcdd
+1
-1
Submodule Tweaks/NoYTPremium updated: 510b474b37...f792a42130
Submodule Tweaks/PSHeader deleted from b836acf9c1
Submodule Tweaks/Return-YouTube-Dislikes updated: 53e73795cd...f32cecc0c1
+1
-1
Submodule Tweaks/YTABConfig updated: 07f8548a00...0731dec58e
Submodule Tweaks/YTClassicVideoQuality updated: d983151bcb...863c0957d2
+1
-1
Submodule Tweaks/YTSpeed updated: 3ddaf3d0e1...c8551998b1
+1
-1
Submodule Tweaks/YTUHD updated: adf6ba1446...3e8bf45ee2
+1
-1
Submodule Tweaks/YTVideoOverlay updated: 76d11f40e6...0fc6d29d1a
+1
-1
Submodule Tweaks/YouMute updated: 7ffdb1eda6...c6b8b6ba2f
+1
-1
Submodule Tweaks/YouPiP updated: 519a8988bc...ae6dd6ed69
+1
-1
Submodule Tweaks/YouQuality updated: 7a9841410d...5dfe20bd8a
+1
-1
Submodule Tweaks/YouTubeHeader updated: 6741ac775d...33c1ba642e
+1
-1
Submodule Tweaks/iSponsorBlock updated: 2c85fcecd8...fb2cc71e91
Binary file not shown.
@@ -1,2 +1,37 @@
|
||||
# To build, place the IPA file in the project's root directory, then run `./build.sh`
|
||||
make package IPA=$(pwd)*.ipa FINALPACKAGE=1
|
||||
#!/bin/bash
|
||||
# To build, either place the IPA file in the project's root directory, or get the path to the IPA, then run `./build.sh`
|
||||
|
||||
read -p $'\e[34m==> \e[1;39mPath to the decrypted YouTube.ipa or YouTube.app. If nothing is provied, any ipa/app in the project\'s root directory will be used: ' PATHTOYT
|
||||
|
||||
# Check if PATHTOYT is empty
|
||||
if [ -z "$PATHTOYT" ]; then
|
||||
# Look for ipa/app files in the current directory
|
||||
IPAS=$(find . -maxdepth 1 -type f \( -name "*.ipa" -o -name "*.app" \))
|
||||
|
||||
# Check if there are two or more ipa/app files
|
||||
COUNT=$(echo "$IPAS" | wc -l)
|
||||
|
||||
if [ "$COUNT" -ge 2 ]; then
|
||||
echo "❌ Error: Multiple IPA/app files found in the project's root directory directory. Make sure there is only one ipa."
|
||||
exit 1
|
||||
|
||||
elif [ -n "$IPAS" ]; then
|
||||
PATHTOYT=$(echo "$IPAS" | head -n 1)
|
||||
|
||||
else
|
||||
echo "❌ Error: No IPA/app file found in the project's root directory directory."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
make package THEOS_PACKAGE_SCHEME=rootless IPA="$PATHTOYT" FINALPACKAGE=1
|
||||
|
||||
# SHASUM
|
||||
if [[ $? -eq 0 ]]; then
|
||||
open packages
|
||||
echo "SHASUM256: $(shasum -a 256 packages/*.ipa)"
|
||||
|
||||
else
|
||||
echo "Failed building uYouPlus"
|
||||
|
||||
fi
|
||||
@@ -6,5 +6,5 @@ Maintainer: qnblackcat
|
||||
Author: qnblackcat
|
||||
Section: Tweaks
|
||||
Depends: mobilesubstrate (>= 0.9.5000), com.miro.uyou
|
||||
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.devvix.ytcastconfirm, com.ps.ytclassicvideoquality, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, me.foxster.donteatmycontent, com.lyvendia.ytspeed, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
||||
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
||||
Recommends: com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn
|
||||
|
||||
Reference in New Issue
Block a user