Compare commits

...
121 Commits
Author SHA1 Message Date
Dan 2b677dbe45 Create main.yml 2024-09-01 03:54:42 +03:00
Dan 8b351cd0d0 upd 2024-09-01 03:27:21 +03:00
Dan 99ca1002e3 Merge pull request #154 from xiangfeidexiaohuo/main
Update Chinese
2024-09-01 03:22:29 +03:00
xiangfeidexiaohuo d7d325586e Update Chinese
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-09-01 03:30:51 +08:00
Dan 1b4fbff582 upd 2024-08-30 04:37:15 +03:00
Dan 531f686eba upd 2024-08-23 22:56:21 +03:00
Dan 8ff8d5d1a8 Merge pull request #151 from mumuisdog/main
up zh-Hant
2024-08-23 01:26:50 +03:00
MūmüìśDõg 7924ab1097 Merge branch 'dayanch96:main' into main 2024-08-23 01:22:17 +08:00
mumuisdog 29a71b2e9e Update Localizable.strings 2024-08-23 01:21:39 +08:00
Dan 02a8eae322 Merge pull request #150 from xiangfeidexiaohuo/main
fix
2024-08-22 18:07:46 +03:00
xiangfeidexiaohuo fcbc1e76b8 fix
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-22 22:54:38 +08:00
Dan 55eadc4674 Merge pull request #149 from xiangfeidexiaohuo/main
Update Simplified Chinese
2024-08-22 17:18:54 +03:00
xiangfeidexiaohuo c491b40391 Update Simplified Chinese
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-22 15:15:46 +08:00
Dan bf2a686198 upd 2024-08-22 09:24:34 +03:00
Dan 724d695f2b Merge pull request #148 from xiangfeidexiaohuo/main
Update Simplified Chinese
2024-08-19 20:40:51 +03:00
xiangfeidexiaohuo 38e72a8f10 Update Simplified Chinese
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-20 01:26:28 +08:00
Dan eb11840413 upd 2024-08-19 19:58:59 +03:00
Dan 029d6ebd31 new strings 2024-08-19 03:18:52 +03:00
Dan 8390461b02 Merge pull request #147 from Balackburn/main
Updated French localizable.strings
2024-08-18 13:18:27 +03:00
Balackburn c2b5e11caf Updated Localizable.strings 2024-08-18 10:23:01 +02:00
Dan fc3b82a49e upd 2024-08-18 07:11:12 +03:00
Dan bf21a16513 new strings 2024-08-18 07:08:24 +03:00
Dan 9887f51980 Merge pull request #145 from mumuisdog/main
Update zh-Hant
2024-08-16 16:27:39 +03:00
mumuisdog 5b36e59c12 Update Localizable.strings 2024-08-14 17:54:34 +08:00
Dan 2830e582d9 Merge pull request #144 from xiangfeidexiaohuo/main
Fix Chinese translation
2024-08-13 21:50:41 +03:00
xiangfeidexiaohuo 534ddc385d Fix Chinese translation
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-14 02:42:19 +08:00
Dan 367997d567 Merge pull request #143 from xiangfeidexiaohuo/main
Update Simplified Chinese of 5.0b3
2024-08-12 12:32:38 +03:00
xiangfeidexiaohuo e4629be0b5 Update Simplified Chinese of 5.0b3
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-12 15:34:47 +08:00
Dan d3e3d2d7dd Update FUNDING.yml 2024-08-12 04:37:12 +03:00
Dan 6cba6d8d7b Update README.md 2024-08-12 04:30:54 +03:00
Dan 42e1635e49 Merge branch 'main' of https://github.com/dayanch96/YTLite 2024-08-12 04:23:39 +03:00
Dan 6c1cf9846b More strings 2024-08-12 04:23:36 +03:00
Dan 55f11ae1ad Update README.md 2024-08-12 04:21:56 +03:00
Dan e234ab9f1b upd 2024-08-11 04:07:40 +03:00
Dan 9070b05f60 upd 2024-08-11 01:27:53 +03:00
Dan 4c904da048 Merge branch 'main' of https://github.com/dayanch96/YTLite 2024-08-09 23:58:54 +03:00
Dan 3a65917118 Upd 2024-08-09 23:57:01 +03:00
Dan 9a3ea341ed Merge pull request #142 from mumuisdog/main
fix zh-Hant
2024-08-09 23:49:29 +03:00
mumuisdog 7850e059bd Update Localizable.strings 2024-08-09 17:05:09 +08:00
mumuisdog 3d490e98dd Update Localizable.strings 2024-08-08 02:15:25 +08:00
Dan a93b25708c Merge pull request #135 from xiangfeidexiaohuo/main
Update Simplified Chinese
2024-08-06 18:03:43 +03:00
xiangfeidexiaohuo e7d8bda06e Update Simplified Chinese
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-06 13:40:59 +08:00
Dan 406918f455 upd 2024-08-06 01:22:50 +03:00
Dan bf395fd146 upd 2024-08-06 01:04:03 +03:00
Dan 19d4363dcd upd 2024-08-06 01:02:46 +03:00
Dan 61c2e465de Merge pull request #134 from xiangfeidexiaohuo/main
Update Simplified Chinese of v5.0
2024-08-05 23:02:38 +03:00
xiangfeidexiaohuo 2b06eb9025 Update Simplified Chinese of v5.0
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-08-06 00:08:08 +08:00
Dan c16ff77c5e Merge pull request #133 from Balackburn/main
Updated French localization
2024-08-05 15:57:28 +03:00
Balackburn 5bc1db252d Updated French localization 2024-08-05 14:05:44 +02:00
Dan 5516efc78b Localizations for v5.0 2024-08-05 13:54:30 +03:00
Dan 54de3baf79 Merge pull request #129 from ichitaso/main
Support for roothide package & ja.lproj update
2024-07-16 18:41:54 +03:00
ichitaso 62c9d84d46 Update Makefile 2024-07-16 20:02:30 +09:00
ichitaso 546d3692bf roothide support & ja.lploj update 2024-07-16 19:57:22 +09:00
Dan 508c927907 Remove YTUHD dependency description 2024-06-13 15:35:20 +03:00
Dan 27d45b604d Merge pull request #123 from mumuisdog/main
update zh-Hant to 4.0.1
2024-06-13 13:08:16 +03:00
MūmüìśDõg 1c71597b5b Merge branch 'dayanch96:main' into main 2024-06-12 23:27:15 +08:00
mumuisdog c76d38da52 Update Localizable.strings 2024-06-12 23:26:27 +08:00
Dan 18a6b8b8e4 Merge pull request #119 from xiangfeidexiaohuo/main
Updated Simplified Chinese translation of v4.0.1
2024-06-11 18:42:06 +03:00
Dan cf4aa9f002 Merge pull request #122 from Deci8BelioS/main
Update Spanish Translation
2024-06-11 18:41:23 +03:00
DeciBelioS dc1cdbdc01 Update Localizable.strings Spanish 2024-06-11 03:13:19 +02:00
DeciBelioS 830176a5d1 Update Localizable.strings Spanish 2024-06-11 03:01:20 +02:00
DeciBelioS 58caa418e2 Update Localizable.strings Spanish 2024-06-11 02:29:37 +02:00
xiangfeidexiaohuo f3d089ef08 Updated Simplified Chinese translation of v4.0.1
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-06-10 02:10:40 +08:00
Dan 88fea4f898 configuration file 2024-06-08 20:25:32 +03:00
Dan fdfaa63fc0 feature request template 2024-06-08 20:24:57 +03:00
Dan 6dcfaa3304 bug report template 2024-06-08 20:24:04 +03:00
Dan af7b3ab7d7 Localization files for 4.0.1 2024-06-08 20:17:08 +03:00
Dan 9b3a31068f Delete LICENSE 2024-05-01 16:09:44 +03:00
Dan d68f386698 Merge pull request #94 from SKEIDs/patch-1
Update Japanese localization
2024-03-21 21:47:30 +03:00
SKEIDs 644287173f Update Localizable.strings 2024-03-21 23:59:19 +09:00
SKEIDs 555231828b Update Japanese localization 2024-03-21 23:12:10 +09:00
Dan 972c651fe5 Buy me a coffee 2024-03-20 07:42:30 +03:00
Dan 0848613088 Merge pull request #88 from Balackburn/main
Typo - Removed empty space
2024-03-12 01:38:38 +03:00
Balackburn fcc16d93e1 Typo - Removed empty space 2024-03-11 21:49:51 +01:00
Dan d0b0a24819 Checking for matching keys instead of boolean values 2024-03-10 06:37:06 +03:00
Dan e5894e7291 Getting rid of the first object 2024-03-10 06:35:48 +03:00
Dan c3cc0b4286 Merge pull request #87 from xiangfeidexiaohuo/main
301 zh
2024-03-08 18:31:04 +03:00
xiangfeidexiaohuo 3372a0e8fa 301 zh
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-03-08 21:29:18 +08:00
Dan 352a09b3e2 Merge pull request #83 from mumuisdog/main
update zh-Hant
2024-03-08 14:07:25 +03:00
Dan e5911db645 Merge pull request #85 from Balackburn/main
updated french localization
2024-03-08 13:08:28 +03:00
Dan 627578782e Merge pull request #84 from Deci8BelioS/main
Update Localizable.strings Spanish
2024-03-08 13:07:43 +03:00
Dan 7902358abd Merge pull request #86 from hiepvk/main
Update Localizable.strings
2024-03-08 12:57:49 +03:00
Hiệpvk 1a0366b2a1 Update Localizable.strings 2024-03-08 09:51:01 +07:00
Balackburn a8b747323e updated french localization 2024-03-08 00:05:23 +01:00
DeciBelioS ea18023a91 Update Localizable.strings Spanish 2024-03-07 22:25:16 +01:00
mumuisdog 5cbb044637 Update Localizable.strings 2024-03-08 02:27:25 +08:00
mumuisdog ffed2f814f Update Localizable.strings 2024-03-08 02:24:05 +08:00
mumuisdog 51eccd0abf Update Localizable.strings 2024-03-08 02:11:33 +08:00
dayanch96 44d7cf3b59 Bring back translated strings 2024-03-07 18:06:19 +03:00
dayanch96 9ffdd62b8d Merge branch 'main' of https://github.com/dayanch96/YTLite 2024-03-07 18:03:34 +03:00
dayanch96 1991a9d6ee 3.0.1 2024-03-07 18:03:24 +03:00
Dan dc130bdf6b Merge pull request #81 from hiepvk/main
Update Localizable.strings
2024-03-07 16:05:25 +03:00
Dan a95b16cb71 Merge pull request #80 from Deci8BelioS/main
Update Localizable.strings Spanish
2024-03-07 16:04:54 +03:00
Hiệpvk 1214db95dc Update Localizable.strings 2024-03-07 18:08:58 +07:00
DeciBelioS 0ab9d5fa7e Update Localizable.strings Spanish 2024-03-06 23:12:23 +01:00
dayanch96 d2989b3f90 Merge branch 'main' of https://github.com/dayanch96/YTLite 2024-03-06 22:28:26 +03:00
dayanch96 91a8a79cc8 remove unnecessary import 2024-03-06 22:28:09 +03:00
Dan cc4b8eb42c Update README.md 2024-03-06 22:24:05 +03:00
dayanch96 ddf6094c62 Merge branch 'main' of https://github.com/dayanch96/YTLite 2024-03-06 22:11:37 +03:00
dayanch96 5bce5a7e33 3.0 2024-03-06 22:11:32 +03:00
Dan 2f601de852 Create FUNDING.yml 2024-03-06 21:04:07 +03:00
Dan bde14ad82b Merge pull request #74 from hiepvk/main
Update Localizable.strings
2024-03-02 12:47:05 +03:00
Hiệpvk 970c566046 Update Localizable.strings 2024-03-02 15:48:58 +07:00
Dan d7c5e540a4 Merge pull request #69 from mumuisdog/main
Update zh-Hant Localizable
2024-03-01 01:01:10 +03:00
Dan 86b5688eae Update Localizable.strings 2024-03-01 01:00:50 +03:00
Dan 341b1cde9d Merge pull request #73 from Deci8BelioS/main
Update Localizable.strings Spanish
2024-03-01 00:55:18 +03:00
DeciBelioS e27e0fa8cf Update Localizable.strings Spanish 2024-02-29 19:50:39 +01:00
mumuisdog e0c7f92288 Update Localizable.strings 2024-02-29 00:46:10 +08:00
Dan 9cf2ca008c Merge pull request #68 from xiangfeidexiaohuo/main
update zh-Hans
2024-02-28 16:37:45 +03:00
xiangfeidexiaohuo 1265e80d15 update zh-Hans
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-02-28 21:33:13 +08:00
Dan 56a5e906f3 Merge pull request #67 from Balackburn/main
Updated fr localization
2024-02-28 15:49:34 +03:00
Dan 154ea37acd Update Localizable.strings 2024-02-28 15:47:44 +03:00
Balackburn 0d83236666 Updated fr localization 2024-02-28 13:45:00 +01:00
dayanch96 5bf8181815 2.7 2024-02-28 15:02:46 +03:00
Dan b6958ac963 Merge pull request #66 from xiangfeidexiaohuo/main
update zh-Hans
2024-02-27 12:00:12 +03:00
xiangfeidexiaohuo 8187bbaa13 update zh-Hans
Signed-off-by: xiangfeidexiaohuo <jsjson@163.com>
2024-02-26 23:41:10 +08:00
Dan 5d2c85cb14 Update Localizable.strings 2024-02-24 04:17:39 +03:00
Dan 71b52fc82b Merge pull request #64 from hiepvk/main
Update Localizable.strings
2024-02-22 23:02:50 +03:00
Hiệpvk 6cc81886c0 Update Localizable.strings 2024-02-22 23:06:13 +07:00
Dan 0671598943 Merge pull request #63 from mumuisdog/main
Update zh-Hant Localizable
2024-02-22 17:40:54 +03:00
mumuisdog 8886fb7b61 Update Localizable.strings 2024-02-22 22:26:55 +08:00
44 changed files with 7210 additions and 2617 deletions
-2
View File
@@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto
+4
View File
@@ -0,0 +1,4 @@
patreon: dayanch96
github: dayanch96
ko_fi: dayanch96
buy_me_a_coffee: dayanch96
+61
View File
@@ -0,0 +1,61 @@
name: Bug report
description: This issue template is designed to help you report problems and suggest improvements for our project.
labels: bug
body:
- type: textarea
attributes:
label: Describe the bug
description: Describe the issue in detail here, including any relevant context or background information. Be clear and concise.
placeholder: |
Enter your description here
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the behavior (bug)
placeholder: |
Example:
1. Go to Main tab
2. Tap to the video
3. See error
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Crashlog
description: |
**Do not put text from crashlog, include zipped Crashlog_File.ips instead**
**To find and attach your crashlog:**
1. Open the Analytics & Improvements section of Settings on the device.
2. Tap Analytics Data.
3. Locate the log for your app. The log name starts with YouTubeMusic_(DateTime).
4. Select the desired log.
5. Tap the Share icon, save it in the Files app, then zip saved file.
placeholder: |
Drag and drop your Crashlog.zip here.
validations:
required: false
- type: checkboxes
attributes:
label: Post Requisites
description: |
**IMPORTANT:** Read carefully before checking the box.
options:
- label: I have checked that a similar issue has not been reported before.
required: true
- label: Verified the relevance of the project and the version you are using.
required: true
- label: Provided a detailed description of the problem and have filled in all required fields.
required: true
- label: I did not answer truthfully to **ALL** the above checkboxes.
required: false
- label: By submitting this issue, **I confirm that I have filled in all the necessary fields and complied with the guidelines. Failure to comply may result in the issue being closed without discussion, and repeated violations may lead to restrict account from further participation.**
required: true
+1
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
@@ -0,0 +1,30 @@
name: Feature request
description: This template is designed to help you suggest improvements or new features for our project.
labels: enhancement
body:
- type: textarea
attributes:
label: Describe the feature request
description: Describe the feature or enhancement in detail here. Include any relevant context or background information. Be clear and concise.
placeholder: |
Enter your description here
render: yaml
validations:
required: true
- type: checkboxes
attributes:
label: Post Requisites
description: |
**IMPORTANT:** Read carefully before checking the box.
options:
- label: I have checked that a similar feature request has not been reported before.
required: true
- label: Verified the relevance of the project and the version you are using.
required: true
- label: Provided a detailed description of the request and have filled in all required fields.
required: true
- label: I did not answer truthfully to **ALL** the above checkboxes.
required: false
- label: By submitting this request, **I confirm that I have filled in all the necessary fields and complied with the guidelines. Failure to comply may result in the request being closed without discussion, and repeated violations may lead to restrict account from further participation.**
required: true
+89
View File
@@ -0,0 +1,89 @@
name: Create YouTube Plus app
on:
workflow_dispatch:
inputs:
ipa_url:
description: "The direct URL to the decrypted IPA file"
default: ""
required: true
type: string
tweak_version:
description: "The version of the tweak to use. Enter the version manually from dayanch96/YTLite/releases or leave default"
default: "5.0"
required: true
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name:
runs-on: macos-12
permissions:
contents: write
steps:
- name: Checkout Main
uses: actions/checkout@v4.1.1
with:
path: main
submodules: recursive
- name: Install Dependencies
run: brew install ldid dpkg make coreutils
- name: Set PATH environment variable
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
- name: Cache Azule
id: azule_cache
uses: actions/cache@v4.0.1
env:
cache-name: azule-cache
with:
path: ${{ github.workspace }}/Azule
key: ${{ env.cache-name }}
restore-keys: ${{ env.cache-name }}
- name: Clone Azule Repository
if: steps.azule_cache.outputs.cache-hit != 'true'
run: |
git clone https://github.com/Al4ise/Azule ${{ github.workspace }}/Azule
- name: Download YouTube
id: download_youtube
run: wget "${{ inputs.ipa_url }}" --no-verbose -O ${{ github.workspace }}/youtube.ipa
- name: Download YouTube Plus
id: download_ytp
run: |
deb_url="https://github.com/dayanch96/YTLite/releases/download/v${{ inputs.tweak_version }}/com.dvntm.ytlite_${{ inputs.tweak_version }}_iphoneos-arm.deb"
wget "$deb_url" --no-verbose -O ${{ github.workspace }}/ytplus.deb
- name: Inject tweak into IPA
run: |
cd ${{ github.workspace }}
./Azule/azule -n YouTubePlus -i ${{ github.workspace }}/youtube.ipa -o ${{ github.workspace }} -f ${{ github.workspace }}/ytplus.deb
- name: Remove the Watch folder
run: |
cd ${{ github.workspace }}
mv YouTubePlus.ipa YouTubePlus.zip
unzip -q YouTubePlus.zip
cd Payload/Youtube.app
rm -rf Watch
cd ../..
zip -qr YouTubePlus.ipa Payload
rm -rf Payload
- name: Upload to GitHub Releases
uses: softprops/action-gh-release@v2.0.1
with:
tag_name: v${{ github.run_number }}
name: YouTubePlus-v${{ github.run_number }}
files: YouTubePlus.ipa
draft: true
+3
View File
@@ -0,0 +1,3 @@
.theos/
packages/
.DS_Store
-21
View File
@@ -1,21 +0,0 @@
MIT License
Copyright (c) 2023 dayanch96
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+6 -4
View File
@@ -1,18 +1,20 @@
ifeq ($(ROOTLESS),1) ifeq ($(ROOTLESS),1)
THEOS_PACKAGE_SCHEME=rootless THEOS_PACKAGE_SCHEME=rootless
else ifeq ($(ROOTHIDE),1)
THEOS_PACKAGE_SCHEME=roothide
endif endif
DEBUG=0 DEBUG=0
FINALPACKAGE=1 FINALPACKAGE=1
ARCHS = arm64 ARCHS = arm64
PACKAGE_VERSION = 2.6.3 PACKAGE_VERSION = 3.0.1
TARGET := iphone:clang:latest:13.0 TARGET := iphone:clang:16.5:13.0
include $(THEOS)/makefiles/common.mk include $(THEOS)/makefiles/common.mk
TWEAK_NAME = YTLite TWEAK_NAME = YTLite
$(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation $(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation SystemConfiguration
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=$(PACKAGE_VERSION) $(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=$(PACKAGE_VERSION)
$(TWEAK_NAME)_FILES = YTLite.x Settings.x Sideloading.x $(TWEAK_NAME)_FILES = $(wildcard *.x Utils/*.m)
include $(THEOS_MAKE_PATH)/tweak.mk include $(THEOS_MAKE_PATH)/tweak.mk
+20 -14
View File
@@ -1,18 +1,24 @@
# YTLite # YouTube Plus (ex. YTLite)
Lightweight YouTube Enhancer A flexible enhancer for YouTube on iOS, featuring over hundred customizable options.
Advanced mode can be activated inside **Version cell**. Then simply reopen YTLite settings ## Screenshots
| ![1](https://github.com/user-attachments/assets/3a761963-0fca-4a4d-8a39-eb491317bef9) | ![2](https://github.com/user-attachments/assets/a5b5821e-534f-4407-83e6-e1cf077211d8) | ![3](https://github.com/user-attachments/assets/13ef6bca-a49d-42f5-b2cb-f9ede7d6bb9f) |
|---|---|---|
| ![4](https://github.com/user-attachments/assets/fae36b65-89c9-473a-b40f-334bf1d69e75) | ![5](https://github.com/user-attachments/assets/1e989ff4-f843-467f-94ad-3195c2e3cb83) | ![6](https://github.com/user-attachments/assets/c4fb5ef6-0bd3-4eaf-ad3e-903bad115024) |
# How to build it yourself ## Main Features
Clone this repo and __[YouTubeHeader by PoomSmart](https://github.com/PoomSmart/YouTubeHeader/)__ <li>Download videos, audio (including audio track selection), thumbnails, posts, and profile pictures</li>
<li>Copy video, comment, and post information</li>
cd YTLite folder and run <li>Interface customization: Remove feed elements, reorder tabs, enable OLED mode, and as use Shorts-only mode</li>
<li>Player settings: Gestures, default quality, preferred audio track</li>
• '**make clean package**' to build deb for rootful device <li>Save, Load and Restore settings. Clear cache once or automatically on app startup</li>
<li>Built-in SponsorBlock</li>
• '**make clean package ROOTLESS=1**' to build deb for rootless device <li>And much, much more</li>
<br>
<p align="center"> **YouTube Plus preferences can be found in the YouTube Settings**
<img src=https://github-production-user-asset-6210df.s3.amazonaws.com/38832025/248051008-4cef3fb5-ab24-4d8c-bc7f-122b1df95996.png?raw=true) />
</p> **All contributors are listed in the Contributors section**
**Used open-source libraries are listed in the Open Source Libraries section**
+481 -354
View File
@@ -41,63 +41,72 @@ static NSString *GetCacheSize() {
} }
%end %end
%hook YTSettingsCell
- (void)layoutSubviews {
%orig;
BOOL isYTLite = [self.accessibilityIdentifier isEqualToString:@"YTLiteSectionItem"];
YTTouchFeedbackController *feedback = [self valueForKey:@"_touchFeedbackController"];
ABCSwitch *abcSwitch = [self valueForKey:@"_switch"];
if (isYTLite) {
feedback.feedbackColor = [UIColor colorWithRed:0.75 green:0.50 blue:0.90 alpha:1.0];
abcSwitch.onTintColor = [UIColor colorWithRed:0.75 green:0.50 blue:0.90 alpha:1.0];
}
}
%end
%hook YTSettingsSectionItemManager %hook YTSettingsSectionItemManager
%new %new
- (void)updatePrefsForKey:(NSString *)key enabled:(BOOL)enabled { - (YTSettingsSectionItem *)switchWithTitle:(NSString *)title key:(NSString *)key {
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"]; Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem);
NSMutableDictionary *prefs = [NSMutableDictionary dictionaryWithContentsOfFile:prefsPath]; Class YTAlertViewClass = %c(YTAlertView);
NSString *titleDesc = [NSString stringWithFormat:@"%@Desc", title];
if (!prefs) prefs = [NSMutableDictionary dictionary]; YTSettingsSectionItem *item = [YTSettingsSectionItemClass switchItemWithTitle:LOC(title)
titleDescription:LOC(titleDesc)
accessibilityIdentifier:@"YTLiteSectionItem"
switchOn:ytlBool(key)
switchBlock:^BOOL(YTSettingsCell *cell, BOOL enabled) {
if ([key isEqualToString:@"shortsOnlyMode"]) {
YTAlertView *alertView = [YTAlertViewClass confirmationDialogWithAction:^{
ytlSetBool(enabled, @"shortsOnlyMode");
}
actionTitle:LOC(@"Yes")
cancelAction:^{
[cell setSwitchOn:!enabled animated:YES];
}
cancelTitle:LOC(@"No")];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"ShortsOnlyWarning");
[alertView show];
}
[prefs setObject:@(enabled) forKey:key]; else {
[prefs writeToFile:prefsPath atomically:NO]; ytlSetBool(enabled, key);
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.dvntm.ytlite.prefschanged"), NULL, NULL, YES); NSArray *keys = @[@"removeLabels", @"removeIndicators", @"reExplore", @"addExplore", @"removeShorts", @"removeSubscriptions", @"removeUploads", @"removeLibrary"];
if ([keys containsObject:key]) {
[[[%c(YTHeaderContentComboViewController) alloc] init] refreshPivotBar];
}
}
return YES;
}
settingItemId:0];
return item;
} }
%new %new
- (void)updateIntegerPrefsForKey:(NSString *)key intValue:(NSInteger)intValue { - (YTSettingsSectionItem *)linkWithTitle:(NSString *)title description:(NSString *)description link:(NSString *)link {
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"]; return [%c(YTSettingsSectionItem) itemWithTitle:title
NSMutableDictionary *prefs = [NSMutableDictionary dictionaryWithContentsOfFile:prefsPath]; titleDescription:description
accessibilityIdentifier:@"YTLiteSectionItem"
if (!prefs) prefs = [NSMutableDictionary dictionary]; detailTextBlock:nil
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[prefs setObject:@(intValue) forKey:key]; return [%c(YTUIUtils) openURL:[NSURL URLWithString:link]];
[prefs writeToFile:prefsPath atomically:NO]; }];
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.dvntm.ytlite.prefschanged"), NULL, NULL, YES);
}
static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleDescription, NSString *key, BOOL *value, id selfObject) {
Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem);
Class YTAlertViewClass = %c(YTAlertView);
YTSettingsSectionItem *item = [YTSettingsSectionItemClass switchItemWithTitle:title
titleDescription:titleDescription
accessibilityIdentifier:nil
switchOn:*value
switchBlock:^BOOL(YTSettingsCell *cell, BOOL enabled) {
if ([key isEqualToString:@"shortsOnlyMode"]) {
YTAlertView *alertView = [YTAlertViewClass confirmationDialogWithAction:^{
[selfObject updatePrefsForKey:@"shortsOnlyMode" enabled:enabled];
}
actionTitle:LOC(@"Yes")
cancelAction:^{
[cell setSwitchOn:!enabled animated:YES];
}
cancelTitle:LOC(@"No")];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"ShortsOnlyWarning");
[alertView show];
}
else {
[selfObject updatePrefsForKey:key enabled:enabled];
}
return YES;
}
settingItemId:0];
return item;
} }
%new(v@:@) %new(v@:@)
@@ -105,387 +114,510 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
NSMutableArray *sectionItems = [NSMutableArray array]; NSMutableArray *sectionItems = [NSMutableArray array];
Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem); Class YTSettingsSectionItemClass = %c(YTSettingsSectionItem);
YTSettingsViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"]; YTSettingsViewController *settingsViewController = [self valueForKey:@"_settingsViewControllerDelegate"];
id selfObject = self;
YTSettingsSectionItem *space = [%c(YTSettingsSectionItem) itemWithTitle:nil accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { return YES; }]; YTSettingsSectionItem *space = [%c(YTSettingsSectionItem) itemWithTitle:nil accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:nil selectBlock:nil];
YTSettingsSectionItem *general = [YTSettingsSectionItemClass itemWithTitle:LOC(@"General") YTSettingsSectionItem *general = [YTSettingsSectionItemClass itemWithTitle:LOC(@"General")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"RemoveAds"), LOC(@"RemoveAdsDesc"), @"noAds", &kNoAds, selfObject), [self switchWithTitle:@"RemoveAds" key:@"noAds"],
createSwitchItem(LOC(@"BackgroundPlayback"), LOC(@"BackgroundPlaybackDesc"), @"backgroundPlayback", &kBackgroundPlayback, selfObject) [self switchWithTitle:@"BackgroundPlayback" key:@"backgroundPlayback"]
]; ];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"General") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"General") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:general]; [sectionItems addObject:general];
YTSettingsSectionItem *navbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Navbar") YTSettingsSectionItem *navbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Navbar")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"RemoveCast"), LOC(@"RemoveCastDesc"), @"noCast", &kNoCast, selfObject), [self switchWithTitle:@"RemoveCast" key:@"noCast"],
createSwitchItem(LOC(@"RemoveNotifications"), LOC(@"RemoveNotificationsDesc"), @"removeNotifsButton", &kNoNotifsButton, selfObject), [self switchWithTitle:@"RemoveNotifications" key:@"noNotifsButton"],
createSwitchItem(LOC(@"RemoveSearch"), LOC(@"RemoveSearchDesc"), @"removeSearchButton", &kNoSearchButton, selfObject), [self switchWithTitle:@"RemoveSearch" key:@"noSearchButton"],
createSwitchItem(LOC(@"RemoveVoiceSearch"), LOC(@"RemoveVoiceSearchDesc"), @"removeVoiceSearchButton", &kNoVoiceSearchButton, selfObject) [self switchWithTitle:@"RemoveVoiceSearch" key:@"noVoiceSearchButton"]
]; ];
if (kAdvancedMode) { if (ytlBool(@"advancedMode")) {
YTSettingsSectionItem *addStickyNavbar = createSwitchItem(LOC(@"StickyNavbar"), LOC(@"StickyNavbarDesc"), @"stickyNavbar", &kStickyNavbar, selfObject); rows = [rows arrayByAddingObjectsFromArray:@[
rows = [rows arrayByAddingObject:addStickyNavbar]; [self switchWithTitle:@"StickyNavbar" key:@"stickyNavbar"],
[self switchWithTitle:@"NoSubbar" key:@"noSubbar"],
YTSettingsSectionItem *addNoSubbar = createSwitchItem(LOC(@"NoSubbar"), LOC(@"NoSubbarDesc"), @"noSubbar", &kNoSubbar, selfObject); [self switchWithTitle:@"NoYTLogo" key:@"noYTLogo"],
rows = [rows arrayByAddingObject:addNoSubbar]; [self switchWithTitle:@"PremiumYTLogo" key:@"premiumYTLogo"]
]];
YTSettingsSectionItem *addNoYTLogo = createSwitchItem(LOC(@"NoYTLogo"), LOC(@"NoYTLogoDesc"), @"noYTLogo", &kNoYTLogo, selfObject);
rows = [rows arrayByAddingObject:addNoYTLogo];
} }
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Navbar") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Navbar") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:navbar]; [sectionItems addObject:navbar];
if (kAdvancedMode) { if (ytlBool(@"advancedMode")) {
YTSettingsSectionItem *overlay = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Overlay") YTSettingsSectionItem *overlay = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Overlay")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"HideAutoplay"), LOC(@"HideAutoplayDesc"), @"hideAutoplay", &kHideAutoplay, selfObject), [self switchWithTitle:@"HideAutoplay" key:@"hideAutoplay"],
createSwitchItem(LOC(@"HideSubs"), LOC(@"HideSubsDesc"), @"hideSubs", &kHideSubs, selfObject), [self switchWithTitle:@"HideSubs" key:@"hideSubs"],
createSwitchItem(LOC(@"NoHUDMsgs"), LOC(@"NoHUDMsgsDesc"), @"noHUDMsgs", &kNoHUDMsgs, selfObject), [self switchWithTitle:@"NoHUDMsgs" key:@"noHUDMsgs"],
createSwitchItem(LOC(@"HidePrevNext"), LOC(@"HidePrevNextDesc"), @"hidePrevNext", &kHidePrevNext, selfObject), [self switchWithTitle:@"HidePrevNext" key:@"hidePrevNext"],
createSwitchItem(LOC(@"ReplacePrevNext"), LOC(@"ReplacePrevNextDesc"), @"replacePrevNext", &kReplacePrevNext, selfObject), [self switchWithTitle:@"ReplacePrevNext" key:@"replacePrevNext"],
createSwitchItem(LOC(@"NoDarkBg"), LOC(@"NoDarkBgDesc"), @"noDarkBg", &kNoDarkBg, selfObject), [self switchWithTitle:@"NoDarkBg" key:@"noDarkBg"],
createSwitchItem(LOC(@"NoEndScreenCards"), LOC(@"NoEndScreenCardsDesc"), @"endScreenCards", &kEndScreenCards, selfObject), [self switchWithTitle:@"NoEndScreenCards" key:@"endScreenCards"],
createSwitchItem(LOC(@"NoFullscreenActions"), LOC(@"NoFullscreenActionsDesc"), @"noFullscreenActions", &kNoFullscreenActions, selfObject), [self switchWithTitle:@"NoFullscreenActions" key:@"noFullscreenActions"],
createSwitchItem(LOC(@"PersistentProgressBar"), LOC(@"PersistentProgressBarDesc"), @"persistentProgressBar", &kPersistentProgressBar, selfObject), [self switchWithTitle:@"PersistentProgressBar" key:@"persistentProgressBar"],
createSwitchItem(LOC(@"NoRelatedVids"), LOC(@"NoRelatedVidsDesc"), @"noRelatedVids", &kNoRelatedVids, selfObject), [self switchWithTitle:@"StockVolumeHUD" key:@"stockVolumeHUD"],
createSwitchItem(LOC(@"NoPromotionCards"), LOC(@"NoPromotionCardsDesc"), @"noPromotionCards", &kNoPromotionCards, selfObject), [self switchWithTitle:@"NoRelatedVids" key:@"noRelatedVids"],
createSwitchItem(LOC(@"NoWatermarks"), LOC(@"NoWatermarksDesc"), @"noWatermarks", &kNoWatermarks, selfObject) [self switchWithTitle:@"NoPromotionCards" key:@"noPromotionCards"],
[self switchWithTitle:@"NoWatermarks" key:@"noWatermarks"],
[self switchWithTitle:@"VideoEndTime" key:@"videoEndTime"],
[self switchWithTitle:@"24hrFormat" key:@"24hrFormat"]
]; ];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Overlay") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Overlay") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:overlay]; [sectionItems addObject:overlay];
YTSettingsSectionItem *player = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Player") YTSettingsSectionItem *player = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Player")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"Miniplayer"), LOC(@"MiniplayerDesc"), @"miniplayer", &kMiniplayer, selfObject), [self switchWithTitle:@"Miniplayer" key:@"miniplayer"],
createSwitchItem(LOC(@"PortraitFullscreen"), LOC(@"PortraitFullscreenDesc"), @"portraitFullscreen", &kPortraitFullscreen, selfObject), [self switchWithTitle:@"PortraitFullscreen" key:@"portraitFullscreen"],
createSwitchItem(LOC(@"CopyWithTimestamp"), LOC(@"CopyWithTimestampDesc"), @"copyWithTimestamp", &kCopyWithTimestamp, selfObject), [self switchWithTitle:@"CopyWithTimestamp" key:@"copyWithTimestamp"],
createSwitchItem(LOC(@"DisableAutoplay"), LOC(@"DisableAutoplayDesc"), @"disableAutoplay", &kDisableAutoplay, selfObject), [self switchWithTitle:@"DisableAutoplay" key:@"disableAutoplay"],
createSwitchItem(LOC(@"DisableAutoCaptions"), LOC(@"DisableAutoCaptionsDesc"), @"disableAutoCaptions", &kDisableAutoCaptions, selfObject), [self switchWithTitle:@"DisableAutoCaptions" key:@"disableAutoCaptions"],
createSwitchItem(LOC(@"NoContentWarning"), LOC(@"NoContentWarningDesc"), @"noContentWarning", &kNoContentWarning, selfObject), [self switchWithTitle:@"NoContentWarning" key:@"noContentWarning"],
createSwitchItem(LOC(@"ClassicQuality"), LOC(@"ClassicQualityDesc"), @"classicQuality", &kClassicQuality, selfObject), [self switchWithTitle:@"ClassicQuality" key:@"classicQuality"],
createSwitchItem(LOC(@"ExtraSpeedOptions"), LOC(@"ExtraSpeedOptionsDesc"), @"extraSpeedOptions", &kExtraSpeedOptions, selfObject), [self switchWithTitle:@"ExtraSpeedOptions" key:@"extraSpeedOptions"],
createSwitchItem(LOC(@"DontSnap2Chapter"), LOC(@"DontSnap2ChapterDesc"), @"dontSnapToChapter", &kDontSnapToChapter, selfObject), [self switchWithTitle:@"DontSnap2Chapter" key:@"dontSnapToChapter"],
createSwitchItem(LOC(@"RedProgressBar"), LOC(@"RedProgressBarDesc"), @"redProgressBar", &kRedProgressBar, selfObject), [self switchWithTitle:@"NoTwoFingerSnapToChapter" key:@"noTwoFingerSnapToChapter"],
createSwitchItem(LOC(@"NoHints"), LOC(@"NoHintsDesc"), @"noHints", &kNoHints, selfObject), [self switchWithTitle:@"PauseOnOverlay" key:@"pauseOnOverlay"],
createSwitchItem(LOC(@"NoFreeZoom"), LOC(@"NoFreeZoomDesc"), @"noFreeZoom", &kNoFreeZoom, selfObject), [self switchWithTitle:@"RedProgressBar" key:@"redProgressBar"],
createSwitchItem(LOC(@"AutoFullscreen"), LOC(@"AutoFullscreenDesc"), @"autoFullscreen", &kAutoFullscreen, selfObject), [self switchWithTitle:@"NoPlayerRemixButton" key:@"noPlayerRemixButton"],
createSwitchItem(LOC(@"ExitFullscreen"), LOC(@"ExitFullscreenDesc"), @"exitFullscreen", &kExitFullscreen, selfObject), [self switchWithTitle:@"NoPlayerClipButton" key:@"noPlayerClipButton"],
createSwitchItem(LOC(@"NoDoubleTap2Seek"), LOC(@"NoDoubleTap2SeekDesc"), @"noDoubleTapToSeek", &kNoDoubleTapToSeek, selfObject) [self switchWithTitle:@"NoPlayerDownloadButton" key:@"noPlayerDownloadButton"],
[self switchWithTitle:@"NoHints" key:@"noHints"],
[self switchWithTitle:@"NoFreeZoom" key:@"noFreeZoom"],
[self switchWithTitle:@"AutoFullscreen" key:@"autoFullscreen"],
[self switchWithTitle:@"ExitFullscreen" key:@"exitFullscreen"],
[self switchWithTitle:@"NoDoubleTap2Seek" key:@"noDoubleTapToSeek"]
]; ];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Player") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Player") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:player]; [sectionItems addObject:player];
YTSettingsSectionItem *shorts = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Shorts") YTSettingsSectionItem *shorts = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Shorts")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
return @"‣";
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"ShortsOnlyMode"), LOC(@"ShortsOnlyModeDesc"), @"shortsOnlyMode", &kShortsOnlyMode, selfObject),
createSwitchItem(LOC(@"HideShorts"), LOC(@"HideShortsDesc"), @"hideShorts", &kHideShorts, selfObject),
createSwitchItem(LOC(@"ShortsProgress"), LOC(@"ShortsProgressDesc"), @"shortsProgress", &kShortsProgress, selfObject),
createSwitchItem(LOC(@"PinchToFullscreenShorts"), LOC(@"PinchToFullscreenShortsDesc"), @"pinchToFullscreenShorts", &kPinchToFullscreenShorts, selfObject),
createSwitchItem(LOC(@"ShortsToRegular"), LOC(@"ShortsToRegularDesc"), @"shortsToRegular", &kShortsToRegular, selfObject),
createSwitchItem(LOC(@"ResumeShorts"), LOC(@"ResumeShortsDesc"), @"resumeShorts", &kResumeShorts, selfObject),
createSwitchItem(LOC(@"HideShortsLogo"), LOC(@"HideShortsLogoDesc"), @"hideShortsLogo", &kHideShortsLogo, selfObject),
createSwitchItem(LOC(@"HideShortsSearch"), LOC(@"HideShortsSearchDesc"), @"hideShortsSearch", &kHideShortsSearch, selfObject),
createSwitchItem(LOC(@"HideShortsCamera"), LOC(@"HideShortsCameraDesc"), @"hideShortsCamera", &kHideShortsCamera, selfObject),
createSwitchItem(LOC(@"HideShortsMore"), LOC(@"HideShortsMoreDesc"), @"hideShortsMore", &kHideShortsMore, selfObject),
createSwitchItem(LOC(@"HideShortsSubscriptions"), LOC(@"HideShortsSubscriptionsDesc"), @"hideShortsSubscriptions", &kHideShortsSubscriptions, selfObject),
createSwitchItem(LOC(@"HideShortsLike"), LOC(@"HideShortsLikeDesc"), @"hideShortsLike", &kHideShortsLike, selfObject),
createSwitchItem(LOC(@"HideShortsDislike"), LOC(@"HideShortsDislikeDesc"), @"hideShortsDislike", &kHideShortsDislike, selfObject),
createSwitchItem(LOC(@"HideShortsComments"), LOC(@"HideShortsCommentsDesc"), @"hideShortsComments", &kHideShortsComments, selfObject),
createSwitchItem(LOC(@"HideShortsRemix"), LOC(@"HideShortsRemixDesc"), @"hideShortsRemix", &kHideShortsRemix, selfObject),
createSwitchItem(LOC(@"HideShortsShare"), LOC(@"HideShortsShareDesc"), @"hideShortsShare", &kHideShortsShare, selfObject),
createSwitchItem(LOC(@"HideShortsAvatars"), LOC(@"HideShortsAvatarsDesc"), @"hideShortsAvatars", &kHideShortsAvatars, selfObject),
createSwitchItem(LOC(@"HideShortsThanks"), LOC(@"HideShortsThanksDesc"), @"hideShortsThanks", &kHideShortsThanks, selfObject),
createSwitchItem(LOC(@"HideShortsSource"), LOC(@"HideShortsSourceDesc"), @"hideShortsSource", &kHideShortsSource, selfObject),
createSwitchItem(LOC(@"HideShortsChannelName"), LOC(@"HideShortsChannelNameDesc"), @"hideShortsChannelName", &kHideShortsChannelName, selfObject),
createSwitchItem(LOC(@"HideShortsDescription"), LOC(@"HideShortsDescriptionDesc"), @"hideShortsDescription", &kHideShortsDescription, selfObject),
createSwitchItem(LOC(@"HideShortsAudioTrack"), LOC(@"HideShortsAudioTrackDesc"), @"hideShortsAudioTrack", &kHideShortsAudioTrack, selfObject),
createSwitchItem(LOC(@"NoPromotionCards"), LOC(@"NoPromotionCardsDesc"), @"hideShortsPromoCards", &kHideShortsPromoCards, selfObject)
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Shorts") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:shorts];
}
YTSettingsSectionItem *tabbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Tabbar")
accessibilityIdentifier:nil
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"RemoveLabels"), LOC(@"RemoveLabelsDesc"), @"removeLabels", &kRemoveLabels, selfObject), [self switchWithTitle:@"ShortsOnlyMode" key:@"shortsOnlyMode"],
createSwitchItem(LOC(@"RemoveIndicators"), LOC(@"RemoveIndicatorsDesc"), @"removeIndicators", &kRemoveIndicators, selfObject), [self switchWithTitle:@"AutoSkipShorts" key:@"autoSkipShorts"],
createSwitchItem(LOC(@"ReExplore"), LOC(@"ReExploreDesc"), @"reExplore", &kReExplore, selfObject), [self switchWithTitle:@"HideShorts" key:@"hideShorts"],
createSwitchItem(LOC(@"AddExplore"), LOC(@"AddExploreDesc"), @"addExplore", &kAddExplore, selfObject), [self switchWithTitle:@"ShortsProgress" key:@"shortsProgress"],
createSwitchItem(LOC(@"HideShortsTab"), LOC(@"HideShortsTabDesc"), @"removeShorts", &kRemoveShorts, selfObject), [self switchWithTitle:@"PinchToFullscreenShorts" key:@"pinchToFullscreenShorts"],
createSwitchItem(LOC(@"HideSubscriptionsTab"), LOC(@"HideSubscriptionsTabDesc"), @"removeSubscriptions", &kRemoveSubscriptions, selfObject), [self switchWithTitle:@"ShortsToRegular" key:@"shortsToRegular"],
createSwitchItem(LOC(@"HideUploadButton"), LOC(@"HideUploadButtonDesc"), @"removeUploads", &kRemoveUploads, selfObject), [self switchWithTitle:@"ResumeShorts" key:@"resumeShorts"],
createSwitchItem(LOC(@"HideLibraryTab"), LOC(@"HideLibraryTabDesc"), @"removeLibrary", &kRemoveLibrary, selfObject) [self switchWithTitle:@"HideShortsLogo" key:@"hideShortsLogo"],
[self switchWithTitle:@"HideShortsSearch" key:@"hideShortsSearch"],
[self switchWithTitle:@"HideShortsCamera" key:@"hideShortsCamera"],
[self switchWithTitle:@"HideShortsMore" key:@"hideShortsMore"],
[self switchWithTitle:@"HideShortsSubscriptions" key:@"hideShortsSubscriptions"],
[self switchWithTitle:@"HideShortsLike" key:@"hideShortsLike"],
[self switchWithTitle:@"HideShortsDislike" key:@"hideShortsDislike"],
[self switchWithTitle:@"HideShortsComments" key:@"hideShortsComments"],
[self switchWithTitle:@"HideShortsRemix" key:@"hideShortsRemix"],
[self switchWithTitle:@"HideShortsShare" key:@"hideShortsShare"],
[self switchWithTitle:@"HideShortsAvatars" key:@"hideShortsAvatars"],
[self switchWithTitle:@"HideShortsThanks" key:@"hideShortsThanks"],
[self switchWithTitle:@"HideShortsSource" key:@"hideShortsSource"],
[self switchWithTitle:@"HideShortsChannelName" key:@"hideShortsChannelName"],
[self switchWithTitle:@"HideShortsDescription" key:@"hideShortsDescription"],
[self switchWithTitle:@"HideShortsAudioTrack" key:@"hideShortsAudioTrack"],
[self switchWithTitle:@"NoPromotionCards" key:@"hideShortsPromoCards"]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Shorts") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:shorts];
}
YTSettingsSectionItem *tabbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Tabbar")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
return @"‣";
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[
[self switchWithTitle:@"RemoveLabels" key:@"removeLabels"],
[self switchWithTitle:@"RemoveIndicators" key:@"removeIndicators"],
[self switchWithTitle:@"ReExplore" key:@"reExplore"],
[self switchWithTitle:@"AddExplore" key:@"addExplore"],
[self switchWithTitle:@"HideShortsTab" key:@"removeShorts"],
[self switchWithTitle:@"HideSubscriptionsTab" key:@"removeSubscriptions"],
[self switchWithTitle:@"HideUploadButton" key:@"removeUploads"],
[self switchWithTitle:@"HideLibraryTab" key:@"removeLibrary"]
]; ];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Tabbar") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Tabbar") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:tabbar]; [sectionItems addObject:tabbar];
if (kAdvancedMode) { if (ytlBool(@"advancedMode")) {
YTSettingsSectionItem *other = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Other") YTSettingsSectionItem *other = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Other")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
return @"‣"; return @"‣";
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSArray <YTSettingsSectionItem *> *rows = @[
createSwitchItem(LOC(@"CopyVideoInfo"), LOC(@"CopyVideoInfoDesc"), @"copyVideoInfo", &kCopyVideoInfo, selfObject), [self switchWithTitle:@"CopyVideoInfo" key:@"copyVideoInfo"],
createSwitchItem(LOC(@"PostManager"), LOC(@"PostManagerDesc"), @"postManager", &kPostManager, selfObject), [self switchWithTitle:@"PostManager" key:@"postManager"],
createSwitchItem(LOC(@"SavePostImage"), LOC(@"SavePostImageDesc"), @"savePostImage", &kSavePostImage, selfObject), [self switchWithTitle:@"SaveProfilePhoto" key:@"saveProfilePhoto"],
createSwitchItem(LOC(@"SaveProfilePhoto"), LOC(@"SaveProfilePhotoDesc"), @"saveProfilePhoto", &kSaveProfilePhoto, selfObject), [self switchWithTitle:@"CommentManager" key:@"commentManager"],
createSwitchItem(LOC(@"CommentManager"), LOC(@"CommentManagerDesc"), @"commentManager", &kCommentManager, selfObject), [self switchWithTitle:@"FixAlbums" key:@"fixAlbums"],
createSwitchItem(LOC(@"FixAlbums"), LOC(@"FixAlbumsDesc"), @"fixAlbums", &kFixAlbums, selfObject), [self switchWithTitle:@"NativeShare" key:@"nativeShare"],
createSwitchItem(LOC(@"RemovePlayNext"), LOC(@"RemovePlayNextDesc"), @"removePlayNext", &kRemovePlayNext, selfObject), [self switchWithTitle:@"RemovePlayNext" key:@"removePlayNext"],
createSwitchItem(LOC(@"NoContinueWatching"), LOC(@"NoContinueWatchingDesc"), @"noContinueWatching", &kNoContinueWatching, selfObject), [self switchWithTitle:@"RemoveDownloadMenu" key:@"removeDownloadMenu"],
createSwitchItem(LOC(@"NoSearchHistory"), LOC(@"NoSearchHistoryDesc"), @"noSearchHistory", &kNoSearchHistory, selfObject), [self switchWithTitle:@"RemoveWatchLaterMenu" key:@"removeWatchLaterMenu"],
createSwitchItem(LOC(@"NoRelatedWatchNexts"), LOC(@"NoRelatedWatchNextsDesc"), @"noRelatedWatchNexts", &kNoRelatedWatchNexts, selfObject), [self switchWithTitle:@"RemoveSaveToPlaylistMenu" key:@"removeSaveToPlaylistMenu"],
createSwitchItem(LOC(@"StickSortComments"), LOC(@"StickSortCommentsDesc"), @"stickSortComments", &kStickSortComments, selfObject), [self switchWithTitle:@"RemoveShareMenu" key:@"removeShareMenu"],
createSwitchItem(LOC(@"HideSortComments"), LOC(@"HideSortCommentsDesc"), @"hideSortComments", &kHideSortComments, selfObject), [self switchWithTitle:@"RemoveNotInterestedMenu" key:@"removeNotInterestedMenu"],
createSwitchItem(LOC(@"PlaylistOldMinibar"), LOC(@"PlaylistOldMinibarDesc"), @"playlistOldMinibar", &kPlaylistOldMinibar, selfObject), [self switchWithTitle:@"RemoveDontRecommendMenu" key:@"removeDontRecommendMenu"],
createSwitchItem(LOC(@"DisableRTL"), LOC(@"DisableRTLDesc"), @"disableRTL", &kDisableRTL, selfObject) [self switchWithTitle:@"RemoveReportMenu" key:@"removeReportMenu"],
[self switchWithTitle:@"NoContinueWatching" key:@"noContinueWatching"],
[self switchWithTitle:@"NoSearchHistory" key:@"noSearchHistory"],
[self switchWithTitle:@"NoRelatedWatchNexts" key:@"noRelatedWatchNexts"],
[self switchWithTitle:@"StickSortComments" key:@"stickSortComments"],
[self switchWithTitle:@"HideSortComments" key:@"hideSortComments"],
[self switchWithTitle:@"PlaylistOldMinibar" key:@"playlistOldMinibar"],
[self switchWithTitle:@"DisableRTL" key:@"disableRTL"]
]; ];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Other") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Other") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:other]; [sectionItems addObject:other];
[sectionItems addObject:space]; [sectionItems addObject:space];
YTSettingsSectionItem *startup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Startup") YTSettingsSectionItem *speed = [YTSettingsSectionItemClass itemWithTitle:LOC(@"HoldToSpeed")
accessibilityIdentifier:nil accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() { detailTextBlock:^NSString *() {
switch (kPivotIndex) { NSArray *speedLabels = @[LOC(@"Disabled"), LOC(@"Default"), @"0.25×", @"0.5×", @"0.75×", @"1.0×", @"1.25×", @"1.5×", @"1.75×", @"2.0×", @"3.0×", @"4.0×", @"5.0×"];
case 1: return speedLabels[ytlInt(@"speedIndex")];
return LOC(@"Explore");
case 2:
return LOC(@"ShortsTab");
case 3:
return LOC(@"Subscriptions");
case 4:
return LOC(@"Library");
case 0:
default:
return LOC(@"Home");
}
} }
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ NSMutableArray <YTSettingsSectionItem *> *rows = [NSMutableArray array];
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Home") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *home, NSUInteger arg1) { NSArray *speedLabels = @[LOC(@"Disable"), LOC(@"Default"), @"0.25×", @"0.5×", @"0.75×", @"1.0×", @"1.25×", @"1.5×", @"1.75×", @"2.0×", @"3.0×", @"4.0×", @"5.0×"];
kPivotIndex = 0;
for (NSUInteger i = 0; i < speedLabels.count; i++) {
NSString *title = speedLabels[i];
YTSettingsSectionItem *item = [YTSettingsSectionItemClass checkmarkItemWithTitle:title titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[settingsViewController reloadData]; [settingsViewController reloadData];
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex]; ytlSetInt((int)arg1, @"speedIndex");
return YES; return YES;
}], }];
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Explore") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *library, NSUInteger arg1) {
if (!kReExplore && !kAddExplore) { [rows addObject:item];
YTAlertView *alertView = [%c(YTAlertView) infoDialog]; }
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"TabIsHidden"); YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"HoldToSpeed") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"speedIndex") parentResponder:[self parentResponder]];
[alertView show];
return NO;
} else {
kPivotIndex = 1;
[settingsViewController reloadData];
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex];
return YES;
}
}],
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"ShortsTab") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *shorts, NSUInteger arg1) {
if (kRemoveShorts) {
YTAlertView *alertView = [%c(YTAlertView) infoDialog];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"TabIsHidden");
[alertView show];
return NO;
} else {
kPivotIndex = 2;
[settingsViewController reloadData];
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex];
return YES;
}
}],
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Subscriptions") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *subscriptions, NSUInteger arg1) {
if (kRemoveSubscriptions) {
YTAlertView *alertView = [%c(YTAlertView) infoDialog];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"TabIsHidden");
[alertView show];
return NO;
} else {
kPivotIndex = 3;
[settingsViewController reloadData];
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex];
return YES;
}
}],
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Library") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *library, NSUInteger arg1) {
if (kRemoveLibrary) {
YTAlertView *alertView = [%c(YTAlertView) infoDialog];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"TabIsHidden");
[alertView show];
return NO;
} else {
kPivotIndex = 4;
[settingsViewController reloadData];
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex];
return YES;
}
}]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Startup") pickerSectionTitle:nil rows:rows selectedItemIndex:kPivotIndex parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:speed];
YTSettingsSectionItem *autoSpeed = [YTSettingsSectionItemClass itemWithTitle:LOC(@"DefaultPlaybackRate")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
NSArray *speedLabels = @[@"0.25×", @"0.5×", @"0.75×", @"1.0×", @"1.25×", @"1.5×", @"1.75×", @"2.0×", @"3.0×", @"4.0×", @"5.0×"];
return speedLabels[ytlInt(@"autoSpeedIndex")];
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSMutableArray <YTSettingsSectionItem *> *rows = [NSMutableArray array];
NSArray *speedLabels = @[@"0.25×", @"0.5×", @"0.75×", @"1.0×", @"1.25×", @"1.5×", @"1.75×", @"2.0×", @"3.0×", @"4.0×", @"5.0×"];
for (NSUInteger i = 0; i < speedLabels.count; i++) {
NSString *title = speedLabels[i];
YTSettingsSectionItem *item = [YTSettingsSectionItemClass checkmarkItemWithTitle:title titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[settingsViewController reloadData];
ytlSetInt((int)arg1, @"autoSpeedIndex");
return YES;
}];
[rows addObject:item];
}
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"DefaultPlaybackRate") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"autoSpeedIndex") parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:autoSpeed];
YTSettingsSectionItem *wifiQuality = [YTSettingsSectionItemClass itemWithTitle:LOC(@"PlaybackQualityOnWiFi")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
NSArray *qualityLabels = @[LOC(@"Default"), LOC(@"Best"), @"2160p60", @"2160p", @"1440p60", @"1440p", @"1080p60", @"1080p", @"720p60", @"720p", @"480p", @"360p"];
return qualityLabels[ytlInt(@"wiFiQualityIndex")];
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSMutableArray <YTSettingsSectionItem *> *rows = [NSMutableArray array];
NSArray *qualityLabels = @[LOC(@"Default"), LOC(@"Best"), @"2160p60", @"2160p", @"1440p60", @"1440p", @"1080p60", @"1080p", @"720p60", @"720p", @"480p", @"360p"];
for (NSUInteger i = 0; i < qualityLabels.count; i++) {
NSString *title = qualityLabels[i];
YTSettingsSectionItem *item = [YTSettingsSectionItemClass checkmarkItemWithTitle:title titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[settingsViewController reloadData];
ytlSetInt((int)arg1, @"wiFiQualityIndex");
return YES;
}];
[rows addObject:item];
}
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"SelectQuality") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"wiFiQualityIndex") parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:wifiQuality];
YTSettingsSectionItem *cellQuality = [YTSettingsSectionItemClass itemWithTitle:LOC(@"PlaybackQualityOnCellular")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
NSArray *qualityLabels = @[LOC(@"Default"), LOC(@"Best"), @"2160p60", @"2160p", @"1440p60", @"1440p", @"1080p60", @"1080p", @"720p60", @"720p", @"480p", @"360p"];
return qualityLabels[ytlInt(@"cellQualityIndex")];
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSMutableArray <YTSettingsSectionItem *> *rows = [NSMutableArray array];
NSArray *qualityLabels = @[LOC(@"Default"), LOC(@"Best"), @"2160p60", @"2160p", @"1440p60", @"1440p", @"1080p60", @"1080p", @"720p60", @"720p", @"480p", @"360p"];
for (NSUInteger i = 0; i < qualityLabels.count; i++) {
NSString *title = qualityLabels[i];
YTSettingsSectionItem *item = [YTSettingsSectionItemClass checkmarkItemWithTitle:title titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[settingsViewController reloadData];
ytlSetInt((int)arg1, @"cellQualityIndex");
return YES;
}];
[rows addObject:item];
}
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"SelectQuality") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"cellQualityIndex") parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:cellQuality];
YTSettingsSectionItem *startup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Startup")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
NSArray *tabLabels = @[LOC(@"Home"), LOC(@"Explore"), LOC(@"ShortsTab"), LOC(@"Subscriptions"), LOC(@"Library")];
return tabLabels[ytlInt(@"pivotIndex")];
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSMutableArray <YTSettingsSectionItem *> *rows = [NSMutableArray array];
NSArray *tabLabels = @[LOC(@"Home"), LOC(@"Explore"), LOC(@"ShortsTab"), LOC(@"Subscriptions"), LOC(@"Library")];
for (NSUInteger i = 0; i < tabLabels.count; i++) {
NSString *title = tabLabels[i];
YTSettingsSectionItem *item = [YTSettingsSectionItemClass checkmarkItemWithTitle:title titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
if (([title isEqualToString:LOC(@"Explore")] && !ytlBool(@"reExplore") && !ytlBool(@"addExplore")) ||
([title isEqualToString:LOC(@"ShortsTab")] && ytlBool(@"removeShorts")) ||
([title isEqualToString:LOC(@"Subscriptions")] && ytlBool(@"removeSubscriptions")) ||
([title isEqualToString:LOC(@"Library")] && ytlBool(@"removeLibrary"))) {
YTAlertView *alertView = [%c(YTAlertView) infoDialog];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"TabIsHidden");
[alertView show];
return NO;
} else {
[settingsViewController reloadData];
ytlSetInt((int)arg1, @"pivotIndex");
return YES;
}
}];
[rows addObject:item];
}
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Startup") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"pivotIndex") parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:startup]; [sectionItems addObject:startup];
} }
[sectionItems addObject:space]; [sectionItems addObject:space];
YTSettingsSectionItem *ps = [%c(YTSettingsSectionItem) itemWithTitle:@"PoomSmart" titleDescription:@"YouTube-X, YTNoPremium, YTClassicVideoQuality, YTShortsProgress, YTReExplore, SkipContentWarning, YTAutoFullscreen, YouTubeHeaders" accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { YTSettingsSectionItem *support = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"SupportDevelopment") accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:^NSString *() { return @"♡"; } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/PoomSmart/"]]; YTDefaultSheetController *sheetController = [%c(YTDefaultSheetController) sheetControllerWithMessage:LOC(@"SupportDevelopment") subMessage:LOC(@"SupportDevelopmentDesc") delegate:nil parentResponder:nil];
}]; YTActionSheetHeaderView *headerView = [sheetController valueForKey:@"_headerView"];
YTFormattedStringLabel *subtitle = [headerView valueForKey:@"_subtitleLabel"];
subtitle.numberOfLines = 0;
[headerView showHeaderDivider];
YTSettingsSectionItem *miro = [%c(YTSettingsSectionItem) itemWithTitle:@"MiRO92" titleDescription:@"YTNoShorts" accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"PayPal" iconImage:[self resizedImageNamed:@"paypal"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/MiRO92/"]]; [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://paypal.me/dayanch96"]];
}]; }]];
YTSettingsSectionItem *lillie = [%c(YTSettingsSectionItem) itemWithTitle:@"Lillie" titleDescription:@"ExtraSpeedOptions" accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Github Sponsors" iconImage:[self resizedImageNamed:@"github"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/LillieH1000"]]; [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/sponsors/dayanch96"]];
}]; }]];
YTSettingsSectionItem *stalker = [%c(YTSettingsSectionItem) itemWithTitle:@"Stalker" titleDescription:LOC(@"ChineseSimplified") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Buy Me a Coffee" iconImage:[self resizedImageNamed:@"coffee"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/xiangfeidexiaohuo"]]; [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://www.buymeacoffee.com/dayanch96"]];
}]; }]];
YTSettingsSectionItem *clement = [%c(YTSettingsSectionItem) itemWithTitle:@"Clement" titleDescription:LOC(@"ChineseTraditional") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"USDT (TRC20)" iconImage:[self resizedImageNamed:@"usdt"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://twitter.com/a100900900"]]; [UIPasteboard generalPasteboard].string = @"TEdKJdKwc1Bbu8Py4um8qPQ6MbproEqNJw";
}]; [[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Copied") firstResponder:[self parentResponder]] send];
}]];
YTSettingsSectionItem *balackburn = [%c(YTSettingsSectionItem) itemWithTitle:@"Balackburn" titleDescription:LOC(@"French") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"BNB Smart Chain (BEP20)" iconImage:[self resizedImageNamed:@"bnb"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Balackburn"]]; [UIPasteboard generalPasteboard].string = @"0xc6f9fddb30ce10d70e6497950f44c8e10b72bcd6";
}]; [[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Copied") firstResponder:[self parentResponder]] send];
}]];
YTSettingsSectionItem *decibelios = [%c(YTSettingsSectionItem) itemWithTitle:@"DeciBelioS" titleDescription:LOC(@"Spanish") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Boosty" iconImage:[self resizedImageNamed:@"boosty"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Deci8BelioS"]]; [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://boosty.to/dayanch96"]];
}]; }]];
YTSettingsSectionItem *skeids = [%c(YTSettingsSectionItem) itemWithTitle:@"SKEIDs" titleDescription:LOC(@"Japanese") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [sheetController presentFromViewController:[%c(YTUIUtils) topViewControllerForPresenting] animated:YES completion:nil];
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/SKEIDs"]];
}];
YTSettingsSectionItem *hiepvk = [%c(YTSettingsSectionItem) itemWithTitle:@"Hiepvk" titleDescription:LOC(@"Vietnamese") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/hiepvk"]];
}];
YTSettingsSectionItem *dayanch96 = [%c(YTSettingsSectionItem) itemWithTitle:@"Dayanch96" titleDescription:LOC(@"Developer") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Dayanch96/"]];
}];
YTSettingsSectionItem *paypal = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"DonateViaPayPal") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:^NSString *() { return @"♡"; } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://paypal.me/Dayanch96/"]];
}];
YTSettingsSectionItem *ghSponsors = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"SupportViaGhSponsors") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:^NSString *() { return @"♡"; } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/sponsors/dayanch96"]];
}];
YTSettingsSectionItem *cache = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ClearCache") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:^NSString *() { return GetCacheSize(); } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
[[NSFileManager defaultManager] removeItemAtPath:cachePath error:nil];
});
[[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Done") firstResponder:[self parentResponder]] send];
return YES; return YES;
}]; }];
YTSettingsSectionItem *reset = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { YTSettingsSectionItem *thanks = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Contributors")
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{ accessibilityIdentifier:@"YTLiteSectionItem"
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"]; detailTextBlock:^NSString *() {
[[NSFileManager defaultManager] removeItemAtPath:prefsPath error:nil]; return @"‣";
}
[[UIApplication sharedApplication] performSelector:@selector(suspend)]; selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
[NSThread sleepForTimeInterval:1.0]; NSArray <YTSettingsSectionItem *> *rows = @[
exit(0); [self linkWithTitle:@"Dayanch96" description:LOC(@"Developer") link:@"https://github.com/Dayanch96/"],
} [self linkWithTitle:@"Dan Pashin" description:LOC(@"SpecialThanks") link:@"https://github.com/danpashin/"],
actionTitle:LOC(@"Yes") space,
cancelTitle:LOC(@"No")]; [self linkWithTitle:@"Stalker" description:LOC(@"ChineseSimplified") link:@"https://github.com/xiangfeidexiaohuo"],
alertView.title = LOC(@"Warning"); [self linkWithTitle:@"Clement" description:LOC(@"ChineseTraditional") link:@"https://twitter.com/a100900900"],
alertView.subtitle = LOC(@"ResetMessage"); [self linkWithTitle:@"Balackburn" description:LOC(@"French") link:@"https://github.com/Balackburn"],
[alertView show]; [self linkWithTitle:@"DeciBelioS" description:LOC(@"Spanish") link:@"https://github.com/Deci8BelioS"],
return YES; [self linkWithTitle:@"SKEIDs" description:LOC(@"Japanese") link:@"https://github.com/SKEIDs"],
}]; [self linkWithTitle:@"Hiepvk" description:LOC(@"Vietnamese") link:@"https://github.com/hiepvk"]
];
YTSettingsSectionItem *version = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Version")
accessibilityIdentifier:nil
detailTextBlock:^NSString *() {
return @(OS_STRINGIFY(TWEAK_VERSION));
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[ps, miro, lillie, dayanch96, stalker, clement, balackburn, decibelios, skeids, hiepvk, space, createSwitchItem(LOC(@"Advanced"), nil, @"advancedMode", &kAdvancedMode, selfObject), cache, reset];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker]; [settingsViewController pushViewController:picker];
return YES; return YES;
}]; }];
[sectionItems addObject:paypal];
[sectionItems addObject:ghSponsors]; YTSettingsSectionItem *sources = [YTSettingsSectionItemClass itemWithTitle:LOC(@"OpenSourceLibs")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
return @"‣";
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[
[self linkWithTitle:@"PoomSmart" description:@"YouTube-X, YTNoPremium, YTClassicVideoQuality, YTShortsProgress, YTReExplore, SkipContentWarning, YTAutoFullscreen, YouTubeHeaders" link:@"https://github.com/PoomSmart/"],
[self linkWithTitle:@"MiRO92" description:@"YTNoShorts" link:@"https://github.com/MiRO92/YTNoShorts"],
[self linkWithTitle:@"Tony Million" description:@"Reachability" link:@"https://github.com/tonymillion/Reachability"],
[self linkWithTitle:@"jkhsjdhjs" description:@"YouTube Native Share" link:@"https://github.com/jkhsjdhjs/youtube-native-share"]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
YTSettingsSectionItem *version = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Version")
accessibilityIdentifier:@"YTLiteSectionItem"
detailTextBlock:^NSString *() {
return @(OS_STRINGIFY(TWEAK_VERSION));
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSArray <YTSettingsSectionItem *> *rows = @[
[self switchWithTitle:@"Advanced" key:@"advancedMode"],
[%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ClearCache") titleDescription:nil accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:^NSString *() { return GetCacheSize(); } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
[[NSFileManager defaultManager] removeItemAtPath:cachePath error:nil];
});
[[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Done") firstResponder:[self parentResponder]] send];
return YES;
}],
[%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
[YTLUserDefaults resetUserDefaults];
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
[NSThread sleepForTimeInterval:1.0];
exit(0);
}
actionTitle:LOC(@"Yes")
cancelTitle:LOC(@"No")];
alertView.title = LOC(@"Warning");
alertView.subtitle = LOC(@"ResetMessage");
[alertView show];
return YES;
}]
];
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
[settingsViewController pushViewController:picker];
return YES;
}];
[sectionItems addObject:thanks];
[sectionItems addObject:sources];
[sectionItems addObject:support];
[sectionItems addObject:version]; [sectionItems addObject:version];
BOOL isNew = [settingsViewController respondsToSelector:@selector(setSectionItems:forCategory:title:icon:titleDescription:headerHidden:)]; BOOL isNew = [settingsViewController respondsToSelector:@selector(setSectionItems:forCategory:title:icon:titleDescription:headerHidden:)];
@@ -500,27 +632,22 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
return; return;
} %orig; } %orig;
} }
%new
- (UIImage *)resizedImageNamed:(NSString *)iconName {
UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:CGSizeMake(32, 32)];
UIImage *image = [renderer imageWithActions:^(UIGraphicsImageRendererContext * _Nonnull rendererContext) {
UIView *imageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];
UIImageView *iconImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[NSBundle.ytl_defaultBundle pathForResource:iconName ofType:@"png"]]];
iconImageView.contentMode = UIViewContentModeScaleAspectFit;
iconImageView.clipsToBounds = YES;
iconImageView.frame = imageView.bounds;
[imageView addSubview:iconImageView];
[imageView.layer renderInContext:rendererContext.CGContext];
}];
return image;
}
%end %end
%ctor {
if (!kAdvancedModeReminder && !kAdvancedMode) {
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"];
NSMutableDictionary *prefs = [NSMutableDictionary dictionaryWithContentsOfFile:prefsPath];
[prefs setObject:@(YES) forKey:@"advancedModeReminder"];
[prefs writeToFile:prefsPath atomically:NO];
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.dvntm.ytlite.prefschanged"), NULL, NULL, YES);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
[prefs setObject:@(YES) forKey:@"advancedMode"];
[prefs writeToFile:prefsPath atomically:NO];
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.dvntm.ytlite.prefschanged"), NULL, NULL, YES);
}
actionTitle:LOC(@"Yes")
cancelTitle:LOC(@"No")];
alertView.title = @"YTLite";
alertView.subtitle = [NSString stringWithFormat:LOC(@"AdvancedModeReminder"), @"YTLite", LOC(@"Version"), LOC(@"Advanced")];
[alertView show];
});
}
}
+13
View File
@@ -0,0 +1,13 @@
#import <Foundation/Foundation.h>
#import <roothide.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSBundle (YTLite)
// Returns YTLite default bundle. Supports rootless if defined in compilation parameters
@property (class, nonatomic, readonly) NSBundle *ytl_defaultBundle;
@end
NS_ASSUME_NONNULL_END
+19
View File
@@ -0,0 +1,19 @@
#import "NSBundle+YTLite.h"
@implementation NSBundle (YTLite)
+ (NSBundle *)ytl_defaultBundle {
static NSBundle *bundle = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *tweakBundlePath = [[NSBundle mainBundle] pathForResource:@"YTLite" ofType:@"bundle"];
NSString *kBundlePath = jbroot(@"/Library/Application Support/YTLite.bundle");
bundle = [NSBundle bundleWithPath:tweakBundlePath ?: kBundlePath];
});
return bundle;
}
@end
+103
View File
@@ -0,0 +1,103 @@
/*
Copyright (c) 2011, Tony Million.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
#import <Foundation/Foundation.h>
#import <SystemConfiguration/SystemConfiguration.h>
//! Project version number for MacOSReachability.
FOUNDATION_EXPORT double ReachabilityVersionNumber;
//! Project version string for MacOSReachability.
FOUNDATION_EXPORT const unsigned char ReachabilityVersionString[];
/**
* Create NS_ENUM macro if it does not exist on the targeted version of iOS or OS X.
*
* @see http://nshipster.com/ns_enum-ns_options/
**/
#ifndef NS_ENUM
#define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
#endif
extern NSString *const kReachabilityChangedNotification;
typedef NS_ENUM(NSInteger, NetworkStatus) {
// Apple NetworkStatus Compatible Names.
NotReachable = 0,
ReachableViaWiFi = 2,
ReachableViaWWAN = 1
};
@class Reachability;
typedef void (^NetworkReachable)(Reachability * reachability);
typedef void (^NetworkUnreachable)(Reachability * reachability);
typedef void (^NetworkReachability)(Reachability * reachability, SCNetworkConnectionFlags flags);
@interface Reachability : NSObject
@property (nonatomic, copy) NetworkReachable reachableBlock;
@property (nonatomic, copy) NetworkUnreachable unreachableBlock;
@property (nonatomic, copy) NetworkReachability reachabilityBlock;
@property (nonatomic, assign) BOOL reachableOnWWAN;
+(instancetype)reachabilityWithHostname:(NSString*)hostname;
// This is identical to the function above, but is here to maintain
//compatibility with Apples original code. (see .m)
+(instancetype)reachabilityWithHostName:(NSString*)hostname;
+(instancetype)reachabilityForInternetConnection;
+(instancetype)reachabilityWithAddress:(void *)hostAddress;
+(instancetype)reachabilityForLocalWiFi;
+(instancetype)reachabilityWithURL:(NSURL*)url;
-(instancetype)initWithReachabilityRef:(SCNetworkReachabilityRef)ref;
-(BOOL)startNotifier;
-(void)stopNotifier;
-(BOOL)isReachable;
-(BOOL)isReachableViaWWAN;
-(BOOL)isReachableViaWiFi;
// WWAN may be available, but not active until a connection has been established.
// WiFi may require a connection for VPN on Demand.
-(BOOL)isConnectionRequired; // Identical DDG variant.
-(BOOL)connectionRequired; // Apple's routine.
// Dynamic, on demand connection?
-(BOOL)isConnectionOnDemand;
// Is user intervention required?
-(BOOL)isInterventionRequired;
-(NetworkStatus)currentReachabilityStatus;
-(SCNetworkReachabilityFlags)reachabilityFlags;
-(NSString*)currentReachabilityString;
-(NSString*)currentReachabilityFlags;
@end
+508
View File
@@ -0,0 +1,508 @@
/*
Copyright (c) 2011, Tony Million.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
#import "Reachability.h"
#import <sys/socket.h>
#import <netinet/in.h>
#import <netinet6/in6.h>
#import <arpa/inet.h>
#import <ifaddrs.h>
#import <netdb.h>
NSString *const kReachabilityChangedNotification = @"kReachabilityChangedNotification";
@interface Reachability ()
@property (nonatomic, assign) SCNetworkReachabilityRef reachabilityRef;
@property (nonatomic, strong) dispatch_queue_t reachabilitySerialQueue;
@property (nonatomic, strong) id reachabilityObject;
-(void)reachabilityChanged:(SCNetworkReachabilityFlags)flags;
-(BOOL)isReachableWithFlags:(SCNetworkReachabilityFlags)flags;
@end
static NSString *reachabilityFlags(SCNetworkReachabilityFlags flags)
{
return [NSString stringWithFormat:@"%c%c %c%c%c%c%c%c%c",
#if TARGET_OS_IPHONE
(flags & kSCNetworkReachabilityFlagsIsWWAN) ? 'W' : '-',
#else
'X',
#endif
(flags & kSCNetworkReachabilityFlagsReachable) ? 'R' : '-',
(flags & kSCNetworkReachabilityFlagsConnectionRequired) ? 'c' : '-',
(flags & kSCNetworkReachabilityFlagsTransientConnection) ? 't' : '-',
(flags & kSCNetworkReachabilityFlagsInterventionRequired) ? 'i' : '-',
(flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) ? 'C' : '-',
(flags & kSCNetworkReachabilityFlagsConnectionOnDemand) ? 'D' : '-',
(flags & kSCNetworkReachabilityFlagsIsLocalAddress) ? 'l' : '-',
(flags & kSCNetworkReachabilityFlagsIsDirect) ? 'd' : '-'];
}
// Start listening for reachability notifications on the current run loop
static void TMReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
{
#pragma unused (target)
Reachability *reachability = ((__bridge Reachability*)info);
// We probably don't need an autoreleasepool here, as GCD docs state each queue has its own autorelease pool,
// but what the heck eh?
@autoreleasepool
{
[reachability reachabilityChanged:flags];
}
}
@implementation Reachability
#pragma mark - Class Constructor Methods
+(instancetype)reachabilityWithHostName:(NSString*)hostname
{
return [Reachability reachabilityWithHostname:hostname];
}
+(instancetype)reachabilityWithHostname:(NSString*)hostname
{
SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(NULL, [hostname UTF8String]);
if (ref)
{
id reachability = [[self alloc] initWithReachabilityRef:ref];
return reachability;
}
return nil;
}
+(instancetype)reachabilityWithAddress:(void *)hostAddress
{
SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress);
if (ref)
{
id reachability = [[self alloc] initWithReachabilityRef:ref];
return reachability;
}
return nil;
}
+(instancetype)reachabilityForInternetConnection
{
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
return [self reachabilityWithAddress:&zeroAddress];
}
+(instancetype)reachabilityForLocalWiFi
{
struct sockaddr_in localWifiAddress;
bzero(&localWifiAddress, sizeof(localWifiAddress));
localWifiAddress.sin_len = sizeof(localWifiAddress);
localWifiAddress.sin_family = AF_INET;
// IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0
localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);
return [self reachabilityWithAddress:&localWifiAddress];
}
+(instancetype)reachabilityWithURL:(NSURL*)url
{
id reachability;
NSString *host = url.host;
BOOL isIpAddress = [self isIpAddress:host];
if (isIpAddress)
{
NSNumber *port = url.port ?: [url.scheme isEqualToString:@"https"] ? @(443) : @(80);
struct sockaddr_in address;
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
address.sin_port = htons([port intValue]);
address.sin_addr.s_addr = inet_addr([host UTF8String]);
reachability = [self reachabilityWithAddress:&address];
}
else
{
reachability = [self reachabilityWithHostname:host];
}
return reachability;
}
+(BOOL)isIpAddress:(NSString*)host
{
struct in_addr pin;
return 1 == inet_aton([host UTF8String], &pin);
}
// Initialization methods
-(instancetype)initWithReachabilityRef:(SCNetworkReachabilityRef)ref
{
self = [super init];
if (self != nil)
{
self.reachableOnWWAN = YES;
self.reachabilityRef = ref;
// We need to create a serial queue.
// We allocate this once for the lifetime of the notifier.
self.reachabilitySerialQueue = dispatch_queue_create("com.tonymillion.reachability", NULL);
}
return self;
}
-(void)dealloc
{
[self stopNotifier];
if(self.reachabilityRef)
{
CFRelease(self.reachabilityRef);
self.reachabilityRef = nil;
}
self.reachableBlock = nil;
self.unreachableBlock = nil;
self.reachabilityBlock = nil;
self.reachabilitySerialQueue = nil;
}
#pragma mark - Notifier Methods
// Notifier
// NOTE: This uses GCD to trigger the blocks - they *WILL NOT* be called on THE MAIN THREAD
// - In other words DO NOT DO ANY UI UPDATES IN THE BLOCKS.
// INSTEAD USE dispatch_async(dispatch_get_main_queue(), ^{UISTUFF}) (or dispatch_sync if you want)
-(BOOL)startNotifier
{
// allow start notifier to be called multiple times
if(self.reachabilityObject && (self.reachabilityObject == self))
{
return YES;
}
SCNetworkReachabilityContext context = { 0, NULL, NULL, NULL, NULL };
context.info = (__bridge void *)self;
if(SCNetworkReachabilitySetCallback(self.reachabilityRef, TMReachabilityCallback, &context))
{
// Set it as our reachability queue, which will retain the queue
if(SCNetworkReachabilitySetDispatchQueue(self.reachabilityRef, self.reachabilitySerialQueue))
{
// this should do a retain on ourself, so as long as we're in notifier mode we shouldn't disappear out from under ourselves
// woah
self.reachabilityObject = self;
return YES;
}
else
{
#ifdef DEBUG
NSLog(@"SCNetworkReachabilitySetDispatchQueue() failed: %s", SCErrorString(SCError()));
#endif
// UH OH - FAILURE - stop any callbacks!
SCNetworkReachabilitySetCallback(self.reachabilityRef, NULL, NULL);
}
}
else
{
#ifdef DEBUG
NSLog(@"SCNetworkReachabilitySetCallback() failed: %s", SCErrorString(SCError()));
#endif
}
// if we get here we fail at the internet
self.reachabilityObject = nil;
return NO;
}
-(void)stopNotifier
{
// First stop, any callbacks!
SCNetworkReachabilitySetCallback(self.reachabilityRef, NULL, NULL);
// Unregister target from the GCD serial dispatch queue.
SCNetworkReachabilitySetDispatchQueue(self.reachabilityRef, NULL);
self.reachabilityObject = nil;
}
#pragma mark - reachability tests
// This is for the case where you flick the airplane mode;
// you end up getting something like this:
//Reachability: WR ct-----
//Reachability: -- -------
//Reachability: WR ct-----
//Reachability: -- -------
// We treat this as 4 UNREACHABLE triggers - really apple should do better than this
#define testcase (kSCNetworkReachabilityFlagsConnectionRequired | kSCNetworkReachabilityFlagsTransientConnection)
-(BOOL)isReachableWithFlags:(SCNetworkReachabilityFlags)flags
{
BOOL connectionUP = YES;
if(!(flags & kSCNetworkReachabilityFlagsReachable))
connectionUP = NO;
if( (flags & testcase) == testcase )
connectionUP = NO;
#if TARGET_OS_IPHONE
if(flags & kSCNetworkReachabilityFlagsIsWWAN)
{
// We're on 3G.
if(!self.reachableOnWWAN)
{
// We don't want to connect when on 3G.
connectionUP = NO;
}
}
#endif
return connectionUP;
}
-(BOOL)isReachable
{
SCNetworkReachabilityFlags flags;
if(!SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
return NO;
return [self isReachableWithFlags:flags];
}
-(BOOL)isReachableViaWWAN
{
#if TARGET_OS_IPHONE
SCNetworkReachabilityFlags flags = 0;
if(SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
// Check we're REACHABLE
if(flags & kSCNetworkReachabilityFlagsReachable)
{
// Now, check we're on WWAN
if(flags & kSCNetworkReachabilityFlagsIsWWAN)
{
return YES;
}
}
}
#endif
return NO;
}
-(BOOL)isReachableViaWiFi
{
SCNetworkReachabilityFlags flags = 0;
if(SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
// Check we're reachable
if((flags & kSCNetworkReachabilityFlagsReachable))
{
#if TARGET_OS_IPHONE
// Check we're NOT on WWAN
if((flags & kSCNetworkReachabilityFlagsIsWWAN))
{
return NO;
}
#endif
return YES;
}
}
return NO;
}
// WWAN may be available, but not active until a connection has been established.
// WiFi may require a connection for VPN on Demand.
-(BOOL)isConnectionRequired
{
return [self connectionRequired];
}
-(BOOL)connectionRequired
{
SCNetworkReachabilityFlags flags;
if(SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
return (flags & kSCNetworkReachabilityFlagsConnectionRequired);
}
return NO;
}
// Dynamic, on demand connection?
-(BOOL)isConnectionOnDemand
{
SCNetworkReachabilityFlags flags;
if (SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
return ((flags & kSCNetworkReachabilityFlagsConnectionRequired) &&
(flags & (kSCNetworkReachabilityFlagsConnectionOnTraffic | kSCNetworkReachabilityFlagsConnectionOnDemand)));
}
return NO;
}
// Is user intervention required?
-(BOOL)isInterventionRequired
{
SCNetworkReachabilityFlags flags;
if (SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
return ((flags & kSCNetworkReachabilityFlagsConnectionRequired) &&
(flags & kSCNetworkReachabilityFlagsInterventionRequired));
}
return NO;
}
#pragma mark - reachability status stuff
-(NetworkStatus)currentReachabilityStatus
{
if([self isReachable])
{
if([self isReachableViaWiFi])
return ReachableViaWiFi;
#if TARGET_OS_IPHONE
return ReachableViaWWAN;
#endif
}
return NotReachable;
}
-(SCNetworkReachabilityFlags)reachabilityFlags
{
SCNetworkReachabilityFlags flags = 0;
if(SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags))
{
return flags;
}
return 0;
}
-(NSString*)currentReachabilityString
{
NetworkStatus temp = [self currentReachabilityStatus];
if(temp == ReachableViaWWAN)
{
// Updated for the fact that we have CDMA phones now!
return NSLocalizedString(@"Cellular", @"");
}
if (temp == ReachableViaWiFi)
{
return NSLocalizedString(@"WiFi", @"");
}
return NSLocalizedString(@"No Connection", @"");
}
-(NSString*)currentReachabilityFlags
{
return reachabilityFlags([self reachabilityFlags]);
}
#pragma mark - Callback function calls this method
-(void)reachabilityChanged:(SCNetworkReachabilityFlags)flags
{
if([self isReachableWithFlags:flags])
{
if(self.reachableBlock)
{
self.reachableBlock(self);
}
}
else
{
if(self.unreachableBlock)
{
self.unreachableBlock(self);
}
}
if(self.reachabilityBlock)
{
self.reachabilityBlock(self, flags);
}
// this makes sure the change notification happens on the MAIN THREAD
dispatch_async(dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification
object:self];
});
}
#pragma mark - Debug Description
- (NSString *) description
{
NSString *description = [NSString stringWithFormat:@"<%@: %p (%@)>",
NSStringFromClass([self class]), self, [self currentReachabilityFlags]];
return description;
}
@end
+15
View File
@@ -0,0 +1,15 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface YTLUserDefaults : NSUserDefaults
@property (class, readonly, strong) YTLUserDefaults *standardUserDefaults;
- (void)reset;
+ (void)resetUserDefaults;
@end
NS_ASSUME_NONNULL_END
+40
View File
@@ -0,0 +1,40 @@
#import "YTLUserDefaults.h"
@implementation YTLUserDefaults
static NSString *const kDefaultsSuiteName = @"com.dvntm.ytlite";
+ (YTLUserDefaults *)standardUserDefaults {
static dispatch_once_t onceToken;
static YTLUserDefaults *defaults = nil;
dispatch_once(&onceToken, ^{
defaults = [[self alloc] initWithSuiteName:kDefaultsSuiteName];
[defaults registerDefaults];
});
return defaults;
}
- (void)reset {
[self removePersistentDomainForName:kDefaultsSuiteName];
}
- (void)registerDefaults {
[self registerDefaults:@{
@"noAds": @YES,
@"backgroundPlayback": @YES,
@"removeUploads": @YES,
@"speedIndex": @1,
@"autoSpeedIndex": @3,
@"wiFiQualityIndex": @0,
@"cellQualityIndex": @0,
@"pivotIndex": @0
}];
}
+ (void)resetUserDefaults {
[[self standardUserDefaults] reset];
}
@end
+186 -178
View File
@@ -1,142 +1,36 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <rootless.h>
#import <Photos/Photos.h> #import <Photos/Photos.h>
#import "../YouTubeHeader/YTAlertView.h" #import "Utils/NSBundle+YTLite.h"
#import "../YouTubeHeader/YTIGuideResponse.h" #import "Utils/YTLUserDefaults.h"
#import "../YouTubeHeader/YTIGuideResponseSupportedRenderers.h" #import "Utils/Reachability.h"
#import "../YouTubeHeader/YTIPivotBarSupportedRenderers.h" #import "YouTubeHeaders.h"
#import "../YouTubeHeader/YTIPivotBarRenderer.h"
#import "../YouTubeHeader/YTIBrowseRequest.h"
#import "../YouTubeHeader/YTISectionListRenderer.h"
#import "../YouTubeHeader/YTQTMButton.h"
#import "../YouTubeHeader/YTIButtonRenderer.h"
#import "../YouTubeHeader/YTVideoQualitySwitchOriginalController.h"
#import "../YouTubeHeader/YTPlayerViewController.h"
#import "../YouTubeHeader/YTWatchController.h"
#import "../YouTubeHeader/YTPlayerOverlay.h"
#import "../YouTubeHeader/YTPlayerOverlayProvider.h"
#import "../YouTubeHeader/YTSettingsViewController.h"
#import "../YouTubeHeader/YTSettingsSectionItem.h"
#import "../YouTubeHeader/YTSettingsSectionItemManager.h"
#import "../YouTubeHeader/YTSettingsPickerViewController.h"
#import "../YouTubeHeader/YTUIUtils.h"
#import "../YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h"
#import "../YouTubeHeader/YTToastResponderEvent.h"
#import "../YouTubeHeader/YTPageStyleController.h"
static inline NSBundle *YTLiteBundle() { #define LOC(key) [NSBundle.ytl_defaultBundle localizedStringForKey:key value:nil table:nil]
static NSBundle *bundle = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{ #define ytlBool(key) [[YTLUserDefaults standardUserDefaults] boolForKey:key]
NSString *tweakBundlePath = [[NSBundle mainBundle] pathForResource:@"YTLite" ofType:@"bundle"]; #define ytlInt(key) [[YTLUserDefaults standardUserDefaults] integerForKey:key]
NSString *rootlessBundlePath = ROOT_PATH_NS("/Library/Application Support/YTLite.bundle");
bundle = [NSBundle bundleWithPath:tweakBundlePath ?: rootlessBundlePath]; #define ytlSetBool(value, key) [[YTLUserDefaults standardUserDefaults] setBool:(value) forKey:(key)]
}); #define ytlSetInt(value, key) [[YTLUserDefaults standardUserDefaults] setInteger:(value) forKey:(key)]
return bundle; @interface YTTouchFeedbackController : YTCollectionViewCell
} @property (nonatomic, strong, readwrite) UIColor *feedbackColor;
static inline NSString *LOC(NSString *key) {
return [YTLiteBundle() localizedStringForKey:key value:nil table:nil];
}
BOOL kNoAds;
BOOL kBackgroundPlayback;
BOOL kNoCast;
BOOL kNoNotifsButton;
BOOL kNoSearchButton;
BOOL kNoVoiceSearchButton;
BOOL kStickyNavbar;
BOOL kNoSubbar;
BOOL kNoYTLogo;
BOOL kHideAutoplay;
BOOL kHideSubs;
BOOL kNoHUDMsgs;
BOOL kHidePrevNext;
BOOL kReplacePrevNext;
BOOL kNoDarkBg;
BOOL kEndScreenCards;
BOOL kNoFullscreenActions;
BOOL kPersistentProgressBar;
BOOL kNoRelatedVids;
BOOL kNoPromotionCards;
BOOL kNoWatermarks;
BOOL kMiniplayer;
BOOL kPortraitFullscreen;
BOOL kCopyWithTimestamp;
BOOL kDisableAutoplay;
BOOL kDisableAutoCaptions;
BOOL kNoContentWarning;
BOOL kClassicQuality;
BOOL kExtraSpeedOptions;
BOOL kDontSnapToChapter;
BOOL kRedProgressBar;
BOOL kNoHints;
BOOL kNoFreeZoom;
BOOL kAutoFullscreen;
BOOL kExitFullscreen;
BOOL kNoDoubleTapToSeek;
BOOL kShortsOnlyMode;
BOOL kHideShorts;
BOOL kShortsProgress;
BOOL kPinchToFullscreenShorts;
BOOL kShortsToRegular;
BOOL kResumeShorts;
BOOL kHideShortsLogo;
BOOL kHideShortsSearch;
BOOL kHideShortsCamera;
BOOL kHideShortsMore;
BOOL kHideShortsSubscriptions;
BOOL kHideShortsLike;
BOOL kHideShortsDislike;
BOOL kHideShortsComments;
BOOL kHideShortsRemix;
BOOL kHideShortsShare;
BOOL kHideShortsAvatars;
BOOL kHideShortsThanks;
BOOL kHideShortsSource;
BOOL kHideShortsChannelName;
BOOL kHideShortsDescription;
BOOL kHideShortsAudioTrack;
BOOL kHideShortsPromoCards;
BOOL kRemoveLabels;
BOOL kRemoveIndicators;
BOOL kReExplore;
BOOL kAddExplore;
BOOL kRemoveShorts;
BOOL kRemoveSubscriptions;
BOOL kRemoveUploads;
BOOL kRemoveLibrary;
BOOL kCopyVideoInfo;
BOOL kPostManager;
BOOL kSavePostImage;
BOOL kSaveProfilePhoto;
BOOL kCommentManager;
BOOL kSavePost;
BOOL kFixAlbums;
BOOL kRemovePlayNext;
BOOL kNoContinueWatching;
BOOL kNoSearchHistory;
BOOL kNoRelatedWatchNexts;
BOOL kStickSortComments;
BOOL kHideSortComments;
BOOL kPlaylistOldMinibar;
BOOL kDisableRTL;
BOOL kAdvancedMode;
BOOL kAdvancedModeReminder;
int kPivotIndex;
@interface YTSettingsSectionItemManager (Custom)
@property (nonatomic, strong) NSMutableDictionary *prefs;
@property (nonatomic, strong) NSString *prefsPath;
- (void)updatePrefsForKey:(NSString *)key enabled:(BOOL)enabled;
- (void)updateIntegerPrefsForKey:(NSString *)key intValue:(NSInteger)intValue;
@end @end
@interface YTPivotBarView : UIView @interface ABCSwitch : UIControl
@property (nonatomic, strong, readwrite) UIColor *onTintColor;
@end
@interface YTSettingsCell ()
- (void)setIndicatorIcon:(int)icon;
- (void)setTitleDescription:(id)titleDescription;
@end
@interface YTSettingsSectionItemManager (Custom)
- (YTSettingsSectionItem *)switchWithTitle:(NSString *)title key:(NSString *)key;
- (YTSettingsSectionItem *)linkWithTitle:(NSString *)title description:(NSString *)description link:(NSString *)link;
- (UIImage *)resizedImageNamed:(NSString *)iconName;
@end @end
@interface YTLightweightQTMButton () @interface YTLightweightQTMButton ()
@@ -146,10 +40,7 @@ int kPivotIndex;
@interface YTQTMButton () @interface YTQTMButton ()
@property (nonatomic, strong, readwrite) YTIButtonRenderer *buttonRenderer; @property (nonatomic, strong, readwrite) YTIButtonRenderer *buttonRenderer;
- (void)setSizeWithPaddingAndInsets:(BOOL)sizeWithPaddingAndInsets; - (void)setSizeWithPaddingAndInsets:(BOOL)sizeWithPaddingAndInsets;
@end - (BOOL)yt_isVisible;
@interface YTPivotBarItemView : UIView
@property (nonatomic, strong, readwrite) YTQTMButton *navigationButton;
@end @end
@interface YTRightNavigationButtons : UIView @interface YTRightNavigationButtons : UIView
@@ -166,25 +57,106 @@ int kPivotIndex;
@interface YTChipCloudCell : UICollectionViewCell @interface YTChipCloudCell : UICollectionViewCell
@end @end
@interface YTHeaderContentComboViewController : UIViewController
- (void)refreshPivotBar;
@end
@interface YTPivotBarViewController : UIViewController
@end
@interface YTAppViewController : UIViewController @interface YTAppViewController : UIViewController
@property (nonatomic, assign, readonly) YTPivotBarViewController *pivotBarViewController;
- (void)hidePivotBar; - (void)hidePivotBar;
- (void)showPivotBar; - (void)showPivotBar;
@end @end
@interface YTPivotBarViewController : UIViewController @interface YTPivotBarView : UIView
@property (nonatomic, weak, readwrite) YTAppViewController *parentViewController;
- (void)selectItemWithPivotIdentifier:(id)pivotIndentifier; - (void)selectItemWithPivotIdentifier:(id)pivotIndentifier;
@end @end
@interface YTPivotBarViewController ()
@property (nonatomic, weak, readwrite) YTAppViewController *parentViewController;
@property (nonatomic, copy, readwrite) NSString *selectedPivotIdentifier;
- (YTPivotBarView *)pivotBarView;
- (void)selectItemWithPivotIdentifier:(id)pivotIndentifier;
@end
@interface YTPivotBarItemView : UIView
@property (nonatomic, strong, readwrite) YTIPivotBarItemRenderer *renderer;
@property (nonatomic, weak, readwrite) YTPivotBarViewController *delegate;
@property (nonatomic, strong, readwrite) YTQTMButton *navigationButton;
- (void)manageTab:(UILongPressGestureRecognizer *)gesture;
@end
@interface YTScrollableNavigationController : UINavigationController @interface YTScrollableNavigationController : UINavigationController
@property (nonatomic, weak, readwrite) YTAppViewController *parentViewController; @property (nonatomic, weak, readwrite) YTAppViewController *parentViewController;
@end @end
@interface YTReelWatchRootViewController : UIViewController @interface YTTabsViewController : UIViewController
@property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController; @property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController;
@end @end
@interface YTTabsViewController : UIViewController @interface YTIVideoDetails : NSObject
@property (nonatomic, copy, readwrite) NSString *title;
@property (nonatomic, copy, readwrite) NSString *shortDescription;
@end
@interface YTIPlayerResponse : NSObject
@property (nonatomic, assign, readonly) YTIVideoDetails *videoDetails;
@end
@interface YTPlayerResponse : NSObject
@property (nonatomic, assign, readonly) YTIPlayerResponse *playerData;
@end
@interface MLQuickMenuVideoQualitySettingFormatConstraint : NSObject
- (instancetype)initWithVideoQualitySetting:(int)settings formatSelectionReason:(NSInteger)reason qualityLabel:(NSString *)label;
@end
@interface MLFormat : NSObject
@property (nonatomic, assign, readonly) NSString *qualityLabel;
@property (nonatomic, assign, readonly) int singleDimensionResolution;
@end
@interface YTSingleVideoTime : NSObject
@property (nonatomic, assign, readonly) CGFloat time;
@end
@interface YTSingleVideoController : NSObject
@property (nonatomic, assign, readonly) float playbackRate;
@property (nonatomic, assign, readonly) CGFloat totalMediaTime;
@property (nonatomic, assign, readonly) NSArray *selectableVideoFormats;
- (void)setVideoFormatConstraint:(MLQuickMenuVideoQualitySettingFormatConstraint *)formatConstraint;
@end
@interface YTPlayerViewController : UIViewController
@property (nonatomic, assign, readonly) YTPlayerResponse *playerResponse;
@property (nonatomic, assign, readonly) YTSingleVideoController *activeVideo;
@property (nonatomic, weak, readwrite) UIViewController *activeVideoPlayerOverlay;
@property (nonatomic, weak, readwrite) UIViewController *parentViewController;
@property (nonatomic, weak, readwrite) UIViewController *UIDelegate;
@property (nonatomic, readonly) NSString *contentVideoID;
- (void)setActiveCaptionTrack:(id)track;
- (void)setPlaybackRate:(CGFloat)rate;
- (void)shortsToRegular;
- (void)autoFullscreen;
- (void)turnOffCaptions;
- (void)setAutoSpeed;
- (void)autoQuality;
- (void)play;
- (void)pause;
@end
@interface YTPlayerView : UIView
@property (nonatomic, weak, readwrite) YTPlayerViewController *playerViewDelegate;
@property (nonatomic, strong, readwrite) UIView *overlayView;
@end
@interface YTMainAppControlsOverlayView : UIView
@property (nonatomic, strong, readwrite) YTPlayerViewController *playerViewController;
@end
@interface YTReelWatchRootViewController : UIViewController
@property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController; @property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController;
@end @end
@@ -193,30 +165,20 @@ int kPivotIndex;
@interface YTReelContentView : UIView @interface YTReelContentView : UIView
@property (nonatomic, assign, readonly) YTReelWatchPlaybackOverlayView *playbackOverlay; @property (nonatomic, assign, readonly) YTReelWatchPlaybackOverlayView *playbackOverlay;
- (void)turnShortsOnlyModeOff:(UILongPressGestureRecognizer *)gesture;
@end @end
@interface YTShortsPlayerViewController : UIViewController @interface YTReelPlayerViewController : UIViewController
@property (nonatomic, strong, readwrite) YTPlayerViewController *player;
- (void)reelContentViewRequestsAdvanceToNextVideo:(id)video;
@end
@interface YTShortsPlayerViewController : YTReelPlayerViewController
@property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController; @property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController;
@end @end
@interface YTIVideoDetails () @interface YTPivotBarViewController ()
@property (nonatomic, copy, readwrite) NSString *title; @property (nonatomic, weak, readwrite) YTShortsPlayerViewController *scrubberDelegate;
@property (nonatomic, copy, readwrite) NSString *shortDescription;
@end
@interface YTPlayerViewController (YTAFS)
@property (nonatomic, assign, readonly) YTPlayerResponse *playerResponse;
@property (nonatomic, weak, readwrite) UIViewController *parentViewController;
@property (readonly, nonatomic) NSString *contentVideoID;
- (void)setActiveCaptionTrack:(id)arg1;
- (void)shortsToRegular;
- (void)autoFullscreen;
- (void)turnOffCaptions;
@end
@interface YTPlayerView : UIView
@property (nonatomic, weak, readwrite) YTPlayerViewController *playerViewDelegate;
- (void)turnShortsOnlyModeOff:(UILongPressGestureRecognizer *)gesture;
@end @end
@interface YTEngagementPanelIdentifier : NSObject @interface YTEngagementPanelIdentifier : NSObject
@@ -250,7 +212,7 @@ int kPivotIndex;
- (void)didTapCopyInfoButton:(UIButton *)sender; - (void)didTapCopyInfoButton:(UIButton *)sender;
@end @end
@interface YTSegmentableInlinePlayerBarView @interface YTSegmentableInlinePlayerBarView : UIView
@property (nonatomic, assign, readwrite) BOOL enableSnapToChapter; @property (nonatomic, assign, readwrite) BOOL enableSnapToChapter;
@end @end
@@ -258,7 +220,7 @@ int kPivotIndex;
- (void)confirmAlertDidPressConfirm; - (void)confirmAlertDidPressConfirm;
@end @end
@interface YTReelPlayerButton : UIButton @interface YTReelPlayerButton : YTQTMButton
@end @end
@interface ELMCellNode @interface ELMCellNode
@@ -272,12 +234,6 @@ int kPivotIndex;
- (void)removeCellsAtIndexPath:(NSIndexPath *)indexPath; - (void)removeCellsAtIndexPath:(NSIndexPath *)indexPath;
@end @end
// @interface YTReelWatchPlaybackOverlayView : UIView
// @end
// @interface YTReelWatchHeaderView : UIView
// @end
@interface YTReelTransparentStackView : UIStackView @interface YTReelTransparentStackView : UIStackView
@end @end
@@ -288,15 +244,16 @@ int kPivotIndex;
@property (atomic, assign, readonly) NSMutableArray *allObjects; @property (atomic, assign, readonly) NSMutableArray *allObjects;
@end @end
@interface ASDisplayNode : NSObject @interface ASDisplayNode ()
@property (nonatomic, assign, readonly) UIViewController *closestViewController; @property (nonatomic, assign, readonly) UIViewController *closestViewController;
@property (atomic, assign, readonly) ASNodeAncestryEnumerator *supernodes; @property (atomic, assign, readonly) ASNodeAncestryEnumerator *supernodes;
@property (atomic, copy, readwrite) NSArray *yogaChildren; // @property (atomic, copy, readwrite) NSArray *yogaChildren;
@property (atomic) CALayer *layer; @property (atomic) CALayer *layer;
@end @end
@interface ELMContainerNode : ASDisplayNode @interface ELMContainerNode : ASDisplayNode
@property (nonatomic, strong, readwrite) NSString *copiedComment; @property (nonatomic, strong, readwrite) NSString *copiedComment;
@property (nonatomic, strong, readwrite) NSURL *copiedURL;
@end @end
@interface ELMExpandableTextNode : ASDisplayNode @interface ELMExpandableTextNode : ASDisplayNode
@@ -307,6 +264,9 @@ int kPivotIndex;
@property (atomic, copy, readwrite) NSURL *URL; @property (atomic, copy, readwrite) NSURL *URL;
@end @end
@interface YTImageZoomNode : ASNetworkImageNode
@end
@interface ASTextNode : ASDisplayNode @interface ASTextNode : ASDisplayNode
@property (atomic, copy, readwrite) NSAttributedString *attributedText; @property (atomic, copy, readwrite) NSAttributedString *attributedText;
@end @end
@@ -314,29 +274,77 @@ int kPivotIndex;
@interface _ASDisplayView : UIView @interface _ASDisplayView : UIView
@property (nonatomic, strong, readwrite) ASDisplayNode *keepalive_node; @property (nonatomic, strong, readwrite) ASDisplayNode *keepalive_node;
- (void)postManager:(UILongPressGestureRecognizer *)sender; - (void)postManager:(UILongPressGestureRecognizer *)sender;
- (void)saveImage:(UILongPressGestureRecognizer *)sender;
- (void)savePFP:(UILongPressGestureRecognizer *)sender; - (void)savePFP:(UILongPressGestureRecognizer *)sender;
- (void)commentManager:(UILongPressGestureRecognizer *)sender; - (void)commentManager:(UILongPressGestureRecognizer *)sender;
@end @end
@interface MLHAMQueuePlayer : NSObject
@property id playerEventCenter;
-(void)setRate:(float)rate;
@end
@interface YTVarispeedSwitchControllerOption : NSObject @interface YTVarispeedSwitchControllerOption : NSObject
- (id)initWithTitle:(id)title rate:(float)rate; - (id)initWithTitle:(NSString *)title rate:(float)rate;
@end @end
@interface HAMPlayerInternal : NSObject @interface YTVarispeedSwitchController : NSObject
- (void)setRate:(float)rate; - (void)addActionForOption:(YTVarispeedSwitchControllerOption *)option;
@end @end
@interface MLPlayerEventCenter : NSObject @interface YTLabel : UILabel
- (void)broadcastRateChange:(float)rate; - (void)setFontAttributes:(id)attributes text:(NSString *)text;
@end
@interface YTInlinePlayerScrubUserEducationView : UIView
@property (nonatomic, assign, readwrite) NSUInteger labelType;
- (YTLabel *)userEducationLabel;
- (void)setVisible:(BOOL)visible;
@end @end
@interface YTMainAppVideoPlayerOverlayViewController : UIViewController @interface YTMainAppVideoPlayerOverlayViewController : UIViewController
@property (nonatomic, weak, readwrite) YTPlayerViewController *parentViewController;
- (CGFloat)currentPlaybackRate;
@end
@interface YTInlinePlayerBarContainerView : UIView
@property (nonatomic, strong, readwrite) YTLabel *durationLabel;
@property (nonatomic, strong, readwrite) NSString *endTimeString;
@end
@interface YTMainAppVideoPlayerOverlayView : UIView
@property (nonatomic, assign, readonly) YTInlinePlayerScrubUserEducationView *scrubUserEducationView;
@property (nonatomic, strong, readwrite) YTInlinePlayerBarContainerView *playerBar;
@property (nonatomic, weak, readwrite) YTMainAppVideoPlayerOverlayViewController *delegate;
- (void)speedmasterYtLite:(UILongPressGestureRecognizer *)sender;
@end
@interface YTMainAppVideoPlayerOverlayViewController ()
@property (nonatomic, assign, readonly) YTMainAppVideoPlayerOverlayView * videoPlayerOverlayView;
@property (readonly, nonatomic) CGFloat mediaTime; @property (readonly, nonatomic) CGFloat mediaTime;
@property (readonly, nonatomic) NSString *videoID; @property (readonly, nonatomic) NSString *videoID;
- (void)setPlaybackRate:(CGFloat)rate;
- (CGFloat)currentPlaybackRate;
@end
@interface YTSpeedmasterController : NSObject
@end
@interface YTFormattedStringLabel : UILabel
@end
@interface YTActionSheetHeaderView : UIView
- (void)showHeaderDivider;
@end
@interface YTActionSheetAction : NSObject
+ (instancetype)actionWithTitle:(NSString *)title iconImage:(UIImage *)image style:(NSInteger)style handler:(void (^)(void))handler;
+ (instancetype)actionWithTitle:(NSString *)title iconImage:(UIImage *)image secondaryIconImage:(UIImage *)secondaryIconImage accessibilityIdentifier:(NSString *)identifier handler:(void (^)(void))handler;
+ (instancetype)actionWithTitle:(NSString *)title titleColor:(UIColor *)titleColor iconImage:(UIImage *)image iconColor:(UIColor *)iconColor disableAutomaticButtonColor:(BOOL)autoColor accessibilityIdentifier:(NSString *)identifier handler:(void (^)(void))handler;
@end
@interface YTDefaultSheetController : NSObject
- (void)addAction:(YTActionSheetAction *)action;
- (void)presentFromView:(UIView *)view animated:(BOOL)animated completion:(void(^)(void))completion;
- (void)presentFromViewController:(UIViewController *)vc animated:(BOOL)animated completion:(void(^)(void))completion;
- (void)dismissViewControllerAnimated:(BOOL)animated completion:(void(^)(void))completion;
+ (instancetype)sheetControllerWithParentResponder:(id)parentResponder;
+ (instancetype)sheetControllerWithParentResponder:(id)parentResponder forcedSheetStyle:(NSInteger)style;
+ (instancetype)sheetControllerWithMessage:(NSString *)message delegate:(id)delegate parentResponder:(id)parentResponder;
+ (instancetype)sheetControllerWithMessage:(NSString *)message subMessage:(NSString *)subMessage delegate:(id)delegate parentResponder:(id)parentResponder;
@end @end
+638 -519
View File
File diff suppressed because it is too large Load Diff
+126
View File
@@ -0,0 +1,126 @@
/* YouTube Native Share - An iOS Tweak to replace YouTube's share sheet and remove source identifiers.
* Copyright (C) 2024 YouTube Native Share Contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-3.0-or-later
*/
// Source code can be found here: https://github.com/jkhsjdhjs/youtube-native-share (Thanks to @jkhsjdhjs)
#include <UIKit/UIActivityViewController.h>
#import "../YouTubeHeader/YTUIUtils.h"
#import "../protobuf/objectivec/GPBDescriptor.h"
#import "../protobuf/objectivec/GPBMessage.h"
#import "../protobuf/objectivec/GPBUnknownField.h"
#import "../protobuf/objectivec/GPBUnknownFieldSet.h"
#define ytlBool(key) [[[NSUserDefaults alloc] initWithSuiteName:@"com.dvntm.ytlite"] boolForKey:key]
@interface CustomGPBMessage : GPBMessage
+ (instancetype)deserializeFromString:(NSString *)string;
@end
@interface YTICommand : GPBMessage
@end
@interface ELMPBCommand : GPBMessage
@end
@interface ELMPBShowActionSheetCommand : GPBMessage
@property (nonatomic, strong, readwrite) ELMPBCommand *onAppear;
@property (nonatomic, assign, readwrite) BOOL hasOnAppear;
@end
@interface YTIUpdateShareSheetCommand
@property (nonatomic, assign, readwrite) BOOL hasSerializedShareEntity;
@property (nonatomic, copy, readwrite) NSString *serializedShareEntity;
+ (GPBExtensionDescriptor*)updateShareSheetCommand;
@end
@interface YTIInnertubeCommandExtensionRoot
+ (GPBExtensionDescriptor*)innertubeCommand;
@end
typedef NS_ENUM(NSInteger, ShareEntityType) {
ShareEntityFieldVideo = 1,
ShareEntityFieldPlaylist = 2,
ShareEntityFieldChannel = 3,
ShareEntityFieldClip = 8
};
static inline NSString* extractIdWithFormat(GPBUnknownFieldSet *fields, NSInteger fieldNumber, NSString *format) {
if (![fields hasField:fieldNumber])
return nil;
GPBUnknownField *idField = [fields getField:fieldNumber];
if ([idField.lengthDelimitedList count] != 1)
return nil;
NSString *id = [[NSString alloc] initWithData:[idField.lengthDelimitedList firstObject] encoding:NSUTF8StringEncoding];
return [NSString stringWithFormat:format, id];
}
%hook ELMPBShowActionSheetCommand
- (void)executeWithCommandContext:(id)_context handler:(id)_handler {
if (!ytlBool(@"nativeShare"))
return %orig;
if (!self.hasOnAppear)
return %orig;
GPBExtensionDescriptor *innertubeCommandDescriptor = [%c(YTIInnertubeCommandExtensionRoot) innertubeCommand];
if (![self.onAppear hasExtension:innertubeCommandDescriptor])
return %orig;
YTICommand *innertubeCommand = [self.onAppear getExtension:innertubeCommandDescriptor];
GPBExtensionDescriptor *updateShareSheetCommandDescriptor = [%c(YTIUpdateShareSheetCommand) updateShareSheetCommand];
if(![innertubeCommand hasExtension:updateShareSheetCommandDescriptor])
return %orig;
YTIUpdateShareSheetCommand *updateShareSheetCommand = [innertubeCommand getExtension:updateShareSheetCommandDescriptor];
if (!updateShareSheetCommand.hasSerializedShareEntity)
return %orig;
GPBMessage *shareEntity = [%c(GPBMessage) deserializeFromString:updateShareSheetCommand.serializedShareEntity];
GPBUnknownFieldSet *fields = shareEntity.unknownFields;
NSString *shareUrl;
if ([fields hasField:ShareEntityFieldClip]) {
GPBUnknownField *shareEntityClip = [fields getField:ShareEntityFieldClip];
if ([shareEntityClip.lengthDelimitedList count] != 1)
return %orig;
GPBMessage *clipMessage = [%c(GPBMessage) parseFromData:[shareEntityClip.lengthDelimitedList firstObject] error:nil];
shareUrl = extractIdWithFormat(clipMessage.unknownFields, 1, @"https://youtube.com/clip/%@");
}
if (!shareUrl)
shareUrl = extractIdWithFormat(fields, ShareEntityFieldChannel, @"https://youtube.com/channel/%@");
if (!shareUrl) {
shareUrl = extractIdWithFormat(fields, ShareEntityFieldPlaylist, @"%@");
if (shareUrl) {
if (![shareUrl hasPrefix:@"PL"] && ![shareUrl hasPrefix:@"FL"])
shareUrl = [shareUrl stringByAppendingString:@"&playnext=1"];
shareUrl = [@"https://youtube.com/playlist?list=" stringByAppendingString:shareUrl];
}
}
if (!shareUrl)
shareUrl = extractIdWithFormat(fields, ShareEntityFieldVideo, @"https://youtube.com/watch?v=%@");
if (!shareUrl)
return %orig;
UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:@[shareUrl] applicationActivities:nil];
[[%c(YTUIUtils) topViewControllerForPresenting] presentViewController:activityViewController animated:YES completion:^{}];
}
%end
+24
View File
@@ -0,0 +1,24 @@
#import "../YouTubeHeader/YTAlertView.h"
#import "../YouTubeHeader/YTIGuideResponse.h"
#import "../YouTubeHeader/YTIGuideResponseSupportedRenderers.h"
#import "../YouTubeHeader/YTIPivotBarSupportedRenderers.h"
#import "../YouTubeHeader/YTIPivotBarRenderer.h"
#import "../YouTubeHeader/YTIBrowseRequest.h"
#import "../YouTubeHeader/YTISectionListRenderer.h"
#import "../YouTubeHeader/YTQTMButton.h"
#import "../YouTubeHeader/YTIButtonRenderer.h"
#import "../YouTubeHeader/YTVideoQualitySwitchOriginalController.h"
#import "../YouTubeHeader/YTWatchController.h"
#import "../YouTubeHeader/YTPlayerOverlay.h"
#import "../YouTubeHeader/YTPlayerOverlayProvider.h"
#import "../YouTubeHeader/YTSettingsViewController.h"
#import "../YouTubeHeader/YTSettingsSectionItem.h"
#import "../YouTubeHeader/YTSettingsSectionItemManager.h"
#import "../YouTubeHeader/YTSettingsPickerViewController.h"
#import "../YouTubeHeader/YTUIUtils.h"
#import "../YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h"
#import "../YouTubeHeader/YTToastResponderEvent.h"
#import "../YouTubeHeader/YTPageStyleController.h"
#import "../YouTubeHeader/ASCollectionElement.h"
#import "../YouTubeHeader/ASCollectionView.h"
#import "../YouTubeHeader/ELMNodeController.h"
+2
View File
@@ -7,3 +7,5 @@ Description: Lightweight YouTube Enhancer
Maintainer: dvntm Maintainer: dvntm
Author: dvntm Author: dvntm
Section: Tweaks Section: Tweaks
Icon: https://raw.githubusercontent.com/dayanch96/icons/main/ytlite.png
SileoDepiction: https://raw.githubusercontent.com/dayanch96/icons/main/ytlite.json
@@ -0,0 +1,507 @@
/* Main section */
"Main" = "رئيسي";
/* Downloading options */
"Downloading" = "الحفظ";
"DownloadManager" = "مدير الحفظ";
"DownloadManagerDesc" = "يستبدل زر 'التنزيل' أسفل المشغل بمدير الحفظ، الذي يتيح حفظ الفيديو، الصوت، صورة مصغرة، ونسخ معلومات الفيديو.";
"PostManager" = "حفظ معلومات المنشور";
"PostManagerDesc" = "يتيح نسخ نص المنشور وحفظ المنشور كصورة بالضغط المطول.";
"SaveProfilePhoto" = "حفظ صورة الملف الشخصي";
"SaveProfilePhotoDesc" = "يحفظ صورة الملف الشخصي في تطبيق الصور بالضغط المطول.";
"CommentManager" = "حفظ معلومات التعليق";
"CommentManagerDesc" = "يسمح بنسخ نص التعليق وحفظ التعليق كصورة بواسطة النقر المطول.";
"YtlButtonPosition" = "مكان زر الحفظ";
"UnderPlayer" = "أسفل المشغل";
"Overlay" = "المشغل";
"Both" = "كلاهما";
"PostDownloadAction" = "إجراء ما بعد الحفظ";
"PostDownloadDesc" = "سيتم تنفيذ الإجراء المحدد عند الانتهاء من الحفظ.";
"SaveToPhotos" = "حفظ إلى الصور";
"Share" = "مشاركة";
"Ask" = "يسأل";
"DownloadCompleted" = "أكتمل الحفظ";
"PreferredAudio" = "المسار الصوتي المفضل";
"Selected" = "محدد";
"English" = "إنجليزي";
"SelectAudioTrack" = "إختار المسار الصوتي";
"EnglishNotFound" = "لم يتم العثور على المسار الصوتي باللغة الإنجليزية";
"Captions" = "التسميات التوضيحية/الترجمات";
"EmbedCapsToVideos" = "دمج الترجمات";
"EmbedCapsToVideosDesc" = "يقوم بدمج التسميات التوضيحية/الترجمات المحددة في مقاطع الفيديو.";
"EmbedAutoGenCaps" = "التسميات التوضيحية التي تم إنشاؤها/ترجمتها تلقائيًا";
"EmbedAutoGenCapsDesc" = "يضيف التسميات التوضيحية تلقائيًا والمترجمة تلقائيًا إلى قائمة الترجمات.";
"DownloadCaptions" = "حفظ الترجمة";
"SelectCaption" = "حدد الترجمة";
"Translated" = "مترجم";
"TranslatedAutoGen" = "مترجمة تلقائيًا";
/* Nav bar options */
"Navbar" = "شريط التنقل";
"RemoveCast" = "إخفاء زر البث";
"RemoveCastDesc" = "يخفي زر البث من شريط التنقل.";
"RemoveNotifications" = "إخفاء زر الإشعارات";
"RemoveNotificationsDesc" = "يخفي زر الإشعارات من شريط التنقل.";
"RemoveSearch" = "إخفاء زر البحث";
"RemoveSearchDesc" = "يخفي زر البحث من شريط التنقل.";
"RemoveVoiceSearch" = "إخفاء زر البحث الصوتي";
"RemoveVoiceSearchDesc" = "يخفي زر البحث الصوتي من شريط التنقل.";
"StickyNavbar" = "شريط التنقل الثابت";
"StickyNavbarDesc" = "يثبت شريط التنقل بحيث يظل مرئيًا عند التمرير لأسفل.";
"NoSubbar" = "إخفاء شريط الاشتراكات";
"NoSubbarDesc" = "يخفي شريط الاشتراكات (الكل، جديد لك، مباشر إلخ) أسفل شريط التنقل.";
"NoYTLogo" = "إزالة شعار YouTube";
"NoYTLogoDesc" = "يزيل شعار YouTube من شريط التنقل.";
"PremiumYTLogo" = "تعيين شعار YouTube Premium";
"PremiumYTLogoDesc" = "يضيف شعار YouTube Premium في شريط التنقل.";
/* Feed options */
"Feed" = "المنشورات";
"RemoveAds" = "إزالة الإعلانات";
"RemoveAdsDesc" = "يزيل الإعلانات داخل التطبيق.";
"HideShorts" = "إخفاء الفيديوهات القصيرة";
"HideShortsDesc" = "يخفي الفيديوهات القصيرة (Shorts) من الصفحة الرئيسية، المقترحة، وغيرها.";
"KeepSubsShorts" = "احفظ الفيديوهات القصيرة في الاشتراكات";
"KeepSubsShortsDesc" = "يمنع إزالة الفيديوهات القصيرة (Shorts) من تبويب الاشتراكات.";
"RemoveCommunityPosts" = "إزالة منشورات المجتمع";
"RemoveCommunityPostsDesc" = "يزيل منشورات المجتمع من المنشورات.";
"RemoveMixPlaylists" = "إزالة العناصر المختلطة";
"RemoveMixPlaylistsDesc" = "إزالة قائمة التشغيل المختلطة الذي تم أنشأها بواسطة الـYouTube من المنشورات.";
"RemoveLiveVids" = "إزالة البثوث المباشرة";
"RemoveLiveVidsDesc" = "يتم إزالة البثوث المباشرة من علامة التبويب الرئيسية.";
"RemoveHorizontalFeeds" = "إزالة المنشورات الأفقية";
"RemoveHorizontalFeedsDesc" = "يتم إزالة جميع المنشورات الأفقية (مثل الأخبار، متابعة المشاهدة، مجموعة المنشورات، وغيرها) من علامة التبويب الرئيسية.";
"RemoveMoreTopics" = "إزالة \"المزيد من المواضيع\"";
"RemoveMoreTopicsDesc" = "يزيل \"المزيد من المواضيع\" من المنشورات.";
"FixAlbums" = "إصلاح الألبومات";
"FixAlbumsDesc" = "يصلح عرض الألبومات للمستخدمين من روسيا.";
/* Player options */
"Player" = "مشغل الفديو";
"PlaybackQualityOnWiFi" = "جودة التشغيل على WiFi";
"PlaybackQualityOnCellular" = "جودة التشغيل على البيانات الخلوية";
"PreferredCaptions" = "الترجمة المفضلة";
"Original" = "الأصلي";
"Custom" = "اختر يدويًا";
"CustomAudioTrack" = "المسار الصوتي المحدد";
"CustomCaptions" = "الترجمة المحددة";
"AutoGenCaps" = "الترجمة الذي تم إنشاؤها تلقائيًا";
"AutoGenCapsDesc" = "إذا لم يتم العثور على الترجمة المحددة، فسيحاول YouTube Plus تحديد إما ترجمة للتسميات التوضيحية الأصلية أو ترجمة التسميات التوضيحية التي يتم إنشاؤها تلقائيًا.";
"Player.Interface" = "واجهة المستخدم";
"SpeedControls" = "أزرار التحكم في السرعة";
"SpeedControlsDesc" = "يعرض أزرار التحكم في السرعة على مشغل الفديو.";
"HideAutoplay" = "إخفاء زر التشغيل التلقائي";
"HideAutoplayDesc" = "يخفي زر التشغيل التلقائي من مشغل الفديو.";
"HideSubs" = "إخفاء زر الترجمة";
"HideSubsDesc" = "يخفي زر الترجمة من مشغل الفديو.";
"HidePrevNext" = "إخفاء أزرار السابق والتالي";
"HidePrevNextDesc" = "يخفي أزرار الفيديو السابق والتالي من مشغل الفديو.";
"ReplacePrevNext" = "أزرار التقديم السريع والإرجاع";
"ReplacePrevNextDesc" = "يستبدل أزرار الفيديو السابق والتالي بأزرار التقديم السريع والإرجاع في مشغل الفديو.";
"RememberLoopMode" = "تذكر وضع التكرار ";
"RememberLoopModeDesc" = "يتذكر آخر وضع تكرار تم اختياره في قائمة المشغل.";
"FullscreenToTheLeft" = "ملء الشاشة على الدوران الأيسر";
"FullscreenToTheLeftDesc" = "سيؤدي وضع ملء الشاشة إلى تدوير الجهاز إلى الاتجاه الأيسر بدلًا من اليمين المعتاد.";
"PortraitFullscreen" = "وضع ملء الشاشة العمودي";
"PortraitFullscreenDesc" = "يتيح دعم وضع ملء الشاشة العمودي.";
"ClassicQuality" = "جودة الفيديو الكلاسيكية";
"ClassicQualityDesc" = "يعيد قائمة اختيار جودة الفيديو الكلاسيكية.";
"ExtraSpeedOptions" = "خيارات السرعة الإضافية";
"ExtraSpeedOptionsDesc" = "يضيف المزيد من خيارات سرعة تشغيل الفيديو إلى قائمة المشغل.";
"NoDarkBg" = "إزالة الخلفية الداكنة";
"NoDarkBgDesc" = "يزيل الطبقة الخلفية الداكنة.";
"NoEndScreenCards" = "إخفاء بطاقات نهاية الشاشة";
"NoEndScreenCardsDesc" = "يخفي بطاقات نهاية الشاشة (الصور المصغرة) في نهاية الفيديوهات.";
"NoAutonavEndScreenCards" = "إخفاء شاشة النهاية التلقائية";
"NoAutonavEndScreenCardsDesc" = "يخفي الشاشة التي تعرض ما يمكن تشغيله بعد انتهاء التشغيل. تعطيل هذا الخيار يعطل أيضًا التشغيل التلقائي";
"NoFullscreenActions" = "تعطيل إجراءات ملء الشاشة";
"NoFullscreenActionsDesc" = "يعطل لوحة الإجراءات في وضع ملء الشاشة.";
"PersistentProgressBar" = "شريط التقدم المستمر";
"PersistentProgressBarDesc" = "يظهر شريط التقدم دائمًا في المشغل.";
"RedProgressBar" = "شريط التقدم الأحمر";
"RedProgressBarDesc" = "يعيد شريط التقدم الأحمر.";
"StockVolumeHUD" = "واجهة تحكم مستوى الصوت الأساسية";
"StockVolumeHUDDesc" = "تعرض واجهة تحكم مستوى الصوت الخاصة بالنظام في وضع ملء الشاشة.";
"NoRelatedVids" = "عدم عرض الفيديوهات ذات الصلة في مشغل الفديو";
"NoRelatedVidsDesc" = "يزيل الفيديوهات ذات الصلة المعروضة في مشغل الفديو عن طريق السحب لأعلى.";
"NoPromotionCards" = "إخفاء بطاقات العروض الترويجية المدفوعة";
"NoPromotionCardsDesc" = "يخفي بطاقة \"تتضمن عروض ترويجية مدفوعة\" في الفيديوهات التي تتضمن ترويجاً.";
"NoWatermarks" = "إخفاء العلامات المائية";
"NoWatermarksDesc" = "يخفي العلامات المائية للقناة من المشغل.";
"VideoEndTime" = "إظهار وقت نهاية التشغيل";
"VideoEndTimeDesc" = "يضيف وقت نهاية تشغيل الفيديو إلى شريط المشغل.";
"24hrFormat" = "صيغة 24 ساعة";
"24hrFormatDesc" = "يعرض وقت الانتهاء بصيغة 24 ساعة.";
"Player.Actions" = "الإجراءات";
"DefaultPlaybackRate" = "معدل التشغيل الافتراضي";
"BackgroundPlayback" = "التشغيل في الخلفية";
"BackgroundPlaybackDesc" = "يتيح التشغيل في الخلفية.";
"Miniplayer" = "تفعيل المشغل المصغر";
"MiniplayerDesc" = "يُفعل المشغل المصغر للفيديوهات التي لم تُصمم أصلاً لذلك، مثل الفيديوهات الموجهة للأطفال.";
"DisableAutoplay" = "تعطيل التشغيل التلقائي للفيديوهات";
"DisableAutoplayDesc" = "يمنع تشغيل الفيديو بعد الفتح.";
"DisableAutoCaptions" = "تعطيل التسميات التوضيحية التلقائية";
"DisableAutoCaptionsDesc" = "يمنع التفعيل التلقائي للتسميات التوضيحية.";
"NoContentWarning" = "تخطي تحذير المحتوى";
"NoContentWarningDesc" = "يتخطى رسالة تحذير المحتوى الحساس.";
"NoHints" = "تعطيل التلميحات";
"NoHintsDesc" = "يعطل التلميحات التي تظهر من قبل المؤلف في الزاوية العلوية اليمنى أثناء التشغيل.";
"AutoFullscreen" = "تشغيل الفيديو في وضع ملء الشاشة";
"AutoFullscreenDesc" = "يشغل الفيديو تلقائيًا في وضع ملء الشاشة.";
"ExitFullscreen" = "الخروج من وضع ملء الشاشة عند الانتهاء";
"ExitFullscreenDesc" = "يخرج من وضع ملء الشاشة في نهاية تشغيل الفيديو.";
"Player.Gestures" = "الإيماءات";
"LeftSideGesture" = "إيماءة للجانب الأيسر";
"RightSideGesture" = "إيماءة للجانب الأيمن";
"ActivationAreaWidth" = "Gesture activation width";
"ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"HoldToSpeed" = "اضغط مع الاستمرار للسرعة";
"AdjustWithFinger" = "ضبط السرعة بالإيماءات";
"AdjustWithFingerDesc" = "يسمح بضبط سرعة التشغيل عن طريق الضغط المطول على المشغل وتحريك الإصبع لأعلى ولأسفل.";
"PreserveSpeed" = "الاحتفاظ بالسرعة";
"PreserveSpeedDesc" = "يحافظ على السرعة المعدلة بعد اكتمال الإيماءة.";
"SeekAnywhere" = "أسحب للبحث";
"SeekAnywhereDesc" = "يسمح بالتحكم في التقديم والإرجاع أثناء التشغيل عن طريق السحب لليسار ولليمين.";
"SeekMethod" = "طريقة البحث";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Independent" = "مستقل";
"DurationBased" = "على أساس المدة";
"SeekSensitivity" = "حساسية البحث";
"TwoFingerTapToPause" = "إيقاف التشغيل باستخدام إصبعين";
"TwoFingerTapToPauseDesc" = "إيقاف تشغيل/استئناف التشغيل عن طريق الضغط على الشاشة باستخدام إصبعين.";
"TwoFingerPanToBrightness" = "ضبط السطوع";
"TwoFingerPanToBrightnessDesc" = "يسمح بضبط سطوع الشاشة عن طريق السحب لأعلى/أسفل باستخدام إصبعين.";
"CopyWithTimestamp" = "نسخ الروابط مع الطابع الزمني";
"CopyWithTimestampDesc" = "يسمح بنسخ الرابط مع الطابع الزمني إلى الحافظة بواسطة الضغط على زر الإيقاف المؤقت.";
"PauseOnOverlay" = "إيقاف التشغيل على مشغل الفديو";
"PauseOnOverlayDesc" = "يضبط التشغيل على الإيقاف المؤقت إذا ظهر مشغل الفديو.";
"DontSnap2Chapter" = "تعطيل الانتقال التلقائي إلى الفصل";
"DontSnap2ChapterDesc" = "يعطل الانتقال إلى الحلقة التالية بواسطة إيماءة النقر المزدوج.";
"NoTwoFingerSnapToChapter" = "تعطيل النقر المزدوج بإصبعين";
"NoTwoFingerSnapToChapterDesc" = "يعطل إيماءة النقر المزدوج بإصبعين للتنقل بين الفصول.";
"NoFreeZoom" = "تعطيل إيماءة التكبير الحرة";
"NoFreeZoomDesc" = "يعطل إيماءات التكبير الحرة الجديدة.";
"NoDoubleTap2Seek" = "تعطيل النقر المزدوج للبحث";
"NoDoubleTap2SeekDesc" = "يعطل إيماءة النقر المزدوج للبحث.";
/* Shorts options */
"Shorts" = "الفيديوهات القصيرة";
"PlaybackMode" = "Playback completion action";
"Loop" = "Loop";
"ScrollToNext" = "Scroll to next";
"Stop" = "Stop";
"AutoSkipShorts" = "تخطي الفيديوهات القصيرة تلقائيًا";
"ShortsOnlyMode" = "وضع الفيديوهات القصيرة";
"ShortsOnlyModeDesc" = "يحد من وظائف الـYouTube لمشاهدة الفيديوهات القصيرة (Shorts) فقط.";
"RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"ShortsProgress" = "تمكين شريط التقدم";
"ShortsProgressDesc" = "يعرض شريط التقدم في مشغل الفيديوهات القصيرة (Shorts).";
"SpeedByLongTap" = "زيادة سرعة تشغيل الفيديوهات القصيرة بالضغط المطول";
"SpeedByLongTapDesc" = "يسمح بتسريع التشغيل عن طريق الضغط المطول على جزء معين من الشاشة.";
"SpeedLocation" = "موقع التنشيط";
"PinchToFullscreenShorts" = "تكبير إلى ملء الشاشة";
"PinchToFullscreenShortsDesc" = "يدير ظهور مشغل الفديو بإيماءات التكبير والتصغير، لعرض الفيديوهات القصيرة (Shorts) في وضع ملء الشاشة.";
"ShortsToRegular" = "الفيديوهات القصيرة إلى الفيديوهات العادية";
"ShortsToRegularDesc" = "يفتح الفيديوهات القصيرة (Shorts) كفيديوهات عادية.";
"RemoveShortsLive" = "Remove live videos";
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"HideShortsLogo" = "إخفاء شعار Shorts";
"HideShortsLogoDesc" = "يخفي شعار Shorts في الزاوية العلوية اليسرى، الذي موجود في مشغل الفيديوهات القصيرة (Shorts).";
"HideShortsSearch" = "إخفاء زر البحث";
"HideShortsSearchDesc" = "يخفي زر البحث من مشغل الفيديوهات القصيرة (Shorts).";
"HideShortsCamera" = "إخفاء زر الكاميرا";
"HideShortsCameraDesc" = "يخفي زر الكاميرا من مشغل الفيديوهات القصيرة (Shorts).";
"HideShortsMore" = "إخفاء زر المزيد (⋮)";
"HideShortsMoreDesc" = "يخفي زر المزيد (⋮) من مشغل الفيديوهات القصيرة (Shorts). يمكن الوصول إليه أيضًا بالضغط المطول على الشاشة.";
"HideShortsSubscriptions" = "إخفاء زر الاشتراكات";
"HideShortsSubscriptionsDesc" = "يخفي زر الاشتراكات الذي يظهر عند إيقاف الفيديوهات القصيرة (Shorts).";
/* Tab bar options */
"Tabbar" = "شريط التبويبات";
"Startup" = "صفحة البدء";
"FEwhat_to_watch" = "الصفحة الرئيسية";
"FEexplore" = "استكشاف";
"FEshorts" = "Shorts";
"FEsubscriptions" = "الاشتراكات";
"FElibrary" = "المكتبة";
"FEuploads" = "إنشاء";
"FEhistory" = "السجل";
"VLWL" = "المشاهدة لاحقًا";
"RemoveLabels" = "إزالة التسميات";
"RemoveIndicators" = "إزالة المؤشرات";
"ActiveTabs" = "علامات التبويب النشطة";
"InactiveTabs" = "علامات التبويب الغير نشطة";
"HideLibraryFooter" = "يمكن إخفاء علامة تبويب المكتبة أو إظهارها عن طريق الضغط لفترة طويلة على علامة التبويب الأولى من شريط علامات التبويبات.";
"Warning" = "تحذير";
"TabIsHidden" = "لا يمكن تحديد علامة التبويب المخفية كصفحة بدء";
"TabIsStartupTab" = "لا يمكن إخفاء علامة التبويب المحددة كصفحة بدء التشغيل";
"TabsCountRestricted" = "يمكنك أن يكون لديك ما يصل إلى ستة علامات تبويب نشطة فقط";
/* Interface options */
"Interface" = "واجهة المستخدم";
"OledTheme" = "ثيم OLED";
"OledThemeDesc" = "يحول جميع الألوان الداكنة إلى الأسود.";
"NoSearchHistory" = "إخفاء سجل البحث";
"NoSearchHistoryDesc" = "يخفي سجل البحث والاقتراحات بصريًا. ملاحظة: سيظل سجل البحث الخاص بك متاحًا في عملاء YouTube الآخرين.";
"NoRelatedWatchNexts" = "إخفاء كل الفيديوهات أسفل المشغل";
"NoRelatedWatchNextsDesc" = "يخفي جميع الفيديوهات أسفل المشغل، مع إبقاء قسم معلومات الفيديو والتعليقات فقط.";
"StickSortComments" = "تثبيت رأس التعليقات";
"StickSortCommentsDesc" = "يثبت خيارات ترتيب التعليقات (الأعلى، الأحدث) حتى لا تختفي أثناء التمرير.";
"HideSortComments" = "إخفاء رأس التعليقات";
"HideSortCommentsDesc" = "يخفي خيارات ترتيب التعليقات (الأعلى، الأحدث) بحيث لا تظهر أبدًا.";
"PlaylistOldMinibar" = "شريط تشغيل القائمة القديم";
"PlaylistOldMinibarDesc" = "يستبدل لوحة تشغيل القائمة العائمة الجديدة باللوحة القديمة.";
"OldYTUI" = "واجهة المستخدم القديمة";
"OldYTUIDesc" = "يخدع إصدار الـYouTube بحيث يعيد الواجهة القديمة.";
"DisableRTL" = "تعطيل التنسيق من اليمين إلى اليسار";
"DisableRTLDesc" = "يعرض النصوص بالقوة من اليسار إلى اليمين (LTR) للغات التي تُعرض بشكل افتراضي من اليمين إلى اليسار (RTL).";
"StartupAnimation" = "الرسوم المتحركة";
"StartupAnimationDesc" = " الرسوم المتحركة الذي تظهر عند فتح الـYouTube.";
"InterfaceStyle" = "نمط الواجهة";
"MiniplayerStyle" = "شكل المشغل المصغر";
"MiniplayerStyleDesc" = "يتطلب التبديل إلى الوضع العائم إعادة تشغيل التطبيق.";
"Floating" = "عائم";
"ContextMenu" = "قائمة السياق";
"NativeShare" = "واجهة المشاركة الأصلية";
"NativeShareDesc" = "يستخدم واجهة المشاركة الخاصة بالنظام لمشاركة الوسائط";
"RemoveInlineComment" = "إزالة قسم التعليقات";
"RemoveInlineCommentDesc" = "يزيل قسم التعليقات أسفل المشغل.";
"RemoveCommentGuidelines" = "إزالة إرشادات المجتمع";
"RemoveCommentGuidelinesDesc" = "يزيل إرشادات المجتمع المثبتة في قسم التعليقات.";
"RemovePlayNext" = "إزالة \"تشغيل التالي في قائمة الانتظار\"";
"RemovePlayNextDesc" = "يزيل خيار \"تشغيل التالي في قائمة الانتظار\" من القائمة.";
"RemoveDownloadMenu" = "إزالة \"تنزيل\"";
"RemoveDownloadMenuDesc" = "يزيل خيار \"تنزيل\" من القائمة.";
"RemoveWatchLaterMenu" = "إزالة \"حفظ للمشاهدة لاحقاً\"";
"RemoveWatchLaterMenuDesc" = "يزيل خيار \"حفظ للمشاهدة لاحقاً\" من القائمة.";
"RemoveSaveToPlaylistMenu" = "إزالة \"حفظ في قائمة التشغيل\"";
"RemoveSaveToPlaylistMenuDesc" = "يزيل خيار \"حفظ في قائمة التشغيل\" من القائمة.";
"RemoveShareMenu" = "إزالة \"مشاركة\"";
"RemoveShareMenuDesc" = "يزيل خيار \"مشاركة\" من القائمة.";
"RemoveNotInterestedMenu" = "إزالة \"غير مهتم\"";
"RemoveNotInterestedMenuDesc" = "يزيل خيار \"غير مهتم\" من القائمة.";
"RemoveDontRecommendMenu" = "إزالة \"لا توصي بالقناة\"";
"RemoveDontRecommendMenuDesc" = "يزيل خيار \"لا توصي بالقناة\" من القائمة.";
"RemoveReportMenu" = "إزالة \"الإبلاغ\"";
"RemoveReportMenuDesc" = "يزيل خيار \"الإبلاغ\" من القائمة.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "تفعيل";
"EnableSponsorBlockDesc" = "تفعيل أداة SponsorBlock";
"SegmentsInFeedPlayer" = "عرض الشرائح في المنشورات";
"SegmentsInFeedPlayerDesc" = "يعرض الشرائح الملونة على شريط تقدم المشغل في المنشورات.";
"SegmentsInMiniPlayer" = "عرض الشرائح على المشغل المصغر";
"SegmentsInMiniPlayerDesc" = "يعرض الشرائح الملونة على شريط تقدم المشغل المصغر.";
"SegmentSkipAudio" = "إشعار صوتي";
"SegmentSkipAudioDesc" = "يقوم بتشغيل إشعار صوتي عند تخطي الشرائح.";
"DurationWithoutSegments" = "عرض مدة جديدة";
"DurationWithoutSegmentsDesc" = "يعرض المدة الإجمالية بدون شرائح.";
"SkipAlertDuration" = "تخطي مدة التنبيه";
"UnskipAlertDuration" = "إلغاء تخطي مدة التنبيه";
"Segments" = "الشرائح";
"Sponsor" = "إعلان";
"SponsorDesc" = "جزء من الفيديو يروج لمنتج أو خدمة ليست مرتبطة مباشرةً بصانع المحتوى. سيتلقى صانع المحتوى مالًا أو تعويضًا مثل منتجات مجانية.";
"SponsorColor" = "إختار لون ليظهره في شريط التقدم";
"Intro" = "الاستراحة/الرسوم المتحركة";
"IntroDesc" = "توجد المقاطع عادةً في بداية الفيديو التي تتضمن رسومًا متحركة أو إطارا ثابتا أو مقطع يتم رؤيته أيضًا في مقاطع فيديو أخرى من قبل نفس المنشئ.";
"IntroColor" = "إختار لون ليظهره في شريط التقدم";
"Endcards" = "بطاقات النهاية/الاعتمادات";
"EndcardsDesc" = "عادةً ما تكون بالقرب من نهاية الفيديو أو في نهايته، عندما تظهر الاعتمادات أو بطاقات النهاية.";
"EndcardsColor" = "إختار لون ليظهره في شريط التقدم";
"Interaction" = "تذكير التفاعل";
"InteractionDesc" = "تذكيرات واضحة للتفاعل مثل الإعجاب، الاشتراك، أو التفاعل معهم على أي منصة مدفوعة أو مجانية (مثل النقر على فيديو)";
"InteractionColor" = "إختار لون ليظهره في شريط التقدم";
"SelfPromo" = "الترويج الذاتي/غير المدفوع";
"SelfPromoDesc" = "الترويج الذاتي: الترويج لمنتج أو خدمة تتعلق مباشرةً بصانع المحتوى نفسه. غير المدفوع: لن يتلقى صانع المحتوى أي تعويض مالي مقابل هذا الترويج.";
"SelfPromoColor" = "إختار لون ليظهره في شريط التقدم";
"MusicOfftopic" = "الموسيقى: قسم غير الموسيقى";
"MusicOfftopicDesc" = "يجب استخدامه فقط في الفيديوهات التي تتضمن الموسيقى كمحتوى رئيسي.";
"MusicOfftopicColor" = "إختار لون ليظهره في شريط التقدم";
"Preview" = "معاينة";
"PreviewDesc" = "مجموعة من المقاطع التي تعرض ما سيأتي في هذا الفيديو أو في فيديوهات أخرى ضمن السلسلة، حيث تُكرر جميع المعلومات لاحقًا في الفيديو.";
"PreviewColor" = "إختار لون ليظهره في شريط التقدم";
"Highlight" = "تسليط الضوء";
"HighlightDesc" = "يستخدم للوصول إلى النقطة الرئيسية أو أبرز جزء في الفيديو.";
"HighlightColor" = "إختار لون ليظهره في شريط التقدم";
"Jokes" = "المشاهد الجانبية/النكات";
"JokesDesc" = "المشاهد الجانبية والنكات تُضاف فقط كإضافات للتسلية أو لملء الوقت، وليست ضرورية لفهم المحتوى الرئيسي للفيديو.";
"JokesColor" = "إختار لون ليظهره في شريط التقدم";
"Sb.Disable" = "تعطيل";
"Sb.Skip" = "تخطي تلقائي";
"Sb.SkipTo" = "انتقل إلى المقطع";
"Sb.Ask" = "يسأل";
"Sb.Display" = "إظهار في شريط التقدم";
"sb_sponsor" = "شريحة الإعلان";
"sb_intro" = "شريحة المقدمة";
"sb_outro" = "شريحة البطاقات النهائية";
"sb_interaction" = "جزء التفاعل";
"sb_selfpromo" = "شريحة الترويج الذاتي";
"sb_music_offtopic" = "جزء خارج الموضوع";
"sb_preview" = "معاينة الجزء";
"sb_poi_highlight" = "تسليط الضوء على الجزء";
"sb_filler" = "شريحة المشاهد الجانبية";
"SegmentDetected" = "%@ تم اكتشافه";
"SegmentSkipped" = "%@ تم تخطيه";
"SkippedToSegment" = "تم تخطيه إلى %@";
"SkipSegment" = "تخطي";
"SkipToSegment" = "لتسليط الضوء";
"Unskip" = "إلغاء التخطي";
/* Developer section */
"Developer" = "المطور";
"FollowMe" = "تابعني على X";
"SupportDevelopment" = "دعم التطوير";
"DonateDesc" = "دعمك يعني الكثير بالنسبة لي";
"SupportDevelopmentDesc" = "إذا أعجبك YTPlus وترغب في دعم تطويره، يمكنك فعل ذلك باستخدام أي من الطرق المناسبة أدناه.\nشكرًا ❤";
"VisitGithub" = "Github مستودع";
"VisitGithubDesc" = "أطلب ميزة أو الإبلاغ عن المشكلات";
"VisitTelegram" = "قناتي على Telegram";
"VisitTelegramDesc" = "كن على علم بآخر التحديثات";
/* Credits section */
"Credits" = "الاعتمادات";
"Contributors" = "المساهمين";
"DevContribution" = "مساهمين في التطوير";
"SpecialThanks" = "شكر خاص";
"SpecialThanks.Test" = "مساهمة لا تقدر بثمن في اختبار الأداة";
"Localizations" = "المترجمين";
"ChineseSimplified" = "ترجمها إلى اللغة الصينية (المبسطة)";
"ChineseTraditional" = "ترجمها إلى اللغة الصينية (التقليدية)";
"French" = "ترجمها إلى اللغة الفرنسية";
"Spanish" = "ترجمها إلى اللغة الإسبانية";
"Japanese" = "ترجمها إلى اللغة اليابانية";
"Vietnamese" = "ترجمها إلى اللغة الفيتنامية";
"Arabic" = "ترجمها إلى اللغة العربية";
"Turkish" = "ترجمها إلى اللغة التركية";
"OpenSourceLibs" = "مكتبات مفتوحة المصدر";
"Preferences" = "إعدادات %@";
"ManagePreferences" = "إدارة الإعدادات";
"ImportPreferences" = "استيراد الإعدادات";
"PreImportMessage" = "هذا الإجراء سيستبدل الإعدادات الحالية بتلك من الملف المحدد.\n\nهل أنت متأكد أنك تريد المتابعة؟";
"ExportPreferences" = "تصدير الإعدادات";
"ResetSettings" = "استعادة الإعدادات الافتراضية";
"ResetMessage" = "سيقوم هذا الإجراء بإعادة ضبط إعدادات YTPlus إلى الإعدادات الافتراضية وإغلاق YouTube.\n\nهل أنت متأكد أنك تريد المتابعة؟";
"ManageCache" = "إدارة ذاكرة التخزين المؤقتة";
"ClearCacheAtStart" = "قم بمسح ذاكرة التخزين المؤقتة عند بدء التشغيل";
"ClearCacheAtStartDesc" = "يقوم بمسح ذاكرة التخزين المؤقتة تلقائيًا عند بدء التشغيل.";
"ClearCache" = "مسح الذاكرة المؤقتة";
"NoDonationReminder" = "تعطيل تذكير التبرع";
"NoDonationReminderDesc" = "إيقاف تذكير التبرع الذي نادرًا ما يظهر.";
"ShortsOnlyWarning" = "هل أنت متأكد أنك تريد تفعيل هذا الوضع؟\n\nفي هذا الوضع، ستتمكن فقط من مشاهدة فيديوهات القصيرة (Shorts) ولن تتمكن من القيام بأي شيء آخر.\n\nيمكنك تعطيل وضع الفيديوهات القصيرة فقط عن طريق الضغط المطول بإصبعين في مشغل الفيديوهات القصيرة(Shorts).";
"ShortsModeTurnedOff" = "تم تعطيل وضع الفيديوهات القصيرة (Shorts) فقط";
"AddLibraryTab" = "أستعادة علامة تبويب \"أنت\"";
"RemoveLibraryTab" = "قم بإزالة علامة تبويب \"أنت\"";
"LibraryAdded" = "تمت أستعادة علامة تبويب \"أنت\"";
"LibraryRemoved" = "تمت إزالة علامة تبويب \"أنت\"";
"Yes" = "نعم";
"No" = "لا";
"Select" = "اختيار";
"Default" = "افتراضي";
"Best" = "أفضل";
"Show" = "إظهار";
"Disable" = "تعطيل";
"Disabled" = "معطل";
"PlaybackSpeed" = "سرعة التشغيل";
"SpeedPreserved" = "السرعة محفوظة";
"ResetSpeed" = "إعادة تعيين";
"Toast.Brightness" = "السطوع";
"Toast.PlaybackSpeed" = "سرعة التشغيل";
"Toast.Volume" = "الصوت";
"SelectAction" = "اختر الإجراء";
"DownloadVideo" = "حفظ الفيديو";
"DownloadAudio" = "حفظ الصوت";
"SaveImage" = "حفظ الصورة";
"CopyInformation" = "نسخ المعلومات";
"CopyChannelName" = "نسخ اسم القناة";
"CopyTitle" = "نسخ العنوان";
"CopyDescription" = "نسخ الوصف";
"CopyTimestampedLink" = "نسخ الرابط مع الطابع الزمني";
"CopyTranscript" = "نسخ النص";
"PlayInExternalPlayer" = "تشغيل في مشغل خارجي";
"PlayInSystemPlayer" = "تشغيل في مشغل النظام";
"PlayInInfuse" = "تشغيل في Infuse";
"PlayInVLC" = "تشغيل في VLC";
"PlayerNotFound" = "المشغل غير موجود";
"OpenAsRegularVideo" = "فتح كفيديو عادي";
"CopyPostText" = "نسخ نص المنشور";
"SaveCurrentImage" = "حفظ الصورة الحالية";
"CopyCurrentImage" = "نسخ الصورة الحالية";
"SavePostAsImage" = "حفظ المنشور كصورة";
"CopyPostAsImage" = "نسخ المنشور كصورة";
"CopyCommentText" = "نسخ نص التعليق";
"SaveCommentAsImage" = "حفظ التعليق كصورة";
"CopyCommentAsImage" = "نسخ التعليق كصورة";
"SaveProfilePicture" = "حفظ صورة الملف الشخصي";
"CopyProfilePicture" = "نسخ صورة الملف الشخصي";
"DownloadThumbnail" = "حفظ الصورة المصغرة";
"CopyThumbnail" = "نسخ الصورة المصغرة";
"Cancel" = "إلغاء";
"Cancelled" = "تم الإلغاء";
"Copied" = "تم النسخ إلى الحافظة";
"Saved" = "تم الحفظ في الصور";
"Done" = "تم";
"NothingToShowInMenu" = "لا يوجد شيء لعرضه في قائمة السياق هذه";
"Error" = "خطأ";
"Error.Clipboard" = "خطأ. تحقق من الحافظة لمزيد من المعلومات";
"Error.PathIssue" = "خطأ. مشكلة في توليد المسار النهائي. مشكلة في عنوان الوسائط؟";
"Error.TryLater" = "من المتوقع أن تكتمل معالجة الفيديو على خادم Google.\n\nيرجى المحاولة مرة أخرى لاحقا.";
"Error.NoSpace" = "مساحة غير كافية على الجهاز.\n\nيتطلب مساحة إضافية لا تقل عن %@. المساحة الحرة المتاحة: %@";
"Error.Multidownloading" = "الحفظ المتعدد غير متاح بعد.";
"Error.FailedToImport" = "فشل في استيراد الإعدادات";
"DownloadingVideo" = "جارٍ حفظ الفيديو";
"DownloadingAudio" = "جارٍ حفظ الصوت";
"ParsingCaptions" = "تحليل التسميات التوضيحية";
"ParsingTranscript" = "تحليل النص";
"Converting" = "جارٍ التحويل";
"RetryLogin" = "تم تنشيط حل مؤقت.\n\nيرجى المحاولة مرة أخرى.";
"LoginInfo" = "مطلوب إعادة تشغيل التطبيق بعد تسجيل الدخول بنجاح إلى حساب Google";
"Welcome.Download" = "حفظ الوسائط";
"Welcome.DownloadDesc" = "حفظ المحتوى المفضل لديك، سواء كان فيديوهات عادية أو فيديوهات قصيرة أو ملفات صوتية أو صور الملف الشخصي. نسخ المنشورات والتعليقات المثيرة أو حفظها كصور.";
"Welcome.Content" = "ضبط الواجهة";
"Welcome.ContentDesc" = "إزالة المحتوى والعناصر الغير مرغوب فيها. تمكين ثيم OLED الوضع الداكن الحقيقي";
"Welcome.Player" = "ضبط سلوك المشغل";
"Welcome.PlayerDesc" = "تخصيص سلوك المشغل، وتحديد التلقائي لجودة الفيديو وسرعة التشغيل. التحكم باستخدام الإيماءات";
"Welcome.More" = "وأكثر...";
"Welcome.MoreDesc" = "يتضمن YouTube Plus اكثر من 50 خيارًا مختلفًا، بما في ذلك ميزات مثل حفظ الإعدادات ومسح الذاكرة المؤقتة. إعدادات الأداة متوفرة بإسم YouTube Plus ضمن إعدادات الـYouTube.";
"SupportMe" = "ادعمني";
"Continue" = "متابعة";
"Conflicts.Detected" = "تم إكتشاف أدوات غير متوافقة";
"Conflicts.DetectedDesc" = "على الرغم من الاستقرار الظاهر للتطبيق، إلا أن مطور YouTube Plus لا يوصي بدمج أدوات ذات الوظائف المماثلة في نفس التطبيق ولا يمكنه ضمان الاستخدام الآمن.\n\nمن خلال الاستمرار في استخدام التطبيق، تتحمل المسؤولية الكاملة وتوافق على أن أي شكاوى حول الأداء ستتجاهل.";
"Conflicts.AcceptRisks" = "أقبل جميع المخاطر";
"Conflicts.CloseYT" = "أغلق الـYouTube";
"DonationReminder" = "دعمك يساعد في تحسين YouTube Plus بشكل أفضل.\n\nيمكنك المساهمة أو اختيار تعطيل هذه الإشعار من إعدادات YouTube Plus. شكراً لك💜";
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

@@ -1,9 +1,46 @@
"General" = "General"; /* Main section */
"RemoveAds" = "Remove ads"; "Main" = "Main";
"RemoveAdsDesc" = "Removes in-app ads.";
"BackgroundPlayback" = "Background playback";
"BackgroundPlaybackDesc" = "Enables background playback.";
/* Downloading options */
"Downloading" = "Downloading";
"DownloadManager" = "Download manager";
"DownloadManagerDesc" = "Replaces 'Download' button action under the player with a Download Manager, which allows downloading Video, Audio, Thumbnail Image, and Copying Video Information.";
"PostManager" = "Save post information";
"PostManagerDesc" = "Allows to copy post text and save post as image by long tap.";
"SaveProfilePhoto" = "Save profile picture";
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
"CommentManager" = "Save comment information";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap.";
"YtlButtonPosition" = "Downloading button placement";
"UnderPlayer" = "Under the player";
"Overlay" = "Overlay";
"Both" = "Both";
"PostDownloadAction" = "Post-download action";
"PostDownloadDesc" = "The selected action will be performed upon successful completion of the video download.";
"SaveToPhotos" = "Save to photos";
"Share" = "Share";
"Ask" = "Ask";
"DownloadCompleted" = "Download completed";
"PreferredAudio" = "Preferred audio track";
"Selected" = "Selected";
"English" = "English";
"SelectAudioTrack" = "Select audio track";
"EnglishNotFound" = "English audio track not found";
"Captions" = "Captions/Subtitles";
"EmbedCapsToVideos" = "Embed captions";
"EmbedCapsToVideosDesc" = "Embeds selected captions/subtitles into videos.";
"EmbedAutoGenCaps" = "Auto-generated/translated captions";
"EmbedAutoGenCapsDesc" = "Adds auto-generated, translated, and auto-translated captions to the captions/subtitles list.";
"DownloadCaptions" = "Download captions";
"SelectCaption" = "Select captions/subtitles";
"Translated" = "translated";
"TranslatedAutoGen" = "auto-translated";
/* Nav bar options */
"Navbar" = "Navigation bar"; "Navbar" = "Navigation bar";
"RemoveCast" = "Hide Cast button"; "RemoveCast" = "Hide Cast button";
"RemoveCastDesc" = "Hides Cast button from the Navigation bar."; "RemoveCastDesc" = "Hides Cast button from the Navigation bar.";
@@ -19,96 +56,164 @@
"NoSubbarDesc" = "Hides Subbar (All, New to you, Live etc.) under the Navigation bar."; "NoSubbarDesc" = "Hides Subbar (All, New to you, Live etc.) under the Navigation bar.";
"NoYTLogo" = "Remove YouTube logo"; "NoYTLogo" = "Remove YouTube logo";
"NoYTLogoDesc" = "Removes YouTube logo in the Navigation bar."; "NoYTLogoDesc" = "Removes YouTube logo in the Navigation bar.";
"PremiumYTLogo" = "Set Premium YouTube logo";
"PremiumYTLogoDesc" = "Sets Premium YouTube logo in the Navigation bar.";
"Overlay" = "Overlay"; /* Feed options */
"Feed" = "Feed";
"RemoveAds" = "Remove ads";
"RemoveAdsDesc" = "Removes in-app ads.";
"HideShorts" = "Hide Shorts videos";
"HideShortsDesc" = "Hides Shorts videos from Homepage, Recommended etc.";
"KeepSubsShorts" = "Keep Shorts in Subscriptions";
"KeepSubsShortsDesc" = "Prevents removing Shorts from Subscriptions tab.";
"RemoveCommunityPosts" = "Remove community posts";
"RemoveCommunityPostsDesc" = "Removes community posts from the feed.";
"RemoveMixPlaylists" = "Remove mixes";
"RemoveMixPlaylistsDesc" = "Removes mix playlist generated by YouTube from the feed.";
"RemoveLiveVids" = "Remove Live videos";
"RemoveLiveVidsDesc" = "Removes Live videos from the Home tab.";
"RemoveHorizontalFeeds" = "Remove horizontal feeds";
"RemoveHorizontalFeedsDesc" = "Removes all horizontal feeds (News, Continue Watching, Posts collection, etc.) from the Home tab.";
"RemoveMoreTopics" = "Remove \"More topics\"";
"RemoveMoreTopicsDesc" = "Removes \"More topics\" from the feed.";
"FixAlbums" = "Fix covers";
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
/* Player options */
"Player" = "Player";
"PlaybackQualityOnWiFi" = "Playback quality on WiFi";
"PlaybackQualityOnCellular" = "Playback quality on Cellular";
"PreferredCaptions" = "Preferred captions";
"Original" = "Original";
"Custom" = "Select manually";
"CustomAudioTrack" = "Selected audio track";
"CustomCaptions" = "Selected captions";
"AutoGenCaps" = "Auto-generated captions";
"AutoGenCapsDesc" = "If the selected captions are not found, YouTube Plus will try to select either a translation of original captions or a translation of auto-generated captions.";
"Player.Interface" = "Interface";
"SpeedControls" = "Speed controls";
"SpeedControlsDesc" = "Shows speed control buttons on overlay.";
"HideAutoplay" = "Hide Autoplay switch"; "HideAutoplay" = "Hide Autoplay switch";
"HideAutoplayDesc" = "Hides Autoplay switch from the overlay."; "HideAutoplayDesc" = "Hides Autoplay switch from the overlay.";
"HideSubs" = "Hide Subtitles button"; "HideSubs" = "Hide Subtitles button";
"HideSubsDesc" = "Hides Subtitles button from the overlay."; "HideSubsDesc" = "Hides Subtitles button from the overlay.";
"NoHUDMsgs" = "Hide HUD Messages";
"NoHUDMsgsDesc" = "Hides all feature messages from the player. Example: CC is turned on/off, Video loop is on, etc.";
"HidePrevNext" = "Hide Previous and Next buttons"; "HidePrevNext" = "Hide Previous and Next buttons";
"HidePrevNextDesc" = "Hides Previous and Next video buttons from overlay."; "HidePrevNextDesc" = "Hides Previous and Next video buttons from overlay.";
"ReplacePrevNext" = "Fast forward and Rewind buttons"; "ReplacePrevNext" = "Fast forward and Rewind buttons";
"ReplacePrevNextDesc" = "Replaces Previous and Next video buttons to Fast forward and Rewind buttons in overlay."; "ReplacePrevNextDesc" = "Replaces Previous and Next video buttons to Fast forward and Rewind buttons in overlay.";
"RememberLoopMode" = "Remember loop mode";
"RememberLoopModeDesc" = "Remembers the last selected loop mode in the player menu.";
"FullscreenToTheLeft" = "Fullscreen on left rotation";
"FullscreenToTheLeftDesc" = "Fullscreen mode will rotate the device to the left orientation instead of the usual right.";
"PortraitFullscreen" = "Portrait fullscreen mode";
"PortraitFullscreenDesc" = "Enables portrait fullscreen mode support.";
"ClassicQuality" = "Classic video quality";
"ClassicQualityDesc" = "Brings back classic video quality selection menu.";
"ExtraSpeedOptions" = "Extra speed options";
"ExtraSpeedOptionsDesc" = "Adds more video playback speed options to the player menu.";
"NoDarkBg" = "Remove dark background"; "NoDarkBg" = "Remove dark background";
"NoDarkBgDesc" = "Removes overlay dark background."; "NoDarkBgDesc" = "Removes overlay dark background.";
"NoEndScreenCards" = "Hide End screens hover cards"; "NoEndScreenCards" = "Hide End screens hover cards";
"NoEndScreenCardsDesc" = "Hides End screens (thumbnails) at the end of videos."; "NoEndScreenCardsDesc" = "Hides End screens (thumbnails) at the end of videos.";
"NoAutonavEndScreenCards" = "Hide auto-play end screen";
"NoAutonavEndScreenCardsDesc" = "Hides the screen that shows what you can play next after playback ended. Disabling this option also disables auto-play.";
"NoFullscreenActions" = "Disable fullscreen actions"; "NoFullscreenActions" = "Disable fullscreen actions";
"NoFullscreenActionsDesc" = "Disables actions panel in fullscreen mode."; "NoFullscreenActionsDesc" = "Disables actions panel in fullscreen mode.";
"PersistentProgressBar" = "Persistent progress bar"; "PersistentProgressBar" = "Persistent progress bar";
"PersistentProgressBarDesc" = "Always shows progress bar in the player."; "PersistentProgressBarDesc" = "Always shows progress bar in the player.";
"RedProgressBar" = "Red progress bar";
"RedProgressBarDesc" = "Brings back red progress bar.";
"StockVolumeHUD" = "Stock volume HUD";
"StockVolumeHUDDesc" = "Displays system volume HUD in fullscreen.";
"NoRelatedVids" = "No related videos in overlay"; "NoRelatedVids" = "No related videos in overlay";
"NoRelatedVidsDesc" = "Removes related videos displayed in the overlay by swiping up."; "NoRelatedVidsDesc" = "Removes related videos displayed in the overlay by swiping up.";
"NoPromotionCards" = "Hide Paid Promotion cards"; "NoPromotionCards" = "Hide Paid Promotion cards";
"NoPromotionCardsDesc" = "Hides \"Includes Paid Promotions\" card in promotions included videos."; "NoPromotionCardsDesc" = "Hides \"Includes Paid Promotions\" card in promotions included videos.";
"NoWatermarks" = "Hide Watermarks"; "NoWatermarks" = "Hide Watermarks";
"NoWatermarksDesc" = "Hides channel watermarks from the player."; "NoWatermarksDesc" = "Hides channel watermarks from the player.";
"VideoEndTime" = "Show playback end time";
"VideoEndTimeDesc" = "Adds video playback end time to the player bar.";
"24hrFormat" = "24-hour format";
"24hrFormatDesc" = "Shows end time in 24-hour format.";
"Player" = "Player"; "Player.Actions" = "Actions";
"DefaultPlaybackRate" = "Default playback rate";
"BackgroundPlayback" = "Background playback";
"BackgroundPlaybackDesc" = "Enables background playback.";
"Miniplayer" = "Enable mini player"; "Miniplayer" = "Enable mini player";
"MiniplayerDesc" = "Enables the mini player for videos that were not originally designed for it, such as videos targeted for children."; "MiniplayerDesc" = "Enables the mini player for videos that were not originally designed for it, such as videos targeted for children.";
"PortraitFullscreen" = "Portrait fullscreen mode"; "DisableAutoplay" = "Disable autoplay videos";
"PortraitFullscreenDesc" = "Enables portrait fullscreen mode support.";
"CopyWithTimestamp" = "Copy timestamped links";
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
"DisableAutoplay" = "Disable Autoplay videos";
"DisableAutoplayDesc" = "Prevents video playback after opening."; "DisableAutoplayDesc" = "Prevents video playback after opening.";
"DisableAutoCaptions" = "Disable auto captions"; "DisableAutoCaptions" = "Disable auto captions";
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions."; "DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
"NoContentWarning" = "Skip content warning"; "NoContentWarning" = "Skip content warning";
"NoContentWarningDesc" = "Skips sensitive content warning message."; "NoContentWarningDesc" = "Skips sensitive content warning message.";
"ClassicQuality" = "Classic video quality";
"ClassicQualityDesc" = "Brings back classic video quality selection menu.";
"ExtraSpeedOptions" = "Extra speed options";
"ExtraSpeedOptionsDesc" = "Adds more video playback speed options to the player menu.";
"DontSnap2Chapter" = "Disable snap to chapter";
"DontSnap2ChapterDesc" = "Disables skipping to the next episode by double-tap gesture.";
"RedProgressBar" = "Red progress bar";
"RedProgressBarDesc" = "Brings back red progress bar.";
"NoHints" = "Disable hints"; "NoHints" = "Disable hints";
"NoHintsDesc" = "Disables hints by author which appears at the top-right corner during playback."; "NoHintsDesc" = "Disables hints by author which appears at the top-right corner during playback.";
"NoFreeZoom" = "Disable free zoom gesture";
"NoFreeZoomDesc" = "Disables new free zoom gestures.";
"AutoFullscreen" = "Play videos in fullscreen"; "AutoFullscreen" = "Play videos in fullscreen";
"AutoFullscreenDesc" = "Automatically plays videos in fullscreen mode."; "AutoFullscreenDesc" = "Automatically plays videos in fullscreen mode.";
"ExitFullscreen" = "Exit fullscreen mode on finish"; "ExitFullscreen" = "Exit fullscreen mode on finish";
"ExitFullscreenDesc" = "Exits fullscreen mode at the end of video playback."; "ExitFullscreenDesc" = "Exits fullscreen mode at the end of video playback.";
"Player.Gestures" = "Gestures";
"LeftSideGesture" = "Gesture for the left side";
"RightSideGesture" = "Gesture for the right side";
"ActivationAreaWidth" = "Gesture activation width";
"ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"HoldToSpeed" = "Hold to speed";
"AdjustWithFinger" = "Adjust speed by gestures";
"AdjustWithFingerDesc" = "Allows adjusting playback speed by long press on player and moving finger up and down.";
"PreserveSpeed" = "Preserve Speed";
"PreserveSpeedDesc" = "Preserves adjusted speed after gesture completion.";
"SeekAnywhere" = "Swipe to seek";
"SeekAnywhereDesc" = "Allows controlling playback seeking by swiping left and right.";
"SeekMethod" = "Seek method";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Independent" = "Independent";
"DurationBased" = "Duration-based";
"SeekSensitivity" = "Seek sensitivity";
"TwoFingerTapToPause" = "Pause using two fingers";
"TwoFingerTapToPauseDesc" = "Pause/Resume playback by tapping on the screen using two fingers.";
"TwoFingerPanToBrightness" = "Adjust brightness";
"TwoFingerPanToBrightnessDesc" = "Allows adjusting screen brightness by sliding up/down using two fingers.";
"CopyWithTimestamp" = "Copy timestamped links";
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
"PauseOnOverlay" = "Pause on overlay";
"PauseOnOverlayDesc" = "Sets playback on pause if overlay appears.";
"DontSnap2Chapter" = "Disable snap to chapter";
"DontSnap2ChapterDesc" = "Disables skipping to the next episode by double-tap gesture.";
"NoTwoFingerSnapToChapter" = "Disable two finger double tap";
"NoTwoFingerSnapToChapterDesc" = "Disables two finger double tap snap to chapter gesture.";
"NoFreeZoom" = "Disable free zoom gesture";
"NoFreeZoomDesc" = "Disables new free zoom gestures.";
"NoDoubleTap2Seek" = "Disable double tap to seek"; "NoDoubleTap2Seek" = "Disable double tap to seek";
"NoDoubleTap2SeekDesc" = "Disables double tap to seek gesture."; "NoDoubleTap2SeekDesc" = "Disables double tap to seek gesture.";
"Tabbar" = "Tab bar"; /* Shorts options */
"RemoveLabels" = "Remove labels";
"RemoveLabelsDesc" = "Removes tab labels.";
"RemoveIndicators" = "Remove indicators";
"RemoveIndicatorsDesc" = "Removes tab indicators.";
"ReExplore" = "Replace Shorts tab with Explore tab";
"ReExploreDesc" = "Shows Explore tab instead of Shorts tab as on old YouTube versions.";
"AddExplore" = "Add Explore tab";
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
"HideShortsTab" = "Hide Shorts tab";
"HideShortsTabDesc" = "Hides Shorts tab from the Tab bar.";
"HideSubscriptionsTab" = "Hide Subscriptions tab";
"HideSubscriptionsTabDesc" = "Hides Subscriptions tab from the Tab bar.";
"HideUploadButton" = "Hide Upload button";
"HideUploadButtonDesc" = "Hides Upload button from the Tab bar.";
"HideLibraryTab" = "Hide Library tab";
"HideLibraryTabDesc" = "Hides Library tab from the Tab bar.";
"Shorts" = "Shorts"; "Shorts" = "Shorts";
"ShortsOnlyMode" = "Shorts Only Mode"; "PlaybackMode" = "Playback completion action";
"Loop" = "Loop";
"ScrollToNext" = "Scroll to next";
"Stop" = "Stop";
"AutoSkipShorts" = "Auto-skip Shorts";
"ShortsOnlyMode" = "Shorts only mode";
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only."; "ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
"HideShorts" = "Hide Shorts videos"; "RestrictShorts" = "Limit Shorts";
"HideShortsDesc" = "Hides Shorts videos from Homepage, Recommended etc. (Not applied to Watch history)"; "RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"ShortsProgress" = "Enable progress bar"; "ShortsProgress" = "Enable progress bar";
"ShortsProgressDesc" = "Displays progress bar in the Shorts overlay."; "ShortsProgressDesc" = "Displays progress bar in the Shorts overlay.";
"SpeedByLongTap" = "Increase Shorts playback rate";
"SpeedByLongTapDesc" = "Allows to speed up playback by long pressing on a certain part of the screen.";
"SpeedLocation" = "Speed up activation location";
"PinchToFullscreenShorts" = "Pinch to Fullscreen"; "PinchToFullscreenShorts" = "Pinch to Fullscreen";
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode."; "PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
"ShortsToRegular" = "Shorts to regular videos"; "ShortsToRegular" = "Shorts to regular videos";
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos."; "ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
"ResumeShorts" = "Don't start from Shorts tab"; "RemoveShortsLive" = "Remove live videos";
"ResumeShortsDesc" = "Prevents starting from Shorts videos at the opening app, which happens if YouTube was closed while watching Shorts."; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"HideShortsLogo" = "Hide Shorts logo"; "HideShortsLogo" = "Hide Shorts logo";
"HideShortsLogoDesc" = "Hides Shorts logo in the top left corner."; "HideShortsLogoDesc" = "Hides Shorts logo in the top left corner.";
"HideShortsSearch" = "Hide Search button"; "HideShortsSearch" = "Hide Search button";
@@ -119,46 +224,34 @@
"HideShortsMoreDesc" = "Hides More (⋮) button from the Shorts overlay. It's also accessible by long-pressing the screen."; "HideShortsMoreDesc" = "Hides More (⋮) button from the Shorts overlay. It's also accessible by long-pressing the screen.";
"HideShortsSubscriptions" = "Hide Subscriptions button"; "HideShortsSubscriptions" = "Hide Subscriptions button";
"HideShortsSubscriptionsDesc" = "Hides Subscriptions button which appears when Shorts paused."; "HideShortsSubscriptionsDesc" = "Hides Subscriptions button which appears when Shorts paused.";
"HideShortsLike" = "Hide Like button";
"HideShortsLikeDesc" = "Hides Like button from the Shorts overlay.";
"HideShortsDislike" = "Hide Dislike button";
"HideShortsDislikeDesc" = "Hides Dislike button from the Shorts overlay.";
"HideShortsComments" = "Hide Comments button";
"HideShortsCommentsDesc" = "Hides Comments button from the Shorts overlay.";
"HideShortsRemix" = "Hide Remix button";
"HideShortsRemixDesc" = "Hides Remix button from the Shorts overlay.";
"HideShortsShare" = "Hide Share button";
"HideShortsShareDesc" = "Hides Share button from the Shorts overlay.";
"HideShortsAvatars" = "Hide channels avatar";
"HideShortsAvatarsDesc" = "Hides profile picture in the bottom right corner.";
"HideShortsThanks" = "Hide Superthanks button";
"HideShortsThanksDesc" = "Hides Superthanks (Donate) button from the Shorts overlay.";
"HideShortsSource" = "Hide Shorts Source";
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
"HideShortsChannelName" = "Hide Channel name";
"HideShortsChannelNameDesc" = "Hides Channel name and Subscribe button from the Shorts overlay.";
"HideShortsDescription" = "Hide Description";
"HideShortsDescriptionDesc" = "Hides Shorts description under channel name.";
"HideShortsAudioTrack" = "Hide AudioTrack";
"HideShortsAudioTrackDesc" = "Hides AudioTrack under Shorts description.";
"Other" = "Other"; /* Tab bar options */
"CopyVideoInfo" = "Copy video information"; "Tabbar" = "Tab bar";
"CopyVideoInfoDesc" = "Adds button to copy video title and description into Video Description panel."; "Startup" = "Startup page";
"PostManager" = "Save post information"; "FEwhat_to_watch" = "Home";
"PostManagerDesc" = "Allows to copy post text and save post as image by long tap."; "FEexplore" = "Explore";
"SavePostImage" = "Save image from community posts"; "FEshorts" = "Shorts";
"SavePostImageDesc" = "Saves community post image to the Photos app by long tap."; "FEsubscriptions" = "Subscriptions";
"SaveProfilePhoto" = "Save profile picture"; "FElibrary" = "Library";
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap."; "FEuploads" = "Create";
"CommentManager" = "Save comment information"; "FEhistory" = "History";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "VLWL" = "Watch Later";
"FixAlbums" = "Fix covers";
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia."; "RemoveLabels" = "Remove tab labels";
"RemovePlayNext" = "Remove \"Play next in queue\""; "RemoveIndicators" = "Remove tab indicators";
"RemovePlayNextDesc" = "Removes \"Play next in queue\" option from menu.";
"NoContinueWatching" = "Remove \"Continue watching\""; "ActiveTabs" = "Active tabs";
"NoContinueWatchingDesc" = "Removes the \"Continue watching\" section containing unfinished videos from the Home page."; "InactiveTabs" = "Inactive tabs";
"HideLibraryFooter" = "Library tab can be hidden or shown by long pressing the first tab of the tab bar.";
"Warning" = "Warning";
"TabIsHidden" = "Hidden tab cannot be selected as startup page";
"TabIsStartupTab" = "The tab selected as the startup page cannot be hidden";
"TabsCountRestricted" = "You can only have up to six active tabs";
/* Interface options */
"Interface" = "Interface";
"OledTheme" = "Oled theme";
"OledThemeDesc" = "Turns all dark colors to black";
"NoSearchHistory" = "Hide search history"; "NoSearchHistory" = "Hide search history";
"NoSearchHistoryDesc" = "Visually hides search history and suggestions. Note: Your search history will still be accessible in your other YouTube clients."; "NoSearchHistoryDesc" = "Visually hides search history and suggestions. Note: Your search history will still be accessible in your other YouTube clients.";
"NoRelatedWatchNexts" = "Hide all videos under player"; "NoRelatedWatchNexts" = "Hide all videos under player";
@@ -169,51 +262,246 @@
"HideSortCommentsDesc" = "Hides sort comments header (Top, Newest) so it will never appear."; "HideSortCommentsDesc" = "Hides sort comments header (Top, Newest) so it will never appear.";
"PlaylistOldMinibar" = "Old playlist minibar"; "PlaylistOldMinibar" = "Old playlist minibar";
"PlaylistOldMinibarDesc" = "Replaces the new floating playlist panel with the old one."; "PlaylistOldMinibarDesc" = "Replaces the new floating playlist panel with the old one.";
"OldYTUI" = "Old UI";
"OldYTUIDesc" = "Spoofs YouTube version so that it will return old interface";
"DisableRTL" = "Disable RTL formatting"; "DisableRTL" = "Disable RTL formatting";
"DisableRTLDesc" = "Forcefully displays text in left-to-right (LTR) format for languages that are initially displayed in right-to-left (RTL)."; "DisableRTLDesc" = "Forcefully displays text in left-to-right (LTR) format for languages that are initially displayed in right-to-left (RTL).";
"Startup" = "Startup page"; "StartupAnimation" = "Startup animation";
"Home" = "Home"; "StartupAnimationDesc" = "Displays YouTube startup loading animation.";
"Explore" = "Explore";
"ShortsTab" = "Shorts";
"Subscriptions" = "Subscriptions";
"Library" = "Library";
"Warning" = "Warning";
"TabIsHidden" = "Hidden tab cannot be selected as startup page";
"DonateViaPayPal" = "Donate via PayPal"; "InterfaceStyle" = "Interface style";
"SupportViaGhSponsors" = "Support development via Github Sponsors";
"Version" = "Version"; "MiniplayerStyle" = "Miniplayer style";
"About" = "About"; "MiniplayerStyleDesc" = "Switching to/from floating mode requires restarting the app.";
"Floating" = "Floating";
"ContextMenu" = "Context menu";
"NativeShare" = "Native share sheet";
"NativeShareDesc" = "Uses system share sheet to share media";
"RemoveInlineComment" = "Remove inline comment";
"RemoveInlineCommentDesc" = "Removes comment section under the player.";
"RemoveCommentGuidelines" = "Remove guidelines";
"RemoveCommentGuidelinesDesc" = "Removes pinned guidelines from the comments section.";
"RemovePlayNext" = "Remove \"Play next in queue\"";
"RemovePlayNextDesc" = "Removes \"Play next in queue\" option from menu.";
"RemoveDownloadMenu" = "Remove \"Download\"";
"RemoveDownloadMenuDesc" = "Removes \"Download\" option from menu.";
"RemoveWatchLaterMenu" = "Remove \"Save to Watch Later\"";
"RemoveWatchLaterMenuDesc" = "Removes \"Save to Watch Later\" option from menu.";
"RemoveSaveToPlaylistMenu" = "Remove \"Save to playlist\"";
"RemoveSaveToPlaylistMenuDesc" = "Removes \"Save to playlist\" option from menu.";
"RemoveShareMenu" = "Remove \"Share\"";
"RemoveShareMenuDesc" = "Removes \"Share\" option from menu.";
"RemoveNotInterestedMenu" = "Remove \"Not interested\"";
"RemoveNotInterestedMenuDesc" = "Removes \"Not interested\" option from menu.";
"RemoveDontRecommendMenu" = "Remove \"Don't recommend channel\"";
"RemoveDontRecommendMenuDesc" = "Removes \"Don't recommend channel\" option from menu.";
"RemoveReportMenu" = "Remove \"Report\"";
"RemoveReportMenuDesc" = "Removes \"Report\" option from menu.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Enable";
"EnableSponsorBlockDesc" = "Activates the SponsorBlock extension.";
"SegmentsInFeedPlayer" = "Display segments in the feed";
"SegmentsInFeedPlayerDesc" = "Displays colored segments on the progress bar of players in the feed.";
"SegmentsInMiniPlayer" = "Display segments on the mini-player";
"SegmentsInMiniPlayerDesc" = "Displays colored segments on the progress bar of the mini-player.";
"SegmentSkipAudio" = "Audio notification";
"SegmentSkipAudioDesc" = "Plays an audio notification when skipping a segment.";
"DurationWithoutSegments" = "Display new duration";
"DurationWithoutSegmentsDesc" = "Displays total duration without segments.";
"SkipAlertDuration" = "Skip Alert Duration";
"UnskipAlertDuration" = "Unskip Alert Duration";
"Segments" = "Segments";
"Sponsor" = "Sponsor";
"SponsorDesc" = "Part of a video promoting a product or service not directly related to the creator. The creator will receive payment or compensation in the form of money or free products";
"SponsorColor" = "Sponsor segment color";
"Intro" = "Intermission/Intro animation";
"IntroDesc" = "Segments typically found at the start of a video that include an animation, still frame or clip which are also seen in other videos by the same creator.";
"IntroColor" = "Intro segment color";
"Endcards" = "Endcards/Credits";
"EndcardsDesc" = "Typically near or at the end of the video when the credits pop up and/or endcards are shown.";
"EndcardsColor" = "Endcards segment color";
"Interaction" = "Interaction reminders";
"InteractionDesc" = "Explicit reminders to like, subscribe or interact with them on any paid or free platform(s) (e.g. click on a video)";
"InteractionColor" = "Interaction segment color";
"SelfPromo" = "Unpaid/Self promotion";
"SelfPromoDesc" = "Self-promo: Promoting a product or service that is directly related to the creator themselves.\nUnpaid:The creator will not receive any payment in exchange for this promotion";
"SelfPromoColor" = "Self-promo segment color";
"MusicOfftopic" = "Music: Non-music section";
"MusicOfftopicDesc" = "Only to be used on videos which feature music as the primary content.";
"MusicOfftopicColor" = "Non-music segment color";
"Preview" = "Preview";
"PreviewDesc" = "Collection of clips that show what is coming up in in this video or other videos in a series where all information is repeated later in the video.";
"PreviewColor" = "Preview segment color";
"Highlight" = "Highlight";
"HighlightDesc" = "Used to get to the point or highlight of a video.";
"HighlightColor" = "Highlight segment color";
"Jokes" = "Filler Tangent/Jokes";
"JokesDesc" = "Filler Tangent/Jokes is only for tangential scenes added only for filler or humor that are not required to understand the main content of the video.";
"JokesColor" = "Jokes segment color";
"Sb.Disable" = "Disable";
"Sb.Skip" = "Auto-skip";
"Sb.SkipTo" = "Skip to segment";
"Sb.Ask" = "Ask";
"Sb.Display" = "Display in player";
"sb_sponsor" = "Sponsor segment";
"sb_intro" = "Intro segment";
"sb_outro" = "Endcards segment";
"sb_interaction" = "Interaction segment";
"sb_selfpromo" = "Self-promo segment";
"sb_music_offtopic" = "Offtopic segment";
"sb_preview" = "Preview segment";
"sb_poi_highlight" = "Highlight segment";
"sb_filler" = "Filler segment";
"SegmentDetected" = "%@ detected";
"SegmentSkipped" = "%@ has been skipped";
"SkippedToSegment" = "Skipped to the %@";
"SkipSegment" = "Skip";
"SkipToSegment" = "To highlight";
"Unskip" = "Unskip";
/* Developer section */
"Developer" = "Developer";
"FollowMe" = "Follow me on X";
"SupportDevelopment" = "Support development";
"DonateDesc" = "Your support means a lot to me";
"SupportDevelopmentDesc" = "If you like YTPlus and would like to support its development, you can do it using any of convenient ways below.\nThanks❤";
"VisitGithub" = "Github Repository";
"VisitGithubDesc" = "Star the repo, request a feature or report issues";
"VisitTelegram" = "My Telegram Channel";
"VisitTelegramDesc" = "Stay informed about the latest app updates";
/* Credits section */
"Credits" = "Credits"; "Credits" = "Credits";
"Developer" = "YTLite developer";
"Contributors" = "Contributors";
"DevContribution" = "Contribution to development";
"SpecialThanks" = "Special thanks";
"SpecialThanks.Test" = "Invaluable contribution to tweak testing";
"Localizations" = "Localization authors";
"ChineseSimplified" = "Chinese (Simplified) localization"; "ChineseSimplified" = "Chinese (Simplified) localization";
"ChineseTraditional" = "Chinese (Traditional) localization"; "ChineseTraditional" = "Chinese (Traditional) localization";
"French" = "French localization"; "French" = "French localization";
"Spanish" = "Spanish localization"; "Spanish" = "Spanish localization";
"Japanese" = "Japanese localization"; "Japanese" = "Japanese localization";
"Vietnamese" = "Vietnamese localization"; "Vietnamese" = "Vietnamese localization";
"Advanced" = "Advanced mode"; "Arabic" = "Arabic localization";
"AdvancedModeReminder" = "Would you like to activate Advanced mode for YTLite?\n\nThis mode provides more than 50 additional options to customize and optimize your YouTube experience. You can enable/disable it later from Settings → %@ → %@ → %@."; "Turkish" = "Turkish localization";
"OpenSourceLibs" = "Open Source Libraries";
"Preferences" = "%@ preferences";
"ManagePreferences" = "Preferences management";
"ImportPreferences" = "Import preferences";
"PreImportMessage" = "This action will replace the current preferences with those from the selected file.\n\nAre you sure you want to continue?";
"ExportPreferences" = "Export preferences";
"ResetSettings" = "Restore default settings";
"ResetMessage" = "This action will reset YTPlus settings to default and close YouTube.\n\nAre you sure you want to continue?";
"ManageCache" = "Cache management";
"ClearCacheAtStart" = "Clear cache on startup";
"ClearCacheAtStartDesc" = "Automatically clears the cache on startup.";
"ClearCache" = "Clear cache"; "ClearCache" = "Clear cache";
"ResetSettings" = "Reset YTLite settings";
"ResetMessage" = "This option will reset YTLite settings to default and close YouTube.\n\nAre you sure you want to continue?"; "NoDonationReminder" = "Disable donation reminder";
"NoDonationReminderDesc" = "Turns off the rarely shown donation reminder.";
"ShortsOnlyWarning" = "Are you sure you want to activate this mode?\n\nIn this mode, you will only be able to watch Shorts videos and won't be able to do anything else.\n\nYou can disable Shorts Only Mode by long pressing with two fingers in the Shorts player."; "ShortsOnlyWarning" = "Are you sure you want to activate this mode?\n\nIn this mode, you will only be able to watch Shorts videos and won't be able to do anything else.\n\nYou can disable Shorts Only Mode by long pressing with two fingers in the Shorts player.";
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off"; "ShortsModeTurnedOff" = "Shorts Only Mode has been turned off";
"AddLibraryTab" = "Restore \"You\" tab";
"RemoveLibraryTab" = "Remove \"You\" tab";
"LibraryAdded" = "The \"You\" tab has been restored";
"LibraryRemoved" = "The \"You\" tab has been removed";
"Yes" = "Yes"; "Yes" = "Yes";
"No" = "No"; "No" = "No";
"Select" = "Select";
"Default" = "Default";
"Best" = "Best";
"Show" = "Show";
"Disable" = "Disable";
"Disabled" = "Disabled";
"PlaybackSpeed" = "Playback Speed";
"SpeedPreserved" = "Speed preserved";
"ResetSpeed" = "Reset";
"Toast.Brightness" = "Brightness";
"Toast.PlaybackSpeed" = "Playback Speed";
"Toast.Volume" = "Volume";
"SelectAction" = "Select action"; "SelectAction" = "Select action";
"DownloadVideo" = "Download video";
"DownloadAudio" = "Download audio";
"SaveImage" = "Save image";
"CopyInformation" = "Copy information";
"CopyChannelName" = "Copy channel name";
"CopyTitle" = "Copy title"; "CopyTitle" = "Copy title";
"CopyDescription" = "Copy description"; "CopyDescription" = "Copy description";
"CopyTimestampedLink" = "Copy link with timestamp";
"CopyTranscript" = "Copy transcript";
"PlayInExternalPlayer" = "Play in external player";
"PlayInSystemPlayer" = "Play in system player";
"PlayInInfuse" = "Play in Infuse";
"PlayInVLC" = "Play in VLC";
"PlayerNotFound" = "Player not found";
"OpenAsRegularVideo" = "Open as regular video";
"CopyPostText" = "Copy post text"; "CopyPostText" = "Copy post text";
"SaveCurrentImage" = "Save current image";
"CopyCurrentImage" = "Copy current image";
"SavePostAsImage" = "Save post as image"; "SavePostAsImage" = "Save post as image";
"CopyPostAsImage" = "Copy post as image"; "CopyPostAsImage" = "Copy post as image";
"CopyCommentText" = "Copy comment text"; "CopyCommentText" = "Copy comment text";
"SaveCommentAsImage" = "Save comment as image"; "SaveCommentAsImage" = "Save comment as image";
"CopyCommentAsImage" = "Copy comment as image"; "CopyCommentAsImage" = "Copy comment as image";
"SaveProfilePicture" = "Save profile picture";
"CopyProfilePicture" = "Copy profile picture";
"DownloadThumbnail" = "Save thumbnail";
"CopyThumbnail" = "Copy thumbnail";
"Cancel" = "Cancel"; "Cancel" = "Cancel";
"Cancelled" = "Cancelled";
"Copied" = "Copied to clipboard"; "Copied" = "Copied to clipboard";
"Saved" = "Saved to Photos"; "Saved" = "Saved to Photos";
"Done" = "Done"; "Done" = "Done";
"Error" = "Error"; "NothingToShowInMenu" = "Nothing to show in this context menu";
"Error" = "Error";
"Error.Clipboard" = "Error. Check clipboard for more info";
"Error.PathIssue" = "Error. Problem with generating final path. Issue with media title?";
"Error.TryLater" = "The media is live or processing on Google's server is expected to complete.\n\nPlease try again later.";
"Error.NoSpace" = "Insufficient space on the device.\n\nAt least %@ additional free space is required. Available free space: %@";
"Error.Multidownloading" = "Multi-downloading not available yet.";
"Error.FailedToImport" = "Failed to import preferences";
"DownloadingVideo" = "Downloading video";
"DownloadingAudio" = "Downloading audio";
"ParsingCaptions" = "Parsing captions";
"ParsingTranscript" = "Parsing the transcript";
"Converting" = "Converting";
"RetryLogin" = "Workaround activated.\n\nPlease try again.";
"LoginInfo" = "App restart required after successful signing into Google account";
"Welcome.Download" = "Download Media";
"Welcome.DownloadDesc" = "Download your favorite content, whether it's Videos, Shorts, Audio, or Profile photos. Copy interesting posts and comments or save them as images";
"Welcome.Content" = "Adjust Interface";
"Welcome.ContentDesc" = "Remove unwanted content and interface elements. Enable true OLED dark mode";
"Welcome.Player" = "Setup Player Behavior";
"Welcome.PlayerDesc" = "Сustomize the player's behavior, auto-select quality and playback speed. Control using gestures";
"Welcome.More" = "And even more...";
"Welcome.MoreDesc" = "YouTube Plus includes over 50 different options, including features like saving preferences and clearing cache. Settings are available in the YouTube Plus section under YouTube settings";
"SupportMe" = "Support me";
"Continue" = "Continue";
"Conflicts.Detected" = "Incompatible Tweaks Detected";
"Conflicts.DetectedDesc" = "Despite the apparent stability of the app, the developer of YouTube Plus does not recommend combining tweaks with similar functionality in the same app and cannot guarantee safe usage.\n\nBy continuing to use the app, you take full responsibility and agree that any complaints about performance will be ignored.";
"Conflicts.AcceptRisks" = "I Accept All Risks";
"Conflicts.CloseYT" = "Close YouTube";
"DonationReminder" = "Your support helps to make YouTube Plus even better.\n\nYou can contribute or choose to disable these notifications in the YouTube Plus settings. Thank you💜";
@@ -1,219 +1,507 @@
"General" = "General"; /* Main section */
"RemoveAds" = "Eliminar anuncios"; "Main" = "Main";
"RemoveAdsDesc" = "Elimina los anuncios dentro de la aplicación.";
"BackgroundPlayback" = "Reproducción en segundo plano"; /* Downloading options */
"BackgroundPlaybackDesc" = "Permite la reproducción en segundo plano."; "Downloading" = "Descargar";
"DownloadManager" = "Gestor de descargas";
"Navbar" = "Barra de navegación"; "DownloadManagerDesc" = "Sustituye la acción del botón 'Descargar' bajo el reproductor por un Gestor de Descargas, que permite descargar Vídeo, Audio, Imagen en Miniatura y Copiar Información de Vídeo.";
"RemoveCast" = "Ocultar botón de Cast"; "PostManager" = "Guardar información de post";
"RemoveCastDesc" = "Oculta el botón de Cast de la barra de navegación."; "PostManagerDesc" = "Permite copiar el texto de un post y guardarlo como imagen con un toque prolongado.";
"RemoveNotifications" = "Ocultar botón de Notificaciones"; "SaveProfilePhoto" = "Guardar foto de perfil";
"RemoveNotificationsDesc" = "Oculta el botón de Notificaciones de la barra de navegación."; "SaveProfilePhotoDesc" = "Guarda la imagen de perfil en la aplicación Fotos con un toque prolongado";
"RemoveSearch" = "Ocultar botón de Búsqueda"; "CommentManager" = "Guardar información de comentarios";
"RemoveSearchDesc" = "Oculta el botón de Búsqueda de la barra de navegación."; "CommentManagerDesc" = "Permite copiar el texto del comentario y guardarlo como imagen pulsando prolongadamente.";
"RemoveVoiceSearch" = "Ocultar botón de Búsqueda por voz";
"RemoveVoiceSearchDesc" = "Oculta el botón de Búsqueda por voz de la barra de navegación."; "YtlButtonPosition" = "Downloading button placement";
"StickyNavbar" = "Barra de navegación fija"; "UnderPlayer" = "Under the player";
"StickyNavbarDesc" = "Mantiene fija la barra de navegación para que permanezca visible al desplazarse hacia abajo."; "Overlay" = "Overlay";
"NoSubbar" = "Ocultar subbarra"; "Both" = "Both";
"NoSubbarDesc" = "Oculta la subbarra (Todo, Novedades para ti, En directo, etc.) debajo de la barra de navegación.";
"NoYTLogo" = "Eliminar el logo de YouTube"; "PostDownloadAction" = "Post-download action";
"NoYTLogoDesc" = "Elimina el logo de YouTube de la barra de navegación."; "PostDownloadDesc" = "The selected action will be performed upon successful completion of the video download.";
"SaveToPhotos" = "Save to photos";
"Overlay" = "Superposición"; "Share" = "Share";
"HideAutoplay" = "Ocultar interruptor de reproducción automática"; "Ask" = "Ask";
"HideAutoplayDesc" = "Oculta el interruptor de reproducción automática de la superposición."; "DownloadCompleted" = "Download completed";
"HideSubs" = "Ocultar botón de subtítulos";
"HideSubsDesc" = "Oculta el botón de subtítulos de la superposición."; "PreferredAudio" = "Preferred audio track";
"NoHUDMsgs" = "Ocultar mensajes de HUD"; "Selected" = "Selected";
"NoHUDMsgsDesc" = "Oculta todos los mensajes de funciones del reproductor. Ejemplo: CC está activado/desactivado, Repetir video está activado, etc."; "English" = "English";
"HidePrevNext" = "Ocultar botones Anterior y Siguiente"; "SelectAudioTrack" = "Select audio track";
"HidePrevNextDesc" = "Oculta los botones de video Anterior y Siguiente de la superposición."; "EnglishNotFound" = "English audio track not found";
"ReplacePrevNext" = "Botones de Avance rápido y Rebobinado";
"ReplacePrevNextDesc" = "Reemplaza los botones de video Anterior y Siguiente por botones de Avance rápido y Rebobinado en la superposición."; "Captions" = "Captions/Subtitles";
"NoDarkBg" = "Eliminar fondo oscuro"; "EmbedCapsToVideos" = "Embed captions";
"NoDarkBgDesc" = "Elimina el fondo oscuro de la superposición."; "EmbedCapsToVideosDesc" = "Embeds selected captions/subtitles into videos.";
"NoEndScreenCards" = "Ocultar tarjetas emergentes de fin de pantalla"; "EmbedAutoGenCaps" = "Auto-generated/translated captions";
"NoEndScreenCardsDesc" = "Oculta las tarjetas emergentes de fin de pantalla (miniaturas) al final de los vídeos."; "EmbedAutoGenCapsDesc" = "Adds auto-generated, translated, and auto-translated captions to the captions/subtitles list.";
"NoFullscreenActions" = "Desactivar acciones en pantalla completa"; "DownloadCaptions" = "Download captions";
"NoFullscreenActionsDesc" = "Desactiva el panel de acciones en el modo de pantalla completa."; "SelectCaption" = "Select captions/subtitles";
"PersistentProgressBar" = "Barra de progreso persistente"; "Translated" = "translated";
"PersistentProgressBarDesc" = "Muestra siempre la barra de progreso en el reproductor."; "TranslatedAutoGen" = "auto-translated";
"NoRelatedVids" = "Sin vídeos relacionados en la superposición";
"NoRelatedVidsDesc" = "Elimina los vídeos relacionados que se muestran en la superposición al deslizar hacia arriba."; /* Nav bar options */
"NoPromotionCards" = "Ocultar tarjetas de promoción pagada"; "Navbar" = "Barra de navegación";
"NoPromotionCardsDesc" = "Oculta la tarjeta \"Incluye promociones pagadas\" en los vídeos que incluyen promociones pagadas."; "RemoveCast" = "Ocultar botón Emitir";
"NoWatermarks" = "Ocultar marcas de agua"; "RemoveCastDesc" = "Oculta el botón Emitir de la barra de navegación.";
"NoWatermarksDesc" = "Oculta las marcas de agua del canal del reproductor."; "RemoveNotifications" = "Ocultar botón de Notificaciones";
"RemoveNotificationsDesc" = "Oculta el botón de Notificaciones de la barra de navegación.";
"Player" = "Reproductor"; "RemoveSearch" = "Ocultar botón de Búsqueda";
"Miniplayer" = "Activar mini reproductor"; "RemoveSearchDesc" = "Oculta el botón de Búsqueda de la barra de navegación.";
"MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños."; "RemoveVoiceSearch" = "Ocultar botón de Búsqueda por voz";
"PortraitFullscreen" = "Modo de pantalla completa vertical"; "RemoveVoiceSearchDesc" = "Oculta el botón de Búsqueda por voz de la barra de navegación.";
"PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical."; "StickyNavbar" = "Barra de navegación fija";
"CopyWithTimestamp" = "Copiar enlaces con marca de tiempo"; "StickyNavbarDesc" = "Mantiene fija la barra de navegación para que permanezca visible al desplazarse hacia abajo.";
"CopyWithTimestampDesc" = "Permite copiar el enlace con marca de tiempo en el portapapeles pulsando el botón de pausa."; "NoSubbar" = "Ocultar subbarra";
"DisableAutoplay" = "Desactivar reproducción automática"; "NoSubbarDesc" = "Oculta la subbarra (Todo, Novedades para ti, En directo, etc.) debajo de la barra de navegación.";
"DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos."; "NoYTLogo" = "Eliminar el logo de YouTube";
"DisableAutoCaptions" = "Desactivar subtítulos automáticos"; "NoYTLogoDesc" = "Elimina el logo de YouTube de la barra de navegación.";
"DisableAutoCaptionsDesc" = "Evita la activación automática de subtítulos."; "PremiumYTLogo" = "Establece el logotipo Premium de YouTube";
"NoContentWarning" = "Omitir advertencia de contenido"; "PremiumYTLogoDesc" = "Establece el logotipo de YouTube Premium en la barra de navegación.";
"NoContentWarningDesc" = "Omite el mensaje de advertencia de contenido sensible.";
"ClassicQuality" = "Calidad de vídeo clásica"; /* Feed options */
"ClassicQualityDesc" = "Devuelve el menú clásico de selección de calidad de vídeo."; "Feed" = "Feed";
"ExtraSpeedOptions" = "Opciones adicionales de velocidad"; "RemoveAds" = "Eliminar anuncios";
"ExtraSpeedOptionsDesc" = "Agrega más opciones de velocidad de reproducción de vídeo al menú del reproductor."; "RemoveAdsDesc" = "Elimina los anuncios dentro de la aplicación.";
"DontSnap2Chapter" = "Desactivar saltar al siguiente capítulo"; "HideShorts" = "Ocultar vídeos Shorts";
"DontSnap2ChapterDesc" = "Desactiva el salto al siguiente episodio mediante el gesto de doble toque."; "HideShortsDesc" = "Oculta los vídeos Shorts de la página de inicio, Recomendados, etc. (No se aplica al historial de reproducciones)";
"RedProgressBar" = "Barra de progreso roja"; "KeepSubsShorts" = "Mantiene los Shorts en las suscripciones";
"RedProgressBarDesc" = "Devuelve la barra de progreso roja."; "KeepSubsShortsDesc" = "Evita eliminar los Shorts de la pestaña Suscripciones";
"NoHints" = "Desactivar sugerencias"; "RemoveCommunityPosts" = "Elimina los mensajes de la comunidad";
"NoHintsDesc" = "Desactiva las sugerencias del autor que aparecen en la esquina superior derecha durante la reproducción."; "RemoveCommunityPostsDesc" = "Elimina los posts de la comunidad del feed";
"NoFreeZoom" = "Desactivar gesto de zoom libre"; "RemoveMixPlaylists" = "Remove mixes";
"NoFreeZoomDesc" = "Desactiva los nuevos gestos de zoom libre."; "RemoveMixPlaylistsDesc" = "Removes mix playlist generated by YouTube from the feed.";
"AutoFullscreen" = "Reproducir vídeos en pantalla completa"; "RemoveLiveVids" = "Remove Live streams";
"AutoFullscreenDesc" = "Reproduce automáticamente los vídeos en modo de pantalla completa."; "RemoveLiveVidsDesc" = "Removes Live streams from the Home tab.";
"ExitFullscreen" = "Salir del modo de pantalla completa al finalizar"; "RemoveHorizontalFeeds" = "Remove horizontal feeds";
"ExitFullscreenDesc" = "Sale del modo de pantalla completa al finalizar la reproducción del vídeo."; "RemoveHorizontalFeedsDesc" = "Removes all horizontal feeds (News, Continue Watching, Posts collection, etc.) from the Home tab.";
"NoDoubleTap2Seek" = "Desactivar doble toque para buscar"; "RemoveMoreTopics" = "Eliminar \"Más temas\"";
"NoDoubleTap2SeekDesc" = "Desactiva el gesto de doble toque para buscar."; "RemoveMoreTopicsDesc" = "Eliminar \"Más temas\" del feed";
"FixAlbums" = "Arreglar portadas";
"Tabbar" = "Barra de pestañas"; "FixAlbumsDesc" = "Corrige la visualización de portadas para usuarios de Rusia";
"RemoveLabels" = "Eliminar etiquetas";
"RemoveLabelsDesc" = "Elimina las etiquetas de las pestañas."; /* Player options */
"RemoveIndicators" = "Eliminar indicadores"; "Player" = "Reproductor";
"RemoveIndicatorsDesc" = "Elimina los indicadores de pestaña."; "PlaybackQualityOnWiFi" = "Calidad de reproducción en WiFi";
"ReExplore" = "Reemplazar pestaña Shorts con pestaña Explorar"; "PlaybackQualityOnCellular" = "Calidad de reproducción en red móvil";
"ReExploreDesc" = "Muestra la pestaña Explorar en lugar de la pestaña Shorts como en versiones antiguas de YouTube.";
"AddExplore" = "Añadir pestaña Explorar"; "PreferredCaptions" = "Preferred captions";
"AddExploreDesc" = "Añade la pestaña Explorar a la barra de pestañas."; "Original" = "Original";
"HideShortsTab" = "Ocultar pestaña Shorts"; "Custom" = "Select manually";
"HideShortsTabDesc" = "Oculta la pestaña Shorts de la barra de pestañas."; "CustomAudioTrack" = "Selected audio track";
"HideSubscriptionsTab" = "Ocultar pestaña Suscripciones"; "CustomCaptions" = "Selected captions";
"HideSubscriptionsTabDesc" = "Oculta la pestaña Suscripciones de la barra de pestañas."; "AutoGenCaps" = "Auto-generated captions";
"HideUploadButton" = "Ocultar botón Subir"; "AutoGenCapsDesc" = "If the selected captions are not found, YouTube Plus will try to select either a translation of original captions or a translation of auto-generated captions.";
"HideUploadButtonDesc" = "Oculta el botón Subir de la barra de pestañas.";
"HideLibraryTab" = "Ocultar pestaña Biblioteca"; "Player.Interface" = "Interfaz";
"HideLibraryTabDesc" = "Oculta la pestaña Biblioteca de la barra de pestañas."; "SpeedControls" = "Controles de velocidad";
"SpeedControlsDesc" = "Muestra los botones de control de velocidad en la superposición";
"Shorts" = "Shorts"; "HideAutoplay" = "Ocultar interruptor de reproducción automática";
"ShortsOnlyMode" = "Modo sólo Shorts"; "HideAutoplayDesc" = "Oculta el interruptor de reproducción automática de la superposición.";
"ShortsOnlyModeDesc" = "Limita la funcionalidad de YouTube únicamente a la visualización de Shorts."; "HideSubs" = "Ocultar botón de subtítulos";
"HideShorts" = "Ocultar vídeos Shorts"; "HideSubsDesc" = "Oculta el botón de subtítulos de la superposición.";
"HideShortsDesc" = "Oculta los vídeos Shorts de la página de inicio, Recomendados, etc. (No se aplica al historial de reproducciones)"; "HidePrevNext" = "Ocultar botones Anterior y Siguiente";
"ShortsProgress" = "Activar barra de progreso"; "HidePrevNextDesc" = "Oculta los botones de video Anterior y Siguiente de la superposición.";
"ShortsProgressDesc" = "Muestra una barra de progreso en la superposición de Shorts."; "ReplacePrevNext" = "Botones de Avance rápido y Rebobinado";
"PinchToFullscreenShorts" = "Pellizcar para pantalla completa"; "ReplacePrevNextDesc" = "Reemplaza los botones de video Anterior y Siguiente por botones de Avance rápido y Rebobinado en la superposición.";
"PinchToFullscreenShortsDesc" = "Gestiona la visibilidad de la superposición con gestos de pellizcar para acercar y pellizcar para alejar, mostrando Shorts en modo de pantalla completa."; "RememberLoopMode" = "Remember loop mode";
"ShortsToRegular" = "De Shorts a vídeos normales"; "RememberLoopModeDesc" = "Remembers the last selected loop mode in the player menu.";
"ShortsToRegularDesc" = "Abre los Shorts como vídeos normales."; "FullscreenToTheLeft" = "Fullscreen on left rotation";
"ResumeShorts" = "No empezar desde la pestaña Shorts"; "FullscreenToTheLeftDesc" = "Fullscreen mode will rotate the device to the left orientation instead of the usual right.";
"ResumeShortsDesc" = "Evita empezar desde los vídeos Shorts al abrir la aplicación, lo cual ocurre si YouTube se cerró mientras se veían Shorts."; "PortraitFullscreen" = "Modo de pantalla completa vertical";
"HideShortsLogo" = "Ocultar el logo de Shorts"; "PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical.";
"HideShortsLogoDesc" = "Oculta el logo de Shorts en la esquina superior izquierda."; "ClassicQuality" = "Calidad de vídeo clásica";
"HideShortsSearch" = "Ocultar botón de búsqueda"; "ClassicQualityDesc" = "Devuelve el menú clásico de selección de calidad de vídeo.";
"HideShortsSearchDesc" = "Oculta el botón de búsqueda en la superposición de Shorts."; "ExtraSpeedOptions" = "Opciones adicionales de velocidad";
"HideShortsCamera" = "Ocultar botón de cámara"; "ExtraSpeedOptionsDesc" = "Agrega más opciones de velocidad de reproducción de vídeo al menú del reproductor.";
"HideShortsCameraDesc" = "Oculta el botón de cámara en la superposición de Shorts."; "NoDarkBg" = "Eliminar fondo oscuro";
"HideShortsMore" = "Ocultar botón Más (⋮)"; "NoDarkBgDesc" = "Elimina el fondo oscuro de la superposición.";
"HideShortsMoreDesc" = "Oculta el botón Más (⋮) en la superposición de Shorts. También se puede acceder manteniendo presionada la pantalla."; "NoEndScreenCards" = "Ocultar tarjetas emergentes de fin de pantalla";
"HideShortsSubscriptions" = "Ocultar botón de Suscripciones"; "NoEndScreenCardsDesc" = "Oculta las tarjetas emergentes de fin de pantalla (miniaturas) al final de los vídeos.";
"HideShortsSubscriptionsDesc" = "Oculta el botón de Suscripciones que aparece cuando se pausa un vídeo Shorts."; "NoAutonavEndScreenCards" = "Ocultar pantalla final de reproducción automática";
"HideShortsLike" = "Ocultar botón de Me gusta"; "NoAutonavEndScreenCardsDesc" = "Oculta la pantalla que muestra lo que se puede reproducir a continuación una vez finalizada la reproducción. Al desactivar esta opción también se desactiva la reproducción automática.";
"HideShortsLikeDesc" = "Oculta el botón de Me gusta en la superposición de Shorts."; "NoFullscreenActions" = "Desactivar acciones en pantalla completa";
"HideShortsDislike" = "Ocultar botón de No me gusta"; "NoFullscreenActionsDesc" = "Desactiva el panel de acciones en el modo de pantalla completa.";
"HideShortsDislikeDesc" = "Oculta el botón de No me gusta en la superposición de Shorts."; "PersistentProgressBar" = "Barra de progreso persistente";
"HideShortsComments" = "Ocultar botón de Comentarios"; "PersistentProgressBarDesc" = "Muestra siempre la barra de progreso en el reproductor.";
"HideShortsCommentsDesc" = "Oculta el botón de Comentarios en la superposición de Shorts."; "RedProgressBar" = "Barra de progreso roja";
"HideShortsRemix" = "Ocultar botón de Remixer"; "RedProgressBarDesc" = "Devuelve la barra de progreso roja.";
"HideShortsRemixDesc" = "Oculta el botón de Remixer en la superposición de Shorts."; "StockVolumeHUD" = "HUD de volumen del sistema";
"HideShortsShare" = "Ocultar botón de Compartir"; "StockVolumeHUDDesc" = "Muestra el HUD de volumen del sistema a pantalla completa.";
"HideShortsShareDesc" = "Oculta el botón de Compartir en la superposición de Shorts."; "NoRelatedVids" = "Sin vídeos relacionados en la superposición";
"HideShortsAvatars" = "Ocultar avatar de los canales"; "NoRelatedVidsDesc" = "Elimina los vídeos relacionados que se muestran en la superposición al deslizar hacia arriba.";
"HideShortsAvatarsDesc" = "Oculta la imagen de perfil en la esquina inferior derecha."; "NoPromotionCards" = "Ocultar tarjetas de promoción pagada";
"HideShortsThanks" = "Ocultar botón de Supergracias"; "NoPromotionCardsDesc" = "Oculta la tarjeta \"Incluye promociones pagadas\" en los vídeos que incluyen promociones pagadas.";
"HideShortsThanksDesc" = "Oculta el botón de Supergracias (Donar) en la superposición de Shorts."; "NoWatermarks" = "Ocultar marcas de agua";
"HideShortsSource" = "Ocultar fuente de Shorts"; "NoWatermarksDesc" = "Oculta las marcas de agua del canal del reproductor.";
"HideShortsSourceDesc" = "Oculta las fuentes Shorts bajo el nombre del canal."; "VideoEndTime" = "Muestra la hora de finalización de la reproducción";
"HideShortsChannelName" = "Ocultar nombre del canal"; "VideoEndTimeDesc" = "Añade la hora final de reproducción del vídeo a la barra del reproductor.";
"HideShortsChannelNameDesc" = "Oculta el nombre del canal y el botón de Suscribirse en la superposición de Shorts."; "24hrFormat" = "Formato de 24 horas";
"HideShortsDescription" = "Ocultar descripción"; "24hrFormatDesc" = "Muestra la hora de finalización en formato de 24 horas.";
"HideShortsDescriptionDesc" = "Oculta la descripción de Shorts debajo del nombre del canal.";
"HideShortsAudioTrack" = "Ocultar pista de audio"; "Player.Actions" = "Acciones";
"HideShortsAudioTrackDesc" = "Oculta la pista de audio debajo de la descripción de Shorts."; "DefaultPlaybackRate" = "Velocidad de reproducción predeterminada";
"BackgroundPlayback" = "Reproducción en segundo plano";
"Other" = "Otro"; "BackgroundPlaybackDesc" = "Permite la reproducción en segundo plano.";
"CopyVideoInfo" = "Copy video information"; "Miniplayer" = "Activar mini reproductor";
"CopyVideoInfoDesc" = "Adds button to copy video title and description into Video Description panel."; "MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños.";
"PostManager" = "Save post information"; "DisableAutoplay" = "Desactivar reproducción automática";
"PostManagerDesc" = "Allows to copy post text and save post as image by long tap."; "DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos.";
"SavePostImage" = "Guardar imagen de las entradas de la comunidad"; "DisableAutoCaptions" = "Desactivar subtítulos automáticos";
"SavePostImageDesc" = "Guarda la imagen de las publicaciones de la comunidad en la aplicación Fotos con un toque prolongado"; "DisableAutoCaptionsDesc" = "Evita la activación automática de subtítulos.";
"SaveProfilePhoto" = "Guardar foto de perfil"; "NoContentWarning" = "Omitir advertencia de contenido";
"SaveProfilePhotoDesc" = "Guarda la imagen de perfil en la aplicación Fotos con un toque prolongado"; "NoContentWarningDesc" = "Omite el mensaje de advertencia de contenido sensible.";
"CommentManager" = "Save comment information"; "NoHints" = "Desactivar sugerencias";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "Desactiva las sugerencias del autor que aparecen en la esquina superior derecha durante la reproducción.";
"FixAlbums" = "Arreglar portadas"; "AutoFullscreen" = "Reproducir vídeos en pantalla completa";
"FixAlbumsDesc" = "Corrige la visualización de portadas para usuarios de Rusia"; "AutoFullscreenDesc" = "Reproduce automáticamente los vídeos en modo de pantalla completa.";
"RemovePlayNext" = "Eliminar \"Reproducir siguiente en cola\""; "ExitFullscreen" = "Salir del modo de pantalla completa al finalizar";
"RemovePlayNextDesc" = "Elimina la opción \"Reproducir siguiente en cola\" del menú."; "ExitFullscreenDesc" = "Sale del modo de pantalla completa al finalizar la reproducción del vídeo.";
"NoContinueWatching" = "Eliminar \"Continuar viendo\"";
"NoContinueWatchingDesc" = "Elimina la sección \"Continuar viendo\" que contiene videos sin terminar de la página de inicio."; "Player.Gestures" = "Gestos";
"NoSearchHistory" = "Ocultar el historial de búsqueda"; "LeftSideGesture" = "Gesture for the left side";
"NoSearchHistoryDesc" = "Oculta visualmente el historial de búsqueda y las sugerencias. Nota: El historial de búsqueda seguirá siendo accesible en otros clientes de YouTube."; "RightSideGesture" = "Gesture for the right side";
"NoRelatedWatchNexts" = "Ocultar todos los vídeos del reproductor"; "ActivationAreaWidth" = "Gesture activation width";
"NoRelatedWatchNextsDesc" = "Oculta todos los vídeos debajo del reproductor, dejando sólo la información del vídeo y la sección de comentarios."; "ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"StickSortComments" = "Pegar cabecera de comentarios"; "HoldToSpeed" = "Mantener para velocidad";
"StickSortCommentsDesc" = "Los pines ordenan la cabecera de comentarios (Arriba, Más reciente) para que no desaparezca al desplazarse."; "AdjustWithFinger" = "Ajusta la velocidad mediante gestos";
"HideSortComments" = "Ocultar cabecera de comentarios"; "AdjustWithFingerDesc" = "Permite ajustar la velocidad de reproducción presionando durante mucho tiempo el reproductor y moviendo el dedo hacia arriba y hacia abajo";
"HideSortCommentsDesc" = "Oculta la cabecera de los comentarios de ordenación (Top, Newest) para que nunca aparezca."; "PreserveSpeed" = "Preservar la velocidad";
"PlaylistOldMinibar" = "Lista de reproducción antigua minibar"; "PreserveSpeedDesc" = "Conserva la velocidad ajustada después de completar el gesto";
"PlaylistOldMinibarDesc" = "Sustituye el nuevo panel flotante de listas de reproducción por el antiguo."; "SeekAnywhere" = "Swipe to seek";
"DisableRTL" = "Desactivar el formato RTL"; "SeekAnywhereDesc" = "Allows controlling playback seeking by swiping left and right.";
"DisableRTLDesc" = "Muestra forzosamente el texto en formato de izquierda a derecha (LTR) para los idiomas que se muestran inicialmente en formato de derecha a izquierda (RTL)."; "SeekMethod" = "Seek method";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Startup" = "Página de inicio"; "Independent" = "Independent";
"Home" = "Inicio"; "DurationBased" = "Duration-based";
"Explore" = "Explorar"; "SeekSensitivity" = "Seek sensitivity";
"ShortsTab" = "Shorts"; "TwoFingerTapToPause" = "Pausa con dos dedos";
"Subscriptions" = "Suscripciones"; "TwoFingerTapToPauseDesc" = "Pausa/reanuda la reproducción tocando en la pantalla con dos dedos.";
"Library" = "Biblioteca"; "TwoFingerPanToBrightness" = "Ajustar el brillo";
"Warning" = "Advertencia"; "TwoFingerPanToBrightnessDesc" = "Permite ajustar el brillo de la pantalla deslizándose hacia arriba/abajo con dos dedos.";
"TabIsHidden" = "No se puede seleccionar una pestaña oculta como página de inicio"; "CopyWithTimestamp" = "Copiar enlaces con marca de tiempo";
"CopyWithTimestampDesc" = "Permite copiar el enlace con marca de tiempo en el portapapeles pulsando el botón de pausa.";
"DonateViaPayPal" = "Donate via PayPal"; "PauseOnOverlay" = "Pausa en la superposición";
"SupportViaGhSponsors" = "Support development via Github Sponsors"; "PauseOnOverlayDesc" = "Establece la reproducción en pausa si aparece la superposición.";
"Version" = "Versión"; "DontSnap2Chapter" = "Desactivar saltar al siguiente capítulo";
"About" = "Acerca de"; "DontSnap2ChapterDesc" = "Desactiva el salto al siguiente episodio mediante el gesto de doble toque.";
"Credits" = "Créditos"; "NoTwoFingerSnapToChapter" = "Desactivar el doble toque con dos dedos";
"Developer" = "Desarrollador de YTLite"; "NoTwoFingerSnapToChapterDesc" = "Desactiva el gesto de pasar a capítulo con dos dedos.";
"ChineseSimplified" = "Traducción: Chino (Simplificado)"; "NoFreeZoom" = "Desactivar gesto de zoom libre";
"ChineseTraditional" = "Traducción: Chino (Tradicional)"; "NoFreeZoomDesc" = "Desactiva los nuevos gestos de zoom libre.";
"French" = "Traducción: Frances"; "NoDoubleTap2Seek" = "Desactivar doble toque para buscar";
"Spanish" = "Traducción: Español"; "NoDoubleTap2SeekDesc" = "Desactiva el gesto de doble toque para buscar.";
"Japanese" = "Traducción: Japonés";
"Vietnamese" = "Vietnamese localization"; /* Shorts options */
"Advanced" = "Modo avanzado"; "Shorts" = "Shorts";
"AdvancedModeReminder" = "¿Desea activar el modo Avanzado para YTLite?\n\nEste modo ofrece más de 50 opciones adicionales para personalizar y optimizar tu experiencia en YouTube. Puedes activarlo/desactivarlo más tarde desde Ajustes → %@ → %@ → %@."; "PlaybackMode" = "Playback completion action";
"ClearCache" = "Clear cache"; "Loop" = "Loop";
"ResetSettings" = "Restablecer configuración de YTLite"; "ScrollToNext" = "Scroll to next";
"ResetMessage" = "Esta opción restablecerá la configuración de YTLite a los valores predeterminados y cerrará YouTube.\n\n¿Estás seguro de que deseas continuar?"; "Stop" = "Stop";
"ShortsOnlyWarning" = "¿Estás seguro de que quieres activar este modo?\n\nEn este modo, sólo podrás ver Shorts y no podrás hacer nada más.\n\nPuedes desactivar el modo sólo Shorts realizando una pulsación larga con dos dedos en el reproductor de Shorts."; "AutoSkipShorts" = "Salto automático de Shorts";
"ShortsModeTurnedOff" = "Se ha desactivado el modo de sólo Shorts"; "ShortsOnlyMode" = "Modo sólo Shorts";
"Yes" = ""; "ShortsOnlyModeDesc" = "Limita la funcionalidad de YouTube únicamente a la visualización de Shorts.";
"No" = "No"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "Select action"; "ShortsProgress" = "Activar barra de progreso";
"CopyTitle" = "Copy title"; "ShortsProgressDesc" = "Muestra una barra de progreso en la superposición de Shorts.";
"CopyDescription" = "Copy description"; "SpeedByLongTap" = "Aumentar la velocidad de reproducción de los Shorts";
"CopyPostText" = "Copy post text"; "SpeedByLongTapDesc" = "Permite acelerar la reproducción pulsando durante mucho tiempo una determinada parte de la pantalla.";
"SavePostAsImage" = "Save post as image"; "SpeedLocation" = "Ubicación de activación";
"CopyPostAsImage" = "Copy post as image"; "PinchToFullscreenShorts" = "Pellizcar para pantalla completa";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "Gestiona la visibilidad de la superposición con gestos de pellizcar para acercar y pellizcar para alejar, mostrando Shorts en modo de pantalla completa.";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "De Shorts a vídeos normales";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "Abre los Shorts como vídeos normales.";
"Cancel" = "Cancel"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "Copiado al portapapeles"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Done" = "Done"; "HideShortsLogo" = "Ocultar el logo de Shorts";
"Saved" = "Guardado en Fotos"; "HideShortsLogoDesc" = "Oculta el logo de Shorts en la esquina superior izquierda.";
"Error" = "Error"; "HideShortsSearch" = "Ocultar botón de búsqueda";
"HideShortsSearchDesc" = "Oculta el botón de búsqueda en la superposición de Shorts.";
"HideShortsCamera" = "Ocultar botón de cámara";
"HideShortsCameraDesc" = "Oculta el botón de cámara en la superposición de Shorts.";
"HideShortsMore" = "Ocultar botón Más (⋮)";
"HideShortsMoreDesc" = "Oculta el botón Más (⋮) en la superposición de Shorts. También se puede acceder manteniendo presionada la pantalla.";
"HideShortsSubscriptions" = "Ocultar botón de Suscripciones";
"HideShortsSubscriptionsDesc" = "Oculta el botón de Suscripciones que aparece cuando se pausa un vídeo Shorts.";
/* Tab bar options */
"Tabbar" = "Barra de pestañas";
"Startup" = "Página de inicio";
"FEwhat_to_watch" = "Home";
"FEexplore" = "Explorar";
"FEshorts" = "Shorts";
"FEsubscriptions" = "Suscripciones";
"FElibrary" = "Biblioteca";
"FEuploads" = "Create";
"FEhistory" = "History";
"VLWL" = "Watch Later";
"RemoveLabels" = "Eliminar etiquetas";
"RemoveIndicators" = "Eliminar indicadores";
"ActiveTabs" = "Active tabs";
"InactiveTabs" = "Inactive tabs";
"HideLibraryFooter" = "Library tab can be hidden or shown by long pressing the first tab of the tab bar.";
"Warning" = "Advertencia";
"TabIsHidden" = "No se puede seleccionar una pestaña oculta como página de inicio";
"TabIsStartupTab" = "The tab selected as the startup page cannot be hidden";
"TabsCountRestricted" = "You can only have up to six active tabs";
/* Interface options */
"Interface" = "Interfaz";
"OledTheme" = "Tema Oled";
"OledThemeDesc" = "Convierte todos los colores oscuros en negro";
"NoSearchHistory" = "Ocultar el historial de búsqueda";
"NoSearchHistoryDesc" = "Oculta visualmente el historial de búsqueda y las sugerencias. Nota: El historial de búsqueda seguirá siendo accesible en otros clientes de YouTube.";
"NoRelatedWatchNexts" = "Ocultar todos los vídeos del reproductor";
"NoRelatedWatchNextsDesc" = "Oculta todos los vídeos debajo del reproductor, dejando sólo la información del vídeo y la sección de comentarios.";
"StickSortComments" = "Pegar cabecera de comentarios";
"StickSortCommentsDesc" = "Los pines ordenan la cabecera de comentarios (Arriba, Más reciente) para que no desaparezca al desplazarse.";
"HideSortComments" = "Ocultar cabecera de comentarios";
"HideSortCommentsDesc" = "Oculta la cabecera de los comentarios de ordenación (Top, Newest) para que nunca aparezca.";
"PlaylistOldMinibar" = "Lista de reproducción antigua minibar";
"PlaylistOldMinibarDesc" = "Sustituye el nuevo panel flotante de listas de reproducción por el antiguo.";
"OldYTUI" = "Interfaz antigua";
"OldYTUIDesc" = "Falsea la versión de YouTube para que devuelva la interfaz antigua";
"DisableRTL" = "Desactivar el formato RTL";
"DisableRTLDesc" = "Muestra forzosamente el texto en formato de izquierda a derecha (LTR) para los idiomas que se muestran inicialmente en formato de derecha a izquierda (RTL).";
"StartupAnimation" = "Animación de inicio";
"StartupAnimationDesc" = "Muestra la animación de carga de inicio de YouTube";
"InterfaceStyle" = "Interface style";
"MiniplayerStyle" = "Miniplayer style";
"MiniplayerStyleDesc" = "Switching to/from floating mode requires restarting the app.";
"Floating" = "Floating";
"ContextMenu" = "Context menu";
"NativeShare" = "Hoja de acciones nativas";
"NativeShareDesc" = "Utiliza la hoja de uso compartido del sistema para compartir medios";
"RemoveInlineComment" = "Eliminar el comentario en línea";
"RemoveInlineCommentDesc" = "Elimina la sección de comentarios debajo del reproductor.";
"RemoveCommentGuidelines" = "Remove guidelines";
"RemoveCommentGuidelinesDesc" = "Removes pinned guidelines from the comments section.";
"RemovePlayNext" = "Eliminar \"Reproducir siguiente en cola\"";
"RemovePlayNextDesc" = "Elimina la opción \"Reproducir siguiente en cola\" del menú.";
"RemoveDownloadMenu" = "Eliminar \"Descargar\"";
"RemoveDownloadMenuDesc" = "Elimina la opción \"Descargar\" del menú.";
"RemoveWatchLaterMenu" = "Eliminar \"Guardar para ver más tarde\"";
"RemoveWatchLaterMenuDesc" = "Elimina la opción \"Guardar para ver más tarde\" del menú.";
"RemoveSaveToPlaylistMenu" = "Eliminar \"Guardar en lista de reproducción\"";
"RemoveSaveToPlaylistMenuDesc" = "Elimina la opción \"Guardar en lista de reproducción\" del menú.";
"RemoveShareMenu" = "Eliminar \"Compartir\"";
"RemoveShareMenuDesc" = "Elimina la opción \"Compartir\" del menú.";
"RemoveNotInterestedMenu" = "Eliminar \"No me interesa\"";
"RemoveNotInterestedMenuDesc" = "Elimina la opción \"No me interesa\" del menú.";
"RemoveDontRecommendMenu" = "Eliminar \"No recomendar canal\"";
"RemoveDontRecommendMenuDesc" = "Elimina la opción \"No recomendar canal\" del menú.";
"RemoveReportMenu" = "Eliminar \"Reportar\"";
"RemoveReportMenuDesc" = "Elimina la opción \"Reportar\" del menú.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Enable";
"EnableSponsorBlockDesc" = "Activates the SponsorBlock extension.";
"SegmentsInFeedPlayer" = "Display segments in the feed";
"SegmentsInFeedPlayerDesc" = "Displays colored segments on the progress bar of players in the feed.";
"SegmentsInMiniPlayer" = "Display segments on the mini-player";
"SegmentsInMiniPlayerDesc" = "Displays colored segments on the progress bar of the mini-player.";
"SegmentSkipAudio" = "Audio notification";
"SegmentSkipAudioDesc" = "Plays an audio notification when skipping a segment.";
"DurationWithoutSegments" = "Display new duration";
"DurationWithoutSegmentsDesc" = "Displays total duration without segments.";
"SkipAlertDuration" = "Skip Alert Duration";
"UnskipAlertDuration" = "Unskip Alert Duration";
"Segments" = "Segments";
"Sponsor" = "Sponsor";
"SponsorDesc" = "Part of a video promoting a product or service not directly related to the creator. The creator will receive payment or compensation in the form of money or free products";
"SponsorColor" = "Sponsor segment color";
"Intro" = "Intermission/Intro animation";
"IntroDesc" = "Segments typically found at the start of a video that include an animation, still frame or clip which are also seen in other videos by the same creator.";
"IntroColor" = "Intro segment color";
"Endcards" = "Endcards/Credits";
"EndcardsDesc" = "Typically near or at the end of the video when the credits pop up and/or endcards are shown.";
"EndcardsColor" = "Endcards segment color";
"Interaction" = "Interaction reminders";
"InteractionDesc" = "Explicit reminders to like, subscribe or interact with them on any paid or free platform(s) (e.g. click on a video)";
"InteractionColor" = "Interaction segment color";
"SelfPromo" = "Unpaid/Self promotion";
"SelfPromoDesc" = "Self-promo: Promoting a product or service that is directly related to the creator themselves.\nUnpaid:The creator will not receive any payment in exchange for this promotion";
"SelfPromoColor" = "Self-promo segment color";
"MusicOfftopic" = "Music: Non-music section";
"MusicOfftopicDesc" = "Only to be used on videos which feature music as the primary content.";
"MusicOfftopicColor" = "Non-music segment color";
"Preview" = "Preview";
"PreviewDesc" = "Collection of clips that show what is coming up in in this video or other videos in a series where all information is repeated later in the video.";
"PreviewColor" = "Preview segment color";
"Highlight" = "Highlight";
"HighlightDesc" = "Used to get to the point or highlight of a video.";
"HighlightColor" = "Highlight segment color";
"Jokes" = "Filler Tangent/Jokes";
"JokesDesc" = "Filler Tangent/Jokes is only for tangential scenes added only for filler or humor that are not required to understand the main content of the video.";
"JokesColor" = "Jokes segment color";
"Sb.Disable" = "Disable";
"Sb.Skip" = "Auto-skip";
"Sb.SkipTo" = "Skip to segment";
"Sb.Ask" = "Ask";
"Sb.Display" = "Display in player";
"sb_sponsor" = "Sponsor segment";
"sb_intro" = "Intro segment";
"sb_outro" = "Endcards segment";
"sb_interaction" = "Interaction segment";
"sb_selfpromo" = "Self-promo segment";
"sb_music_offtopic" = "Offtopic segment";
"sb_preview" = "Preview segment";
"sb_poi_highlight" = "Highlight segment";
"sb_filler" = "Filler segment";
"SegmentDetected" = "%@ detected";
"SegmentSkipped" = "%@ has been skipped";
"SkippedToSegment" = "Skipped to the %@";
"SkipSegment" = "Skip";
"SkipToSegment" = "To highlight";
"Unskip" = "Unskip";
/* Developer section */
"Developer" = "Developer";
"FollowMe" = "Follow me on X";
"SupportDevelopment" = "Apoyar el desarrollo";
"DonateDesc" = "Your support means a lot to me";
"SupportDevelopmentDesc" = "Si te gusta YTPlus y quieres apoyar su desarrollo, puedes hacerlo utilizando cualquiera de las formas convenientes que se indican a continuación.\n¡Gracias❤!";
"VisitGithub" = "Github Repository";
"VisitGithubDesc" = "Star the repo, request a feature or report issues";
"VisitTelegram" = "My Telegram Channel";
"VisitTelegramDesc" = "Stay informed about the latest app updates";
/* Credits section */
"Credits" = "Créditos";
"Contributors" = "Colaboradores";
"DevContribution" = "Contribution to development";
"SpecialThanks" = "Agradecimientos especiales";
"SpecialThanks.Test" = "Inestimable contribución a las pruebas del tweak";
"Localizations" = "Localization authors";
"ChineseSimplified" = "Traducción: Chino (Simplificado)";
"ChineseTraditional" = "Traducción: Chino (Tradicional)";
"French" = "Traducción: Frances";
"Spanish" = "Traducción: Español";
"Japanese" = "Traducción: Japonés";
"Vietnamese" = "Traducción: vietnamita";
"Arabic" = "Arabic localization";
"Turkish" = "Turkish localization";
"OpenSourceLibs" = "Bibliotecas de código abierto";
"Preferences" = "%@ preferencias";
"ManagePreferences" = "Preferences management";
"ImportPreferences" = "Importar preferencias";
"PreImportMessage" = "Esta acción reemplazará las preferencias actuales con las del archivo seleccionado.\n\n¿Estás seguro de que quieres continuar?";
"ExportPreferences" = "Exportar preferencias";
"ResetSettings" = "Restablecer configuración de YTPlus";
"ResetMessage" = "Esta opción restablecerá la configuración de YTPlus a los valores predeterminados y cerrará YouTube.\n\n¿Estás seguro de que deseas continuar?";
"ManageCache" = "Cache management";
"ClearCacheAtStart" = "Clear cache on startup";
"ClearCacheAtStartDesc" = "Automatically clears the cache on startup.";
"ClearCache" = "Borrar caché";
"NoDonationReminder" = "Disable donation reminder";
"NoDonationReminderDesc" = "Turns off the rarely shown donation reminder.";
"ShortsOnlyWarning" = "¿Estás seguro de que quieres activar este modo?\n\nEn este modo, sólo podrás ver Shorts y no podrás hacer nada más.\n\nPuedes desactivar el modo sólo Shorts realizando una pulsación larga con dos dedos en el reproductor de Shorts.";
"ShortsModeTurnedOff" = "Se ha desactivado el modo de sólo Shorts";
"AddLibraryTab" = "Restore \"You\" tab";
"RemoveLibraryTab" = "Remove \"You\" tab";
"LibraryAdded" = "The \"You\" tab has been restored";
"LibraryRemoved" = "The \"You\" tab has been removed";
"Yes" = "Sí";
"No" = "No";
"Select" = "Seleccionar";
"Default" = "Predeterminado";
"Best" = "Mejor";
"Show" = "Mostrar";
"Disable" = "Desactivar";
"Disabled" = "Desactivado";
"PlaybackSpeed" = "Velocidad de reproducción";
"SpeedPreserved" = "Velocidad conservada";
"ResetSpeed" = "Restablecer";
"Toast.Brightness" = "Luminosidad";
"Toast.PlaybackSpeed" = "Velocidad de reproducción";
"Toast.Volume" = "Volume";
"SelectAction" = "Seleccionar acción";
"DownloadVideo" = "Descargar vídeo";
"DownloadAudio" = "Descargar audio";
"SaveImage" = "Guardar imagen";
"CopyInformation" = "Copiar información";
"CopyChannelName" = "Copiar el nombre del canal";
"CopyTitle" = "Copiar título";
"CopyDescription" = "Copiar descripción";
"CopyTimestampedLink" = "Copiar enlace con marca de tiempo";
"CopyTranscript" = "Copy transcript";
"PlayInExternalPlayer" = "Reproducir en un reproductor externo";
"PlayInSystemPlayer" = "Reproducir en el reproductor del sistema";
"PlayInInfuse" = "Reproducir en Infuse";
"PlayInVLC" = "Reproducir en VLC";
"PlayerNotFound" = "Reproductor no encontrado";
"OpenAsRegularVideo" = "Abrir como vídeo normal";
"CopyPostText" = "Copiar texto de la publicación";
"SaveCurrentImage" = "Guardar imagen actual";
"CopyCurrentImage" = "Copiar imagen actual";
"SavePostAsImage" = "Guardar publicación como imagen";
"CopyPostAsImage" = "Copiar publicación como imagen";
"CopyCommentText" = "Copiar texto del comentario";
"SaveCommentAsImage" = "Guardar comentario como imagen";
"CopyCommentAsImage" = "Copiar comentario como imagen";
"SaveProfilePicture" = "Guardar imagen de perfil";
"CopyProfilePicture" = "Copiar imagen de perfil";
"DownloadThumbnail" = "Guardar miniatura";
"CopyThumbnail" = "Copiar miniatura";
"Cancel" = "Cancelar";
"Cancelled" = "Cancelado";
"Copied" = "Copiado al portapapeles";
"Done" = "Hecho";
"NothingToShowInMenu" = "Nothing to show in this context menu";
"Saved" = "Guardado en Fotos";
"Error" = "Error";
"Error.Clipboard" = "Error. Revisa el portapapeles para obtener más información";
"Error.PathIssue" = "Error. Problema con la generación de la ruta final. ¿Problema con el título multimedia?";
"Error.TryLater" = "The media is live or processing on Google's server is expected to complete.\n\nPlease try again later.";
"Error.NoSpace" = "Espacio insuficiente en el dispositivo.\n\nSe requiere al menos %@ espacio libre adicional. Espacio libre disponible: %@";
"Error.Multidownloading" = "La descarga múltiple aún no está disponible.";
"Error.FailedToImport" = "Error al importar las preferencias";
"DownloadingVideo" = "Descargando vídeo";
"DownloadingAudio" = "Descargando audio";
"ParsingCaptions" = "Parsing captions";
"ParsingTranscript" = "Parsing the transcript";
"Converting" = "Convirtiendo";
"RetryLogin" = "Solución alternativa activada.\n\nPor favor, inténtelo de nuevo.";
"LoginInfo" = "Se requiere reiniciar la aplicación después de iniciar sesión con éxito en la cuenta de Google";
"Welcome.Download" = "Descarga multimedia";
"Welcome.DownloadDesc" = "Descarga tu contenido favorito, ya sean vídeos, shorts, audio o fotos de perfil. Copia publicaciones y comentarios interesantes o guárdalos como imágenes";
"Welcome.Content" = "Ajustar la interfaz";
"Welcome.ContentDesc" = "Eliminar el contenido no deseado y los elementos de la interfaz. Habilita el verdadero modo oscuro OLED";
"Welcome.Player" = "Configurar el comportamiento del reproductor";
"Welcome.PlayerDesc" = "Сustomiza el comportamiento del reproductor, autoselecciona la calidad y la velocidad de reproducción. Control mediante gestos";
"Welcome.More" = "Y aún más...";
"Welcome.MoreDesc" = "YouTube Plus incluye más de 50 opciones diferentes, entre las que se incluyen funciones como guardar las preferencias y borrar la caché. Los ajustes están disponibles en la sección YouTube Plus, en Ajustes de YouTube";
"SupportMe" = "Apóyame";
"Continue" = "Continuar";
"Conflicts.Detected" = "Incompatible Tweaks Detected";
"Conflicts.DetectedDesc" = "Despite the apparent stability of the app, the developer of YouTube Plus does not recommend combining tweaks with similar functionality in the same app and cannot guarantee safe usage.\n\nBy continuing to use the app, you take full responsibility and agree that any complaints about performance will be ignored.";
"Conflicts.AcceptRisks" = "I Accept All Risks";
"Conflicts.CloseYT" = "Close YouTube";
"DonationReminder" = "Your support helps to make YouTube Plus even better.\n\nYou can contribute or choose to disable these notifications in the YouTube Plus settings. Thank you💜";
@@ -1,219 +1,507 @@
"General" = "Général"; /* Main section */
"RemoveAds" = "Supprimer les publicités"; "Main" = "Principal";
"RemoveAdsDesc" = "Supprime les publicités intégrées.";
"BackgroundPlayback" = "Lecture en arrière-plan"; /* Downloading options */
"BackgroundPlaybackDesc" = "Active la lecture en arrière-plan."; "Downloading" = "Téléchargement";
"DownloadManager" = "Gestionnaire de téléchargement";
"Navbar" = "Barre de navigation"; "DownloadManagerDesc" = "Remplace l'action du bouton 'Télécharger' sous le lecteur par un Gestionnaire de téléchargement, permettant de télécharger la vidéo, l'audio, l'image miniature et de copier les informations de la vidéo.";
"RemoveCast" = "Masquer le bouton Cast"; "PostManager" = "Gestionnaire de publications";
"RemoveCastDesc" = "Masque le bouton Cast de la barre de navigation."; "PostManagerDesc" = "Permet de copier le texte de la publication et de la sauvegarder en tant qu'image par un appui long.";
"RemoveNotifications" = "Masquer le bouton Notifications"; "SaveProfilePhoto" = "Enregistrer la photo de profil";
"RemoveNotificationsDesc" = "Masque le bouton Notifications de la barre de navigation."; "SaveProfilePhotoDesc" = "Enregistre la photo de profil dans l'application Photos par un appui long.";
"RemoveSearch" = "Masquer le bouton Recherche"; "CommentManager" = "Gestionnaire de commentaires";
"RemoveSearchDesc" = "Masque le bouton Recherche de la barre de navigation."; "CommentManagerDesc" = "Permet de copier le texte des commentaires et de les sauvegarder en tant qu'image par un appui long.";
"RemoveVoiceSearch" = "Masquer le bouton Recherche vocale";
"RemoveVoiceSearchDesc" = "Masque le bouton Recherche vocale de la barre de navigation."; "YtlButtonPosition" = "Position du bouton de téléchargement";
"StickyNavbar" = "Barre de navigation épinglée"; "UnderPlayer" = "Sous le lecteur";
"StickyNavbarDesc" = "Épingle la barre de navigation pour qu'elle reste visible lors du défilement vers le bas."; "Overlay" = "Overlay";
"NoSubbar" = "Masquer la sous-barre"; "Both" = "Les deux";
"NoSubbarDesc" = "Masque la sous-barre (Tous, Nouveautés, En direct, etc.) sous la barre de navigation.";
"NoYTLogo" = "Supprimer le logo YouTube"; "PostDownloadAction" = "Action post-téléchargement";
"NoYTLogoDesc" = "Supprime le logo YouTube dans la barre de navigation."; "PostDownloadDesc" = "L'action sélectionnée sera effectuée une fois le téléchargement de la vidéo terminé.";
"SaveToPhotos" = "Enregistrer dans Photos";
"Overlay" = "Overlay"; "Share" = "Partager";
"HideAutoplay" = "Masquer le toggle de lecture automatique"; "Ask" = "Demander";
"HideAutoplayDesc" = "Masque le toggle de lecture automatique de l'overlay."; "DownloadCompleted" = "Téléchargement terminé";
"HideSubs" = "Masquer le bouton Sous-titres";
"HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay."; "PreferredAudio" = "Piste audio préférée";
"NoHUDMsgs" = "Masquer les messages HUD"; "Selected" = "Sélectionnée";
"NoHUDMsgsDesc" = "Masque tous les messages des fonctionnalités du lecteur. Exemple: les sous-titres sont activés/désactivés, la boucle vidéo est activée, etc."; "English" = "Anglais";
"HidePrevNext" = "Masquer les boutons Précédent et Suivant"; "SelectAudioTrack" = "Sélectionner la piste audio";
"HidePrevNextDesc" = "Masque les boutons vidéo Précédent et Suivant de l'overlay."; "EnglishNotFound" = "Piste audio anglaise non trouvée";
"ReplacePrevNext" = "Boutons Avance rapide et Retour rapide";
"ReplacePrevNextDesc" = "Remplace les boutons vidéo Précédent et Suivant par des boutons Avance rapide et Retour rapide dans l'overlay."; "Captions" = "Sous-titres";
"NoDarkBg" = "Supprimer l'arrière-plan sombre"; "EmbedCapsToVideos" = "Intégrer les sous-titres";
"NoDarkBgDesc" = "Supprime l'arrière-plan sombre de l'overlay."; "EmbedCapsToVideosDesc" = "Intègre les sous-titres sélectionnés dans les vidéos.";
"NoEndScreenCards" = "Masquer les cartes de fin d'écran"; "EmbedAutoGenCaps" = "Auto-generated/translated captions";
"NoEndScreenCardsDesc" = "Masque les cartes de fin d'écran (vignettes) à la fin des vidéos."; "EmbedAutoGenCapsDesc" = "Adds auto-generated, translated, and auto-translated captions to the captions/subtitles list.";
"NoFullscreenActions" = "Désactiver les actions en plein écran"; "DownloadCaptions" = "Télécharger les sous-titres";
"NoFullscreenActionsDesc" = "Désactive le panneau d'actions en mode plein écran."; "SelectCaption" = "Sélectionner les sous-titres";
"PersistentProgressBar" = "Barre de progression persistante"; "Translated" = "translated";
"PersistentProgressBarDesc" = " Affiche toujours la barre de progression dans le lecteur "; "TranslatedAutoGen" = "auto-translated";
"NoRelatedVids" = "Pas de vidéos associées dans l'overlay";
"NoRelatedVidsDesc" = "Supprime les vidéos associées affichées dans l'overlay en faisant glisser vers le haut."; /* Nav bar options */
"NoPromotionCards" = "Masquer les cartes de promotion payante"; "Navbar" = "Barre de navigation";
"NoPromotionCardsDesc" = "Masque la carte \"Comprend des promotions payantes\" dans les vidéos avec promotions incluses."; "RemoveCast" = "Masquer le bouton Cast";
"NoWatermarks" = "Masquer les filigranes"; "RemoveCastDesc" = "Masque le bouton Cast de la barre de navigation.";
"NoWatermarksDesc" = "Masque les filigranes de chaîne dans le lecteur."; "RemoveNotifications" = "Masquer le bouton Notifications";
"RemoveNotificationsDesc" = "Masque le bouton Notifications de la barre de navigation.";
"Player" = "Lecteur"; "RemoveSearch" = "Masquer le bouton Recherche";
"Miniplayer" = "Activer le mini-lecteur"; "RemoveSearchDesc" = "Masque le bouton Recherche de la barre de navigation.";
"MiniplayerDesc" = "Active le mini-lecteur pour les vidéos qui n'étaient pas initialement conçues pour cela, comme les vidéos destinées aux enfants."; "RemoveVoiceSearch" = "Masquer le bouton Recherche vocale";
"PortraitFullscreen" = "Mode plein écran en portrait"; "RemoveVoiceSearchDesc" = "Masque le bouton Recherche vocale de la barre de navigation.";
"PortraitFullscreenDesc" = "Active la prise en charge du mode plein écran en portrait."; "StickyNavbar" = "Barre de navigation fixe";
"CopyWithTimestamp" = "Copier les liens avec horodatage"; "StickyNavbarDesc" = "Fixe la barre de navigation pour qu'elle reste visible lors du défilement.";
"CopyWithTimestampDesc" = "Permet de copier les liens avec horodatage dans le presse-papiers en appuyant sur le bouton de pause."; "NoSubbar" = "Masquer la sous-barre";
"DisableAutoplay" = "Désactiver la lecture automatique des vidéos"; "NoSubbarDesc" = "Masque la sous-barre (Tous, Nouveautés, En direct, etc.) sous la barre de navigation.";
"DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture."; "NoYTLogo" = "Supprimer le logo YouTube";
"DisableAutoCaptions" = "Désactiver les sous-titres automatiques"; "NoYTLogoDesc" = "Supprime le logo YouTube de la barre de navigation.";
"DisableAutoCaptionsDesc" = "Empêche l'activation des sous-titres automatique."; "PremiumYTLogo" = "Afficher le logo YouTube Premium";
"NoContentWarning" = "Passer l'avertissement de contenu"; "PremiumYTLogoDesc" = "Affiche le logo YouTube Premium dans la barre de navigation.";
"NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
"ClassicQuality" = "Qualité vidéo classique"; /* Feed options */
"ClassicQualityDesc" = "Rétablit le menu de sélection de la qualité vidéo classique."; "Feed" = "Feed";
"ExtraSpeedOptions" = "Options de vitesse supplémentaires"; "RemoveAds" = "Supprimer les publicités";
"ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse."; "RemoveAdsDesc" = "Supprime les publicités intégrées.";
"DontSnap2Chapter" = "Désactiver la coupure au chapitre"; "HideShorts" = "Masquer les Shorts";
"DontSnap2ChapterDesc" = "Désactive le passage à l'épisode suivant en double tapant."; "HideShortsDesc" = "Masque les vidéos Shorts de la page d'accueil, des recommandations, etc. (Non appliqué à l'historique de visionnage)";
"RedProgressBar" = "Barre de progression rouge"; "KeepSubsShorts" = "Garder les Shorts dans Abonnements";
"RedProgressBarDesc" = "Ramène la barre de progression rouge."; "KeepSubsShortsDesc" = "Empêche la suppression des Shorts de l'onglet Abonnements.";
"NoHints" = "Désactiver les indices"; "RemoveCommunityPosts" = "Supprimer les publications communautaires";
"NoHintsDesc" = "Désactive les indices de l'auteur qui apparaissent dans le coin supérieur droit pendant la lecture."; "RemoveCommunityPostsDesc" = "Supprime les publications communautaires du fil d'actualité.";
"NoFreeZoom" = "Désactiver le geste de zoom libre"; "RemoveMixPlaylists" = "Supprimer les mix";
"NoFreeZoomDesc" = "Désactive les nouveaux gestes de zoom libre."; "RemoveMixPlaylistsDesc" = "Supprime les playlists de mix générées par YouTube du fil d'actualité.";
"AutoFullscreen" = "Lire les vidéos en plein écran"; "RemoveLiveVids" = "Supprimer les vidéos en direct";
"AutoFullscreenDesc" = "Lance automatiquement les vidéos en mode plein écran."; "RemoveLiveVidsDesc" = "Supprime les vidéos en direct de l'onglet Accueil.";
"ExitFullscreen" = "Quitter le mode plein écran à la fin"; "RemoveHorizontalFeeds" = "Supprimer les fils horizontaux";
"ExitFullscreenDesc" = "Quitte le mode plein écran à la fin de la lecture de la vidéo."; "RemoveHorizontalFeedsDesc" = "Supprime tous les fils horizontaux (Actualités, Continuer à regarder, Collections de publications, etc.) de l'onglet Accueil.";
"NoDoubleTap2Seek" = "Désactiver le double tap pour chercher"; "RemoveMoreTopics" = "Supprimer \"Plus de sujets\"";
"NoDoubleTap2SeekDesc" = "Désactive le geste de double tap pour chercher."; "RemoveMoreTopicsDesc" = "Supprime \"Plus de sujets\" du fil d'actualité.";
"FixAlbums" = "Réparer les miniatures";
"Tabbar" = "Barre d'onglets"; "FixAlbumsDesc" = "Répare l'affichage des miniatures pour les utilisateurs russes.";
"RemoveLabels" = "Supprimer les sous-titres";
"RemoveLabelsDesc" = "Supprime les sous-titres des onglets."; /* Player options */
"RemoveIndicators" = "Supprimer les indicateurs"; "Player" = "Lecteur";
"RemoveIndicatorsDesc" = "Supprime les indicateurs d'onglets."; "PlaybackQualityOnWiFi" = "Qualité de lecture sur WiFi";
"ReExplore" = "Remplacer l'onglet Shorts par l'onglet Explorer"; "PlaybackQualityOnCellular" = "Qualité de lecture sur réseau cellulaire";
"ReExploreDesc" = "Affiche l'onglet Explorer à la place de l'onglet Shorts comme dans les anciennes versions de YouTube.";
"AddExplore" = "Ajouter l'onglet Explorer"; "PreferredCaptions" = "Sous-titres préférés";
"AddExploreDesc" = "Ajoute l'onglet Explorer à la barre d'onglets."; "Original" = "Original";
"HideShortsTab" = "Masquer l'onglet Shorts"; "Custom" = "Sélectionner manuellement";
"HideShortsTabDesc" = "Masque l'onglet Shorts de la barre d'onglets"; "CustomAudioTrack" = "Piste audio sélectionnée";
"HideSubscriptionsTab" = "Masquer l'onglet Abonnements"; "CustomCaptions" = "Sous-titres sélectionnés";
"HideSubscriptionsTabDesc" = "Masque l'onglet Abonnements de la barre d'onglets"; "AutoGenCaps" = "Sous-titres générés automatiquement";
"HideUploadButton" = "Masquer le bouton de téléchargement"; "AutoGenCapsDesc" = "Si les sous-titres sélectionnés ne sont pas trouvés, YouTube Plus essaiera de sélectionner soit une traduction des sous-titres originaux, soit une traduction des sous-titres générés automatiquement.";
"HideUploadButtonDesc" = "Masque le bouton de téléchargement de la barre d'onglets";
"HideLibraryTab" = "Masquer l'onglet Bibliothèque"; "Player.Interface" = "Interface";
"HideLibraryTabDesc" = "Masque l'onglet Bibliothèque de la barre d'onglets"; "SpeedControls" = "Contrôles de la vitesse";
"SpeedControlsDesc" = "Affiche les boutons de contrôle de la vitesse sur l'overlay";
"Shorts" = "Shorts"; "HideAutoplay" = "Masquer le bouton de lecture automatique";
"ShortsOnlyMode" = "Mode Shorts uniquement"; "HideAutoplayDesc" = "Masque le bouton de lecture automatique de l'overlay.";
"ShortsOnlyModeDesc" = "Limite les fonctionnalités de YouTube à la visualisation des Shorts uniquement."; "HideSubs" = "Masquer le bouton Sous-titres";
"HideShorts" = "Masquer les vidéos Shorts"; "HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay.";
"HideShortsDesc" = "Masque les vidéos Shorts de la page d'accueil, des recommandations, etc. (Non appliqué à l'historique de visionnage)"; "HidePrevNext" = "Masquer les boutons Précédent et Suivant";
"ShortsProgress" = "Activer la barre de progression"; "HidePrevNextDesc" = "Masque les boutons vidéo Précédent et Suivant de l'overlay.";
"ShortsProgressDesc" = "Affiche la barre de progression dans l'overlay Shorts."; "ReplacePrevNext" = "Boutons Avance rapide et Retour rapide";
"PinchToFullscreenShorts" = "Pincer pour plein écran"; "ReplacePrevNextDesc" = "Remplace les boutons vidéo Précédent et Suivant par des boutons Avance rapide et Retour rapide dans l'overlay.";
"PinchToFullscreenShortsDesc" = "Gère la visibilité de l'overlay avec les gestes de pincement, affichant les Shorts en mode plein écran."; "RememberLoopMode" = "Mémoriser le mode de lecture en boucle";
"ShortsToRegular" = "Shorts vers vidéos normales"; "RememberLoopModeDesc" = "Mémorise le dernier mode de lecture en boucle sélectionné dans le menu du lecteur.";
"ShortsToRegularDesc" = "Ouvre les vidéos Shorts en tant que vidéos normales."; "FullscreenToTheLeft" = "Plein écran en rotation vers la gauche";
"ResumeShorts" = "Ne pas démarrer depuis l'onglet Shorts"; "FullscreenToTheLeftDesc" = "Fullscreen mode will rotate the device to the left orientation instead of the usual right.";
"ResumeShortsDesc" = "Empêche de démarrer depuis les vidéos Shorts lors de l'ouverture de l'application, ce qui se produit si YouTube était fermé pendant la lecture des Shorts."; "PortraitFullscreen" = "Mode plein écran en portrait";
"HideShortsLogo" = "Masquer le logo Shorts"; "PortraitFullscreenDesc" = "Active la prise en charge du plein écran en mode portrait.";
"HideShortsLogoDesc" = "Masque le logo Shorts dans le coin supérieur gauche."; "ClassicQuality" = "Sélection de qualité classique";
"HideShortsSearch" = "Masquer le bouton de recherche"; "ClassicQualityDesc" = "Restaure le menu de sélection de qualité vidéo classique.";
"HideShortsSearchDesc" = "Masque le bouton de recherche de l'overlay Shorts."; "ExtraSpeedOptions" = "Options de vitesse supplémentaires";
"HideShortsCamera" = "Masquer le bouton de l'appareil photo"; "ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse.";
"HideShortsCameraDesc" = "Masque le bouton de l'appareil photo de l'overlay Shorts."; "NoDarkBg" = "Supprimer l'arrière-plan sombre";
"HideShortsMore" = "Masquer le bouton Plus (⋮)"; "NoDarkBgDesc" = "Supprime l'arrière-plan sombre de l'overlay.";
"HideShortsMoreDesc" = "Masque le bouton Plus (⋮) de l'overlay Shorts. Il est également accessible en appuyant longuement sur l'écran."; "NoEndScreenCards" = "Masquer les cartes de fin d'écran";
"HideShortsSubscriptions" = "Masquer le bouton Abonnements"; "NoEndScreenCardsDesc" = "Masque les cartes de fin d'écran (miniatures) à la fin des vidéos.";
"HideShortsSubscriptionsDesc" = "Masque le bouton Abonnements qui apparaît lorsque les Shorts sont en pause."; "NoAutonavEndScreenCards" = "Masquer l'écran de lecture automatique";
"HideShortsLike" = "Masquer le bouton J'aime"; "NoAutonavEndScreenCardsDesc" = "Masque l'écran qui montre ce que vous pouvez lire ensuite après la fin de la lecture. Désactiver cette option désactive également la lecture automatique";
"HideShortsLikeDesc" = "Masque le bouton J'aime de l'overlay Shorts."; "NoFullscreenActions" = "Désactiver les actions en plein écran";
"HideShortsDislike" = "Masquer le bouton Je n'aime pas"; "NoFullscreenActionsDesc" = "Désactive le panneau d'actions en mode plein écran.";
"HideShortsDislikeDesc" = "Masque le bouton Je n'aime pas de l'overlay Shorts."; "PersistentProgressBar" = "Barre de progression persistante";
"HideShortsComments" = "Masquer le bouton Commentaires"; "PersistentProgressBarDesc" = "Affiche toujours la barre de progression dans le lecteur";
"HideShortsCommentsDesc" = "Masque le bouton Commentaires de l'overlay Shorts."; "RedProgressBar" = "Barre de progression rouge";
"HideShortsRemix" = "Masquer le bouton Remix"; "RedProgressBarDesc" = "Restaure la barre de progression rouge.";
"HideShortsRemixDesc" = "Masque le bouton Remix de l'overlay Shorts."; "StockVolumeHUD" = "HUD de volume par défaut";
"HideShortsShare" = "Masquer le bouton Partager"; "StockVolumeHUDDesc" = "Affiche le HUD de volume système en plein écran.";
"HideShortsShareDesc" = "Masque le bouton Partager de l'overlay Shorts."; "NoRelatedVids" = "Pas de vidéos associées dans l'overlay";
"HideShortsAvatars" = "Masquer les avatars des chaînes"; "NoRelatedVidsDesc" = "Supprime les vidéos associées affichées dans l'overlay en glissant vers le haut.";
"HideShortsAvatarsDesc" = "Masque la photo de profil dans le coin inférieur droit."; "NoPromotionCards" = "Masquer les cartes de promotion payante";
"HideShortsThanks" = "Masquer le bouton Superthanks"; "NoPromotionCardsDesc" = "Masque la carte \"Inclut des promotions payantes\" dans les vidéos avec promotions.";
"HideShortsThanksDesc" = "Masque le bouton Superthanks (Don) de l'overlay Shorts."; "NoWatermarks" = "Masquer les filigranes";
"HideShortsSource" = "Cacher la source des Shorts"; "NoWatermarksDesc" = "Masque les filigranes de chaîne dans le lecteur.";
"HideShortsSourceDesc" = "Masque les sources des Shorts sous le nom de la chaîne."; "VideoEndTime" = "Afficher l'heure de fin de lecture";
"HideShortsChannelName" = "Masquer le nom de la chaîne"; "VideoEndTimeDesc" = "Ajoute l'heure de fin de lecture de la vidéo à la barre du lecteur.";
"HideShortsChannelNameDesc" = "Masque le nom de la chaîne et le bouton S'abonner de l'overlay Shorts."; "24hrFormat" = "Format 24 heures";
"HideShortsDescription" = "Masquer la description"; "24hrFormatDesc" = "Affiche l'heure de fin au format 24 heures.";
"HideShortsDescriptionDesc" = "Masque la description des Shorts sous le nom de la chaîne.";
"HideShortsAudioTrack" = "Masquer la piste audio"; "Player.Actions" = "Actions";
"HideShortsAudioTrackDesc" = "Masque la piste audio sous la description des Shorts."; "DefaultPlaybackRate" = "Vitesse de lecture par défaut";
"BackgroundPlayback" = "Lecture en arrière-plan";
"Other" = "Autre"; "BackgroundPlaybackDesc" = "Active la lecture en arrière-plan.";
"CopyVideoInfo" = "Copier les informations vidéo"; "Miniplayer" = "Activer le mini-lecteur";
"CopyVideoInfoDesc" = "Ajout d'un bouton permettant de copier le titre et la description de la vidéo dans le panneau Description de la vidéo."; "MiniplayerDesc" = "Active le mini-lecteur pour les vidéos qui n'étaient pas initialement conçues pour cela, comme les vidéos destinées aux enfants.";
"PostManager" = "Save post information"; "DisableAutoplay" = "Désactiver la lecture automatique des vidéos";
"PostManagerDesc" = "Allows to copy post text and save post as image by long tap."; "DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture.";
"SavePostImage" = "Enregistrer l'image des publications de la communauté"; "DisableAutoCaptions" = "Désactiver les sous-titres automatiques";
"SavePostImageDesc" = "Enregistre l'image des publications de la communauté dans l'application Photos en appuyant longuement."; "DisableAutoCaptionsDesc" = "Empêche l'activation des sous-titres automatique.";
"SaveProfilePhoto" = "Enregistrer la photo de profil"; "NoContentWarning" = "Passer l'avertissement de contenu";
"SaveProfilePhotoDesc" = "Enregistre la photo de profil dans l'application Photos en appuyant longuement."; "NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
"CommentManager" = "Save comment information"; "NoHints" = "Désactiver les indices";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "Désactive les indices de l'auteur qui apparaissent dans le coin supérieur droit pendant la lecture.";
"FixAlbums" = "Réparer les couvertures"; "AutoFullscreen" = "Lire les vidéos en plein écran";
"FixAlbumsDesc" = "Répare l'affichage des couvertures pour les utilisateurs de Russie."; "AutoFullscreenDesc" = "Lance automatiquement les vidéos en mode plein écran.";
"RemovePlayNext" = "Supprimer \"Placer en première position dans la file d'attente\""; "ExitFullscreen" = "Quitter le mode plein écran à la fin";
"RemovePlayNextDesc" = "Supprime l'option \"Placer en première position dans la file d'attente\" du menu."; "ExitFullscreenDesc" = "Quitte le mode plein écran à la fin de la lecture de la vidéo.";
"NoContinueWatching" = "Supprimer \"Continuer à regarder\"";
"NoContinueWatchingDesc" = "Supprime la section \"Continuer à regarder\" contenant les vidéos inachevées de la page d'accueil."; "Player.Gestures" = "Gestes";
"NoSearchHistory" = "Masquer l'historique de recherche"; "LeftSideGesture" = "Geste pour le côté gauche";
"NoSearchHistoryDesc" = "Masque visuellement l'historique de recherche et les suggestions. Note : Votre historique de recherche sera toujours accessible dans vos autres clients YouTube."; "RightSideGesture" = "Geste pour le côté droit";
"NoRelatedWatchNexts" = "Masquer toutes les vidéos sous le lecteur"; "ActivationAreaWidth" = "Gesture activation width";
"NoRelatedWatchNextsDesc" = "Masque toutes les vidéos sous le lecteur, ne laissant que les informations sur la vidéo et la section des commentaires."; "ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"StickSortComments" = "Épingler l'en-tête des commentaires"; "HoldToSpeed" = "Maintenir pour accélérer";
"StickSortCommentsDesc" = "Épingle l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il ne disparaisse pas pendant le défilement."; "AdjustWithFinger" = "Ajuster la vitesse par gestes";
"HideSortComments" = "Masquer l'en-tête des commentaires"; "AdjustWithFingerDesc" = "Permet d'ajuster la vitesse de lecture par un appui long sur le lecteur et en déplaçant le doigt vers le haut et le bas";
"HideSortCommentsDesc" = "Masque l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il n'apparaisse jamais."; "PreserveSpeed" = "Conserver la vitesse";
"PlaylistOldMinibar" = "Ancienne barre latérale de lecture"; "PreserveSpeedDesc" = "Conserve la vitesse ajustée après la fin du geste";
"PlaylistOldMinibarDesc" = "Remplace le nouveau panneau de lecture flottant par l'ancien."; "SeekAnywhere" = "Glisser pour chercher";
"DisableRTL" = "Désactiver le formatage de droite à gauche"; "SeekAnywhereDesc" = "Permet de contrôler la recherche de lecture en glissant vers la gauche et la droite.";
"DisableRTLDesc" = "Affiche le texte de force en format de gauche à droite (LTR) pour les langues qui sont initialement affichées de droite à gauche (RTL)."; "SeekMethod" = "Méthode de recherche";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Startup" = "Page de démarrage"; "Independent" = "Indépendant";
"Home" = "Accueil"; "DurationBased" = "Basé sur la durée";
"Explore" = "Explorer"; "SeekSensitivity" = "Sensibilité de recherche";
"ShortsTab" = "Shorts"; "TwoFingerTapToPause" = "Pause avec deux doigts";
"Subscriptions" = "Abonnements"; "TwoFingerTapToPauseDesc" = "Met en pause/reprend la lecture en tapant sur l'écran avec deux doigts.";
"Library" = "Bibliothèque"; "TwoFingerPanToBrightness" = "Ajuster la luminosité";
"Warning" = "Avertissement"; "TwoFingerPanToBrightnessDesc" = "Permet d'ajuster la luminosité de l'écran en glissant vers le haut/bas avec deux doigts.";
"TabIsHidden" = "L'onglet masqué ne peut pas être sélectionné comme page de démarrage"; "CopyWithTimestamp" = "Copier les liens avec horodatage";
"CopyWithTimestampDesc" = "Permet de copier les liens avec horodatage dans le presse-papiers en appuyant sur le bouton de pause.";
"DonateViaPayPal" = "Faire un don via PayPal"; "PauseOnOverlay" = "Pause quand overlay";
"SupportViaGhSponsors" = "Soutenir le développement via les sponsors Github"; "PauseOnOverlayDesc" = "Met la lecture en pause si l'overlay apparaît.";
"Version" = "Version"; "DontSnap2Chapter" = "Désactiver le saut au chapitre";
"About" = "À propos"; "DontSnap2ChapterDesc" = "Désactive le passage au chapitre suivant en double-tapant.";
"Credits" = "Crédits"; "NoTwoFingerSnapToChapter" = "Désactiver le double tap à deux doigts";
"Developer" = "Développeur YTLite"; "NoTwoFingerSnapToChapterDesc" = "Désactive le geste de double tap à deux doigts pour sauter au chapitre.";
"ChineseSimplified" = "Localisation chinoise (simplifiée)"; "NoFreeZoom" = "Désactiver le zoom libre";
"ChineseTraditional" = "Localisation chinoise (traditionnelle)"; "NoFreeZoomDesc" = "Désactive les nouveaux gestes de zoom libre.";
"French" = "Localisation française"; "NoDoubleTap2Seek" = "Désactiver le double tap pour chercher";
"Spanish" = "Localisation espagnole"; "NoDoubleTap2SeekDesc" = "Désactive le geste de double tap pour chercher.";
"Japanese" = "Localisation japonaise";
"Vietnamese" = "Localisation vietnamienne"; /* Shorts options */
"Advanced" = "Mode avancé"; "Shorts" = "Shorts";
"AdvancedModeReminder" = "Voulez-vous activer le mode avancé pour YTLite ?\n\nCe mode offre plus de 50 options supplémentaires pour personnaliser et optimiser votre expérience YouTube. Vous pouvez l'activer/désactiver ultérieurement depuis Paramètres → %@ → %@ → %@."; "PlaybackMode" = "Playback completion action";
"ClearCache" = "Effacer le cache"; "Loop" = "Loop";
"ResetSettings" = "Réinitialiser les paramètres YTLite"; "ScrollToNext" = "Scroll to next";
"ResetMessage" = "Cette option réinitialisera les paramètres YTLite par défaut et fermera YouTube.\n\nÊtes-vous sûr de vouloir continuer ?"; "Stop" = "Stop";
"ShortsOnlyWarning" = "Êtes-vous sûr de vouloir activer ce mode?\n\nDans ce mode, vous ne pourrez regarder que des vidéos Shorts et vous ne pourrez rien d'autre faire.\n\nVous pouvez désactiver le mode Shorts Only en appuyant longuement avec deux doigts dans le lecteur Shorts."; "AutoSkipShorts" = "Auto-skip des Shorts";
"ShortsModeTurnedOff" = "Le mode Shorts uniquement a été désactivé"; "ShortsOnlyMode" = "Mode Shorts uniquement";
"Yes" = "Oui"; "ShortsOnlyModeDesc" = "Limite les fonctionnalités de YouTube à la visualisation des Shorts uniquement.";
"No" = "Non"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "Sélectionner une action"; "ShortsProgress" = "Activer la barre de progression";
"CopyTitle" = "Copier le titre"; "ShortsProgressDesc" = "Affiche la barre de progression dans l'overlay des Shorts.";
"CopyDescription" = "Copier la description"; "SpeedByLongTap" = "Augmenter la vitesse de lecture des Shorts";
"CopyPostText" = "Copy post text"; "SpeedByLongTapDesc" = "Permet d'accélérer la lecture en appuyant longuement sur une certaine partie de l'écran.";
"SavePostAsImage" = "Save post as image"; "SpeedLocation" = "Emplacement d'activation";
"CopyPostAsImage" = "Copy post as image"; "PinchToFullscreenShorts" = "Pincer pour le plein écran";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "Gère la visibilité de l'overlay avec les gestes de pincement, affichant les Shorts en mode plein écran.";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "Shorts vers vidéos normales";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "Ouvre les vidéos Shorts en tant que vidéos normales.";
"Cancel" = "Annuler"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "Copié dans le presse-papiers"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Saved" = "Enregistré dans Photos"; "HideShortsLogo" = "Masquer le logo Shorts";
"Done" = "Terminé"; "HideShortsLogoDesc" = "Masque le logo Shorts dans le coin supérieur gauche.";
"Error" = "Erreur"; "HideShortsSearch" = "Masquer le bouton de recherche";
"HideShortsSearchDesc" = "Masque le bouton de recherche de l'overlay Shorts.";
"HideShortsCamera" = "Masquer le bouton de l'appareil photo";
"HideShortsCameraDesc" = "Masque le bouton de l'appareil photo de l'overlay Shorts.";
"HideShortsMore" = "Masquer le bouton Plus (⋮)";
"HideShortsMoreDesc" = "Masque le bouton Plus (⋮) de l'overlay Shorts. Il est également accessible en appuyant longuement sur l'écran.";
"HideShortsSubscriptions" = "Masquer le bouton Abonnements";
"HideShortsSubscriptionsDesc" = "Masque le bouton Abonnements qui apparaît lorsque les Shorts sont en pause.";
/* Tab bar options */
"Tabbar" = "Barre d'onglets";
"Startup" = "Page de démarrage";
"FEwhat_to_watch" = "Accueil";
"FEexplore" = "Explorer";
"FEshorts" = "Shorts";
"FEsubscriptions" = "Abonnements";
"FElibrary" = "Bibliothèque";
"FEuploads" = "Créer";
"FEhistory" = "Historique";
"VLWL" = "À regarder plus tard";
"RemoveLabels" = "Supprimer les sous-titres";
"RemoveIndicators" = "Supprimer les indicateurs";
"ActiveTabs" = "Onglets actifs";
"InactiveTabs" = "Onglets inactifs";
"HideLibraryFooter" = "L'onglet Bibliothèque peut être masqué ou affiché en appuyant longuement sur le premier onglet de la barre d'onglets.";
"Warning" = "Avertissement";
"TabIsHidden" = "L'onglet masqué ne peut pas être sélectionné comme page de démarrage";
"TabIsStartupTab" = "L'onglet sélectionné comme page de démarrage ne peut pas être masqué";
"TabsCountRestricted" = "Vous ne pouvez pas avoir plus de six onglets actifs";
/* Interface options */
"Interface" = "Interface";
"OledTheme" = "Thème OLED";
"OledThemeDesc" = "Change toutes les couleurs sombres en noir OLED";
"NoSearchHistory" = "Masquer l'historique de recherche";
"NoSearchHistoryDesc" = "Masque visuellement l'historique de recherche et les suggestions. Note : Votre historique de recherche sera toujours accessible dans vos autres clients YouTube.";
"NoRelatedWatchNexts" = "Masquer toutes les vidéos sous le lecteur";
"NoRelatedWatchNextsDesc" = "Masque toutes les vidéos sous le lecteur, ne laissant que les informations sur la vidéo et la section des commentaires.";
"StickSortComments" = "Épingler l'en-tête des commentaires";
"StickSortCommentsDesc" = "Épingle l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il ne disparaisse pas pendant le défilement.";
"HideSortComments" = "Masquer l'en-tête des commentaires";
"HideSortCommentsDesc" = "Masque l'en-tête de tri des commentaires (Meilleurs, Plus récents) pour qu'il n'apparaisse jamais.";
"PlaylistOldMinibar" = "Ancienne barre latérale de lecture";
"PlaylistOldMinibarDesc" = "Remplace le nouveau panneau de lecture flottant par l'ancien.";
"OldYTUI" = "Ancienne interface";
"OldYTUIDesc" = "Usurpe la version de YouTube pour revenir à l'ancienne interface";
"DisableRTL" = "Désactiver le formatage de droite à gauche";
"DisableRTLDesc" = "Affiche le texte de force en format de gauche à droite (LTR) pour les langues qui sont initialement affichées de droite à gauche (RTL).";
"StartupAnimation" = "Animation de démarrage";
"StartupAnimationDesc" = "Affiche l'animation de chargement de YouTube au démarrage";
"InterfaceStyle" = "Style d'interface";
"MiniplayerStyle" = "Style du mini-lecteur";
"MiniplayerStyleDesc" = "Le passage au/du mode flottant nécessite de redémarrer l'application.";
"Floating" = "Flottant";
"ContextMenu" = "Menu contextuel";
"NativeShare" = "Feuille de partage native";
"NativeShareDesc" = "Utilise la feuille de partage du système pour partager les médias";
"RemoveInlineComment" = "Supprimer le commentaire en ligne";
"RemoveInlineCommentDesc" = "Supprime la section des commentaires sous le lecteur.";
"RemoveCommentGuidelines" = "Remove guidelines";
"RemoveCommentGuidelinesDesc" = "Removes pinned guidelines from the comments section.";
"RemovePlayNext" = "Supprimer \"Placer en première position dans la file d'attente\"";
"RemovePlayNextDesc" = "Supprime l'option \"Placer en première position dans la file d'attente\" du menu.";
"RemoveDownloadMenu" = "Supprimer \"Télécharger\"";
"RemoveDownloadMenuDesc" = "Supprime l'option \"Télécharger\" du menu.";
"RemoveWatchLaterMenu" = "Supprimer \"Enregistrer pour plus tard\"";
"RemoveWatchLaterMenuDesc" = "Supprime l'option \"Enregistrer pour plus tard\" du menu.";
"RemoveSaveToPlaylistMenu" = "Supprimer \"Enregistrer dans une playlist\"";
"RemoveSaveToPlaylistMenuDesc" = "Supprime l'option \"Enregistrer dans une playlist\" du menu.";
"RemoveShareMenu" = "Supprimer \"Partager\"";
"RemoveShareMenuDesc" = "Supprime l'option \"Partager\" du menu.";
"RemoveNotInterestedMenu" = "Supprimer \"Pas intéressé\"";
"RemoveNotInterestedMenuDesc" = "Supprime l'option \"Pas intéressé\" du menu.";
"RemoveDontRecommendMenu" = "Supprimer \"Ne pas recommander la chaîne\"";
"RemoveDontRecommendMenuDesc" = "Supprime l'option \"Ne pas recommander la chaîne\" du menu.";
"RemoveReportMenu" = "Supprimer \"Signaler\"";
"RemoveReportMenuDesc" = "Supprime l'option \"Signaler\" du menu.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Activer";
"EnableSponsorBlockDesc" = "Active l'extension SponsorBlock.";
"SegmentsInFeedPlayer" = "Afficher les segments dans le feed";
"SegmentsInFeedPlayerDesc" = "Affiche les segments colorés sur la barre de progression des lecteurs dans le feed.";
"SegmentsInMiniPlayer" = "Afficher les segments dans le mini-lecteur";
"SegmentsInMiniPlayerDesc" = "Affiche les segments colorés sur la barre de progression du mini-lecteur.";
"SegmentSkipAudio" = "Notification audio";
"SegmentSkipAudioDesc" = "Joue une notification audio lors du saut d'un segment.";
"DurationWithoutSegments" = "Afficher la nouvelle durée";
"DurationWithoutSegmentsDesc" = "Affiche la durée totale sans les segments.";
"SkipAlertDuration" = "Durée de l'alerte de saut";
"UnskipAlertDuration" = "Durée de l'alerte d'annulation de saut";
"Segments" = "Segments";
"Sponsor" = "Sponsor";
"SponsorDesc" = "Partie d'une vidéo promouvant un produit ou un service non directement lié au créateur. Le créateur recevra un paiement ou une compensation sous forme d'argent ou de produits gratuits";
"SponsorColor" = "Couleur du segment sponsor";
"Intro" = "Intermission/Animation d'intro";
"IntroDesc" = "Segments généralement trouvés au début d'une vidéo qui incluent une animation, une image fixe ou un clip également vus dans d'autres vidéos du même créateur.";
"IntroColor" = "Couleur du segment intro";
"Endcards" = "Cartes de fin/Crédits";
"EndcardsDesc" = "Généralement près ou à la fin de la vidéo lorsque les crédits apparaissent et/ou les cartes de fin sont affichées.";
"EndcardsColor" = "Couleur du segment cartes de fin";
"Interaction" = "Rappels d'interaction";
"InteractionDesc" = "Rappels explicites pour aimer, s'abonner ou interagir avec eux sur n'importe quelle plateforme payante ou gratuite (par exemple, cliquer sur une vidéo)";
"InteractionColor" = "Couleur du segment interaction";
"SelfPromo" = "Autopromotion non payée";
"SelfPromoDesc" = "Autopromotion : Promotion d'un produit ou service directement lié au créateur lui-même. Non payé : Le créateur ne recevra aucun paiement en échange de cette promotion";
"SelfPromoColor" = "Couleur du segment autopromotion";
"MusicOfftopic" = "Musique : Section hors sujet";
"MusicOfftopicDesc" = "À utiliser uniquement sur les vidéos dont la musique est le contenu principal.";
"MusicOfftopicColor" = "Couleur du segment hors sujet";
"Preview" = "Aperçu";
"PreviewDesc" = "Collection d'extraits montrant ce qui va suivre dans cette vidéo ou d'autres vidéos d'une série où toutes les informations sont répétées plus tard dans la vidéo.";
"PreviewColor" = "Couleur du segment aperçu";
"Highlight" = "Point fort";
"HighlightDesc" = "Utilisé pour arriver au point ou au moment fort d'une vidéo.";
"HighlightColor" = "Couleur du segment point fort";
"Jokes" = "Blagues/Digressions";
"JokesDesc" = "Les blagues/digressions sont uniquement pour les scènes tangentielles ajoutées pour du remplissage ou de l'humour qui ne sont pas nécessaires pour comprendre le contenu principal de la vidéo.";
"JokesColor" = "Couleur du segment blagues";
"Sb.Disable" = "Désactiver";
"Sb.Skip" = "Saut automatique";
"Sb.SkipTo" = "Sauter au segment";
"Sb.Ask" = "Demander";
"Sb.Display" = "Afficher dans le lecteur";
"sb_sponsor" = "Segment sponsor";
"sb_intro" = "Segment intro";
"sb_outro" = "Segment cartes de fin";
"sb_interaction" = "Segment interaction";
"sb_selfpromo" = "Segment autopromotion";
"sb_music_offtopic" = "Segment hors sujet";
"sb_preview" = "Segment aperçu";
"sb_poi_highlight" = "Segment point fort";
"sb_filler" = "Segment de remplissage";
"SegmentDetected" = "%@ détecté";
"SegmentSkipped" = "%@ a été sauté";
"SkippedToSegment" = "Sauté au %@";
"SkipSegment" = "Sauter";
"SkipToSegment" = "Aller au point fort";
"Unskip" = "Annuler le saut";
/* Developer section */
"Developer" = "Développeur";
"FollowMe" = "Me suivre sur X";
"SupportDevelopment" = "Soutenir le développement";
"DonateDesc" = "Votre soutien compte beaucoup pour moi";
"SupportDevelopmentDesc" = "Si vous aimez YTLite et souhaitez soutenir son développement, vous pouvez le faire en utilisant l'une des méthodes pratiques ci-dessous.\nMerci❤";
"VisitGithub" = "Github Repository";
"VisitGithubDesc" = "Star the repo, request a feature or report issues";
"VisitTelegram" = "My Telegram Channel";
"VisitTelegramDesc" = "Stay informed about the latest app updates";
/* Credits section */
"Credits" = "Crédits";
"Contributors" = "Contributeurs";
"DevContribution" = "Contribution au développement";
"SpecialThanks" = "Remerciements spéciaux";
"SpecialThanks.Test" = "Contribution inestimable aux tests du tweak";
"Localizations" = "Auteurs des traductions";
"ChineseSimplified" = "Localisation chinoise (simplifiée)";
"ChineseTraditional" = "Localisation chinoise (traditionnelle)";
"French" = "Localisation française";
"Spanish" = "Localisation espagnole";
"Japanese" = "Localisation japonaise";
"Vietnamese" = "Localisation vietnamienne";
"Arabic" = "Localisation arabe";
"Turkish" = "Localisation turque";
"OpenSourceLibs" = "Bibliothèques Open Source";
"Preferences" = "Préférences de %@";
"ManagePreferences" = "Gestion des préférences";
"ImportPreferences" = "Importer les préférences";
"PreImportMessage" = "Cette action remplacera les préférences actuelles par celles du fichier sélectionné.\n\nÊtes-vous sûr de vouloir continuer ?";
"ExportPreferences" = "Exporter les préférences";
"ResetSettings" = "Réinitialiser les paramètres YTLite";
"ResetMessage" = "Cette option réinitialisera les paramètres YTLite par défaut et fermera YouTube.\n\nÊtes-vous sûr de vouloir continuer ?";
"ManageCache" = "Gestion du cache";
"ClearCacheAtStart" = "Effacer le cache au démarrage";
"ClearCacheAtStartDesc" = "Efface automatiquement le cache au démarrage.";
"ClearCache" = "Effacer le cache";
"NoDonationReminder" = "Désactiver le rappel de don";
"NoDonationReminderDesc" = "Désactive le rappel de don rarement affiché.";
"ShortsOnlyWarning" = "Êtes-vous sûr de vouloir activer ce mode ?\n\nDans ce mode, vous ne pourrez regarder que des vidéos Shorts et vous ne pourrez rien faire d'autre.\n\nVous pouvez désactiver le mode Shorts uniquement en appuyant longuement avec deux doigts dans le lecteur Shorts.";
"ShortsModeTurnedOff" = "Le mode Shorts uniquement a été désactivé";
"AddLibraryTab" = "Restaurer l'onglet \"Vous\"";
"RemoveLibraryTab" = "Supprimer l'onglet \"Vous\"";
"LibraryAdded" = "L'onglet \"Vous\" a été restauré";
"LibraryRemoved" = "L'onglet \"Vous\" a été supprimé";
"Yes" = "Oui";
"No" = "Non";
"Select" = "Sélectionner";
"Default" = "Par défaut";
"Best" = "Meilleure";
"Show" = "Afficher";
"Disable" = "Désactiver";
"Disabled" = "Désactivé";
"PlaybackSpeed" = "Vitesse de lecture";
"SpeedPreserved" = "Vitesse conservée";
"ResetSpeed" = "Réinitialiser";
"Toast.Brightness" = "Luminosité";
"Toast.PlaybackSpeed" = "Vitesse de lecture";
"Toast.Volume" = "Volume";
"SelectAction" = "Sélectionner une action";
"DownloadVideo" = "Télécharger la vidéo";
"DownloadAudio" = "Télécharger l'audio";
"SaveImage" = "Enregistrer l'image";
"CopyInformation" = "Copier les informations";
"CopyChannelName" = "Copier le nom de la chaîne";
"CopyTitle" = "Copier le titre";
"CopyDescription" = "Copier la description";
"CopyTimestampedLink" = "Copier le lien avec horodatage";
"CopyTranscript" = "Copy transcript";
"PlayInExternalPlayer" = "Lire dans un lecteur externe";
"PlayInSystemPlayer" = "Lire dans le lecteur système";
"PlayInInfuse" = "Lire dans Infuse";
"PlayInVLC" = "Lire dans VLC";
"PlayerNotFound" = "Lecteur non trouvé";
"OpenAsRegularVideo" = "Ouvrir comme vidéo normale";
"CopyPostText" = "Copier le texte du post";
"SaveCurrentImage" = "Enregistrer l'image actuelle";
"CopyCurrentImage" = "Copier l'image actuelle";
"SavePostAsImage" = "Enregistrer le post comme image";
"CopyPostAsImage" = "Copier le post comme image";
"CopyCommentText" = "Copier le texte du commentaire";
"SaveCommentAsImage" = "Enregistrer le commentaire comme image";
"CopyCommentAsImage" = "Copier le commentaire comme image";
"SaveProfilePicture" = "Enregistrer la photo de profil";
"CopyProfilePicture" = "Copier la photo de profil";
"DownloadThumbnail" = "Enregistrer la miniature";
"CopyThumbnail" = "Copier la miniature";
"Cancel" = "Annuler";
"Cancelled" = "Annulé";
"Copied" = "Copié dans le presse-papiers";
"Saved" = "Enregistré dans Photos";
"Done" = "Terminé";
"NothingToShowInMenu" = "Nothing to show in this context menu";
"Error" = "Erreur";
"Error.Clipboard" = "Erreur. Vérifiez le presse-papiers pour plus d'infos";
"Error.PathIssue" = "Erreur. Problème de génération du chemin final. Problème avec le titre du média ?";
"Error.TryLater" = "Le média est en direct ou en cours de traitement sur le serveur Google.\n\nVeuillez réessayer plus tard.";
"Error.NoSpace" = "Espace insuffisant sur l'appareil.\n\nAu moins %@ d'espace libre supplémentaire est requis. Espace libre disponible : %@";
"Error.Multidownloading" = "Téléchargement multiple non disponible pour le moment.";
"Error.FailedToImport" = "Échec de l'importation des préférences";
"DownloadingVideo" = "Téléchargement de la vidéo";
"DownloadingAudio" = "Téléchargement de l'audio";
"ParsingCaptions" = "Parsing captions";
"ParsingTranscript" = "Parsing the transcript";
"Converting" = "Conversion";
"RetryLogin" = "Solution de contournement activée.\n\nVeuillez réessayer.";
"LoginInfo" = "Redémarrage de l'app requis après la connexion réussie au compte Google";
"Welcome.Download" = "Télécharger des médias";
"Welcome.DownloadDesc" = "Téléchargez vos contenus préférés, qu'il s'agisse de vidéos, Shorts, audio ou photos de profil. Copiez les posts et commentaires intéressants ou enregistrez-les en tant qu'images";
"Welcome.Content" = "Ajuster l'interface";
"Welcome.ContentDesc" = "Supprimez les contenus et éléments d'interface indésirables. Activez le vrai mode sombre OLED";
"Welcome.Player" = "Configurer le comportement du lecteur";
"Welcome.PlayerDesc" = "Personnalisez le comportement du lecteur, sélectionnez automatiquement la qualité et la vitesse de lecture. Contrôlez à l'aide de gestes";
"Welcome.More" = "Et encore plus...";
"Welcome.MoreDesc" = "YTPlus comprend plus de 50 options différentes, y compris des fonctionnalités comme la sauvegarde des préférences et le nettoyage du cache. Les paramètres sont disponibles dans la section YTPlus des paramètres YouTube";
"SupportMe" = "Me soutenir";
"Continue" = "Continuer";
"Conflicts.Detected" = "Tweaks incompatibles détectés";
"Conflicts.DetectedDesc" = "Malgré la stabilité apparente de l'application, le développeur de YouTube Plus ne recommande pas de combiner des tweaks ayant des fonctionnalités similaires dans la même application et ne peut garantir une utilisation sûre.\n\nEn continuant à utiliser l'application, vous assumez l'entière responsabilité et acceptez que toute plainte concernant les performances sera ignorée.";
"Conflicts.AcceptRisks" = "J'accepte tous les risques";
"Conflicts.CloseYT" = "Fermer YouTube";
"DonationReminder" = "Votre soutien aide à rendre YouTube Plus encore meilleur.\n\nVous pouvez contribuer ou choisir de désactiver ces notifications dans les paramètres de YouTube Plus. Merci💜";
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

@@ -1,219 +1,507 @@
"General" = "一般"; /* Main section */
"RemoveAds" = "広告を削除"; "Main" = "Main";
"RemoveAdsDesc" = "アプリ内の広告を削除します";
"BackgroundPlayback" = "バックグラウンド再生"; /* Downloading options */
"BackgroundPlaybackDesc" = "バックグラウンドでの再生を有効にします"; "Downloading" = "ダウンロード";
"DownloadManager" = "ダウンロードマネジャー";
"Navbar" = "ナビゲーションバー"; "DownloadManagerDesc" = "プレーヤー下の「オフライン」ボタンのアクションを「ダウンロードマネージャー」に置き換えます。これにより、ビデオ、オーディオ、サムネイル画像のダウンロード、およびビデオ情報のコピーが可能になります。";
"RemoveCast" = "キャストボタンを非表示"; "PostManager" = "投稿情報を保存する";
"RemoveCastDesc" = "ナビゲーションバーからキャストボタンを非表示にします"; "PostManagerDesc" = "概要欄を長押しするとテキストを選択できるようになり、コピーなどができます";
"RemoveNotifications" = "通知ボタンを非表示"; "SaveProfilePhoto" = "プロフィール写真を保存する";
"RemoveNotificationsDesc" = "ナビゲーションバーから通知ボタンを非表示にします"; "SaveProfilePhotoDesc" = "長押しするとプロフィール写真が写真アプリに保存されます";
"RemoveSearch" = "検索ボタンを非表示"; "CommentManager" = "コメント情報を保存する";
"RemoveSearchDesc" = "ナビゲーションバーから検索ボタンを非表示にします"; "CommentManagerDesc" = "コメント欄を長押しするとテキストをコピーしたり、コメントを画像として保存などができます";
"RemoveVoiceSearch" = "音声検索ボタンを非表示";
"RemoveVoiceSearchDesc" = "ナビゲーションバーから音声検索ボタンを非表示にします"; "YtlButtonPosition" = "Downloading button placement";
"StickyNavbar" = "ナビゲーションバーを固定"; "UnderPlayer" = "Under the player";
"StickyNavbarDesc" = "スクロール中もナビゲーションバーを固定して表示します"; "Overlay" = "Overlay";
"NoSubbar" = "サブバーを非表示"; "Both" = "Both";
"NoSubbarDesc" = "ナビゲーションバーの下にあるサブバー(すべて,音楽,ライブ など)を非表示にします";
"NoYTLogo" = "YouTubeロゴを削除"; "PostDownloadAction" = "Post-download action";
"NoYTLogoDesc" = "ナビゲーションバーのYouTubeロゴを非表示にします"; "PostDownloadDesc" = "The selected action will be performed upon successful completion of the video download.";
"SaveToPhotos" = "Save to photos";
"Overlay" = "オーバーレイ"; "Share" = "Share";
"HideAutoplay" = "自動再生スイッチを非表示"; "Ask" = "Ask";
"HideAutoplayDesc" = "オーバーレイから自動再生スイッチを非表示にします"; "DownloadCompleted" = "Download completed";
"HideSubs" = "字幕ボタンを非表示";
"HideSubsDesc" = "オーバーレイから字幕ボタンを非表示にします"; "PreferredAudio" = "Preferred audio track";
"NoHUDMsgs" = "HUDメッセージを非表示"; "Selected" = "Selected";
"NoHUDMsgsDesc" = "プレーヤーからすべての機能メッセージを非表示にします。例:字幕がオン/オフになりました, ループ再生はオンになっています など"; "English" = "English";
"HidePrevNext" = "前へ/次へボタンを非表示"; "SelectAudioTrack" = "Select audio track";
"HidePrevNextDesc" = "オーバーレイから前へ/次へのビデオボタンを非表示にします"; "EnglishNotFound" = "English audio track not found";
"ReplacePrevNext" = "早送り/巻き戻しボタンに置き換え";
"ReplacePrevNextDesc" = "オーバーレイの前へ/次へボタンを早送り/巻き戻しボタンに置き換えます"; "Captions" = "Captions/Subtitles";
"NoDarkBg" = "暗い背景を削除"; "EmbedCapsToVideos" = "Embed captions";
"NoDarkBgDesc" = "オーバーレイの暗い背景を削除します"; "EmbedCapsToVideosDesc" = "Embeds selected captions/subtitles into videos.";
"NoEndScreenCards" = "エンドスクリーンのホバーカードを非表示"; "EmbedAutoGenCaps" = "Auto-generated/translated captions";
"NoEndScreenCardsDesc" = "動画の終わりに表示されるエンドスクリーン(サムネイル)を非表示にします"; "EmbedAutoGenCapsDesc" = "Adds auto-generated, translated, and auto-translated captions to the captions/subtitles list.";
"NoFullscreenActions" = "フルスクリーンアクションを無効化"; "DownloadCaptions" = "Download captions";
"NoFullscreenActionsDesc" = "フルスクリーンモードでのアクションパネルを無効にします"; "SelectCaption" = "Select captions/subtitles";
"PersistentProgressBar" = "Persistent progress bar"; "Translated" = "translated";
"PersistentProgressBarDesc" = "Always shows progress bar in the player."; "TranslatedAutoGen" = "auto-translated";
"NoRelatedVids" = "オーバーレイの関連動画を非表示";
"NoRelatedVidsDesc" = "スワイプアップでオーバーレイに表示される関連動画を非表示にします"; /* Nav bar options */
"NoPromotionCards" = "有料プロモーションカードを非表示"; "Navbar" = "ナビゲーションバー";
"NoPromotionCardsDesc" = "プロモーションが含まれている動画の\"有料プロモーションを含む\"カードを非表示にします"; "RemoveCast" = "キャストボタンを非表示";
"NoWatermarks" = "ウォーターマークを非表示"; "RemoveCastDesc" = "ナビゲーションバーからキャストボタンを非表示にします。";
"NoWatermarksDesc" = "プレーヤーからチャンネルのウォーターマークを非表示にします"; "RemoveNotifications" = "通知ボタンを非表示";
"RemoveNotificationsDesc" = "ナビゲーションバーから通知ボタンを非表示にします。";
"Player" = "プレーヤー"; "RemoveSearch" = "検索ボタンを非表示";
"Miniplayer" = "ミニプレーヤーを有効化"; "RemoveSearchDesc" = "ナビゲーションバーから検索ボタンを非表示にします。";
"MiniplayerDesc" = "ミニプレーヤーに対応していない動画(子供向けの動画など)でもミニプレーヤーを有効にします"; "RemoveVoiceSearch" = "音声検索ボタンを非表示";
"PortraitFullscreen" = "縦画面フルスクリーンモード"; "RemoveVoiceSearchDesc" = "ナビゲーションバーから音声検索ボタンを非表示にします。";
"PortraitFullscreenDesc" = "縦画面フルスクリーンモードをサポートします"; "StickyNavbar" = "ナビゲーションバーを固定";
"CopyWithTimestamp" = "タイムスタンプ付きリンクをコピー"; "StickyNavbarDesc" = "スクロール中もナビゲーションバーを固定して表示します。";
"CopyWithTimestampDesc" = "一時停止ボタンを押すことで、タイムスタンプ付きリンクをクリップボードにコピーできます"; "NoSubbar" = "サブバーを非表示";
"DisableAutoplay" = "自動再生を無効化"; "NoSubbarDesc" = "ナビゲーションバーの下にあるサブバー(すべて、音楽、ライブなど)を非表示にします。";
"DisableAutoplayDesc" = "アプリを開いた後に動画の自動再生を防止します"; "NoYTLogo" = "YouTubeロゴを削除";
"DisableAutoCaptions" = "Disable auto captions"; "NoYTLogoDesc" = "ナビゲーションバーのYouTubeロゴを非表示にします。";
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions."; "PremiumYTLogo" = "YouTubeプレミアムロゴをセット";
"NoContentWarning" = "コンテンツ警告をスキップ"; "PremiumYTLogoDesc" = "ロゴをYouTubeプレミアムのものへ置き換えます。";
"NoContentWarningDesc" = "不適切なコンテンツの警告メッセージをスキップします";
"ClassicQuality" = "クラシックなビデオ品質"; /* Feed options */
"ClassicQualityDesc" = "クラシックなビデオ品質選択メニューを復元します"; "Feed" = "フィード";
"ExtraSpeedOptions" = "再生速度の追加オプション"; "RemoveAds" = "広告を削除";
"ExtraSpeedOptionsDesc" = "プレーヤーメニューに追加の再生速度オプションを追加します"; "RemoveAdsDesc" = "アプリ内の広告を削除します";
"DontSnap2Chapter" = "チャプターへのスナップを無効化"; "HideShorts" = "ショート動画を非表示";
"DontSnap2ChapterDesc" = "ダブルタップジェスチャーで次のエピソードへスキップするのを無効にします"; "HideShortsDesc" = "ホーム、おすすめなどからショート動画を非表示にします(視聴履歴には適用されません)";
"RedProgressBar" = "赤いプログレスバー"; "KeepSubsShorts" = "ショート動画を登録リストに残す";
"RedProgressBarDesc" = "赤いプログレスバーを復元します"; "KeepSubsShortsDesc" = "[登録チャンネル] タブからショート動画を削除できないようにします";
"NoHints" = "ヒントを無効化"; "RemoveCommunityPosts" = "コミュニティ投稿を削除する";
"NoHintsDesc" = "再生中に右上に表示される投稿者のヒントを無効にします"; "RemoveCommunityPostsDesc" = "フィードからコミュニティ投稿を削除します";
"NoFreeZoom" = "フリーズームジェスチャーを無効化"; "RemoveMoreTopics" = "その他のトピックを削除";
"NoFreeZoomDesc" = "新しいフリーズームジェスチャーを無効にします"; "RemoveMoreTopicsDesc" = "フィードから「その他のトピック」を削除します";
"AutoFullscreen" = "動画をフルスクリーンで再生"; "RemoveMixPlaylists" = "Remove mixes";
"AutoFullscreenDesc" = "動画を自動的にフルスクリーンモードで再生します"; "RemoveMixPlaylistsDesc" = "Removes mix playlist generated by YouTube from the feed.";
"ExitFullscreen" = "再生終了時にフルスクリーンモードを終了"; "RemoveLiveVids" = "Remove Live streams";
"ExitFullscreenDesc" = "動画再生が終了したときにフルスクリーンモードを終了します"; "RemoveLiveVidsDesc" = "Removes Live streams from the Home tab.";
"NoDoubleTap2Seek" = "ダブルタップでのシークを無効化"; "RemoveHorizontalFeeds" = "Remove horizontal feeds";
"NoDoubleTap2SeekDesc" = "ダブルタップでのシークジェスチャーを無効にします"; "RemoveHorizontalFeedsDesc" = "Removes all horizontal feeds (News, Continue Watching, Posts collection, etc.) from the Home tab.";
"FixAlbums" = "カバーの修正";
"Tabbar" = "タブバー"; "FixAlbumsDesc" = "ロシアユーザー向けのカバーの表示を修正します。";
"RemoveLabels" = "ラベルを削除";
"RemoveLabelsDesc" = "タブラベルを削除します"; /* Player options */
"RemoveIndicators" = "インジケーターを削除"; "Player" = "プレーヤー";
"RemoveIndicatorsDesc" = "タブインジケーターを削除します"; "PlaybackQualityOnWiFi" = "WiFiでの再生品質";
"ReExplore" = "ショートタブを探索タブに置き換え"; "PlaybackQualityOnCellular" = "モバイル通信での再生品質";
"ReExploreDesc" = "古いYouTubeバージョンのように、ショートタブの代わりに探索タブを表示します";
"AddExplore" = "Add Explore tab"; "PreferredCaptions" = "Preferred captions";
"AddExploreDesc" = "Adds Explore tab to the Tab bar."; "Original" = "Original";
"HideShortsTab" = "ショートタブを非表示"; "Custom" = "Select manually";
"HideShortsTabDesc" = "タブバーからショートタブを非表示にします"; "CustomAudioTrack" = "Selected audio track";
"HideSubscriptionsTab" = "登録チャンネルタブを非表示"; "CustomCaptions" = "Selected captions";
"HideSubscriptionsTabDesc" = "タブバーから登録チャンネルタブを非表示にします"; "AutoGenCaps" = "Auto-generated captions";
"HideUploadButton" = "アップロードボタンを非表示"; "AutoGenCapsDesc" = "If the selected captions are not found, YouTube Plus will try to select either a translation of original captions or a translation of auto-generated captions.";
"HideUploadButtonDesc" = "タブバーからアップロードボタンを非表示にします";
"HideLibraryTab" = "ライブラリタブを非表示"; "Player.Interface" = "インターフェース";
"HideLibraryTabDesc" = "タブバーからライブラリタブを非表示にします"; "SpeedControls" = "スピードコントロール";
"SpeedControlsDesc" = "オーバーレイにスピードコントロールボタンを表示します。";
"Shorts" = "ショート"; "HideAutoplay" = "自動再生スイッチを非表示";
"ShortsOnlyMode" = "Shorts Only Mode"; "HideAutoplayDesc" = "オーバーレイから自動再生スイッチを非表示にします。";
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only."; "HideSubs" = "字幕ボタンを非表示";
"HideShorts" = "ショート動画を非表示"; "HideSubsDesc" = "オーバーレイから字幕ボタンを非表示にします。";
"HideShortsDesc" = "ホーム, おすすめなどからショート動画を非表示にします(視聴履歴には適用されません)"; "HidePrevNext" = "前へ/次へボタンを非表示";
"ShortsProgress" = "プログレスバーを有効化"; "HidePrevNextDesc" = "オーバーレイから前へ/次へのビデオボタンを非表示にします。";
"ShortsProgressDesc" = "ショートオーバーレイにプログレスバーを表示します"; "ReplacePrevNext" = "早送り/巻き戻しボタンに置き換え";
"PinchToFullscreenShorts" = "Pinch to Fullscreen"; "ReplacePrevNextDesc" = "オーバーレイの前へ/次へボタンを早送り/巻き戻しボタンに置き換えます。";
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode."; "RememberLoopMode" = "Remember loop mode";
"ShortsToRegular" = "Shorts to regular videos"; "RememberLoopModeDesc" = "Remembers the last selected loop mode in the player menu.";
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos."; "FullscreenToTheLeft" = "Fullscreen on left rotation";
"ResumeShorts" = "ショートタブからの再開を防止"; "FullscreenToTheLeftDesc" = "Fullscreen mode will rotate the device to the left orientation instead of the usual right.";
"ResumeShortsDesc" = "ショートを視聴中にアプリを閉じた場合でも、ショートからの再開を防止します"; "PortraitFullscreen" = "縦画面フルスクリーンモード";
"HideShortsLogo" = "ショートロゴを非表示"; "PortraitFullscreenDesc" = "縦画面フルスクリーンモードをサポートします。";
"HideShortsLogoDesc" = "左上隅のショートロゴを非表示にします"; "ClassicQuality" = "クラシックなビデオ品質";
"HideShortsSearch" = "検索ボタンを非表示"; "ClassicQualityDesc" = "クラシックなビデオ品質選択メニューを復元します。";
"HideShortsSearchDesc" = "ショートオーバーレイから検索ボタンを非表示にします"; "ExtraSpeedOptions" = "再生速度の追加オプション";
"HideShortsCamera" = "カメラボタンを非表示"; "ExtraSpeedOptionsDesc" = "プレーヤーメニューに追加の再生速度オプションを追加します。";
"HideShortsCameraDesc" = "ショートオーバーレイからカメラボタンを非表示にします"; "NoDarkBg" = "暗い背景を削除";
"HideShortsMore" = "その他(⋮)ボタンを非表示"; "NoDarkBgDesc" = "オーバーレイの暗い背景を削除します。";
"HideShortsMoreDesc" = "ショートオーバーレイからその他(⋮)ボタンを非表示にします。画面の長押しでアクセスも可能です"; "NoEndScreenCards" = "エンドスクリーンのホバーカードを非表示";
"HideShortsSubscriptions" = "チャンネル登録ボタンを非表示"; "NoEndScreenCardsDesc" = "動画の終わりに表示されるエンドスクリーン(サムネイル)を非表示にします。";
"HideShortsSubscriptionsDesc" = "ショートが一時停止されたときに表示されるチャンネル登録ボタンを非表示にします"; "NoAutonavEndScreenCards" = "自動再生画面を非表示にす";
"HideShortsLike" = "いいねボタンを非表示"; "NoAutonavEndScreenCardsDesc" = "再生終了後に次に再生できるものを表示する画面を非表示にします。このオプションで無効にすると、自動再生も無効になります。";
"HideShortsLikeDesc" = "ショートオーバーレイからいいねボタンを非表示にします"; "NoFullscreenActions" = "フルスクリーンアクションを無効化";
"HideShortsDislike" = "低評価ボタンを非表示"; "NoFullscreenActionsDesc" = "フルスクリーンモードでのアクションパネルを無効にします";
"HideShortsDislikeDesc" = "ショートオーバーレイから低評価ボタンを非表示にします"; "PersistentProgressBar" = "プログレスバーの持続";
"HideShortsComments" = "コメントボタンを非表示"; "PersistentProgressBarDesc" = "全画面プレーヤーでもプログレスバーを常に表示します。";
"HideShortsCommentsDesc" = "ショートオーバーレイからコメントボタンを非表示にします"; "RedProgressBar" = "赤いプログレスバー";
"HideShortsRemix" = "リミックスボタンを非表示"; "RedProgressBarDesc" = "赤いプログレスバーを復元します。";
"HideShortsRemixDesc" = "ショートオーバーレイからリミックスボタンを非表示にします"; "StockVolumeHUD" = "ボリュームHUD";
"HideShortsShare" = "共有ボタンを非表示"; "StockVolumeHUDDesc" = "フルスクリーンの時でもiOSデフォルトのボリュームHUDを使用します。";
"HideShortsShareDesc" = "ショートオーバーレイから共有ボタンを非表示にします"; "NoRelatedVids" = "オーバーレイの関連動画を非表示";
"HideShortsAvatars" = "チャンネルのアバターを非表示"; "NoRelatedVidsDesc" = "スワイプアップでオーバーレイに表示される関連動画を非表示にします。";
"HideShortsAvatarsDesc" = "右下隅のプロフィール画像を非表示にします"; "NoPromotionCards" = "有料プロモーションカードを非表示";
"HideShortsThanks" = "スーパーサンクスボタンを非表示"; "NoPromotionCardsDesc" = "プロモーションが含まれている動画の「有料プロモーションを含む」カードを非表示にします。";
"HideShortsThanksDesc" = "ショートオーバーレイからスーパーサンクス(寄付)ボタンを非表示にします"; "NoWatermarks" = "ウォーターマークを非表示";
"HideShortsSource" = "Hide Shorts Source"; "NoWatermarksDesc" = "プレーヤーからチャンネルのウォーターマークを非表示にします。";
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name."; "VideoEndTime" = "再生終了時刻を表示";
"HideShortsChannelName" = "チャンネル名を非表示"; "VideoEndTimeDesc" = "プレーヤー バーにビデオの再生終了時刻を追加します。";
"HideShortsChannelNameDesc" = "ショートオーバーレイからチャンネル名とチャンネル登録ボタンを非表示にします"; "24hrFormat" = "24時間フォーマット";
"HideShortsDescription" = "説明を非表示"; "24hrFormatDesc" = "終了時刻を24時間形式で表示します。";
"HideShortsDescriptionDesc" = "チャンネル名の下に表示されるショートの説明を非表示にします";
"HideShortsAudioTrack" = "オーディオトラックを非表示"; "Player.Actions" = "アクション";
"HideShortsAudioTrackDesc" = "ショートの説明の下に表示されるオーディオトラックを非表示にします"; "DefaultPlaybackRate" = "デフォルトの再生速度";
"BackgroundPlayback" = "バックグラウンド再生";
"Other" = "その他"; "BackgroundPlaybackDesc" = "バックグラウンドでの再生を有効にします。";
"CopyVideoInfo" = "Copy video information"; "Miniplayer" = "ミニプレーヤーを有効化";
"CopyVideoInfoDesc" = "Adds button to copy video title and description into Video Description panel."; "MiniplayerDesc" = "ミニプレーヤーに対応していない動画(子供向けの動画など)でもミニプレーヤーを有効にします。";
"PostManager" = "Save post information"; "DisableAutoplay" = "自動再生を無効化";
"PostManagerDesc" = "Allows to copy post text and save post as image by long tap."; "DisableAutoplayDesc" = "アプリを開いた後に動画の自動再生を防止します。";
"SavePostImage" = "Save community posts image"; "DisableAutoCaptions" = "自動字幕を無効にする";
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap."; "DisableAutoCaptionsDesc" = "キャプションの自動アクティブ化を防止します。";
"SaveProfilePhoto" = "Save profile picture"; "NoContentWarning" = "コンテンツ警告をスキップ";
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap."; "NoContentWarningDesc" = "不適切なコンテンツの警告メッセージをスキップします。";
"CommentManager" = "Save comment information"; "NoHints" = "ヒントを無効化";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "再生中に右上に表示される投稿者のヒントを無効にします。";
"FixAlbums" = "Fix covers"; "AutoFullscreen" = "動画をフルスクリーンで再生";
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia."; "AutoFullscreenDesc" = "動画を自動的にフルスクリーンモードで再生します。";
"RemovePlayNext" = "\"次に再生\"を削除"; "ExitFullscreen" = "再生終了時にフルスクリーンモードを終了";
"RemovePlayNextDesc" = "メニューから\"次に再生\"オプションを削除します"; "ExitFullscreenDesc" = "動画再生が終了したときにフルスクリーンモードを終了します";
"NoContinueWatching" = "\"続きを見る\"を削除";
"NoContinueWatchingDesc" = "ホームページに未完成の動画を含む\"続きを見る\"セクションを削除します"; "Player.Gestures" = "ジェスチャー";
"NoSearchHistory" = "検索履歴を非表示"; "LeftSideGesture" = "Gesture for the left side";
"NoSearchHistoryDesc" = "検索履歴とサジェストを視覚的に非表示にします。注意:検索履歴は他のYouTubeクライアントからアクセス可能です"; "RightSideGesture" = "Gesture for the right side";
"NoRelatedWatchNexts" = "プレーヤー下のすべての動画を非表示"; "ActivationAreaWidth" = "Gesture Activation Width";
"NoRelatedWatchNextsDesc" = "プレーヤー下に表示されるすべての動画を非表示にし、動画情報とコメントセクションのみにします"; "ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"StickSortComments" = "コメントヘッダーを固定"; "HoldToSpeed" = "再生速度を維持";
"StickSortCommentsDesc" = "コメントのソートヘッダー(トップ,最新)をスクロールしても消えないように固定します"; "AdjustWithFinger" = "ジェスチャーで速度を調整する";
"HideSortComments" = "コメントヘッダーを非表示"; "AdjustWithFingerDesc" = "プレーヤーを長押しして指を上下に動かすことで再生速度を調整できます。";
"HideSortCommentsDesc" = "コメントのソートヘッダー(トップ,最新)を表示しないようにします"; "PreserveSpeed" = "速度を維持";
"PlaylistOldMinibar" = "古いプレイリストミニバー"; "PreserveSpeedDesc" = "ジェスチャー終了後も調整された速度を維持します。";
"PlaylistOldMinibarDesc" = "新しいフローティングプレイリストパネルを古いものに置き換えます"; "SeekAnywhere" = "Swipe to seek";
"DisableRTL" = "RTLフォーマットを無効化"; "SeekAnywhereDesc" = "Allows controlling playback seeking by swiping left and right.";
"DisableRTLDesc" = "RTLで表示される言語を左から右(LTR)の形式で表示するように強制します"; "SeekMethod" = "Seek method";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Startup" = "スタートアップページ"; "Independent" = "Independent";
"Home" = "ホーム"; "DurationBased" = "Duration-based";
"Explore" = "探索"; "SeekSensitivity" = "Seek sensitivity";
"ShortsTab" = "ショート"; "TwoFingerTapToPause" = "2本の指で一時停止";
"Subscriptions" = "登録チャンネル"; "TwoFingerTapToPauseDesc" = "2 本の指で画面をタップして再生を一時停止/再開します。";
"Library" = "ライブラリ"; "TwoFingerPanToBrightness" = "明るさを調整する";
"Warning" = "警告"; "TwoFingerPanToBrightnessDesc" = "2 本の指で上下にスライドして画面の明るさを調整できます。";
"TabIsHidden" = "非表示のタブはスタートアップページとして選択できません"; "CopyWithTimestamp" = "タイムスタンプ付きリンクをコピー";
"CopyWithTimestampDesc" = "一時停止ボタンを押すことで、タイムスタンプ付きリンクをクリップボードにコピーできます。";
"DonateViaPayPal" = "Donate via PayPal"; "PauseOnOverlay" = "オーバーレイで一時停止";
"SupportViaGhSponsors" = "Support development via Github Sponsors"; "PauseOnOverlayDesc" = "オーバーレイが表示された場合、再生を一時停止します。";
"Version" = "バージョン"; "DontSnap2Chapter" = "チャプターへのスナップを無効化";
"About" = "About"; "DontSnap2ChapterDesc" = "ダブルタップジェスチャーで次のエピソードへスキップするのを無効にします";
"Credits" = "クレジット"; "NoTwoFingerSnapToChapter" = "2本指ダブルタップを無効にする";
"Developer" = "YTLiteの開発者"; "NoTwoFingerSnapToChapterDesc" = "2本指でダブルタップしてチャプターにスナップするジェスチャを無効にします。";
"ChineseSimplified" = "中国語(簡体字)翻訳"; "NoFreeZoom" = "フリーズームジェスチャーを無効化";
"ChineseTraditional" = "中国語(繁体字)翻訳"; "NoFreeZoomDesc" = "新しいフリーズームジェスチャーを無効にします。";
"French" = "フランス語翻訳"; "NoDoubleTap2Seek" = "ダブルタップでのシークを無効化";
"Spanish" = "スペイン語翻訳"; "NoDoubleTap2SeekDesc" = "ダブルタップでのシークジェスチャーを無効にします。";
"Japanese" = "日本語翻訳";
"Vietnamese" = "Vietnamese localization"; /* Shorts options */
"Advanced" = "アドバンスモード"; "Shorts" = "ショート";
"AdvancedModeReminder" = "YTLiteでアドバンスモードを有効にしますか?\n\nこのモードでは50以上の追加オプションを使用してYouTubeのカスタマイズと最適化が可能です。後で、設定 → %@ → %@ → %@から変更できます"; "PlaybackMode" = "Playback completion action";
"ClearCache" = "Clear cache"; "Loop" = "Loop";
"ResetSettings" = "YTLiteの設定をリセット"; "ScrollToNext" = "Scroll to next";
"ResetMessage" = "このオプションを選択するとYTLiteの設定がデフォルトにリセットされ、アプリが終了します。\n\n続行してもよろしいですか?"; "Stop" = "Stop";
"ShortsOnlyWarning" = "Are you sure you want to activate this mode?\n\nIn this mode, you will only be able to watch Shorts videos and won't be able to do anything else.\n\nYou can disable Shorts Only Mode by long pressing with two fingers in the Shorts player."; "AutoSkipShorts" = "ショート動画を自動スキップ";
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off"; "ShortsOnlyMode" = "ショートのみモード";
"Yes" = "はい"; "ShortsOnlyModeDesc" = "YouTubeの機能をショート動画の視聴のみに制限します。注意:これをOnにすると他の操作は行えません。";
"No" = "いいえ"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "Select action"; "ShortsProgress" = "プログレスバーを有効化";
"CopyTitle" = "Copy title"; "ShortsProgressDesc" = "ショートオーバーレイにプログレスバーを表示します。";
"CopyDescription" = "Copy description"; "SpeedByLongTap" = "ショート動画の再生速度を上げる";
"CopyPostText" = "Copy post text"; "SpeedByLongTapDesc" = "画面の特定の部分を長押しすることで再生速度をUpできます。";
"SavePostAsImage" = "Save post as image"; "SpeedLocation" = "アクティベーションの場所";
"CopyPostAsImage" = "Copy post as image"; "PinchToFullscreenShorts" = "ピンチして全画面表示";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "ピンチインとピンチアウトのジェスチャでオーバーレイの表示を管理し、ショート動画を全画面モードで表示します。";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "ショートから通常の動画";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "ショート動画を通常の動画として開きます。";
"Cancel" = "Cancel"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "Copied to clipboard"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Saved" = "Saved to Photos"; "HideShortsLogo" = "ショートロゴを非表示";
"Done" = "Done"; "HideShortsLogoDesc" = "左上隅のショートロゴを非表示にします。";
"Error" = "Error"; "HideShortsSearch" = "検索ボタンを非表示";
"HideShortsSearchDesc" = "ショートオーバーレイから検索ボタンを非表示にします。";
"HideShortsCamera" = "カメラボタンを非表示";
"HideShortsCameraDesc" = "ショートオーバーレイからカメラボタンを非表示にします。";
"HideShortsMore" = "その他「⋮」ボタンを非表示";
"HideShortsMoreDesc" = "ショートオーバーレイからその他「⋮」ボタンを非表示にします。画面の長押しでアクセスも可能です。";
"HideShortsSubscriptions" = "チャンネル登録ボタンを非表示";
"HideShortsSubscriptionsDesc" = "ショートが一時停止されたときに表示されるチャンネル登録ボタンを非表示にします。";
/* Tab bar options */
"Tabbar" = "タブバー";
"Startup" = "スタートアップページ";
"FEwhat_to_watch" = "ホーム";
"FEexplore" = "探索";
"FEshorts" = "ショート";
"FEsubscriptions" = "登録チャンネル";
"FElibrary" = "ライブラリ";
"FEuploads" = "Create";
"FEhistory" = "History";
"VLWL" = "Watch Later";
"RemoveLabels" = "ラベルを削除";
"RemoveIndicators" = "インジケーターを削除";
"ActiveTabs" = "Active tabs";
"InactiveTabs" = "Inactive tabs";
"HideLibraryFooter" = "Library tab can be hidden or shown by long pressing the first tab of the tab bar.";
"Warning" = "警告";
"TabIsHidden" = "非表示のタブはスタートアップページとして選択できません。";
"TabIsStartupTab" = "The tab selected as the startup page cannot be hidden";
"TabsCountRestricted" = "You can only have up to six active tabs";
/* Interface options */
"Interface" = "インターフェース";
"OledTheme" = "OLEDテーマ";
"OledThemeDesc" = "すべての暗い色を黒に変えます。";
"NoSearchHistory" = "検索履歴を非表示";
"NoSearchHistoryDesc" = "検索履歴とサジェストを視覚的に非表示にします。注意:検索履歴は他のYouTubeクライアントからアクセス可能です。";
"NoRelatedWatchNexts" = "プレーヤー下のすべての動画を非表示";
"NoRelatedWatchNextsDesc" = "プレーヤー下に表示されるすべての動画を非表示にし、動画情報とコメントセクションのみにします。";
"StickSortComments" = "コメントヘッダーを固定";
"StickSortCommentsDesc" = "コメントのソートヘッダー(トップ、最新)をスクロールしても消えないように固定します。";
"HideSortComments" = "コメントヘッダーを非表示";
"HideSortCommentsDesc" = "コメントのソートヘッダー(トップ、最新)を表示しないようにします。";
"PlaylistOldMinibar" = "古いプレイリストミニバー";
"PlaylistOldMinibarDesc" = "新しいフローティングプレイリストパネルを古いものに置き換えます。";
"OldYTUI" = "古い UI";
"OldYTUIDesc" = "YouTubeバージョンを偽装して、古いインターフェースに戻します。";
"DisableRTL" = "RTLフォーマットを無効化";
"DisableRTLDesc" = "RTLで表示される言語を左から右(LTR)の形式で表示するように強制します";
"StartupAnimation" = "起動アニメーション";
"StartupAnimationDesc" = "YouTubeの起動読み込みアニメーションを表示します。";
"InterfaceStyle" = "Interface style";
"MiniplayerStyle" = "Miniplayer style";
"MiniplayerStyleDesc" = "Switching to/from floating mode requires restarting the app.";
"Floating" = "Floating";
"ContextMenu" = "Context menu";
"NativeShare" = "システムのシェアシート";
"NativeShareDesc" = "システムの共有シートを使用してメディアを共有します。";
"RemoveInlineComment" = "インラインコメントを削除";
"RemoveInlineCommentDesc" = "プレーヤーの下のコメントセクションを削除します。";
"RemoveCommentGuidelines" = "Remove guidelines";
"RemoveCommentGuidelinesDesc" = "Removes pinned guidelines from the comments section.";
"RemovePlayNext" = "「次に再生」を削除";
"RemovePlayNextDesc" = "メニューから「次に再生」オプションを削除します。";
"RemoveDownloadMenu" = "「ダウンロード」を削除";
"RemoveDownloadMenuDesc" = "メニューから「ダウンロード」オプションを削除します。";
"RemoveWatchLaterMenu" = "「後で見るに保存」を削除する";
"RemoveWatchLaterMenuDesc" = "メニューから「後で見るに保存」オプションを削除します。";
"RemoveSaveToPlaylistMenu" = "「プレイリストに保存」を削除する";
"RemoveSaveToPlaylistMenuDesc" = "メニューから「プレイリストに保存」オプションを削除します。";
"RemoveShareMenu" = "「共有」を削除";
"RemoveShareMenuDesc" = "メニューから「共有」オプションを削除します。";
"RemoveNotInterestedMenu" = "「興味なし」を削除";
"RemoveNotInterestedMenuDesc" = "メニューから「興味なし」オプションを削除します。";
"RemoveDontRecommendMenu" = "「チャンネルを推奨しない」を削除";
"RemoveDontRecommendMenuDesc" = "メニューから「チャンネルを推奨しない」オプションを削除します。";
"RemoveReportMenu" = "「レポート」を削除する";
"RemoveReportMenuDesc" = "メニューから「レポート」オプションを削除します。";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Enable";
"EnableSponsorBlockDesc" = "Activates the SponsorBlock extension.";
"SegmentsInFeedPlayer" = "Display segments in the feed";
"SegmentsInFeedPlayerDesc" = "Displays colored segments on the progress bar of players in the feed.";
"SegmentsInMiniPlayer" = "Display segments on the mini-player";
"SegmentsInMiniPlayerDesc" = "Displays colored segments on the progress bar of the mini-player.";
"SegmentSkipAudio" = "Audio notification";
"SegmentSkipAudioDesc" = "Plays an audio notification when skipping a segment.";
"DurationWithoutSegments" = "Display new duration";
"DurationWithoutSegmentsDesc" = "Displays total duration without segments.";
"SkipAlertDuration" = "Skip Alert Duration";
"UnskipAlertDuration" = "Unskip Alert Duration";
"Segments" = "Segments";
"Sponsor" = "Sponsor";
"SponsorDesc" = "Part of a video promoting a product or service not directly related to the creator. The creator will receive payment or compensation in the form of money or free products";
"SponsorColor" = "Sponsor segment color";
"Intro" = "Intermission/Intro animation";
"IntroDesc" = "Segments typically found at the start of a video that include an animation, still frame or clip which are also seen in other videos by the same creator.";
"IntroColor" = "Intro segment color";
"Endcards" = "Endcards/Credits";
"EndcardsDesc" = "Typically near or at the end of the video when the credits pop up and/or endcards are shown.";
"EndcardsColor" = "Endcards segment color";
"Interaction" = "Interaction reminders";
"InteractionDesc" = "Explicit reminders to like, subscribe or interact with them on any paid or free platform(s) (e.g. click on a video)";
"InteractionColor" = "Interaction segment color";
"SelfPromo" = "Unpaid/Self promotion";
"SelfPromoDesc" = "Self-promo: Promoting a product or service that is directly related to the creator themselves.\nUnpaid:The creator will not receive any payment in exchange for this promotion";
"SelfPromoColor" = "Self-promo segment color";
"MusicOfftopic" = "Music: Non-music section";
"MusicOfftopicDesc" = "Only to be used on videos which feature music as the primary content.";
"MusicOfftopicColor" = "Non-music segment color";
"Preview" = "Preview";
"PreviewDesc" = "Collection of clips that show what is coming up in in this video or other videos in a series where all information is repeated later in the video.";
"PreviewColor" = "Preview segment color";
"Highlight" = "Highlight";
"HighlightDesc" = "Used to get to the point or highlight of a video.";
"HighlightColor" = "Highlight segment color";
"Jokes" = "Filler Tangent/Jokes";
"JokesDesc" = "Filler Tangent/Jokes is only for tangential scenes added only for filler or humor that are not required to understand the main content of the video.";
"JokesColor" = "Jokes segment color";
"Sb.Disable" = "Disable";
"Sb.Skip" = "Auto-skip";
"Sb.SkipTo" = "Skip to segment";
"Sb.Ask" = "Ask";
"Sb.Display" = "Display in player";
"sb_sponsor" = "Sponsor segment";
"sb_intro" = "Intro segment";
"sb_outro" = "Endcards segment";
"sb_interaction" = "Interaction segment";
"sb_selfpromo" = "Self-promo segment";
"sb_music_offtopic" = "Offtopic segment";
"sb_preview" = "Preview segment";
"sb_poi_highlight" = "Highlight segment";
"sb_filler" = "Filler segment";
"SegmentDetected" = "%@ detected";
"SegmentSkipped" = "%@ has been skipped";
"SkippedToSegment" = "Skipped to the %@";
"SkipSegment" = "Skip";
"SkipToSegment" = "To highlight";
"Unskip" = "Unskip";
/* Developer section */
"Developer" = "Developer";
"FollowMe" = "Follow me on X";
"SupportDevelopment" = "開発のサポート";
"DonateDesc" = "Your support means a lot to me";
"SupportDevelopmentDesc" = "YTPlus が気に入って、その開発をサポートしたい場合は、以下のいずれかの便利な方法でサポートできます。\nありがとう❤";
"VisitGithub" = "Github Repository";
"VisitGithubDesc" = "Star the repo, request a feature or report issues";
"VisitTelegram" = "My Telegram Channel";
"VisitTelegramDesc" = "Stay informed about the latest app updates";
/* Credits section */
"Credits" = "クレジット";
"Contributors" = "コントリビュータ";
"DevContribution" = "Contribution to development";
"SpecialThanks" = "Special thanks";
"SpecialThanks.Test" = "Tweakテストの貴重な貢献";
"Localizations" = "Localization authors";
"ChineseSimplified" = "中国語(簡体字)翻訳";
"ChineseTraditional" = "中国語(繁体字)翻訳";
"French" = "フランス語翻訳";
"Spanish" = "スペイン語翻訳";
"Japanese" = "日本語翻訳";
"Vietnamese" = "ベトナム語翻訳";
"Arabic" = "Arabic localization";
"Turkish" = "Turkish localization";
"OpenSourceLibs" = "オープンソース ライブラリ";
"Preferences" = "%@ 設定";
"ManagePreferences" = "Preferences management";
"ImportPreferences" = "設定をインポート";
"PreImportMessage" = "このアクションにより、現在の設定が選択したファイルの設定に置き換えられます。\n\n本当に続行しますか?";
"ExportPreferences" = "設定のエクスポート";
"ResetSettings" = "YTPlusの設定をリセット";
"ResetMessage" = "このオプションを選択するとYTPlusの設定がデフォルトにリセットされ、アプリが終了します。\n\n続行してもよろしいですか?";
"ManageCache" = "Cache management";
"ClearCacheAtStart" = "Clear cache on startup";
"ClearCacheAtStartDesc" = "Automatically clears the cache on startup.";
"ClearCache" = "キャッシュのクリア";
"NoDonationReminder" = "Disable donation reminder";
"NoDonationReminderDesc" = "Turns off the rarely shown donation reminder.";
"ShortsOnlyWarning" = "このモードを有効にしてもよろしいですか?\n\nこのモードでは、ショート動画の視聴のみが可能で、他の操作は行えません。\n\nショート動画プレーヤーで「2本の指で長押し」すると、ショート動画専用モードを無効にできます。";
"ShortsModeTurnedOff" = "ショートのみモードがオフになりました";
"AddLibraryTab" = "Restore \"You\" tab";
"RemoveLibraryTab" = "Remove \"You\" tab";
"LibraryAdded" = "The You タブが復元されました";
"LibraryRemoved" = "The You タブは削除されました";
"Yes" = "はい";
"No" = "いいえ";
"Select" = "選択";
"Default" = "デフォルト";
"Best" = "ベスト";
"Disable" = "無効";
"Show" = "表示";
"Disabled" = "無効化";
"PlaybackSpeed" = "再生速度";
"SpeedPreserved" = "速度を維持";
"ResetSpeed" = "リセット";
"Toast.Brightness" = "明るさ";
"Toast.PlaybackSpeed" = "再生速度";
"Toast.Volume" = "Volume";
"SelectAction" = "アクションを選択";
"DownloadVideo" = "ビデオをダウンロード";
"DownloadAudio" = "オーディオをダウンロード";
"SaveImage" = "イメージを保存";
"CopyInformation" = "情報をコピー";
"CopyChannelName" = "チャンネル名をコピー";
"CopyTitle" = "タイトルをコピー";
"CopyDescription" = "説明をコピー";
"CopyTimestampedLink" = "タイムスタンプ付きのリンクをコピー";
"CopyTranscript" = "Copy transcript";
"PlayInExternalPlayer" = "外部プレーヤーで再生";
"PlayInSystemPlayer" = "システムプレーヤーで再生";
"PlayInInfuse" = "Infuseで再生";
"PlayInVLC" = "VLCで再生";
"PlayerNotFound" = "プレイヤーが見つかりません";
"OpenAsRegularVideo" = "通常のビデオとして開く";
"CopyPostText" = "投稿テキストをコピー";
"SaveCurrentImage" = "現在のイメージを保存";
"CopyCurrentImage" = "現在のイメージをコピー";
"SavePostAsImage" = "投稿を画像として保存";
"CopyPostAsImage" = "投稿を画像としてコピー";
"CopyCommentText" = "コメントテキストをコピー";
"SaveCommentAsImage" = "コメントを画像として保存";
"CopyCommentAsImage" = "コメントを画像としてコピー";
"SaveProfilePicture" = "プロフィール写真を保存する";
"CopyProfilePicture" = "プロフィール写真をコピーする";
"DownloadThumbnail" = "サムネイルを保存";
"CopyThumbnail" = "サムネイルをコピー";
"Cancel" = "キャンセル";
"Cancelled" = "キャンセルされました";
"Copied" = "クリップボードにコピーされました";
"Saved" = "写真に保存";
"Done" = "完了";
"NothingToShowInMenu" = "Nothing to show in this context menu";
"Error" = "エラー";
"Error.Clipboard" = "エラー!詳細についてはクリップボードを確認してください";
"Error.PathIssue" = "エラー!最終パスの生成時に問題が発生しました。メディアに問題があるかもしれません";
"Error.TryLater" = "The media is live or processing on Google's server is expected to complete.\n\nPlease try again later.";
"Error.NoSpace" = "デバイスの空き容量が不足しています。\n\n少なくとも %@ の追加空き容量が必要です。使用可能な空き容量: %@";
"Error.Multidownloading" = "マルチダウンロードはまだ利用できません。";
"Error.FailedToImport" = "設定をインポートできませんでした";
"DownloadingVideo" = "ビデオをダウンロード";
"DownloadingAudio" = "オーディオをダウンロード";
"ParsingCaptions" = "Parsing captions";
"ParsingTranscript" = "Parsing the transcript";
"Converting" = "変換中";
"RetryLogin" = "回避策が有効になりました。\n\nもう一度お試しください。";
"LoginInfo" = "Googleアカウントへのログインに成功した後、アプリの再起動が必要です。";
"Welcome.Download" = "メディアのダウンロード";
"Welcome.DownloadDesc" = "動画、ショート、オーディオ、プロフィール写真など、お気に入りのコンテンツをダウンロードできます。興味深い投稿やコメントをコピーしたり、画像として保存したりできます。";
"Welcome.Content" = "インターフェースを調整する";
"Welcome.ContentDesc" = "不要なコンテンツとインターフェース要素を削除します。真のOLEDダークモードを有効にします。";
"Welcome.Player" = "プレーヤーの動作をセットアップする";
"Welcome.PlayerDesc" = "プレーヤーの動作をカスタマイズし、品質と再生速度を自動選択します。ジェスチャーを使用して制御します。";
"Welcome.More" = "そしてさらに...";
"Welcome.MoreDesc" = "YouTube Plusには、設定の保存やキャッシュのクリアなどの機能を含む50以上のオプションが含まれています。設定は、YouTube設定のYouTube Plusセクションで利用できます。";
"SupportMe" = "サポートしてください";
"Continue" = "続ける";
"Conflicts.Detected" = "Incompatible Tweaks Detected";
"Conflicts.DetectedDesc" = "Despite the apparent stability of the app, the developer of YouTube Plus does not recommend combining tweaks with similar functionality in the same app and cannot guarantee safe usage.\n\nBy continuing to use the app, you take full responsibility and agree that any complaints about performance will be ignored.";
"Conflicts.AcceptRisks" = "I Accept All Risks";
"Conflicts.CloseYT" = "Close YouTube";
"DonationReminder" = "Your support helps to make YouTube Plus even better.\n\nYou can contribute or choose to disable these notifications in the YouTube Plus settings. Thank you💜";
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

@@ -1,9 +1,46 @@
"General" = "Основные"; /* Main section */
"RemoveAds" = "Убрать рекламу"; "Main" = "Основные";
"RemoveAdsDesc" = "Убирает рекламу в приложении.";
"BackgroundPlayback" = "Фоновое воспроизведение";
"BackgroundPlaybackDesc" = "Активирует фоновое воспроизведение.";
/* Downloading options */
"Downloading" = "Загрузка";
"DownloadManager" = "Менеджер загрузок";
"DownloadManagerDesc" = "Расширяет возможности кнопки «Скачать» под плеером, позволяя скачивать Видео, Аудио, Обложки и Копировать информацию о видео.";
"PostManager" = "Сохранять информацию с постов";
"PostManagerDesc" = "Позволяет скопировать текст из поста или сохранить пост как фото долгим нажатием по нему.";
"SaveProfilePhoto" = "Сохранять фото профиля";
"SaveProfilePhotoDesc" = "Сохраняет фото профиля в «Фото» долгим нажатием по нему.";
"CommentManager" = "Сохранять информацию с комментариев";
"CommentManagerDesc" = "Позволяет скопировать текст из комментария или сохранить комментарий как фото долгим нажатием по нему.";
"YtlButtonPosition" = "Расположение кнопки загрузчика";
"UnderPlayer" = "Под плеером";
"Overlay" = "На оверлее";
"Both" = "Оба";
"PostDownloadAction" = "Действие по окончанию загрузки";
"PostDownloadDesc" = "Выбранное действие будет выполняться по успешному окончанию загрузки видео.";
"SaveToPhotos" = "Сохранить в «Фото»";
"Share" = "Поделиться";
"Ask" = "Спросить";
"DownloadCompleted" = "Загрузка завершена";
"PreferredAudio" = "Предпочитаемая звуковая дорожка";
"Selected" = "Выбранная";
"English" = "Английская";
"SelectAudioTrack" = "Выберите звуковую дорожку";
"EnglishNotFound" = "Английская звуковая дорожка не найдена";
"Captions" = "Субтитры";
"EmbedCapsToVideos" = "Встраивать субтитры";
"EmbedCapsToVideosDesc" = "Встраивает выбранные субтитры в видео.";
"EmbedAutoGenCaps" = "Автоматически сгенерированные";
"EmbedAutoGenCapsDesc" = "Добавляет автоматически сгенерированные, переведенные и переведенные из автоматически сгенерированных субтитры в список субтитров.";
"DownloadCaptions" = "Скачать субтитры";
"SelectCaption" = "Выберите субтитры";
"Translated" = "перевод";
"TranslatedAutoGen" = "автоперевод";
/* Nav bar options */
"Navbar" = "Панель навигации"; "Navbar" = "Панель навигации";
"RemoveCast" = "Скрыть «Трансляция»"; "RemoveCast" = "Скрыть «Трансляция»";
"RemoveCastDesc" = "Скрывает кнопку трансляции с панели навигации."; "RemoveCastDesc" = "Скрывает кнопку трансляции с панели навигации.";
@@ -14,101 +51,169 @@
"RemoveVoiceSearch" = "Скрыть «Голосовой поиск»"; "RemoveVoiceSearch" = "Скрыть «Голосовой поиск»";
"RemoveVoiceSearchDesc" = "Скрывает кнопку голосового поиска с панели навигации."; "RemoveVoiceSearchDesc" = "Скрывает кнопку голосового поиска с панели навигации.";
"StickyNavbar" = "Закрепить панель навигации"; "StickyNavbar" = "Закрепить панель навигации";
"StickyNavbarDesc" = "Закрепляет панель навигации в верхней части экрана, запрещая ему скрываться во время скролла страницы вниз."; "StickyNavbarDesc" = "Фиксирует панель навигации в верхней части экрана.";
"NoSubbar" = "Скрыть наклейки"; "NoSubbar" = "Скрыть наклейки";
"NoSubbarDesc" = "Скрывает панель с наклейками (Все, Новое для вас, Сейчас в эфире и т.д.) под панелью навигации."; "NoSubbarDesc" = "Скрывает панель с наклейками (Все, Новое для вас, Сейчас в эфире и т.д.) под панелью навигации.";
"NoYTLogo" = "Скрыть логотип YouTube"; "NoYTLogo" = "Скрыть логотип YouTube";
"NoYTLogoDesc" = "Убирает логотип YouTube с панели навигации."; "NoYTLogoDesc" = "Убирает логотип YouTube с панели навигации.";
"PremiumYTLogo" = "Отображать Premium логотип";
"PremiumYTLogoDesc" = "Отображает логотип Premium в панели навигации.";
"Overlay" = "Настройки оверлея"; /* Feed options */
"Feed" = "Настройки ленты";
"RemoveAds" = "Убрать рекламу";
"RemoveAdsDesc" = "Убирает рекламу в приложении.";
"HideShorts" = "Скрыть видеоролики Shorts";
"HideShortsDesc" = "Скрывает видеоролики, помеченные как Shorts с Главного экрана, Рекомендаций и т.д. (Не применяется к истории просмотров)";
"KeepSubsShorts" = "Shorts во вкладке «Подписки»";
"KeepSubsShortsDesc" = "Запрещает удаление роликов Shorts из вкладки «Подписки».";
"RemoveCommunityPosts" = "Убрать посты сообщества";
"RemoveCommunityPostsDesc" = "Убирает посты сообщества с ленты.";
"RemoveMixPlaylists" = "Убрать миксы";
"RemoveMixPlaylistsDesc" = "Удаляет сгенерированные YouTube-oм миксы (плейлисты) с ленты.";
"RemoveLiveVids" = "Убрать прямые эфиры";
"RemoveLiveVidsDesc" = "Удаляет все прямые эфиры с «Главной» вкладки.";
"RemoveHorizontalFeeds" = "Убрать горизонтальные ленты";
"RemoveHorizontalFeedsDesc" = "Удаляет все горизонтальные ленты по типу «Новости», «Продолжить просмотр», «Коллекция постов» с «Главной» вкладки.";
"RemoveMoreTopics" = "Убрать «Еще темы»";
"RemoveMoreTopicsDesc" = "Убирает раздел «Еще темы» с ленты.";
"FixAlbums" = "Исправить отображение обложек";
"FixAlbumsDesc" = "Исправляет отображение обложек в том случае, если вы из России.";
/* Player options */
"Player" = "Настройки плеера";
"PlaybackQualityOnWiFi" = "Качество по WiFi";
"PlaybackQualityOnCellular" = "Качество по мобильной сети";
"PreferredCaptions" = "Предпочитаемые субтитры";
"Original" = "Оригинальная";
"Custom" = "Выбрать вручную";
"CustomAudioTrack" = "Язык звуковой дорожки";
"CustomCaptions" = "Язык субтитров";
"AutoGenCaps" = "Автоматические субтитры";
"AutoGenCapsDesc" = "Если выбранные субтитры не найдены, YouTube Plus попытается выбрать либо перевод оригинальных субтитров, либо перевод автоматически сгенерированных субтитров.";
"Player.Interface" = "Интерфейс";
"SpeedControls" = "Управление скоростью";
"SpeedControlsDesc" = "Отображает кнопки управления скоростью воспроизведения в оверлее.";
"HideAutoplay" = "Скрыть «Автовоспроизведение»"; "HideAutoplay" = "Скрыть «Автовоспроизведение»";
"HideAutoplayDesc" = "Скрывает тумблер «Автовоспроизведение» с оверлея плеера."; "HideAutoplayDesc" = "Скрывает тумблер «Автовоспроизведение» с оверлея плеера.";
"HideSubs" = "Скрыть «Субтитры»"; "HideSubs" = "Скрыть «Субтитры»";
"HideSubsDesc" = "Скрывает кнопку субтитров с оверлея плеера."; "HideSubsDesc" = "Скрывает кнопку субтитров с оверлея плеера.";
"NoHUDMsgs" = "Скрыть сообщения плеера";
"NoHUDMsgsDesc" = "Скрывает надписи YouTube, появляющиеся поверх видео.";
"HidePrevNext" = "Скрыть «След.» и «Пред.»"; "HidePrevNext" = "Скрыть «След.» и «Пред.»";
"HidePrevNextDesc" = "Убирает переключатели «Следующий» и «Предыдущий» с плеера"; "HidePrevNextDesc" = "Убирает переключатели «Следующий» и «Предыдущий» с плеера";
"ReplacePrevNext" = "Перемотка вместо «След.» и «Пред.»"; "ReplacePrevNext" = "Перемотка вместо «След.» и «Пред.»";
"ReplacePrevNextDesc" = "Заменяет переключатели «Следующий» и «Предыдущий» на перемотку на 10 сек. в окне плеера."; "ReplacePrevNextDesc" = "Заменяет переключатели «Следующий» и «Предыдущий» на перемотку на 10 сек. в окне плеера.";
"RememberLoopMode" = "Запомнить режим повтора";
"RememberLoopModeDesc" = "Запоминает выбранный в меню плеера режим повтора воспроизведения.";
"FullscreenToTheLeft" = "Полноэкранный режим влево";
"FullscreenToTheLeftDesc" = "Переход в полноэкранный режим повернет экран влево, вместо обычного поворота вправо.";
"PortraitFullscreen" = "Портретный полноэкранный режим";
"PortraitFullscreenDesc" = "Активирует поддержку портретного полноэкранного режима.";
"ClassicQuality" = "Классический выбор качества";
"ClassicQualityDesc" = "Возвращает классическое меню выбора качества в меню плеера.";
"ExtraSpeedOptions" = "Больше скоростей воспроизведения";
"ExtraSpeedOptionsDesc" = "Добавляет больше опций скорости воспроизведения в выпадающее меню плеера.";
"RedProgressBar" = "Красный прогресс-бар";
"RedProgressBarDesc" = "Возвращает красный прогресс-бар вместо нового, серого цвета.";
"NoDarkBg" = "Не затемнять фон плеера"; "NoDarkBg" = "Не затемнять фон плеера";
"NoDarkBgDesc" = "Убирает затемнение экрана под кнопками управления плеером."; "NoDarkBgDesc" = "Убирает затемнение экрана под кнопками управления плеером.";
"NoEndScreenCards" = "Скрыть рекомендации"; "NoEndScreenCards" = "Скрыть рекомендации";
"NoEndScreenCardsDesc" = "Скрывает эскизы, отображаемые по окончанию видеоролика."; "NoEndScreenCardsDesc" = "Скрывает эскизы, отображаемые по окончанию видеоролика.";
"NoAutonavEndScreenCards" = "Скрыть окно автовоспроизведения";
"NoAutonavEndScreenCardsDesc" = "Скрывает окно в котором, по окончанию воспроизведения, отображается видео, которое можно воспроизвести следующим. Включение данной опции также приведет к отключению автоперехода к следующему видео.";
"NoFullscreenActions" = "Отключить панель действий"; "NoFullscreenActions" = "Отключить панель действий";
"NoFullscreenActionsDesc" = "Отключает панель действий, отображающуюся под прогресс-баром плеера."; "NoFullscreenActionsDesc" = "Отключает панель действий, отображающуюся под прогресс-баром плеера.";
"PersistentProgressBar" = "Всегда отображать прогресс-бар"; "PersistentProgressBar" = "Всегда отображать прогресс-бар";
"PersistentProgressBarDesc" = "Всегда отображает прогресс-бар внутри плеера."; "PersistentProgressBarDesc" = "Всегда отображает прогресс-бар внутри плеера.";
"StockVolumeHUD" = "Системный уровень громкости";
"StockVolumeHUDDesc" = "Отображает системную шкалу громкости в полноэкранном режиме.";
"NoRelatedVids" = "Скрыть рекомендации в оверлее"; "NoRelatedVids" = "Скрыть рекомендации в оверлее";
"NoRelatedVidsDesc" = "Скрывает рекомендации, отображаемые по свайпу вверх в плеере."; "NoRelatedVidsDesc" = "Скрывает рекомендации, отображаемые по свайпу вверх в плеере.";
"NoPromotionCards" = "Скрыть сообщение «Есть реклама»"; "NoPromotionCards" = "Скрыть сообщение «Есть реклама»";
"NoPromotionCardsDesc" = "Скрывает всплывающее сообщение «Есть реклама» в роликах со спонсорской рекламой."; "NoPromotionCardsDesc" = "Скрывает всплывающее сообщение «Есть реклама» в роликах со спонсорской рекламой.";
"NoWatermarks" = "Скрыть водяные знаки"; "NoWatermarks" = "Скрыть водяные знаки";
"NoWatermarksDesc" = "Скрывает значки каналов в плеере."; "NoWatermarksDesc" = "Скрывает значки каналов в плеере.";
"VideoEndTime" = "Показывать время окончания";
"VideoEndTimeDesc" = "Отображает, в каком часу закончится ролик.";
"24hrFormat" = "24-часовой формат";
"24hrFormatDesc" = "Отображает время окончания в 24-часовом формате.";
"Player" = "Настройки плеера"; "Player.Actions" = "Поведение";
"DefaultPlaybackRate" = "Скорость воспроизведения по умолчанию";
"BackgroundPlayback" = "Фоновое воспроизведение";
"BackgroundPlaybackDesc" = "Активирует фоновое воспроизведение.";
"Miniplayer" = "Разрешить миниплеер"; "Miniplayer" = "Разрешить миниплеер";
"MiniplayerDesc" = "Принудительно активирует миниплеер для видео, в которых изначально не был предназначен (например, видеоролики для детей)."; "MiniplayerDesc" = "Принудительно активирует миниплеер для видео, в которых изначально не был предназначен (например, видеоролики для детей).";
"PortraitFullscreen" = "Портретный полноэкранный режим";
"PortraitFullscreenDesc" = "Активирует поддержку портретного полноэкранного режима.";
"CopyWithTimestamp" = "Ссылки с временными отметками";
"CopyWithTimestampDesc" = "Позволяет скопировать ссылку на видео с временной отметкой в буфер обмена нажатием на кнопку паузы.";
"DisableAutoplay" = "Запретить автовоспроизведение"; "DisableAutoplay" = "Запретить автовоспроизведение";
"DisableAutoplayDesc" = "Принудительно запрещает автовоспроизведение видео при его открытии."; "DisableAutoplayDesc" = "Принудительно запрещает автовоспроизведение видео при его открытии.";
"DisableAutoCaptions" = "Запретить автоматические субтитры"; "DisableAutoCaptions" = "Запретить автоматические субтитры";
"DisableAutoCaptionsDesc" = "Отключает включенные по умолчанию субтитры"; "DisableAutoCaptionsDesc" = "Отключает включенные по умолчанию субтитры.";
"NoContentWarning" = "Пропускать предупреждения"; "NoContentWarning" = "Пропускать предупреждения";
"NoContentWarningDesc" = "Пропускает предупреждения, всплывающие перед воспроизведением некоторого контента."; "NoContentWarningDesc" = "Пропускает предупреждения, всплывающие перед воспроизведением некоторого контента.";
"ClassicQuality" = "Классический выбор качества";
"ClassicQualityDesc" = "Возвращает классическое меню выбора качества в меню плеера.";
"ExtraSpeedOptions" = "Больше скоростей воспроизведения";
"ExtraSpeedOptionsDesc" = "Добавляет больше опций скорости воспроизведения в выпадающее меню плеера.";
"DontSnap2Chapter" = "Не перематывать эпизоды";
"DontSnap2ChapterDesc" = "Отключает жест перемотки к следующему эпизоду двойным нажатием.";
"RedProgressBar" = "Красный прогресс-бар";
"RedProgressBarDesc" = "Возвращает красный прогресс-бар вместо нового, серого цвета.";
"NoHints" = "Отключить подсказки"; "NoHints" = "Отключить подсказки";
"NoHintsDesc" = "Скрывает подсказки от авторов видео, появляющиеся в правом верхнем углу."; "NoHintsDesc" = "Скрывает подсказки от авторов видео, появляющиеся в правом верхнем углу.";
"NoFreeZoom" = "Отключить жесты для зума";
"NoFreeZoomDesc" = "Отключает жесты приближения для нового зума.";
"AutoFullscreen" = "Открывать в полноэкранном режиме"; "AutoFullscreen" = "Открывать в полноэкранном режиме";
"AutoFullscreenDesc" = "Автоматически воспроизводит ролики в полноэкранном режиме."; "AutoFullscreenDesc" = "Автоматически воспроизводит ролики в полноэкранном режиме.";
"ExitFullscreen" = "Автовыход из полноэкранного режима"; "ExitFullscreen" = "Автовыход из полноэкранного режима";
"ExitFullscreenDesc" = "Выходит из полноэкранного режима по окончанию воспроизведения."; "ExitFullscreenDesc" = "Выходит из полноэкранного режима по окончанию воспроизведения.";
"Player.Gestures" = "Жесты";
"LeftSideGesture" = "Жест для левой части";
"RightSideGesture" = "Жест для правой части";
"ActivationAreaWidth" = "Ширина активации жестов";
"ActivationAreaWidthDesc" = "Данное значение отвечает за зону распознавания жестов в пикселях для левой и правой части экрана.\n\nМаксимально допустимое значение - треть ширины экрана.\n\nНастройка данной опции полезна для избежания случайной активации при попытке свернуть или развернуть плеер.";
"HoldToSpeed" = "Ускорение долгим нажатием";
"AdjustWithFinger" = "Регулировать скорость жестами";
"AdjustWithFingerDesc" = "Позволяет регулировать скорость зажатием и вертикальным движением пальца по окну плеера.";
"PreserveSpeed" = "Сохранить скорость воспроизведения";
"PreserveSpeedDesc" = "Не сбрасывает отрегулированную скорость воспроизведения после окончания жеста.";
"SeekAnywhere" = "Перемотка свайпами";
"SeekAnywhereDesc" = "Позволяет управлять перемоткой воспроизведения свайпами влево и вправо.";
"SeekMethod" = "Тип перемотки";
"SeekMethodDesc" = "Свободный: Свободная быстрая прокрутка по всей длительности видео. Соблюдается только чувствительность прокрутки.\n\nЗависимый от длительности: Сила прокрутки будет зависеть от длины видео и чувствительности прокрутки. Может быть полезно для длинных видео, чтобы прокрутка не перематывала большие промежутки видео.";
"Independent" = "Свободный";
"DurationBased" = "Зависимый от длительности";
"SeekSensitivity" = "Чувствительность перемотки";
"TwoFingerTapToPause" = "Приостанавливать двумя пальцами";
"TwoFingerTapToPauseDesc" = "Позволяет ставить на паузу/продолжать воспроизведение контента касанием плеера двумя пальцами.";
"TwoFingerPanToBrightness" = "Регулировать яркость";
"TwoFingerPanToBrightnessDesc" = "Позволяет регулировать яркость экрана вертикальным скольжением двумя пальцами по плееру.";
"CopyWithTimestamp" = "Ссылки с временными отметками";
"CopyWithTimestampDesc" = "Позволяет скопировать ссылку на видео с временной отметкой в буфер обмена нажатием на кнопку паузы.";
"PauseOnOverlay" = "Ставить на паузу с оверлеем";
"PauseOnOverlayDesc" = "Приостанавливает воспроизведение при появлении кнопок управления плеером.";
"DontSnap2Chapter" = "Не перематывать эпизоды";
"DontSnap2ChapterDesc" = "Отключает жест перемотки к следующему эпизоду двойным нажатием.";
"NoTwoFingerSnapToChapter" = "Отключить касание двумя пальцами";
"NoTwoFingerSnapToChapterDesc" = "Отключает жест перемотки эпизодов двойным нажатием двумя пальцами.";
"NoFreeZoom" = "Отключить жесты для зума";
"NoFreeZoomDesc" = "Отключает жесты приближения для нового зума.";
"NoDoubleTap2Seek" = "Отключить перемотку двойным тапом"; "NoDoubleTap2Seek" = "Отключить перемотку двойным тапом";
"NoDoubleTap2SeekDesc" = "Отключает перемотку двойным тапом в плеере."; "NoDoubleTap2SeekDesc" = "Отключает перемотку двойным тапом в плеере.";
"Tabbar" = "Панель вкладок"; /* Shorts options */
"RemoveLabels" = "Скрыть названия";
"RemoveLabelsDesc" = "Скрывает названия вкладок.";
"RemoveIndicators" = "Скрыть индикаторы";
"RemoveIndicatorsDesc" = "Скрывает индикаторы вкладок.";
"ReExplore" = "Вкладка «Навигация» вместо «Shorts»";
"ReExploreDesc" = "Заменяет вкладку «Shorts» на привычную нам «Навигацию».";
"AddExplore" = "Добавить вкладку «Навигация»";
"AddExploreDesc" = "Добавляет вкладку «Навигация» в панель вкладок.";
"HideShortsTab" = "Скрыть «Shorts»";
"HideShortsTabDesc" = "Скрывает вкладку «Shorts» с панели вкладок.";
"HideSubscriptionsTab" = "Скрыть «Подписки»";
"HideSubscriptionsTabDesc" = "Скрывает вкладку «Подписки» с панели вкладок.";
"HideUploadButton" = "Скрыть «Создать» (+)";
"HideUploadButtonDesc" = "Скрывает кнопку «Создать» с панели вкладок.";
"HideLibraryTab" = "Скрыть «Библиотеку»";
"HideLibraryTabDesc" = "Скрывает вкладку «Библиотека» с панели вкладок.";
"Shorts" = "Настройки Shorts"; "Shorts" = "Настройки Shorts";
"PlaybackMode" = "Действие по окончанию воспроизведения";
"Loop" = "Повторить";
"ScrollToNext" = "К следующему";
"Stop" = "Остановить";
"AutoSkipShorts" = "Автопереход к следующему";
"ShortsOnlyMode" = "Режим Shorts"; "ShortsOnlyMode" = "Режим Shorts";
"ShortsOnlyModeDesc" = "Ограничивает функциональность YouTube до отображения видеороликов Shorts"; "ShortsOnlyModeDesc" = "Ограничивает функциональность YouTube до отображения видеороликов Shorts";
"HideShorts" = "Скрыть видеоролики Shorts"; "RestrictShorts" = "Ограничить количество";
"HideShortsDesc" = "Скрывает видеоролики, помеченные как Shorts с Главного экрана, Рекомендаций и т.д. (Не применяется к истории просмотров)"; "RestrictShortsDesc" = "Ограничивает количество Shorts в ленте до 10-15. Полезно, если хотите избавиться от привычки бесконечно листать ленту.";
"ShortsProgress" = "Показывать прогресс-бар"; "ShortsProgress" = "Показывать прогресс-бар";
"ShortsProgressDesc" = "Отображает прогресс-бар в плеере Shorts."; "ShortsProgressDesc" = "Отображает прогресс-бар в плеере Shorts.";
"SpeedByLongTap" = "Ускоренное воспроизведение";
"SpeedByLongTapDesc" = "Позволяет ускорить воспроизведение долгим нажатием по определенной части экрана.";
"SpeedLocation" = "Зона активации ускорения";
"PinchToFullscreenShorts" = "Полноэкранный режим щипком"; "PinchToFullscreenShorts" = "Полноэкранный режим щипком";
"PinchToFullscreenShortsDesc" = "Скрывает панель вкладок, тем самым отображает Shorts на весь экран."; "PinchToFullscreenShortsDesc" = "Скрывает панель вкладок, тем самым отображает Shorts на весь экран.";
"ShortsToRegular" = "Shorts как обычные видео"; "ShortsToRegular" = "Shorts как обычные видео";
"ShortsToRegularDesc" = "Воспроизводит видеоролики Shorts в обычном проигрывателе."; "ShortsToRegularDesc" = "Воспроизводит видеоролики Shorts в обычном проигрывателе.";
"ResumeShorts" = "Всегда запускать с Главной страницы"; "RemoveShortsLive" = "Убрать трансляции";
"ResumeShortsDesc" = "Предотвращает запуск видеороликов Shorts при открытии YouTube. Это происходит, если закрыть YouTube при просмотре Shorts."; "RemoveShortsLiveDesc" = "Удаляет прямые трансляции, исключая их из ленты.";
"HideShortsLogo" = "Скрыть логотип Shorts"; "HideShortsLogo" = "Скрыть логотип Shorts";
"HideShortsLogoDesc" = "Скрывает логотип Shorts, расположенный в верхнем левом углу."; "HideShortsLogoDesc" = "Скрывает логотип Shorts, расположенный в верхнем левом углу.";
"HideShortsSearch" = "Скрыть кнопку «Поиск»"; "HideShortsSearch" = "Скрыть кнопку «Поиск»";
@@ -119,48 +224,34 @@
"HideShortsMoreDesc" = "Скрывает кнопку «Еще» (⋮) с плеера Shorts. Данное меню также доступно долгим нажатием по экрану."; "HideShortsMoreDesc" = "Скрывает кнопку «Еще» (⋮) с плеера Shorts. Данное меню также доступно долгим нажатием по экрану.";
"HideShortsSubscriptions" = "Скрыть «Подписки»"; "HideShortsSubscriptions" = "Скрыть «Подписки»";
"HideShortsSubscriptionsDesc" = "Скрывает кнопку «Подписки», появляющуюся при остановке воспроизведения."; "HideShortsSubscriptionsDesc" = "Скрывает кнопку «Подписки», появляющуюся при остановке воспроизведения.";
"HideShortsLike" = "Скрыть кнопку «Лайк»";
"HideShortsLikeDesc" = "Скрывает кнопку лайка с плеера Shorts.";
"HideShortsDislike" = "Скрыть кнопку «Дизлайк»";
"HideShortsDislikeDesc" = "Скрывает кнопку дизлайка с плеера Shorts.";
"HideShortsComments" = "Скрыть кнопку «Комментарии»";
"HideShortsCommentsDesc" = "Скрывает кнопку комментариев с плеера Shorts.";
"HideShortsRemix" = "Скрыть кнопку «Ремикс»";
"HideShortsRemixDesc" = "Скрывает кнопку для создания ремикса с плеера Shorts.";
"HideShortsShare" = "Скрыть кнопку «Поделиться»";
"HideShortsShareDesc" = "Скрывает кнопку поделиться с плеера Shorts.";
"HideShortsAvatars" = "Скрыть аватарку";
"HideShortsAvatarsDesc" = "Скрывает аватарку пользователя в правом нижнем углу.";
"HideShortsThanks" = "Скрыть «Суперспасибо»";
"HideShortsThanksDesc" = "Скрывает кнопку отправки доната (суперспасибо) с плеера Shorts.";
"HideShortsSource" = "Скрыть источник Shorts";
"HideShortsSourceDesc" = "Скрывает источники Shorts под названием канала.";
"HideShortsChannelName" = "Скрыть название канала";
"HideShortsChannelNameDesc" = "Скрывает название канала и кнопку «Подписаться» с плеера Shorts.";
"HideShortsDescription" = "Скрыть описание ролика";
"HideShortsDescriptionDesc" = "Скрывает описание ролика, отображающееся под названием канала.";
"HideShortsAudioTrack" = "Скрыть аудиодорожку";
"HideShortsAudioTrackDesc" = "Скрывает информацию об аудиодорожке в нижней части плеера.";
"Other" = "Другие настройки"; /* Tab bar options */
"CopyVideoInfo" = "Копировать информацию о видео"; "Tabbar" = "Панель вкладок";
"CopyVideoInfoDesc" = "Добавляет кнопку для копирования названия и описания видео в панель описания видео."; "Startup" = "Начальная страница";
"PostManager" = "Сохранять информацию с постов"; "FEwhat_to_watch" = "Главная";
"PostManagerDesc" = "Позволяет скопировать текст из поста или сохранить пост как фото долгим нажатием по нему."; "FEexplore" = "Навигация";
"SavePostImage" = "Сохранять изображения постов"; "FEshorts" = "Shorts";
"SavePostImageDesc" = "Сохраняет изображения постов в «Фото» долгим нажатием по ним."; "FEsubscriptions" = "Подписки";
"SaveProfilePhoto" = "Сохранять фото профиля"; "FElibrary" = "Библиотека";
"SaveProfilePhotoDesc" = "Сохраняет фото профиля в «Фото» долгим нажатием по нему."; "FEuploads" = "Создать";
"CopyCommentText" = "Копировать текст комментариев"; "FEhistory" = "История";
"CopyCommentTextDesc" = "Копирует текст комментариев в буфер обмена долгим нажатием."; "VLWL" = "Смотреть позже";
"CommentManager" = "Сохранять информацию с комментариев";
"CommentManagerDesc" = "Позволяет скопировать текст из комментария или сохранить комментарий как фото долгим нажатием по нему."; "RemoveLabels" = "Скрыть названия вкладок";
"FixAlbums" = "Исправить отображение обложек"; "RemoveIndicators" = "Скрыть индикаторы вкладок";
"FixAlbumsDesc" = "Исправляет отображение обложек в том случае, если вы из России.";
"RemovePlayNext" = "Убрать «Добавить в начало очереди»"; "ActiveTabs" = "Отображаемые вкладки";
"RemovePlayNextDesc" = "Убирает опцию «Добавить в начало очереди» из меню видео."; "InactiveTabs" = "Скрытые вкладки";
"NoContinueWatching" = "Отключить «Продолжить просмотр»"; "HideLibraryFooter" = "Вкладку «Библиотека» можно скрыть и отобразить долгим нажатием по первой вкладке в панели вкладок.";
"NoContinueWatchingDesc" = "Удаляет блок «Продолжить просмотр» содержащий недосмотренные видео с Главной страницы."; "Warning" = "Внимание";
"TabIsHidden" = "Скрытая вкладка не может быть выбрана в качестве начальной страницы";
"TabIsStartupTab" = "Вкладка, выбранная в качестве начальной страницы, не может быть скрыта";
"TabsCountRestricted" = "Можно добавлять не более шести активных вкладок";
/* Interface options */
"Interface" = "Интерфейс";
"OledTheme" = "Oled режим";
"OledThemeDesc" = "Заменяет темные цвета черным";
"NoSearchHistory" = "Скрыть историю поиска"; "NoSearchHistory" = "Скрыть историю поиска";
"NoSearchHistoryDesc" = "Визуально скрывает историю поиска и подсказок. Данная опция не отменяет трекинг вашей истории поиска."; "NoSearchHistoryDesc" = "Визуально скрывает историю поиска и подсказок. Данная опция не отменяет трекинг вашей истории поиска.";
"NoRelatedWatchNexts" = "Скрыть все видео под плеером"; "NoRelatedWatchNexts" = "Скрыть все видео под плеером";
@@ -171,51 +262,246 @@
"HideSortCommentsDesc" = "Скрывает панель сортировки комментариев."; "HideSortCommentsDesc" = "Скрывает панель сортировки комментариев.";
"PlaylistOldMinibar" = "Отображать старую панель плейлистов"; "PlaylistOldMinibar" = "Отображать старую панель плейлистов";
"PlaylistOldMinibarDesc" = "Заменяет новую, плавающую панель плейлистов, на старую."; "PlaylistOldMinibarDesc" = "Заменяет новую, плавающую панель плейлистов, на старую.";
"OldYTUI" = "Старый интерфейс";
"OldYTUIDesc" = "Имитирует старую версию YouTube, чтобы загружался старый интерфейс";
"DisableRTL" = "Запретить формат «справа налево»"; "DisableRTL" = "Запретить формат «справа налево»";
"DisableRTLDesc" = "Принудительно отображает текст в формате слева направо для языков, изначально отображающихся в формате справа налево."; "DisableRTLDesc" = "Принудительно отображает текст в формате слева направо для языков, изначально отображающихся в формате справа налево.";
"Startup" = "Начальная страница"; "StartupAnimation" = "Анимация загрузки";
"Home" = "Главная"; "StartupAnimationDesc" = "Отображает анимацию загрузки при запуске YouTube.";
"Explore" = "Навигация";
"ShortsTab" = "Shorts";
"Subscriptions" = "Подписки";
"Library" = "Библиотека";
"Warning" = "Внимание";
"TabIsHidden" = "Скрытая вкладка не может быть выбрана в качестве начальной страницы";
"DonateViaPayPal" = "Задонатить на PayPal"; "InterfaceStyle" = "Стиль интерфейса";
"SupportViaGhSponsors" = "Поддержать разработку в Github Sponsors";
"Version" = "Версия"; "MiniplayerStyle" = "Стиль миниплеера";
"About" = "О твике"; "MiniplayerStyleDesc" = "Переключение на/с плавающего режима требует перезапуска приложения.";
"Floating" = "Плавающий";
"ContextMenu" = "Контекстное меню";
"NativeShare" = "Системное меню «Поделиться»";
"NativeShareDesc" = "Выводит системное меню «Поделиться» при отправке контента.";
"RemoveInlineComment" = "Убрать секцию с комментарием";
"RemoveInlineCommentDesc" = "Убирает секцию с комментарием под плеером.";
"RemoveCommentGuidelines" = "Убрать «Правила сообщества»";
"RemoveCommentGuidelinesDesc" = "Убирает прикрепленные правила сообщества в секции с комментариями.";
"RemovePlayNext" = "Убрать «Добавить в начало очереди»";
"RemovePlayNextDesc" = "Убирает опцию «Добавить в начало очереди» из меню видео.";
"RemoveDownloadMenu" = "Убрать «Скачать»";
"RemoveDownloadMenuDesc" = "Убирает опцию «Скачать» из меню видео.";
"RemoveWatchLaterMenu" = "Убрать «Смотреть позже»";
"RemoveWatchLaterMenuDesc" = "Убирает опцию «Смотреть позже» из меню видео.";
"RemoveSaveToPlaylistMenu" = "Убрать «Добавить в плейлист»";
"RemoveSaveToPlaylistMenuDesc" = "Убирает опцию «Добавить в плейлист» из меню видео.";
"RemoveShareMenu" = "Убрать «Поделиться»";
"RemoveShareMenuDesc" = "Убирает опцию «Поделиться» из меню видео.";
"RemoveNotInterestedMenu" = "Убрать «Не интересует»";
"RemoveNotInterestedMenuDesc" = "Убирает опцию «Не интересует» из меню видео.";
"RemoveDontRecommendMenu" = "Убрать «Не рекомендовать»";
"RemoveDontRecommendMenuDesc" = "Убирает опцию «Не рекомендовать видео с этого канала» из меню видео.";
"RemoveReportMenu" = "Убрать «Пожаловаться»";
"RemoveReportMenuDesc" = "Убирает опцию «Пожаловаться» из меню видео.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Активировать";
"EnableSponsorBlockDesc" = "Активирует расширение SponsorBlock";
"SegmentsInFeedPlayer" = "Сегменты в ленте";
"SegmentsInFeedPlayerDesc" = "Отображает цветные сегменты в прогресс-баре плеера в ленте.";
"SegmentsInMiniPlayer" = "Сегменты в мини-плеере";
"SegmentsInMiniPlayerDesc" = "Отображает цветные сегменты в прогресс-баре мини-плеера.";
"SegmentSkipAudio" = "Звуковое сопровождение";
"SegmentSkipAudioDesc" = "Воспроизводит аудио-уведомление при перемотке сегмента";
"DurationWithoutSegments" = "Сокращенное время";
"DurationWithoutSegmentsDesc" = "Отображает длительность видео без сегментов";
"SkipAlertDuration" = "Длительность уведомления перемотки";
"UnskipAlertDuration" = "Длительность уведомления отмены";
"Segments" = "Сегменты";
"Sponsor" = "Спонсорская реклама";
"SponsorDesc" = "Часть видео, в которой рекламируется продукт или сервис не имеющий отношения к автору. Автор имеет доходы или денежное вознаграждение с подобных реклам.";
"SponsorColor" = "Цвет спонсорского сегмента";
"Intro" = "Вступление/интервалы";
"IntroDesc" = "Часть видео без значимого контента. Может быть паузой, статическим кадром, повторяющейся анимацией. Подобные сегменты не содержат в информацию о видео.";
"IntroColor" = "Цвет вступительного сегмента";
"Endcards" = "Конечные заставки/титры";
"EndcardsDesc" = "Титры или время появления конечных заставок YouTube. Не для подведения итогов сказанного в видео.";
"EndcardsColor" = "Цвет сегмента конечной заставки";
"Interaction" = "Напоминание о взаимодействии";
"InteractionDesc" = "Когда есть краткое напоминание поставить лайк, подписаться на канал или в соцсетях в середине содержимого.";
"InteractionColor" = "Цвет сегмента со взаимодействием";
"SelfPromo" = "Безвозмездная или самореклама";
"SelfPromoDesc" = "Похоже на спонсорскую, но для бесплатной рекламы и саморекламы. Включает себя вставки про мерч, пожертвования или информацию о тех, вместе с кем было сделано видео.";
"SelfPromoColor" = "Цвет сегмента с саморекламой";
"MusicOfftopic" = "Музыкальный оффтоп";
"MusicOfftopicDesc" = "Только для использования в музыкальных клипах. Используется для сегментов музыкальных клипов, которые не относятся к другой категории.";
"MusicOfftopicColor" = "Цвет немузыкального сегмента";
"Preview" = "Предпросмотр";
"PreviewDesc" = "Коллекция клипов, которые показывают, что происходит в этом видео или других эпизодах, все клипы позже повторяются в видео";
"PreviewColor" = "Цвет сегмента с предпросмотром";
"Highlight" = "Важное";
"HighlightDesc" = "Часть видео, которую ищет большинство людей. По сути заменяет комментарии типа «Видео начинается с x:xx».";
"HighlightColor" = "Цвет важного сегмента";
"Jokes" = "Шутки/отвлеченные темы";
"JokesDesc" = "Сегменты, которые увеличивают длительность видео за счёт отвлечённых тем или шуток, но не требуются для понимания основного содержания.";
"JokesColor" = "Цвет сегмента с шутками";
"Sb.Disable" = "Отключен";
"Sb.Skip" = "Перематывать";
"Sb.SkipTo" = "К началу сегмента";
"Sb.Ask" = "Спрашивать";
"Sb.Display" = "Отображать в плеере";
"sb_sponsor" = "спонсорский сегмент";
"sb_intro" = "сегмент со вступлением";
"sb_outro" = "сегмент с титрами/заставкой";
"sb_interaction" = "сегмент со взаимодействием";
"sb_selfpromo" = "саморекламой";
"sb_music_offtopic" = "сегмент с оффтопом";
"sb_preview" = "превью сегмент";
"sb_poi_highlight" = "важный момент";
"sb_filler" = "сегмент с шутками";
"SegmentDetected" = "Обнаружен %@";
"SegmentSkipped" = "Перемотан %@";
"SkippedToSegment" = "Перемотано на %@";
"SkipSegment" = "Перемотать";
"SkipToSegment" = "К моменту";
"Unskip" = "Отменить";
/* Developer section */
"Developer" = "Разработчик";
"FollowMe" = "Подпишитесь на меня в X";
"SupportDevelopment" = "Помочь с развитием проекта";
"DonateDesc" = "Ваша поддержка важна для меня";
"SupportDevelopmentDesc" = "Если вам понравился YTPlus и вы хотели бы поддержать проект, то можете сделать это любым подходящим ниже способом.\nСпасибо❤";
"VisitGithub" = "Репозиторий на Github";
"VisitGithubDesc" = "Оцените репозиторий, предложите функцию или сообщите о проблемах";
"VisitTelegram" = "Мой канал в Telegram";
"VisitTelegramDesc" = "Будьте в курсе последних обновлений приложения";
/* Credits section */
"Credits" = "Авторы"; "Credits" = "Авторы";
"Developer" = "Разработчик твика";
"Contributors" = "Благодарность";
"DevContribution" = "Вклад в разработку";
"SpecialThanks" = "Особая благодарность";
"SpecialThanks.Test" = "Неоценимый вклад в тестирование твика";
"Localizations" = "Авторы локализаций";
"ChineseSimplified" = "Китайская (упрощенная) локализация"; "ChineseSimplified" = "Китайская (упрощенная) локализация";
"ChineseTraditional" = "Китайская (традиционная) локализация"; "ChineseTraditional" = "Китайская (традиционная) локализация";
"French" = "Французская локализация"; "French" = "Французская локализация";
"Spanish" = "Испанская локализация"; "Spanish" = "Испанская локализация";
"Japanese" = "Японская локализация"; "Japanese" = "Японская локализация";
"Vietnamese" = "Вьетнамская локализация"; "Vietnamese" = "Вьетнамская локализация";
"Advanced" = "Расширенный режим"; "Arabic" = "Арабская локализация";
"AdvancedModeReminder" = "Хотите ли вы активировать расширенный режим настроек YTLite?\n\nДанный режим добавляет более 50 опций для тонкой настройки YouTube. Вы всегда сможете включить/отключить расширенный режим перейдя в Настройки → %@ → %@ → %@."; "Turkish" = "Турецкая локализация";
"OpenSourceLibs" = "Библиотеки с исходным кодом";
"Preferences" = "Параметры %@";
"ManagePreferences" = "Управление настройками";
"ImportPreferences" = "Импортировать настройки";
"PreImportMessage" = "Данное действие перезапишет существующие настройки твика на те, что будут в выбираемом файле.\n\nУверены, что хотите продолжить?";
"ExportPreferences" = "Экспортировать настройки";
"ResetSettings" = "Восстановить настройки по умолчанию";
"ResetMessage" = "Данное действие вернет настройки YTPlus к значениям по умолчанию.\n\nУверены, что хотите продолжить?";
"ManageCache" = "Управление кешем";
"ClearCacheAtStart" = "Очищать кеш при запуске";
"ClearCacheAtStartDesc" = "Автоматическая очистка кеша при каждом запуске.";
"ClearCache" = "Очистить кеш"; "ClearCache" = "Очистить кеш";
"ResetSettings" = "Сбросить настройки твика";
"ResetMessage" = "Данное действие сбросит настройки YTLite к значениям по умолчанию и закроет YouTube.\n\nУверены, что хотите продолжить?"; "NoDonationReminder" = "Не напоминать о донате";
"NoDonationReminderDesc" = "Отключает изредка появляющиеся напоминания о пожертвовании.";
"ShortsOnlyWarning" = "Вы уверены, что хотите активировать данный режим?\n\nВ данном режиме вы не сможете ничего делать, кроме как смотреть видеоролики Shorts.\n\nРежим Shorts можно будет отключить зажав в плеере двумя пальцами."; "ShortsOnlyWarning" = "Вы уверены, что хотите активировать данный режим?\n\nВ данном режиме вы не сможете ничего делать, кроме как смотреть видеоролики Shorts.\n\nРежим Shorts можно будет отключить зажав в плеере двумя пальцами.";
"ShortsModeTurnedOff" = "Режим Shorts был отключен"; "ShortsModeTurnedOff" = "Режим Shorts был отключен";
"AddLibraryTab" = "Добавить вкладку «Вы»";
"RemoveLibraryTab" = "Удалить вкладку «Вы»";
"LibraryAdded" = "Вкладка «Вы» восстановлена";
"LibraryRemoved" = "Вкладка «Вы» удалена";
"Yes" = "Да"; "Yes" = "Да";
"No" = "Нет"; "No" = "Нет";
"Select" = "Выбрать";
"Default" = "По умолчанию";
"Best" = "Лучшее";
"Show" = "Отображать";
"Disable" = "Отключено";
"Disabled" = "Отключить";
"PlaybackSpeed" = "Скорость воспроизведения";
"SpeedPreserved" = "Скорость сохранена";
"ResetSpeed" = "Сбросить";
"Toast.Brightness" = "Яркость";
"Toast.PlaybackSpeed" = "Скорость";
"Toast.Volume" = "Громкость";
"SelectAction" = "Выберите действие"; "SelectAction" = "Выберите действие";
"CopyTitle" = "Скопировать название"; "DownloadVideo" = "Скачать видео";
"DownloadAudio" = "Скачать аудио";
"SaveImage" = "Сохранить обложку";
"CopyInformation" = "Скопировать информацию";
"CopyChannelName" = "Скопировать название канала";
"CopyTitle" = "Скопировать название видео";
"CopyDescription" = "Скопировать описание"; "CopyDescription" = "Скопировать описание";
"CopyTimestampedLink" = "Скопировать ссылку со временной отметкой";
"CopyTranscript" = "Скопировать транскрипт";
"PlayInExternalPlayer" = "Воспроизвести в стороннем плеере";
"PlayInSystemPlayer" = "Воспроизвести в системном плеере";
"PlayInInfuse" = "Воспроизвести в Infuse";
"PlayInVLC" = "Воспроизвести в VLC";
"PlayerNotFound" = "Приложение не найдено";
"OpenAsRegularVideo" = "Открыть как обычное видео";
"CopyPostText" = "Скопировать текст поста"; "CopyPostText" = "Скопировать текст поста";
"SaveCurrentImage" = "Сохранить данное фото";
"CopyCurrentImage" = "Скопировать данное фото";
"SavePostAsImage" = "Сохранить пост как фото"; "SavePostAsImage" = "Сохранить пост как фото";
"CopyPostAsImage" = "Скопировать пост как фото"; "CopyPostAsImage" = "Скопировать пост как фото";
"CopyCommentText" = "Скопировать текст комментария"; "CopyCommentText" = "Скопировать текст комментария";
"SaveCommentAsImage" = "Сохранить комментарий как фото"; "SaveCommentAsImage" = "Сохранить комментарий как фото";
"CopyCommentAsImage" = "Скопировать комментарий как фото"; "CopyCommentAsImage" = "Скопировать комментарий как фото";
"SaveProfilePicture" = "Сохранить фото профиля";
"CopyProfilePicture" = "Скопировать фото профиля";
"DownloadThumbnail" = "Скачать обложку";
"CopyThumbnail" = "Скопировать обложку";
"Cancel" = "Отмена"; "Cancel" = "Отмена";
"Cancelled" = "Операция отменена";
"Copied" = "Скопировано в буфер обмена"; "Copied" = "Скопировано в буфер обмена";
"Saved" = "Сохранено в Фото"; "Saved" = "Сохранено в Фото";
"Done" = "Готово"; "Done" = "Готово";
"Error" = "Ошибка"; "NothingToShowInMenu" = "В данном меню нечего отображать";
"Error" = "Ошибка";
"Error.Clipboard" = "Ошибка. Проверьте буфер обмена для полной информации";
"Error.PathIssue" = "Ошибка. Не удалось сгенерировать конечный путь. Проблема в названии медиафайла?";
"Error.TryLater" = "Ведется прямой эфир или ожидается завершение обработки на сервере Google.\n\nПопробуйте позже.";
"Error.NoSpace" = "Недостаточно места на устройстве.\n\nНеобходимо еще как минимум %@. Доступно %@";
"Error.Multidownloading" = "Параллельная загрузка пока еще не доступна.";
"Error.FailedToImport" = "Не удалось импортировать настройки";
"DownloadingVideo" = "Загрузка видео";
"DownloadingAudio" = "Загрузка аудио";
"ParsingCaptions" = "Загрузка субтитров";
"ParsingTranscript" = "Геренация транскрипта";
"Converting" = "Конвертация";
"RetryLogin" = "Авторизация активирована.\n\nПопробуйте заново.";
"LoginInfo" = "Необходимо перезапустить приложение после успешной авторизации в аккаунт Google";
"Welcome.Download" = "Загрузка медиа";
"Welcome.DownloadDesc" = "Скачивайте понравившийся контент, будь то Видео, Shorts, Аудио либо Фото профиля. Копируйте интересные посты и комментарии либо же сохраняйте их в качестве изображений";
"Welcome.Content" = "Настраиваемый интерфейс";
"Welcome.ContentDesc" = "Удаляйте ненужный контент и скройте ненужные элементы интерфейса. Также доступен OLED-совместимый темный режим";
"Welcome.Player" = "Настройка плеера";
"Welcome.PlayerDesc" = "Кастомизируйте поведение плеера, автовыбор качества и скорости. Управляйте жестами";
"Welcome.More" = "И даже больше...";
"Welcome.MoreDesc" = "YouTube Plus содержит в себе более 50 различных опций, включая такие, как сохранение настроек и очистка кеша. Настройки доступны в разделе YouTube Plus в настройках YouTube";
"SupportMe" = "Задонатить";
"Continue" = "Продолжить";
"Conflicts.Detected" = "Обнаружены несовместимые твики";
"Conflicts.DetectedDesc" = "Несмотря на кажущуюся стабильность работы приложения, разработчик YouTube Plus не рекомендует совмещать схожие по функциональности твики в одном приложении и не может гарантировать безопасность использования.\n\nПродолжая использование, вы берете на себя всю ответственность и соглашаетесь с тем, что жалобы на работоспособность будут игнорироваться.";
"Conflicts.AcceptRisks" = "Я принимаю все риски";
"Conflicts.CloseYT" = "Закрыть YouTube";
"DonationReminder" = "Ваша поддержка помогает делать YouTube Plus лучше.\n\nВы можете внести свой вклад или отключить данное напоминание в настройках YouTube Plus. Спасибо💜";
@@ -0,0 +1,507 @@
/* Main section */
"Main" = "Ana";
/* Downloading options */
"Downloading" = "İndirme";
"DownloadManager" = "İndirme yöneticisi";
"DownloadManagerDesc" = "Oyuncunun altındaki 'İndir' düğmesi eylemini, Video, Ses, Küçük Resim Görüntüsü indirmeye ve Video Bilgilerini Kopyalamaya olanak tanıyan bir İndirme Yöneticisi ile değiştirir.";
"PostManager" = "Gönderi bilgisini kaydet";
"PostManagerDesc" = "Uzun basarak gönderi metnini kopyalamaya ve gönderiyi resim olarak kaydetmeye olanak tanır.";
"SaveProfilePhoto" = "Profil resmini kaydet";
"SaveProfilePhotoDesc" = "Uzun basarak profil resmini Fotoğraflar uygulamasına kaydeder.";
"CommentManager" = "Yorum bilgisini kaydet";
"CommentManagerDesc" = "Uzun basarak yorum metnini kopyalamaya ve yorumları resim olarak kaydetmeye olanak tanır.";
"YtlButtonPosition" = "İndirme düğmesi yerleşimi";
"UnderPlayer" = "Oynatıcının altında";
"Overlay" = "Kaplama üzerinde";
"Both" = "Her ikisi de";
"PostDownloadAction" = "İndirme sonrası eylem";
"PostDownloadDesc" = "Seçilen eylem, video indirme işlemi başarılı bir şekilde tamamlandığında gerçekleştirilecektir.";
"SaveToPhotos" = "Fotoğraflara kaydet";
"Share" = "Paylaş";
"Ask" = "Sor";
"DownloadCompleted" = "İndirme tamamlandı";
"PreferredAudio" = "Tercih edilen ses parçası";
"Selected" = "Seçilen";
"English" = "İngilizce";
"SelectAudioTrack" = "Ses parçası seçin";
"EnglishNotFound" = "İngilizce ses parçası bulunamadı";
"Captions" = "Altyazılar";
"EmbedCapsToVideos" = "Altyazıları göm";
"EmbedCapsToVideosDesc" = "Seçilen altyazıları videolara gömer.";
"EmbedAutoGenCaps" = "Otomatik oluşturulmuş/çeviri";
"EmbedAutoGenCapsDesc" = "Altyazılar listesine otomatik oluşturulmuş, çevrilmiş ve otomatik çevrilmiş altyazıları ekler.";
"DownloadCaptions" = "Altyazıları indir";
"SelectCaption" = "Altyazıları seç";
"Translated" = "çeviri";
"TranslatedAutoGen" = "otomatik çeviri";
/* Nav bar options */
"Navbar" = "Gezinme çubuğu";
"RemoveCast" = "Cast düğmesini gizle";
"RemoveCastDesc" = "Gezinme çubuğundan Cast düğmesini gizler.";
"RemoveNotifications" = "Bildirimler düğmesini gizle";
"RemoveNotificationsDesc" = "Gezinme çubuğundan Bildirimler düğmesini gizler.";
"RemoveSearch" = "Arama düğmesini gizle";
"RemoveSearchDesc" = "Gezinme çubuğundan Arama düğmesini gizler.";
"RemoveVoiceSearch" = "Sesli arama düğmesini gizle";
"RemoveVoiceSearchDesc" = "Gezinme çubuğundan Sesli arama düğmesini gizler.";
"StickyNavbar" = "Sabit gezinme çubuğu";
"StickyNavbarDesc" = "Gezinme çubuğunu sabitler, böylece aşağı kaydırırken görünür kalır.";
"NoSubbar" = "Alt çubuğu gizle";
"NoSubbarDesc" = "Gezinme çubuğunun altındaki Alt çubuğu (Hepsi, Sizin İçin Yeni, Canlı vb.) gizler.";
"NoYTLogo" = "YouTube logosunu kaldır";
"NoYTLogoDesc" = "Gezinme çubuğundaki YouTube logosunu kaldırır.";
"PremiumYTLogo" = "Premium YouTube logosunu ayarla";
"PremiumYTLogoDesc" = "Gezinme çubuğuna Premium YouTube logosunu ayarlar.";
/* Feed options */
"Feed" = "Akış";
"RemoveAds" = "Reklamları kaldır";
"RemoveAdsDesc" = "Uygulama içi reklamları kaldırır.";
"HideShorts" = "Shorts videolarını gizle";
"HideShortsDesc" = "Anasayfa, Önerilenler vb. yerlerden Shorts videolarını gizler.";
"KeepSubsShorts" = "Shorts videolarını Aboneliklerde tut";
"KeepSubsShortsDesc" = "Abonelikler sekmesindeki Shorts videolarını kaldırmayı engeller.";
"RemoveCommunityPosts" = "Topluluk gönderilerini kaldır";
"RemoveCommunityPostsDesc" = "Akıştan topluluk gönderilerini kaldırır.";
"RemoveMixPlaylists" = "Karışımları kaldır";
"RemoveMixPlaylistsDesc" = "YouTube tarafından oluşturulan karışım çalma listesini akıştan kaldırır.";
"RemoveLiveVids" = "Canlı yayınları kaldır";
"RemoveLiveVidsDesc" = "Ana sekmesinden canlı yayınları kaldırır.";
"RemoveHorizontalFeeds" = "Yatay akışları kaldır";
"RemoveHorizontalFeedsDesc" = "Ana sekmesinden tüm yatay akışları (Haberler, İzlemeye Devam Et, Gönderi koleksiyonu, vb.) kaldırır.";
"RemoveMoreTopics" = "\"Daha fazla konu\"yu kaldır";
"RemoveMoreTopicsDesc" = "Akıştan \"Daha fazla konu\"yu kaldırır.";
"FixAlbums" = "Kapakları düzelt";
"FixAlbumsDesc" = "Rusya'daki kullanıcılar için kapakların görüntülenmesini düzeltir.";
/* Player options */
"Player" = "Oyuncu";
"PlaybackQualityOnWiFi" = "WiFi'de oynatma kalitesi";
"PlaybackQualityOnCellular" = "Hücresel bağlantıda oynatma kalitesi";
"PreferredCaptions" = "Tercih edilen altyazılar";
"Original" = "Orijinal";
"Custom" = "Elle seç";
"CustomAudioTrack" = "Seçilen ses parçası";
"CustomCaptions" = "Seçilen altyazılar";
"AutoGenCaps" = "Otomatik oluşturulan altyazılar";
"AutoGenCapsDesc" = "Seçilen altyazılar bulunamazsa, YouTube Plus orijinal altyazıların çevirisini veya otomatik oluşturulan altyazıların çevirisini seçmeye çalışacaktır.";
"Player.Interface" = "Arayüz";
"SpeedControls" = "Hız kontrolleri";
"SpeedControlsDesc" = "Kaplama üzerinde hız kontrol düğmelerini gösterir";
"HideAutoplay" = "Otomatik oynatma anahtarını gizle";
"HideAutoplayDesc" = "Kaplama üzerinde Otomatik oynatma anahtarını gizler.";
"HideSubs" = "Altyazı düğmesini gizle";
"HideSubsDesc" = "Kaplama üzerinde Altyazı düğmesini gizler.";
"HidePrevNext" = "Önceki ve Sonraki düğmelerini gizle";
"HidePrevNextDesc" = "Kaplama üzerinde Önceki ve Sonraki video düğmelerini gizler.";
"ReplacePrevNext" = "İleri sar ve Geri sar düğmeleri";
"ReplacePrevNextDesc" = "Kaplama üzerinde Önceki ve Sonraki video düğmelerini İleri sar ve Geri sar düğmeleri ile değiştirir.";
"RememberLoopMode" = "Döngü modunu hatırla";
"RememberLoopModeDesc" = "Oynatıcının ek ayarlarında seçilen döngü modunu hatırlar.";
"FullscreenToTheLeft" = "Sol dönüşte tam ekran";
"FullscreenToTheLeftDesc" = "Tam ekran moduna geçiş, ekranı sola döndürecektir.";
"PortraitFullscreen" = "Dikey tam ekran modu";
"PortraitFullscreenDesc" = "Dikey tam ekran modu desteğini etkinleştirir.";
"ClassicQuality" = "Klasik video kalitesi";
"ClassicQualityDesc" = "Klasik video kalitesi seçim menüsünü geri getirir.";
"ExtraSpeedOptions" = "Ekstra hız seçenekleri";
"ExtraSpeedOptionsDesc" = "Oyuncu menüsüne daha fazla video oynatma hızı seçeneği ekler.";
"NoDarkBg" = "Koyu arka planı kaldır";
"NoDarkBgDesc" = "Kaplama koyu arka planını kaldırır.";
"NoEndScreenCards" = "Bitiş ekranı hover kartlarını gizle";
"NoEndScreenCardsDesc" = "Videoların sonunda Bitiş ekranlarını (küçük resimler) gizler.";
"NoAutonavEndScreenCards" = "Otomatik oynatma bitiş ekranını gizle";
"NoAutonavEndScreenCardsDesc" = "Oynatma bittikten sonra ne oynatılacağını gösteren ekranı gizler. Bu seçeneği devre dışı bırakmak otomatik oynatmayı da devre dışı bırakır.";
"NoFullscreenActions" = "Tam ekran eylemlerini devre dışı bırak";
"NoFullscreenActionsDesc" = "Tam ekran modunda eylemler panelini devre dışı bırakır.";
"PersistentProgressBar" = "Kalıcı ilerleme çubuğu";
"PersistentProgressBarDesc" = "Oyuncuda her zaman ilerleme çubuğunu gösterir.";
"RedProgressBar" = "Kırmızı ilerleme çubuğu";
"RedProgressBarDesc" = "Kırmızı ilerleme çubuğunu geri getirir.";
"StockVolumeHUD" = "Sistem ses HUD'u";
"StockVolumeHUDDesc" = "Tam ekran modunda sistem ses HUD'unu gösterir.";
"NoRelatedVids" = "Kaplama içinde ilişkili videolar yok";
"NoRelatedVidsDesc" = "Kaplama içinde yukarı kaydırarak görüntülenen ilişkili videoları kaldırır.";
"NoPromotionCards" = "Ücretli Promosyon kartlarını gizle";
"NoPromotionCardsDesc" = "Promosyon içeren videolarda \"Ücretli Promosyonlar İçerir\" kartını gizler.";
"NoWatermarks" = "Filigranları gizle";
"NoWatermarksDesc" = "Oyuncudan kanal filigranlarını gizler.";
"VideoEndTime" = "Oynatma bitiş zamanını göster";
"VideoEndTimeDesc" = "Oyuncu çubuğuna video oynatma bitiş zamanını ekler.";
"24hrFormat" = "24 saat formatı";
"24hrFormatDesc" = "Bitiş zamanını 24 saat formatında gösterir.";
"Player.Actions" = "Eylemler";
"DefaultPlaybackRate" = "Varsayılan oynatma hızı";
"BackgroundPlayback" = "Arka planda oynatma";
"BackgroundPlaybackDesc" = "Arka planda oynatmayı etkinleştirir.";
"Miniplayer" = "Mini oynatıcıyı etkinleştir";
"MiniplayerDesc" = "Çocuklara yönelik videolar gibi başlangıçta mini oynatıcı için tasarlanmamış videolar için mini oynatıcıyı etkinleştirir.";
"DisableAutoplay" = "Otomatik oynatma videolarını devre dışı bırak";
"DisableAutoplayDesc" = "Açıldıktan sonra video oynatmayı engeller.";
"DisableAutoCaptions" = "Otomatik altyazıları devre dışı bırak";
"DisableAutoCaptionsDesc" = "Altyazıların otomatik olarak etkinleştirilmesini engeller.";
"NoContentWarning" = "İçerik uyarısını atla";
"NoContentWarningDesc" = "Hassas içerik uyarı mesajını atlar.";
"NoHints" = "İpuçlarını devre dışı bırak";
"NoHintsDesc" = "Oynatma ekranı kontrollerinin nasıl kullanılacağını açıklayan ipuçlarını devre dışı bırakır.";
"AutoFullscreen" = "Videoları tam ekranda oynat";
"AutoFullscreenDesc" = "Videoları otomatik olarak tam ekran modunda oynatır.";
"ExitFullscreen" = "Bitince tam ekran modundan çık";
"ExitFullscreenDesc" = "Video oynatımı sonunda tam ekran modundan çıkar.";
"Player.Gestures" = "Hareketler";
"LeftSideGesture" = "Sol taraf için hareket";
"RightSideGesture" = "Sağ taraf için hareket";
"ActivationAreaWidth" = "Tanıma bölgesinin genişliği";
"ActivationAreaWidthDesc" = "Bu değer, ekranın sol ve sağ taraflarındaki jest tanıma bölgesinin genişliğini piksel cinsinden belirler.\n\nİzin verilen maksimum değer, ekran genişliğinin üçte biridir.\n\nBunun ayarlanması, oynatıcıyı küçültmeye veya genişletmeye çalışırken yanlışlıkla etkinleştirmeyi önlemek için yararlıdır.";
"HoldToSpeed" = "Hızlandırmak için basılı tut";
"AdjustWithFinger" = "Hareketlerle hız ayarla";
"AdjustWithFingerDesc" = "Oynatıcıda uzun süre basılı tutarak ve parmağınızı yukarı ve aşağı hareket ettirerek oynatma hızını ayarlamanıza olanak tanır";
"PreserveSpeed" = "Hızı koru";
"PreserveSpeedDesc" = "Hareket tamamlandıktan sonra ayarlanan hızı korur";
"SeekAnywhere" = "Kaydırarak sarma";
"SeekAnywhereDesc" = "Oynatmayı, parmağınızı sola ve sağa kaydırarak sarmanıza olanak tanır.";
"SeekMethod" = "Sarma yöntemi";
"SeekMethodDesc" = "Bağımsız: Tüm video süresi boyunca serbest hızlı kaydırma. Yalnızca sarma hassasiyeti dikkate alınır.\n\nSüreye dayalı: Kaydırma gücü, videonun uzunluğuna ve sarma hassasiyetine bağlı olacaktır. Bu, uzun videolar için büyük bölümleri atlamayı önlemek adına yararlıdır.";
"Independent" = "Bağımsız";
"DurationBased" = "Süreye dayalı";
"SeekSensitivity" = "Sarma hassasiyeti";
"TwoFingerTapToPause" = "İki parmakla duraklat";
"TwoFingerTapToPauseDesc" = "Ekrana iki parmakla dokunarak oynatmayı duraklatır/yeniden başlatır.";
"TwoFingerPanToBrightness" = "Parlaklığı ayarla";
"TwoFingerPanToBrightnessDesc" = "Ekranı iki parmakla yukarı/aşağı kaydırarak parlaklığı ayarlamanıza olanak tanır.";
"CopyWithTimestamp" = "Zaman damgalı bağlantıları kopyala";
"CopyWithTimestampDesc" = "Duraklat düğmesine basarak zaman damgalı bağlantıyı panoya kopyalamanıza olanak tanır.";
"PauseOnOverlay" = "Üst bilgi üzerinde duraklat";
"PauseOnOverlayDesc" = "Üst bilgi görünürse oynatmayı duraklatır.";
"DontSnap2Chapter" = "Bölüme geçişi devre dışı bırak";
"DontSnap2ChapterDesc" = "Çift dokunma hareketiyle bir sonraki bölüme geçişi devre dışı bırakır.";
"NoTwoFingerSnapToChapter" = "İki parmak çift dokunma ile bölüme geçişi devre dışı bırak";
"NoTwoFingerSnapToChapterDesc" = "İki parmak çift dokunma ile bölüme geçişi devre dışı bırakır.";
"NoFreeZoom" = "Serbest yakınlaştırma hareketini devre dışı bırak";
"NoFreeZoomDesc" = "Yeni serbest yakınlaştırma hareketlerini devre dışı bırakır.";
"NoDoubleTap2Seek" = "Çift dokunarak aramayı devre dışı bırak";
"NoDoubleTap2SeekDesc" = "Çift dokunarak arama hareketini devre dışı bırakır.";
/* Shorts options */
"Shorts" = "Shorts";
"PlaybackMode" = "Oynatma tamamlanma eylemi";
"Loop" = "Tekrarla";
"ScrollToNext" = "Sonrakiye kaydır";
"Stop" = "Durdur";
"AutoSkipShorts" = "Otomatik kaydır";
"ShortsOnlyMode" = "Sadece Shorts Modu";
"ShortsOnlyModeDesc" = "YouTube işlevselliğini yalnızca Shorts izlemeyle sınırlar.";
"RestrictShorts" = "Shorts sayısını kısıtla";
"RestrictShortsDesc" = "Akıştaki Shorts sayısını 10-15 ile sınırlar. Sonsuz kaydırma alışkanlığından kaçınmak isteyenler için faydalı olabilir.";
"ShortsProgress" = "İlerleme çubuğunu etkinleştir";
"ShortsProgressDesc" = "Shorts üst bilgisinde ilerleme çubuğunu gösterir.";
"SpeedByLongTap" = "Shorts oynatma hızını artır";
"SpeedByLongTapDesc" = "Ekranın belirli bir kısmına uzun süre basarak oynatma hızını artırmanıza olanak tanır.";
"SpeedLocation" = "Etkinleştirme konumu";
"PinchToFullscreenShorts" = "Tam ekran için sıkıştır";
"PinchToFullscreenShortsDesc" = "Sıkıştırma hareketleriyle üst bilgi görünürlüğünü yönetir, Shorts'u tam ekran modunda görüntüler.";
"ShortsToRegular" = "Shorts'u normal videolar olarak aç";
"ShortsToRegularDesc" = "Shorts videolarını normal videolar olarak açar.";
"RemoveShortsLive" = "Canlı yayınları kaldır";
"RemoveShortsLiveDesc" = "Akıştaki canlı yayınları kaldırır.";
"HideShortsLogo" = "Shorts logosunu gizle";
"HideShortsLogoDesc" = "Shorts logosunu sol üst köşede gizler.";
"HideShortsSearch" = "Arama düğmesini gizle";
"HideShortsSearchDesc" = "Shorts üst bilgisinde arama düğmesini gizler.";
"HideShortsCamera" = "Kamera düğmesini gizle";
"HideShortsCameraDesc" = "Shorts üst bilgisinde kamera düğmesini gizler.";
"HideShortsMore" = "Daha fazla (⋮) düğmesini gizle";
"HideShortsMoreDesc" = "Shorts üst bilgisinde Daha fazla (⋮) düğmesini gizler. Ekrana uzun süre basarak erişilebilir.";
"HideShortsSubscriptions" = "Abonelikler düğmesini gizle";
"HideShortsSubscriptionsDesc" = "Shorts duraklatıldığında görünen Abonelikler düğmesini gizler.";
/* Tab bar options */
"Tabbar" = "Sekme çubuğu";
"Startup" = "Başlangıç sayfası";
"FEwhat_to_watch" = "Ana sayfa";
"FEexplore" = "Keşfet";
"FEshorts" = "Shorts";
"FEsubscriptions" = "Abonelikler";
"FElibrary" = "Kütüphane";
"FEuploads" = "Yeni";
"FEhistory" = "Geçmiş";
"VLWL" = "Sonra izle";
"RemoveLabels" = "Etiketleri kaldır";
"RemoveIndicators" = "Göstergeleri kaldır";
"ActiveTabs" = "Aktif sekmeler";
"InactiveTabs" = "Pasif sekmeler";
"HideLibraryFooter" = "Kütüphane sekmesi, sekme çubuğundaki ilk sekmeye uzun basılarak gizlenebilir veya gösterilebilir.";
"Warning" = "Uyarı";
"TabIsHidden" = "Gizli sekme başlangıç sayfası olarak seçilemez";
"TabIsStartupTab" = "Başlangıç sayfası olarak seçilen sekme gizlenemez";
"TabsCountRestricted" = "En fazla altı sekme ekleyebilirsiniz";
/* Interface options */
"Interface" = "Arayüz";
"OledTheme" = "Oled teması";
"OledThemeDesc" = "Tüm koyu renkleri siyaha çevirir";
"NoSearchHistory" = "Arama geçmişini gizle";
"NoSearchHistoryDesc" = "Arama geçmişini ve önerileri görsel olarak gizler. Not: Arama geçmişiniz diğer YouTube istemcilerinizde hala erişilebilir olacaktır.";
"NoRelatedWatchNexts" = "Oynatıcı altındaki tüm videoları gizle";
"NoRelatedWatchNextsDesc" = "Oynatıcının altındaki tüm videoları gizler, yalnızca video bilgileri ve yorumlar bölümünü bırakır.";
"StickSortComments" = "Yorum başlığını sabitle";
"StickSortCommentsDesc" = "Yorum sıralama başlığını (En iyi, En yeni) kaydırma sırasında kaybolmayacak şekilde sabitler.";
"HideSortComments" = "Yorum başlığını gizle";
"HideSortCommentsDesc" = "Yorum sıralama başlığını (En iyi, En yeni) asla görünmeyecek şekilde gizler.";
"PlaylistOldMinibar" = "Eski oynatma listesi minibarı";
"PlaylistOldMinibarDesc" = "Yeni kayan oynatma listesi panelini eski olanla değiştirir.";
"OldYTUI" = "Eski arayüz";
"OldYTUIDesc" = "YouTube sürümünü sahte olarak göstererek eski arayüzü geri getirir";
"DisableRTL" = "RTL formatlamayı devre dışı bırak";
"DisableRTLDesc" = "Başlangıçta sağdan sola (RTL) görüntülenen diller için metni zorla soldan sağa (LTR) formatında görüntüler.";
"StartupAnimation" = "Başlangıç animasyonu";
"StartupAnimationDesc" = "YouTube başlangıç yükleme animasyonunu gösterir";
"InterfaceStyle" = "Arayüz stili";
"MiniplayerStyle" = "Mini oynatıcı stili";
"MiniplayerStyleDesc" = "Yüzen stile geçmek/çıkmak için uygulamanın yeniden başlatılması gerekir.";
"Floating" = "Yüzen";
"ContextMenu" = "Bağlam menüsü";
"NativeShare" = "Yerel paylaşım sayfası";
"NativeShareDesc" = "Medya paylaşmak için sistem paylaşım sayfasını kullanır";
"RemoveInlineComment" = "Satır içi yorumu kaldır";
"RemoveInlineCommentDesc" = "Oynatıcının altındaki yorum bölümünü kaldırır.";
"RemoveCommentGuidelines" = "Yönergeleri kaldır";
"RemoveCommentGuidelinesDesc" = "Yorumlar bölümündeki sabitlenmiş yönergeleri kaldırır.";
"RemovePlayNext" = "\"Sıradakini sırada oynat\"ı kaldır";
"RemovePlayNextDesc" = "Menüden \"Sıradakini sırada oynat\" seçeneğini kaldırır.";
"RemoveDownloadMenu" = "\"İndir\"i kaldır";
"RemoveDownloadMenuDesc" = "Menüden \"İndir\" seçeneğini kaldırır.";
"RemoveWatchLaterMenu" = "\"Daha Sonra İzle'ye Kaydet\"i kaldır";
"RemoveWatchLaterMenuDesc" = "Menüden \"Daha Sonra İzle'ye Kaydet\" seçeneğini kaldırır.";
"RemoveSaveToPlaylistMenu" = "\"Oynatma listesine kaydet\"i kaldır";
"RemoveSaveToPlaylistMenuDesc" = "Menüden \"Oynatma listesine kaydet\" seçeneğini kaldırır.";
"RemoveShareMenu" = "\"Paylaş\"ı kaldır";
"RemoveShareMenuDesc" = "Menüden \"Paylaş\" seçeneğini kaldırır.";
"RemoveNotInterestedMenu" = "\"İlgilenmiyorum\"u kaldır";
"RemoveNotInterestedMenuDesc" = "Menüden \"İlgilenmiyorum\" seçeneğini kaldırır.";
"RemoveDontRecommendMenu" = "\"Kanalı önermeyin\"i kaldır";
"RemoveDontRecommendMenuDesc" = "Menüden \"Kanalı önermeyin\" seçeneğini kaldırır.";
"RemoveReportMenu" = "\"Rapor Et\"i kaldır";
"RemoveReportMenuDesc" = "Menüden \"Rapor Et\" seçeneğini kaldırır.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Etkinleştir";
"EnableSponsorBlockDesc" = "SponsorBlock eklentisini etkinleştirir.";
"SegmentsInFeedPlayer" = "Akışta göster";
"SegmentsInFeedPlayerDesc" = "Akışta, oynatıcının ilerleme çubuğunda renkli kısımları gösterir.";
"SegmentsInMiniPlayer" = "Mini oynatıcıda göster";
"SegmentsInMiniPlayerDesc" = "Mini oynatıcının ilerleme çubuğunda renkli kısımları gösterir.";
"SegmentSkipAudio" = "Sesli uyarı";
"SegmentSkipAudioDesc" = "Bir kısım atlandığında sesli uyarı çalar.";
"DurationWithoutSegments" = "Yeni süreyi göster";
"DurationWithoutSegmentsDesc" = "Kısımsız toplam süreyi gösterir.";
"SkipAlertDuration" = "Atlama Uyarı Süresi";
"UnskipAlertDuration" = "Geri Atlama Uyarı Süresi";
"Segments" = "Kısımlar";
"Sponsor" = "Sponsor";
"SponsorDesc" = "Ücretli tanıtım, ücretli yönlendirmeler ve doğrudan reklamlar.";
"SponsorColor" = "Sponsor kısmı rengi";
"Intro" = "Ara/Giriş animasyonu";
"IntroDesc" = "Videonun başında bulunan ve aynı içerik üreticisi tarafından yapılan diğer videolarda da görülen animasyon, durağan görüntü veya klip içeren kısımlar.";
"IntroColor" = "Ara/Giriş animasyonu kısmı rengi";
"Endcards" = "Bitiş Kartları/Jenerik";
"EndcardsDesc" = "Genellikle videonun sonunda veya yakınında görünen bitiş kartlarının ve/veya jeneriklerin göründüğü kısımlar.";
"EndcardsColor" = "Jenerik kısmı rengi";
"Interaction" = "Etkileşim hatırlatmaları";
"InteractionDesc" = "Beğenme, abone olma veya ücretli/ücretsiz platform(lar)da etkileşimde bulunma gibi açık hatırlatmalar (örneğin, bir videoya tıklama)";
"InteractionColor" = "Etkileşim kısmı rengi";
"SelfPromo" = "Ücretsiz/Kendini reklamlama";
"SelfPromoDesc" = "Kendini reklamlama: İçerik üreticisiyle doğrudan ilişkili bir ürünü veya hizmeti tanıtma.\nÜcretsiz: İçerik üreticisi bu tanıtım karşılığında herhangi bir ödeme almaz.";
"SelfPromoColor" = "Kendini reklamlama kısmı rengi";
"MusicOfftopic" = "Müzik: Müzik dışı bölüm";
"MusicOfftopicDesc" = "Şarkıyı dinlemekten alıkoyan müzik oynatmadaki offtopic kısımları. Diğer kategoriye girmeyen müzik kliplerinin kısımları için kullanılır.";
"MusicOfftopicColor" = "Müzik dışı kısmı rengi";
"Preview" = "Önizleme";
"PreviewDesc" = "Bu videoda veya aynı serideki diğer videolarda nelerin geleceğini gösteren ve tüm bilgilerin daha sonra videoda tekrarlandığı kliplerin koleksiyonu.";
"PreviewColor" = "Önizleme kısmı rengi";
"Highlight" = "Öne çıkan";
"HighlightDesc" = "Bir videonun öne çıkan noktasına veya önemli noktasına ulaşmak için kullanılır.";
"HighlightColor" = "Öne çıkan kısmı rengi";
"Jokes" = "Konuyla Alakasız/Şaka";
"JokesDesc" = "Konuyla Alakasız/Şaka, videonun ana içeriğini anlamak için gerekli olmayan, yalnızca doldurma veya mizah amacıyla eklenen bağlantılı sahneler içindir.";
"JokesColor" = "Şaka kısmı rengi";
"Sb.Disable" = "Devre Dışı";
"Sb.Skip" = "Otomatik atla";
"Sb.SkipTo" = "Segment'e atla";
"Sb.Ask" = "Sor";
"Sb.Display" = "Oynatıcıda göster";
"sb_sponsor" = "Sponsor kısmı";
"sb_intro" = "Giriş kısmı";
"sb_outro" = "Bitiş kartları kısmı";
"sb_interaction" = "Etkileşim kısmı";
"sb_selfpromo" = "Kendini reklamlama kısmı";
"sb_music_offtopic" = "Müzik dışı kısmı";
"sb_preview" = "Önizleme kısmı";
"sb_poi_highlight" = "Öne çıkan nokta";
"sb_filler" = "Doldurma/Şaka kısmı";
"SegmentDetected" = "%@ bulundu";
"SegmentSkipped" = "%@ atlandı";
"SkippedToSegment" = "%@na atlandı";
"SkipSegment" = "Atla";
"SkipToSegment" = "Göster";
"Unskip" = "Geri atla";
/* Developer section */
"Developer" = "Geliştirici";
"FollowMe" = "Beni X'te takip edin";
"SupportDevelopment" = "Gelişimi destekleyin";
"DonateDesc" = "Desteğiniz benim için çok önemli";
"SupportDevelopmentDesc" = "YTPlus'u beğendiyseniz ve gelişimini desteklemek isterseniz, aşağıdaki uygun yolları kullanarak destek olabilirsiniz.\nTeşekkürler❤";
"VisitGithub" = "Github Deposu";
"VisitGithubDesc" = "Depoya yıldız verin, özellik isteyin veya sorun bildirin";
"VisitTelegram" = "Telegram Kanalım";
"VisitTelegramDesc" = "Uygulamanın en son güncellemelerinden haberdar olun";
/* Credits section */
"Credits" = "Katkılar";
"Contributors" = "Katkıda bulunanlar";
"DevContribution" = "Geliştirmeye katkıda bulunanlar";
"SpecialThanks" = "Özel teşekkürler";
"SpecialThanks.Test" = "Değerli test katkısı";
"Localizations" = "Yerelleştirme yazarları";
"ChineseSimplified" = "Çince (Basitleştirilmiş) yerelleştirme";
"ChineseTraditional" = "Çince (Geleneksel) yerelleştirme";
"French" = "Fransızca yerelleştirme";
"Spanish" = "İspanyolca yerelleştirme";
"Japanese" = "Japonca yerelleştirme";
"Vietnamese" = "Vietnamca yerelleştirme";
"Arabic" = "Arapça yerelleştirme";
"Turkish" = "Türkçe yerelleştirme";
"OpenSourceLibs" = "Açık Kaynak Kütüphaneler";
"Preferences" = "%@ tercihleri";
"ManagePreferences" = "Tercihleri yönet";
"ImportPreferences" = "Tercihleri içe aktar";
"PreImportMessage" = "Bu işlem, geçerli tercihlerin yerini seçilen dosyadaki tercihlerle değiştirecektir.\n\nDevam etmek istediğinizden emin misiniz?";
"ExportPreferences" = "Tercihleri dışa aktar";
"ResetSettings" = "Ayarları varsayılana dön";
"ResetMessage" = "Bu işlem YTPlus ayarlarını varsayılana sıfırlayacak ve YouTube'u kapatacaktır.\n\nDevam etmek istediğinizden emin misiniz?";
"ManageCache" = "Önbelleği yönet";
"ClearCacheAtStart" = "Başlangıçta önbelleği temizle";
"ClearCacheAtStartDesc" = "Başlangıçta önbelleği otomatik olarak temizler.";
"ClearCache" = "Önbelleği temizle";
"NoDonationReminder" = "Bağış hatırlatmasını kapat";
"NoDonationReminderDesc" = "Nadiren gösterilen bağış hatırlatmasını devre dışı bırakır.";
"ShortsOnlyWarning" = "Bu modu etkinleştirmek istediğinizden emin misiniz?\n\nBu modda, yalnızca Shorts videolarını izleyebilir ve başka hiçbir şey yapamazsınız.\n\nShorts Sadece Modunu devre dışı bırakmak için Shorts oynatıcıda iki parmakla uzun basmanız yeterlidir.";
"ShortsModeTurnedOff" = "Sadece Shorts Modu kapatıldı";
"AddLibraryTab" = "\"Siz\" sekmesini ekle";
"RemoveLibraryTab" = "\"Siz\" sekmesini kaldır";
"LibraryAdded" = "\"Siz\" sekmesi geri yüklendi";
"LibraryRemoved" = "\"Siz\" sekmesi kaldırıldı";
"Yes" = "Evet";
"No" = "Hayır";
"Select" = "Seç";
"Default" = "Varsayılan";
"Best" = "En iyi";
"Show" = "Göster";
"Disable" = "Devre dışı bırak";
"Disabled" = "Devre dışı";
"PlaybackSpeed" = "Oynatma Hızı";
"SpeedPreserved" = "Hız korundu";
"ResetSpeed" = "Sıfırla";
"Toast.Brightness" = "Parlaklık";
"Toast.PlaybackSpeed" = "Oynatma Hızı";
"Toast.Volume" = "Ses";
"SelectAction" = "Eylem seç";
"DownloadVideo" = "Videoyu indir";
"DownloadAudio" = "Sesi indir";
"SaveImage" = "Görüntüyü kaydet";
"CopyInformation" = "Bilgiyi kopyala";
"CopyChannelName" = "Kanal adını kopyala";
"CopyTitle" = "Başlığı kopyala";
"CopyDescription" = "Açıklamayı kopyala";
"CopyTimestampedLink" = "Zaman damgalı bağlantıyı kopyala";
"CopyTranscript" = "Transkript kopyala";
"PlayInExternalPlayer" = "Harici oynatıcıda oynat";
"PlayInSystemPlayer" = "Sistem oynatıcıda oynat";
"PlayInInfuse" = "Infuse'da oynat";
"PlayInVLC" = "VLC'de oynat";
"PlayerNotFound" = "Oynatıcı bulunamadı";
"OpenAsRegularVideo" = "Normal video olarak aç";
"CopyPostText" = "Gönderi metnini kopyala";
"SaveCurrentImage" = "Mevcut görüntüyü kaydet";
"CopyCurrentImage" = "Mevcut görüntüyü kopyala";
"SavePostAsImage" = "Gönderiyi görüntü olarak kaydet";
"CopyPostAsImage" = "Gönderiyi görüntü olarak kopyala";
"CopyCommentText" = "Yorum metnini kopyala";
"SaveCommentAsImage" = "Yorumu görüntü olarak kaydet";
"CopyCommentAsImage" = "Yorumu görüntü olarak kopyala";
"SaveProfilePicture" = "Profil resmini kaydet";
"CopyProfilePicture" = "Profil resmini kopyala";
"DownloadThumbnail" = "Küçük resmi kaydet";
"CopyThumbnail" = "Küçük resmi kopyala";
"Cancel" = "İptal";
"Cancelled" = "İptal edildi";
"Copied" = "Panoya kopyalandı";
"Saved" = "Fotoğraflara kaydedildi";
"Done" = "Tamamlandı";
"NothingToShowInMenu" = "Bu bağlam menüsünde gösterilecek hiçbir şey yok";
"Error" = "Hata";
"Error.Clipboard" = "Hata oluştu. Daha fazla bilgi için panoyu kontrol edin";
"Error.PathIssue" = "Hata oluştu. Son yolun oluşturulmasında sorun. Medya başlığıyla ilgili sorun mu?";
"Error.TryLater" = "Canlı yayın yapılıyor veya medya, Google sunucusunda işleme devam ediliyor.\n\nLütfen daha sonra tekrar deneyin.";
"Error.NoSpace" = "Cihazda yetersiz alan.\n\nEn az %@ ek serbest alan gereklidir. Mevcut serbest alan: %@";
"Error.Multidownloading" = "Çoklu indirme henüz mevcut değil.";
"Error.FailedToImport" = "Tercihler içe aktarılamadı";
"DownloadingVideo" = "Video indiriliyor";
"DownloadingAudio" = "Ses indiriliyor";
"ParsingCaptions" = "Altyazılar indiriliyor";
"ParsingTranscript" = "Transkript oluşturuluyor";
"Converting" = "Dönüştürülüyor";
"RetryLogin" = "Geçici çözüm etkinleştirildi.\n\nLütfen tekrar deneyin.";
"LoginInfo" = "Google hesabınıza başarılı bir şekilde giriş yaptıktan sonra uygulama yeniden başlatılmalıdır";
"Welcome.Download" = "Medya İndir";
"Welcome.DownloadDesc" = "En sevdiğiniz içerikleri indirin, ister Videolar, Shorts, Sesler, ister Profil fotoğrafları olsun. İlginç gönderileri ve yorumları kopyalayın veya görüntü olarak kaydedin";
"Welcome.Content" = "Arayüzü Ayarla";
"Welcome.ContentDesc" = "İstenmeyen içerikleri ve arayüz öğelerini kaldırın. Gerçek OLED karanlık modunu etkinleştirin";
"Welcome.Player" = "Oynatıcı Davranışını Ayarla";
"Welcome.PlayerDesc" = "Oynatıcının davranışını özelleştirin, kaliteyi ve oynatma hızını otomatik seçin. Hareketlerle kontrol edin";
"Welcome.More" = "Ve daha fazlası...";
"Welcome.MoreDesc" = "YouTube Plus, tercihlerinizi kaydetme ve önbelleği temizleme gibi 50'den fazla farklı seçenek içerir. Ayarlar YouTube ayarları altındaki YouTube Plus bölümünde mevcuttur";
"SupportMe" = "Beni destekleyin";
"Continue" = "Devam et";
"Conflicts.Detected" = "Uyumsuz Tweak'ler Tespit Edildi";
"Conflicts.DetectedDesc" = "Uygulamanın görünürdeki istikrarına rağmen, YouTube Plus geliştiricisi, benzer işlevselliğe sahip tweak'lerin aynı uygulamada birleştirilmesini önermemekte ve güvenli kullanım garantisi vermemektedir.\n\nUygulamayı kullanmaya devam ederek, tüm sorumluluğu kabul edersiniz ve performansla ilgili şikayetlerin dikkate alınmayacağını kabul edersiniz.";
"Conflicts.AcceptRisks" = "Tüm Riskleri Kabul Ediyorum";
"Conflicts.CloseYT" = "YouTube'u Kapat";
"DonationReminder" = "Desteğiniz, YouTube Plus'ı daha da iyi hale getirmeme yardımcı oluyor.\n\nDoğrudan katkıda bulunabilir veya bu bildirimleri YouTube Plus ayarlarında devre dışı bırakabilirsiniz. Teşekkürler💜";
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

@@ -1,219 +1,507 @@
"General" = "Chung"; /* Main section */
"RemoveAds" = "Loại bỏ các quảng cáo"; "Main" = "Chủ yếu";
"RemoveAdsDesc" = "Loại bỏ quảng cáo trong ứng dụng.";
"BackgroundPlayback" = "Phát lại ở chế độ nền"; /* Downloading options */
"BackgroundPlaybackDesc" = "Cho phép phát lại ở chế độ nền."; "Downloading" = "Tải xuống";
"DownloadManager" = "Trình quản lý tải xuống";
"Navbar" = "Thanh điều hướng"; "DownloadManagerDesc" = "Thay thế hành động nút 'Tải xuống' trong trình phát bằng Trình quản lý tải xuống, cho phép tải xuống Video, Âm thanh, Hình ảnh thu nhỏ và Sao chép thông tin video.";
"RemoveCast" = "Ẩn nút Cast"; "PostManager" = "Lưu bài đăng";
"RemoveCastDesc" = "Ẩn nút Cast khỏi thanh Điều hướng."; "PostManagerDesc" = "Cho phép sao chép văn bản bài đăng và lưu bài đăng dưới dạng hình ảnh bằng cách nhấn giữ.";
"RemoveNotifications" = "Ẩn nút Thông báo"; "SaveProfilePhoto" = "Lưu ảnh hồ sơ";
"RemoveNotificationsDesc" = "Ẩn nút Thông báo khỏi thanh Điều hướng."; "SaveProfilePhotoDesc" = "Lưu ảnh hồ sơ vào ứng dụng Ảnh bằng cách nhấn và giữ.";
"RemoveSearch" = "Ẩn nút Tìm kiếm"; "CommentManager" = "Lưu bình luận";
"RemoveSearchDesc" = "Ẩn nút Tìm kiếm khỏi thanh Điều hướng."; "CommentManagerDesc" = "Cho phép sao chép văn bản bình luận và lưu bình luận dưới dạng hình ảnh bằng cách nhấn giữ.";
"RemoveVoiceSearch" = "Ẩn nút tìm kiếm bằng giọng nói";
"RemoveVoiceSearchDesc" = "Ẩn nút tìm kiếm bằng giọng nói khỏi thanh Điều hướng."; "YtlButtonPosition" = "Vị trí nút tải xuống";
"StickyNavbar" = "Thanh điều hướng cố định"; "UnderPlayer" = "Dưới người chơi";
"StickyNavbarDesc" = "Ghim thanh Điều hướng để nó vẫn hiển thị khi cuộn xuống."; "Overlay" = "Lớp phủ";
"NoSubbar" = "Ẩn thanh phụ"; "Both" = "Both";
"NoSubbarDesc" = "Ẩn Thanh phụ (Tất cả, Mới đối với bạn, Trực tiếp, v.v.) dưới thanh Điều hướng.";
"NoYTLogo" = "Xóa biểu tượng YouTube"; "PostDownloadAction" = "Hành động sau tải xuống";
"NoYTLogoDesc" = "Xóa logo YouTube trong thanh Điều hướng."; "PostDownloadDesc" = "Hành động đã chọn sẽ được thực hiện sau khi tải xuống video thành công.";
"SaveToPhotos" = "Lưu vào ảnh";
"Overlay" = "Lớp phủ"; "Share" = "Chia sẻ";
"HideAutoplay" = "Ẩn nút Tự động phát"; "Ask" = "Ask";
"HideAutoplayDesc" = "Ẩn nút Tự động phát trong trình phát video."; "DownloadCompleted" = "Tải xuống hoàn tất";
"HideSubs" = "Ẩn nút phụ đề";
"HideSubsDesc" = "Ẩn nút Phụ đề khỏi lớp phủ."; "PreferredAudio" = "Bản âm thanh ưa thích";
"NoHUDMsgs" = "Ẩn thông báo HUD"; "Selected" = "Đã chọn";
"NoHUDMsgsDesc" = "Ẩn tất cả các thông báo tính năng từ người chơi. Ví dụ: CC được bật/tắt, Vòng lặp video được bật, v.v."; "English" = "Tiếng Anh";
"HidePrevNext" = "Ẩn nút Trước và Tiếp theo"; "SelectAudioTrack" = "Chọn bản âm thanh";
"HidePrevNextDesc" = "Ẩn các nút Trước và Tiếp theo khỏi lớp phủ video."; "EnglishNotFound" = "Không tìm thấy bản âm thanh tiếng Anh";
"ReplacePrevNext" = "Nút tua đi và tua lại nhanh";
"ReplacePrevNextDesc" = "Thay thế các nút Trước và Tiếp theo thành nút tua đi và tua lại nhanh trong lớp phủ video."; "Captions" = "Chú thích/Phụ đề";
"NoDarkBg" = "Xóa nền tối"; "EmbedCapsToVideos" = "Nhúng chú thích";
"NoDarkBgDesc" = "Loại bỏ nền tối của lớp phủ."; "EmbedCapsToVideosDesc" = "Nhúng chú thích/phụ đề đã chọn vào video.";
"NoEndScreenCards" = "Ẩn video dạng thumbnails"; "EmbedAutoGenCaps" = "Phụ đề tự động tạo/dịch";
"NoEndScreenCardsDesc" = "Ẩn thumbnail của các video đề xuất, xuất hiện ở cuối video."; "EmbedAutoGenCapsDesc" = "Thêm phụ đề tự động tạo, dịch và tự động dịch vào danh sách phụ đề/những chú thích.";
"NoFullscreenActions" = "Vô hiệu hóa các hành động toàn màn hình"; "DownloadCaptions" = "Tải xuống phụ đề";
"NoFullscreenActionsDesc" = "Vô hiệu hóa bảng hành động ở chế độ toàn màn hình."; "SelectCaption" = "Chọn chú thích/phụ đề";
"PersistentProgressBar" = "Thanh tiến trình liên tục"; "Translated" = "đã dịch";
"PersistentProgressBarDesc" = "Luôn hiển thị thanh tiến trình trong trình phát."; "TranslatedAutoGen" = "tự động dịch";
"NoRelatedVids" = "Không có video liên quan trong lớp phủ";
"NoRelatedVidsDesc" = "Xóa các video liên quan được hiển thị trong lớp phủ bằng cách vuốt lên."; /* Nav bar options */
"NoPromotionCards" = "Ẩn thẻ Quảng cáo trả phí"; "Navbar" = "Thanh điều hướng";
"NoPromotionCardsDesc" = "Ẩn thẻ \"Bao gồm quảng cáo trả phí\" trong các video có quảng cáo."; "RemoveCast" = "Ẩn nút Cast";
"NoWatermarks" = "Ẩn watermark của kênh"; "RemoveCastDesc" = "Ẩn nút Cast khỏi thanh Điều hướng.";
"NoWatermarksDesc" = "Ẩn watermark của kênh trong video. Yêu cầu khởi động lại ứng dụng."; "RemoveNotifications" = "Ẩn nút Thông báo";
"RemoveNotificationsDesc" = "Ẩn nút Thông báo khỏi thanh Điều hướng.";
"Player" = "Trình phát"; "RemoveSearch" = "Ẩn nút Tìm kiếm";
"Miniplayer" = "Cho phép sử dụng trình phát thu nhỏ với mọi video"; "RemoveSearchDesc" = "Ẩn nút Tìm kiếm khỏi thanh Điều hướng.";
"MiniplayerDesc" = "Cho phép sử dụng trình phát thu nhỏ với mọi video ban đầu không được thiết kế cho trình phát đó, chẳng hạn như các video dành cho trẻ em."; "RemoveVoiceSearch" = "Ẩn nút tìm kiếm bằng giọng nói";
"PortraitFullscreen" = "Chế độ toàn màn hình dọc"; "RemoveVoiceSearchDesc" = "Ẩn nút tìm kiếm bằng giọng nói khỏi thanh Điều hướng.";
"PortraitFullscreenDesc" = "Cho phép hỗ trợ chế độ toàn màn hình dọc."; "StickyNavbar" = "Thanh điều hướng cố định";
"CopyWithTimestamp" = "Sao chép các liên kết có dấu thời gian"; "StickyNavbarDesc" = "Ghim thanh Điều hướng để nó vẫn hiển thị khi cuộn xuống.";
"CopyWithTimestampDesc" = "Cho phép sao chép liên kết có dấu thời gian vào bảng tạm bằng cách nhấn nút tạm dừng."; "NoSubbar" = "Ẩn thanh phụ";
"DisableAutoplay" = "Tắt video Tự động phát"; "NoSubbarDesc" = "Ẩn Thanh phụ (Tất cả, Mới đối với bạn, Trực tiếp, v.v.) dưới thanh Điều hướng.";
"DisableAutoplayDesc" = "Ngăn chặn phát lại video sau khi mở."; "NoYTLogo" = "Xóa biểu tượng YouTube";
"DisableAutoCaptions" = "Tắt chú thích tự động"; "NoYTLogoDesc" = "Xóa biểu tượng YouTube trong thanh Điều hướng.";
"DisableAutoCaptionsDesc" = "Ngăn chặn việc tự động kích hoạt chú thích."; "PremiumYTLogo" = "Đặt biểu tượng YouTube Premium";
"NoContentWarning" = "Bỏ qua cảnh báo nội dung"; "PremiumYTLogoDesc" = "Đặt biểu tượng YouTube Premium trong thanh Điều hướng.";
"NoContentWarningDesc" = "Bỏ qua thông báo cảnh báo nội dung nhạy cảm.";
"ClassicQuality" = "Chất lượng video cổ điển"; /* Feed options */
"ClassicQualityDesc" = "Mang lại menu lựa chọn chất lượng video cổ điển."; "Feed" = "Feed";
"ExtraSpeedOptions" = "Bổ sung tùy chọn tốc độ"; "RemoveAds" = "Loại bỏ các quảng cáo";
"ExtraSpeedOptionsDesc" = "Thêm nhiều tùy chọn tốc độ phát video vào menu trình phát."; "RemoveAdsDesc" = "Loại bỏ quảng cáo trong ứng dụng.";
"DontSnap2Chapter" = "Tắt tự động chuyển tới chương"; "HideShorts" = "Ẩn video ngắn (Shorts)";
"DontSnap2ChapterDesc" = "Tắt tính năng tự động chuyển tới chương gần nhất khi tua video."; "HideShortsDesc" = "Ẩn video ngắn (Shorts) khỏi Trang chủ, Được đề xuất, v.v. (Không áp dụng cho Lịch sử xem)";
"RedProgressBar" = "Thanh tiến trình màu đỏ"; "KeepSubsShorts" = "Giữ video ngắn trong danh sách đăng ký";
"RedProgressBarDesc" = "Mang lại thanh tiến trình màu đỏ."; "KeepSubsShortsDesc" = "Ngăn chặn việc xóa Video ngắn khỏi tab Đăng ký.";
"NoHints" = "Tắt gợi ý"; "RemoveCommunityPosts" = "Xóa bài đăng của cộng đồng";
"NoHintsDesc" = "Tắt gợi ý của tác giả xuất hiện ở góc trên bên phải trong khi phát lại."; "RemoveCommunityPostsDesc" = "Xóa bài đăng của cộng đồng khỏi nguồn cấp dữ liệu.";
"NoFreeZoom" = "Tắt tính năng chạm để thu phóng"; "RemoveMixPlaylists" = "Xóa hỗn hợp";
"NoFreeZoomDesc" = "Tắt tính năng chạm để thu phóng"; "RemoveMixPlaylistsDesc" = "Xóa danh sách phát tổng hợp do YouTube tạo khỏi nguồn cấp dữ liệu.";
"AutoFullscreen" = "Phát video ở chế độ toàn màn hình"; "RemoveLiveVids" = "Xóa video trực tiếp";
"AutoFullscreenDesc" = "Tự động phát video ở chế độ toàn màn hình."; "RemoveLiveVidsDesc" = "Xóa video Trực tiếp khỏi tab Trang chủ.";
"ExitFullscreen" = "Thoát chế độ toàn màn hình khi hoàn tất"; "RemoveHorizontalFeeds" = "Xóa nguồn cấp dữ liệu ngang";
"ExitFullscreenDesc" = "Thoát khỏi chế độ toàn màn hình khi kết thúc phát video."; "RemoveHorizontalFeedsDesc" = "Xóa tất cả các nguồn cấp dữ liệu ngang (Tin tức, Tiếp tục xem, Bộ sưu tập bài đăng, v.v.) khi tab Trang chủ.";
"NoDoubleTap2Seek" = "Tắt tình năng chạm 2 lần để tua"; "RemoveMoreTopics" = "Xóa \"Chủ đề khác\"";
"NoDoubleTap2SeekDesc" = "Tắt tình năng chạm 2 lần để tua"; "RemoveMoreTopicsDesc" = "Xóa \"Chủ đề khác\" khỏi nguồn cấp dữ liệu.";
"FixAlbums" = "Sửa Albums";
"Tabbar" = "Thanh tab"; "FixAlbumsDesc" = "Sửa lỗi hiển thị Albums cho người dùng Nga.";
"RemoveLabels" = "Xóa nhãn";
"RemoveLabelsDesc" = "Loại bỏ nhãn tab."; /* Player options */
"RemoveIndicators" = "Xóa chỉ báo"; "Player" = "Trình phát";
"RemoveIndicatorsDesc" = "Loại bỏ các chỉ báo tab."; "PlaybackQualityOnWiFi" = "Chất lượng Video trên mạng Wi-Fi";
"ReExplore" = "Thay thế tab Shorts bằng tab Khám phá"; "PlaybackQualityOnCellular" = "Chất lượng Video trên mạng di động";
"ReExploreDesc" = "Hiển thị tab Khám phá thay vì tab Shorts như trên các phiên bản YouTube cũ.";
"AddExplore" = "Thêm tab Khám phá"; "PreferredCaptions" = "Chú thích ưa thích";
"AddExploreDesc" = "Thêm tab Khám phá vào thanh Tab."; "Original" = "Nguyên bản";
"HideShortsTab" = "Ẩn tab Shorts"; "Custom" = "Chọn thủ công";
"HideShortsTabDesc" = "Ẩn tab Shorts khỏi thanh Tab."; "CustomAudioTrack" = "Bản âm thanh được chọn";
"HideSubscriptionsTab" = "Ẩn tab Đăng ký"; "CustomCaptions" = "Chú thích đã chọn";
"HideSubscriptionsTabDesc" = "Ẩn tab Đăng ký khỏi thanh Tab."; "AutoGenCaps" = "Phụ đề được tạo tự động";
"HideUploadButton" = "Ẩn nút Tải lên"; "AutoGenCapsDesc" = "Nếu không tìm thấy phụ đề đã chọn, YouTube Plus sẽ cố gắng chọn bản dịch của phụ đề gốc hoặc bản dịch của phụ đề được tạo tự động.";
"HideUploadButtonDesc" = "Ẩn nút Tải lên khỏi thanh Tab.";
"HideLibraryTab" = "Ẩn tab Thư viện"; "Player.Interface" = "Giao diện";
"HideLibraryTabDesc" = "Ẩn tab Thư viện khỏi thanh Tab."; "SpeedControls" = "Kiểm soát tốc độ";
"SpeedControlsDesc" = "Hiển thị các nút điều khiển tốc độ trên lớp phủ";
"Shorts" = "Shorts"; "HideAutoplay" = "Ẩn nút Tự động phát";
"ShortsOnlyMode" = "Chế độ chỉ dành cho Short"; "HideAutoplayDesc" = "Ẩn nút Tự động phát trong trình phát video.";
"ShortsOnlyModeDesc" = "Giới hạn chức năng của YouTube chỉ ở chế độ Short."; "HideSubs" = "Ẩn nút phụ đề";
"HideShorts" = "Ẩn Shorts"; "HideSubsDesc" = "Ẩn nút Phụ đề khỏi lớp phủ.";
"HideShortsDesc" = "Ẩn Shorts khỏi Trang chủ, Được đề xuất, v.v. (Không áp dụng cho Lịch sử xem)"; "HidePrevNext" = "Ẩn nút Trước và Tiếp theo";
"ShortsProgress" = "Bật thanh tiến trình"; "HidePrevNextDesc" = "Ẩn các nút Trước và Tiếp theo khỏi lớp phủ video.";
"ShortsProgressDesc" = "Hiển thị thanh tiến trình trong lớp phủ Shorts."; "ReplacePrevNext" = "Nút tua đi và tua lại nhanh";
"PinchToFullscreenShorts" = "Chụm vào toàn màn hình"; "ReplacePrevNextDesc" = "Thay thế các nút Trước và Tiếp theo thành nút tua đi và tua lại nhanh trong lớp phủ video.";
"PinchToFullscreenShortsDesc" = "Quản lý khả năng hiển thị của lớp phủ bằng cử chỉ chụm vào và kéo ra, hiển thị Shorts ở chế độ toàn màn hình."; "RememberLoopMode" = "Ghi nhớ chế độ vòng lặp";
"ShortsToRegular" = "Từ Shorts đến video thông thường"; "RememberLoopModeDesc" = "Ghi nhớ chế độ vòng lặp được chọn cuối cùng trong menu trình phát.";
"ShortsToRegularDesc" = "Mở Shorts như video thông thường."; "FullscreenToTheLeft" = "Toàn màn hình khi xoay trái";
"ResumeShorts" = "Tắt tính năng tự động tiếp tục Shorts"; "FullscreenToTheLeftDesc" = "Nhấn vào nút toàn màn hình sẽ xoay màn hình sang trái. Cử chỉ vuốt lên sẽ vào chế độ toàn màn hình thông thường.";
"ResumeShortsDesc" = "Nếu bạn thoát YouTube trong khi đang xem video Shorts, video Shorts đó sẽ không tự động phát khi bạn mở lại YouTube."; "PortraitFullscreen" = "Chế độ toàn màn hình dọc";
"HideShortsLogo" = "Ẩn biểu tượng Shorts"; "PortraitFullscreenDesc" = "Cho phép hỗ trợ chế độ toàn màn hình dọc.";
"HideShortsLogoDesc" = "Ẩn biểu tượng Shorts ở góc trên cùng bên trái."; "ClassicQuality" = "Chất lượng video cổ điển";
"HideShortsSearch" = "Ẩn nút Tìm kiếm"; "ClassicQualityDesc" = "Mang lại menu lựa chọn chất lượng video cổ điển.";
"HideShortsSearchDesc" = "Ẩn nút Tìm kiếm khỏi lớp phủ Shorts."; "ExtraSpeedOptions" = "Bổ sung tùy chọn tốc độ";
"HideShortsCamera" = "Ẩn nút Máy ảnh"; "ExtraSpeedOptionsDesc" = "Thêm nhiều tùy chọn tốc độ phát video vào menu trình phát.";
"HideShortsCameraDesc" = "Ẩn nút Máy ảnh khỏi lớp phủ Shorts."; "NoDarkBg" = "Xóa nền tối";
"HideShortsMore" = "Ẩn nút Thêm (⋮)"; "NoDarkBgDesc" = "Loại bỏ nền tối của lớp phủ.";
"HideShortsMoreDesc" = "Ẩn nút Thêm (⋮) khỏi lớp phủ Shorts. Nó cũng có thể truy cập được bằng cách nhấn và giữ màn hình."; "NoEndScreenCards" = "Ẩn video dạng thumbnails";
"HideShortsSubscriptions" = "Ẩn nút Đăng ký"; "NoEndScreenCardsDesc" = "Ẩn thumbnail của các video đề xuất, xuất hiện ở cuối video.";
"HideShortsSubscriptionsDesc" = "Ẩn nút Đăng ký xuất hiện khi Shorts bị tạm dừng."; "NoAutonavEndScreenCards" = "Ẩn màn hình kết thúc tự động phát";
"HideShortsLike" = "Ẩn nút Thích"; "NoAutonavEndScreenCardsDesc" = "Ẩn màn hình hiển thị nội dung bạn có thể phát tiếp theo sau khi quá trình phát lại kết thúc. Tắt tùy chọn này cũng sẽ tắt tính năng tự động phát";
"HideShortsLikeDesc" = "Ẩn nút Thích khỏi lớp phủ Shorts."; "NoFullscreenActions" = "Vô hiệu hóa các hành động toàn màn hình";
"HideShortsDislike" = "Ẩn nút Không thích"; "NoFullscreenActionsDesc" = "Vô hiệu hóa bảng hành động ở chế độ toàn màn hình.";
"HideShortsDislikeDesc" = "Ẩn nút Không thích khỏi lớp phủ Shorts."; "PersistentProgressBar" = "Thanh tiến trình liên tục";
"HideShortsComments" = "Ẩn nút bình luận"; "PersistentProgressBarDesc" = "Luôn hiển thị thanh tiến trình trong trình phát.";
"HideShortsCommentsDesc" = "Ẩn nút bình luận khỏi lớp phủ Shorts."; "RedProgressBar" = "Thanh tiến trình màu đỏ";
"HideShortsRemix" = "Ẩn nút phối lại"; "RedProgressBarDesc" = "Mang lại thanh tiến trình màu đỏ.";
"HideShortsRemixDesc" = "Ẩn nút Phối lại khỏi lớp phủ Shorts."; "StockVolumeHUD" = "Sử dụng thanh âm lượng mặc định của iOS";
"HideShortsShare" = "Ẩn nút Chia sẻ"; "StockVolumeHUDDesc" = "Sử dụng thanh âm lượng mặc định ở chế độ toàn màn hình.";
"HideShortsShareDesc" = "Ẩn nút Chia sẻ khỏi lớp phủ Shorts."; "NoRelatedVids" = "Không có video liên quan trong lớp phủ";
"HideShortsAvatars" = "Ẩn hình đại diện kênh"; "NoRelatedVidsDesc" = "Xóa các video liên quan được hiển thị trong lớp phủ bằng cách vuốt lên.";
"HideShortsAvatarsDesc" = "Ẩn hình đại diện kênh ở góc dưới bên phải."; "NoPromotionCards" = "Ẩn thẻ Quảng cáo trả phí";
"HideShortsThanks" = "Ẩn nút Superthanks"; "NoPromotionCardsDesc" = "Ẩn thẻ \"Bao gồm quảng cáo trả phí\" trong các video có quảng cáo.";
"HideShortsThanksDesc" = "Ẩn nút Superthanks (Quyên góp) khỏi lớp phủ Shorts."; "NoWatermarks" = "Ẩn watermark của kênh";
"HideShortsSource" = "Ẩn nguồn Shorts"; "NoWatermarksDesc" = "Ẩn watermark của kênh trong video. Yêu cầu khởi động lại ứng dụng.";
"HideShortsSourceDesc" = "Ẩn nguồn Shorts dưới tên kênh."; "VideoEndTime" = "Hiển thị thời gian kết thúc phát";
"HideShortsChannelName" = "Ẩn tên kênh"; "VideoEndTimeDesc" = "Thêm thời gian kết thúc phát video vào thanh trình phát.";
"HideShortsChannelNameDesc" = "Ẩn tên kênh và nút đăng ký khỏi lớp phủ Shorts."; "24hrFormat" = "Định dạng 24 giờ";
"HideShortsDescription" = "Ẩn mô tả"; "24hrFormatDesc" = "Hiển thị thời gian kết thúc ở định dạng 24 giờ.";
"HideShortsDescriptionDesc" = "Ẩn phần mô tả Shorts dưới tên kênh.";
"HideShortsAudioTrack" = "Ẩn AudioTrack"; "Player.Actions" = "Hành động";
"HideShortsAudioTrackDesc" = "Ẩn AudioTrack trong phần mô tả Shorts."; "DefaultPlaybackRate" = "Tốc độ phát mặc định";
"BackgroundPlayback" = "Phát ở chế độ nền";
"Other" = "Khác"; "BackgroundPlaybackDesc" = "Cho phép phát ở chế độ nền.";
"CopyVideoInfo" = "Sao chép thông tin video"; "Miniplayer" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
"CopyVideoInfoDesc" = "Thêm nút để sao chép tiêu đề và mô tả video vào bảng Mô tả Video."; "MiniplayerDesc" = "Cho phép sử dụng trình phát thu nhỏ với mọi video ban đầu không được thiết kế cho trình phát đó, chẳng hạn như các video dành cho trẻ em.";
"PostManager" = "Lưu bài viết"; "DisableAutoplay" = "Tắt video Tự động phát";
"PostManagerDesc" = "Cho phép sao chép văn bản bài viết và lưu bài viết dưới dạng hình ảnh bằng cách nhấn giữ."; "DisableAutoplayDesc" = "Ngăn chặn phát video sau khi mở.";
"SavePostImage" = "Lưu hình ảnh từ bài viết trên cộng đng"; "DisableAutoCaptions" = "Tắt chú thích tự đng";
"SavePostImageDesc" = "Lưu hình ảnh bài viết của cộng đồng vào ứng dụng Ảnh bằng cách nhấn giữ."; "DisableAutoCaptionsDesc" = "Ngăn chặn việc tự động kích hoạt chú thích.";
"SaveProfilePhoto" = "Lưu ảnh hồ sơ"; "NoContentWarning" = "Bỏ qua cảnh báo nội dung";
"SaveProfilePhotoDesc" = "Lưu ảnh hồ sơ vào ứng dng nh bằng cách nhấn và giữ."; "NoContentWarningDesc" = "Bỏ qua thông báo cảnh báo nội dung nhạy cảm.";
"CommentManager" = "Save comment information"; "NoHints" = "Tắt gợi ý";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "Tắt gợi ý của tác giả xuất hiện ở góc trên bên phải trong khi phát.";
"FixAlbums" = "Sửa Albums"; "AutoFullscreen" = "Phát video ở chế độ toàn màn hình";
"FixAlbumsDesc" = "Sửa lỗi hiển thị Albums cho người dùng Nga."; "AutoFullscreenDesc" = "Tự động phát video ở chế độ toàn màn hình.";
"RemovePlayNext" = "Xóa \"Phát tiếp theo trong danh sách chờ\""; "ExitFullscreen" = "Thoát chế độ toàn màn hình khi hoàn tất";
"RemovePlayNextDesc" = "Xóa tùy chọn \"Phát tiếp theo trong danh sách chờ\" khi menu."; "ExitFullscreenDesc" = "Thoát khỏi chế độ toàn màn hình khi kết thúc phát video.";
"NoContinueWatching" = "Xóa \"Tiếp tục xem\"";
"NoContinueWatchingDesc" = "Xóa phần \"Tiếp tục xem\" chứa các video chưa xem hết khỏi Trang chủ."; "Player.Gestures" = "Cử chỉ";
"NoSearchHistory" = "Ẩn lịch sử tìm kiếm"; "LeftSideGesture" = "Cử chỉ cho phía bên trái";
"NoSearchHistoryDesc" = "Ẩn lịch sử tìm kiếm và đề xuất một cách trực quan. Lưu ý: Lịch sử tìm kiếm của bn vẫn có thể truy cập được trong các ứng dụng YouTube khác."; "RightSideGesture" = "Cử chỉ cho phía bên phải";
"NoRelatedWatchNexts" = "Ẩn tất cả video dưới trình phát"; "ActivationAreaWidth" = "Gesture activation width";
"NoRelatedWatchNextsDesc" = "Ẩn tất cả video bên dưới trình phát, chỉ để lại phần thông tin video và nhận xét."; "ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"StickSortComments" = "Dán tiêu đề bình luận"; "HoldToSpeed" = "Giữ tốc độ";
"StickSortCommentsDesc" = "Ghim sắp xếp tiêu đề nhận xét (Hàng đầu, Mới nhất) để nó không biến mất khi cuộn."; "AdjustWithFinger" = "Điều chỉnh tốc độ bằng cử chỉ";
"HideSortComments" = "Ẩn bình luận"; "AdjustWithFingerDesc" = "Cho phép điều chỉnh tốc độ phát lại bằng cách nhấn và giữ trình phát và di chuyển ngón tay lên xuống";
"HideSortCommentsDesc" = "Ẩn bình luận Short, sắp xếp (Hàng đầu, Mới nhất) để nó không bao giờ xuất hiện."; "PreserveSpeed" = "Duy trì tốc độ";
"PlaylistOldMinibar" = "Danh sách phát mini bar cũ"; "PreserveSpeedDesc" = "Duy trì tốc độ đã điều chỉnh sau khi hoàn thành cử chỉ";
"PlaylistOldMinibarDesc" = "Thay thế bảng điều khiển danh sách phát nổi mới bằng bảng điều khiển cũ."; "SeekAnywhere" = "Vuốt để tìm kiếm";
"DisableRTL" = "Tắt định dạng RTL"; "SeekAnywhereDesc" = "Cho phép kiểm soát việc tìm kiếm phát lại bằng cách vuốt sang trái và phải.";
"DisableRTLDesc" = "Hiển thị mạnh mẽ văn bản ở định dạng từ trái sang phải (LTR) cho các ngôn ngữ ban đầu được hiển thị ở định dạng từ phải sang trái (RTL)."; "SeekMethod" = "Phương pháp tìm kiếm";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Startup" = "Trang khởi động"; "Independent" = "Độc lập";
"Home" = "Trang chủ"; "DurationBased" = "Dựa trên thời lượng";
"Explore" = "Khám phá"; "SeekSensitivity" = "Tìm kiếm sự nhạy cảm";
"ShortsTab" = "Shorts"; "TwoFingerTapToPause" = "Tạm dừng bằng hai ngón tay";
"Subscriptions" = "Đăng ký"; "TwoFingerTapToPauseDesc" = "Tạm dừng/Tiếp tục phát lại bằng cách chạm vào màn hình bằng hai ngón tay.";
"Library" = "Thư viện"; "TwoFingerPanToBrightness" = "Điều chỉnh độ sáng";
"Warning" = "Cảnh báo"; "TwoFingerPanToBrightnessDesc" = "Cho phép điều chỉnh độ sáng màn hình bằng cách trượt lên/xuống bằng hai ngón tay.";
"TabIsHidden" = "Không thể chọn Tab ẩn làm trang khởi động"; "CopyWithTimestamp" = "Sao chép các liên kết có dấu thời gian";
"CopyWithTimestampDesc" = "Cho phép sao chép liên kết có dấu thời gian vào bảng tạm bằng cách nhấn nút tạm dừng.";
"DonateViaPayPal" = "Quyên góp qua PayPal"; "PauseOnOverlay" = "Tạm dừng trên lớp phủ";
"SupportViaGhSponsors" = "Hỗ trợ phát triển thông qua Github"; "PauseOnOverlayDesc" = "Đặt chế độ phát ở trạng thái tạm dừng nếu lớp phủ xuất hiện.";
"Version" = "Phiên bản"; "DontSnap2Chapter" = "Tắt tự động chuyển tới chương";
"About" = "Giới thiệu"; "DontSnap2ChapterDesc" = "Tắt tính năng tự động chuyển tới chương gần nhất khi tua video.";
"Credits" = "Credits"; "NoTwoFingerSnapToChapter" = "Tắt tính năng chạm 2 lần bằng 2 ngón tay";
"Developer" = "Nhà phát triển YTLite"; "NoTwoFingerSnapToChapterDesc" = "Tắt thao tác chạm 2 lần bằng 2 ngón tay để chuyển tới chương.";
"ChineseSimplified" = "Tiếng Trung (giản thể)"; "NoFreeZoom" = "Tắt tính năng chạm để thu phóng";
"ChineseTraditional" = "Tiếng Trung (phồn thể)"; "NoFreeZoomDesc" = "Tắt tính năng chạm để thu phóng";
"French" = "Tiếng Pháp"; "NoDoubleTap2Seek" = "Tắt tình năng chạm 2 lần để tua";
"Spanish" = "Tiếng Tây Ban Nha"; "NoDoubleTap2SeekDesc" = "Tắt tình năng chạm 2 lần để tua";
"Japanese" = "Tiếng Nhật";
"Vietnamese" = "Tiếng Việt"; /* Shorts options */
"Advanced" = "Chế độ nâng cao"; "Shorts" = "Video ngắn (Shorts)";
"AdvancedModeReminder" = "Bạn có muốn kích hoạt Chế độ nâng cao cho YTLite không?\n\nChế độ này cung cấp hơn 50 tùy chọn bổ sung để tùy chỉnh và tối ưu hóa trải nghiệm YouTube của bạn. Bạn có thể Bật/Tắt nó sau từ Cài đặt → %@ → %@ → %@."; "PlaybackMode" = "Playback completion action";
"ClearCache" = "Xóa bộ nhớ đệm"; "Loop" = "Loop";
"ResetSettings" = "Đặt lại cài đặt YTLite"; "ScrollToNext" = "Scroll to next";
"ResetMessage" = "Tùy chọn này sẽ đặt lại cài đặt YTLite về mặc định và đóng YouTube.\n\nBạn có chắc chắn muốn tiếp tục không?"; "Stop" = "Stop";
"ShortsOnlyWarning" = "Bạn có chắc chắn muốn kích hoạt chế độ này?\n\nỞ chế độ này, bạn sẽ chỉ có thể xem video Shorts và không thể làm gì khác.\n\nBạn có thể tắt Chế độ chỉ Shorts bằng cách nhấn và giữ bằng hai ngón tay trong trình phát Shorts."; "AutoSkipShorts" = "Tự động bỏ qua Shorts";
"ShortsModeTurnedOff" = "Chế độ chỉ dành cho Shorts đã bị tắt"; "ShortsOnlyMode" = "Chế độ chỉ dành cho Short";
"Yes" = ""; "ShortsOnlyModeDesc" = "Giới hạn chức năng của YouTube chỉ ở chế độ Short.";
"No" = "Không"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "Chọn hành động"; "ShortsProgress" = "Bật thanh tiến trình";
"CopyTitle" = "Sao chép tiêu đề"; "ShortsProgressDesc" = "Hiển thị thanh tiến trình trong lớp phủ Shorts.";
"CopyDescription" = "Sao chép mô tả"; "SpeedByLongTap" = "Tăng tốc độ phát video ngắn";
"CopyPostText" = "Sao chép văn bản bài viết"; "SpeedByLongTapDesc" = "Cho phép tăng tốc độ phát lại bằng cách nhấn lâu vào một phần nhất định của màn hình.";
"SavePostAsImage" = "Lưu bài viết dưới dạng hình ảnh"; "SpeedLocation" = "Vị trí kích hoạt";
"CopyPostAsImage" = "Sao chép bài viết dưới dạng hình ảnh"; "PinchToFullscreenShorts" = "Chụm vào toàn màn hình";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "Quản lý khả năng hiển thị của lớp phủ bằng cử chỉ chụm vào và kéo ra, hiển thị Shorts ở chế độ toàn màn hình.";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "Từ Shorts đến video thông thường";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "Mở Shorts như video thông thường.";
"Cancel" = "Hủy bỏ"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "Sao chép vào clipboard"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Saved" = "Đã lưu vào Ảnh"; "HideShortsLogo" = "Ẩn biểu tượng video ngắn (Shorts)";
"Done" = "Xong"; "HideShortsLogoDesc" = "Ẩn biểu tượng Shorts ở góc trên cùng bên trái.";
"Error" = "Lỗi"; "HideShortsSearch" = "Ẩn nút Tìm kiếm";
"HideShortsSearchDesc" = "Ẩn nút Tìm kiếm khỏi lớp phủ Shorts.";
"HideShortsCamera" = "Ẩn nút Máy ảnh";
"HideShortsCameraDesc" = "Ẩn nút Máy ảnh khỏi lớp phủ Shorts.";
"HideShortsMore" = "Ẩn nút Thêm (⋮)";
"HideShortsMoreDesc" = "Ẩn nút Thêm (⋮) khỏi lớp phủ Shorts. Nó cũng có thể truy cập được bằng cách nhấn và giữ màn hình.";
"HideShortsSubscriptions" = "Ẩn nút Đăng ký";
"HideShortsSubscriptionsDesc" = "Ẩn nút Đăng ký xuất hiện khi Shorts bị tạm dừng.";
/* Tab bar options */
"Tabbar" = "Thanh tab";
"Startup" = "Trang khởi động";
"FEwhat_to_watch" = "Trang chủ";
"FEexplore" = "Khám phá";
"FEshorts" = "Video ngắn (Shorts)";
"FEsubscriptions" = "Đăng ký";
"FElibrary" = "Thư viện";
"FEuploads" = "Create ";
"FEhistory" = "Lịch sử";
"VLWL" = "Xem sau";
"RemoveLabels" = "Xóa nhãn";
"RemoveIndicators" = "Xóa chỉ báo";
"ActiveTabs" = "Tab hoạt động";
"InactiveTabs" = "Tab không hoạt động";
"HideLibraryFooter" = "Tab thư viện có thể được ẩn hoặc hiển thị bằng cách nhấn và giữ tab đầu tiên của thanh tab.";
"Warning" = "Cảnh báo";
"TabIsHidden" = "Không thể chọn Tab ẩn làm trang khởi động";
"TabIsStartupTab" = "Không thể ẩn tab được chọn làm trang khởi động";
"TabsCountRestricted" = "Bạn chỉ có thể có tối đa sáu tab hoạt động";
/* Interface options */
"Interface" = "Giao diện";
"OledTheme" = "Chủ đề Oled";
"OledThemeDesc" = "Biến tất cả các màu tối thành màu đen";
"NoSearchHistory" = "Ẩn lịch sử tìm kiếm";
"NoSearchHistoryDesc" = "Ẩn lịch sử tìm kiếm và đề xuất một cách trực quan. Lưu ý: Lịch sử tìm kiếm của bạn vẫn có thể truy cập được trong các ứng dụng YouTube khác.";
"NoRelatedWatchNexts" = "Ẩn tất cả video dưới trình phát";
"NoRelatedWatchNextsDesc" = "Ẩn tất cả video bên dưới trình phát, chỉ để lại phần thông tin video và nhận xét.";
"StickSortComments" = "Dán tiêu đề bình luận";
"StickSortCommentsDesc" = "Ghim sắp xếp tiêu đề nhận xét (Hàng đầu, Mới nhất) để nó không biến mất khi cuộn.";
"HideSortComments" = "Ẩn bình luận";
"HideSortCommentsDesc" = "Ẩn bình luận Short, sắp xếp (Hàng đầu, Mới nhất) để nó không bao giờ xuất hiện.";
"PlaylistOldMinibar" = "Danh sách phát mini bar cũ";
"PlaylistOldMinibarDesc" = "Thay thế bảng điều khiển danh sách phát nổi mới bằng bảng điều khiển cũ.";
"OldYTUI" = "Old UI";
"OldYTUIDesc" = "Giả mạo phiên bản YouTube để về giao diện cũ";
"DisableRTL" = "Tắt định dạng RTL";
"DisableRTLDesc" = "Hiển thị mạnh mẽ văn bản ở định dạng từ trái sang phải (LTR) cho các ngôn ngữ ban đầu được hiển thị ở định dạng từ phải sang trái (RTL).";
"StartupAnimation" = "Hoạt hình khởi động";
"StartupAnimationDesc" = "Hiển thị hoạt hình tải khởi động YouTube";
"InterfaceStyle" = "Kiểu giao diện";
"MiniplayerStyle" = "Phong cách người chơi thu nhỏ";
"MiniplayerStyleDesc" = "Việc chuyển sang/từ chế độ nổi yêu cầu khởi động lại ứng dụng.";
"Floating" = "Floating";
"ContextMenu" = "meu ngữ cảnh ";
"NativeShare" = "Bảng chia sẻ gốc";
"NativeShareDesc" = "Sử dụng bảng chia sẻ hệ thống để chia sẻ phương tiện";
"RemoveInlineComment" = "Xóa nhận xét nội tuyến";
"RemoveInlineCommentDesc" = "Xóa phần bình luận bên dưới trình phát.";
"RemoveCommentGuidelines" = "Xóa nguyên tắc";
"RemoveCommentGuidelinesDesc" = "Xóa các hướng dẫn được ghim khỏi phần bình luận.";
"RemovePlayNext" = "Xóa \"Phát tiếp theo trong danh sách chờ\"";
"RemovePlayNextDesc" = "Xóa tùy chọn \"Phát tiếp theo trong danh sách chờ\" khỏi menu.";
"RemoveDownloadMenu" = "Xóa \"Tải video xuống\"";
"RemoveDownloadMenuDesc" = "Xóa tùy chọn \"Tải video xuống\" khỏi menu.";
"RemoveWatchLaterMenu" = "Xóa \"Lưu vào danh sách Xem sau\"";
"RemoveWatchLaterMenuDesc" = "Xóa tùy chọn \"Lưu vào danh sách Xem sau\" khỏi menu.";
"RemoveSaveToPlaylistMenu" = "Xóa \"Lưu vào danh sách phát\"";
"RemoveSaveToPlaylistMenuDesc" = "Xóa tùy chọn \"Lưu vào danh sách phát\" khỏi menu.";
"RemoveShareMenu" = "Xóa \"Chia sẻ\"";
"RemoveShareMenuDesc" = "Xóa tùy chọn \"Chia sẻ\" khỏi menu.";
"RemoveNotInterestedMenu" = "Xóa \"Không quan tâm\"";
"RemoveNotInterestedMenuDesc" = "Xóa tùy chọn \"Không quan tâm\" khỏi menu.";
"RemoveDontRecommendMenu" = "Xóa \"Không đề xuất kênh này\"";
"RemoveDontRecommendMenuDesc" = "Xóa tùy chọn \"Không đề xuất kênh này\" khỏi menu.";
"RemoveReportMenu" = "Xóa \"Báo vi phạm\"";
"RemoveReportMenuDesc" = "Xóa tùy chọn \"Báo vi phạm\" khỏi menu.";
/* SponsorBlock settings */
"EnableSponsorBlock" = "Bật";
"EnableSponsorBlockDesc" = "Kích hoạt tiện ích mở rộng PromoteBlock.";
"SegmentsInFeedPlayer" = "Hiển thị các phân đoạn trong nguồn cấp dữ liệu";
"SegmentsInFeedPlayerDesc" = "Hiển thị các phân đoạn màu trên thanh tiến trình của người chơi trong nguồn cấp dữ liệu.";
"SegmentsInMiniPlayer" = "Hiển thị các phân đoạn trên trình phát mini";
"SegmentsInMiniPlayerDesc" = "Hiển thị các phân đoạn màu trên thanh tiến trình của trình phát mini.";
"SegmentSkipAudio" = "Thông báo âm thanh";
"SegmentSkipAudioDesc" = "Phát thông báo âm thanh khi bỏ qua một đoạn.";
"DurationWithoutSegments" = "Hiển thị thời lượng mới";
"DurationWithoutSegmentsDesc" = "Hiển thị tổng thời lượng không có phân đoạn.";
"SkipAlertDuration" = "Bỏ qua thời lượng cảnh báo";
"UnskipAlertDuration" = "Bỏ qua thời lượng cảnh báo";
"Segments" = "Phân đoạn";
"Sponsor" = "Nhà tài trợ";
"SponsorDesc" = "Một phần video quảng cáo sản phẩm hoặc dịch vụ không liên quan trực tiếp đến người sáng tạo. Người sáng tạo sẽ nhận được khoản thanh toán hoặc bồi thường dưới dạng tiền hoặc sản phẩm miễn phí";
"SponsorColor" = "Màu phân khúc nhà tài trợ";
"Intro" = "Hoạt ảnh tạm dừng/giới thiệu";
"IntroDesc" = "Các phân đoạn thường được tìm thấy ở đầu video bao gồm hoạt ảnh, khung hình tĩnh hoặc clip cũng được thấy trong các video khác của cùng một người sáng tạo.";
"IntroColor" = "Màu phân đoạn giới thiệu";
"Endcards" = "Thẻ kết thúc/Tín dụng";
"EndcardsDesc" = "Thông thường gần hoặc ở cuối video khi các khoản tín dụng bật lên và/hoặc Endcards được hiển thị.";
"EndcardsColor" = "Màu sắc phân đoạn Endcards";
"Interaction" = "Lời nhắc tương tác";
"InteractionDesc" = "Lời nhắc rõ ràng để thích, đăng ký hoặc tương tác với họ trên bất kỳ nền tảng trả phí hoặc miễn phí nào (ví dụ: nhấp vào video)";
"InteractionColor" = "Màu phân đoạn tương tác";
"SelfPromo" = "Không trả tiền/Tự quảng cáo";
"SelfPromoDesc" = "Tự quảng cáo: Quảng cáo sản phẩm hoặc dịch vụ có liên quan trực tiếp đến chính người sáng tạo.\nChưa thanh toán:Người sáng tạo sẽ không nhận được bất kỳ khoản thanh toán nào để đổi lấy khuyến mãi này";
"SelfPromoColor" = " Màu sắc tự quảng cáo";
"MusicOfftopic" = "Âm nhạc: Phần không phải âm nhạc";
"MusicOfftopicDesc" = "Chỉ được sử dụng trên những video có âm nhạc làm nội dung chính.";
"MusicOfftopicColor" = "Màu phân đoạn không phải âm nhạc";
"Preview" = "Xem trước";
"PreviewDesc" = "Bộ sưu tập các clip hiển thị nội dung sắp diễn ra trong video này hoặc các video khác trong chuỗi trong đó tất cả thông tin được lặp lại ở phần sau của video.";
"PreviewColor" = "Xem trước màu phân đoạn";
"Highlight" = "Điểm nổi bật";
"HighlightDesc" = "Được sử dụng để đi đến điểm hoặc điểm nổi bật của video.";
"HighlightColor" = "Làm nổi bật màu phân đoạn";
"Jokes" = "Tiếp tuyến phụ/Truyện cười";
"JokesDesc" = "Filler Tangent/Jokes chỉ dành cho những cảnh tiếp tuyến chỉ được thêm vào để bổ sung hoặc mang tính chất hài hước không bắt buộc phải hiểu nội dung chính của video.";
"JokesColor" = "Màu phân đoạn truyện cười";
"Sb.Disable" = "Tắt";
"Sb.Skip" = "Tự động bỏ qua";
"Sb.SkipTo" = "Chuyển đến phân đoạn";
"Sb.Ask" = "Hỏi";
"Sb.Display" = "Hiển thị trong trình phát";
"sb_sponsor" = "Phân khúc tài trợ";
"sb_intro" = "Đoạn giới thiệu";
"sb_outro" = "Phân đoạn thẻ kết thúc";
"sb_interaction" = "Phân đoạn tương tác";
"sb_selfpromo" = "Phân khúc tự quảng cáo";
"sb_music_offtopic" = "Phân đoạn lạc đề";
"sb_preview" = "Xem trước phân đoạn";
"sb_poi_highlight" = "Đánh dấu đoạn";
"sb_filler" = "Phân khúc phụ";
"SegmentDetected" = "%@ đã phát hiện";
"SegmentSkipped" = "%@ đã bị bỏ qua";
"SkippedToSegment" = "Đã bỏ qua %@";
"SkipSegment" = "Bỏ qua";
"SkipToSegment" = "Để làm nổi bật";
"Unskip" = "Bỏ qua";
/* Developer section */
"Developer" = "Nhà phát triển";
"FollowMe" = "Theo dõi tôi trên X";
"SupportDevelopment" = "Hỗ trợ nhà phát triển";
"DonateDesc" = "Sự hỗ trợ của bạn có ý nghĩa rất lớn với tôi";
"SupportDevelopmentDesc" = "Nếu bạn thích YTPlus và muốn hỗ trợ sự phát triển của nó, bạn có thể thực hiện bằng bất kỳ cách thuận tiện nào dưới đây.\nCảm ơn❤";
"VisitGithub" = "Github Repository";
"VisitGithubDesc" = "Gắn dấu sao cho repo, yêu cầu một tính năng hoặc báo cáo sự cố";
"VisitTelegram" = "Kênh Telegram của tôi";
"VisitTelegramDesc" = "Cập nhật thông tin về các bản cập nhật ứng dụng mới nhất";
/* Credits section */
"Credits" = "Credits";
"Contributors" = "Người đóng góp";
"DevContribution" = "Đóng góp cho sự phát triển";
"SpecialThanks" = "Cảm ơn";
"SpecialThanks.Test" = "Đóng góp vô giá cho thử nghiệm tinh chỉnh";
"Localizations" = "Tác giả các bản dịch";
"ChineseSimplified" = "Tiếng Trung (giản thể)";
"ChineseTraditional" = "Tiếng Trung (phồn thể)";
"French" = "Tiếng Pháp";
"Spanish" = "Tiếng Tây Ban Nha";
"Japanese" = "Tiếng Nhật";
"Vietnamese" = "Tiếng Việt";
"Arabic" = "Bản dịch tiếng Ả Rập";
"Turkish" = "Bản dịch tiếng Thổ Nhĩ Kỳ";
"OpenSourceLibs" = "Thư viện nguồn mở";
"Preferences" = "Tuỳ chọn %@";
"ManagePreferences" = "Quản lý tùy chọn";
"ImportPreferences" = "Tùy chọn nhập";
"PreImportMessage" = "Hành động này sẽ thay thế các tùy chọn hiện tại bằng các tùy chọn từ tệp đã chọn.\n\nBạn có chắc chắn muốn tiếp tục không?";
"ExportPreferences" = "Xuất tùy chọn";
"ResetSettings" = "Đặt lại cài đặt YTPlus";
"ResetMessage" = "Tùy chọn này sẽ đặt lại cài đặt YTPlus về mặc định và đóng YouTube.\n\nBạn có chắc chắn muốn tiếp tục không?";
"ManageCache" = "Quản lý bộ đệm";
"ClearCacheAtStart" = "Xóa bộ nhớ đệm khi khởi động";
"ClearCacheAtStartDesc" = "Tự động xóa bộ nhớ đệm khi khởi động.";
"ClearCache" = "Xóa bộ nhớ đệm";
"NoDonationReminder" = "Tắt lời nhắc quyên góp";
"NoDonationReminderDesc" = "Tắt lời nhắc quyên góp hiếm khi được hiển thị.";
"ShortsOnlyWarning" = "Bạn có chắc chắn muốn kích hoạt chế độ này?\n\nỞ chế độ này, bạn sẽ chỉ có thể xem video Shorts và không thể làm gì khác.\n\nBạn có thể tắt Chế độ chỉ Shorts bằng cách nhấn và giữ bằng hai ngón tay trong trình phát Shorts.";
"ShortsModeTurnedOff" = "Chế độ chỉ dành cho Shorts đã bị tắt";
"AddLibraryTab" = "Khôi phục tab \"Bạn\"";
"RemoveLibraryTab" = "Xóa tab \"Bạn\"";
"LibraryAdded" = "Tab \"Bạn\" đã được khôi phục";
"LibraryRemoved" = "Tab \"Bạn\" đã bị xóa";
"Yes" = "Có";
"No" = "Không";
"Select" = "Lựa chọn";
"Default" = "Mặc định";
"Best" = "Tốt nhất";
"Show" = "Hiển thị";
"Disable" = "Tắt";
"Disabled" = "Đã tắt";
"PlaybackSpeed" = "Tốc độ phát";
"SpeedPreserved" = "Tốc độ được bảo toàn";
"ResetSpeed" = "Đặt lại";
"Toast.Brightness" = "Độ sáng";
"Toast.PlaybackSpeed" = "Tốc độ phát lại";
"Toast.Volume" = "Âm lượng";
"SelectAction" = "Chọn hành động";
"DownloadVideo" = "Tải xuống Video";
"DownloadAudio" = "Tải xuống âm thanh";
"SaveImage" = "Lưu hình ảnh";
"CopyInformation" = "Sao chép thông tin";
"CopyChannelName" = "Sao chép tên kênh";
"CopyTitle" = "Sao chép tiêu đề";
"CopyDescription" = "Sao chép mô tả";
"CopyTimestampedLink" = "Sao chép liên kết có dấu thời gian";
"CopyTranscript" = "Sao chép bản sao";
"PlayInExternalPlayer" = "Chơi trong người chơi bên ngoài";
"PlayInSystemPlayer" = "Chơi trong trình phát hệ thống";
"PlayInInfuse" = "Chơi trong Infuse";
"PlayInVLC" = "Chơi trong VLC";
"PlayerNotFound" = "Không tìm thấy người chơi";
"OpenAsRegularVideo" = "Mở như video thông thường";
"CopyPostText" = "Sao chép văn bản bài đăng";
"SaveCurrentImage" = "Lưu hình ảnh hiện tại";
"CopyCurrentImage" = "Sao chép hình ảnh hiện tại";
"SavePostAsImage" = "Lưu bài đăng dưới dạng hình ảnh";
"CopyPostAsImage" = "Sao chép bài đăng dưới dạng hình ảnh";
"CopyCommentText" = "Sao chép văn bản bình luận";
"SaveCommentAsImage" = "Lưu bình luận dưới dạng hình ảnh";
"CopyCommentAsImage" = "Sao chép bình luận dưới dạng hình ảnh";
"SaveProfilePicture" = "Lưu ảnh hồ sơ";
"CopyProfilePicture" = "Sao chép ảnh hồ sơ";
"DownloadThumbnail" = "Lưu hình ảnh";
"CopyThumbnail" = "Sao chép hình thu nhỏ";
"Cancel" = "Hủy bỏ";
"Cancelled" = "Đã hủy";
"Copied" = "Sao chép vào clipboard";
"Saved" = "Đã lưu vào Ảnh";
"Done" = "Xong";
"NothingToShowInMenu" = "Không có gì để hiển thị trong menu ngữ cảnh này";
"Error" = "Lỗi";
"Error.Clipboard" = "Lỗi. Kiểm tra clipboard để biết thêm thông tin";
"Error.PathIssue" = "Lỗi. Vấn đề với việc tạo đường dẫn cuối cùng. Vấn đề với tiêu đề phương tiện truyền thông?";
"Error.TryLater" = "Phương tiện đang hoạt động hoặc quá trình xử lý trên máy chủ của Google dự kiến sẽ hoàn tất.\n\nVui lòng thử lại sau.";
"Error.NoSpace" = "Không đủ dung lượng trên thiết bị.\n\nCần có ít nhất %@ dung lượng trống bổ sung. Dung lượng trống còn trống: %@";
"Error.Multidownloading" = "Tính năng tải xuống nhiều lần chưa có sẵn.";
"Error.FailedToImport" = "Không thể nhập tùy chọn";
"DownloadingVideo" = "Đang tải xuống video";
"DownloadingAudio" = "Đang tải xuống âm thanh";
"ParsingCaptions" = "Phân tích chú thích";
"ParsingTranscript" = "Đang phân tích bản sao";
"Converting" = "Chuyển đổi";
"RetryLogin" = "Đã kích hoạt giải pháp thay thế.\n\nVui lòng thử lại.";
"LoginInfo" = "Yêu cầu khởi động lại ứng dụng sau khi đăng nhập thành công vào tài khoản Google";
"Welcome.Download" = "Tải xuống phương tiện";
"Welcome.DownloadDesc" = "Tải nội dung bạn yêu thích xuống, cho dù đó là Video, Quần short, Âm thanh hay Ảnh hồ sơ. Sao chép các bài viết và bình luận thú vị hoặc lưu dưới dạng hình ảnh";
"Welcome.Content" = "Điều chỉnh giao diện";
"Welcome.ContentDesc" = "Loại bỏ các thành phần nội dung và giao diện không mong muốn. Kích hoạt chế độ tối OLED thực sự";
"Welcome.Player" = "Thiết lập hành vi của người chơi";
"Welcome.PlayerDesc" = "Tùy chỉnh hành vi của người chơi, tự động chọn chất lượng và tốc độ phát lại. Điều khiển bằng cử chỉ";
"Welcome.More" = "Và hơn thế nữa...";
"Welcome.MoreDesc" = "YouTube Plus bao gồm hơn 50 tùy chọn khác nhau, bao gồm các tính năng như lưu tùy chọn và xóa bộ nhớ đệm. Cài đặt có sẵn trong phần YouTube Plus trong cài đặt YouTube";
"SupportMe" = "Ủng hộ tôi";
"Continue" = "Tiếp tục";
"Conflicts.Detected" = "Đã phát hiện các chỉnh sửa không tương thích";
"Conflicts.DetectedDesc" = "Bất chấp sự ổn định rõ ràng của ứng dụng, nhà phát triển YouTube Plus không khuyến nghị kết hợp các chỉnh sửa có chức năng tương tự trong cùng một ứng dụng và không thể đảm bảo việc sử dụng an toàn.\n\nBằng việc tiếp tục sử dụng ứng dụng, bạn hoàn toàn chịu trách nhiệm và đồng ý rằng mọi khiếu nại về hiệu suất sẽ bị bỏ qua.";
"Conflicts.AcceptRisks" = "Tôi chấp nhận mọi rủi ro";
"Conflicts.CloseYT" = "Đóng YouTube";
"DonationReminder" = "Sự hỗ trợ của bạn sẽ giúp YouTube Plus trở nên tốt hơn nữa.\n\nBạn có thể đóng góp hoặc chọn tắt các thông báo này trong cài đặt YouTube Plus. Cảm ơn bạn💜";
@@ -1,219 +1,507 @@
"General" = "常规"; /* Main section */
"RemoveAds" = "移除广告"; "Main" = "主功能";
"RemoveAdsDesc" = "删除程序内的广告。";
"BackgroundPlayback" = "后台播放"; /* Downloading options */
"BackgroundPlaybackDesc" = "启用后台播放。"; "Downloading" = "下载器";
"DownloadManager" = "下载管理器";
"Navbar" = "导航栏"; "DownloadManagerDesc" = "将播放器下方的“下载”按钮替换为“下载管理器”,允许下载视频、音频、缩略图和复制视频信息。";
"RemoveCast" = "隐藏投射按钮"; "PostManager" = "保存帖子信息";
"RemoveCastDesc" = "从导航栏中隐藏投射按钮。"; "PostManagerDesc" = "允许通过长按复制帖子文本并将帖子另存为图片。";
"RemoveNotifications" = "隐藏通知按钮"; "SaveProfilePhoto" = "保存个人资料图片";
"RemoveNotificationsDesc" = "从导航栏中隐藏通知按钮。"; "SaveProfilePhotoDesc" = "长按个人资料图片保存到照片应用程序。";
"RemoveSearch" = "隐藏搜索按钮"; "CommentManager" = "保存评论信息";
"RemoveSearchDesc" = "从导航栏中隐藏搜索按钮。"; "CommentManagerDesc" = "允许通过长按复制评论文本并将评论保存为图片。";
"RemoveVoiceSearch" = "隐藏语音搜索按钮";
"RemoveVoiceSearchDesc" = "从导航栏中隐藏语音搜索按钮。"; "YtlButtonPosition" = "下载按钮位置";
"StickyNavbar" = "固定导航栏"; "UnderPlayer" = "播放器下方";
"StickyNavbarDesc" = "固定导航栏,使其在向下滚动时保持可见。"; "Overlay" = "播放界面";
"NoSubbar" = "隐藏子栏"; "Both" = "两者";
"NoSubbarDesc" = "隐藏导航栏下的子栏(全部、新内容、实时等)。";
"NoYTLogo" = "删除 YouTube Logo"; "PostDownloadAction" = "下载后操作";
"NoYTLogoDesc" = "删除导航栏中的 YouTube Logo。"; "PostDownloadDesc" = "视频下载成功完成后将执行所选操作。";
"SaveToPhotos" = "保存到照片";
"Overlay" = "播放界面"; "Share" = "分享";
"HideAutoplay" = "隐藏自动播放开关"; "Ask" = "询问";
"HideAutoplayDesc" = "从播放界面隐藏自动播放开关。"; "DownloadCompleted" = "下载已完成";
"HideSubs" = "隐藏字幕按钮";
"HideSubsDesc" = "从播放界面隐藏字幕按钮。"; "PreferredAudio" = "首选音轨";
"NoHUDMsgs" = "隐藏屏显信息"; "Selected" = "选定";
"NoHUDMsgsDesc" = "隐藏播放界面的所有功能信息。示例:CC按钮打开/关闭、视频循环等。"; "English" = "英语";
"HidePrevNext" = "隐藏上一个和下一个按钮"; "SelectAudioTrack" = "选择音轨";
"HidePrevNextDesc" = "从播放界面中隐藏上一个和下一个视频按钮。"; "EnglishNotFound" = "未找到英语音轨";
"ReplacePrevNext" = "快进和快退按钮";
"ReplacePrevNextDesc" = "将上一个和下一个视频按钮替换为快进和快退按钮。"; "Captions" = "字幕";
"NoDarkBg" = "删除深色背景"; "EmbedCapsToVideos" = "嵌入字幕";
"NoDarkBgDesc" = "删除播放界面的深色背景。"; "EmbedCapsToVideosDesc" = "将选定的字幕嵌入视频。";
"NoEndScreenCards" = "隐藏片尾画面"; "EmbedAutoGenCaps" = "自动生成/翻译的字幕";
"NoEndScreenCardsDesc" = "隐藏视频结尾处的片尾屏幕(缩略图)。"; "EmbedAutoGenCapsDesc" = "将自动生成、翻译和自动翻译的字幕添加到字幕列表。";
"NoFullscreenActions" = "禁用全屏操作"; "DownloadCaptions" = "下载字幕";
"NoFullscreenActionsDesc" = "在全屏模式下禁用操作面板。"; "SelectCaption" = "选择字幕";
"PersistentProgressBar" = "持续进度条"; "Translated" = "已翻译";
"PersistentProgressBarDesc" = "始终在播放器中显示进度条。"; "TranslatedAutoGen" = "自动翻译";
"NoRelatedVids" = "没有相关视频";
"NoRelatedVidsDesc" = "通过向上滑动删除播放界面中显示的相关视频。"; /* Nav bar options */
"NoPromotionCards" = "隐藏付费"; "Navbar" = "导航栏";
"NoPromotionCardsDesc" = "在付费视频中隐藏“付费内容”。"; "RemoveCast" = "隐藏投射按钮";
"NoWatermarks" = "隐藏水印"; "RemoveCastDesc" = "从导航栏中隐藏投射按钮。";
"NoWatermarksDesc" = "隐藏播放器的频道水印。"; "RemoveNotifications" = "隐藏通知按钮";
"RemoveNotificationsDesc" = "从导航栏中隐藏通知按钮。";
"Player" = "播放器"; "RemoveSearch" = "隐藏搜索按钮";
"Miniplayer" = "启用迷你播放器"; "RemoveSearchDesc" = "从导航栏中隐藏搜索按钮。";
"MiniplayerDesc" = "启用迷你播放器来播放最初不是为其设计的视频,例如针对儿童的视频。"; "RemoveVoiceSearch" = "隐藏语音搜索按钮";
"PortraitFullscreen" = "竖屏全屏模式"; "RemoveVoiceSearchDesc" = "从导航栏中隐藏语音搜索按钮。";
"PortraitFullscreenDesc" = "启用竖屏全屏模式支持。"; "StickyNavbar" = "固定导航栏";
"CopyWithTimestamp" = "复制带时间戳的链接"; "StickyNavbarDesc" = "固定导航栏,使其在向下滚动时保持可见。";
"CopyWithTimestampDesc" = "允许通过按下暂停按钮将带有时间戳的链接复制到剪贴板。"; "NoSubbar" = "隐藏子栏";
"DisableAutoplay" = "禁用自动播放视频"; "NoSubbarDesc" = "隐藏导航栏下的子栏(全部、新内容、实时等)。";
"DisableAutoplayDesc" = "打开后防止视频自动播放。"; "NoYTLogo" = "删除“YouTube”Logo";
"DisableAutoCaptions" = "禁用自动字幕"; "NoYTLogoDesc" = "删除导航栏中的“YouTube”Logo。";
"DisableAutoCaptionsDesc" = "防止自动激活字幕。"; "PremiumYTLogo" = "设置“Premium”Logo";
"NoContentWarning" = "跳过内容警告"; "PremiumYTLogoDesc" = "在导航栏中设置“Premium”Logo。";
"NoContentWarningDesc" = "跳过敏感内容警告消息。";
"ClassicQuality" = "经典视频质量"; /* Feed options */
"ClassicQualityDesc" = "加回经典的视频质量选择菜单。"; "Feed" = "视频流";
"ExtraSpeedOptions" = "扩展速度选项"; "RemoveAds" = "移除广告";
"ExtraSpeedOptionsDesc" = "在播放器菜单中添加更多视频播放速度的选项。"; "RemoveAdsDesc" = "删除程序内的广告。";
"DontSnap2Chapter" = "禁用双击跳转"; "HideShorts" = "隐藏短视频";
"DontSnap2ChapterDesc" = "禁用通过双击手势跳到下一集。"; "HideShortsDesc" = "从首页、推荐等隐藏短视频(不适用于观看历史记录)。";
"RedProgressBar" = "红色进度条"; "KeepSubsShorts" = "订阅中保留短视频";
"RedProgressBarDesc" = "加回红色进度条。"; "KeepSubsShortsDesc" = "防止从“订阅”选项卡中删除短视频。";
"NoHints" = "禁用提示"; "RemoveCommunityPosts" = "删除社区帖子";
"NoHintsDesc" = "禁用播放期间出现在右上角的作者提示。"; "RemoveCommunityPostsDesc" = "从视频流中删除社区帖子。";
"NoFreeZoom" = "禁用自由缩放手势"; "RemoveMixPlaylists" = "删除混合列表";
"NoFreeZoomDesc" = "禁用新的自由缩放手势。"; "RemoveMixPlaylistsDesc" = "删除由YouTube生成的混合播放列表";
"AutoFullscreen" = "全屏模式"; "RemoveLiveVids" = "删除实时视频";
"AutoFullscreenDesc" = "自动以全屏模式播放视频。"; "RemoveLiveVidsDesc" = "首页中删除实时视频。";
"ExitFullscreen" = "完成后退出全屏模式"; "RemoveHorizontalFeeds" = "删除动态提要";
"ExitFullscreenDesc" = "在视频播放结束时退出全屏模式。"; "RemoveHorizontalFeedsDesc" = "首页中删除所有动态提要(新闻、继续观看、帖子集合等)。";
"NoDoubleTap2Seek" = "禁用双击搜索"; "RemoveMoreTopics" = "删除“更多主题”";
"NoDoubleTap2SeekDesc" = "禁用双击搜索手势。"; "RemoveMoreTopicsDesc" = "从视频流中删除“更多主题”。";
"FixAlbums" = "修复封面";
"Tabbar" = "选项卡栏"; "FixAlbumsDesc" = "修复来自俄罗斯用户的封面显示问题。";
"RemoveLabels" = "移除标签";
"RemoveLabelsDesc" = "删除选项卡标签。"; /* Player options */
"RemoveIndicators" = "删除指示器"; "Player" = "播放器";
"RemoveIndicatorsDesc" = "删除选项卡“红点”指示。"; "PlaybackQualityOnWiFi" = "WiFi网络播放质量";
"ReExplore" = "“短视频”替换为“探索”"; "PlaybackQualityOnCellular" = "蜂窝网络播放质量";
"ReExploreDesc" = "在旧版本 YouTube 中将“短视频”选项卡替换为“探索”。";
"AddExplore" = "添加“探索”选项卡"; "PreferredCaptions" = "首选字幕";
"AddExploreDesc" = "将“探索”选项卡添加到底部选项卡栏。"; "Original" = "原始";
"HideShortsTab" = "隐藏短视频"; "Custom" = "手动选择";
"HideShortsTabDesc" = "从选项卡栏中隐藏短视频。"; "CustomAudioTrack" = "已选音轨";
"HideSubscriptionsTab" = "隐藏订阅内容"; "CustomCaptions" = "已选字幕";
"HideSubscriptionsTabDesc" = "从选项卡栏中隐藏订阅内容。"; "AutoGenCaps" = "自动生成字幕";
"HideUploadButton" = "隐藏上传按钮"; "AutoGenCapsDesc" = "如果找不到所选的字幕,“YouTube Plus”将尝试选择原始字幕的翻译或自动生成的字幕的翻译。";
"HideUploadButtonDesc" = "从选项卡栏中隐藏上传按钮。";
"HideLibraryTab" = "隐藏媒体库"; "Player.Interface" = "界面";
"HideLibraryTabDesc" = "从选项卡栏中隐藏媒体库。"; "SpeedControls" = "速度控制";
"SpeedControlsDesc" = "在播放界面显示速度控制按钮。";
"Shorts" = "短视频"; "HideAutoplay" = "隐藏自动播放开关";
"ShortsOnlyMode" = "仅短视频模式"; "HideAutoplayDesc" = "从播放界面隐藏自动播放开关。";
"ShortsOnlyModeDesc" = "将 YouTube 功能限制为只能观看短视频。"; "HideSubs" = "隐藏字幕按钮";
"HideShorts" = "隐藏短视频"; "HideSubsDesc" = "从播放界面隐藏字幕按钮。";
"HideShortsDesc" = "从首页、推荐等隐藏短视频(不适用于观看历史记录)。"; "HidePrevNext" = "隐藏上一个和下一个按钮";
"ShortsProgress" = "启用进度条"; "HidePrevNextDesc" = "从播放界面中隐藏上一个和下一个视频按钮。";
"ShortsProgressDesc" = "在短视频播放器中显示进度条。"; "ReplacePrevNext" = "快进和快退按钮";
"PinchToFullscreenShorts" = "捏合至全屏"; "ReplacePrevNextDesc" = "将上一个和下一个视频按钮替换为快进和快退按钮。";
"PinchToFullscreenShortsDesc" = "通过捏合和捏合手势管理播放界面,以全屏模式显示短视频。"; "RememberLoopMode" = "记忆循环模式";
"ShortsToRegular" = "常规短视频"; "RememberLoopModeDesc" = "记住播放器菜单中最后选择的循环模式。";
"ShortsToRegularDesc" = "像打开普通视频一样打开短视频。"; "FullscreenToTheLeft" = "全屏左旋转";
"ResumeShorts" = "不要从短视频开始"; "FullscreenToTheLeftDesc" = "点击全屏按钮后,屏幕全屏且向左旋转显示,而不是通常的向右。";
"ResumeShortsDesc" = "防止在打开应用程序时首先启动短视频,如果在观看短视频时关闭,就会发生这种情况。"; "PortraitFullscreen" = "竖屏全屏模式";
"HideShortsLogo" = "隐藏短视频Logo"; "PortraitFullscreenDesc" = "启用竖屏全屏模式支持。";
"HideShortsLogoDesc" = "隐藏左上角的短视频Logo。"; "ClassicQuality" = "经典视频质量";
"HideShortsSearch" = "隐藏搜索按钮"; "ClassicQualityDesc" = "加回经典的视频质量选择菜单。";
"HideShortsSearchDesc" = "从短视频播放器中隐藏搜索按钮。"; "ExtraSpeedOptions" = "扩展速度选项";
"HideShortsCamera" = "隐藏相机按钮"; "ExtraSpeedOptionsDesc" = "在播放器菜单中添加更多视频播放速度的选项。";
"HideShortsCameraDesc" = "从短视频播放器中隐藏相机按钮。"; "NoDarkBg" = "删除深色背景";
"HideShortsMore" = "隐藏更多 (⋮) 按钮"; "NoDarkBgDesc" = "删除播放界面的深色背景。";
"HideShortsMoreDesc" = "从短视频播放器中隐藏更多 (⋮) 按钮 。也可以通过长按屏幕来访问它。"; "NoEndScreenCards" = "隐藏片尾画面";
"HideShortsSubscriptions" = "隐藏订阅按钮"; "NoEndScreenCardsDesc" = "隐藏视频结尾处的片尾屏幕(缩略图)。";
"HideShortsSubscriptionsDesc" = "隐藏短视频暂停时显示的订阅按钮。"; "NoAutonavEndScreenCards" = "隐藏自动播放结束画面";
"HideShortsLike" = "隐藏喜欢按钮"; "NoAutonavEndScreenCardsDesc" = "播放结束后隐藏接下来可播放的内容,禁用此选项也会禁用自动播放。";
"HideShortsLikeDesc" = "从短视频播放器中隐藏喜欢按钮。"; "NoFullscreenActions" = "禁用全屏操作";
"HideShortsDislike" = "隐藏不喜欢按钮"; "NoFullscreenActionsDesc" = "在全屏模式下禁用操作面板。";
"HideShortsDislikeDesc" = "从短视频播放器中隐藏不喜欢按钮。"; "PersistentProgressBar" = "持续进度条";
"HideShortsComments" = "隐藏评论按钮"; "PersistentProgressBarDesc" = "始终在播放器中显示进度条。";
"HideShortsCommentsDesc" = "从短视频播放器中隐藏评论按钮。"; "RedProgressBar" = "红色进度条";
"HideShortsRemix" = "隐藏混剪按钮"; "RedProgressBarDesc" = "加回红色进度条。";
"HideShortsRemixDesc" = "从短视频播放器中隐藏混剪按钮。"; "StockVolumeHUD" = "原生音量HUD";
"HideShortsShare" = "隐藏分享按钮"; "StockVolumeHUDDesc" = "全屏显示系统音量HUD。";
"HideShortsShareDesc" = "从短视频播放器中隐藏分享按钮。"; "NoRelatedVids" = "没有相关视频";
"HideShortsAvatars" = "隐藏发布者头像"; "NoRelatedVidsDesc" = "通过向上滑动删除播放界面中显示的相关视频。";
"HideShortsAvatarsDesc" = "隐藏右下角的发布者个人资料头像。"; "NoPromotionCards" = "隐藏付费";
"HideShortsThanks" = "隐藏捐赠按钮"; "NoPromotionCardsDesc" = "在付费视频中隐藏“付费内容”。";
"HideShortsThanksDesc" = "从短视频播放器中隐藏捐赠按钮。"; "NoWatermarks" = "隐藏水印";
"HideShortsSource" = "隐藏短视频来源"; "NoWatermarksDesc" = "隐藏播放器的频道水印。";
"HideShortsSourceDesc" = "在频道名称下隐藏短视频来源。"; "VideoEndTime" = "显示播放结束时间";
"HideShortsChannelName" = "隐藏发布者名称"; "VideoEndTimeDesc" = "将视频播放结束时间添加到播放器栏。";
"HideShortsChannelNameDesc" = "从短视频播放器中隐藏发布者名称和订阅按钮。"; "24hrFormat" = "24小时格式";
"HideShortsDescription" = "隐藏文案"; "24hrFormatDesc" = "以24小时格式显示结束时间。";
"HideShortsDescriptionDesc" = "隐藏短视频下方的视频文案。";
"HideShortsAudioTrack" = "隐藏音轨"; "Player.Actions" = "操作";
"HideShortsAudioTrackDesc" = "隐藏短视频文案下方的音轨。"; "DefaultPlaybackRate" = "默认播放速率";
"BackgroundPlayback" = "后台播放";
"Other" = "其他"; "BackgroundPlaybackDesc" = "启用后台播放。";
"CopyVideoInfo" = "复制视频信息"; "Miniplayer" = "启用迷你播放器";
"CopyVideoInfoDesc" = "添加按钮从“视频说明”面板中复制视频的标题和描述。"; "MiniplayerDesc" = "启用迷你播放器来播放最初不是为其设计的视频,例如针对儿童的视频。";
"PostManager" = "保存帖子信息"; "DisableAutoplay" = "禁用自动播放视频";
"PostManagerDesc" = "允许通过长按复制帖子文本并将帖子另存为图片。"; "DisableAutoplayDesc" = "打开后防止视频自动播放。";
"SavePostImage" = "保存社区帖子图片"; "DisableAutoCaptions" = "禁用自动字幕";
"SavePostImageDesc" = "长按社区帖子图片保存到照片应用程序。"; "DisableAutoCaptionsDesc" = "防止自动激活字幕。";
"SaveProfilePhoto" = "保存个人资料图片"; "NoContentWarning" = "跳过内容警告";
"SaveProfilePhotoDesc" = "长按个人资料图片保存到照片应用程序。"; "NoContentWarningDesc" = "跳过敏感内容警告消息。";
"CommentManager" = "Save comment information"; "NoHints" = "禁用提示";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "禁用播放期间出现在右上角的作者提示。";
"FixAlbums" = "修复封面"; "AutoFullscreen" = "全屏模式";
"FixAlbumsDesc" = "修复来自俄罗斯用户的封面显示问题。"; "AutoFullscreenDesc" = "自动以全屏模式播放视频。";
"RemovePlayNext" = "删除“播放队列中的下一个”"; "ExitFullscreen" = "完成后退出全屏模式";
"RemovePlayNextDesc" = "从菜单中删除“播放队列中的下一个”选项。"; "ExitFullscreenDesc" = "在视频播放结束时退出全屏模式。";
"NoContinueWatching" = "删除“继续观看”";
"NoContinueWatchingDesc" = "从首页中删除包含未完成视频的“继续观看”部分。"; "Player.Gestures" = "手势";
"NoSearchHistory" = "隐藏搜索历史记录"; "LeftSideGesture" = "左侧手势";
"NoSearchHistoryDesc" = "直观地隐藏搜索历史记录和建议。注意:搜索历史记录仍然可以在其他YouTube客户端中访问。"; "RightSideGesture" = "右侧手势";
"NoRelatedWatchNexts" = "隐藏播放器下的所有视频"; "ActivationAreaWidth" = "手势激活宽度";
"NoRelatedWatchNextsDesc" = "隐藏播放器下方的所有视频,仅保留视频信息和评论部分。"; "ActivationAreaWidthDesc" = "此值决定了屏幕左侧和右侧的手势识别区域(以像素为单位)\n\n允许的最大值为屏幕宽度的三分之一。\n\n调整此值有助于防止在尝试“最小化或展开”播放器时意外激活。";
"StickSortComments" = "固定评论排序"; "HoldToSpeed" = "长按变更速度";
"StickSortCommentsDesc" = "固定评论顶部排序功能按钮(热门、时间),滚动时不会消失。"; "AdjustWithFinger" = "调整速度";
"HideSortComments" = "隐藏评论排序"; "AdjustWithFingerDesc" = "允许长按播放器并上下滑动手指来调整播放速度。";
"HideSortCommentsDesc" = "隐藏评论排序功能,使它永远不会出现。"; "PreserveSpeed" = "保持速度";
"PlaylistOldMinibar" = "旧播放列表"; "PreserveSpeedDesc" = "手势完成后保持调整后的速度。";
"PlaylistOldMinibarDesc" = "将新的浮动播放列表面板替换为旧的浮动播放列表面板。"; "SeekAnywhere" = "滑动控制进度";
"DisableRTL" = "禁用 RTL 格式"; "SeekAnywhereDesc" = "允许通过左右滑动来控制播放进度。";
"DisableRTLDesc" = "对于最初以从右到左 (RTL) 显示的语言,强制以从左到右 (LTR) 格式显示文本。"; "SeekMethod" = "进度方式";
"SeekMethodDesc" = "独立:在整个视频时长内自由快速拖动进度,仅考虑进度灵敏度。\n\n基于视频时长:拖动进度取决于视频的长度和进度灵敏度。这对于长视频非常有用,可以防止滚动浏览视频的大部分内容。";
"Startup" = "启动页"; "Independent" = "独立";
"Home" = "首页"; "DurationBased" = "基于视频时长";
"Explore" = "探索"; "SeekSensitivity" = "进度灵敏度";
"ShortsTab" = "短视频"; "TwoFingerTapToPause" = "使用双指暂停";
"Subscriptions" = "订阅"; "TwoFingerTapToPauseDesc" = "用双指点击屏幕即可“暂停/恢复”播放。";
"Library" = "媒体库"; "TwoFingerPanToBrightness" = "调整亮度";
"Warning" = "警告"; "TwoFingerPanToBrightnessDesc" = "允许使用双指“向上/下”滑动来调整屏幕亮度。";
"TabIsHidden" = "无法选择隐藏选项卡作为启动页。"; "PauseOnOverlay" = "覆盖时暂停";
"PauseOnOverlayDesc" = "当播放器控制按钮出现时暂停播放。";
"DonateViaPayPal" = "PayPal 赞助"; "CopyWithTimestamp" = "复制带时间戳的链接";
"SupportViaGhSponsors" = "通过 Github 赞助支持开发"; "CopyWithTimestampDesc" = "允许通过按下暂停按钮将带有时间戳的链接复制到剪贴板。";
"Version" = "版本"; "DontSnap2Chapter" = "禁用双击跳转";
"About" = "关于"; "DontSnap2ChapterDesc" = "禁用通过双击手势跳到下一集。";
"Credits" = "信息"; "NoTwoFingerSnapToChapter" = "禁用双指双击";
"Developer" = "YTLite开发者"; "NoTwoFingerSnapToChapterDesc" = "禁用双指双击捕捉手势。";
"ChineseSimplified" = "中文(简体)本地化"; "NoFreeZoom" = "禁用自由缩放手势";
"ChineseTraditional" = "中文(繁体)本地化"; "NoFreeZoomDesc" = "禁用新的自由缩放手势。";
"French" = "法语本地化"; "NoDoubleTap2Seek" = "禁用双击搜索";
"Spanish" = "西班牙语本地化"; "NoDoubleTap2SeekDesc" = "禁用双击搜索手势。";
"Japanese" = "日语本地化";
"Vietnamese" = "越南语本地化"; /* Shorts options */
"Advanced" = "高级模式"; "Shorts" = "短视频";
"AdvancedModeReminder" = "想为YTLite激活高级模式吗?\n\n此模式提供了50多个额外的选项来自定义和优化您的YouTube体验。\n可以稍后从设置中启用/禁用它 → %@ → %@ → %@。"; "PlaybackMode" = "播放完成动作";
"ClearCache" = "清除缓存"; "Loop" = "循环";
"ResetSettings" = "重置YTLite设置"; "ScrollToNext" = "播放下一个";
"ResetMessage" = "此选项会将YTLite设置重置为默认值并关闭YouTube。\n\n确定要继续吗?"; "Stop" = "停止";
"ShortsOnlyWarning" = "确定要激活此模式吗?\n\n在此模式下,将只能观看短视频,且无法执行任何其他操作。\n\n可以通过双指长按禁用“仅短视频模式”。"; "AutoSkipShorts" = "自动播放";
"ShortsModeTurnedOff" = "仅短视频模式已关闭"; "ShortsOnlyMode" = "仅短视频模式";
"Yes" = ""; "ShortsOnlyModeDesc" = "将 YouTube 功能限制为只能观看短视频。";
"No" = "不"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "选择操作"; "ShortsProgress" = "启用进度条";
"CopyTitle" = "复制标题"; "ShortsProgressDesc" = "在短视频播放器中显示进度条。";
"CopyDescription" = "复制描述"; "SpeedByLongTap" = "加快短视频播放速度";
"CopyPostText" = "复制帖子文本"; "SpeedByLongTapDesc" = "允许通过长按屏幕的某个部分来加快播放速度。";
"SavePostAsImage" = "帖子另存为图片"; "SpeedLocation" = "激活位置";
"CopyPostAsImage" = "帖子作为图片复制"; "PinchToFullscreenShorts" = "捏合至全屏";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "通过捏合和捏合手势管理播放界面,以全屏模式显示短视频。";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "常规短视频";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "像打开普通视频一样打开短视频。";
"Cancel" = "取消"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "已复制到剪贴板"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Saved" = "已保存到照片"; "HideShortsLogo" = "隐藏短视频 Logo";
"Done" = "完成"; "HideShortsLogoDesc" = "隐藏左上角的短视频 Logo。";
"Error" = "错误"; "HideShortsSearch" = "隐藏搜索按钮";
"HideShortsSearchDesc" = "从短视频播放器中隐藏搜索按钮。";
"HideShortsCamera" = "隐藏相机按钮";
"HideShortsCameraDesc" = "从短视频播放器中隐藏相机按钮。";
"HideShortsMore" = "隐藏更多(⋮)按钮";
"HideShortsMoreDesc" = "从短视频播放器中隐藏更多(⋮)按钮 。也可以通过长按屏幕来访问它。";
"HideShortsSubscriptions" = "隐藏订阅按钮";
"HideShortsSubscriptionsDesc" = "隐藏短视频暂停时显示的订阅按钮。";
/* Tab bar options */
"Tabbar" = "选项卡";
"Startup" = "启动页";
"FEwhat_to_watch" = "首页";
"FEexplore" = "探索";
"FEshorts" = "短视频";
"FEsubscriptions" = "订阅";
"FElibrary" = "“我”";
"FEuploads" = "创建";
"FEhistory" = "历史";
"VLWL" = "稍后观看";
"RemoveLabels" = "移除标签";
"RemoveIndicators" = "删除指示器";
"ActiveTabs" = "活跃的标签页";
"InactiveTabs" = "隐藏的标签页";
"HideLibraryFooter" = "长按“首页”选项卡可以隐藏或显示“媒体库”选项卡。";
"Warning" = "警告";
"TabIsHidden" = "无法选择隐藏选项卡作为启动页。";
"TabIsStartupTab" = "选定为“启动页”的标签页无法隐藏";
"TabsCountRestricted" = "最多只能拥有六个活动标签页";
/* Interface options */
"Interface" = "界面项";
"OledTheme" = "OLED 主题";
"OledThemeDesc" = "将所有深色变为黑色。";
"NoSearchHistory" = "隐藏搜索历史记录";
"NoSearchHistoryDesc" = "直观地隐藏搜索历史记录和建议。注意:搜索历史记录仍然可以在其他 YouTube 客户端中访问。";
"NoRelatedWatchNexts" = "隐藏播放器下的所有视频";
"NoRelatedWatchNextsDesc" = "隐藏播放器下方的所有视频,仅保留视频信息和评论部分。";
"StickSortComments" = "固定评论排序";
"StickSortCommentsDesc" = "固定评论顶部排序功能按钮(热门、时间),滚动时不会消失。";
"HideSortComments" = "隐藏评论排序";
"HideSortCommentsDesc" = "隐藏评论排序功能,使它永远不会出现。";
"PlaylistOldMinibar" = "旧播放列表";
"PlaylistOldMinibarDesc" = "将新的浮动播放列表面板替换为旧的浮动播放列表面板。";
"OldYTUI" = "旧版界面";
"OldYTUIDesc" = "仿冒 YouTube 版本,使其变回旧版界面。";
"DisableRTL" = "禁用 RTL 格式";
"DisableRTLDesc" = "对于最初以从右到左(RTL)显示的语言,强制以从左到右(LTR)格式显示文本。";
"StartupAnimation" = "启动动画";
"StartupAnimationDesc" = "显示 YouTube 启动加载动画。";
"InterfaceStyle" = "界面样式";
"MiniplayerStyle" = "迷你播放器风格";
"MiniplayerStyleDesc" = "“切换至悬浮模式/从悬浮模式切出”需要重新启动应用程序。";
"Floating" = "悬浮";
"ContextMenu" = "上下文菜单";
"NativeShare" = "原生分享菜单";
"NativeShareDesc" = "使用系统原生分享菜单来分享媒体。";
"RemoveInlineComment" = "删除评论";
"RemoveInlineCommentDesc" = "删除播放器下方的评论板块。";
"RemoveCommentGuidelines" = "删除指南";
"RemoveCommentGuidelinesDesc" = "从评论板块删除固定指南。";
"RemovePlayNext" = "删除“播放队列中的下一个”";
"RemovePlayNextDesc" = "从菜单中删除“播放队列中的下一个”选项。";
"RemoveDownloadMenu" = "删除“下载”";
"RemoveDownloadMenuDesc" = "从菜单中删除“下载”选项。";
"RemoveWatchLaterMenu" = "删除“保存到稍后观看”";
"RemoveWatchLaterMenuDesc" = "从菜单中删除“保存到稍后观看”选项。";
"RemoveSaveToPlaylistMenu" = "删除“保存到播放列表”";
"RemoveSaveToPlaylistMenuDesc" = "从菜单中删除“保存到播放列表”选项。";
"RemoveShareMenu" = "删除“分享”";
"RemoveShareMenuDesc" = "从菜单中删除“分享”选项。";
"RemoveNotInterestedMenu" = "删除“不感兴趣”";
"RemoveNotInterestedMenuDesc" = "从菜单中删除“不感兴趣”选项。";
"RemoveDontRecommendMenu" = "删除“不推荐此频道”";
"RemoveDontRecommendMenuDesc" = "从菜单中删除“不推荐此频道”选项。";
"RemoveReportMenu" = "删除“举报”";
"RemoveReportMenuDesc" = "从菜单中删除“举报”选项。";
/* SponsorBlock settings */
"EnableSponsorBlock" = "启用";
"EnableSponsorBlockDesc" = "启用SponsorBlock扩展。";
"SegmentsInFeedPlayer" = "显示片段颜色";
"SegmentsInFeedPlayerDesc" = "在播放器的进度条上显示各种类别片段的颜色。";
"SegmentsInMiniPlayer" = "显示片段颜色(迷你播放器)";
"SegmentsInMiniPlayerDesc" = "在迷你播放器的进度条上显示各种类别片段的颜色。";
"SegmentSkipAudio" = "音频通知";
"SegmentSkipAudioDesc" = "跳过某个片段时播放音频通知。";
"DurationWithoutSegments" = "显示新的持续时间";
"DurationWithoutSegmentsDesc" = "显示不包含片段的总时长。";
"SkipAlertDuration" = "跳过警报持续时间";
"UnskipAlertDuration" = "取消跳过警报持续时间";
"Segments" = "片段";
"Sponsor" = "赞助商";
"SponsorDesc" = "宣传与创作者无直接关系的产品或服务,创作者将以金钱或免费产品的形式获得报酬或补偿。";
"SponsorColor" = "“赞助商片段”颜色";
"Intro" = "中场休息/开场动画";
"IntroDesc" = "这些片段通常出现在视频的开头,包括动画、静帧或剪辑,也可在同一创作者的其他视频中看到。";
"IntroColor" = "“开场片段”颜色";
"Endcards" = "片尾/致谢";
"EndcardsDesc" = "通常在视频片尾或结束时,出现片尾字幕或鸣谢时。";
"EndcardsColor" = "“片尾片段”颜色";
"Interaction" = "互动提醒";
"InteractionDesc" = "明确提醒在任何付费或免费平台上点赞、订阅或与他们互动。";
"InteractionColor" = "“互动片段”颜色";
"SelfPromo" = "无偿/自我推销";
"SelfPromoDesc" = "自我推销:推广与创作者本人直接相关的产品或服务。\n无偿:创作者不会因此次推广而获得任何报酬。";
"SelfPromoColor" = "“无偿/推销片段”颜色";
"MusicOfftopic" = "音乐:非音乐片段";
"MusicOfftopicDesc" = "仅适用于以音乐为主要内容的视频。";
"MusicOfftopicColor" = "“非音乐片段”颜色";
"Preview" = "预告/回顾";
"PreviewDesc" = "展示此视频或系列中其他视频即将发生的集锦内容,所有信息都会在视频的后面重复出现。";
"PreviewColor" = "“预告片段”颜色";
"Highlight" = "亮点";
"HighlightDesc" = "用于突出视频的重点或亮点。";
"HighlightColor" = "“亮点片段”颜色";
"Jokes" = "灌水片段/笑话";
"JokesDesc" = "跑题片段/闲聊笑话,仅是灌水,对理解视频的主要内容无任何作用。";
"JokesColor" = "“灌水片段”颜色";
"Sb.Disable" = "禁用";
"Sb.Skip" = "自动跳过";
"Sb.SkipTo" = "跳过片段";
"Sb.Ask" = "询问";
"Sb.Display" = "在播放器中显示";
"sb_sponsor" = "赞助片段";
"sb_intro" = "开场片段";
"sb_outro" = "片尾片段";
"sb_interaction" = "互动片段";
"sb_selfpromo" = "推销片段";
"sb_music_offtopic" = "非音乐片段";
"sb_preview" = "预告片段";
"sb_poi_highlight" = "亮点片段";
"sb_filler" = "灌水片段";
"SegmentDetected" = "检测到 %@";
"SegmentSkipped" = "%@ 已被跳过";
"SkippedToSegment" = "已跳过 %@";
"SkipSegment" = "跳过";
"SkipToSegment" = "跳到重点";
"Unskip" = "不跳过";
/* Developer section */
"Developer" = "开发者";
"FollowMe" = "在 X 上关注我";
"SupportDevelopment" = "支持开发";
"DonateDesc" = "您的支持对我来说意义重大!";
"SupportDevelopmentDesc" = "如果您喜欢“YouTube Plus”并愿意支持其开发,可以使用以下任何便捷的方式来赞助。\n感谢❤";
"VisitGithub" = "Github仓库";
"VisitGithubDesc" = "为本项目加注星标,请求功能或报告问题。";
"VisitTelegram" = "电报频道";
"VisitTelegramDesc" = "随时了解最新的应用程序更新";
/* Credits section */
"Credits" = "信息";
"Contributors" = "贡献者";
"DevContribution" = "开发贡献";
"SpecialThanks" = "特别感谢";
"SpecialThanks.Test" = "对插件测试做出了卓越的贡献。";
"Localizations" = "本地化翻译";
"ChineseSimplified" = "中文(简体)本地化";
"ChineseTraditional" = "中文(繁体)本地化";
"French" = "法语本地化";
"Spanish" = "西班牙语本地化";
"Japanese" = "日语本地化";
"Vietnamese" = "越南语本地化";
"Arabic" = "阿拉伯语本地化";
"Turkish" = "土耳其语本地化";
"OpenSourceLibs" = "开源库";
"Preferences" = "%@ 配置";
"ManagePreferences" = "配置管理";
"ImportPreferences" = "导入偏好设置";
"PreImportMessage" = "此操作将用所选文件中的设置替换当前设置。\n\n确定要继续吗??";
"ExportPreferences" = "导出偏好设置";
"ResetSettings" = "重置“YouTube Plus”设置";
"ResetMessage" = "此选项会将“YouTube Plus”设置重置为默认值并关闭 YouTube。\n\n确定要继续吗?";
"ManageCache" = "缓存管理";
"ClearCacheAtStart" = "启动时清除缓存";
"ClearCacheAtStartDesc" = "“YouTube”启动时自动清除缓存。";
"ClearCache" = "清除缓存";
"NoDonationReminder" = "禁用捐赠提醒";
"NoDonationReminderDesc" = "关闭偶尔显示的捐赠提醒。";
"ShortsOnlyWarning" = "确定要激活此模式吗?\n\n在此模式下,将只能观看短视频,且无法执行任何其他操作。\n\n可以通过双指长按禁用“仅短视频模式”。";
"ShortsModeTurnedOff" = "仅短视频模式已关闭";
"AddLibraryTab" = "恢复“我”标签页";
"RemoveLibraryTab" = "隐藏“我”标签页";
"LibraryAdded" = "“我”标签页已恢复";
"LibraryRemoved" = "“我”标签页已隐藏";
"Yes" = "是";
"No" = "不";
"Select" = "选择";
"Default" = "默认";
"Best" = "最好";
"Show" = "显示";
"Disable" = "禁用";
"Disabled" = "已禁用";
"PlaybackSpeed" = "播放速度";
"SpeedPreserved" = "速度保持";
"ResetSpeed" = "重置";
"Toast.Brightness" = "亮度";
"Toast.PlaybackSpeed" = "播放速度";
"Toast.Volume" = "音量";
"SelectAction" = "选择操作";
"DownloadVideo" = "下载视频";
"DownloadAudio" = "下载音频";
"SaveImage" = "保存图片";
"CopyInformation" = "复制信息";
"CopyChannelName" = "复制频道名称";
"CopyTitle" = "复制标题";
"CopyDescription" = "复制描述";
"CopyTimestampedLink" = "复制带时间戳的链接";
"CopyTranscript" = "复制字幕";
"PlayInExternalPlayer" = "在外部播放器中播放";
"PlayInSystemPlayer" = "在系统播放器中播放";
"PlayInInfuse" = "用 Infuse 播放";
"PlayInVLC" = "用 VLC 播放";
"PlayerNotFound" = "未找到播放器";
"OpenAsRegularVideo" = "像普通视频一样打开";
"CopyPostText" = "复制帖子文本";
"SaveCurrentImage" = "保存当前图片";
"CopyCurrentImage" = "复制当前图片";
"SavePostAsImage" = "帖子另存为图片";
"CopyPostAsImage" = "帖子作为图片复制";
"CopyCommentText" = "复制评论文本";
"SaveCommentAsImage" = "评论另存为图片";
"CopyCommentAsImage" = "评论作为图片复制";
"SaveProfilePicture" = "保存个人资料图片";
"CopyProfilePicture" = "复制个人资料图片";
"DownloadThumbnail" = "保存缩略图";
"CopyThumbnail" = "复制缩略图";
"Cancel" = "取消";
"Cancelled" = "已取消";
"Copied" = "已复制到剪贴板";
"Saved" = "已保存到照片";
"Done" = "完成";
"NothingToShowInMenu" = "此上下文菜单中没有显示任何内容";
"Error" = "错误";
"Error.Clipboard" = "错误,检查剪贴板以获取更多信息。";
"Error.PathIssue" = "错误,最终生成路径时出现问题。媒体标题有问题?";
"Error.TryLater" = "媒体正在上传,或者谷歌服务器上的进程正在处理。\n\n请稍后再试。";
"Error.NoSpace" = "设备上的存储容量不足。\n\n至少需要 %@ 的额外可用容量,可用容量: %@ 。";
"Error.Multidownloading" = "多重下载功能尚未推出。";
"Error.FailedToImport" = "无法导入偏好设置。";
"DownloadingVideo" = "视频下载中";
"DownloadingAudio" = "音频下载中";
"ParsingCaptions" = "解析字幕中";
"ParsingTranscript" = "解析字幕中";
"Converting" = "转换中";
"RetryLogin" = "解决方法已激活。\n\n请重试。";
"LoginInfo" = "成功登录Google帐户后需要重新启动应用程序。";
"Welcome.Download" = "下载媒体";
"Welcome.DownloadDesc" = "下载您喜欢的内容,无论是视频、短视频、音频还是个人头像。复制有趣的帖子和评论或将其保存为图片。";
"Welcome.Content" = "调整界面";
"Welcome.ContentDesc" = "删除不需要的内容和界面元素。启用真正的 OLED 暗黑模式。";
"Welcome.Player" = "设置播放器操作";
"Welcome.PlayerDesc" = "自定义播放器的操作,使用手势控制自动选择质量和播放速度等。";
"Welcome.More" = "还有更多...";
"Welcome.MoreDesc" = "“YouTube Plus”包含 50 多种不同的功能选项,包括保存偏好设置和清除缓存等功能。可以在 YouTube 设置下的“YouTube Plus”选项中找到功能设置。";
"SupportMe" = "支持我";
"Continue" = "继续";
"Conflicts.Detected" = "检测到不兼容的插件";
"Conflicts.DetectedDesc" = "尽管 YouTube 看似稳定,但“YouTube Plus”的开发人员不建议在同一应用程序中拥有具有类似功能的插件,并且不能保证安全使用。\n\n如果继续使用,则表示您将承担全部风险责任,并同意不再对任何性能相关进行反馈/投诉。";
"Conflicts.AcceptRisks" = "我接受所有风险";
"Conflicts.CloseYT" = "关闭 YouTube";
"DonationReminder" = "您的支持能让“YouTube Plus”变得更好。\n\n您可以在“YouTube Plus”设置中选择捐赠或选择关闭这些通知。谢谢💜";
@@ -1,219 +1,507 @@
"General" = "一般功能"; /* Main section */
"RemoveAds" = "移除廣告"; "Main" = "主要";
"RemoveAdsDesc" = "移除應用程式內的廣告";
"BackgroundPlayback" = "背景播放"; /* Downloading options */
"BackgroundPlaybackDesc" = "啟用背景播放"; "Downloading" = "下載";
"DownloadManager" = "下載管理器";
"Navbar" = "頂部導覽列"; "DownloadManagerDesc" = "將播放器下方的\"下載\"按鈕更換為\"下載管理器\",該管理器允許下載影片、音訊、縮圖,和複製影片資訊";
"RemoveCast" = "隱藏投放按鈕"; "PostManager" = "儲存貼文資訊";
"RemoveCastDesc" = "從導覽列隱藏投放按鈕"; "PostManagerDesc" = "長按可以複製貼文內容或將貼文儲存為圖片";
"RemoveNotifications" = "隱藏通知按鈕"; "SaveProfilePhoto" = "儲存個人檔案照片";
"RemoveNotificationsDesc" = "從導覽列隱藏通知按鈕"; "SaveProfilePhotoDesc" = "長按個人檔案照片儲存到照片App";
"RemoveSearch" = "隱藏搜尋按鈕"; "CommentManager" = "儲存留言資訊";
"RemoveSearchDesc" = "從導覽列隱藏搜尋按鈕"; "CommentManagerDesc" = "長按可以複製留言內容或將留言儲存為圖片";
"RemoveVoiceSearch" = "隱藏語音搜尋按鈕";
"RemoveVoiceSearchDesc" = "從導覽列隱藏語音搜尋按鈕"; "YtlButtonPosition" = "下載按鈕位置";
"StickyNavbar" = "固定導覽列"; "UnderPlayer" = "播放器下方";
"StickyNavbarDesc" = "向下滑動時保持可見狀態"; "Overlay" = "播放介面";
"NoSubbar" = "隱藏子導覽列"; "Both" = "兩者皆有";
"NoSubbarDesc" = "隱藏導覽列下的子導覽列(全部、讓你耳目一新的影片、直播中...等)";
"NoYTLogo" = "移除YouTube圖示"; "PostDownloadAction" = "下載後動作";
"NoYTLogoDesc" = "移除在左上方導覽列的YouTube圖示"; "PostDownloadDesc" = "影片成功下載完成後,執行選定的動作";
"SaveToPhotos" = "儲存至照片App";
"Overlay" = "播放介面"; "Share" = "分享";
"HideAutoplay" = "隱藏自動播放開關"; "Ask" = "詢問";
"HideAutoplayDesc" = "隱藏播放器中的自動播放開關"; "DownloadCompleted" = "下載完成";
"HideSubs" = "隱藏字幕按鈕";
"HideSubsDesc" = "隱藏播放器中的字幕按鈕"; "PreferredAudio" = "偏好音軌";
"NoHUDMsgs" = "隱藏HUD訊息"; "Selected" = "已選擇";
"NoHUDMsgsDesc" = "隱藏播放器中的所有功能。例如:開啟/關閉 CC、開啟循環播放...等"; "English" = "英文";
"HidePrevNext" = "隱藏上一部和下一部按鈕"; "SelectAudioTrack" = "選擇音軌";
"HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕"; "EnglishNotFound" = "找不到英文音軌";
"ReplacePrevNext" = "取代快轉和倒轉按鈕";
"ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕取代為快轉和倒轉按鈕"; "Captions" = "字幕";
"NoDarkBg" = "移除深色背景"; "EmbedCapsToVideos" = "嵌入字幕";
"NoDarkBgDesc" = "移除播放器中的深色背景"; "EmbedCapsToVideosDesc" = "將選定的字幕嵌入影片";
"NoEndScreenCards" = "隱藏片尾懸停影片"; "EmbedAutoGenCaps" = "自動產生/翻譯字幕";
"NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)"; "EmbedAutoGenCapsDesc" = "將自動產生、翻譯及自動翻譯的字幕加入到字幕清單中。";
"NoFullscreenActions" = "停用全螢幕操作"; "DownloadCaptions" = "下載字幕";
"NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板"; "SelectCaption" = "選擇字幕";
"PersistentProgressBar" = "固定進度條"; "Translated" = "已翻譯";
"PersistentProgressBarDesc" = "總是在播放器中顯示進度條"; "TranslatedAutoGen" = "自動翻譯";
"NoRelatedVids" = "隱藏相關影片";
"NoRelatedVidsDesc" = "移除全螢幕模式向上滑動時所出現的相關影片"; /* Nav bar options */
"NoPromotionCards" = "隱藏付費推廣"; "Navbar" = "頂部導覽列";
"NoPromotionCardsDesc" = "在付費推廣的影片中隱藏「付費推廣」"; "RemoveCast" = "隱藏投放按鈕";
"NoWatermarks" = "隱藏浮水印"; "RemoveCastDesc" = "從導覽列隱藏投放按鈕";
"NoWatermarksDesc" = "在播放器中隱藏頻道浮水印"; "RemoveNotifications" = "隱藏通知按鈕";
"RemoveNotificationsDesc" = "從導覽列隱藏通知按鈕";
"Player" = "播放器"; "RemoveSearch" = "隱藏搜尋按鈕";
"Miniplayer" = "啟用迷你播放器"; "RemoveSearchDesc" = "從導覽列隱藏搜尋按鈕";
"MiniplayerDesc" = "對於原本不支援迷你播放器的影片(例如針對兒童的影片),啟用迷你播放器"; "RemoveVoiceSearch" = "隱藏語音搜尋按鈕";
"PortraitFullscreen" = "直向全螢幕模式"; "RemoveVoiceSearchDesc" = "從導覽列隱藏語音搜尋按鈕";
"PortraitFullscreenDesc" = "啟用直向全螢幕模式"; "StickyNavbar" = "固定導覽列";
"CopyWithTimestamp" = "複製時間標記連結"; "StickyNavbarDesc" = "向下滑動時保持可見狀態";
"CopyWithTimestampDesc" = "透過按下暫停按鈕,將帶有時間標記的連結複製到剪貼簿"; "NoSubbar" = "隱藏子導覽列";
"DisableAutoplay" = "停用自動播放"; "NoSubbarDesc" = "隱藏導覽列下的子導覽列(全部、讓你耳目一新的影片、直播中...等)";
"DisableAutoplayDesc" = "在打開應用程式後防止自動播放影片"; "NoYTLogo" = "移除YouTube圖示";
"DisableAutoCaptions" = "停用自動字幕"; "NoYTLogoDesc" = "移除在左上方導覽列的YouTube圖示";
"DisableAutoCaptionsDesc" = "防止字幕自動啟用"; "PremiumYTLogo" = "YouTube Premium標誌";
"NoContentWarning" = "略過內容警告"; "PremiumYTLogoDesc" = "左上方導覽列設定為YouTube Premium標誌";
"NoContentWarningDesc" = "略過敏感內容警告訊息";
"ClassicQuality" = "舊版本影片畫質"; /* Feed options */
"ClassicQualityDesc" = "恢復舊版本選擇影片畫質的方式"; "Feed" = "首頁動態";
"ExtraSpeedOptions" = "額外的播放速度選項"; "RemoveAds" = "移除廣告";
"ExtraSpeedOptionsDesc" = "在播放速度選單中添加更多選項"; "RemoveAdsDesc" = "刪除應用程式內的廣告";
"DontSnap2Chapter" = "停用跳轉到章節"; "HideShorts" = "隱藏Shorts影片";
"DontSnap2ChapterDesc" = "停用點兩下手勢跳轉到下一集"; "HideShortsDesc" = "從首頁、推薦...等,隱藏Shorts影片(不適用於觀看紀錄)";
"RedProgressBar" = "紅色進度條"; "KeepSubsShorts" = "訂閱內容中保留Shorts";
"RedProgressBarDesc" = "恢復紅色的進度條"; "KeepSubsShortsDesc" = "防止從\"訂閱內容\"標籤中移除Shorts影片";
"NoHints" = "停用提示"; "RemoveCommunityPosts" = "移除社群貼文";
"NoHintsDesc" = "在播放過程中出現在右上角的作者提示"; "RemoveCommunityPostsDesc" = "從首頁動態移除社群貼文";
"NoFreeZoom" = "停用自由縮放手勢"; "RemoveMixPlaylists" = "移除合輯播放清單";
"NoFreeZoomDesc" = "停用新的自由缩放手势"; "RemoveMixPlaylistsDesc" = "從首頁移除YouTube生成的合輯播放清單";
"AutoFullscreen" = "全螢幕模式"; "RemoveLiveVids" = "移除直播影片";
"AutoFullscreenDesc" = "自動以全螢幕模式播放影片"; "RemoveLiveVidsDesc" = "從首頁移除直播影片";
"ExitFullscreen" = "結束時退出全螢幕模式"; "RemoveHorizontalFeeds" = "移除橫向動態";
"ExitFullscreenDesc" = "影片播放結束時退出全螢幕模式"; "RemoveHorizontalFeedsDesc" = "從首頁移除所有橫向動態 (新聞, 繼續觀看, 貼文合輯...等)";
"NoDoubleTap2Seek" = "停用點兩下快轉功能"; "RemoveMoreTopics" = "移除\"更多主題\"";
"NoDoubleTap2SeekDesc" = "停用點兩下手勢進行快轉"; "RemoveMoreTopicsDesc" = "從首頁動態移除\"更多主題\"";
"FixAlbums" = "修復封面";
"Tabbar" = "下方標籤欄"; "FixAlbumsDesc" = "為俄羅斯使用者修復封面顯示問題";
"RemoveLabels" = "移除文字";
"RemoveLabelsDesc" = "移除標籤文字"; /* Player options */
"RemoveIndicators" = "刪除標記"; "Player" = "播放器";
"RemoveIndicatorsDesc" = "刪除標籤通知標記"; "PlaybackQualityOnWiFi" = "使用Wi-Fi時的影片畫質";
"ReExplore" = "用探索取代Shorts分頁"; "PlaybackQualityOnCellular" = "使用行動網路時的影片畫質";
"ReExploreDesc" = "如同舊版YouTube一樣顯示「探索」而非「Shorts」";
"AddExplore" = "新增探索標籤"; "PreferredCaptions" = "偏好字幕";
"AddExploreDesc" = "在下方標籤欄新增探索標籤"; "Original" = "原始";
"HideShortsTab" = "隱藏Shorts"; "Custom" = "手動選擇";
"HideShortsTabDesc" = "從標籤欄中隱藏Shorts標籤"; "CustomAudioTrack" = "選擇音軌";
"HideSubscriptionsTab" = "隱藏訂閱內容"; "CustomCaptions" = "選擇字幕";
"HideSubscriptionsTabDesc" = "從標籤欄中隱藏訂閱內容"; "AutoGenCaps" = "自動產生字幕";
"HideUploadButton" = "隱藏+"; "AutoGenCapsDesc" = "若找不到選定的字幕,YouTube Plus會嘗試選擇原始字幕的翻譯或自動產生字幕的翻譯版本";
"HideUploadButtonDesc" = "從標籤欄中隱藏+標籤";
"HideLibraryTab" = "隱藏媒體庫"; "Player.Interface" = "介面";
"HideLibraryTabDesc" = "從標籤欄中隱藏媒體庫標籤"; "SpeedControls" = "播放速度控制";
"SpeedControlsDesc" = "在播放介面顯示速度控制按鈕";
"Shorts" = "Shorts"; "HideAutoplay" = "隱藏自動播放開關";
"ShortsOnlyMode" = "只看Shorts模式"; "HideAutoplayDesc" = "隱藏播放器中的自動播放開關";
"ShortsOnlyModeDesc" = "限制YouTube功能只能觀看Shorts影片"; "HideSubs" = "隱藏字幕按鈕";
"HideShorts" = "隱藏Shorts影片"; "HideSubsDesc" = "隱藏播放器中的字幕按鈕";
"HideShortsDesc" = "從首頁、推薦...等,隱藏Shorts影片(不適用於觀看紀錄)"; "HidePrevNext" = "隱藏上一部和下一部按鈕";
"ShortsProgress" = "啟用時間進度條"; "HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕";
"ShortsProgressDesc" = "在Shorts底部顯示進度條"; "ReplacePrevNext" = "取代快轉和倒轉按鈕";
"PinchToFullscreenShorts" = "捏合切換全螢幕"; "ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕取代為快轉和倒轉按鈕";
"PinchToFullscreenShortsDesc" = "透過兩指縮放手勢,控制覆蓋層的顯示,讓Shorts以全螢幕模式播放"; "RememberLoopMode" = "記住循環播放影片";
"ShortsToRegular" = "Shorts轉為一般影片"; "RememberLoopModeDesc" = "記住播放器選單中最後選擇的循環模式";
"ShortsToRegularDesc" = "將Shorts作為一般影片開啟"; "FullscreenToTheLeft" = "向左旋轉進入全螢幕";
"ResumeShorts" = "不要從Shorts開始"; "FullscreenToTheLeftDesc" = "全螢幕模式會將畫面向左旋轉,而非預設的向右旋轉。";
"ResumeShortsDesc" = "防止重新開啟應用程式時從Shorts開始播放,如果在觀看Shorts時關閉,就會發生這種情況"; "PortraitFullscreen" = "直向全螢幕模式";
"HideShortsLogo" = "隱藏Shorts圖示"; "PortraitFullscreenDesc" = "啟用直向全螢幕模式";
"HideShortsLogoDesc" = "左上角Shorts圖示"; "ClassicQuality" = "舊版本影片畫質";
"HideShortsSearch" = "隱藏搜尋按鈕"; "ClassicQualityDesc" = "恢復舊版本選擇影片畫質的方式";
"HideShortsSearchDesc" = "從Shorts中隱藏搜尋按鈕"; "ExtraSpeedOptions" = "額外的播放速度選項";
"HideShortsCamera" = "隱藏相機按鈕"; "ExtraSpeedOptionsDesc" = "在播放速度選單添加更多選項";
"HideShortsCameraDesc" = "從Shorts中隱藏相機按鈕"; "NoDarkBg" = "移除深色背景";
"HideShortsMore" = "隱藏更多 (⋮) 按鈕"; "NoDarkBgDesc" = "移除播放器中的深色背景";
"HideShortsMoreDesc" = "從Shorts中隱藏更多 (⋮) 按鈕,也可以透過長按螢幕來完成"; "NoEndScreenCards" = "隱藏片尾懸停影片";
"HideShortsSubscriptions" = "隱藏訂閱按鈕"; "NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)";
"HideShortsSubscriptionsDesc" = "隱藏當Shorts暫停時顯示的訂閱按鈕"; "NoAutonavEndScreenCards" = "隱藏自動播放結束畫面";
"HideShortsLike" = "隱藏喜歡按鈕"; "NoAutonavEndScreenCardsDesc" = "隱藏播放結束後顯示您可以接著播放什麼的畫面。停用此選項也會停用自動播放";
"HideShortsLikeDesc" = "從Shorts中隱藏喜歡按鈕"; "NoFullscreenActions" = "停用全螢幕操作";
"HideShortsDislike" = "隱藏不喜歡按鈕"; "NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板";
"HideShortsDislikeDesc" = "從Shorts中隱藏不喜歡按鈕"; "PersistentProgressBar" = "固定進度列";
"HideShortsComments" = "隱藏評論按鈕"; "PersistentProgressBarDesc" = "總是在播放器中顯示進度列";
"HideShortsCommentsDesc" = "從Shorts中隱藏評論按鈕"; "RedProgressBar" = "紅色進度列";
"HideShortsRemix" = "隱藏Remix按鈕"; "RedProgressBarDesc" = "恢復紅色的進度列";
"HideShortsRemixDesc" = "從Shorts中隱藏Remix按鈕"; "StockVolumeHUD" = "原生系統音量HUD";
"HideShortsShare" = "隱藏分享按鈕"; "StockVolumeHUDDesc" = "全螢幕模式中顯示原生系統音量HUD";
"HideShortsShareDesc" = "從Shorts中隱藏分享按鈕"; "NoRelatedVids" = "隱藏相關影片";
"HideShortsAvatars" = "隱藏頻道頭像"; "NoRelatedVidsDesc" = "移除全螢幕模式向上滑動時所出現的相關影片";
"HideShortsAvatarsDesc" = "隱藏右下角的頻道圖片"; "NoPromotionCards" = "隱藏付費推廣";
"HideShortsThanks" = "隱藏超級感謝按鈕"; "NoPromotionCardsDesc" = "在付費推廣的影片中隱藏「付費推廣」";
"HideShortsThanksDesc" = "從Shorts中隱藏超級感謝 (贊助) 按鈕"; "NoWatermarks" = "隱藏浮水印";
"HideShortsSource" = "隱藏Shorts來源"; "NoWatermarksDesc" = "在播放器中隱藏頻道浮水印";
"HideShortsSourceDesc" = "在頻道名稱下隱藏Shorts來源"; "VideoEndTime" = "顯示播放結束時間";
"HideShortsChannelName" = "隱藏頻道名稱"; "VideoEndTimeDesc" = "新增影片播放結束時間至播放器欄";
"HideShortsChannelNameDesc" = "從Shorts中隱藏頻道名稱和訂閱按鈕"; "24hrFormat" = "24小時制";
"HideShortsDescription" = "隱藏描述"; "24hrFormatDesc" = "播放結束時間將以24小時制顯示";
"HideShortsDescriptionDesc" = "隱藏頻道名稱下的Shorts描述";
"HideShortsAudioTrack" = "隱藏原始音效"; "Player.Actions" = "操作";
"HideShortsAudioTrackDesc" = "隱藏Shorts描述下的原始音效"; "DefaultPlaybackRate" = "預設播放速度";
"BackgroundPlayback" = "背景播放";
"Other" = "其它"; "BackgroundPlaybackDesc" = "啟用背景播放";
"CopyVideoInfo" = "複製影片資訊"; "Miniplayer" = "啟用迷你播放器";
"CopyVideoInfoDesc" = "新增按鈕將影片標題和說明,複製到影片說明欄"; "MiniplayerDesc" = "對於原本不支援迷你播放器的影片(例如針對兒童的影片),啟用迷你播放器";
"PostManager" = "儲存貼文資訊"; "DisableAutoplay" = "停用自動播放";
"PostManagerDesc" = "長按可以複製貼文內容或將貼文儲存為圖片"; "DisableAutoplayDesc" = "在打開應用程式後防止自動播放影片";
"SavePostImage" = "儲存社群貼文圖片"; "DisableAutoCaptions" = "停用自動字幕";
"SavePostImageDesc" = "長按社群貼文圖片儲存到照片應用"; "DisableAutoCaptionsDesc" = "防止字幕自動啟用";
"SaveProfilePhoto" = "儲存個人檔案照片"; "NoContentWarning" = "略過內容警告";
"SaveProfilePhotoDesc" = "長按個人檔案照片儲存到照片應用"; "NoContentWarningDesc" = "略過敏感內容警告訊息";
"CommentManager" = "Save comment information"; "NoHints" = "停用提示";
"CommentManagerDesc" = "Allows to copy comment text and save comment as image by long tap."; "NoHintsDesc" = "在播放過程中出現在右上角的作者提示";
"FixAlbums" = "修復封面"; "AutoFullscreen" = "全螢幕模式";
"FixAlbumsDesc" = "為俄羅斯使用者修復封面顯示問題"; "AutoFullscreenDesc" = "自動以全螢幕模式播放影片";
"RemovePlayNext" = "移除「播放下一個」"; "ExitFullscreen" = "結束時退出全螢幕模式";
"RemovePlayNextDesc" = "從選單移除「播放下一個」"; "ExitFullscreenDesc" = "影片播放結束時退出全螢幕模式";
"NoContinueWatching" = "移除「繼續觀看」";
"NoContinueWatchingDesc" = "從首頁中移除包含未完成影片的「繼續觀看」部分"; "Player.Gestures" = "手勢";
"NoSearchHistory" = "隱藏搜尋記錄"; "LeftSideGesture" = "左邊手勢";
"NoSearchHistoryDesc" = "視覺上隱藏搜尋歷史紀錄和建議。注意:您的搜尋紀錄仍然可在其它YouTube客戶端中存取"; "RightSideGesture" = "右邊手勢";
"NoRelatedWatchNexts" = "隱藏播放器下的所有影片"; "ActivationAreaWidth" = "Gesture activation width";
"NoRelatedWatchNextsDesc" = "只留下影片資訊和留言區域"; "ActivationAreaWidthDesc" = "This value determines the gesture recognition zone in pixels for the left and right sides of the screen.\n\nThe maximum allowed value is one-third of the screen width.\n\nAdjusting this setting is useful to prevent accidental activation when attempting to minimize or expand the player.";
"StickSortComments" = "固定留言排序"; "HoldToSpeed" = "按住加速";
"StickSortCommentsDesc" = "將留言排序(熱門、最新)功能固定,這樣在滾動時就不會消失"; "AdjustWithFinger" = "調整速度";
"HideSortComments" = "隱藏留言排序"; "AdjustWithFingerDesc" = "透過在播放器上長按並上下滑動手指來調整播放速度";
"HideSortCommentsDesc" = "隱藏留言排序(熱門、最新)功能,將永不顯示"; "PreserveSpeed" = "保持速度";
"PlaylistOldMinibar" = "舊版播放清單"; "PreserveSpeedDesc" = "手勢完成後保持調整後的速度";
"PlaylistOldMinibarDesc" = "將新版的浮動播放清單面板替換為舊版"; "SeekAnywhere" = "滑動快轉/倒轉";
"DisableRTL" = "停用RTL格式"; "SeekAnywhereDesc" = "允許透過左右滑動來控制播放進度";
"DisableRTLDesc" = "強制將初始顯示從右到左(RTL)格式的語言,改為從左到右(LTR)顯示"; "SeekMethod" = "快轉/倒轉方式";
"SeekMethodDesc" = "Independent: Free fast scrolling across the entire video duration. Only the seek sensitivity is respected.\n\nDuration-based: The scrolling strength will depend on the length of the video and the seek sensitivity. This can be useful for long videos to prevent scrolling through large sections of the video.";
"Startup" = "啟動頁面"; "Independent" = "獨立";
"Home" = "首頁"; "DurationBased" = "基於影片長度";
"Explore" = "探索"; "SeekSensitivity" = "快轉/倒轉靈敏度";
"ShortsTab" = "Shorts"; "TwoFingerTapToPause" = "使用兩指暫停";
"Subscriptions" = "訂閱內容"; "TwoFingerTapToPauseDesc" = "兩指點擊螢幕即可\"暫停/恢復\"播放";
"Library" = "媒體庫"; "TwoFingerPanToBrightness" = "調整亮度";
"Warning" = "警告"; "TwoFingerPanToBrightnessDesc" = "使用兩指向上或向下滑動來調整螢幕亮度";
"TabIsHidden" = "無法將隱藏的標籤選為啟動頁面"; "CopyWithTimestamp" = "複製時間標記連結";
"CopyWithTimestampDesc" = "透過按下暫停按鈕,將帶有時間標記的連結複製到剪貼簿";
"DonateViaPayPal" = "透過PayPal贊助"; "PauseOnOverlay" = "覆蓋時暫停";
"SupportViaGhSponsors" = "透過Github贊助支持開發"; "PauseOnOverlayDesc" = "當覆蓋畫面出現時,暫停播放";
"Version" = "版本"; "DontSnap2Chapter" = "停用跳轉到章節";
"About" = "關於"; "DontSnap2ChapterDesc" = "停用點兩下手勢跳轉到下一集";
"Credits" = "貢獻"; "NoTwoFingerSnapToChapter" = "停用兩指點兩下";
"Developer" = "YTLite開發者"; "NoTwoFingerSnapToChapterDesc" = "停用兩指點兩下跳轉到章節的手勢";
"ChineseSimplified" = "簡體中文在地化"; "NoFreeZoom" = "停用自由縮放手勢";
"ChineseTraditional" = "繁體中文在地化"; "NoFreeZoomDesc" = "停用新的自由缩放手势";
"French" = "法文在地化"; "NoDoubleTap2Seek" = "停用點兩下快轉功能";
"Spanish" = "西班牙文在地化"; "NoDoubleTap2SeekDesc" = "停用點兩下手勢進行快轉";
"Japanese" = "日本語在地化";
"Vietnamese" = "越南語在地化"; /* Shorts options */
"Advanced" = "進階模式"; "Shorts" = "Shorts";
"AdvancedModeReminder" = "您是否想啟用YTLite的進階模式?\n\n這個模式提供了50多個額外的選項,可以自訂義和優化您的YouTube使用體驗。您稍後可以在「設定」中 → %@ → %@ → %@ 啟用或停用它。"; "PlaybackMode" = "Playback completion action";
"ClearCache" = "清除快取"; "Loop" = "Loop";
"ResetSettings" = "重置YTLite設定"; "ScrollToNext" = "Scroll to next";
"ResetMessage" = "這個選項會將YTLite重置為預設值,並關閉Youtube\n\n您確定要繼續嗎?"; "Stop" = "Stop";
"ShortsOnlyWarning" = "您確定要開啟此模式嗎?\n\n在此模式下,您只能觀看Shorts影片,無法進行其它操作。\n\n您可以在Shorts播放器中使用兩指長按來停用只看Shorts模式。"; "AutoSkipShorts" = "連續播放Shorts";
"ShortsModeTurnedOff" = "已關閉「只看Shorts模式"; "ShortsOnlyMode" = "只看Shorts模式";
"Yes" = ""; "ShortsOnlyModeDesc" = "限制YouTube功能只能觀看Shorts影片";
"No" = "否"; "RestrictShorts" = "Limit Shorts";
"RestrictShortsDesc" = "Limits the number of Shorts in the feed to 10-15. Useful if you want to avoid the habit of endlessly scrolling through the feed.";
"SelectAction" = "選擇動作"; "ShortsProgress" = "啟用時間進度列";
"CopyTitle" = "複製標題"; "ShortsProgressDesc" = "在Shorts底部顯示進度列";
"CopyDescription" = "複製說明"; "SpeedByLongTap" = "加快Shorts播放速度";
"CopyPostText" = "複製貼文內容"; "SpeedByLongTapDesc" = "允許透過長按螢幕的某個部分位置來加快播放速度";
"SavePostAsImage" = "貼文儲存為圖片"; "SpeedLocation" = "觸發位置";
"CopyPostAsImage" = "複製貼文為圖片"; "PinchToFullscreenShorts" = "捏合切換全螢幕";
"CopyCommentText" = "Copy comment text"; "PinchToFullscreenShortsDesc" = "透過兩指縮放手勢,控制覆蓋層的顯示,讓Shorts以全螢幕模式播放";
"SaveCommentAsImage" = "Save comment as image"; "ShortsToRegular" = "Shorts轉為一般影片";
"CopyCommentAsImage" = "Copy comment as image"; "ShortsToRegularDesc" = "將Shorts作為一般影片開啟";
"Cancel" = "取消"; "RemoveShortsLive" = "Remove live videos";
"Copied" = "已複製到剪貼簿"; "RemoveShortsLiveDesc" = "Removes live videos from the feed.";
"Saved" = "已儲存到照片應用"; "HideShortsLogo" = "隱藏Shorts圖示";
"Done" = "Done"; "HideShortsLogoDesc" = "左上角Shorts圖示";
"Error" = "發生錯誤"; "HideShortsSearch" = "隱藏搜尋按鈕";
"HideShortsSearchDesc" = "從Shorts中隱藏搜尋按鈕";
"HideShortsCamera" = "隱藏相機按鈕";
"HideShortsCameraDesc" = "從Shorts中隱藏相機按鈕";
"HideShortsMore" = "隱藏更多 (⋮) 按鈕";
"HideShortsMoreDesc" = "從Shorts中隱藏更多 (⋮) 按鈕,也可以透過長按螢幕來完成";
"HideShortsSubscriptions" = "隱藏訂閱按鈕";
"HideShortsSubscriptionsDesc" = "隱藏當Shorts暫停時顯示的訂閱按鈕";
/* Tab bar options */
"Tabbar" = "底部標籤欄";
"Startup" = "啟動頁面";
"FEwhat_to_watch" = "首頁";
"FEexplore" = "探索";
"FEshorts" = "Shorts";
"FEsubscriptions" = "訂閱內容";
"FElibrary" = "個人中心/媒體庫";
"FEuploads" = "建立";
"FEhistory" = "觀看紀錄";
"VLWL" = "稍後觀看";
"RemoveLabels" = "移除文字";
"RemoveIndicators" = "刪除標記";
"ActiveTabs" = "顯示標籤頁";
"InactiveTabs" = "隱藏標籤頁";
"HideLibraryFooter" = "長按首頁標籤可以顯示或隱藏\"個人中心\"";
"Warning" = "警告";
"TabIsHidden" = "無法將隱藏的標籤頁選為啟動頁面";
"TabIsStartupTab" = "選擇為啟動頁面的標籤,無法隱藏";
"TabsCountRestricted" = "最多只能設定顯示六個標籤頁";
/* Interface options */
"Interface" = "介面";
"OledTheme" = "OLED主題";
"OledThemeDesc" = "將所有深色改為黑色";
"NoSearchHistory" = "隱藏搜尋記錄";
"NoSearchHistoryDesc" = "視覺上隱藏搜尋歷史紀錄和建議。注意:您的搜尋紀錄仍然可在其它YouTube客戶端中存取";
"NoRelatedWatchNexts" = "隱藏播放器下的所有影片";
"NoRelatedWatchNextsDesc" = "只留下影片資訊和留言區域";
"StickSortComments" = "固定留言排序";
"StickSortCommentsDesc" = "將留言排序(熱門、最新)功能固定,這樣在滾動時就不會消失";
"HideSortComments" = "隱藏留言排序";
"HideSortCommentsDesc" = "隱藏留言排序(熱門、最新)功能,將永不顯示";
"PlaylistOldMinibar" = "舊版播放清單";
"PlaylistOldMinibarDesc" = "將新版的浮動播放清單面板替換為舊版";
"OldYTUI" = "舊版介面";
"OldYTUIDesc" = "偽裝YouTube版本,讓介面變回舊版";
"DisableRTL" = "停用RTL格式";
"DisableRTLDesc" = "強制將初始顯示從右到左(RTL)格式的語言,改為從左到右(LTR)顯示";
"StartupAnimation" = "啟動動畫";
"StartupAnimationDesc" = "顯示YouTube開啟時的載入動畫";
"InterfaceStyle" = "介面風格";
"MiniplayerStyle" = "迷你播放器風格";
"MiniplayerStyleDesc" = "切換到/離開浮動模式,需要重新啟動應用程式。";
"Floating" = "浮動";
"ContextMenu" = "上下文選單";
"NativeShare" = "原生分享選單";
"NativeShareDesc" = "使用系統分享選單分享媒體";
"RemoveInlineComment" = "移除留言";
"RemoveInlineCommentDesc" = "移除播放器下方的留言區塊";
"RemoveCommentGuidelines" = "移除社群規範";
"RemoveCommentGuidelinesDesc" = "移除留言區置頂的社群規範";
"RemovePlayNext" = "移除「播放下一個」";
"RemovePlayNextDesc" = "從選單移除「播放下一個」";
"RemoveDownloadMenu" = "移除「下載影片」";
"RemoveDownloadMenuDesc" = "從選單移除「下載影片」選項";
"RemoveWatchLaterMenu" = "移除「儲存至稍後觀看清單」";
"RemoveWatchLaterMenuDesc" = "從選單移除「儲存至稍後觀看清單」選項";
"RemoveSaveToPlaylistMenu" = "移除「儲存至播放清單」";
"RemoveSaveToPlaylistMenuDesc" = "從選單移除「儲存至播放清單」選項";
"RemoveShareMenu" = "移除「分享」";
"RemoveShareMenuDesc" = "從選單移除「分享」選項";
"RemoveNotInterestedMenu" = "移除「不感興趣」";
"RemoveNotInterestedMenuDesc" = "從選單移除「不感興趣」選項";
"RemoveDontRecommendMenu" = "移除「不要推薦這個頻道」";
"RemoveDontRecommendMenuDesc" = "從選單移除「不要推薦這個頻道」選項";
"RemoveReportMenu" = "移除「檢舉」";
"RemoveReportMenuDesc" = "從選單移除「檢舉」選項";
/* SponsorBlock settings */
"EnableSponsorBlock" = "啟用";
"EnableSponsorBlockDesc" = "SponsorBlock擴充功能";
"SegmentsInFeedPlayer" = "播放器中顯示片段";
"SegmentsInFeedPlayerDesc" = "在播放器的進度列上顯示彩色片段標記";
"SegmentsInMiniPlayer" = "迷你播放器中顯示片段";
"SegmentsInMiniPlayerDesc" = "在迷你播放器的進度列上顯示彩色片段標記";
"SegmentSkipAudio" = "音訊通知";
"SegmentSkipAudioDesc" = "跳過片段時播放聲音提示";
"DurationWithoutSegments" = "顯示新的影片時間";
"DurationWithoutSegmentsDesc" = "去除片段後的總時間";
"SkipAlertDuration" = "跳過通知持續時間";
"UnskipAlertDuration" = "取消跳過通知持續時間";
"Segments" = "片段";
"Sponsor" = "贊助廣告";
"SponsorDesc" = "有收錢的工商廣告和直接廣告。不是為了自我推銷或為了其它創作的免費推銷";
"SponsorColor" = "贊助片段顏色";
"Intro" = "開頭動畫/中場休息";
"IntroDesc" = "通常出現在影片開頭的片段,包括動畫、靜態畫面或剪輯,這些片段也會出現在同一創作者的其它影片中";
"IntroColor" = "開頭動畫/中場休息片段顏色";
"Endcards" = "結束畫面/鳴謝";
"EndcardsDesc" = "通常出現在結束畫面或接近結尾的片段,會顯示YouTube結尾資訊卡或鳴謝名單";
"EndcardsColor" = "結束畫面/鳴謝片段顏色";
"Interaction" = "互動提醒";
"InteractionDesc" = "要求觀眾按讚、訂閱或在任何付費&免費平台上與創作者互動(例:點擊影片)";
"InteractionColor" = "互動提醒片段顏色";
"SelfPromo" = "自我推廣/無償推廣";
"SelfPromoDesc" = "自我推廣:創作者推廣自己的產品或服務\n無償推廣:創作者不會因為這個宣傳而得到金錢報酬";
"SelfPromoColor" = "自我推廣/無償推廣片段顏色";
"MusicOfftopic" = "音樂:非音樂片段";
"MusicOfftopicDesc" = "僅適用於以音樂為主要內容的影片";
"MusicOfftopicColor" = "非音樂片段顏色";
"Preview" = "預告";
"PreviewDesc" = "展示即將播放的影片或整系列內容的短片集錦,所有內容都會在後面影片中重複";
"PreviewColor" = "預告片段顏色";
"Highlight" = "重點";
"HighlightDesc" = "用於快速跳轉到影片重點或精華部分";
"HighlightColor" = "重點片段顏色";
"Jokes" = "離題閒聊/玩笑";
"JokesDesc" = "離題閒聊/玩笑僅用於為影片增添趣味或幽默的附加場景,對理解影片的主要內容並非必要。.";
"JokesColor" = "離題閒聊/玩笑片段顏色";
"Sb.Disable" = "停用";
"Sb.Skip" = "自動跳過";
"Sb.SkipTo" = "跳到片段";
"Sb.Ask" = "詢問";
"Sb.Display" = "在播放器中顯示";
"sb_sponsor" = "贊助片段";
"sb_intro" = "開場片段";
"sb_outro" = "片尾片段";
"sb_interaction" = "互動片段";
"sb_selfpromo" = "自我推廣片段";
"sb_music_offtopic" = "非音樂片段";
"sb_preview" = "預覽片段";
"sb_poi_highlight" = "重點片段";
"sb_filler" = "填充片段";
"SegmentDetected" = "偵測到 %@";
"SegmentSkipped" = "%@ 已被跳過";
"SkippedToSegment" = "跳到 %@";
"SkipSegment" = "跳過";
"SkipToSegment" = "跳到重點";
"Unskip" = "取消跳過";
/* Developer section */
"Developer" = "開發者";
"FollowMe" = "在X上跟隨我";
"SupportDevelopment" = "支持開發";
"DonateDesc" = "您的支持對我來說意義非凡";
"SupportDevelopmentDesc" = "如果您喜歡YTPlus並且願意支持開發,可以使用以下任何方便的方式支持。\n感謝❤";
"VisitGithub" = "Github儲存庫";
"VisitGithubDesc" = "為儲存庫標記星號,提出功能請求或回報問題。";
"VisitTelegram" = "我的Telegram頻道";
"VisitTelegramDesc" = "隨時掌握App的最新更新資訊";
/* Credits section */
"Credits" = "貢獻";
"Contributors" = "貢獻者";
"DevContribution" = "對開發的貢獻";
"SpecialThanks" = "特別感謝";
"SpecialThanks.Test" = "對插件測試付出了不可或缺的貢獻";
"Localizations" = "在地化譯者";
"ChineseSimplified" = "簡體中文在地化";
"ChineseTraditional" = "繁體中文在地化";
"French" = "法語在地化";
"Spanish" = "西班牙語在地化";
"Japanese" = "日語在地化";
"Vietnamese" = "越南語在地化";
"Arabic" = "阿拉伯語在地化";
"Turkish" = "土耳其語在地化";
"OpenSourceLibs" = "開源函式庫";
"Preferences" = "%@ 偏好設定";
"ManagePreferences" = "偏好設定管理";
"ImportPreferences" = "匯入偏好設定";
"PreImportMessage" = "此項操作會將目前的偏好設定,替換為所選檔案中的偏好設定。\n\n確定要繼續嗎?";
"ExportPreferences" = "匯出偏好設定";
"ResetSettings" = "重置YTPlus設定";
"ResetMessage" = "這個選項會將YTPlus重置為預設值,並關閉Youtube\n\n您確定要繼續嗎?";
"ManageCache" = "快取管理";
"ClearCacheAtStart" = "啟動時清除快取";
"ClearCacheAtStartDesc" = "開啟Youtube時,自動清除快取";
"ClearCache" = "清除快取";
"NoDonationReminder" = "停用捐款提醒";
"NoDonationReminderDesc" = "關閉偶爾顯示的捐款提醒";
"ShortsOnlyWarning" = "您確定要開啟此模式嗎?\n\n在此模式下,您只能觀看Shorts影片,無法進行其它操作。\n\n您可以在Shorts播放器中使用兩指長按來停用只看Shorts模式。";
"ShortsModeTurnedOff" = "已關閉「只看Shorts模式」";
"AddLibraryTab" = "恢復\"個人中心\"標籤";
"RemoveLibraryTab" = "移除\"個人中心\"標籤";
"LibraryAdded" = "\"個人中心\"標籤已恢復";
"LibraryRemoved" = "\"個人中心\"標籤已移除";
"Yes" = "是";
"No" = "否";
"Select" = "選擇";
"Default" = "預設";
"Best" = "最佳";
"Show" = "顯示";
"Disable" = "停用";
"Disabled" = "已停用";
"PlaybackSpeed" = "播放速度";
"SpeedPreserved" = "保持速度";
"ResetSpeed" = "重設";
"Toast.Brightness" = "亮度";
"Toast.PlaybackSpeed" = "播放速度";
"Toast.Volume" = "音量";
"SelectAction" = "選擇動作";
"DownloadVideo" = "下載影片";
"DownloadAudio" = "下載音訊";
"SaveImage" = "儲存圖片";
"CopyInformation" = "複製資訊";
"CopyChannelName" = "複製頻道名稱";
"CopyTitle" = "複製標題";
"CopyDescription" = "複製說明";
"CopyTimestampedLink" = "複製含有時間標記的連結";
"CopyTranscript" = "複製字幕";
"PlayInExternalPlayer" = "在外部播放器中播放";
"PlayInSystemPlayer" = "在系統播放器中播放";
"PlayInInfuse" = "在Infuse中播放";
"PlayInVLC" = "在VLC中播放";
"PlayerNotFound" = "找不到播放器";
"OpenAsRegularVideo" = "像一般影片一樣打開";
"CopyPostText" = "複製貼文內容";
"SaveCurrentImage" = "儲存當前圖片";
"CopyCurrentImage" = "複製當前圖片";
"SavePostAsImage" = "儲存貼文為圖片";
"CopyPostAsImage" = "複製貼文為圖片";
"CopyCommentText" = "複製留言內容";
"SaveCommentAsImage" = "留言儲存為圖片";
"CopyCommentAsImage" = "複製留言為圖片";
"SaveProfilePicture" = "儲存個人檔案照片";
"CopyProfilePicture" = "複製個人檔案照片";
"DownloadThumbnail" = "儲存影片縮圖";
"CopyThumbnail" = "複製影片縮圖";
"Cancel" = "取消";
"Cancelled" = "已取消";
"Copied" = "已複製到剪貼簿";
"Saved" = "已儲存到照片App";
"Done" = "完成";
"NothingToShowInMenu" = "Nothing to show in this context menu";
"Error" = "發生錯誤";
"Error.Clipboard" = "錯誤!!檢查剪貼簿獲取更多資訊";
"Error.PathIssue" = "錯誤!!產生最終路徑時出現問題。媒體標題有問題?";
"Error.TryLater" = "媒體正在直播或正在Google伺服器上處理中。\n\n請稍後再試";
"Error.NoSpace" = "裝置儲存空間不足。\n\n至少需要 %@ 的額外可用空間。目前可用空間: %@";
"Error.Multidownloading" = "暫時不支援批次下載";
"Error.FailedToImport" = "偏好設定匯入失敗";
"DownloadingVideo" = "影片下載中...";
"DownloadingAudio" = "音訊下載中...";
"ParsingCaptions" = "解析字幕中...";
"ParsingTranscript" = "解析逐字稿中...";
"Converting" = "轉檔中...";
"RetryLogin" = "已啟用登入權限修復\n\n請再次登入";
"LoginInfo" = "成功登錄Google帳戶後需要重新啟動應用程式";
"Welcome.Download" = "下載媒體";
"Welcome.DownloadDesc" = "下載您喜愛的內容,不論是影片、Shorts、音訊或個人檔案照片。複製有趣的貼文和留言,或將它們儲存為圖片。";
"Welcome.Content" = "介面調整";
"Welcome.ContentDesc" = "移除不必要內容和介面元素。啟用真正的OLED深色模式。";
"Welcome.Player" = "設定播放器";
"Welcome.PlayerDesc" = "自訂播放器操作,自動選擇畫質和播放速度,使用手勢進行控制。";
"Welcome.More" = "還有更多...";
"Welcome.MoreDesc" = "YouTube Plus包含超過50種不同的選項,包括儲存偏好設定和清除快取...等功能。這些功能在YouTube設定下的\"YouTube Plus\"";
"SupportMe" = "支持我";
"Continue" = "繼續";
"Conflicts.Detected" = "偵測到不相容的插件";
"Conflicts.DetectedDesc" = "儘管應用程式看似穩定,YouTube Plus開發者不建議將功能類似的插件合併在同一個應用程式中,並且無法保證安全使用。\n\n繼續使用此應用程式,表示您將承擔全部風險責任,並同意任何有關於效能的投訴將被忽略。";
"Conflicts.AcceptRisks" = "我接受所有風險";
"Conflicts.CloseYT" = "關閉YouTube";
"DonationReminder" = "您的支持有助於讓YouTube Plus變得更好。\n\n你可以在YouTube Plus的設定裡面,選擇捐款或關閉這些通知。謝謝你💜";
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.