This commit is contained in:
Victor Alves 2024-08-12 16:37:59 -03:00
commit 6161bd4b69
37 changed files with 2293 additions and 1714 deletions

View file

@ -77,6 +77,7 @@ body:
options:
- buildapp.yml (GitHub Actions)
- build.sh (Shell script)
- Downloaded from third party
validations:
required: true

View file

@ -32,17 +32,17 @@ on:
required: false
type: string
upload_artifact:
description: "Upload ipa as artifact"
description: "Upload iPA as artifact (Public)"
default: true
required: false
type: boolean
catbox_upload:
description: "Upload ipa to Catbox.moe"
description: "Upload iPA to Catbox.moe (URL)"
default: false
required: false
type: boolean
create_release:
description: "Create a draft release"
description: "Create a draft release (Private)"
default: false
required: false
type: boolean
@ -60,7 +60,7 @@ jobs:
steps:
- name: Checkout Main
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4
with:
path: main
ref: ${{ github.event.inputs.commit_id || github.ref }}
@ -69,17 +69,17 @@ jobs:
- name: Install Dependencies
run: brew install ldid dpkg make
- name: Setup Theos
uses: actions/checkout@v4.1.7
- name: Download Theos
uses: actions/checkout@v4
with:
repository: theos/theos
ref: 3da31488281ecf4394d10302d2629607f4a1aa07
path: theos
submodules: recursive
- name: SDK Caching
- name: iOS SDK Caching
id: SDK
uses: actions/cache@v4.0.2
uses: actions/cache@v4
env:
cache-name: iOS-${{ inputs.sdk_version }}-SDK
with:
@ -90,6 +90,7 @@ jobs:
- name: Download iOS SDK
if: steps.SDK.outputs.cache-hit != 'true'
run: |
# Only download the specific SDK version
git clone -n --depth=1 --filter=tree:0 https://github.com/theos/sdks/
cd sdks
git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk
@ -98,7 +99,7 @@ jobs:
env:
THEOS: ${{ github.workspace }}/theos
- name: Setup Theos Jailed
- name: Download Theos Jailed
uses: actions/checkout@v4.1.7
with:
repository: qnblackcat/theos-jailed
@ -106,44 +107,72 @@ jobs:
path: theos-jailed
submodules: recursive
- name: Set PATH environment variable
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
- name: Install Theos Jailed
run: |
./theos-jailed/install
env:
THEOS: ${{ github.workspace }}/theos
- name: Fix Compiling
run: |
# Update GNU Make to allow for faster building
echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
(echo export PATH="/usr/local/opt/make/libexec/gnubin:$PATH" >> ~/.bash_profile)
source ~/.bash_profile
- name: Prepare YouTube iPA
run: |
# Download and unzip iPA
wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa
unzip -q main/YouTube.ipa -d main/tmp
# Get the version number of the YouTube app and store it
echo "YT_VERSION=$(grep -A 1 '<key>CFBundleVersion</key>' main/tmp/Payload/YouTube.app/Info.plist | grep '<string>' | awk -F'[><]' '{print $3}')" >> $GITHUB_ENV
# Get the version number of the latest release
wget -qO- https://github.com/dayanch96/YTLite/releases/latest > main/tmp/release_page.html
YTLITE_VERSION=$(grep -o -E '/tag/v[^"]+' main/tmp/release_page.html | head -n 1 | sed 's/\/tag\/v//')
echo "YTLITE_VERSION=${YTLITE_VERSION}" >> $GITHUB_ENV
echo $YTLITE_VERSION
# Remove contents in the iPA that interfere with sideloading
rm -rf main/tmp/Payload/YouTube.app/_CodeSignature/CodeResources
rm -rf main/tmp/Payload/YouTube.app/PlugIns/*
# Modify Info.plist to remove UISupportedDevices (Python script)
python - <<EOF
import plistlib
def remove_uisupporteddevices(filepath):
with open(filepath, 'rb') as f:
plist = plistlib.load(f)
if 'UISupportedDevices' in plist:
del plist['UISupportedDevices']
with open(filepath, 'wb') as f:
plistlib.dump(plist, f)
filepath = 'main/tmp/Payload/YouTube.app/Info.plist'
remove_uisupporteddevices(filepath)
EOF
# Manually install the Open in YouTube extension
cp -R main/Extensions/*.appex main/tmp/Payload/YouTube.app/PlugIns
env:
THEOS: ${{ github.workspace }}/theos
YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }}
- name: Fix Compiling & Build Package
- name: Build Package
id: build_package
run: |
(echo export PATH="/usr/local/opt/make/libexec/gnubin:$PATH" >> ~/.bash_profile)
source ~/.bash_profile
cd ${{ github.workspace }}/main
sed -i '' "12s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
sed -i '' "11s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
# Replace lines in Makefile based on inputs
sed -i '' "s/^BUNDLE_ID.*$/BUNDLE_ID = ${{ env.BUNDLE_ID }}/" Makefile
sed -i '' "s/^DISPLAY_NAME.*$/DISPLAY_NAME = ${{ env.APP_NAME }}/" Makefile
sed -i '' "s/^PACKAGE_VERSION.*$/PACKAGE_VERSION = ${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }}/" Makefile
sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:15.0#g" Makefile
make package FINALPACKAGE=1
sed -i '' "s/^export TARGET.*$/export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0/" Makefile
# Build the package
make package
# Rename the package based on the version
(mv "packages/$(ls -t packages | head -n1)" "packages/YTLitePlus_${{ env.YT_VERSION }}_${{ env.YTLITE_VERSION }}.ipa")
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT
# Pass package name to the upload step
echo "package=$(ls -t packages | head -n1)" >> $GITHUB_OUTPUT
# Print out the hash and bundle ID
echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m"
echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m"
env:
@ -153,7 +182,7 @@ jobs:
- name: Upload Artifact
if: ${{ inputs.upload_artifact }}
uses: actions/upload-artifact@v4.3.3
uses: actions/upload-artifact@v4
with:
name: YTLitePlus_${{ env.YT_VERSION }}_${{ env.YTLITE_VERSION }}
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
@ -166,7 +195,9 @@ jobs:
CATBOX_URL=$(echo $RESPONSE | grep -o -E 'https://files.catbox.moe/[^"]*')
echo "Uploaded artifact to $CATBOX_URL"
CATBOX_FILE=$(echo $CATBOX_URL | sed 's|https://files.catbox.moe/||')
# Pass Catbox URL to the release steps
echo "CATBOX_FILE=$CATBOX_FILE" >> $GITHUB_ENV
echo "CATBOX_URL=$CATBOX_URL" >> $GITHUB_ENV
- name: Prepare Release Notes
if: ${{ inputs.create_release }}
@ -175,10 +206,10 @@ jobs:
sed "s/%ytliteplus_version%/${{ env.YTLITE_VERSION }}/g; s/%youtube_version%/${{ env.YT_VERSION }}/g; s/%catbox_url%/${{ env.CATBOX_FILE }}/g; s/%date%/$TODAY/g" \
main/.github/RELEASE_TEMPLATE/Release.md > ${{ github.workspace }}/release_notes.md
- name: Create Release
- name: Create Draft Release
if: ${{ inputs.create_release }}
id: create_release
uses: softprops/action-gh-release@v2.0.6
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
@ -197,3 +228,30 @@ jobs:
--data-raw '{
"event_type": "update-altstore-source-trigger"
}'
- name: Job Summary
run: |
echo -e '### 📺 Build Complete' >> $GITHUB_STEP_SUMMARY
- name: Job Summary - Artifact Upload
if: ${{ inputs.upload_artifact }}
run: |
echo -e '### 📦 Artifact Upload\n\nThe artifact was uploaded successfully! Refresh and [scroll down](#artifacts) to view the artifact. Note that you must be signed in to GitHub to download it.' >> $GITHUB_STEP_SUMMARY
- name: Job Summary - Catbox Upload
if: ${{ inputs.catbox_upload}}
run: |
echo -e '### 🐱 Catbox Upload\n\nThe Catbox upload was successful! Here is a permanent shareable link: '$CATBOX_URL >> $GITHUB_STEP_SUMMARY
- name: Job Summary - Draft Release
if: ${{ inputs.create_release }}
run: |
REPO_URL="https://github.com/${{ github.repository }}"
RELEASES_URL="$REPO_URL/releases"
echo -e '### 🚀 Draft Release\n\nThe release draft has been created successfully! You can view your releases here: '$RELEASES_URL >> $GITHUB_STEP_SUMMARY
- name: Job Summary - Link to remove GitHub Action runs
run: |
REPO_URL="https://github.com/${{ github.repository }}"
DELETE_RUNS_URL="$REPO_URL/actions/workflows/delete-workflow-runs.yml"
echo -e '### 🧹 Cleanup\n\nYou can remove previous GitHub Action runs here: '$DELETE_RUNS_URL >> $GITHUB_STEP_SUMMARY

View file

@ -1,3 +1,5 @@
# This is based on the example at https://github.com/marketplace/actions/delete-workflow-runs
name: Delete old workflow runs
on:
workflow_dispatch:
@ -5,15 +7,15 @@ on:
days:
description: 'Days-worth of runs to keep for each workflow'
required: true
default: '7' # default value is "30"
default: '0'
minimum_runs:
description: 'Minimum runs to keep for each workflow'
required: true
default: '5' # default value is "6"
default: '0'
delete_workflow_pattern:
description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
required: false
default: 'Build and Release YTLitePlus' # default value is ""
default: 'Build and Release YTLitePlus'
delete_workflow_by_state_pattern:
description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
required: true

View file

@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.7
- name: Set up Git
run: |

48
.gitmodules vendored
View file

@ -1,24 +1,9 @@
[submodule "Tweaks/YTUHD"]
path = Tweaks/YTUHD
url = https://github.com/arichornloverALT/YTUHD.git
[submodule "Tweaks/YouPiP"]
path = Tweaks/YouPiP
url = https://github.com/Balackburn/YouPiP.git
[submodule "Tweaks/Return-YouTube-Dislikes"]
path = Tweaks/Return-YouTube-Dislikes
url = https://github.com/Balackburn/Return-YouTube-Dislikes.git
[submodule "Tweaks/Alderis"]
path = Tweaks/Alderis
url = https://github.com/hbang/Alderis.git
[submodule "Tweaks/PSHeader"]
path = Tweaks/PSHeader
url = https://github.com/PoomSmart/PSHeader.git
[submodule "Tweaks/YTABConfig"]
path = Tweaks/YTABConfig
url = https://github.com/Balackburn/YTABConfig.git
[submodule "Tweaks/YouMute"]
path = Tweaks/YouMute
url = https://github.com/arichornloverALT/YouMute.git
[submodule "Tweaks/FLEX"]
path = Tweaks/FLEX
url = https://github.com/qnblackcat/FLEX-Classes.git
@ -37,15 +22,36 @@
[submodule "Tweaks/YTVideoOverlay"]
path = Tweaks/YTVideoOverlay
url = https://github.com/arichornloverALT/YTVideoOverlay.git
[submodule "Tweaks/YouQuality"]
path = Tweaks/YouQuality
url = https://github.com/Balackburn/YouQuality.git
[submodule "Tweaks/protobuf"]
path = Tweaks/protobuf
url = https://github.com/protocolbuffers/protobuf.git
[submodule "Tweaks/YouGroupSettings"]
path = Tweaks/YouGroupSettings
url = https://github.com/arichornloverALT/YouGroupSettings.git
[submodule "Tweaks/YouTubeHeader"]
path = Tweaks/YouTubeHeader
url = https://github.com/PoomSmart/YouTubeHeader.git
[submodule "Tweaks/YouPiP"]
path = Tweaks/YouPiP
url = https://github.com/PoomSmart/YouPiP
[submodule "Tweaks/YTABConfig"]
path = Tweaks/YTABConfig
url = https://github.com/PoomSmart/YTABConfig
[submodule "Tweaks/YTUHD"]
path = Tweaks/YTUHD
url = https://github.com/PoomSmart/YTUHD
[submodule "Tweaks/YouGroupSettings"]
path = Tweaks/YouGroupSettings
url = https://github.com/PoomSmart/YouGroupSettings
[submodule "Tweaks/YouMute"]
path = Tweaks/YouMute
url = https://github.com/PoomSmart/YouMute
[submodule "Tweaks/YouQuality"]
path = Tweaks/YouQuality
url = https://github.com/PoomSmart/YouQuality
[submodule "Tweaks/Return-YouTube-Dislikes"]
path = Tweaks/Return-YouTube-Dislikes
url = https://github.com/arichornloverALT/Return-YouTube-Dislikes.git
[submodule "Tweaks/YTHeaders"]
path = Tweaks/YTHeaders
url = https://github.com/therealFoxster/YTHeaders
[submodule "Tweaks/YouTimeStamp"]
path = Tweaks/YouTimeStamp
url = https://github.com/arichornloverALT/YouTimeStamp.git

View file

@ -1,4 +1,4 @@
TARGET = iphone:clang:16.5:15.0
TARGET = iphone:clang:16.5:14.0
YTLitePlus_USE_FISHHOOK = 0
ARCHS = arm64
MODULES = jailed
@ -12,7 +12,10 @@ BUNDLE_ID = com.google.ios.youtube
EXTRA_CFLAGS := $(addprefix -I,$(shell find Tweaks/FLEX -name '*.h' -exec dirname {} \;)) -I$(THEOS_PROJECT_DIR)/Tweaks
YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib
# Allow YouTubeHeader to be accessible using #include <...>
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks
YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/YouMute.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouGroupSettings.dylib .theos/obj/YouQuality.dylib .theos/obj/YouTimeStamp.dylib
YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m') $(shell find Tweaks/FLEX -type f \( -iname \*.c -o -iname \*.m -o -iname \*.mm \))
YTLitePlus_IPA = ./tmp/Payload/YouTube.app
YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unsupported-availability-guard -Wno-unused-but-set-variable -DTWEAK_VERSION=$(PACKAGE_VERSION) $(EXTRA_CFLAGS)
@ -20,7 +23,7 @@ YTLitePlus_FRAMEWORKS = UIKit Security
include $(THEOS)/makefiles/common.mk
include $(THEOS_MAKE_PATH)/tweak.mk
SUBPROJECTS += Tweaks/Alderis Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YouMute Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouQuality Tweaks/YouGroupSettings
SUBPROJECTS += Tweaks/Alderis Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YouMute Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouQuality Tweaks/YouTimeStamp Tweaks/YouGroupSettings
include $(THEOS_MAKE_PATH)/aggregate.mk
YTLITE_PATH = Tweaks/YTLite
@ -42,6 +45,7 @@ before-package::
@cp -R Tweaks/iSponsorBlock/layout/Library/Application\ Support/iSponsorBlock.bundle Resources/
@cp -R Tweaks/YTVideoOverlay/layout/Library/Application\ Support/YTVideoOverlay.bundle Resources/
@cp -R Tweaks/YouQuality/layout/Library/Application\ Support/YouQuality.bundle Resources/
@cp -R Tweaks/YouTimeStamp/layout/Library/Application\ Support/YouTimeStamp.bundle Resources/
@cp -R lang/YTLitePlus.bundle Resources/
@echo -e "==> \033[1mChanging the installation path of dylibs...\033[0m"
@ldid -r .theos/obj/iSponsorBlock.dylib && install_name_tool -change /usr/lib/libcolorpicker.dylib @rpath/libcolorpicker.dylib .theos/obj/iSponsorBlock.dylib

161
README.md
View file

@ -26,122 +26,49 @@
# Credits
<table id='ytliteplus credit'>
<tr>
<td align="center">
<a href='https://github.com/dayanch96'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/293f1a61-00b8-424a-9e00-f520f5a88064' width='120px;'>
</a>
</td>
<td align="center">
<a href='https://github.com/arichorn'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/2753042f-9efa-404d-a719-4761ad48d323' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/balackburn'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/d08ccf99-d3e5-4388-833f-22632dc66fd2' width='120px'>
</td>
</a>
<td id='ssuesskind'>
<a href='https://github.com/ssuesskind'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/ed6bc6a0-ef55-4548-8d60-32d86f2aa9f3' width='120px;'>
</a>
<td align="center">
<a href='https://github.com/Deci8BelioS'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/8cca7bf9-4c52-4c25-99dd-2b26434b7deb' width='120px'>
</a>
<br>
</tr>
<br>
<tr>
<td align="center">
<a href='https://github.com/MiRO92'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/ca462139-3a55-4ce1-a774-ffd13c459c80' width='120px'>
</a>
<br>
</td>
<td align="center">
<a href='https://github.com/qnblackcat'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/20b0d6d9-d892-4af4-9762-6617d49743b8' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/PoomSmart'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/668fe74e-9da1-4115-8fd0-ed7c308976b3' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/level3tjg'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/b11fe92d-aceb-4aa1-88bf-7699c5f4ac5f' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/BandarHL'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/dc4f0597-017b-44c1-8b52-33ec168a56f3' width='120px'>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href='https://github.com/Galactic-Dev'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/f489e91e-3b04-45d3-b094-68b83c43da25' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/julioverne'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/0f7336ea-7f54-4155-995f-dea58d39f022' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/hbang'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/2eec50db-e2df-4217-a230-5c5cc7223934' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/Lyvendia'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/36902aa9-1f81-403c-b9b5-ebbd9e8b9ef9' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/therealFoxster'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/60427fc8-e019-43d6-86ae-01ad8b4a1e77' width='120px'>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href='https://github.com/ichitaso'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/6a1cb4b7-5eec-4cda-8bed-f5dea2408323' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/AhmedBafkir'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/55b270be-1d43-4e2c-81da-ee04d993d447' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/CokePokes'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/5a40346b-b652-4eca-955f-272baf45c6dd' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/ISnackable'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/5b5355b1-0a7d-4202-affe-725406e9af72' width='120px'>
</a>
</td>
<td align="center">
<a href='https://github.com/theos/theos'>
<img src='https://github.com/Balackburn/YTLitePlus/assets/93828569/e5c37588-95f4-4773-b3fe-40ba02499160' width='120px'>
</a>
</td>
</tr>
<table>
<tr>
<td align="center"><a href="https://github.com/dayanch96"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/dayanch96.png" width="100px;" alt="dayanch96"/></a></td>
<td align="center"><a href="https://github.com/Balackburn"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Balackburn.png" width="100px;" alt="Balackburn"/></a></td>
<td align="center"><a href="https://github.com/arichornloverALT"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/arichornloverALT.png" width="100px;" alt="arichornloverALT"/></a></td>
<td align="center"><a href="https://github.com/PoomSmart"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/PoomSmart.png" width="100px;" alt="PoomSmart"/></a></td>
<td align="center"><a href="https://github.com/qnblackcat"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/qnblackcat.png" width="100px;" alt="qnblackcat"/></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/SKEIDs"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/SKEIDs.png" width="100px;" alt="SKEIDs"/></a></td>
<td align="center"><a href="https://github.com/asdfzxcvbn"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/asdfzxcvbn.png" width="100px;" alt="asdfzxcvbn"/></a></td>
<td align="center"><a href="https://github.com/matt911"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/matt911.png" width="100px;" alt="matt911"/></a></td>
<td align="center"><a href="https://github.com/bhackel"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/bhackel.png" width="100px;" alt="bhackel"/></a></td>
<td align="center"><a href="https://github.com/AlexInABox"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/AlexInABox.png" width="100px;" alt="AlexInABox"/></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Glenta"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Glenta.png" width="100px;" alt="Glenta"/></a></td>
<td align="center"><a href="https://github.com/gototheskinny"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/gototheskinny.png" width="100px;" alt="gototheskinny"/></a></td>
<td align="center"><a href="https://github.com/MrAlucardDante"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/MrAlucardDante.png" width="100px;" alt="MrAlucardDante"/></a></td>
<td align="center"><a href="https://github.com/Galactic-Dev"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Galactic-Dev.png" width="100px;" alt="Galactic-Dev"/></a></td>
<td align="center"><a href="https://github.com/AhmedBafkir"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/AhmedBafkir.png" width="100px;" alt="AhmedBafkir"/></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/MiRO92"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/MiRO92.png" width="100px;" alt="MiRO92"/></a></td>
<td align="center"><a href="https://github.com/ichitaso"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/ichitaso.png" width="100px;" alt="ichitaso"/></a></td>
<td align="center"><a href="https://github.com/Deci8BelioS"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Deci8BelioS.png" width="100px;" alt="Deci8BelioS"/></a></td>
<td align="center"><a href="https://github.com/julioverne"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/julioverne.png" width="100px;" alt="julioverne"/></a></td>
<td align="center"><a href="https://github.com/therealFoxster"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/therealFoxster.png" width="100px;" alt="therealFoxster"/></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Lyvendia"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Lyvendia.png" width="100px;" alt="Lyvendia"/></a></td>
<td align="center"><a href="https://github.com/ssuesskind"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/ssuesskind.png" width="100px;" alt="ssuesskind"/></a></td>
<td align="center"><a href="https://github.com/hbang"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/hbang.png" width="100px;" alt="hbang"/></a></td>
<td align="center"><a href="https://github.com/level3tjg"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/level3tjg.png" width="100px;" alt="level3tjg"/></a></td>
<td align="center"><a href="https://github.com/zSaaiq"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/zSaaiq.png" width="100px;" alt="zSaaiq"/></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/ISnackable"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/ISnackable.png" width="100px;" alt="ISnackable"/></a></td>
<td align="center"><a href="https://github.com/VictorxD70"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/VictorxD70.png" width="100px;" alt="VictorxD70"/></a></td>
<td align="center"><a href="https://github.com/Macleykun"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/Macleykun.png" width="100px;" alt="Macleykun"/></a></td>
<td align="center"><a href="https://github.com/BandarHL"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/BandarHL.png" width="100px;" alt="BandarHL"/></a></td>
<td align="center"><a href="https://github.com/CokePokes"><img src="https://raw.githubusercontent.com/YTLitePlus/Assets/main/Github/Credits/CokePokes.png" width="100px;" alt="CokePokes"/></a></td>
</tr>
</table>
# Features
@ -184,7 +111,7 @@
20. **OLDDarkmode**: Replace new official Youtube darkmode with old (grey) Youtube darkmode.
21. **LowContrastMode**: Makes the YouTube Interface Low Contrast as possible to make it easier on the eyes.
21. **LowContrastMode**: Makes the UI interface look dimmer to make it easier on the eyes. (App Compatibility: v17.33.2-v17.38.10)
# AltStore

View file

@ -51,6 +51,17 @@ static int appVersionSpoofer() {
extern NSBundle *YTLitePlusBundle();
// Keys for "Copy Settings" button (for: YTLitePlus)
NSArray *copyKeys = @[
/* MAIN Controls Keys 1/2 */ @"enableShareButton_enabled", @"enableSaveToButton_enabled", @"hideVideoPlayerShadowOverlayButtons_enabled", @"hideRightPanel_enabled", @"hideHeatwaves_enabled", @"disableAmbientModePortrait_enabled",
/* MAIN Controls Keys 2/2 */ @"disableAmbientModeFullscreen_enabled", @"fullscreenToTheRight_enabled", @"seekAnywhere_enabled", @"YTTapToSeek_enabled", @"disablePullToFull_enabled", @"alwaysShowRemainingTime_enabled", @"disableRemainingTime_enabled", @"disableEngagementOverlay_enabled",
/* MAIN App Overlay Keys 1/2 */ @"disableAccountSection_enabled", @"disableAutoplaySection_enabled", @"disableTryNewFeaturesSection_enabled", @"disableVideoQualityPreferencesSection_enabled", @"disableNotificationsSection_enabled",
/* MAIN App Overlay Keys 2/2 */ @"disableManageAllHistorySection_enabled", @"disableYourDataInYouTubeSection_enabled", @"disablePrivacySection_enabled", @"disableLiveChatSection_enabled",
/* MAIN Playback Keys */ @"inline_muted_playback_enabled",
/* MAIN Misc Keys */ @"newSettingsUI_enabled", @"ytStartupAnimation_enabled", @"ytNoModernUI_enabled", @"iPadLayout_enabled", @"iPhoneLayout_enabled", @"castConfirm_enabled", @"bigYTMiniPlayer_enabled", @"hideCastButton_enabled", @"hideSponsorBlockButton_enabled", @"hideHomeTab_enabled", @"fixCasting_enabled", @"flex_enabled", @"enableVersionSpoofer_enabled",
/* TWEAK YTUHD Keys */ @"EnableVP9", @"AllVP9"
];
// Add both YTLite and YTLitePlus to YouGroupSettings
static const NSInteger YTLitePlusSection = 788;
static const NSInteger YTLiteSection = 789;
@ -103,10 +114,89 @@ static const NSInteger YTLiteSection = 789;
accessibilityIdentifier:nil
detailTextBlock:nil
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Balackburn/YTLitePlus/releases/latest"]];
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/YTLitePlus/YTLitePlus/releases/latest"]];
}];
[sectionItems addObject:main];
YTSettingsSectionItem *copySettings = [%c(YTSettingsSectionItem)
itemWithTitle:LOC(@"COPY_SETTINGS")
titleDescription:IS_ENABLED(@"switchCopyandPasteFunctionality_enabled") ? LOC(@"COPY_SETTINGS_DESC_2") : LOC(@"COPY_SETTINGS_DESC")
accessibilityIdentifier:nil
detailTextBlock:nil
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
if (IS_ENABLED(@"switchCopyandPasteFunctionality_enabled")) {
// Export Settings functionality
NSURL *tempFileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"exported_settings.txt"]];
NSMutableString *settingsString = [NSMutableString string];
for (NSString *key in copyKeys) {
id value = [[NSUserDefaults standardUserDefaults] objectForKey:key];
if (value) {
[settingsString appendFormat:@"%@: %@\n", key, value];
}
}
[settingsString writeToURL:tempFileURL atomically:YES encoding:NSUTF8StringEncoding error:nil];
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithURL:tempFileURL inMode:UIDocumentPickerModeExportToService];
documentPicker.delegate = (id<UIDocumentPickerDelegate>)self;
documentPicker.allowsMultipleSelection = NO;
[settingsViewController presentViewController:documentPicker animated:YES completion:nil];
} else {
// Copy Settings functionality (DEFAULT - Copies to Clipboard)
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableString *settingsString = [NSMutableString string];
for (NSString *key in copyKeys) {
if ([userDefaults objectForKey:key]) {
NSString *value = [userDefaults objectForKey:key];
[settingsString appendFormat:@"%@: %@\n", key, value];
}
}
[[UIPasteboard generalPasteboard] setString:settingsString];
// Show a confirmation message or perform some other action here
}
return YES;
}
];
[sectionItems addObject:copySettings];
YTSettingsSectionItem *pasteSettings = [%c(YTSettingsSectionItem)
itemWithTitle:LOC(@"PASTE_SETTINGS")
titleDescription:IS_ENABLED(@"switchCopyandPasteFunctionality_enabled") ? LOC(@"PASTE_SETTINGS_DESC_2") : LOC(@"PASTE_SETTINGS_DESC")
accessibilityIdentifier:nil
detailTextBlock:nil
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
if (IS_ENABLED(@"switchCopyandPasteFunctionality_enabled")) {
// Paste Settings functionality (ALTERNATE - Pastes from ".txt")
UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.text"] inMode:UIDocumentPickerModeImport];
documentPicker.delegate = (id<UIDocumentPickerDelegate>)self;
documentPicker.allowsMultipleSelection = NO;
[settingsViewController presentViewController:documentPicker animated:YES completion:nil];
return YES;
} else {
// Paste Settings functionality (DEFAULT - Pastes from Clipboard)
UIAlertController *confirmPasteAlert = [UIAlertController alertControllerWithTitle:LOC(@"PASTE_SETTINGS_ALERT") message:nil preferredStyle:UIAlertControllerStyleAlert];
[confirmPasteAlert addAction:[UIAlertAction actionWithTitle:LOC(@"Cancel") style:UIAlertActionStyleCancel handler:nil]];
[confirmPasteAlert addAction:[UIAlertAction actionWithTitle:LOC(@"Confirm") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
NSString *settingsString = [[UIPasteboard generalPasteboard] string];
if (settingsString.length > 0) {
NSArray *lines = [settingsString componentsSeparatedByString:@"\n"];
for (NSString *line in lines) {
NSArray *components = [line componentsSeparatedByString:@": "];
if (components.count == 2) {
NSString *key = components[0];
NSString *value = components[1];
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
}
}
[settingsViewController reloadData];
// Show a confirmation message or perform some other action here
}
}]];
[settingsViewController presentViewController:confirmPasteAlert animated:YES completion:nil];
}
return YES;
}
];
[sectionItems addObject:pasteSettings];
/*
YTSettingsSectionItem *appIcon = [%c(YTSettingsSectionItem)
itemWithTitle:LOC(@"CHANGE_APP_ICON")
@ -139,6 +229,11 @@ static const NSInteger YTLiteSection = 789;
BASIC_SWITCH(LOC(@"ALWAYS_USE_REMAINING_TIME"), LOC(@"ALWAYS_USE_REMAINING_TIME_DESC"), @"alwaysShowRemainingTime_enabled"),
BASIC_SWITCH(LOC(@"DISABLE_TOGGLE_TIME_REMAINING"), LOC(@"DISABLE_TOGGLE_TIME_REMAINING_DESC"), @"disableRemainingTime_enabled"),
BASIC_SWITCH(LOC(@"DISABLE_ENGAGEMENT_OVERLAY"), LOC(@"DISABLE_ENGAGEMENT_OVERLAY_DESC"), @"disableEngagementOverlay_enabled"),
BASIC_SWITCH(LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER"), LOC(@"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC"), @"hidePreviewCommentSection_enabled"),
BASIC_SWITCH(LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW"), LOC(@"HIDE_AUTOPLAY_MINI_PREVIEW_DESC"), @"hideAutoplayMiniPreview_enabled"),
BASIC_SWITCH(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled"),
BASIC_SWITCH(LOC(@"HIDE_COLLAPSE_BUTTON"), LOC(@"HIDE_COLLAPSE_BUTTON_DESC"), @"disableCollapseButton_enabled"),
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
@ -159,14 +254,14 @@ static const NSInteger YTLiteSection = 789;
BASIC_SWITCH(LOC(@"HIDE_PRIVACY_SECTION"), LOC(@"APP_RESTART_DESC"), @"disablePrivacySection_enabled"),
BASIC_SWITCH(LOC(@"HIDE_LIVECHAT_SECTION"), LOC(@"APP_RESTART_DESC"), @"disableLiveChatSection_enabled")
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"App Settings Overlay Options") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"APP_SETTINGS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:appSettingsOverlayGroup];
# pragma mark - LowContrastMode
YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Low Contrast Mode")
YTSettingsSectionItem *lowContrastModeSection = [YTSettingsSectionItemClass itemWithTitle:LOC(@"LOW_CONTRAST_MODE")
accessibilityIdentifier:nil
detailTextBlock:^NSString *() {
switch (contrastMode()) {
@ -190,7 +285,7 @@ static const NSInteger YTLiteSection = 789;
return YES;
}]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Low Contrast Mode") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"LOW_CONTRAST_MODE") pickerSectionTitle:nil rows:rows selectedItemIndex:contrastMode() parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
@ -262,7 +357,7 @@ static const NSInteger YTLiteSection = 789;
return YES;
}]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"Version Spoofer Picker" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:@"VERSION_SPOOFER_TITLE" pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
@ -273,8 +368,6 @@ static const NSInteger YTLiteSection = 789;
detailTextBlock:^NSString *() {
switch (GetSelection(@"appTheme")) {
case 1:
return LOC(@"OLED_DARK_THEME_2");
case 2:
return LOC(@"OLD_DARK_THEME");
case 0:
default:
@ -288,13 +381,8 @@ static const NSInteger YTLiteSection = 789;
[settingsViewController reloadData];
return YES;
}],
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLED_DARK_THEME") titleDescription:LOC(@"OLED_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"];
[settingsViewController reloadData];
return YES;
}],
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"OLD_DARK_THEME") titleDescription:LOC(@"OLD_DARK_THEME_DESC") selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[[NSUserDefaults standardUserDefaults] setInteger:2 forKey:@"appTheme"];
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"appTheme"];
[settingsViewController reloadData];
return YES;
}],
@ -368,6 +456,7 @@ static const NSInteger YTLiteSection = 789;
BASIC_SWITCH(LOC(@"HIDE_SPONSORBLOCK_BUTTON"), LOC(@"HIDE_SPONSORBLOCK_BUTTON_DESC"), @"hideSponsorBlockButton_enabled"),
BASIC_SWITCH(LOC(@"HIDE_HOME_TAB"), LOC(@"HIDE_HOME_TAB_DESC"), @"hideHomeTab_enabled"),
BASIC_SWITCH(LOC(@"FIX_CASTING"), LOC(@"FIX_CASTING_DESC"), @"fixCasting_enabled"),
BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"),
BASIC_SWITCH(LOC(@"ENABLE_FLEX"), LOC(@"ENABLE_FLEX_DESC"), @"flex_enabled"),
BASIC_SWITCH(LOC(@"APP_VERSION_SPOOFER_LITE"), LOC(@"APP_VERSION_SPOOFER_LITE_DESC"), @"enableVersionSpoofer_enabled"),
versionSpooferSection

View file

@ -6,11 +6,8 @@ static BOOL IsEnabled(NSString *key) {
static BOOL isDarkMode() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"page_style"] == 1);
}
static BOOL oledDarkTheme() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1);
}
static BOOL oldDarkTheme() {
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 2);
return ([[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1);
}
// Themes.xm - Theme Options
@ -402,7 +399,7 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:
%end
// OLED dark mode by @BandarHL and modified by @arichorn
UIColor* raisedColor = [UIColor blackColor];
/*
%group gOLED
%hook YTCommonColorPalette
- (UIColor *)background1 {
@ -788,6 +785,7 @@ UIColor* raisedColor = [UIColor blackColor];
}
%end
%end
*/
// OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
%group gOLEDKB
@ -837,9 +835,6 @@ UIColor* raisedColor = [UIColor blackColor];
if (IsEnabled(@"oledKeyBoard_enabled")) {
%init(gOLEDKB);
}
if (oledDarkTheme()) {
%init(gOLED);
}
if (oldDarkTheme()) {
%init(gOldDarkTheme);
}

@ -1 +1 @@
Subproject commit 95fecff296722df4a9938308c3bdb178cb690b7c
Subproject commit 92365118eddecd4b4fecf26aca0c1faa5395d322

@ -1 +1 @@
Subproject commit 99d7f2bdde57930a3131564e96d3607076ae0668
Subproject commit 0f4c6b7f5960308161c870d9aab30905fe8145cc

@ -1 +1 @@
Subproject commit a0a499818041feb274b3f81e0403e3ee334938d6
Subproject commit 184f67837f48b3efd3c35ac88eb0d56f5e735d36

1
Tweaks/YTHeaders Submodule

@ -0,0 +1 @@
Subproject commit a64276723da57312c6a8e24bf73060810f64604a

@ -1 +1 @@
Subproject commit 12b4991ade6d3edd1e4fb28fe19bb32b6dc93206
Subproject commit 17c2035ea9c8334f2d9154f114b6590928e93521

@ -1 +1 @@
Subproject commit 5124008ae0902c7a5d48fb10fce74f43545d5df7
Subproject commit 5cb04eeb62386941ef9c7817902364866e2ec7b7

@ -1 +1 @@
Subproject commit 6bb27928a6ade1be90a0516f8da363092c3c7b57
Subproject commit 63fe2c05fd23a517191645cd450115dc6965e0d8

@ -1 +1 @@
Subproject commit 23f6ca2f949130f6c570b9f85160021bb9bda73d
Subproject commit da1e64a037368ac944c356834a7c7727a76e110e

@ -1 +1 @@
Subproject commit 9a6b36aaa09b4191d084e4fcec1f0e5467b1c741
Subproject commit 5b571fd76ccf4ea5e89cc99e87062cd89713997f

1
Tweaks/YouTimeStamp Submodule

@ -0,0 +1 @@
Subproject commit 4cd5d01d3c6a1c7c1725c89208a5cc8cedad962f

@ -1 +1 @@
Subproject commit 07bb69b0285863d01c613371cd4f33d8b374f59d
Subproject commit 171f681e235a1f7176cde31a95e6454fc00418c3

@ -1 +1 @@
Subproject commit 58951f248bfe90298ca65007603d465f58369876
Subproject commit e3b2c4429099699b5a508bd2aa1c074efb34d866

@ -1 +1 @@
Subproject commit d0e49dfe3161714046a4ee2aeafba133b171e26f
Subproject commit a10b619ed91b6bb970e4b33a1901d61c94e97ef4

View file

@ -39,6 +39,7 @@
#import "Tweaks/YouTubeHeader/YTWatchPullToFullController.h"
#import "Tweaks/YouTubeHeader/YTPlayerBarController.h"
#import "Tweaks/YouTubeHeader/YTResponder.h"
#import "Tweaks/YouTubeHeader/YTMainAppControlsOverlayView.h"
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
#define YT_BUNDLE_ID @"com.google.ios.youtube"
@ -96,6 +97,14 @@
@property (nonatomic, assign, readwrite) BOOL enableSnapToChapter;
@end
// Hide Autoplay Mini Preview - @bhackel
@interface YTAutonavPreviewView : UIView
@end
// OLED Live Chat - @bhackel
@interface YTLUserDefaults : NSUserDefaults
@end
// Hide Home Tab - @bhackel
@interface YTPivotBarViewController : UIViewController
@property NSString *selectedPivotIdentifier;
@ -113,6 +122,10 @@
@property id <YTResponder> parentResponder;
@end
// Hide Collapse Button - @arichornlover
@interface YTMainAppControlsOverlayView (YTLitePlus)
@property (nonatomic, assign, readwrite) YTQTMButton *watchCollapseButton;
@end
// SponsorBlock button in Nav bar
@interface MDCButton : UIButton

View file

@ -249,6 +249,7 @@ BOOL isTabSelected = NO;
%end
%end
// Disable fullscreen engagement overlay - @bhackel
%group gDisableEngagementOverlay
%hook YTFullscreenEngagementOverlayController
- (void)setEnabled:(BOOL)enabled {
@ -439,28 +440,13 @@ BOOL isTabSelected = NO;
}
%end
// Fullscreen to the Right (iPhone-exclusive) - @arichornlover
// NOTE: Please turn off the “Portrait Fullscreen” Option in YTLite while the option "Fullscreen to the Right" is enabled below.
// Fullscreen to the Right (iPhone-Exclusive) - @arichornlover & @bhackel
// WARNING: Please turn off the “Portrait Fullscreen” or "iPad Layout" Option in YTLite while the option "Fullscreen to the Right" is enabled below.
%group gFullscreenToTheRight
%hook YTWatchViewController
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
if ([self isFullscreen] && [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return UIInterfaceOrientationLandscapeRight;
}
return %orig;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if ([self isFullscreen] && [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return UIInterfaceOrientationMaskLandscape;
}
return %orig;
}
%new
- (void)forceRightFullscreenOrientation {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
- (UIInterfaceOrientationMask)allowedFullScreenOrientations {
UIInterfaceOrientationMask orientations = UIInterfaceOrientationMaskLandscapeRight;
return orientations;
}
%end
%end
@ -556,6 +542,80 @@ BOOL isTabSelected = NO;
}
%end
%hook _ASDisplayView
- (void)didMoveToWindow {
%orig;
// Hide the Comment Section Previews under the Video Player - @arichornlover
if ((IsEnabled(@"hidePreviewCommentSection_enabled")) && ([self.accessibilityIdentifier isEqualToString:@"id.ui.comments_entry_point_teaser"])) {
self.hidden = YES;
self.opaque = YES;
self.userInteractionEnabled = NO;
CGRect bounds = self.frame;
bounds.size.height = 0;
self.frame = bounds;
[self.superview layoutIfNeeded];
[self setNeedsLayout];
[self removeFromSuperview];
}
// Live chat OLED dark mode - @bhackel
if (([[%c(YTLUserDefaults) standardUserDefaults] boolForKey:@"oledTheme"] // YTLite OLED Theme
|| [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] == 1 // YTLitePlus OLED Theme
) && [self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) {
self.backgroundColor = [UIColor blackColor];
}
}
%end
// Hide Autoplay Mini Preview - @bhackel
%hook YTAutonavPreviewView
- (void)layoutSubviews {
%orig;
if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) {
self.hidden = YES;
}
}
- (void)setHidden:(BOOL)arg1 {
if (IsEnabled(@"hideAutoplayMiniPreview_enabled")) {
%orig(YES);
} else {
%orig(arg1);
}
}
%end
// Hide HUD Messages - @qnblackcat
%hook YTHUDMessageView
- (id)initWithMessage:(id)arg1 dismissHandler:(id)arg2 {
return IsEnabled(@"hideHUD_enabled") ? nil : %orig;
}
%end
// Hide Video Player Collapse Button - @arichornlover
%hook YTMainAppControlsOverlayView
- (void)layoutSubviews {
%orig;
if (IsEnabled(@"disableCollapseButton_enabled")) {
if (self.watchCollapseButton) {
[self.watchCollapseButton removeFromSuperview];
}
}
}
- (BOOL)watchCollapseButtonHidden {
if (IsEnabled(@"disableCollapseButton_enabled")) {
return YES;
} else {
return %orig;
}
}
- (void)setWatchCollapseButtonAvailable:(BOOL)available {
if (IsEnabled(@"disableCollapseButton_enabled")) {
} else {
%orig(available);
}
}
%end
/*
// BigYTMiniPlayer: https://github.com/Galactic-Dev/BigYTMiniPlayer
%group Main
%hook YTWatchMiniBarView
@ -580,6 +640,20 @@ BOOL isTabSelected = NO;
}
%end
%end
*/
// New Big YT Mini Player - @bhackel
%hook YTColdConfig
- (BOOL)enableIosFloatingMiniplayer {
// Modify if not on iPad
return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig;
}
- (BOOL)enableIosFloatingMiniplayerRepositioning {
return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig;
}
- (BOOL)enableIosFloatingMiniplayerResizing {
return (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad) ? IsEnabled(@"bigYTMiniPlayer_enabled") : %orig;
}
%end
// App Settings Overlay Options
%group gDisableAccountSection
@ -713,9 +787,9 @@ BOOL isTabSelected = NO;
if (IsEnabled(@"iPhoneLayout_enabled")) {
%init(giPhoneLayout);
}
if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) {
%init(Main);
}
// if (IsEnabled(@"bigYTMiniPlayer_enabled") && (UIDevice.currentDevice.userInterfaceIdiom != UIUserInterfaceIdiomPad)) {
// %init(Main);
// }
if (IsEnabled(@"hideVideoPlayerShadowOverlayButtons_enabled")) {
%init(gHideVideoPlayerShadowOverlayButtons);
}

View file

@ -2,6 +2,17 @@
"VERSION" = "نسخة YTLitePlus: %@";
"VERSION_CHECK" = "انقر للتحقق من وجود تحديث";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "خيارات تراكب ضوابط الفيديو";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "إخفاء رسائل المعلومات";
"HIDE_HUD_MESSAGES_DESC" = "مثلاً: تم إيقاف الترجمة...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options";
@ -135,3 +161,6 @@
// Other Localization
"APP_RESTART_DESC" = "App restart is required.";
"CHANGE_APP_ICON" = "Change App Icon";
// Newly added strings
"HIDE_CAST_BUTTON" = "HIDE_CAST_BUTTON";

View file

@ -2,6 +2,17 @@
"VERSION" = "YTLitePlus's version: %@";
"VERSION_CHECK" = "Tippe hier, um nach Updates zu suchen!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Overlay-Optionen für Videosteuerungen";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "HUD-Nachrichten ausblenden";
"HIDE_HUD_MESSAGES_DESC" = "z.B.: Untertitel sind aktiviert/deaktiviert, Videoschleife ist an, ...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "Overlay-Optionen für App-Einstellungen";
@ -135,3 +161,10 @@
// Other Localization
"APP_RESTART_DESC" = "Ein Neustart der App ist erforderlich.";
"CHANGE_APP_ICON" = "App-Symbol ändern";
// Newly added strings
"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "HIDE_SHADOW_OVERLAY_BUTTONS_DESC";
"ENABLE_SHARE_BUTTON_DESC" = "ENABLE_SHARE_BUTTON_DESC";
"ENABLE_SHARE_BUTTON" = "ENABLE_SHARE_BUTTON";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC";

View file

@ -2,6 +2,17 @@
"VERSION" = "YTLitePlus's version: %@";
"VERSION_CHECK" = "Tap to check for update!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Hide HUD messages";
"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options";

View file

@ -2,6 +2,17 @@
"VERSION" = "Versión de YTLitePlus: %@";
"VERSION_CHECK" = "Pulse para comprobar si hay actualizaciones.";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opciones de superposición de controles de vídeo";
@ -20,29 +31,44 @@
"HIDE_HEATWAVES" = "Ocultar Heatwaves";
"HIDE_HEATWAVES_DESC" = "Oculta las Heatwaves en el reproductor de vídeo. Es necesario reiniciar la aplicación.";
"DISABLE_AMBIENT_PORTRAIT" = "Disable Ambient Mode (Portrait)";
"DISABLE_AMBIENT_PORTRAIT_DESC" = "Disable lighting surrounding video title";
"DISABLE_AMBIENT_PORTRAIT" = "Desactivar el modo ambiente (Retrato)";
"DISABLE_AMBIENT_PORTRAIT_DESC" = "Desactivar la iluminación alrededor del título del vídeo";
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"DISABLE_AMBIENT_FULLSCREEN" = "Desactivar el modo ambiente (pantalla completa)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Desactivar la iluminación que rodea al reproductor de vídeo";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
"FULLSCREEN_TO_THE_RIGHT" = "Pantalla completa a la derecha";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Entra siempre en pantalla completa con el botón de inicio a la derecha.";
"ENABLE_TAP_TO_SEEK" = "Enable Tap To Seek";
"ENABLE_TAP_TO_SEEK_DESC" = "Jump to anywhere in a video by single-tapping the seek bar";
"SEEK_ANYWHERE" = "Busca cualquier gesto";
"SEEK_ANYWHERE_DESC" = "Mantén pulsado y arrastra en el reproductor de vídeo para buscar. Debe desactivar YTLite - Mantener para acelerar";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Disable pull-to-fullscreen gesture";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos.";
"ENABLE_TAP_TO_SEEK" = "Activar el toque para buscar";
"ENABLE_TAP_TO_SEEK_DESC" = "Salta a cualquier parte de un vídeo pulsando una sola vez la barra de búsqueda";
"ALWAYS_USE_REMAINING_TIME" = "Always use remaining time";
"ALWAYS_USE_REMAINING_TIME_DESC" = "Change the default to show time remaining in the player bar.";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Desactivar el gesto de pantalla completa";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Desactiva el gesto de arrastrar para entrar en pantalla completa vertical. Solo se aplica a los vídeos apaisados.";
"DISABLE_TOGGLE_TIME_REMAINING" = "Disable toggle time remaining";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Disables changing time elapsed to time remaining. Use with other setting to always show remaining time.";
"ALWAYS_USE_REMAINING_TIME" = "Utilizar siempre el tiempo restante";
"ALWAYS_USE_REMAINING_TIME_DESC" = "Cambia el valor predeterminado para mostrar el tiempo restante en la barra del reproductor.";
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"DISABLE_TOGGLE_TIME_REMAINING" = "Desactivar alternar tiempo restante";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Desactiva el cambio de tiempo transcurrido a tiempo restante. Utilícelo con otro ajuste para mostrar siempre el tiempo restante.";
"DISABLE_ENGAGEMENT_OVERLAY" = "Desactivar la superposición de compromiso a pantalla completa";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desactivar el gesto de deslizar hacia arriba y la lista de vídeos sugeridos en pantalla completa";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Ocultar mensajes HUD";
"HIDE_HUD_MESSAGES_DESC" = "Ejemplo: CC está activado/desactivado, Vídeo en bucle está activado,...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "Opciones de superposición de los ajustes de la aplicación";
@ -76,19 +102,19 @@
"LOW_CONTRAST_MODE" = "Modo de bajo contraste";
"LOW_CONTRAST_MODE_DESC" = "Esta opción bajará el contraste de los textos y botones como en la antigua interfaz de YouTube. Es necesario reiniciar la aplicación.";
"LCM_SELECTOR" = "Selección de modo de bajo contraste";
"DEFAULT_LOWCONTRASTMODE" = "(Por defecto) LowContrastMode";
"CUSTOM_LOWCONTRASTMODE" = "(Color personalizado) LowContrastMode";
"DEFAULT_LOWCONTRASTMODE" = "(Por defecto) Modo de bajo contraste";
"CUSTOM_LOWCONTRASTMODE" = "(Color personalizado) Modo de bajo contraste";
// Miscellaneous
"MISCELLANEOUS" = "Misceláneos";
"PLAYBACK_IN_FEEDS" = "Playback in feeds";
"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Always on";
"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Wi-Fi only";
"PLAYBACK_IN_FEEDS_OFF" = "Off";
"PLAYBACK_IN_FEEDS" = "Reproducción en feeds";
"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Siempre encendido";
"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Sólo Wi-Fi";
"PLAYBACK_IN_FEEDS_OFF" = "Desactivado";
"NEW_SETTINGS_UI" = "New Settings UI";
"NEW_SETTINGS_UI_DESC" = "Use new grouped settings UI. May hide some settings";
"NEW_SETTINGS_UI" = "Nueva interfaz de configuración";
"NEW_SETTINGS_UI_DESC" = "Utiliza la nueva interfaz de configuración agrupada. Puede ocultar algunos ajustes";
"ENABLE_YT_STARTUP_ANIMATION" = "Activar la animación de inicio de YouTube";
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
@ -103,26 +129,26 @@
"IPHONE_LAYOUT_DESC" = "use esto sólo si desea tener el iPhone Layout en su iPad actual. Es necesario reiniciar la aplicación.";
"CAST_CONFIRM" = "Confirmar alerta antes de emitir (YTCastConfirm)";
"CAST_CONFIRM_DESC" = "Mostrar una alerta de confirmación antes del casting para evitar el secuestro accidental de la TV";
"CASTING" = "Castings";
"MSG_ARE_YOU_SURE" = "¿Seguro que quieres empezar el casting?";
"CAST_CONFIRM_DESC" = "Mostrar una alerta de confirmación antes de emitir para evitar el secuestro accidental de la TV";
"CASTING" = "Emitir";
"MSG_ARE_YOU_SURE" = "¿Seguro que quieres empezar la emisión?";
"MSG_YES" = "Sí";
"MSG_CANCEL" = "Cancelar";
"NEW_MINIPLAYER_STYLE" = "Nuevo estilo de barra de minirreproductores (BigYTMiniPlayer)";
"NEW_MINIPLAYER_STYLE_DESC" = "Es necesario reiniciar la aplicación";
"HIDE_CAST_BUTTON" = "Ocultar botón Cast";
"HIDE_CAST_BUTTON" = "Ocultar botón Emitir";
"HIDE_CAST_BUTTON_DESC" = "Es necesario reiniciar la aplicación";
"HIDE_SPONSORBLOCK_BUTTON" = "Ocultar el botón iSponsorBlock en la barra de navegación";
"HIDE_SPONSORBLOCK_BUTTON_DESC" = "";
"HIDE_HOME_TAB" = "Hide Home Tab";
"HIDE_HOME_TAB_DESC" = "Be careful when hiding all tabs";
"HIDE_HOME_TAB" = "Ocultar pestaña Inicio";
"HIDE_HOME_TAB_DESC" = "Cuidado al ocultar todas las pestañas";
"FIX_CASTING" = "Fix Casting";
"FIX_CASTING_DESC" = "Changes some AB flags to fix casting";
"FIX_CASTING" = "Reparación de emisión";
"FIX_CASTING_DESC" = "Cambia algunas banderas AB para fijar la emisión";
"ENABLE_FLEX" = "Habilitar FLEX";
"ENABLE_FLEX_DESC" = "Habilitar FLEX para depuración (no recomendado). Déjelo desactivado a menos que sepa lo que está haciendo";
@ -134,4 +160,4 @@
// Other Localization
"APP_RESTART_DESC" = "Es necesario reiniciar la aplicación.";
"CHANGE_APP_ICON" = "Change App Icon";
"CHANGE_APP_ICON" = "Cambiar el icono de la aplicación";

View file

@ -2,6 +2,17 @@
"VERSION" = "YTLitePlus version : %@";
"VERSION_CHECK" = "Appuyez pour vérifier les mises à jour !";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Options de l'overlay des contrôles vidéo";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Masquer les messages de l'ATH";
"HIDE_HUD_MESSAGES_DESC" = "Exemple : Les sous-titres sont activés/désactivés, la boucle vidéo est activée,...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "Paramètres des options d'overlay de l'application";
@ -141,3 +167,6 @@
// Other Localization
"APP_RESTART_DESC" = "Un redémarrage de l'application est requis.";
“CHANGE_APP_ICON" = “Changer l'icône de l'application";
// Newly added strings
"CHANGE_APP_ICON" = "CHANGE_APP_ICON";

View file

@ -2,6 +2,17 @@
"VERSION" = "YTLitePlusのバージョン: %@";
"VERSION_CHECK" = "タップして更新をチェック!";
"COPY_SETTINGS" = "設定をコピー";
"COPY_SETTINGS_DESC" = "現在のすべての設定をクリップボードにコピーします";
"PASTE_SETTINGS" = "設定を貼り付け";
"PASTE_SETTINGS_DESC" = "クリップボードから設定を貼り付けて適用します";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "動画コントロールオーバーレイの設定";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "プレーヤー下のコメントプレビューを隠す";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "プレーヤーの下にあるコメントのプレビューを非表示にします。";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "HUDメッセージを非表示";
"HIDE_HUD_MESSAGES_DESC" = "特定のアクション後に表示されるスナックバーを非表示にします。(例: 字幕がオン/オフになりました など)";
"HIDE_COLLAPSE_BUTTON" = "折りたたみボタンを隠す";
"HIDE_COLLAPSE_BUTTON_DESC" = "プレーヤー左上の折りたたみボタンを非表示にします。";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "アプリの設定オーバーレイの設定";

View file

@ -2,6 +2,17 @@
"VERSION" = "Versão do YTLitePlus: %@";
"VERSION_CHECK" = "Toque para verificar se há atualização!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opções de Sobreposição de Controles de Vídeo";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Desativar Iluminação cinematográfica (Tela cheia)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Desativa a iluminação ao redor do player de vídeo";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Gesto de Busca em qualquer lugar";
"SEEK_ANYWHERE_DESC" = "Segure e arraste o player de vídeo para buscar. Você deve desativar o YTLite - Segurar para velocidade (Hold for speed)";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Desativar sobreposição de engajamento em tela cheia";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Desativa o gesto de deslizar para cima e a lista de vídeos sugeridos em tela cheia";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Ocultar Mensagens do HUD";
"HIDE_HUD_MESSAGES_DESC" = "Exemplo: Legendas/CC ativadas/desativadas, A repetição do vídeo está ativada,...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "Configurações do Aplicativo";

View file

@ -2,6 +2,17 @@
"VERSION" = "Versiune YTLitePlus: %@";
"VERSION_CHECK" = "Căutați actualizări";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Opțiuni Overlay Controale Video";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Ascundere Mesaje HUD";
"HIDE_HUD_MESSAGES_DESC" = "Exemplu: Subtitrările sunt activate/dezactivate, Redarea în buclă este activată,...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "Opțiuni Overlay Setări Aplicație";

View file

@ -2,6 +2,17 @@
"VERSION" = "YTLitePlus's version: %@";
"VERSION_CHECK" = "Tap to check for update!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
@ -26,6 +37,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -44,6 +58,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Скрыть сообщения плеера";
"HIDE_HUD_MESSAGES_DESC" = "Скрывает надписи YouTube, появляющиеся поверх видео.";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options";

View file

@ -17,6 +17,17 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
"VERSION" = "YTLitePlus's version: %@";
"VERSION_CHECK" = "Tap to check for update!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
@ -41,6 +52,9 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -59,6 +73,18 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Hide HUD messages";
"HIDE_HUD_MESSAGES_DESC" = "Hides snackbars that display for certain actions (e.g., CC turned on/off)";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options";

View file

@ -1,137 +1,163 @@
// Settings
"VERSION" = "YTLitePlus'ın sürümü: %@";
"VERSION_CHECK" = "Güncellemeyi kontrol etmek için dokunun!";
"VERSION_CHECK" = "Güncelleme için dokunun!";
"COPY_SETTINGS" = "Ayarları Kopyala";
"COPY_SETTINGS_DESC" = "Tüm mevcut ayarları panoya kopyala";
"PASTE_SETTINGS" = "Ayarları Yapıştır";
"PASTE_SETTINGS_DESC" = "Panodaki ayarları yapıştır ve uygula";
"EXPORT_SETTINGS" = "Ayarları Dışa Aktar";
"EXPORT_SETTINGS_DESC" = "Tüm mevcut ayarları bir .txt dosyasına dışa aktarır";
"IMPORT_SETTINGS" = "Ayarları İçe Aktar";
"IMPORT_SETTINGS_DESC" = "Ayarları içe aktarmak için basın (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "'Ayarları Kopyala' ve 'Ayarları Yapıştır' Düğmelerini Değiştir";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Düğmeleri 'Ayarları Dışa Aktar' ve 'Ayarları İçe Aktar' ile değiştirir";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Controls Overlay Options";
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "Video Kontrol Seç.";
"ENABLE_SHARE_BUTTON" = "Enable Share Button";
"ENABLE_SHARE_BUTTON_DESC" = "Enable the Share Button in video controls overlay.";
"ENABLE_SHARE_BUTTON" = "Paylaş Butonunu Aç";
"ENABLE_SHARE_BUTTON_DESC" = "Video kontrolünde Paylaş Butonunu aç.";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "Enable 'Save To Playlist' Button";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "Enable the 'Save To Playlist' Button in video controls overlay.";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON" = "'Listeye Kaydet' Butonunu Aç";
"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC" = "Video kontrolünde 'Listeye Kaydet' Butonunu aç.";
"HIDE_SHADOW_OVERLAY_BUTTONS" = "Hide Shadow Overlay Buttons";
"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "Hide the Shadow Overlay on the Play/Pause, Previous, Next, Forward & Rewind Buttons.";
"HIDE_SHADOW_OVERLAY_BUTTONS" = "Gölge Düğmelerini Gizle";
"HIDE_SHADOW_OVERLAY_BUTTONS_DESC" = "Oynat/Duraklat, Önceki, Sonraki, İleri/Geri Düğmelerindeki gölgeyi gizle.";
"HIDE_RIGHT_PANEL" = "Hide the right panel in fullscreen mode";
"HIDE_RIGHT_PANEL_DESC" = "App restart is required.";
"HIDE_RIGHT_PANEL" = "Tam ekranda sağ paneli gizle";
"HIDE_RIGHT_PANEL_DESC" = "Uyg. yeniden başlatılmalı.";
"HIDE_HEATWAVES" = "Hide Heatwaves";
"HIDE_HEATWAVES_DESC" = "Hides the Heatwaves in the video player. App restart is required.";
"HIDE_HEATWAVES" = "Sıcak Dalgaları Gizle";
"HIDE_HEATWAVES_DESC" = "Sıcak Dalgaları gizler. Uyg. yeniden başlatılmalı.";
"DISABLE_AMBIENT_PORTRAIT" = "Disable Ambient Mode (Portrait)";
"DISABLE_AMBIENT_PORTRAIT_DESC" = "Disable lighting surrounding video title";
"DISABLE_AMBIENT_PORTRAIT" = "Ortam Modunu Kapat (Dikey)";
"DISABLE_AMBIENT_PORTRAIT_DESC" = "Video başlığı çevresindeki aydınlatmayı kapat";
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"DISABLE_AMBIENT_FULLSCREEN" = "Ortam Modunu Kapat (Tam Ekran)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Video oynatıcının çevresindeki aydınlatmayı kapat";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
"FULLSCREEN_TO_THE_RIGHT" = "Tam Ekran Sağda";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Tam ekrana sağda ev düğmesi ile gir.";
"ENABLE_TAP_TO_SEEK" = "Enable Tap To Seek";
"ENABLE_TAP_TO_SEEK_DESC" = "Jump to anywhere in a video by single-tapping the seek bar";
"SEEK_ANYWHERE" = "Her Yerde Ara";
"SEEK_ANYWHERE_DESC" = "Video oynatıcıda basılı tutarak sürükleyin. YTLite - Hızlandırmak için basılı tutmayı kapatmanız gerek.";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Disable pull-to-fullscreen gesture";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos.";
"ENABLE_TAP_TO_SEEK" = "Dokunarak Ara";
"ENABLE_TAP_TO_SEEK_DESC" = "Arama çubuğuna tek dokunarak videonun herhangi bir yerine git";
"ALWAYS_USE_REMAINING_TIME" = "Always use remaining time";
"ALWAYS_USE_REMAINING_TIME_DESC" = "Change the default to show time remaining in the player bar.";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Tam ekran çekme hareketini kapat";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Dikey tam ekrana geçmek için çekme hareketini kapat. Sadece yatay videolar için geçerli.";
"DISABLE_TOGGLE_TIME_REMAINING" = "Disable toggle time remaining";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Disables changing time elapsed to time remaining. Use with other setting to always show remaining time.";
"ALWAYS_USE_REMAINING_TIME" = "Her zaman kalan süreyi göster";
"ALWAYS_USE_REMAINING_TIME_DESC" = "Oynatıcı çubuğunda kalan süreyi gösterir.";
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"DISABLE_TOGGLE_TIME_REMAINING" = "Kalan zamanı değiştirmeyi kapat";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Geçen zamanı kalan zamanla değiştirmeyi kapatır.";
"DISABLE_ENGAGEMENT_OVERLAY" = "Tam ekranda kaplamayı kapat";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Tam ekranda yukarı kaydırma hareketini ve önerilen videoları kapat";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Oynatıcının Altındaki Yorum Önizlemelerini Gizle";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Video oynatıcının altındaki yorum önizlemelerini gizler.";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "HUD mesajlarını gizle";
"HIDE_HUD_MESSAGES_DESC" = "Belirli işlemler için görüntülenen bildirim çubuklarını gizler (ör. CC açıldı/kapandı)";
"HIDE_COLLAPSE_BUTTON" = "Daraltma Düğmesini Gizle";
"HIDE_COLLAPSE_BUTTON_DESC" = "Video oynatıcıda sol üstte görünen ok ile daraltma düğmesini gizler.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "App Settings Overlay Options";
"APP_SETTINGS_OVERLAY_OPTIONS" = "Uyg. Ayarları Kaplama Seç.";
"HIDE_ACCOUNT_SECTION" = "Hide \"Account\" Section";
"HIDE_AUTOPLAY_SECTION" = "Hide \"Autoplay\" Section";
"HIDE_TRYNEWFEATURES_SECTION" = "Hide \"Try New Features\" Section";
"HIDE_VIDEOQUALITYPREFERENCES_SECTION" = "Hide \"Video quality preferences\" Section";
"HIDE_NOTIFICATIONS_SECTION" = "Hide \"Notifications\" Section";
"HIDE_MANAGEALLHISTORY_SECTION" = "Hide \"Manage all history\" Section";
"HIDE_YOURDATAINYOUTUBE_SECTION" = "Hide \"Your data in YouTube\" Section";
"HIDE_PRIVACY_SECTION" = "Hide \"Privacy\" Section";
"HIDE_LIVECHAT_SECTION" = "Hide \"Live Chat\" Section";
"HIDE_ACCOUNT_SECTION" = "\"Hesap\" Bölümünü Gizle";
"HIDE_AUTOPLAY_SECTION" = "\"Otomatik Oynatma\" Bölümünü Gizle";
"HIDE_TRYNEWFEATURES_SECTION" = "\"Yeni Özellikler\" Bölümünü Gizle";
"HIDE_VIDEOQUALITYPREFERENCES_SECTION" = "\"Video Kalite\" Bölümünü Gizle";
"HIDE_NOTIFICATIONS_SECTION" = "\"Bildirimler\" Bölümünü Gizle";
"HIDE_MANAGEALLHISTORY_SECTION" = "\"Tüm Geçmişi Yönet\" Bölümünü Gizle";
"HIDE_YOURDATAINYOUTUBE_SECTION" = "\"YouTube Verileriniz\" Bölümünü Gizle";
"HIDE_PRIVACY_SECTION" = "\"Gizlilik\" Bölümünü Gizle";
"HIDE_LIVECHAT_SECTION" = "\"Canlı Sohbet\" Bölümünü Gizle";
// Theme
"THEME_OPTIONS" = "Theme Options";
"THEME_OPTIONS" = "Tema Seç.";
"OLED_DARK_THEME" = "OLED dark theme";
"OLED_DARK_THEME_2" = "OLED dark theme";
"OLED_DARK_THEME_DESC" = "True dark theme. Might not work correctly in some cases. App restart is required after you enable/disable this option.";
"OLED_DARK_THEME" = "OLED koyu tema";
"OLED_DARK_THEME_2" = "OLED koyu tema";
"OLED_DARK_THEME_DESC" = "Gerçek koyu tema. Bazı durumlarda düzgün çalışmayabilir. Yeniden başlatılmalı.";
"OLD_DARK_THEME" = "Old dark theme";
"OLD_DARK_THEME_DESC" = "Old YouTube's dark theme (grey theme). App restart is required.";
"OLD_DARK_THEME" = "Eski koyu tema";
"OLD_DARK_THEME_DESC" = "Eski YouTube koyu teması. Yeniden başlatılmalı.";
"DEFAULT_THEME" = "Default";
"DEFAULT_THEME_DESC" = "Default dark(er) theme of YouTube. App restart is required.";
"DEFAULT_THEME" = "Varsayılan";
"DEFAULT_THEME_DESC" = "YouTube'un varsayılan koyu teması. Yeniden başlatılmalı.";
"OLED_KEYBOARD" = "OLED Klavye (Deneysel)";
"OLED_KEYBOARD_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Uygulamanın yeniden başlatılması gerekir.";
"OLED_KEYBOARD_DESC" = "Bazı durumlarda düzgün çalışmayabilir. Yeniden başlatılmalı.";
"LOW_CONTRAST_MODE" = "Low Contrast Mode";
"LOW_CONTRAST_MODE_DESC" = "This option will Low Contrast of the texts and buttons just like how the old YouTube Interface was. App restart is required.";
"LCM_SELECTOR" = "Low contrast mode selection";
"DEFAULT_LOWCONTRASTMODE" = "(Default) LowContrastMode";
"CUSTOM_LOWCONTRASTMODE" = "(Custom Color) LowContrastMode";
"LOW_CONTRAST_MODE" = "Düşük Kontrast Modu";
"LOW_CONTRAST_MODE_DESC" = "Metinlerin ve düğmelerin kontrastını düşürür. Yeniden başlatılmalı.";
"LCM_SELECTOR" = "Düşük kontrast modu seçimi";
"DEFAULT_LOWCONTRASTMODE" = "(Varsayılan) DüşükKontrastModu";
"CUSTOM_LOWCONTRASTMODE" = "(Özel Renk) DüşükKontrastModu";
// Miscellaneous
"MISCELLANEOUS" = "Miscellaneous";
"MISCELLANEOUS" = "Çeşitli";
"PLAYBACK_IN_FEEDS" = "Playback in feeds";
"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Always on";
"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Wi-Fi only";
"PLAYBACK_IN_FEEDS_OFF" = "Off";
"PLAYBACK_IN_FEEDS" = "Akışlarda Oynatma";
"PLAYBACK_IN_FEEDS_ALWAYS_ON" = "Her zaman açık";
"PLAYBACK_IN_FEEDS_WIFI_ONLY" = "Yalnızca Wi-Fi";
"PLAYBACK_IN_FEEDS_OFF" = "Kapalı";
"NEW_SETTINGS_UI" = "New Settings UI";
"NEW_SETTINGS_UI_DESC" = "Use new grouped settings UI. May hide some settings";
"NEW_SETTINGS_UI" = "Yeni Ayarlar Arayüzü";
"NEW_SETTINGS_UI_DESC" = "Yeni gruplandırılmış ayarlar arayüzünü kullan. Bazı ayarları gizleyebilir.";
"ENABLE_YT_STARTUP_ANIMATION" = "Enable YouTube startup animation";
"ENABLE_YT_STARTUP_ANIMATION" = "YouTube açılış animasyonunu aç";
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
"HIDE_MODERN_INTERFACE" = "Hide Modern Interface (YTNoModernUI)";
"HIDE_MODERN_INTERFACE_DESC" = "Toggle this on to hide any Modern Element added by YouTube. Removes Ambient Mode, Rounded Design & More. App restart is required.";
"HIDE_MODERN_INTERFACE" = "Modern Arayüzü Gizle (YTNoModernUI)";
"HIDE_MODERN_INTERFACE_DESC" = "YouTube'un eklediği Modern Öğeleri gizlemek için aç. Yeniden başlatılmalı.";
"IPAD_LAYOUT" = "iPad Layout";
"IPAD_LAYOUT_DESC" = "only use this if you want to have the iPad Layout on your current iPhone/iPod. App restart is required.";
"IPAD_LAYOUT" = "iPad Düzeni";
"IPAD_LAYOUT_DESC" = "Mevcut iPhone/iPod'unuzda iPad Düzenini kullanmak için aç. Yeniden başlatılmalı.";
"IPHONE_LAYOUT" = "iPhone Layout";
"IPHONE_LAYOUT_DESC" = "only use this if you want to have the iPhone Layout on your current iPad. App restart is required.";
"IPHONE_LAYOUT" = "iPhone Düzeni";
"IPHONE_LAYOUT_DESC" = "Mevcut iPad'inizde iPhone Düzenini kullanmak için aç. Yeniden başlatılmalı.";
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
"CASTING" = "Castings";
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
"MSG_YES" = "Yes";
"MSG_CANCEL" = "Cancel";
"CAST_CONFIRM" = "Yayın öncesi onay (YTCastConfirm)";
"CAST_CONFIRM_DESC" = "TV'yi yanlışlıkla kontrol etmeyi önlemek için yayın öncesi onay göster.";
"CASTING" = "Yayınlar";
"MSG_ARE_YOU_SURE" = "Yayın başlatmak istediğinizden emin misiniz?";
"MSG_YES" = "Evet";
"MSG_CANCEL" = "İptal";
"NEW_MINIPLAYER_STYLE" = "Yeni mini oynatıcı çubuğu stili (BigYTMiniPlayer)";
"NEW_MINIPLAYER_STYLE_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
"NEW_MINIPLAYER_STYLE" = "Yeni mini oynatıcı çubuğu (BigYTMiniPlayer)";
"NEW_MINIPLAYER_STYLE_DESC" = "Yeniden başlatılmalı.";
"HIDE_CAST_BUTTON" = "Yayınla düğmesini gizle";
"HIDE_CAST_BUTTON_DESC" = "Uygulamanın yeniden başlatılması gerekir.";
"HIDE_CAST_BUTTON_DESC" = "Yeniden başlatılmalı.";
"HIDE_SPONSORBLOCK_BUTTON" = "Hide iSponsorBlock button in the Navigation bar";
"HIDE_SPONSORBLOCK_BUTTON" = "Gezinme çubuğunda iSponsorBlock düğmesini gizle";
"HIDE_SPONSORBLOCK_BUTTON_DESC" = "";
"HIDE_HOME_TAB" = "Hide Home Tab";
"HIDE_HOME_TAB_DESC" = "Be careful when hiding all tabs";
"HIDE_HOME_TAB" = "Ana Sekmeyi Gizle";
"HIDE_HOME_TAB_DESC" = "Tüm sekmeleri gizlerken dikkatli olun";
"FIX_CASTING" = "Fix Casting";
"FIX_CASTING_DESC" = "Changes some AB flags to fix casting";
"FIX_CASTING" = "Yayınlamayı Düzelt";
"FIX_CASTING_DESC" = "Yayınlamayı düzeltmek için bazı ayarları değiştirir";
"ENABLE_FLEX" = "Enable FLEX";
"ENABLE_FLEX_DESC" = "Enable FLEX for debugging (not recommended). Leave this off unless you know what you are doing.";
"ENABLE_FLEX" = "FLEX'i Aç";
"ENABLE_FLEX_DESC" = "Hata ayıklama için FLEX'i aç (tavsiye edilmez). Ne yaptığınızı bilmiyorsanız kapalı tutun.";
// Version Spoofer
"APP_VERSION_SPOOFER_LITE" = "Enable App Version Spoofer (Lite)";
"APP_VERSION_SPOOFER_LITE_DESC" = "Enable this to use the Version Spoofer (Lite) and select your perferred version below. App restart is required.";
"VERSION_SPOOFER_TITLE" = "Version Spoofer Picker";
"APP_VERSION_SPOOFER_LITE" = "Uyg. Sürüm Spoofer'ını (Lite)";
"APP_VERSION_SPOOFER_LITE_DESC" = "Sürüm Spoofer (Lite) kullanmak için açın ve sürümü seçin. Yeniden başlatılmalı.";
"VERSION_SPOOFER_TITLE" = "Sürüm Seçici";
// Other Localization
"APP_RESTART_DESC" = "App restart is required.";
"CHANGE_APP_ICON" = "Change App Icon";
"APP_RESTART_DESC" = "Uyg. yeniden başlatılmalı.";
"CHANGE_APP_ICON" = "Uyg. Simgesini Değiştir";

View file

@ -2,6 +2,17 @@
"VERSION" = "Phiên bản của CercubePlus: %@";
"VERSION_CHECK" = "Nhấn để kiểm tra cập nhật!";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video player options
"VIDEO_PLAYER_OPTIONS" = "Tùy chọn trình phát video";
@ -35,6 +46,9 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
@ -53,6 +67,18 @@
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "Ẩn thông báo HUD";
"HIDE_HUD_MESSAGES_DESC" = "Ví dụ: Đã bật/tắt phụ đề, Tính năng phát video lặp lại đang bật,...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// Shorts controls overlay options
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "Tùy chọn lớp phủ điều khiển quần short";
@ -215,3 +241,32 @@
"IPHONE_LAYOUT_DESC" = "Chỉ sử dụng tùy chọn này nếu bạn muốn tải Bố cục iPhone trên iPad hiện tại của mình. Khởi động lại ứng dụng là bắt buộc.";
"CHANGE_APP_ICON" = "Change App Icon";
// Newly added strings
"APP_RESTART_DESC": "Mô tả khi khởi động lại ứng dụng",
"CUSTOM_LOWCONTRASTMODE": "Chế độ độ tương phản thấp tùy chỉnh",
"APP_VERSION_SPOOFER_LITE": "Phiên bản giả lập ứng dụng nhẹ",
"PLAYBACK_IN_FEEDS_OFF": "Tắt phát trong các trang danh sách video",
"PLAYBACK_IN_FEEDS": "Phát trong các trang danh sách video",
"ENABLE_SHARE_BUTTON_DESC": "Mô tả nút chia sẻ",
"ENABLE_SAVE_TO_PLAYLIST_BUTTON": "Bật nút lưu vào danh sách phát",
"LCM_SELECTOR": "Trình chọn chế độ độ tương phản thấp",
"NEW_SETTINGS_UI_DESC": "Mô tả giao diện cài đặt mới",
"VERSION_SPOOFER_TITLE": "Tiêu đề giả lập phiên bản",
"HIDE_SPONSORBLOCK_BUTTON": "Ẩn nút SponsorBlock",
"ENABLE_SHARE_BUTTON": "Bật nút chia sẻ",
"ENABLE_SAVE_TO_PLAYLIST_BUTTON_DESC": "Mô tả nút lưu vào danh sách phát",
"HIDE_SHADOW_OVERLAY_BUTTONS": "Ẩn các nút lớp phủ bóng",
"APP_VERSION_SPOOFER_LITE_DESC": "Mô tả phiên bản giả lập ứng dụng nhẹ",
"DEFAULT_LOWCONTRASTMODE": "Chế độ độ tương phản thấp mặc định",
"APP_SETTINGS_OVERLAY_OPTIONS": "Tùy chọn lớp phủ cài đặt ứng dụng",
"HIDE_HOME_TAB_DESC": "Mô tả ẩn tab Trang chủ",
"PLAYBACK_IN_FEEDS_ALWAYS_ON": "Luôn bật phát trong các trang danh sách video",
"FIX_CASTING": "Sửa lỗi truyền phát",
"FIX_CASTING_DESC": "Mô tả sửa lỗi truyền phát",
"PLAYBACK_IN_FEEDS_WIFI_ONLY": "Phát trong các trang danh sách video chỉ qua WiFi",
"NEW_MINIPLAYER_STYLE_DESC": "Mô tả kiểu trình phát nhỏ mới",
"NEW_SETTINGS_UI": "Giao diện cài đặt mới",
"HIDE_HOME_TAB": "Ẩn tab Trang chủ",
"HIDE_SHADOW_OVERLAY_BUTTONS_DESC": "Mô tả ẩn các nút lớp phủ bóng",
"ENABLE_YT_STARTUP_ANIMATION": "Bật hoạt ảnh khởi động YouTube"

View file

@ -3,6 +3,17 @@
"VERSION" = "YTLitePlus 版本:%@";
"VERSION_CHECK" = "檢查更新";
"COPY_SETTINGS" = "Copy Settings";
"COPY_SETTINGS_DESC" = "Copy all current settings to the clipboard";
"PASTE_SETTINGS" = "Paste Settings";
"PASTE_SETTINGS_DESC" = "Paste settings from clipboard and apply";
"EXPORT_SETTINGS" = "Export Settings";
"EXPORT_SETTINGS_DESC" = "Exports all current settings into a .txt file";
"IMPORT_SETTINGS" = "Import Settings";
"IMPORT_SETTINGS_DESC" = "Press to import settings (.txt)";
"REPLACE_COPY_AND_PASTE_BUTTONS" = "Replace 'Copy Settings' & 'Paste Settings' Buttons";
"REPLACE_COPY_AND_PASTE_BUTTONS_DESC" = "Replaces the Buttons to 'Export Settings' and 'Import Settings'";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "影片區覆蓋按鈕設定";
@ -27,9 +38,39 @@
"DISABLE_AMBIENT_FULLSCREEN" = "Disable Ambient Mode (Fullscreen)";
"DISABLE_AMBIENT_FULLSCREEN_DESC" = "Disable lighting surrouding video player";
"FULLSCREEN_TO_THE_RIGHT" = "Fullscreen to the Right";
"FULLSCREEN_TO_THE_RIGHT_DESC" = "Always enter fullscreen with home button on the right side.";
"SEEK_ANYWHERE" = "Seek Anywhere Gesture";
"SEEK_ANYWHERE_DESC" = "Hold and drag on the video player to seek. You must disable YTLite - Hold to speed";
"ENABLE_TAP_TO_SEEK" = "Enable Tap To Seek";
"ENABLE_TAP_TO_SEEK_DESC" = "Jump to anywhere in a video by single-tapping the seek bar";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "Disable pull-to-fullscreen gesture";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "Disable the drag gesture to enter vertical fullscreen. Only applies to landscape videos.";
"ALWAYS_USE_REMAINING_TIME" = "Always use remaining time";
"ALWAYS_USE_REMAINING_TIME_DESC" = "Change the default to show time remaining in the player bar.";
"DISABLE_TOGGLE_TIME_REMAINING" = "Disable toggle time remaining";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "Disables changing time elapsed to time remaining. Use with other setting to always show remaining time.";
"DISABLE_ENGAGEMENT_OVERLAY" = "Disable fullscreen engagement overlay";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "Disable the swipe-up gesture and suggested videos list in fullscreen";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER" = "Hide Comment previews under player";
"HIDE_COMMENT_PREVIEWS_UNDER_PLAYER_DESC" = "Hide comment spoiler in comments button";
"HIDE_AUTOPLAY_MINI_PREVIEW" = "Hide autoplay mini preview";
"HIDE_AUTOPLAY_MINI_PREVIEW_DESC" = "Hide the small suggested video box near the title in fullscreen";
"HIDE_HUD_MESSAGES" = "隱藏 HUD 訊息";
"HIDE_HUD_MESSAGES_DESC" = "例如CC字幕、開啟/關閉、影片循環開啟等...";
"HIDE_COLLAPSE_BUTTON" = "Hide Collapse Button";
"HIDE_COLLAPSE_BUTTON_DESC" = "Hides the Arrow Collapse Button that was shown in the Top Left of the Video Player.";
// App settings overlay options
"APP_SETTINGS_OVERLAY_OPTIONS" = "應用程式設定隱藏項目";
@ -121,3 +162,16 @@
// Other Localization
"APP_RESTART_DESC" = "重新啟動應用程式以套用變更。";
"CHANGE_APP_ICON" = "Change App Icon";
// Newly added strings
"ENABLE_TAP_TO_SEEK_DESC" = "ENABLE_TAP_TO_SEEK_DESC";
"ENABLE_TAP_TO_SEEK" = "ENABLE_TAP_TO_SEEK";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC" = "DISABLE_PULL_TO_FULLSCREEN_GESTURE_DESC";
"ALWAYS_USE_REMAINING_TIME" = "ALWAYS_USE_REMAINING_TIME";
"DISABLE_PULL_TO_FULLSCREEN_GESTURE" = "DISABLE_PULL_TO_FULLSCREEN_GESTURE";
"DISABLE_TOGGLE_TIME_REMAINING" = "DISABLE_TOGGLE_TIME_REMAINING";
"DISABLE_ENGAGEMENT_OVERLAY" = "DISABLE_ENGAGEMENT_OVERLAY";
"DISABLE_TOGGLE_TIME_REMAINING_DESC" = "DISABLE_TOGGLE_TIME_REMAINING_DESC";
"DISABLE_ENGAGEMENT_OVERLAY_DESC" = "DISABLE_ENGAGEMENT_OVERLAY_DESC";
"ALWAYS_USE_REMAINING_TIME_DESC" = "ALWAYS_USE_REMAINING_TIME_DESC";
"DEFAULT_THEME_DESC" = "DEFAULT_THEME_DESC";