Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b677dbe45 | ||
|
|
8b351cd0d0 | ||
|
|
99ca1002e3 | ||
|
|
d7d325586e | ||
|
|
1b4fbff582 | ||
|
|
531f686eba | ||
|
|
8ff8d5d1a8 | ||
|
|
7924ab1097 | ||
|
|
29a71b2e9e | ||
|
|
02a8eae322 | ||
|
|
fcbc1e76b8 | ||
|
|
55eadc4674 | ||
|
|
c491b40391 | ||
|
|
bf2a686198 | ||
|
|
724d695f2b | ||
|
|
38e72a8f10 | ||
|
|
eb11840413 | ||
|
|
029d6ebd31 | ||
|
|
8390461b02 | ||
|
|
c2b5e11caf | ||
|
|
fc3b82a49e | ||
|
|
bf21a16513 | ||
|
|
9887f51980 | ||
|
|
5b36e59c12 | ||
|
|
2830e582d9 | ||
|
|
534ddc385d | ||
|
|
367997d567 | ||
|
|
e4629be0b5 | ||
|
|
d3e3d2d7dd | ||
|
|
6cba6d8d7b | ||
|
|
42e1635e49 | ||
|
|
6c1cf9846b | ||
|
|
55f11ae1ad | ||
|
|
e234ab9f1b | ||
|
|
9070b05f60 | ||
|
|
4c904da048 | ||
|
|
3a65917118 | ||
|
|
9a3ea341ed | ||
|
|
7850e059bd | ||
|
|
3d490e98dd | ||
|
|
a93b25708c | ||
|
|
e7d8bda06e | ||
|
|
406918f455 | ||
|
|
bf395fd146 | ||
|
|
19d4363dcd | ||
|
|
61c2e465de | ||
|
|
2b06eb9025 | ||
|
|
c16ff77c5e | ||
|
|
5bc1db252d | ||
|
|
5516efc78b | ||
|
|
54de3baf79 | ||
|
|
62c9d84d46 | ||
|
|
546d3692bf | ||
|
|
508c927907 | ||
|
|
27d45b604d | ||
|
|
1c71597b5b | ||
|
|
c76d38da52 | ||
|
|
18a6b8b8e4 | ||
|
|
cf4aa9f002 | ||
|
|
dc1cdbdc01 | ||
|
|
830176a5d1 | ||
|
|
58caa418e2 | ||
|
|
f3d089ef08 | ||
|
|
88fea4f898 | ||
|
|
fdfaa63fc0 | ||
|
|
6dcfaa3304 | ||
|
|
af7b3ab7d7 | ||
|
|
9b3a31068f | ||
|
|
d68f386698 | ||
|
|
644287173f | ||
|
|
555231828b | ||
|
|
972c651fe5 | ||
|
|
0848613088 | ||
|
|
fcc16d93e1 | ||
|
|
d0b0a24819 | ||
|
|
e5894e7291 | ||
|
|
c3cc0b4286 | ||
|
|
3372a0e8fa | ||
|
|
352a09b3e2 | ||
|
|
e5911db645 | ||
|
|
627578782e | ||
|
|
7902358abd | ||
|
|
1a0366b2a1 | ||
|
|
a8b747323e | ||
|
|
ea18023a91 | ||
|
|
5cbb044637 | ||
|
|
ffed2f814f | ||
|
|
51eccd0abf | ||
|
|
44d7cf3b59 | ||
|
|
9ffdd62b8d | ||
|
|
1991a9d6ee | ||
|
|
dc130bdf6b | ||
|
|
a95b16cb71 | ||
|
|
1214db95dc | ||
|
|
0ab9d5fa7e | ||
|
|
d2989b3f90 | ||
|
|
91a8a79cc8 | ||
|
|
cc4b8eb42c | ||
|
|
ddf6094c62 | ||
|
|
5bce5a7e33 | ||
|
|
2f601de852 | ||
|
|
bde14ad82b | ||
|
|
970c566046 | ||
|
|
d7c5e540a4 | ||
|
|
86b5688eae | ||
|
|
341b1cde9d | ||
|
|
e27e0fa8cf | ||
|
|
e0c7f92288 | ||
|
|
9cf2ca008c | ||
|
|
1265e80d15 | ||
|
|
56a5e906f3 | ||
|
|
154ea37acd | ||
|
|
0d83236666 | ||
|
|
5bf8181815 | ||
|
|
b6958ac963 | ||
|
|
8187bbaa13 | ||
|
|
5d2c85cb14 | ||
|
|
71b52fc82b | ||
|
|
6cc81886c0 | ||
|
|
0671598943 | ||
|
|
8886fb7b61 | ||
|
|
fe3a942de0 | ||
|
|
123215f372 | ||
|
|
07fc0b98c3 | ||
|
|
537f828731 | ||
|
|
8218578734 | ||
|
|
fe6b509b3b | ||
|
|
8f72d70029 | ||
|
|
07a13df097 | ||
|
|
9a43e1b9b3 | ||
|
|
f7d567bf5d | ||
|
|
4921d95073 | ||
|
|
87cdca4867 | ||
|
|
f96d397f3b | ||
|
|
74baf844be | ||
|
|
df95227b88 | ||
|
|
66e7e35798 | ||
|
|
3e67c85de9 | ||
|
|
dae1714bcc | ||
|
|
343f40dac3 | ||
|
|
7eafc3de7d | ||
|
|
33b0125e9b | ||
|
|
9d8f74c8cb | ||
|
|
6bb405092d | ||
|
|
8da024261d | ||
|
|
a2771e7d52 | ||
|
|
e3b1507e7a | ||
|
|
d4bc6a5859 | ||
|
|
256c9f54cd | ||
|
|
44436a0d1c | ||
|
|
cccd5adb58 | ||
|
|
db8cf75f07 | ||
|
|
43af06cf1b | ||
|
|
6cadf005c0 | ||
|
|
8f272f567d | ||
|
|
7ea704af46 | ||
|
|
6efa3c74c9 | ||
|
|
3337bd2dd4 |
@@ -1,2 +0,0 @@
|
|||||||
# Auto detect text files and perform LF normalization
|
|
||||||
* text=auto
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
patreon: dayanch96
|
||||||
|
github: dayanch96
|
||||||
|
ko_fi: dayanch96
|
||||||
|
buy_me_a_coffee: dayanch96
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
.theos/
|
||||||
|
packages/
|
||||||
|
.DS_Store
|
||||||
@@ -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.
|
|
||||||
@@ -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.5
|
PACKAGE_VERSION = 3.0.1
|
||||||
TARGET := iphone:clang:latest:11.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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|  |  |  |
|
||||||
|
|---|---|---|
|
||||||
|
|  |  |  |
|
||||||
|
|
||||||
# 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**
|
||||||
|
|||||||
+436
-267
@@ -6,6 +6,23 @@
|
|||||||
|
|
||||||
static const NSInteger YTLiteSection = 789;
|
static const NSInteger YTLiteSection = 789;
|
||||||
|
|
||||||
|
static NSString *GetCacheSize() {
|
||||||
|
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
|
||||||
|
NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:cachePath error:nil];
|
||||||
|
|
||||||
|
unsigned long long int folderSize = 0;
|
||||||
|
for (NSString *fileName in filesArray) {
|
||||||
|
NSString *filePath = [cachePath stringByAppendingPathComponent:fileName];
|
||||||
|
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];
|
||||||
|
folderSize += [fileAttributes fileSize];
|
||||||
|
}
|
||||||
|
|
||||||
|
NSByteCountFormatter *formatter = [[NSByteCountFormatter alloc] init];
|
||||||
|
formatter.countStyle = NSByteCountFormatterCountStyleFile;
|
||||||
|
|
||||||
|
return [formatter stringFromByteCount:folderSize];
|
||||||
|
}
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
%hook YTAppSettingsPresentationData
|
%hook YTAppSettingsPresentationData
|
||||||
+ (NSArray *)settingsCategoryOrder {
|
+ (NSArray *)settingsCategoryOrder {
|
||||||
@@ -24,44 +41,36 @@ static const NSInteger YTLiteSection = 789;
|
|||||||
}
|
}
|
||||||
%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"];
|
|
||||||
NSMutableDictionary *prefs = [NSMutableDictionary dictionaryWithContentsOfFile:prefsPath];
|
|
||||||
|
|
||||||
if (!prefs) prefs = [NSMutableDictionary dictionary];
|
|
||||||
|
|
||||||
[prefs setObject:@(enabled) forKey:key];
|
|
||||||
[prefs writeToFile:prefsPath atomically:NO];
|
|
||||||
|
|
||||||
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), CFSTR("com.dvntm.ytlite.prefschanged"), NULL, NULL, YES);
|
|
||||||
}
|
|
||||||
|
|
||||||
%new
|
|
||||||
- (void)updateIntegerPrefsForKey:(NSString *)key intValue:(NSInteger)intValue {
|
|
||||||
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"];
|
|
||||||
NSMutableDictionary *prefs = [NSMutableDictionary dictionaryWithContentsOfFile:prefsPath];
|
|
||||||
|
|
||||||
if (!prefs) prefs = [NSMutableDictionary dictionary];
|
|
||||||
|
|
||||||
[prefs setObject:@(intValue) forKey:key];
|
|
||||||
[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 YTSettingsSectionItemClass = %c(YTSettingsSectionItem);
|
||||||
Class YTAlertViewClass = %c(YTAlertView);
|
Class YTAlertViewClass = %c(YTAlertView);
|
||||||
YTSettingsSectionItem *item = [YTSettingsSectionItemClass switchItemWithTitle:title
|
NSString *titleDesc = [NSString stringWithFormat:@"%@Desc", title];
|
||||||
titleDescription:titleDescription
|
|
||||||
accessibilityIdentifier:nil
|
YTSettingsSectionItem *item = [YTSettingsSectionItemClass switchItemWithTitle:LOC(title)
|
||||||
switchOn:*value
|
titleDescription:LOC(titleDesc)
|
||||||
|
accessibilityIdentifier:@"YTLiteSectionItem"
|
||||||
|
switchOn:ytlBool(key)
|
||||||
switchBlock:^BOOL(YTSettingsCell *cell, BOOL enabled) {
|
switchBlock:^BOOL(YTSettingsCell *cell, BOOL enabled) {
|
||||||
if ([key isEqualToString:@"shortsOnlyMode"]) {
|
if ([key isEqualToString:@"shortsOnlyMode"]) {
|
||||||
YTAlertView *alertView = [YTAlertViewClass confirmationDialogWithAction:^{
|
YTAlertView *alertView = [YTAlertViewClass confirmationDialogWithAction:^{
|
||||||
[selfObject updatePrefsForKey:@"shortsOnlyMode" enabled:enabled];
|
ytlSetBool(enabled, @"shortsOnlyMode");
|
||||||
}
|
}
|
||||||
actionTitle:LOC(@"Yes")
|
actionTitle:LOC(@"Yes")
|
||||||
cancelAction:^{
|
cancelAction:^{
|
||||||
@@ -74,351 +83,515 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
[selfObject updatePrefsForKey:key enabled:enabled];
|
ytlSetBool(enabled, key);
|
||||||
|
|
||||||
|
NSArray *keys = @[@"removeLabels", @"removeIndicators", @"reExplore", @"addExplore", @"removeShorts", @"removeSubscriptions", @"removeUploads", @"removeLibrary"];
|
||||||
|
if ([keys containsObject:key]) {
|
||||||
|
[[[%c(YTHeaderContentComboViewController) alloc] init] refreshPivotBar];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
settingItemId:0];
|
settingItemId:0];
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%new
|
||||||
|
- (YTSettingsSectionItem *)linkWithTitle:(NSString *)title description:(NSString *)description link:(NSString *)link {
|
||||||
|
return [%c(YTSettingsSectionItem) itemWithTitle:title
|
||||||
|
titleDescription:description
|
||||||
|
accessibilityIdentifier:@"YTLiteSectionItem"
|
||||||
|
detailTextBlock:nil
|
||||||
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
|
return [%c(YTUIUtils) openURL:[NSURL URLWithString:link]];
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
%new(v@:@)
|
%new(v@:@)
|
||||||
- (void)updateYTLiteSectionWithEntry:(id)entry {
|
- (void)updateYTLiteSectionWithEntry:(id)entry {
|
||||||
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 *() {
|
detailTextBlock:^NSString *() {
|
||||||
return @"‣";
|
return @"‣";
|
||||||
}
|
}
|
||||||
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
NSArray <YTSettingsSectionItem *> *rows = @[
|
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||||
createSwitchItem(LOC(@"ShortsOnlyMode"), LOC(@"ShortsOnlyModeDesc"), @"shortsOnlyMode", &kShortsOnlyMode, selfObject),
|
[self switchWithTitle:@"ShortsOnlyMode" key:@"shortsOnlyMode"],
|
||||||
createSwitchItem(LOC(@"HideShorts"), LOC(@"HideShortsDesc"), @"hideShorts", &kHideShorts, selfObject),
|
[self switchWithTitle:@"AutoSkipShorts" key:@"autoSkipShorts"],
|
||||||
createSwitchItem(LOC(@"ShortsProgress"), LOC(@"ShortsProgressDesc"), @"shortsProgress", &kShortsProgress, selfObject),
|
[self switchWithTitle:@"HideShorts" key:@"hideShorts"],
|
||||||
createSwitchItem(LOC(@"PinchToFullscreenShorts"), LOC(@"PinchToFullscreenShortsDesc"), @"pinchToFullscreenShorts", &kPinchToFullscreenShorts, selfObject),
|
[self switchWithTitle:@"ShortsProgress" key:@"shortsProgress"],
|
||||||
createSwitchItem(LOC(@"ShortsToRegular"), LOC(@"ShortsToRegularDesc"), @"shortsToRegular", &kShortsToRegular, selfObject),
|
[self switchWithTitle:@"PinchToFullscreenShorts" key:@"pinchToFullscreenShorts"],
|
||||||
createSwitchItem(LOC(@"ResumeShorts"), LOC(@"ResumeShortsDesc"), @"resumeShorts", &kResumeShorts, selfObject),
|
[self switchWithTitle:@"ShortsToRegular" key:@"shortsToRegular"],
|
||||||
createSwitchItem(LOC(@"HideShortsLogo"), LOC(@"HideShortsLogoDesc"), @"hideShortsLogo", &kHideShortsLogo, selfObject),
|
[self switchWithTitle:@"ResumeShorts" key:@"resumeShorts"],
|
||||||
createSwitchItem(LOC(@"HideShortsSearch"), LOC(@"HideShortsSearchDesc"), @"hideShortsSearch", &kHideShortsSearch, selfObject),
|
[self switchWithTitle:@"HideShortsLogo" key:@"hideShortsLogo"],
|
||||||
createSwitchItem(LOC(@"HideShortsCamera"), LOC(@"HideShortsCameraDesc"), @"hideShortsCamera", &kHideShortsCamera, selfObject),
|
[self switchWithTitle:@"HideShortsSearch" key:@"hideShortsSearch"],
|
||||||
createSwitchItem(LOC(@"HideShortsMore"), LOC(@"HideShortsMoreDesc"), @"hideShortsMore", &kHideShortsMore, selfObject),
|
[self switchWithTitle:@"HideShortsCamera" key:@"hideShortsCamera"],
|
||||||
createSwitchItem(LOC(@"HideShortsSubscriptions"), LOC(@"HideShortsSubscriptionsDesc"), @"hideShortsSubscriptions", &kHideShortsSubscriptions, selfObject),
|
[self switchWithTitle:@"HideShortsMore" key:@"hideShortsMore"],
|
||||||
createSwitchItem(LOC(@"HideShortsLike"), LOC(@"HideShortsLikeDesc"), @"hideShortsLike", &kHideShortsLike, selfObject),
|
[self switchWithTitle:@"HideShortsSubscriptions" key:@"hideShortsSubscriptions"],
|
||||||
createSwitchItem(LOC(@"HideShortsDislike"), LOC(@"HideShortsDislikeDesc"), @"hideShortsDislike", &kHideShortsDislike, selfObject),
|
[self switchWithTitle:@"HideShortsLike" key:@"hideShortsLike"],
|
||||||
createSwitchItem(LOC(@"HideShortsComments"), LOC(@"HideShortsCommentsDesc"), @"hideShortsComments", &kHideShortsComments, selfObject),
|
[self switchWithTitle:@"HideShortsDislike" key:@"hideShortsDislike"],
|
||||||
createSwitchItem(LOC(@"HideShortsRemix"), LOC(@"HideShortsRemixDesc"), @"hideShortsRemix", &kHideShortsRemix, selfObject),
|
[self switchWithTitle:@"HideShortsComments" key:@"hideShortsComments"],
|
||||||
createSwitchItem(LOC(@"HideShortsShare"), LOC(@"HideShortsShareDesc"), @"hideShortsShare", &kHideShortsShare, selfObject),
|
[self switchWithTitle:@"HideShortsRemix" key:@"hideShortsRemix"],
|
||||||
createSwitchItem(LOC(@"HideShortsAvatars"), LOC(@"HideShortsAvatarsDesc"), @"hideShortsAvatars", &kHideShortsAvatars, selfObject),
|
[self switchWithTitle:@"HideShortsShare" key:@"hideShortsShare"],
|
||||||
createSwitchItem(LOC(@"HideShortsThanks"), LOC(@"HideShortsThanksDesc"), @"hideShortsThanks", &kHideShortsThanks, selfObject),
|
[self switchWithTitle:@"HideShortsAvatars" key:@"hideShortsAvatars"],
|
||||||
createSwitchItem(LOC(@"HideShortsSource"), LOC(@"HideShortsSourceDesc"), @"hideShortsSource", &kHideShortsSource, selfObject),
|
[self switchWithTitle:@"HideShortsThanks" key:@"hideShortsThanks"],
|
||||||
createSwitchItem(LOC(@"HideShortsChannelName"), LOC(@"HideShortsChannelNameDesc"), @"hideShortsChannelName", &kHideShortsChannelName, selfObject),
|
[self switchWithTitle:@"HideShortsSource" key:@"hideShortsSource"],
|
||||||
createSwitchItem(LOC(@"HideShortsDescription"), LOC(@"HideShortsDescriptionDesc"), @"hideShortsDescription", &kHideShortsDescription, selfObject),
|
[self switchWithTitle:@"HideShortsChannelName" key:@"hideShortsChannelName"],
|
||||||
createSwitchItem(LOC(@"HideShortsAudioTrack"), LOC(@"HideShortsAudioTrackDesc"), @"hideShortsAudioTrack", &kHideShortsAudioTrack, selfObject),
|
[self switchWithTitle:@"HideShortsDescription" key:@"hideShortsDescription"],
|
||||||
createSwitchItem(LOC(@"NoPromotionCards"), LOC(@"NoPromotionCardsDesc"), @"hideShortsPromoCards", &kHideShortsPromoCards, selfObject)
|
[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]];
|
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Shorts") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||||
[settingsViewController pushViewController:picker];
|
[settingsViewController pushViewController:picker];
|
||||||
return YES;
|
return YES;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[sectionItems addObject:shorts];
|
[sectionItems addObject:shorts];
|
||||||
}
|
}
|
||||||
|
|
||||||
YTSettingsSectionItem *tabbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Tabbar")
|
YTSettingsSectionItem *tabbar = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Tabbar")
|
||||||
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(@"RemoveLabels"), LOC(@"RemoveLabelsDesc"), @"removeLabels", &kRemoveLabels, selfObject),
|
[self switchWithTitle:@"RemoveLabels" key:@"removeLabels"],
|
||||||
createSwitchItem(LOC(@"RemoveIndicators"), LOC(@"RemoveIndicatorsDesc"), @"removeIndicators", &kRemoveIndicators, selfObject),
|
[self switchWithTitle:@"RemoveIndicators" key:@"removeIndicators"],
|
||||||
createSwitchItem(LOC(@"ReExplore"), LOC(@"ReExploreDesc"), @"reExplore", &kReExplore, selfObject),
|
[self switchWithTitle:@"ReExplore" key:@"reExplore"],
|
||||||
createSwitchItem(LOC(@"AddExplore"), LOC(@"AddExploreDesc"), @"addExplore", &kAddExplore, selfObject),
|
[self switchWithTitle:@"AddExplore" key:@"addExplore"],
|
||||||
createSwitchItem(LOC(@"HideShortsTab"), LOC(@"HideShortsTabDesc"), @"removeShorts", &kRemoveShorts, selfObject),
|
[self switchWithTitle:@"HideShortsTab" key:@"removeShorts"],
|
||||||
createSwitchItem(LOC(@"HideSubscriptionsTab"), LOC(@"HideSubscriptionsTabDesc"), @"removeSubscriptions", &kRemoveSubscriptions, selfObject),
|
[self switchWithTitle:@"HideSubscriptionsTab" key:@"removeSubscriptions"],
|
||||||
createSwitchItem(LOC(@"HideUploadButton"), LOC(@"HideUploadButtonDesc"), @"removeUploads", &kRemoveUploads, selfObject),
|
[self switchWithTitle:@"HideUploadButton" key:@"removeUploads"],
|
||||||
createSwitchItem(LOC(@"HideLibraryTab"), LOC(@"HideLibraryTabDesc"), @"removeLibrary", &kRemoveLibrary, selfObject)
|
[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(@"CopyPostText"), LOC(@"CopyPostTextDesc"), @"copyPostText", &kCopyPostText, selfObject),
|
[self switchWithTitle:@"CopyVideoInfo" key:@"copyVideoInfo"],
|
||||||
createSwitchItem(LOC(@"SavePostImage"), LOC(@"SavePostImageDesc"), @"savePostImage", &kSavePostImage, selfObject),
|
[self switchWithTitle:@"PostManager" key:@"postManager"],
|
||||||
createSwitchItem(LOC(@"SaveProfilePhoto"), LOC(@"SaveProfilePhotoDesc"), @"saveProfilePhoto", &kSaveProfilePhoto, selfObject),
|
[self switchWithTitle:@"SaveProfilePhoto" key:@"saveProfilePhoto"],
|
||||||
createSwitchItem(LOC(@"FixAlbums"), LOC(@"FixAlbumsDesc"), @"fixAlbums", &kFixAlbums, selfObject),
|
[self switchWithTitle:@"CommentManager" key:@"commentManager"],
|
||||||
createSwitchItem(LOC(@"RemovePlayNext"), LOC(@"RemovePlayNextDesc"), @"removePlayNext", &kRemovePlayNext, selfObject),
|
[self switchWithTitle:@"FixAlbums" key:@"fixAlbums"],
|
||||||
createSwitchItem(LOC(@"NoContinueWatching"), LOC(@"NoContinueWatchingDesc"), @"noContinueWatching", &kNoContinueWatching, selfObject),
|
[self switchWithTitle:@"NativeShare" key:@"nativeShare"],
|
||||||
createSwitchItem(LOC(@"NoSearchHistory"), LOC(@"NoSearchHistoryDesc"), @"noSearchHistory", &kNoSearchHistory, selfObject),
|
[self switchWithTitle:@"RemovePlayNext" key:@"removePlayNext"],
|
||||||
createSwitchItem(LOC(@"NoRelatedWatchNexts"), LOC(@"NoRelatedWatchNextsDesc"), @"noRelatedWatchNexts", &kNoRelatedWatchNexts, selfObject),
|
[self switchWithTitle:@"RemoveDownloadMenu" key:@"removeDownloadMenu"],
|
||||||
createSwitchItem(LOC(@"StickSortComments"), LOC(@"StickSortCommentsDesc"), @"stickSortComments", &kStickSortComments, selfObject),
|
[self switchWithTitle:@"RemoveWatchLaterMenu" key:@"removeWatchLaterMenu"],
|
||||||
createSwitchItem(LOC(@"HideSortComments"), LOC(@"HideSortCommentsDesc"), @"hideSortComments", &kHideSortComments, selfObject),
|
[self switchWithTitle:@"RemoveSaveToPlaylistMenu" key:@"removeSaveToPlaylistMenu"],
|
||||||
createSwitchItem(LOC(@"PlaylistOldMinibar"), LOC(@"PlaylistOldMinibarDesc"), @"playlistOldMinibar", &kPlaylistOldMinibar, selfObject),
|
[self switchWithTitle:@"RemoveShareMenu" key:@"removeShareMenu"],
|
||||||
createSwitchItem(LOC(@"DisableRTL"), LOC(@"DisableRTLDesc"), @"disableRTL", &kDisableRTL, selfObject)
|
[self switchWithTitle:@"RemoveNotInterestedMenu" key:@"removeNotInterestedMenu"],
|
||||||
|
[self switchWithTitle:@"RemoveDontRecommendMenu" key:@"removeDontRecommendMenu"],
|
||||||
|
[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;
|
|
||||||
}],
|
|
||||||
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"Explore") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *library, NSUInteger arg1) {
|
|
||||||
if (!kReExplore && !kAddExplore) {
|
|
||||||
YTAlertView *alertView = [%c(YTAlertView) infoDialog];
|
|
||||||
alertView.title = LOC(@"Warning");
|
|
||||||
alertView.subtitle = LOC(@"TabIsHidden");
|
|
||||||
[alertView show];
|
|
||||||
return NO;
|
|
||||||
} else {
|
|
||||||
kPivotIndex = 1;
|
|
||||||
[settingsViewController reloadData];
|
|
||||||
[self updateIntegerPrefsForKey:@"pivotIndex" intValue:kPivotIndex];
|
|
||||||
return YES;
|
return YES;
|
||||||
|
}];
|
||||||
|
|
||||||
|
[rows addObject:item];
|
||||||
}
|
}
|
||||||
}],
|
|
||||||
[YTSettingsSectionItemClass checkmarkItemWithTitle:LOC(@"ShortsTab") titleDescription:nil selectBlock:^BOOL (YTSettingsCell *shorts, NSUInteger arg1) {
|
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"HoldToSpeed") pickerSectionTitle:nil rows:rows selectedItemIndex:ytlInt(@"speedIndex") parentResponder:[self parentResponder]];
|
||||||
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];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"PayPal" iconImage:[self resizedImageNamed:@"paypal"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://paypal.me/dayanch96"]];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Github Sponsors" iconImage:[self resizedImageNamed:@"github"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/sponsors/dayanch96"]];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Buy Me a Coffee" iconImage:[self resizedImageNamed:@"coffee"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://www.buymeacoffee.com/dayanch96"]];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"USDT (TRC20)" iconImage:[self resizedImageNamed:@"usdt"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[UIPasteboard generalPasteboard].string = @"TEdKJdKwc1Bbu8Py4um8qPQ6MbproEqNJw";
|
||||||
|
[[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Copied") firstResponder:[self parentResponder]] send];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"BNB Smart Chain (BEP20)" iconImage:[self resizedImageNamed:@"bnb"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[UIPasteboard generalPasteboard].string = @"0xc6f9fddb30ce10d70e6497950f44c8e10b72bcd6";
|
||||||
|
[[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Copied") firstResponder:[self parentResponder]] send];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController addAction:[%c(YTActionSheetAction) actionWithTitle:@"Boosty" iconImage:[self resizedImageNamed:@"boosty"] secondaryIconImage:nil accessibilityIdentifier:nil handler:^ {
|
||||||
|
[%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://boosty.to/dayanch96"]];
|
||||||
|
}]];
|
||||||
|
|
||||||
|
[sheetController presentFromViewController:[%c(YTUIUtils) topViewControllerForPresenting] animated:YES completion:nil];
|
||||||
|
|
||||||
|
return YES;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
YTSettingsSectionItem *miro = [%c(YTSettingsSectionItem) itemWithTitle:@"MiRO92" titleDescription:@"YTNoShorts" accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
YTSettingsSectionItem *thanks = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Contributors")
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/MiRO92/"]];
|
accessibilityIdentifier:@"YTLiteSectionItem"
|
||||||
|
detailTextBlock:^NSString *() {
|
||||||
|
return @"‣";
|
||||||
|
}
|
||||||
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
|
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||||
|
[self linkWithTitle:@"Dayanch96" description:LOC(@"Developer") link:@"https://github.com/Dayanch96/"],
|
||||||
|
[self linkWithTitle:@"Dan Pashin" description:LOC(@"SpecialThanks") link:@"https://github.com/danpashin/"],
|
||||||
|
space,
|
||||||
|
[self linkWithTitle:@"Stalker" description:LOC(@"ChineseSimplified") link:@"https://github.com/xiangfeidexiaohuo"],
|
||||||
|
[self linkWithTitle:@"Clement" description:LOC(@"ChineseTraditional") link:@"https://twitter.com/a100900900"],
|
||||||
|
[self linkWithTitle:@"Balackburn" description:LOC(@"French") link:@"https://github.com/Balackburn"],
|
||||||
|
[self linkWithTitle:@"DeciBelioS" description:LOC(@"Spanish") link:@"https://github.com/Deci8BelioS"],
|
||||||
|
[self linkWithTitle:@"SKEIDs" description:LOC(@"Japanese") link:@"https://github.com/SKEIDs"],
|
||||||
|
[self linkWithTitle:@"Hiepvk" description:LOC(@"Vietnamese") link:@"https://github.com/hiepvk"]
|
||||||
|
];
|
||||||
|
|
||||||
|
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:LOC(@"Credits") rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||||
|
[settingsViewController pushViewController:picker];
|
||||||
|
return YES;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
YTSettingsSectionItem *lillie = [%c(YTSettingsSectionItem) itemWithTitle:@"Lillie" titleDescription:@"ExtraSpeedOptions" accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
YTSettingsSectionItem *sources = [YTSettingsSectionItemClass itemWithTitle:LOC(@"OpenSourceLibs")
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/LillieH1000"]];
|
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 *stalker = [%c(YTSettingsSectionItem) itemWithTitle:@"Stalker" titleDescription:LOC(@"ChineseSimplified") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
YTSettingsSectionItem *version = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Version")
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/xiangfeidexiaohuo"]];
|
accessibilityIdentifier:@"YTLiteSectionItem"
|
||||||
}];
|
detailTextBlock:^NSString *() {
|
||||||
|
return @(OS_STRINGIFY(TWEAK_VERSION));
|
||||||
|
}
|
||||||
|
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
|
NSArray <YTSettingsSectionItem *> *rows = @[
|
||||||
|
[self switchWithTitle:@"Advanced" key:@"advancedMode"],
|
||||||
|
|
||||||
YTSettingsSectionItem *clement = [%c(YTSettingsSectionItem) itemWithTitle:@"Clement" titleDescription:LOC(@"ChineseTraditional") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
[%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ClearCache") titleDescription:nil accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:^NSString *() { return GetCacheSize(); } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://twitter.com/a100900900"]];
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
}];
|
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
|
||||||
|
[[NSFileManager defaultManager] removeItemAtPath:cachePath error:nil];
|
||||||
|
});
|
||||||
|
|
||||||
YTSettingsSectionItem *balackburn = [%c(YTSettingsSectionItem) itemWithTitle:@"Balackburn" titleDescription:LOC(@"French") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
[[%c(YTToastResponderEvent) eventWithMessage:LOC(@"Done") firstResponder:[self parentResponder]] send];
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Balackburn"]];
|
|
||||||
}];
|
|
||||||
|
|
||||||
YTSettingsSectionItem *decibelios = [%c(YTSettingsSectionItem) itemWithTitle:@"DeciBelioS" titleDescription:LOC(@"Spanish") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
return YES;
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/Deci8BelioS"]];
|
}],
|
||||||
}];
|
|
||||||
|
|
||||||
YTSettingsSectionItem *skeids = [%c(YTSettingsSectionItem) itemWithTitle:@"SKEIDs" titleDescription:LOC(@"Japanese") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
[%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:@"YTLiteSectionItem" detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
||||||
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/SKEIDs"]];
|
|
||||||
}];
|
|
||||||
|
|
||||||
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 *reset = [%c(YTSettingsSectionItem) itemWithTitle:LOC(@"ResetSettings") titleDescription:nil accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
|
|
||||||
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
||||||
NSString *prefsPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"YTLite.plist"];
|
[YTLUserDefaults resetUserDefaults];
|
||||||
[[NSFileManager defaultManager] removeItemAtPath:prefsPath error:nil];
|
|
||||||
|
|
||||||
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
|
[[UIApplication sharedApplication] performSelector:@selector(suspend)];
|
||||||
[NSThread sleepForTimeInterval:1.0];
|
[NSThread sleepForTimeInterval:1.0];
|
||||||
@@ -429,21 +602,22 @@ static YTSettingsSectionItem *createSwitchItem(NSString *title, NSString *titleD
|
|||||||
alertView.title = LOC(@"Warning");
|
alertView.title = LOC(@"Warning");
|
||||||
alertView.subtitle = LOC(@"ResetMessage");
|
alertView.subtitle = LOC(@"ResetMessage");
|
||||||
[alertView show];
|
[alertView show];
|
||||||
|
|
||||||
return YES;
|
return YES;
|
||||||
}];
|
}]
|
||||||
|
];
|
||||||
|
|
||||||
YTSettingsSectionItem *version = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Version")
|
YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"About") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]];
|
||||||
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, space, createSwitchItem(LOC(@"Advanced"), nil, @"advancedMode", &kAdvancedMode, selfObject), reset];
|
|
||||||
|
|
||||||
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: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:)];
|
||||||
@@ -458,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];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -1,149 +1,46 @@
|
|||||||
#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 kCopyPostText;
|
|
||||||
BOOL kSavePostImage;
|
|
||||||
BOOL kSaveProfilePhoto;
|
|
||||||
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
|
||||||
|
|
||||||
|
@interface YTLightweightQTMButton ()
|
||||||
|
@property (nonatomic, assign, readwrite, getter=isShouldRaiseOnTouch) BOOL shouldRaiseOnTouch;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@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
|
||||||
@@ -160,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
|
||||||
|
|
||||||
@@ -187,27 +165,54 @@ int kPivotIndex;
|
|||||||
|
|
||||||
@interface YTReelContentView : UIView
|
@interface YTReelContentView : UIView
|
||||||
@property (nonatomic, assign, readonly) YTReelWatchPlaybackOverlayView *playbackOverlay;
|
@property (nonatomic, assign, readonly) YTReelWatchPlaybackOverlayView *playbackOverlay;
|
||||||
@end
|
|
||||||
|
|
||||||
@interface YTShortsPlayerViewController : UIViewController
|
|
||||||
@property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@interface YTPlayerViewController (YTAFS)
|
|
||||||
@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;
|
- (void)turnShortsOnlyModeOff:(UILongPressGestureRecognizer *)gesture;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface YTSegmentableInlinePlayerBarView
|
@interface YTReelPlayerViewController : UIViewController
|
||||||
|
@property (nonatomic, strong, readwrite) YTPlayerViewController *player;
|
||||||
|
- (void)reelContentViewRequestsAdvanceToNextVideo:(id)video;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTShortsPlayerViewController : YTReelPlayerViewController
|
||||||
|
@property (nonatomic, weak, readwrite) YTScrollableNavigationController *navigationController;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTPivotBarViewController ()
|
||||||
|
@property (nonatomic, weak, readwrite) YTShortsPlayerViewController *scrubberDelegate;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTEngagementPanelIdentifier : NSObject
|
||||||
|
@property (nonatomic, copy, readonly) NSString *identifierString;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTEngagementPanelHeaderView : UIView
|
||||||
|
@property (nonatomic, assign, readonly) YTQTMButton *closeButton;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTWatchViewController : UIViewController
|
||||||
|
@property (nonatomic, weak, readwrite) YTPlayerViewController *playerViewController;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTEngagementPanelContainerController : UIViewController
|
||||||
|
@property (nonatomic, weak, readwrite) YTWatchViewController *parentViewController;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTEngagementPanelNavigationController : UIViewController
|
||||||
|
@property (nonatomic, weak, readwrite) YTEngagementPanelContainerController *parentViewController;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTMainAppEngagementPanelViewController : UIViewController
|
||||||
|
@property (nonatomic, weak, readwrite) YTEngagementPanelNavigationController *parentViewController;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTEngagementPanelView : UIView
|
||||||
|
@property (nonatomic, weak, readwrite) YTMainAppEngagementPanelViewController *resizeDelegate;
|
||||||
|
@property (nonatomic, copy, readwrite) YTEngagementPanelIdentifier *panelIdentifier;
|
||||||
|
@property (nonatomic, assign, readonly) YTEngagementPanelHeaderView *headerView;
|
||||||
|
- (void)didTapCopyInfoButton:(UIButton *)sender;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface YTSegmentableInlinePlayerBarView : UIView
|
||||||
@property (nonatomic, assign, readwrite) BOOL enableSnapToChapter;
|
@property (nonatomic, assign, readwrite) BOOL enableSnapToChapter;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -215,7 +220,7 @@ int kPivotIndex;
|
|||||||
- (void)confirmAlertDidPressConfirm;
|
- (void)confirmAlertDidPressConfirm;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface YTReelPlayerButton : UIButton
|
@interface YTReelPlayerButton : YTQTMButton
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface ELMCellNode
|
@interface ELMCellNode
|
||||||
@@ -229,47 +234,117 @@ 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
|
||||||
|
|
||||||
@interface YTELMView : UIView
|
@interface YTELMView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface ASNetworkImageNode : NSObject
|
@interface ASNodeAncestryEnumerator : NSEnumerator
|
||||||
|
@property (atomic, assign, readonly) NSMutableArray *allObjects;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface ASDisplayNode ()
|
||||||
|
@property (nonatomic, assign, readonly) UIViewController *closestViewController;
|
||||||
|
@property (atomic, assign, readonly) ASNodeAncestryEnumerator *supernodes;
|
||||||
|
// @property (atomic, copy, readwrite) NSArray *yogaChildren;
|
||||||
|
@property (atomic) CALayer *layer;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface ELMContainerNode : ASDisplayNode
|
||||||
|
@property (nonatomic, strong, readwrite) NSString *copiedComment;
|
||||||
|
@property (nonatomic, strong, readwrite) NSURL *copiedURL;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface ELMExpandableTextNode : ASDisplayNode
|
||||||
|
@property (atomic, assign, readonly) ASDisplayNode *currentTextNode;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface ASNetworkImageNode : ASDisplayNode
|
||||||
@property (atomic, copy, readwrite) NSURL *URL;
|
@property (atomic, copy, readwrite) NSURL *URL;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface _ASDisplayView : UIView
|
@interface YTImageZoomNode : ASNetworkImageNode
|
||||||
@property (nonatomic, strong, readwrite) ASNetworkImageNode *keepalive_node;
|
|
||||||
- (void)copyText:(UILongPressGestureRecognizer *)sender;
|
|
||||||
- (void)saveImage:(UILongPressGestureRecognizer *)sender;
|
|
||||||
- (void)savePFP:(UILongPressGestureRecognizer *)sender;
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface MLHAMQueuePlayer : NSObject
|
@interface ASTextNode : ASDisplayNode
|
||||||
@property id playerEventCenter;
|
@property (atomic, copy, readwrite) NSAttributedString *attributedText;
|
||||||
-(void)setRate:(float)rate;
|
@end
|
||||||
|
|
||||||
|
@interface _ASDisplayView : UIView
|
||||||
|
@property (nonatomic, strong, readwrite) ASDisplayNode *keepalive_node;
|
||||||
|
- (void)postManager:(UILongPressGestureRecognizer *)sender;
|
||||||
|
- (void)savePFP:(UILongPressGestureRecognizer *)sender;
|
||||||
|
- (void)commentManager:(UILongPressGestureRecognizer *)sender;
|
||||||
@end
|
@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
|
||||||
+126
@@ -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
|
||||||
@@ -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"
|
||||||
@@ -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,42 +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 */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "Tab bar";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "Startup page";
|
||||||
"SavePostImage" = "Save image from community posts";
|
"FEwhat_to_watch" = "Home";
|
||||||
"SavePostImageDesc" = "Saves community post image to the Photos app by long tap.";
|
"FEexplore" = "Explore";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "Shorts";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "Subscriptions";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "Library";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "Create";
|
||||||
"RemovePlayNext" = "Remove \"Play next in queue\"";
|
"FEhistory" = "History";
|
||||||
"RemovePlayNextDesc" = "Removes \"Play next in queue\" option from menu.";
|
"VLWL" = "Watch Later";
|
||||||
"NoContinueWatching" = "Remove \"Continue watching\"";
|
|
||||||
"NoContinueWatchingDesc" = "Removes the \"Continue watching\" section containing unfinished videos from the Home page.";
|
"RemoveLabels" = "Remove tab labels";
|
||||||
|
"RemoveIndicators" = "Remove tab indicators";
|
||||||
|
|
||||||
|
"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" = "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";
|
||||||
@@ -165,36 +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";
|
|
||||||
|
|
||||||
"Version" = "Version";
|
"InterfaceStyle" = "Interface style";
|
||||||
"About" = "About";
|
|
||||||
|
"MiniplayerStyle" = "Miniplayer style";
|
||||||
|
"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";
|
||||||
"Advanced" = "Advanced mode";
|
"Vietnamese" = "Vietnamese 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 → %@ → %@ → %@.";
|
"Arabic" = "Arabic localization";
|
||||||
"ResetSettings" = "Reset YTLite settings";
|
"Turkish" = "Turkish localization";
|
||||||
"ResetMessage" = "This option will reset YTLite settings to default and close YouTube.\n\nAre you sure you want to continue?";
|
|
||||||
|
"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";
|
||||||
|
|
||||||
|
"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";
|
||||||
|
"DownloadVideo" = "Download video";
|
||||||
|
"DownloadAudio" = "Download audio";
|
||||||
|
"SaveImage" = "Save image";
|
||||||
|
"CopyInformation" = "Copy information";
|
||||||
|
"CopyChannelName" = "Copy channel name";
|
||||||
|
"CopyTitle" = "Copy title";
|
||||||
|
"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";
|
||||||
|
"SaveCurrentImage" = "Save current image";
|
||||||
|
"CopyCurrentImage" = "Copy current image";
|
||||||
|
"SavePostAsImage" = "Save post as image";
|
||||||
|
"CopyPostAsImage" = "Copy post as image";
|
||||||
|
"CopyCommentText" = "Copy comment text";
|
||||||
|
"SaveCommentAsImage" = "Save comment as image";
|
||||||
|
"CopyCommentAsImage" = "Copy comment as image";
|
||||||
|
"SaveProfilePicture" = "Save profile picture";
|
||||||
|
"CopyProfilePicture" = "Copy profile picture";
|
||||||
|
"DownloadThumbnail" = "Save thumbnail";
|
||||||
|
"CopyThumbnail" = "Copy thumbnail";
|
||||||
|
"Cancel" = "Cancel";
|
||||||
|
"Cancelled" = "Cancelled";
|
||||||
"Copied" = "Copied to clipboard";
|
"Copied" = "Copied to clipboard";
|
||||||
"Saved" = "Saved to Photos";
|
"Saved" = "Saved to Photos";
|
||||||
|
"Done" = "Done";
|
||||||
|
"NothingToShowInMenu" = "Nothing to show in this context menu";
|
||||||
"Error" = "Error";
|
"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,12 +1,49 @@
|
|||||||
"General" = "General";
|
/* Main section */
|
||||||
"RemoveAds" = "Eliminar anuncios";
|
"Main" = "Main";
|
||||||
"RemoveAdsDesc" = "Elimina los anuncios dentro de la aplicación.";
|
|
||||||
"BackgroundPlayback" = "Reproducción en segundo plano";
|
|
||||||
"BackgroundPlaybackDesc" = "Permite la reproducción en segundo plano.";
|
|
||||||
|
|
||||||
|
/* Downloading options */
|
||||||
|
"Downloading" = "Descargar";
|
||||||
|
"DownloadManager" = "Gestor de descargas";
|
||||||
|
"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.";
|
||||||
|
"PostManager" = "Guardar información de post";
|
||||||
|
"PostManagerDesc" = "Permite copiar el texto de un post y guardarlo como imagen con un toque prolongado.";
|
||||||
|
"SaveProfilePhoto" = "Guardar foto de perfil";
|
||||||
|
"SaveProfilePhotoDesc" = "Guarda la imagen de perfil en la aplicación Fotos con un toque prolongado";
|
||||||
|
"CommentManager" = "Guardar información de comentarios";
|
||||||
|
"CommentManagerDesc" = "Permite copiar el texto del comentario y guardarlo como imagen pulsando prolongadamente.";
|
||||||
|
|
||||||
|
"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" = "Barra de navegación";
|
"Navbar" = "Barra de navegación";
|
||||||
"RemoveCast" = "Ocultar botón de Cast";
|
"RemoveCast" = "Ocultar botón Emitir";
|
||||||
"RemoveCastDesc" = "Oculta el botón de Cast de la barra de navegación.";
|
"RemoveCastDesc" = "Oculta el botón Emitir de la barra de navegación.";
|
||||||
"RemoveNotifications" = "Ocultar botón de Notificaciones";
|
"RemoveNotifications" = "Ocultar botón de Notificaciones";
|
||||||
"RemoveNotificationsDesc" = "Oculta el botón de Notificaciones de la barra de navegación.";
|
"RemoveNotificationsDesc" = "Oculta el botón de Notificaciones de la barra de navegación.";
|
||||||
"RemoveSearch" = "Ocultar botón de Búsqueda";
|
"RemoveSearch" = "Ocultar botón de Búsqueda";
|
||||||
@@ -19,96 +56,164 @@
|
|||||||
"NoSubbarDesc" = "Oculta la subbarra (Todo, Novedades para ti, En directo, etc.) debajo de la barra de navegación.";
|
"NoSubbarDesc" = "Oculta la subbarra (Todo, Novedades para ti, En directo, etc.) debajo de la barra de navegación.";
|
||||||
"NoYTLogo" = "Eliminar el logo de YouTube";
|
"NoYTLogo" = "Eliminar el logo de YouTube";
|
||||||
"NoYTLogoDesc" = "Elimina el logo de YouTube de la barra de navegación.";
|
"NoYTLogoDesc" = "Elimina el logo de YouTube de la barra de navegación.";
|
||||||
|
"PremiumYTLogo" = "Establece el logotipo Premium de YouTube";
|
||||||
|
"PremiumYTLogoDesc" = "Establece el logotipo de YouTube Premium en la barra de navegación.";
|
||||||
|
|
||||||
"Overlay" = "Superposición";
|
/* Feed options */
|
||||||
|
"Feed" = "Feed";
|
||||||
|
"RemoveAds" = "Eliminar anuncios";
|
||||||
|
"RemoveAdsDesc" = "Elimina los anuncios dentro de la aplicación.";
|
||||||
|
"HideShorts" = "Ocultar vídeos Shorts";
|
||||||
|
"HideShortsDesc" = "Oculta los vídeos Shorts de la página de inicio, Recomendados, etc. (No se aplica al historial de reproducciones)";
|
||||||
|
"KeepSubsShorts" = "Mantiene los Shorts en las suscripciones";
|
||||||
|
"KeepSubsShortsDesc" = "Evita eliminar los Shorts de la pestaña Suscripciones";
|
||||||
|
"RemoveCommunityPosts" = "Elimina los mensajes de la comunidad";
|
||||||
|
"RemoveCommunityPostsDesc" = "Elimina los posts de la comunidad del feed";
|
||||||
|
"RemoveMixPlaylists" = "Remove mixes";
|
||||||
|
"RemoveMixPlaylistsDesc" = "Removes mix playlist generated by YouTube from the feed.";
|
||||||
|
"RemoveLiveVids" = "Remove Live streams";
|
||||||
|
"RemoveLiveVidsDesc" = "Removes Live streams from the Home tab.";
|
||||||
|
"RemoveHorizontalFeeds" = "Remove horizontal feeds";
|
||||||
|
"RemoveHorizontalFeedsDesc" = "Removes all horizontal feeds (News, Continue Watching, Posts collection, etc.) from the Home tab.";
|
||||||
|
"RemoveMoreTopics" = "Eliminar \"Más temas\"";
|
||||||
|
"RemoveMoreTopicsDesc" = "Eliminar \"Más temas\" del feed";
|
||||||
|
"FixAlbums" = "Arreglar portadas";
|
||||||
|
"FixAlbumsDesc" = "Corrige la visualización de portadas para usuarios de Rusia";
|
||||||
|
|
||||||
|
/* Player options */
|
||||||
|
"Player" = "Reproductor";
|
||||||
|
"PlaybackQualityOnWiFi" = "Calidad de reproducción en WiFi";
|
||||||
|
"PlaybackQualityOnCellular" = "Calidad de reproducción en red móvil";
|
||||||
|
|
||||||
|
"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" = "Interfaz";
|
||||||
|
"SpeedControls" = "Controles de velocidad";
|
||||||
|
"SpeedControlsDesc" = "Muestra los botones de control de velocidad en la superposición";
|
||||||
"HideAutoplay" = "Ocultar interruptor de reproducción automática";
|
"HideAutoplay" = "Ocultar interruptor de reproducción automática";
|
||||||
"HideAutoplayDesc" = "Oculta el interruptor de reproducción automática de la superposición.";
|
"HideAutoplayDesc" = "Oculta el interruptor de reproducción automática de la superposición.";
|
||||||
"HideSubs" = "Ocultar botón de subtítulos";
|
"HideSubs" = "Ocultar botón de subtítulos";
|
||||||
"HideSubsDesc" = "Oculta el botón de subtítulos de la superposición.";
|
"HideSubsDesc" = "Oculta el botón de subtítulos de la superposición.";
|
||||||
"NoHUDMsgs" = "Ocultar mensajes de HUD";
|
|
||||||
"NoHUDMsgsDesc" = "Oculta todos los mensajes de funciones del reproductor. Ejemplo: CC está activado/desactivado, Repetir video está activado, etc.";
|
|
||||||
"HidePrevNext" = "Ocultar botones Anterior y Siguiente";
|
"HidePrevNext" = "Ocultar botones Anterior y Siguiente";
|
||||||
"HidePrevNextDesc" = "Oculta los botones de video Anterior y Siguiente de la superposición.";
|
"HidePrevNextDesc" = "Oculta los botones de video Anterior y Siguiente de la superposición.";
|
||||||
"ReplacePrevNext" = "Botones de Avance rápido y Rebobinado";
|
"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.";
|
"ReplacePrevNextDesc" = "Reemplaza los botones de video Anterior y Siguiente por botones de Avance rápido y Rebobinado en la superposición.";
|
||||||
|
"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" = "Modo de pantalla completa vertical";
|
||||||
|
"PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical.";
|
||||||
|
"ClassicQuality" = "Calidad de vídeo clásica";
|
||||||
|
"ClassicQualityDesc" = "Devuelve el menú clásico de selección de calidad de vídeo.";
|
||||||
|
"ExtraSpeedOptions" = "Opciones adicionales de velocidad";
|
||||||
|
"ExtraSpeedOptionsDesc" = "Agrega más opciones de velocidad de reproducción de vídeo al menú del reproductor.";
|
||||||
"NoDarkBg" = "Eliminar fondo oscuro";
|
"NoDarkBg" = "Eliminar fondo oscuro";
|
||||||
"NoDarkBgDesc" = "Elimina el fondo oscuro de la superposición.";
|
"NoDarkBgDesc" = "Elimina el fondo oscuro de la superposición.";
|
||||||
"NoEndScreenCards" = "Ocultar tarjetas emergentes de fin de pantalla";
|
"NoEndScreenCards" = "Ocultar tarjetas emergentes de fin de pantalla";
|
||||||
"NoEndScreenCardsDesc" = "Oculta las tarjetas emergentes de fin de pantalla (miniaturas) al final de los vídeos.";
|
"NoEndScreenCardsDesc" = "Oculta las tarjetas emergentes de fin de pantalla (miniaturas) al final de los vídeos.";
|
||||||
|
"NoAutonavEndScreenCards" = "Ocultar pantalla final de reproducción automática";
|
||||||
|
"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.";
|
||||||
"NoFullscreenActions" = "Desactivar acciones en pantalla completa";
|
"NoFullscreenActions" = "Desactivar acciones en pantalla completa";
|
||||||
"NoFullscreenActionsDesc" = "Desactiva el panel de acciones en el modo de pantalla completa.";
|
"NoFullscreenActionsDesc" = "Desactiva el panel de acciones en el modo de pantalla completa.";
|
||||||
"PersistentProgressBar" = "Persistent progress bar";
|
"PersistentProgressBar" = "Barra de progreso persistente";
|
||||||
"PersistentProgressBarDesc" = "Always shows progress bar in the player.";
|
"PersistentProgressBarDesc" = "Muestra siempre la barra de progreso en el reproductor.";
|
||||||
|
"RedProgressBar" = "Barra de progreso roja";
|
||||||
|
"RedProgressBarDesc" = "Devuelve la barra de progreso roja.";
|
||||||
|
"StockVolumeHUD" = "HUD de volumen del sistema";
|
||||||
|
"StockVolumeHUDDesc" = "Muestra el HUD de volumen del sistema a pantalla completa.";
|
||||||
"NoRelatedVids" = "Sin vídeos relacionados en la superposición";
|
"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.";
|
"NoRelatedVidsDesc" = "Elimina los vídeos relacionados que se muestran en la superposición al deslizar hacia arriba.";
|
||||||
"NoPromotionCards" = "Ocultar tarjetas de promoción pagada";
|
"NoPromotionCards" = "Ocultar tarjetas de promoción pagada";
|
||||||
"NoPromotionCardsDesc" = "Oculta la tarjeta \"Incluye promociones pagadas\" en los vídeos que incluyen promociones pagadas.";
|
"NoPromotionCardsDesc" = "Oculta la tarjeta \"Incluye promociones pagadas\" en los vídeos que incluyen promociones pagadas.";
|
||||||
"NoWatermarks" = "Ocultar marcas de agua";
|
"NoWatermarks" = "Ocultar marcas de agua";
|
||||||
"NoWatermarksDesc" = "Oculta las marcas de agua del canal del reproductor.";
|
"NoWatermarksDesc" = "Oculta las marcas de agua del canal del reproductor.";
|
||||||
|
"VideoEndTime" = "Muestra la hora de finalización de la reproducción";
|
||||||
|
"VideoEndTimeDesc" = "Añade la hora final de reproducción del vídeo a la barra del reproductor.";
|
||||||
|
"24hrFormat" = "Formato de 24 horas";
|
||||||
|
"24hrFormatDesc" = "Muestra la hora de finalización en formato de 24 horas.";
|
||||||
|
|
||||||
"Player" = "Reproductor";
|
"Player.Actions" = "Acciones";
|
||||||
|
"DefaultPlaybackRate" = "Velocidad de reproducción predeterminada";
|
||||||
|
"BackgroundPlayback" = "Reproducción en segundo plano";
|
||||||
|
"BackgroundPlaybackDesc" = "Permite la reproducción en segundo plano.";
|
||||||
"Miniplayer" = "Activar mini reproductor";
|
"Miniplayer" = "Activar mini reproductor";
|
||||||
"MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños.";
|
"MiniplayerDesc" = "Activa el mini reproductor para vídeos que no fueron diseñados originalmente para ello, como los vídeos dirigidos a niños.";
|
||||||
"PortraitFullscreen" = "Modo de pantalla completa vertical";
|
|
||||||
"PortraitFullscreenDesc" = "Activa el modo de pantalla completa vertical.";
|
|
||||||
"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.";
|
|
||||||
"DisableAutoplay" = "Desactivar reproducción automática";
|
"DisableAutoplay" = "Desactivar reproducción automática";
|
||||||
"DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos.";
|
"DisableAutoplayDesc" = "Evita la reproducción automática de vídeos después de abrirlos.";
|
||||||
"DisableAutoCaptions" = "Disable auto captions";
|
"DisableAutoCaptions" = "Desactivar subtítulos automáticos";
|
||||||
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
|
"DisableAutoCaptionsDesc" = "Evita la activación automática de subtítulos.";
|
||||||
"NoContentWarning" = "Omitir advertencia de contenido";
|
"NoContentWarning" = "Omitir advertencia de contenido";
|
||||||
"NoContentWarningDesc" = "Omite el mensaje de advertencia de contenido sensible.";
|
"NoContentWarningDesc" = "Omite el mensaje de advertencia de contenido sensible.";
|
||||||
"ClassicQuality" = "Calidad de vídeo clásica";
|
|
||||||
"ClassicQualityDesc" = "Devuelve el menú clásico de selección de calidad de vídeo.";
|
|
||||||
"ExtraSpeedOptions" = "Opciones adicionales de velocidad";
|
|
||||||
"ExtraSpeedOptionsDesc" = "Agrega más opciones de velocidad de reproducción de vídeo al menú del reproductor.";
|
|
||||||
"DontSnap2Chapter" = "Desactivar saltar al siguiente capítulo";
|
|
||||||
"DontSnap2ChapterDesc" = "Desactiva el salto al siguiente episodio mediante el gesto de doble toque.";
|
|
||||||
"RedProgressBar" = "Barra de progreso roja";
|
|
||||||
"RedProgressBarDesc" = "Devuelve la barra de progreso roja.";
|
|
||||||
"NoHints" = "Desactivar sugerencias";
|
"NoHints" = "Desactivar sugerencias";
|
||||||
"NoHintsDesc" = "Desactiva las sugerencias del autor que aparecen en la esquina superior derecha durante la reproducción.";
|
"NoHintsDesc" = "Desactiva las sugerencias del autor que aparecen en la esquina superior derecha durante la reproducción.";
|
||||||
"NoFreeZoom" = "Desactivar gesto de zoom libre";
|
|
||||||
"NoFreeZoomDesc" = "Desactiva los nuevos gestos de zoom libre.";
|
|
||||||
"AutoFullscreen" = "Reproducir vídeos en pantalla completa";
|
"AutoFullscreen" = "Reproducir vídeos en pantalla completa";
|
||||||
"AutoFullscreenDesc" = "Reproduce automáticamente los vídeos en modo de pantalla completa.";
|
"AutoFullscreenDesc" = "Reproduce automáticamente los vídeos en modo de pantalla completa.";
|
||||||
"ExitFullscreen" = "Salir del modo de pantalla completa al finalizar";
|
"ExitFullscreen" = "Salir del modo de pantalla completa al finalizar";
|
||||||
"ExitFullscreenDesc" = "Sale del modo de pantalla completa al finalizar la reproducción del vídeo.";
|
"ExitFullscreenDesc" = "Sale del modo de pantalla completa al finalizar la reproducción del vídeo.";
|
||||||
|
|
||||||
|
"Player.Gestures" = "Gestos";
|
||||||
|
"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" = "Mantener para velocidad";
|
||||||
|
"AdjustWithFinger" = "Ajusta la velocidad mediante gestos";
|
||||||
|
"AdjustWithFingerDesc" = "Permite ajustar la velocidad de reproducción presionando durante mucho tiempo el reproductor y moviendo el dedo hacia arriba y hacia abajo";
|
||||||
|
"PreserveSpeed" = "Preservar la velocidad";
|
||||||
|
"PreserveSpeedDesc" = "Conserva la velocidad ajustada después de completar el gesto";
|
||||||
|
"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" = "Pausa con dos dedos";
|
||||||
|
"TwoFingerTapToPauseDesc" = "Pausa/reanuda la reproducción tocando en la pantalla con dos dedos.";
|
||||||
|
"TwoFingerPanToBrightness" = "Ajustar el brillo";
|
||||||
|
"TwoFingerPanToBrightnessDesc" = "Permite ajustar el brillo de la pantalla deslizándose hacia arriba/abajo con dos dedos.";
|
||||||
|
"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.";
|
||||||
|
"PauseOnOverlay" = "Pausa en la superposición";
|
||||||
|
"PauseOnOverlayDesc" = "Establece la reproducción en pausa si aparece la superposición.";
|
||||||
|
"DontSnap2Chapter" = "Desactivar saltar al siguiente capítulo";
|
||||||
|
"DontSnap2ChapterDesc" = "Desactiva el salto al siguiente episodio mediante el gesto de doble toque.";
|
||||||
|
"NoTwoFingerSnapToChapter" = "Desactivar el doble toque con dos dedos";
|
||||||
|
"NoTwoFingerSnapToChapterDesc" = "Desactiva el gesto de pasar a capítulo con dos dedos.";
|
||||||
|
"NoFreeZoom" = "Desactivar gesto de zoom libre";
|
||||||
|
"NoFreeZoomDesc" = "Desactiva los nuevos gestos de zoom libre.";
|
||||||
"NoDoubleTap2Seek" = "Desactivar doble toque para buscar";
|
"NoDoubleTap2Seek" = "Desactivar doble toque para buscar";
|
||||||
"NoDoubleTap2SeekDesc" = "Desactiva el gesto de doble toque para buscar.";
|
"NoDoubleTap2SeekDesc" = "Desactiva el gesto de doble toque para buscar.";
|
||||||
|
|
||||||
"Tabbar" = "Barra de pestañas";
|
/* Shorts options */
|
||||||
"RemoveLabels" = "Eliminar etiquetas";
|
|
||||||
"RemoveLabelsDesc" = "Elimina las etiquetas de las pestañas.";
|
|
||||||
"RemoveIndicators" = "Eliminar indicadores";
|
|
||||||
"RemoveIndicatorsDesc" = "Elimina los indicadores de pestaña.";
|
|
||||||
"ReExplore" = "Reemplazar pestaña Shorts con pestaña Explorar";
|
|
||||||
"ReExploreDesc" = "Muestra la pestaña Explorar en lugar de la pestaña Shorts como en versiones antiguas de YouTube.";
|
|
||||||
"AddExplore" = "Add Explore tab";
|
|
||||||
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
|
|
||||||
"HideShortsTab" = "Ocultar pestaña Shorts";
|
|
||||||
"HideShortsTabDesc" = "Oculta la pestaña Shorts de la barra de pestañas.";
|
|
||||||
"HideSubscriptionsTab" = "Ocultar pestaña Suscripciones";
|
|
||||||
"HideSubscriptionsTabDesc" = "Oculta la pestaña Suscripciones de la barra de pestañas.";
|
|
||||||
"HideUploadButton" = "Ocultar botón Subir";
|
|
||||||
"HideUploadButtonDesc" = "Oculta el botón Subir de la barra de pestañas.";
|
|
||||||
"HideLibraryTab" = "Ocultar pestaña Biblioteca";
|
|
||||||
"HideLibraryTabDesc" = "Oculta la pestaña Biblioteca de la barra de pestañas.";
|
|
||||||
|
|
||||||
"Shorts" = "Shorts";
|
"Shorts" = "Shorts";
|
||||||
"ShortsOnlyMode" = "Shorts Only Mode";
|
"PlaybackMode" = "Playback completion action";
|
||||||
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
|
"Loop" = "Loop";
|
||||||
"HideShorts" = "Ocultar vídeos Shorts";
|
"ScrollToNext" = "Scroll to next";
|
||||||
"HideShortsDesc" = "Oculta los vídeos Shorts de la página de inicio, Recomendados, etc. (No se aplica al historial de reproducciones)";
|
"Stop" = "Stop";
|
||||||
|
"AutoSkipShorts" = "Salto automático de Shorts";
|
||||||
|
"ShortsOnlyMode" = "Modo sólo Shorts";
|
||||||
|
"ShortsOnlyModeDesc" = "Limita la funcionalidad de YouTube únicamente a la visualización de 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" = "Activar barra de progreso";
|
"ShortsProgress" = "Activar barra de progreso";
|
||||||
"ShortsProgressDesc" = "Muestra una barra de progreso en la superposición de Shorts.";
|
"ShortsProgressDesc" = "Muestra una barra de progreso en la superposición de Shorts.";
|
||||||
"PinchToFullscreenShorts" = "Pinch to Fullscreen";
|
"SpeedByLongTap" = "Aumentar la velocidad de reproducción de los Shorts";
|
||||||
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
|
"SpeedByLongTapDesc" = "Permite acelerar la reproducción pulsando durante mucho tiempo una determinada parte de la pantalla.";
|
||||||
"ShortsToRegular" = "Shorts to regular videos";
|
"SpeedLocation" = "Ubicación de activación";
|
||||||
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
|
"PinchToFullscreenShorts" = "Pellizcar para pantalla completa";
|
||||||
"ResumeShorts" = "No empezar desde la pestaña Shorts";
|
"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.";
|
||||||
"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.";
|
"ShortsToRegular" = "De Shorts a vídeos normales";
|
||||||
|
"ShortsToRegularDesc" = "Abre los Shorts como vídeos normales.";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
"HideShortsLogo" = "Ocultar el logo de Shorts";
|
"HideShortsLogo" = "Ocultar el logo de Shorts";
|
||||||
"HideShortsLogoDesc" = "Oculta el logo de Shorts en la esquina superior izquierda.";
|
"HideShortsLogoDesc" = "Oculta el logo de Shorts en la esquina superior izquierda.";
|
||||||
"HideShortsSearch" = "Ocultar botón de búsqueda";
|
"HideShortsSearch" = "Ocultar botón de búsqueda";
|
||||||
@@ -119,42 +224,34 @@
|
|||||||
"HideShortsMoreDesc" = "Oculta el botón Más (⋮) en la superposición de Shorts. También se puede acceder manteniendo presionada la pantalla.";
|
"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";
|
"HideShortsSubscriptions" = "Ocultar botón de Suscripciones";
|
||||||
"HideShortsSubscriptionsDesc" = "Oculta el botón de Suscripciones que aparece cuando se pausa un vídeo Shorts.";
|
"HideShortsSubscriptionsDesc" = "Oculta el botón de Suscripciones que aparece cuando se pausa un vídeo Shorts.";
|
||||||
"HideShortsLike" = "Ocultar botón de Me gusta";
|
|
||||||
"HideShortsLikeDesc" = "Oculta el botón de Me gusta en la superposición de Shorts.";
|
|
||||||
"HideShortsDislike" = "Ocultar botón de No me gusta";
|
|
||||||
"HideShortsDislikeDesc" = "Oculta el botón de No me gusta en la superposición de Shorts.";
|
|
||||||
"HideShortsComments" = "Ocultar botón de Comentarios";
|
|
||||||
"HideShortsCommentsDesc" = "Oculta el botón de Comentarios en la superposición de Shorts.";
|
|
||||||
"HideShortsRemix" = "Ocultar botón de Remixer";
|
|
||||||
"HideShortsRemixDesc" = "Oculta el botón de Remixer en la superposición de Shorts.";
|
|
||||||
"HideShortsShare" = "Ocultar botón de Compartir";
|
|
||||||
"HideShortsShareDesc" = "Oculta el botón de Compartir en la superposición de Shorts.";
|
|
||||||
"HideShortsAvatars" = "Ocultar avatar de los canales";
|
|
||||||
"HideShortsAvatarsDesc" = "Oculta la imagen de perfil en la esquina inferior derecha.";
|
|
||||||
"HideShortsThanks" = "Ocultar botón de Supergracias";
|
|
||||||
"HideShortsThanksDesc" = "Oculta el botón de Supergracias (Donar) en la superposición de Shorts.";
|
|
||||||
"HideShortsSource" = "Hide Shorts Source";
|
|
||||||
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
|
|
||||||
"HideShortsChannelName" = "Ocultar nombre del canal";
|
|
||||||
"HideShortsChannelNameDesc" = "Oculta el nombre del canal y el botón de Suscribirse en la superposición de Shorts.";
|
|
||||||
"HideShortsDescription" = "Ocultar descripción";
|
|
||||||
"HideShortsDescriptionDesc" = "Oculta la descripción de Shorts debajo del nombre del canal.";
|
|
||||||
"HideShortsAudioTrack" = "Ocultar pista de audio";
|
|
||||||
"HideShortsAudioTrackDesc" = "Oculta la pista de audio debajo de la descripción de Shorts.";
|
|
||||||
|
|
||||||
"Other" = "Otro";
|
/* Tab bar options */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "Barra de pestañas";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "Página de inicio";
|
||||||
"SavePostImage" = "Save community posts image";
|
"FEwhat_to_watch" = "Home";
|
||||||
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap.";
|
"FEexplore" = "Explorar";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "Shorts";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "Suscripciones";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "Biblioteca";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "Create";
|
||||||
"RemovePlayNext" = "Eliminar \"Reproducir siguiente en cola\"";
|
"FEhistory" = "History";
|
||||||
"RemovePlayNextDesc" = "Elimina la opción \"Reproducir siguiente en cola\" del menú.";
|
"VLWL" = "Watch Later";
|
||||||
"NoContinueWatching" = "Eliminar \"Continuar viendo\"";
|
|
||||||
"NoContinueWatchingDesc" = "Elimina la sección \"Continuar viendo\" que contiene videos sin terminar de la página de inicio.";
|
"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";
|
"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.";
|
"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";
|
"NoRelatedWatchNexts" = "Ocultar todos los vídeos del reproductor";
|
||||||
@@ -165,36 +262,246 @@
|
|||||||
"HideSortCommentsDesc" = "Oculta la cabecera de los comentarios de ordenación (Top, Newest) para que nunca aparezca.";
|
"HideSortCommentsDesc" = "Oculta la cabecera de los comentarios de ordenación (Top, Newest) para que nunca aparezca.";
|
||||||
"PlaylistOldMinibar" = "Lista de reproducción antigua minibar";
|
"PlaylistOldMinibar" = "Lista de reproducción antigua minibar";
|
||||||
"PlaylistOldMinibarDesc" = "Sustituye el nuevo panel flotante de listas de reproducción por el antiguo.";
|
"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";
|
"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).";
|
"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).";
|
||||||
|
|
||||||
"Startup" = "Página de inicio";
|
"StartupAnimation" = "Animación de inicio";
|
||||||
"Home" = "Inicio";
|
"StartupAnimationDesc" = "Muestra la animación de carga de inicio de YouTube";
|
||||||
"Explore" = "Explorar";
|
|
||||||
"ShortsTab" = "Shorts";
|
|
||||||
"Subscriptions" = "Suscripciones";
|
|
||||||
"Library" = "Biblioteca";
|
|
||||||
"Warning" = "Advertencia";
|
|
||||||
"TabIsHidden" = "No se puede seleccionar una pestaña oculta como página de inicio";
|
|
||||||
|
|
||||||
"Version" = "Versión";
|
"InterfaceStyle" = "Interface style";
|
||||||
"About" = "Acerca de";
|
|
||||||
|
"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";
|
"Credits" = "Créditos";
|
||||||
"Developer" = "Desarrollador de YTLite";
|
|
||||||
|
"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)";
|
"ChineseSimplified" = "Traducción: Chino (Simplificado)";
|
||||||
"ChineseTraditional" = "Traducción: Chino (Tradicional)";
|
"ChineseTraditional" = "Traducción: Chino (Tradicional)";
|
||||||
"French" = "Traducción: Frances";
|
"French" = "Traducción: Frances";
|
||||||
"Spanish" = "Traducción: Español";
|
"Spanish" = "Traducción: Español";
|
||||||
"Japanese" = "Traducción: Japonés";
|
"Japanese" = "Traducción: Japonés";
|
||||||
"Advanced" = "Modo avanzado";
|
"Vietnamese" = "Traducción: vietnamita";
|
||||||
"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 → %@ → %@ → %@.";
|
"Arabic" = "Arabic localization";
|
||||||
"ResetSettings" = "Restablecer configuración de YTLite";
|
"Turkish" = "Turkish localization";
|
||||||
"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?";
|
|
||||||
"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.";
|
"OpenSourceLibs" = "Bibliotecas de código abierto";
|
||||||
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off";
|
|
||||||
|
"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í";
|
"Yes" = "Sí";
|
||||||
"No" = "No";
|
"No" = "No";
|
||||||
|
|
||||||
"Copied" = "Copied to clipboard";
|
"Select" = "Seleccionar";
|
||||||
"Saved" = "Saved to Photos";
|
"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" = "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,9 +1,46 @@
|
|||||||
"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";
|
|
||||||
"BackgroundPlaybackDesc" = "Active la lecture en arrière-plan.";
|
|
||||||
|
|
||||||
|
/* Downloading options */
|
||||||
|
"Downloading" = "Téléchargement";
|
||||||
|
"DownloadManager" = "Gestionnaire de téléchargement";
|
||||||
|
"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.";
|
||||||
|
"PostManager" = "Gestionnaire de publications";
|
||||||
|
"PostManagerDesc" = "Permet de copier le texte de la publication et de la sauvegarder en tant qu'image par un appui long.";
|
||||||
|
"SaveProfilePhoto" = "Enregistrer la photo de profil";
|
||||||
|
"SaveProfilePhotoDesc" = "Enregistre la photo de profil dans l'application Photos par un appui long.";
|
||||||
|
"CommentManager" = "Gestionnaire de commentaires";
|
||||||
|
"CommentManagerDesc" = "Permet de copier le texte des commentaires et de les sauvegarder en tant qu'image par un appui long.";
|
||||||
|
|
||||||
|
"YtlButtonPosition" = "Position du bouton de téléchargement";
|
||||||
|
"UnderPlayer" = "Sous le lecteur";
|
||||||
|
"Overlay" = "Overlay";
|
||||||
|
"Both" = "Les deux";
|
||||||
|
|
||||||
|
"PostDownloadAction" = "Action post-téléchargement";
|
||||||
|
"PostDownloadDesc" = "L'action sélectionnée sera effectuée une fois le téléchargement de la vidéo terminé.";
|
||||||
|
"SaveToPhotos" = "Enregistrer dans Photos";
|
||||||
|
"Share" = "Partager";
|
||||||
|
"Ask" = "Demander";
|
||||||
|
"DownloadCompleted" = "Téléchargement terminé";
|
||||||
|
|
||||||
|
"PreferredAudio" = "Piste audio préférée";
|
||||||
|
"Selected" = "Sélectionnée";
|
||||||
|
"English" = "Anglais";
|
||||||
|
"SelectAudioTrack" = "Sélectionner la piste audio";
|
||||||
|
"EnglishNotFound" = "Piste audio anglaise non trouvée";
|
||||||
|
|
||||||
|
"Captions" = "Sous-titres";
|
||||||
|
"EmbedCapsToVideos" = "Intégrer les sous-titres";
|
||||||
|
"EmbedCapsToVideosDesc" = "Intègre les sous-titres sélectionnés dans les vidéos.";
|
||||||
|
"EmbedAutoGenCaps" = "Auto-generated/translated captions";
|
||||||
|
"EmbedAutoGenCapsDesc" = "Adds auto-generated, translated, and auto-translated captions to the captions/subtitles list.";
|
||||||
|
"DownloadCaptions" = "Télécharger les sous-titres";
|
||||||
|
"SelectCaption" = "Sélectionner les sous-titres";
|
||||||
|
"Translated" = "translated";
|
||||||
|
"TranslatedAutoGen" = "auto-translated";
|
||||||
|
|
||||||
|
/* Nav bar options */
|
||||||
"Navbar" = "Barre de navigation";
|
"Navbar" = "Barre de navigation";
|
||||||
"RemoveCast" = "Masquer le bouton Cast";
|
"RemoveCast" = "Masquer le bouton Cast";
|
||||||
"RemoveCastDesc" = "Masque le bouton Cast de la barre de navigation.";
|
"RemoveCastDesc" = "Masque le bouton Cast de la barre de navigation.";
|
||||||
@@ -13,102 +50,170 @@
|
|||||||
"RemoveSearchDesc" = "Masque le bouton Recherche de la barre de navigation.";
|
"RemoveSearchDesc" = "Masque le bouton Recherche de la barre de navigation.";
|
||||||
"RemoveVoiceSearch" = "Masquer le bouton Recherche vocale";
|
"RemoveVoiceSearch" = "Masquer le bouton Recherche vocale";
|
||||||
"RemoveVoiceSearchDesc" = "Masque le bouton Recherche vocale de la barre de navigation.";
|
"RemoveVoiceSearchDesc" = "Masque le bouton Recherche vocale de la barre de navigation.";
|
||||||
"StickyNavbar" = "Barre de navigation épinglée";
|
"StickyNavbar" = "Barre de navigation fixe";
|
||||||
"StickyNavbarDesc" = "Épingle la barre de navigation pour qu'elle reste visible lors du défilement vers le bas.";
|
"StickyNavbarDesc" = "Fixe la barre de navigation pour qu'elle reste visible lors du défilement.";
|
||||||
"NoSubbar" = "Masquer la sous-barre";
|
"NoSubbar" = "Masquer la sous-barre";
|
||||||
"NoSubbarDesc" = "Masque la sous-barre (Tous, Nouveautés, En direct, etc.) sous la barre de navigation.";
|
"NoSubbarDesc" = "Masque la sous-barre (Tous, Nouveautés, En direct, etc.) sous la barre de navigation.";
|
||||||
"NoYTLogo" = "Supprimer le logo YouTube";
|
"NoYTLogo" = "Supprimer le logo YouTube";
|
||||||
"NoYTLogoDesc" = "Supprime le logo YouTube dans la barre de navigation.";
|
"NoYTLogoDesc" = "Supprime le logo YouTube de la barre de navigation.";
|
||||||
|
"PremiumYTLogo" = "Afficher le logo YouTube Premium";
|
||||||
|
"PremiumYTLogoDesc" = "Affiche le logo YouTube Premium dans la barre de navigation.";
|
||||||
|
|
||||||
"Overlay" = "Overlay";
|
/* Feed options */
|
||||||
"HideAutoplay" = "Masquer le toggle de lecture automatique";
|
"Feed" = "Feed";
|
||||||
"HideAutoplayDesc" = "Masque le toggle de lecture automatique de l'overlay.";
|
"RemoveAds" = "Supprimer les publicités";
|
||||||
|
"RemoveAdsDesc" = "Supprime les publicités intégrées.";
|
||||||
|
"HideShorts" = "Masquer les Shorts";
|
||||||
|
"HideShortsDesc" = "Masque les vidéos Shorts de la page d'accueil, des recommandations, etc. (Non appliqué à l'historique de visionnage)";
|
||||||
|
"KeepSubsShorts" = "Garder les Shorts dans Abonnements";
|
||||||
|
"KeepSubsShortsDesc" = "Empêche la suppression des Shorts de l'onglet Abonnements.";
|
||||||
|
"RemoveCommunityPosts" = "Supprimer les publications communautaires";
|
||||||
|
"RemoveCommunityPostsDesc" = "Supprime les publications communautaires du fil d'actualité.";
|
||||||
|
"RemoveMixPlaylists" = "Supprimer les mix";
|
||||||
|
"RemoveMixPlaylistsDesc" = "Supprime les playlists de mix générées par YouTube du fil d'actualité.";
|
||||||
|
"RemoveLiveVids" = "Supprimer les vidéos en direct";
|
||||||
|
"RemoveLiveVidsDesc" = "Supprime les vidéos en direct de l'onglet Accueil.";
|
||||||
|
"RemoveHorizontalFeeds" = "Supprimer les fils horizontaux";
|
||||||
|
"RemoveHorizontalFeedsDesc" = "Supprime tous les fils horizontaux (Actualités, Continuer à regarder, Collections de publications, etc.) de l'onglet Accueil.";
|
||||||
|
"RemoveMoreTopics" = "Supprimer \"Plus de sujets\"";
|
||||||
|
"RemoveMoreTopicsDesc" = "Supprime \"Plus de sujets\" du fil d'actualité.";
|
||||||
|
"FixAlbums" = "Réparer les miniatures";
|
||||||
|
"FixAlbumsDesc" = "Répare l'affichage des miniatures pour les utilisateurs russes.";
|
||||||
|
|
||||||
|
/* Player options */
|
||||||
|
"Player" = "Lecteur";
|
||||||
|
"PlaybackQualityOnWiFi" = "Qualité de lecture sur WiFi";
|
||||||
|
"PlaybackQualityOnCellular" = "Qualité de lecture sur réseau cellulaire";
|
||||||
|
|
||||||
|
"PreferredCaptions" = "Sous-titres préférés";
|
||||||
|
"Original" = "Original";
|
||||||
|
"Custom" = "Sélectionner manuellement";
|
||||||
|
"CustomAudioTrack" = "Piste audio sélectionnée";
|
||||||
|
"CustomCaptions" = "Sous-titres sélectionnés";
|
||||||
|
"AutoGenCaps" = "Sous-titres générés automatiquement";
|
||||||
|
"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.";
|
||||||
|
|
||||||
|
"Player.Interface" = "Interface";
|
||||||
|
"SpeedControls" = "Contrôles de la vitesse";
|
||||||
|
"SpeedControlsDesc" = "Affiche les boutons de contrôle de la vitesse sur l'overlay";
|
||||||
|
"HideAutoplay" = "Masquer le bouton de lecture automatique";
|
||||||
|
"HideAutoplayDesc" = "Masque le bouton de lecture automatique de l'overlay.";
|
||||||
"HideSubs" = "Masquer le bouton Sous-titres";
|
"HideSubs" = "Masquer le bouton Sous-titres";
|
||||||
"HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay.";
|
"HideSubsDesc" = "Masque le bouton Sous-titres de l'overlay.";
|
||||||
"NoHUDMsgs" = "Masquer les messages HUD";
|
|
||||||
"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.";
|
|
||||||
"HidePrevNext" = "Masquer les boutons Précédent et Suivant";
|
"HidePrevNext" = "Masquer les boutons Précédent et Suivant";
|
||||||
"HidePrevNextDesc" = "Masque les boutons vidéo Précédent et Suivant de l'overlay.";
|
"HidePrevNextDesc" = "Masque les boutons vidéo Précédent et Suivant de l'overlay.";
|
||||||
"ReplacePrevNext" = "Boutons Avance rapide et Retour rapide";
|
"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.";
|
"ReplacePrevNextDesc" = "Remplace les boutons vidéo Précédent et Suivant par des boutons Avance rapide et Retour rapide dans l'overlay.";
|
||||||
|
"RememberLoopMode" = "Mémoriser le mode de lecture en boucle";
|
||||||
|
"RememberLoopModeDesc" = "Mémorise le dernier mode de lecture en boucle sélectionné dans le menu du lecteur.";
|
||||||
|
"FullscreenToTheLeft" = "Plein écran en rotation vers la gauche";
|
||||||
|
"FullscreenToTheLeftDesc" = "Fullscreen mode will rotate the device to the left orientation instead of the usual right.";
|
||||||
|
"PortraitFullscreen" = "Mode plein écran en portrait";
|
||||||
|
"PortraitFullscreenDesc" = "Active la prise en charge du plein écran en mode portrait.";
|
||||||
|
"ClassicQuality" = "Sélection de qualité classique";
|
||||||
|
"ClassicQualityDesc" = "Restaure le menu de sélection de qualité vidéo classique.";
|
||||||
|
"ExtraSpeedOptions" = "Options de vitesse supplémentaires";
|
||||||
|
"ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse.";
|
||||||
"NoDarkBg" = "Supprimer l'arrière-plan sombre";
|
"NoDarkBg" = "Supprimer l'arrière-plan sombre";
|
||||||
"NoDarkBgDesc" = "Supprime l'arrière-plan sombre de l'overlay.";
|
"NoDarkBgDesc" = "Supprime l'arrière-plan sombre de l'overlay.";
|
||||||
"NoEndScreenCards" = "Masquer les cartes de fin d'écran";
|
"NoEndScreenCards" = "Masquer les cartes de fin d'écran";
|
||||||
"NoEndScreenCardsDesc" = "Masque les cartes de fin d'écran (vignettes) à la fin des vidéos.";
|
"NoEndScreenCardsDesc" = "Masque les cartes de fin d'écran (miniatures) à la fin des vidéos.";
|
||||||
|
"NoAutonavEndScreenCards" = "Masquer l'écran de lecture automatique";
|
||||||
|
"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";
|
||||||
"NoFullscreenActions" = "Désactiver les actions en plein écran";
|
"NoFullscreenActions" = "Désactiver les actions en plein écran";
|
||||||
"NoFullscreenActionsDesc" = "Désactive le panneau d'actions en mode plein écran.";
|
"NoFullscreenActionsDesc" = "Désactive le panneau d'actions en mode plein écran.";
|
||||||
"PersistentProgressBar" = "Persistent progress bar";
|
"PersistentProgressBar" = "Barre de progression persistante";
|
||||||
"PersistentProgressBarDesc" = "Always shows progress bar in the player.";
|
"PersistentProgressBarDesc" = "Affiche toujours la barre de progression dans le lecteur";
|
||||||
|
"RedProgressBar" = "Barre de progression rouge";
|
||||||
|
"RedProgressBarDesc" = "Restaure la barre de progression rouge.";
|
||||||
|
"StockVolumeHUD" = "HUD de volume par défaut";
|
||||||
|
"StockVolumeHUDDesc" = "Affiche le HUD de volume système en plein écran.";
|
||||||
"NoRelatedVids" = "Pas de vidéos associées dans l'overlay";
|
"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.";
|
"NoRelatedVidsDesc" = "Supprime les vidéos associées affichées dans l'overlay en glissant vers le haut.";
|
||||||
"NoPromotionCards" = "Masquer les cartes de promotion payante";
|
"NoPromotionCards" = "Masquer les cartes de promotion payante";
|
||||||
"NoPromotionCardsDesc" = "Masque la carte \"Comprend des promotions payantes\" dans les vidéos avec promotions incluses.";
|
"NoPromotionCardsDesc" = "Masque la carte \"Inclut des promotions payantes\" dans les vidéos avec promotions.";
|
||||||
"NoWatermarks" = "Masquer les filigranes";
|
"NoWatermarks" = "Masquer les filigranes";
|
||||||
"NoWatermarksDesc" = "Masque les filigranes de chaîne dans le lecteur.";
|
"NoWatermarksDesc" = "Masque les filigranes de chaîne dans le lecteur.";
|
||||||
|
"VideoEndTime" = "Afficher l'heure de fin de lecture";
|
||||||
|
"VideoEndTimeDesc" = "Ajoute l'heure de fin de lecture de la vidéo à la barre du lecteur.";
|
||||||
|
"24hrFormat" = "Format 24 heures";
|
||||||
|
"24hrFormatDesc" = "Affiche l'heure de fin au format 24 heures.";
|
||||||
|
|
||||||
"Player" = "Lecteur";
|
"Player.Actions" = "Actions";
|
||||||
|
"DefaultPlaybackRate" = "Vitesse de lecture par défaut";
|
||||||
|
"BackgroundPlayback" = "Lecture en arrière-plan";
|
||||||
|
"BackgroundPlaybackDesc" = "Active la lecture en arrière-plan.";
|
||||||
"Miniplayer" = "Activer le mini-lecteur";
|
"Miniplayer" = "Activer le mini-lecteur";
|
||||||
"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.";
|
"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.";
|
||||||
"PortraitFullscreen" = "Mode plein écran en portrait";
|
|
||||||
"PortraitFullscreenDesc" = "Active la prise en charge du mode plein écran en portrait.";
|
|
||||||
"CopyWithTimestamp" = "Copy timestamped links";
|
|
||||||
"CopyWithTimestampDesc" = "Allows to copy timestamped link to the clipboard by pressing pause button.";
|
|
||||||
"DisableAutoplay" = "Désactiver la lecture automatique des vidéos";
|
"DisableAutoplay" = "Désactiver la lecture automatique des vidéos";
|
||||||
"DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture.";
|
"DisableAutoplayDesc" = "Empêche la lecture des vidéos après ouverture.";
|
||||||
"DisableAutoCaptions" = "Disable auto captions";
|
"DisableAutoCaptions" = "Désactiver les sous-titres automatiques";
|
||||||
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
|
"DisableAutoCaptionsDesc" = "Empêche l'activation des sous-titres automatique.";
|
||||||
"NoContentWarning" = "Passer l'avertissement de contenu";
|
"NoContentWarning" = "Passer l'avertissement de contenu";
|
||||||
"NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
|
"NoContentWarningDesc" = "Ignore le message d'avertissement de contenu sensible.";
|
||||||
"ClassicQuality" = "Qualité vidéo classique";
|
|
||||||
"ClassicQualityDesc" = "Rétablit le menu de sélection de la qualité vidéo classique.";
|
|
||||||
"ExtraSpeedOptions" = "Options de vitesse supplémentaires";
|
|
||||||
"ExtraSpeedOptionsDesc" = "Ajoute des options de vitesse de lecture supplémentaires au menu de vitesse.";
|
|
||||||
"DontSnap2Chapter" = "Désactiver la coupure au chapitre";
|
|
||||||
"DontSnap2ChapterDesc" = "Désactive le passage à l'épisode suivant en double tapant.";
|
|
||||||
"RedProgressBar" = "Barre de progression rouge";
|
|
||||||
"RedProgressBarDesc" = "Ramène la barre de progression rouge.";
|
|
||||||
"NoHints" = "Désactiver les indices";
|
"NoHints" = "Désactiver les indices";
|
||||||
"NoHintsDesc" = "Désactive les indices de l'auteur qui apparaissent dans le coin supérieur droit pendant la lecture.";
|
"NoHintsDesc" = "Désactive les indices de l'auteur qui apparaissent dans le coin supérieur droit pendant la lecture.";
|
||||||
"NoFreeZoom" = "Désactiver le geste de zoom libre";
|
|
||||||
"NoFreeZoomDesc" = "Désactive les nouveaux gestes de zoom libre.";
|
|
||||||
"AutoFullscreen" = "Lire les vidéos en plein écran";
|
"AutoFullscreen" = "Lire les vidéos en plein écran";
|
||||||
"AutoFullscreenDesc" = "Lance automatiquement les vidéos en mode plein écran.";
|
"AutoFullscreenDesc" = "Lance automatiquement les vidéos en mode plein écran.";
|
||||||
"ExitFullscreen" = "Quitter le mode plein écran à la fin";
|
"ExitFullscreen" = "Quitter le mode plein écran à la fin";
|
||||||
"ExitFullscreenDesc" = "Quitte le mode plein écran à la fin de la lecture de la vidéo.";
|
"ExitFullscreenDesc" = "Quitte le mode plein écran à la fin de la lecture de la vidéo.";
|
||||||
|
|
||||||
|
"Player.Gestures" = "Gestes";
|
||||||
|
"LeftSideGesture" = "Geste pour le côté gauche";
|
||||||
|
"RightSideGesture" = "Geste pour le côté droit";
|
||||||
|
"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" = "Maintenir pour accélérer";
|
||||||
|
"AdjustWithFinger" = "Ajuster la vitesse par gestes";
|
||||||
|
"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";
|
||||||
|
"PreserveSpeed" = "Conserver la vitesse";
|
||||||
|
"PreserveSpeedDesc" = "Conserve la vitesse ajustée après la fin du geste";
|
||||||
|
"SeekAnywhere" = "Glisser pour chercher";
|
||||||
|
"SeekAnywhereDesc" = "Permet de contrôler la recherche de lecture en glissant vers la gauche et la droite.";
|
||||||
|
"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.";
|
||||||
|
"Independent" = "Indépendant";
|
||||||
|
"DurationBased" = "Basé sur la durée";
|
||||||
|
"SeekSensitivity" = "Sensibilité de recherche";
|
||||||
|
"TwoFingerTapToPause" = "Pause avec deux doigts";
|
||||||
|
"TwoFingerTapToPauseDesc" = "Met en pause/reprend la lecture en tapant sur l'écran avec deux doigts.";
|
||||||
|
"TwoFingerPanToBrightness" = "Ajuster la luminosité";
|
||||||
|
"TwoFingerPanToBrightnessDesc" = "Permet d'ajuster la luminosité de l'écran en glissant vers le haut/bas avec deux doigts.";
|
||||||
|
"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.";
|
||||||
|
"PauseOnOverlay" = "Pause quand overlay";
|
||||||
|
"PauseOnOverlayDesc" = "Met la lecture en pause si l'overlay apparaît.";
|
||||||
|
"DontSnap2Chapter" = "Désactiver le saut au chapitre";
|
||||||
|
"DontSnap2ChapterDesc" = "Désactive le passage au chapitre suivant en double-tapant.";
|
||||||
|
"NoTwoFingerSnapToChapter" = "Désactiver le double tap à deux doigts";
|
||||||
|
"NoTwoFingerSnapToChapterDesc" = "Désactive le geste de double tap à deux doigts pour sauter au chapitre.";
|
||||||
|
"NoFreeZoom" = "Désactiver le zoom libre";
|
||||||
|
"NoFreeZoomDesc" = "Désactive les nouveaux gestes de zoom libre.";
|
||||||
"NoDoubleTap2Seek" = "Désactiver le double tap pour chercher";
|
"NoDoubleTap2Seek" = "Désactiver le double tap pour chercher";
|
||||||
"NoDoubleTap2SeekDesc" = "Désactive le geste de double tap pour chercher.";
|
"NoDoubleTap2SeekDesc" = "Désactive le geste de double tap pour chercher.";
|
||||||
|
|
||||||
"Tabbar" = "Barre d'onglets";
|
/* Shorts options */
|
||||||
"RemoveLabels" = "Supprimer les sous-titres";
|
|
||||||
"RemoveLabelsDesc" = "Supprime les sous-titres des onglets.";
|
|
||||||
"RemoveIndicators" = "Remove indicators";
|
|
||||||
"RemoveIndicatorsDesc" = "Removes tab indicators.";
|
|
||||||
"ReExplore" = "Remplacer l'onglet Shorts par l'onglet Explorer";
|
|
||||||
"ReExploreDesc" = "Affiche l'onglet Explorer à la place de l'onglet Shorts comme dans les anciennes versions de YouTube.";
|
|
||||||
"AddExplore" = "Add Explore tab";
|
|
||||||
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
|
|
||||||
"HideShortsTab" = "Masquer l'onglet Shorts";
|
|
||||||
"HideShortsTabDesc" = "Masque l'onglet Shorts de la barre d'onglets";
|
|
||||||
"HideSubscriptionsTab" = "Masquer l'onglet Abonnements";
|
|
||||||
"HideSubscriptionsTabDesc" = "Masque l'onglet Abonnements de la barre d'onglets";
|
|
||||||
"HideUploadButton" = "Masquer le bouton de téléchargement";
|
|
||||||
"HideUploadButtonDesc" = "Masque le bouton de téléchargement de la barre d'onglets";
|
|
||||||
"HideLibraryTab" = "Masquer l'onglet Bibliothèque";
|
|
||||||
"HideLibraryTabDesc" = "Masque l'onglet Bibliothèque de la barre d'onglets";
|
|
||||||
|
|
||||||
"Shorts" = "Shorts";
|
"Shorts" = "Shorts";
|
||||||
"ShortsOnlyMode" = "Shorts Only Mode";
|
"PlaybackMode" = "Playback completion action";
|
||||||
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
|
"Loop" = "Loop";
|
||||||
"HideShorts" = "Masquer les vidéos Shorts";
|
"ScrollToNext" = "Scroll to next";
|
||||||
"HideShortsDesc" = "Masque les vidéos Shorts de la page d'accueil, des recommandations, etc. (Non appliqué à l'historique de visionnage)";
|
"Stop" = "Stop";
|
||||||
|
"AutoSkipShorts" = "Auto-skip des Shorts";
|
||||||
|
"ShortsOnlyMode" = "Mode Shorts uniquement";
|
||||||
|
"ShortsOnlyModeDesc" = "Limite les fonctionnalités de YouTube à la visualisation des Shorts uniquement.";
|
||||||
|
"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" = "Activer la barre de progression";
|
"ShortsProgress" = "Activer la barre de progression";
|
||||||
"ShortsProgressDesc" = "Affiche la barre de progression dans l'overlay Shorts.";
|
"ShortsProgressDesc" = "Affiche la barre de progression dans l'overlay des Shorts.";
|
||||||
"PinchToFullscreenShorts" = "Pinch to Fullscreen";
|
"SpeedByLongTap" = "Augmenter la vitesse de lecture des Shorts";
|
||||||
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
|
"SpeedByLongTapDesc" = "Permet d'accélérer la lecture en appuyant longuement sur une certaine partie de l'écran.";
|
||||||
"ShortsToRegular" = "Shorts to regular videos";
|
"SpeedLocation" = "Emplacement d'activation";
|
||||||
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
|
"PinchToFullscreenShorts" = "Pincer pour le plein écran";
|
||||||
"ResumeShorts" = "Ne pas démarrer depuis l'onglet Shorts";
|
"PinchToFullscreenShortsDesc" = "Gère la visibilité de l'overlay avec les gestes de pincement, affichant les Shorts en mode plein écran.";
|
||||||
"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.";
|
"ShortsToRegular" = "Shorts vers vidéos normales";
|
||||||
|
"ShortsToRegularDesc" = "Ouvre les vidéos Shorts en tant que vidéos normales.";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
"HideShortsLogo" = "Masquer le logo Shorts";
|
"HideShortsLogo" = "Masquer le logo Shorts";
|
||||||
"HideShortsLogoDesc" = "Masque le logo Shorts dans le coin supérieur gauche.";
|
"HideShortsLogoDesc" = "Masque le logo Shorts dans le coin supérieur gauche.";
|
||||||
"HideShortsSearch" = "Masquer le bouton de recherche";
|
"HideShortsSearch" = "Masquer le bouton de recherche";
|
||||||
@@ -119,82 +224,284 @@
|
|||||||
"HideShortsMoreDesc" = "Masque le bouton Plus (⋮) de l'overlay Shorts. Il est également accessible en appuyant longuement sur l'écran.";
|
"HideShortsMoreDesc" = "Masque le bouton Plus (⋮) de l'overlay Shorts. Il est également accessible en appuyant longuement sur l'écran.";
|
||||||
"HideShortsSubscriptions" = "Masquer le bouton Abonnements";
|
"HideShortsSubscriptions" = "Masquer le bouton Abonnements";
|
||||||
"HideShortsSubscriptionsDesc" = "Masque le bouton Abonnements qui apparaît lorsque les Shorts sont en pause.";
|
"HideShortsSubscriptionsDesc" = "Masque le bouton Abonnements qui apparaît lorsque les Shorts sont en pause.";
|
||||||
"HideShortsLike" = "Masquer le bouton J'aime";
|
|
||||||
"HideShortsLikeDesc" = "Masque le bouton J'aime de l'overlay Shorts.";
|
|
||||||
"HideShortsDislike" = "Masquer le bouton Je n'aime pas";
|
|
||||||
"HideShortsDislikeDesc" = "Masque le bouton Je n'aime pas de l'overlay Shorts.";
|
|
||||||
"HideShortsComments" = "Masquer le bouton Commentaires";
|
|
||||||
"HideShortsCommentsDesc" = "Masque le bouton Commentaires de l'overlay Shorts.";
|
|
||||||
"HideShortsRemix" = "Masquer le bouton Remix";
|
|
||||||
"HideShortsRemixDesc" = "Masque le bouton Remix de l'overlay Shorts.";
|
|
||||||
"HideShortsShare" = "Masquer le bouton Partager";
|
|
||||||
"HideShortsShareDesc" = "Masque le bouton Partager de l'overlay Shorts.";
|
|
||||||
"HideShortsAvatars" = "Masquer les avatars des chaînes";
|
|
||||||
"HideShortsAvatarsDesc" = "Masque la photo de profil dans le coin inférieur droit.";
|
|
||||||
"HideShortsThanks" = "Masquer le bouton Superthanks";
|
|
||||||
"HideShortsThanksDesc" = "Masque le bouton Superthanks (Don) de l'overlay Shorts.";
|
|
||||||
"HideShortsSource" = "Hide Shorts Source";
|
|
||||||
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
|
|
||||||
"HideShortsChannelName" = "Masquer le nom de la chaîne";
|
|
||||||
"HideShortsChannelNameDesc" = "Masque le nom de la chaîne et le bouton S'abonner de l'overlay Shorts.";
|
|
||||||
"HideShortsDescription" = "Masquer la description";
|
|
||||||
"HideShortsDescriptionDesc" = "Masque la description des Shorts sous le nom de la chaîne.";
|
|
||||||
"HideShortsAudioTrack" = "Masquer la piste audio";
|
|
||||||
"HideShortsAudioTrackDesc" = "Masque la piste audio sous la description des Shorts.";
|
|
||||||
|
|
||||||
"Other" = "Autre";
|
/* Tab bar options */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "Barre d'onglets";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "Page de démarrage";
|
||||||
"SavePostImage" = "Save community posts image";
|
"FEwhat_to_watch" = "Accueil";
|
||||||
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap.";
|
"FEexplore" = "Explorer";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "Shorts";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "Abonnements";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "Bibliothèque";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "Créer";
|
||||||
"RemovePlayNext" = "Supprimer \"Placer en première position dans la file d'attente\"";
|
"FEhistory" = "Historique";
|
||||||
"RemovePlayNextDesc" = "Supprime l'option \"Placer en première position dans la file d'attente\" du menu.";
|
"VLWL" = "À regarder plus tard";
|
||||||
"NoContinueWatching" = "Supprimer \"Continuer à regarder\"";
|
|
||||||
"NoContinueWatchingDesc" = "Supprime la section \"Continuer à regarder\" contenant les vidéos inachevées de la page d'accueil.";
|
"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";
|
"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.";
|
"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";
|
"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.";
|
"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";\
|
"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.";
|
"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";
|
"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.";
|
"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";
|
"PlaylistOldMinibar" = "Ancienne barre latérale de lecture";
|
||||||
"PlaylistOldMinibarDesc" = "Remplace le nouveau panneau de lecture flottant par l'ancien.";
|
"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";
|
"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).";
|
"DisableRTLDesc" = "Affiche le texte de force en format de gauche à droite (LTR) pour les langues qui sont initialement affichées de droite à gauche (RTL).";
|
||||||
|
|
||||||
"Startup" = "Page de démarrage";
|
"StartupAnimation" = "Animation de démarrage";
|
||||||
"Home" = "Accueil";
|
"StartupAnimationDesc" = "Affiche l'animation de chargement de YouTube au démarrage";
|
||||||
"Explore" = "Explorer";
|
|
||||||
"ShortsTab" = "Shorts";
|
|
||||||
"Subscriptions" = "Abonnements";
|
|
||||||
"Library" = "Bibliothèque";
|
|
||||||
"Warning" = "Avertissement";
|
|
||||||
"TabIsHidden" = "L'onglet masqué ne peut pas être sélectionné comme page de démarrage";
|
|
||||||
|
|
||||||
"Version" = "Version";
|
"InterfaceStyle" = "Style d'interface";
|
||||||
"About" = "À propos";
|
|
||||||
|
"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";
|
"Credits" = "Crédits";
|
||||||
"Developer" = "Développeur YTLite";
|
|
||||||
|
"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)";
|
"ChineseSimplified" = "Localisation chinoise (simplifiée)";
|
||||||
"ChineseTraditional" = "Localisation chinoise (traditionnelle)";
|
"ChineseTraditional" = "Localisation chinoise (traditionnelle)";
|
||||||
"French" = "Localisation française";
|
"French" = "Localisation française";
|
||||||
"Spanish" = "Localisation espagnole";
|
"Spanish" = "Localisation espagnole";
|
||||||
"Japanese" = "Localisation japonaise";
|
"Japanese" = "Localisation japonaise";
|
||||||
"Advanced" = "Mode avancé";
|
"Vietnamese" = "Localisation vietnamienne";
|
||||||
"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 → %@ → %@ → %@.";
|
"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";
|
"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 ?";
|
"ResetMessage" = "Cette option réinitialisera les paramètres YTLite par défaut et fermera YouTube.\n\nÊtes-vous sûr de vouloir continuer ?";
|
||||||
"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";
|
"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";
|
"Yes" = "Oui";
|
||||||
"No" = "Non";
|
"No" = "Non";
|
||||||
|
|
||||||
"Copied" = "Copied to clipboard";
|
"Select" = "Sélectionner";
|
||||||
"Saved" = "Saved to Photos";
|
"Default" = "Par défaut";
|
||||||
"Error" = "Error";
|
"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,200 +1,507 @@
|
|||||||
"General" = "一般";
|
/* Main section */
|
||||||
"RemoveAds" = "広告を削除";
|
"Main" = "Main";
|
||||||
"RemoveAdsDesc" = "アプリ内の広告を削除します";
|
|
||||||
"BackgroundPlayback" = "バックグラウンド再生";
|
|
||||||
"BackgroundPlaybackDesc" = "バックグラウンドでの再生を有効にします";
|
|
||||||
|
|
||||||
|
/* Downloading options */
|
||||||
|
"Downloading" = "ダウンロード";
|
||||||
|
"DownloadManager" = "ダウンロードマネジャー";
|
||||||
|
"DownloadManagerDesc" = "プレーヤー下の「オフライン」ボタンのアクションを「ダウンロードマネージャー」に置き換えます。これにより、ビデオ、オーディオ、サムネイル画像のダウンロード、およびビデオ情報のコピーが可能になります。";
|
||||||
|
"PostManager" = "投稿情報を保存する";
|
||||||
|
"PostManagerDesc" = "概要欄を長押しするとテキストを選択できるようになり、コピーなどができます。";
|
||||||
|
"SaveProfilePhoto" = "プロフィール写真を保存する";
|
||||||
|
"SaveProfilePhotoDesc" = "長押しするとプロフィール写真が写真アプリに保存されます。";
|
||||||
|
"CommentManager" = "コメント情報を保存する";
|
||||||
|
"CommentManagerDesc" = "コメント欄を長押しするとテキストをコピーしたり、コメントを画像として保存などができます。";
|
||||||
|
|
||||||
|
"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" = "ナビゲーションバー";
|
"Navbar" = "ナビゲーションバー";
|
||||||
"RemoveCast" = "キャストボタンを非表示";
|
"RemoveCast" = "キャストボタンを非表示";
|
||||||
"RemoveCastDesc" = "ナビゲーションバーからキャストボタンを非表示にします";
|
"RemoveCastDesc" = "ナビゲーションバーからキャストボタンを非表示にします。";
|
||||||
"RemoveNotifications" = "通知ボタンを非表示";
|
"RemoveNotifications" = "通知ボタンを非表示";
|
||||||
"RemoveNotificationsDesc" = "ナビゲーションバーから通知ボタンを非表示にします";
|
"RemoveNotificationsDesc" = "ナビゲーションバーから通知ボタンを非表示にします。";
|
||||||
"RemoveSearch" = "検索ボタンを非表示";
|
"RemoveSearch" = "検索ボタンを非表示";
|
||||||
"RemoveSearchDesc" = "ナビゲーションバーから検索ボタンを非表示にします";
|
"RemoveSearchDesc" = "ナビゲーションバーから検索ボタンを非表示にします。";
|
||||||
"RemoveVoiceSearch" = "音声検索ボタンを非表示";
|
"RemoveVoiceSearch" = "音声検索ボタンを非表示";
|
||||||
"RemoveVoiceSearchDesc" = "ナビゲーションバーから音声検索ボタンを非表示にします";
|
"RemoveVoiceSearchDesc" = "ナビゲーションバーから音声検索ボタンを非表示にします。";
|
||||||
"StickyNavbar" = "ナビゲーションバーを固定";
|
"StickyNavbar" = "ナビゲーションバーを固定";
|
||||||
"StickyNavbarDesc" = "スクロール中もナビゲーションバーを固定して表示します";
|
"StickyNavbarDesc" = "スクロール中もナビゲーションバーを固定して表示します。";
|
||||||
"NoSubbar" = "サブバーを非表示";
|
"NoSubbar" = "サブバーを非表示";
|
||||||
"NoSubbarDesc" = "ナビゲーションバーの下にあるサブバー(すべて,音楽,ライブ など)を非表示にします";
|
"NoSubbarDesc" = "ナビゲーションバーの下にあるサブバー(すべて、音楽、ライブなど)を非表示にします。";
|
||||||
"NoYTLogo" = "YouTubeロゴを削除";
|
"NoYTLogo" = "YouTubeロゴを削除";
|
||||||
"NoYTLogoDesc" = "ナビゲーションバーのYouTubeロゴを非表示にします";
|
"NoYTLogoDesc" = "ナビゲーションバーのYouTubeロゴを非表示にします。";
|
||||||
|
"PremiumYTLogo" = "YouTubeプレミアムロゴをセット";
|
||||||
|
"PremiumYTLogoDesc" = "ロゴをYouTubeプレミアムのものへ置き換えます。";
|
||||||
|
|
||||||
"Overlay" = "オーバーレイ";
|
/* Feed options */
|
||||||
|
"Feed" = "フィード";
|
||||||
|
"RemoveAds" = "広告を削除";
|
||||||
|
"RemoveAdsDesc" = "アプリ内の広告を削除します";
|
||||||
|
"HideShorts" = "ショート動画を非表示";
|
||||||
|
"HideShortsDesc" = "ホーム、おすすめなどからショート動画を非表示にします(視聴履歴には適用されません)";
|
||||||
|
"KeepSubsShorts" = "ショート動画を登録リストに残す";
|
||||||
|
"KeepSubsShortsDesc" = "[登録チャンネル] タブからショート動画を削除できないようにします。";
|
||||||
|
"RemoveCommunityPosts" = "コミュニティ投稿を削除する";
|
||||||
|
"RemoveCommunityPostsDesc" = "フィードからコミュニティ投稿を削除します。";
|
||||||
|
"RemoveMoreTopics" = "その他のトピックを削除";
|
||||||
|
"RemoveMoreTopicsDesc" = "フィードから「その他のトピック」を削除します。";
|
||||||
|
"RemoveMixPlaylists" = "Remove mixes";
|
||||||
|
"RemoveMixPlaylistsDesc" = "Removes mix playlist generated by YouTube from the feed.";
|
||||||
|
"RemoveLiveVids" = "Remove Live streams";
|
||||||
|
"RemoveLiveVidsDesc" = "Removes Live streams from the Home tab.";
|
||||||
|
"RemoveHorizontalFeeds" = "Remove horizontal feeds";
|
||||||
|
"RemoveHorizontalFeedsDesc" = "Removes all horizontal feeds (News, Continue Watching, Posts collection, etc.) from the Home tab.";
|
||||||
|
"FixAlbums" = "カバーの修正";
|
||||||
|
"FixAlbumsDesc" = "ロシアユーザー向けのカバーの表示を修正します。";
|
||||||
|
|
||||||
|
/* Player options */
|
||||||
|
"Player" = "プレーヤー";
|
||||||
|
"PlaybackQualityOnWiFi" = "WiFiでの再生品質";
|
||||||
|
"PlaybackQualityOnCellular" = "モバイル通信での再生品質";
|
||||||
|
|
||||||
|
"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" = "インターフェース";
|
||||||
|
"SpeedControls" = "スピードコントロール";
|
||||||
|
"SpeedControlsDesc" = "オーバーレイにスピードコントロールボタンを表示します。";
|
||||||
"HideAutoplay" = "自動再生スイッチを非表示";
|
"HideAutoplay" = "自動再生スイッチを非表示";
|
||||||
"HideAutoplayDesc" = "オーバーレイから自動再生スイッチを非表示にします";
|
"HideAutoplayDesc" = "オーバーレイから自動再生スイッチを非表示にします。";
|
||||||
"HideSubs" = "字幕ボタンを非表示";
|
"HideSubs" = "字幕ボタンを非表示";
|
||||||
"HideSubsDesc" = "オーバーレイから字幕ボタンを非表示にします";
|
"HideSubsDesc" = "オーバーレイから字幕ボタンを非表示にします。";
|
||||||
"NoHUDMsgs" = "HUDメッセージを非表示";
|
|
||||||
"NoHUDMsgsDesc" = "プレーヤーからすべての機能メッセージを非表示にします。例:字幕がオン/オフになりました, ループ再生はオンになっています など";
|
|
||||||
"HidePrevNext" = "前へ/次へボタンを非表示";
|
"HidePrevNext" = "前へ/次へボタンを非表示";
|
||||||
"HidePrevNextDesc" = "オーバーレイから前へ/次へのビデオボタンを非表示にします";
|
"HidePrevNextDesc" = "オーバーレイから前へ/次へのビデオボタンを非表示にします。";
|
||||||
"ReplacePrevNext" = "早送り/巻き戻しボタンに置き換え";
|
"ReplacePrevNext" = "早送り/巻き戻しボタンに置き換え";
|
||||||
"ReplacePrevNextDesc" = "オーバーレイの前へ/次へボタンを早送り/巻き戻しボタンに置き換えます";
|
"ReplacePrevNextDesc" = "オーバーレイの前へ/次へボタンを早送り/巻き戻しボタンに置き換えます。";
|
||||||
|
"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" = "縦画面フルスクリーンモード";
|
||||||
|
"PortraitFullscreenDesc" = "縦画面フルスクリーンモードをサポートします。";
|
||||||
|
"ClassicQuality" = "クラシックなビデオ品質";
|
||||||
|
"ClassicQualityDesc" = "クラシックなビデオ品質選択メニューを復元します。";
|
||||||
|
"ExtraSpeedOptions" = "再生速度の追加オプション";
|
||||||
|
"ExtraSpeedOptionsDesc" = "プレーヤーメニューに追加の再生速度オプションを追加します。";
|
||||||
"NoDarkBg" = "暗い背景を削除";
|
"NoDarkBg" = "暗い背景を削除";
|
||||||
"NoDarkBgDesc" = "オーバーレイの暗い背景を削除します";
|
"NoDarkBgDesc" = "オーバーレイの暗い背景を削除します。";
|
||||||
"NoEndScreenCards" = "エンドスクリーンのホバーカードを非表示";
|
"NoEndScreenCards" = "エンドスクリーンのホバーカードを非表示";
|
||||||
"NoEndScreenCardsDesc" = "動画の終わりに表示されるエンドスクリーン(サムネイル)を非表示にします";
|
"NoEndScreenCardsDesc" = "動画の終わりに表示されるエンドスクリーン(サムネイル)を非表示にします。";
|
||||||
|
"NoAutonavEndScreenCards" = "自動再生画面を非表示にする";
|
||||||
|
"NoAutonavEndScreenCardsDesc" = "再生終了後に次に再生できるものを表示する画面を非表示にします。このオプションで無効にすると、自動再生も無効になります。";
|
||||||
"NoFullscreenActions" = "フルスクリーンアクションを無効化";
|
"NoFullscreenActions" = "フルスクリーンアクションを無効化";
|
||||||
"NoFullscreenActionsDesc" = "フルスクリーンモードでのアクションパネルを無効にします";
|
"NoFullscreenActionsDesc" = "フルスクリーンモードでのアクションパネルを無効にします";
|
||||||
"PersistentProgressBar" = "Persistent progress bar";
|
"PersistentProgressBar" = "プログレスバーの持続";
|
||||||
"PersistentProgressBarDesc" = "Always shows progress bar in the player.";
|
"PersistentProgressBarDesc" = "全画面プレーヤーでもプログレスバーを常に表示します。";
|
||||||
|
"RedProgressBar" = "赤いプログレスバー";
|
||||||
|
"RedProgressBarDesc" = "赤いプログレスバーを復元します。";
|
||||||
|
"StockVolumeHUD" = "ボリュームHUD";
|
||||||
|
"StockVolumeHUDDesc" = "フルスクリーンの時でもiOSデフォルトのボリュームHUDを使用します。";
|
||||||
"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" = "Disable auto captions";
|
"DisableAutoCaptions" = "自動字幕を無効にする";
|
||||||
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
|
"DisableAutoCaptionsDesc" = "キャプションの自動アクティブ化を防止します。";
|
||||||
"NoContentWarning" = "コンテンツ警告をスキップ";
|
"NoContentWarning" = "コンテンツ警告をスキップ";
|
||||||
"NoContentWarningDesc" = "不適切なコンテンツの警告メッセージをスキップします";
|
"NoContentWarningDesc" = "不適切なコンテンツの警告メッセージをスキップします。";
|
||||||
"ClassicQuality" = "クラシックなビデオ品質";
|
"NoHints" = "ヒントを無効化";
|
||||||
"ClassicQualityDesc" = "クラシックなビデオ品質選択メニューを復元します";
|
"NoHintsDesc" = "再生中に右上に表示される投稿者のヒントを無効にします。";
|
||||||
"ExtraSpeedOptions" = "再生速度の追加オプション";
|
"AutoFullscreen" = "動画をフルスクリーンで再生";
|
||||||
"ExtraSpeedOptionsDesc" = "プレーヤーメニューに追加の再生速度オプションを追加します";
|
"AutoFullscreenDesc" = "動画を自動的にフルスクリーンモードで再生します。";
|
||||||
|
"ExitFullscreen" = "再生終了時にフルスクリーンモードを終了";
|
||||||
|
"ExitFullscreenDesc" = "動画再生が終了したときにフルスクリーンモードを終了します。";
|
||||||
|
|
||||||
|
"Player.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" = "再生速度を維持";
|
||||||
|
"AdjustWithFinger" = "ジェスチャーで速度を調整する";
|
||||||
|
"AdjustWithFingerDesc" = "プレーヤーを長押しして指を上下に動かすことで再生速度を調整できます。";
|
||||||
|
"PreserveSpeed" = "速度を維持";
|
||||||
|
"PreserveSpeedDesc" = "ジェスチャー終了後も調整された速度を維持します。";
|
||||||
|
"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" = "2本の指で一時停止";
|
||||||
|
"TwoFingerTapToPauseDesc" = "2 本の指で画面をタップして再生を一時停止/再開します。";
|
||||||
|
"TwoFingerPanToBrightness" = "明るさを調整する";
|
||||||
|
"TwoFingerPanToBrightnessDesc" = "2 本の指で上下にスライドして画面の明るさを調整できます。";
|
||||||
|
"CopyWithTimestamp" = "タイムスタンプ付きリンクをコピー";
|
||||||
|
"CopyWithTimestampDesc" = "一時停止ボタンを押すことで、タイムスタンプ付きリンクをクリップボードにコピーできます。";
|
||||||
|
"PauseOnOverlay" = "オーバーレイで一時停止";
|
||||||
|
"PauseOnOverlayDesc" = "オーバーレイが表示された場合、再生を一時停止します。";
|
||||||
"DontSnap2Chapter" = "チャプターへのスナップを無効化";
|
"DontSnap2Chapter" = "チャプターへのスナップを無効化";
|
||||||
"DontSnap2ChapterDesc" = "ダブルタップジェスチャーで次のエピソードへスキップするのを無効にします";
|
"DontSnap2ChapterDesc" = "ダブルタップジェスチャーで次のエピソードへスキップするのを無効にします";
|
||||||
"RedProgressBar" = "赤いプログレスバー";
|
"NoTwoFingerSnapToChapter" = "2本指ダブルタップを無効にする";
|
||||||
"RedProgressBarDesc" = "赤いプログレスバーを復元します";
|
"NoTwoFingerSnapToChapterDesc" = "2本指でダブルタップしてチャプターにスナップするジェスチャを無効にします。";
|
||||||
"NoHints" = "ヒントを無効化";
|
|
||||||
"NoHintsDesc" = "再生中に右上に表示される投稿者のヒントを無効にします";
|
|
||||||
"NoFreeZoom" = "フリーズームジェスチャーを無効化";
|
"NoFreeZoom" = "フリーズームジェスチャーを無効化";
|
||||||
"NoFreeZoomDesc" = "新しいフリーズームジェスチャーを無効にします";
|
"NoFreeZoomDesc" = "新しいフリーズームジェスチャーを無効にします。";
|
||||||
"AutoFullscreen" = "動画をフルスクリーンで再生";
|
|
||||||
"AutoFullscreenDesc" = "動画を自動的にフルスクリーンモードで再生します";
|
|
||||||
"ExitFullscreen" = "再生終了時にフルスクリーンモードを終了";
|
|
||||||
"ExitFullscreenDesc" = "動画再生が終了したときにフルスクリーンモードを終了します";
|
|
||||||
"NoDoubleTap2Seek" = "ダブルタップでのシークを無効化";
|
"NoDoubleTap2Seek" = "ダブルタップでのシークを無効化";
|
||||||
"NoDoubleTap2SeekDesc" = "ダブルタップでのシークジェスチャーを無効にします";
|
"NoDoubleTap2SeekDesc" = "ダブルタップでのシークジェスチャーを無効にします。";
|
||||||
|
|
||||||
"Tabbar" = "タブバー";
|
|
||||||
"RemoveLabels" = "ラベルを削除";
|
|
||||||
"RemoveLabelsDesc" = "タブラベルを削除します";
|
|
||||||
"RemoveIndicators" = "インジケーターを削除";
|
|
||||||
"RemoveIndicatorsDesc" = "タブインジケーターを削除します";
|
|
||||||
"ReExplore" = "ショートタブを探索タブに置き換え";
|
|
||||||
"ReExploreDesc" = "古いYouTubeバージョンのように、ショートタブの代わりに探索タブを表示します";
|
|
||||||
"AddExplore" = "Add Explore tab";
|
|
||||||
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
|
|
||||||
"HideShortsTab" = "ショートタブを非表示";
|
|
||||||
"HideShortsTabDesc" = "タブバーからショートタブを非表示にします";
|
|
||||||
"HideSubscriptionsTab" = "登録チャンネルタブを非表示";
|
|
||||||
"HideSubscriptionsTabDesc" = "タブバーから登録チャンネルタブを非表示にします";
|
|
||||||
"HideUploadButton" = "アップロードボタンを非表示";
|
|
||||||
"HideUploadButtonDesc" = "タブバーからアップロードボタンを非表示にします";
|
|
||||||
"HideLibraryTab" = "ライブラリタブを非表示";
|
|
||||||
"HideLibraryTabDesc" = "タブバーからライブラリタブを非表示にします";
|
|
||||||
|
|
||||||
|
/* Shorts options */
|
||||||
"Shorts" = "ショート";
|
"Shorts" = "ショート";
|
||||||
"ShortsOnlyMode" = "Shorts Only Mode";
|
"PlaybackMode" = "Playback completion action";
|
||||||
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
|
"Loop" = "Loop";
|
||||||
"HideShorts" = "ショート動画を非表示";
|
"ScrollToNext" = "Scroll to next";
|
||||||
"HideShortsDesc" = "ホーム, おすすめなどからショート動画を非表示にします(視聴履歴には適用されません)";
|
"Stop" = "Stop";
|
||||||
|
"AutoSkipShorts" = "ショート動画を自動スキップ";
|
||||||
|
"ShortsOnlyMode" = "ショートのみモード";
|
||||||
|
"ShortsOnlyModeDesc" = "YouTubeの機能をショート動画の視聴のみに制限します。注意:これをOnにすると他の操作は行えません。";
|
||||||
|
"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" = "プログレスバーを有効化";
|
"ShortsProgress" = "プログレスバーを有効化";
|
||||||
"ShortsProgressDesc" = "ショートオーバーレイにプログレスバーを表示します";
|
"ShortsProgressDesc" = "ショートオーバーレイにプログレスバーを表示します。";
|
||||||
"PinchToFullscreenShorts" = "Pinch to Fullscreen";
|
"SpeedByLongTap" = "ショート動画の再生速度を上げる";
|
||||||
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
|
"SpeedByLongTapDesc" = "画面の特定の部分を長押しすることで再生速度をUpできます。";
|
||||||
"ShortsToRegular" = "Shorts to regular videos";
|
"SpeedLocation" = "アクティベーションの場所";
|
||||||
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
|
"PinchToFullscreenShorts" = "ピンチして全画面表示";
|
||||||
"ResumeShorts" = "ショートタブからの再開を防止";
|
"PinchToFullscreenShortsDesc" = "ピンチインとピンチアウトのジェスチャでオーバーレイの表示を管理し、ショート動画を全画面モードで表示します。";
|
||||||
"ResumeShortsDesc" = "ショートを視聴中にアプリを閉じた場合でも、ショートからの再開を防止します";
|
"ShortsToRegular" = "ショートから通常の動画";
|
||||||
|
"ShortsToRegularDesc" = "ショート動画を通常の動画として開きます。";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
"HideShortsLogo" = "ショートロゴを非表示";
|
"HideShortsLogo" = "ショートロゴを非表示";
|
||||||
"HideShortsLogoDesc" = "左上隅のショートロゴを非表示にします";
|
"HideShortsLogoDesc" = "左上隅のショートロゴを非表示にします。";
|
||||||
"HideShortsSearch" = "検索ボタンを非表示";
|
"HideShortsSearch" = "検索ボタンを非表示";
|
||||||
"HideShortsSearchDesc" = "ショートオーバーレイから検索ボタンを非表示にします";
|
"HideShortsSearchDesc" = "ショートオーバーレイから検索ボタンを非表示にします。";
|
||||||
"HideShortsCamera" = "カメラボタンを非表示";
|
"HideShortsCamera" = "カメラボタンを非表示";
|
||||||
"HideShortsCameraDesc" = "ショートオーバーレイからカメラボタンを非表示にします";
|
"HideShortsCameraDesc" = "ショートオーバーレイからカメラボタンを非表示にします。";
|
||||||
"HideShortsMore" = "その他(⋮)ボタンを非表示";
|
"HideShortsMore" = "その他「⋮」ボタンを非表示";
|
||||||
"HideShortsMoreDesc" = "ショートオーバーレイからその他(⋮)ボタンを非表示にします。画面の長押しでアクセスも可能です";
|
"HideShortsMoreDesc" = "ショートオーバーレイからその他「⋮」ボタンを非表示にします。画面の長押しでアクセスも可能です。";
|
||||||
"HideShortsSubscriptions" = "チャンネル登録ボタンを非表示";
|
"HideShortsSubscriptions" = "チャンネル登録ボタンを非表示";
|
||||||
"HideShortsSubscriptionsDesc" = "ショートが一時停止されたときに表示されるチャンネル登録ボタンを非表示にします";
|
"HideShortsSubscriptionsDesc" = "ショートが一時停止されたときに表示されるチャンネル登録ボタンを非表示にします。";
|
||||||
"HideShortsLike" = "いいねボタンを非表示";
|
|
||||||
"HideShortsLikeDesc" = "ショートオーバーレイからいいねボタンを非表示にします";
|
|
||||||
"HideShortsDislike" = "低評価ボタンを非表示";
|
|
||||||
"HideShortsDislikeDesc" = "ショートオーバーレイから低評価ボタンを非表示にします";
|
|
||||||
"HideShortsComments" = "コメントボタンを非表示";
|
|
||||||
"HideShortsCommentsDesc" = "ショートオーバーレイからコメントボタンを非表示にします";
|
|
||||||
"HideShortsRemix" = "リミックスボタンを非表示";
|
|
||||||
"HideShortsRemixDesc" = "ショートオーバーレイからリミックスボタンを非表示にします";
|
|
||||||
"HideShortsShare" = "共有ボタンを非表示";
|
|
||||||
"HideShortsShareDesc" = "ショートオーバーレイから共有ボタンを非表示にします";
|
|
||||||
"HideShortsAvatars" = "チャンネルのアバターを非表示";
|
|
||||||
"HideShortsAvatarsDesc" = "右下隅のプロフィール画像を非表示にします";
|
|
||||||
"HideShortsThanks" = "スーパーサンクスボタンを非表示";
|
|
||||||
"HideShortsThanksDesc" = "ショートオーバーレイからスーパーサンクス(寄付)ボタンを非表示にします";
|
|
||||||
"HideShortsSource" = "Hide Shorts Source";
|
|
||||||
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
|
|
||||||
"HideShortsChannelName" = "チャンネル名を非表示";
|
|
||||||
"HideShortsChannelNameDesc" = "ショートオーバーレイからチャンネル名とチャンネル登録ボタンを非表示にします";
|
|
||||||
"HideShortsDescription" = "説明を非表示";
|
|
||||||
"HideShortsDescriptionDesc" = "チャンネル名の下に表示されるショートの説明を非表示にします";
|
|
||||||
"HideShortsAudioTrack" = "オーディオトラックを非表示";
|
|
||||||
"HideShortsAudioTrackDesc" = "ショートの説明の下に表示されるオーディオトラックを非表示にします";
|
|
||||||
|
|
||||||
"Other" = "その他";
|
/* Tab bar options */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "タブバー";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "スタートアップページ";
|
||||||
"SavePostImage" = "Save community posts image";
|
"FEwhat_to_watch" = "ホーム";
|
||||||
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap.";
|
"FEexplore" = "探索";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "ショート";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "登録チャンネル";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "ライブラリ";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "Create";
|
||||||
"RemovePlayNext" = "\"次に再生\"を削除";
|
"FEhistory" = "History";
|
||||||
"RemovePlayNextDesc" = "メニューから\"次に再生\"オプションを削除します";
|
"VLWL" = "Watch Later";
|
||||||
"NoContinueWatching" = "\"続きを見る\"を削除";
|
|
||||||
"NoContinueWatchingDesc" = "ホームページに未完成の動画を含む\"続きを見る\"セクションを削除します";
|
"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" = "検索履歴を非表示";
|
"NoSearchHistory" = "検索履歴を非表示";
|
||||||
"NoSearchHistoryDesc" = "検索履歴とサジェストを視覚的に非表示にします。注意:検索履歴は他のYouTubeクライアントからアクセス可能です";
|
"NoSearchHistoryDesc" = "検索履歴とサジェストを視覚的に非表示にします。注意:検索履歴は他のYouTubeクライアントからアクセス可能です。";
|
||||||
"NoRelatedWatchNexts" = "プレーヤー下のすべての動画を非表示";
|
"NoRelatedWatchNexts" = "プレーヤー下のすべての動画を非表示";
|
||||||
"NoRelatedWatchNextsDesc" = "プレーヤー下に表示されるすべての動画を非表示にし、動画情報とコメントセクションのみにします";
|
"NoRelatedWatchNextsDesc" = "プレーヤー下に表示されるすべての動画を非表示にし、動画情報とコメントセクションのみにします。";
|
||||||
"StickSortComments" = "コメントヘッダーを固定";
|
"StickSortComments" = "コメントヘッダーを固定";
|
||||||
"StickSortCommentsDesc" = "コメントのソートヘッダー(トップ,最新)をスクロールしても消えないように固定します";
|
"StickSortCommentsDesc" = "コメントのソートヘッダー(トップ、最新)をスクロールしても消えないように固定します。";
|
||||||
"HideSortComments" = "コメントヘッダーを非表示";
|
"HideSortComments" = "コメントヘッダーを非表示";
|
||||||
"HideSortCommentsDesc" = "コメントのソートヘッダー(トップ,最新)を表示しないようにします";
|
"HideSortCommentsDesc" = "コメントのソートヘッダー(トップ、最新)を表示しないようにします。";
|
||||||
"PlaylistOldMinibar" = "古いプレイリストミニバー";
|
"PlaylistOldMinibar" = "古いプレイリストミニバー";
|
||||||
"PlaylistOldMinibarDesc" = "新しいフローティングプレイリストパネルを古いものに置き換えます";
|
"PlaylistOldMinibarDesc" = "新しいフローティングプレイリストパネルを古いものに置き換えます。";
|
||||||
|
"OldYTUI" = "古い UI";
|
||||||
|
"OldYTUIDesc" = "YouTubeバージョンを偽装して、古いインターフェースに戻します。";
|
||||||
"DisableRTL" = "RTLフォーマットを無効化";
|
"DisableRTL" = "RTLフォーマットを無効化";
|
||||||
"DisableRTLDesc" = "RTLで表示される言語を左から右(LTR)の形式で表示するように強制します";
|
"DisableRTLDesc" = "RTLで表示される言語を左から右(LTR)の形式で表示するように強制します";
|
||||||
|
|
||||||
"Startup" = "スタートアップページ";
|
"StartupAnimation" = "起動アニメーション";
|
||||||
"Home" = "ホーム";
|
"StartupAnimationDesc" = "YouTubeの起動読み込みアニメーションを表示します。";
|
||||||
"Explore" = "探索";
|
|
||||||
"ShortsTab" = "ショート";
|
|
||||||
"Subscriptions" = "登録チャンネル";
|
|
||||||
"Library" = "ライブラリ";
|
|
||||||
"Warning" = "警告";
|
|
||||||
"TabIsHidden" = "非表示のタブはスタートアップページとして選択できません";
|
|
||||||
|
|
||||||
"Version" = "バージョン";
|
"InterfaceStyle" = "Interface style";
|
||||||
"About" = "About";
|
|
||||||
|
"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" = "クレジット";
|
"Credits" = "クレジット";
|
||||||
"Developer" = "YTLiteの開発者";
|
|
||||||
|
"Contributors" = "コントリビュータ";
|
||||||
|
"DevContribution" = "Contribution to development";
|
||||||
|
"SpecialThanks" = "Special thanks";
|
||||||
|
"SpecialThanks.Test" = "Tweakテストの貴重な貢献";
|
||||||
|
|
||||||
|
"Localizations" = "Localization authors";
|
||||||
"ChineseSimplified" = "中国語(簡体字)翻訳";
|
"ChineseSimplified" = "中国語(簡体字)翻訳";
|
||||||
"ChineseTraditional" = "中国語(繁体字)翻訳";
|
"ChineseTraditional" = "中国語(繁体字)翻訳";
|
||||||
"French" = "フランス語翻訳";
|
"French" = "フランス語翻訳";
|
||||||
"Spanish" = "スペイン語翻訳";
|
"Spanish" = "スペイン語翻訳";
|
||||||
"Japanese" = "日本語翻訳";
|
"Japanese" = "日本語翻訳";
|
||||||
"Advanced" = "アドバンスモード";
|
"Vietnamese" = "ベトナム語翻訳";
|
||||||
"AdvancedModeReminder" = "YTLiteでアドバンスモードを有効にしますか?\n\nこのモードでは50以上の追加オプションを使用してYouTubeのカスタマイズと最適化が可能です。後で、設定 → %@ → %@ → %@から変更できます";
|
"Arabic" = "Arabic localization";
|
||||||
"ResetSettings" = "YTLiteの設定をリセット";
|
"Turkish" = "Turkish localization";
|
||||||
"ResetMessage" = "このオプションを選択するとYTLiteの設定がデフォルトにリセットされ、アプリが終了します。\n\n続行してもよろしいですか?";
|
|
||||||
"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.";
|
"OpenSourceLibs" = "オープンソース ライブラリ";
|
||||||
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off";
|
|
||||||
|
"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" = "はい";
|
"Yes" = "はい";
|
||||||
"No" = "いいえ";
|
"No" = "いいえ";
|
||||||
|
|
||||||
"Copied" = "Copied to clipboard";
|
"Select" = "選択";
|
||||||
"Saved" = "Saved to Photos";
|
"Default" = "デフォルト";
|
||||||
"Error" = "Error";
|
"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,42 +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 */
|
||||||
"CopyPostText" = "Копировать текст постов";
|
"Tabbar" = "Панель вкладок";
|
||||||
"CopyPostTextDesc" = "Копирует текст постов в буфер обмена долгим нажатием.";
|
"Startup" = "Начальная страница";
|
||||||
"SavePostImage" = "Сохранять изображения постов";
|
"FEwhat_to_watch" = "Главная";
|
||||||
"SavePostImageDesc" = "Сохраняет изображения постов в «Фото» долгим нажатием по ним.";
|
"FEexplore" = "Навигация";
|
||||||
"SaveProfilePhoto" = "Сохранять фото профиля";
|
"FEshorts" = "Shorts";
|
||||||
"SaveProfilePhotoDesc" = "Сохраняет фото профиля в «Фото» долгим нажатием по нему.";
|
"FEsubscriptions" = "Подписки";
|
||||||
"FixAlbums" = "Исправить отображение обложек";
|
"FElibrary" = "Библиотека";
|
||||||
"FixAlbumsDesc" = "Исправляет отображение обложек в том случае, если вы из России.";
|
"FEuploads" = "Создать";
|
||||||
"RemovePlayNext" = "Убрать «Добавить в начало очереди»";
|
"FEhistory" = "История";
|
||||||
"RemovePlayNextDesc" = "Убирает опцию «Добавить в начало очереди» из меню видео.";
|
"VLWL" = "Смотреть позже";
|
||||||
"NoContinueWatching" = "Отключить «Продолжить просмотр»";
|
|
||||||
"NoContinueWatchingDesc" = "Удаляет блок «Продолжить просмотр» содержащий недосмотренные видео с Главной страницы.";
|
"RemoveLabels" = "Скрыть названия вкладок";
|
||||||
|
"RemoveIndicators" = "Скрыть индикаторы вкладок";
|
||||||
|
|
||||||
|
"ActiveTabs" = "Отображаемые вкладки";
|
||||||
|
"InactiveTabs" = "Скрытые вкладки";
|
||||||
|
"HideLibraryFooter" = "Вкладку «Библиотека» можно скрыть и отобразить долгим нажатием по первой вкладке в панели вкладок.";
|
||||||
|
"Warning" = "Внимание";
|
||||||
|
"TabIsHidden" = "Скрытая вкладка не может быть выбрана в качестве начальной страницы";
|
||||||
|
"TabIsStartupTab" = "Вкладка, выбранная в качестве начальной страницы, не может быть скрыта";
|
||||||
|
"TabsCountRestricted" = "Можно добавлять не более шести активных вкладок";
|
||||||
|
|
||||||
|
/* Interface options */
|
||||||
|
"Interface" = "Интерфейс";
|
||||||
|
"OledTheme" = "Oled режим";
|
||||||
|
"OledThemeDesc" = "Заменяет темные цвета черным";
|
||||||
"NoSearchHistory" = "Скрыть историю поиска";
|
"NoSearchHistory" = "Скрыть историю поиска";
|
||||||
"NoSearchHistoryDesc" = "Визуально скрывает историю поиска и подсказок. Данная опция не отменяет трекинг вашей истории поиска.";
|
"NoSearchHistoryDesc" = "Визуально скрывает историю поиска и подсказок. Данная опция не отменяет трекинг вашей истории поиска.";
|
||||||
"NoRelatedWatchNexts" = "Скрыть все видео под плеером";
|
"NoRelatedWatchNexts" = "Скрыть все видео под плеером";
|
||||||
@@ -165,36 +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" = "Скрытая вкладка не может быть выбрана в качестве начальной страницы";
|
|
||||||
|
|
||||||
"Version" = "Версия";
|
"InterfaceStyle" = "Стиль интерфейса";
|
||||||
"About" = "О твике";
|
|
||||||
|
"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" = "Похоже на спонсорскую, но для бесплатной рекламы и саморекламы. Включает себя вставки про мерч, пожертвования или информацию о тех, вместе с кем было сделано видео.";
|
||||||
|
"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" = "Японская локализация";
|
||||||
"Advanced" = "Расширенный режим";
|
"Vietnamese" = "Вьетнамская локализация";
|
||||||
"AdvancedModeReminder" = "Хотите ли вы активировать расширенный режим настроек YTLite?\n\nДанный режим добавляет более 50 опций для тонкой настройки YouTube. Вы всегда сможете включить/отключить расширенный режим перейдя в Настройки → %@ → %@ → %@.";
|
"Arabic" = "Арабская локализация";
|
||||||
"ResetSettings" = "Сбросить настройки твика";
|
"Turkish" = "Турецкая локализация";
|
||||||
"ResetMessage" = "Данное действие сбросит настройки YTLite к значениям по умолчанию и закроет YouTube.\n\nУверены, что хотите продолжить?";
|
|
||||||
|
"OpenSourceLibs" = "Библиотеки с исходным кодом";
|
||||||
|
|
||||||
|
"Preferences" = "Параметры %@";
|
||||||
|
"ManagePreferences" = "Управление настройками";
|
||||||
|
"ImportPreferences" = "Импортировать настройки";
|
||||||
|
"PreImportMessage" = "Данное действие перезапишет существующие настройки твика на те, что будут в выбираемом файле.\n\nУверены, что хотите продолжить?";
|
||||||
|
"ExportPreferences" = "Экспортировать настройки";
|
||||||
|
"ResetSettings" = "Восстановить настройки по умолчанию";
|
||||||
|
"ResetMessage" = "Данное действие вернет настройки YTPlus к значениям по умолчанию.\n\nУверены, что хотите продолжить?";
|
||||||
|
|
||||||
|
"ManageCache" = "Управление кешем";
|
||||||
|
"ClearCacheAtStart" = "Очищать кеш при запуске";
|
||||||
|
"ClearCacheAtStartDesc" = "Автоматическая очистка кеша при каждом запуске.";
|
||||||
|
"ClearCache" = "Очистить кеш";
|
||||||
|
|
||||||
|
"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" = "Выберите действие";
|
||||||
|
"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" = "Скопировано в буфер обмена";
|
"Copied" = "Скопировано в буфер обмена";
|
||||||
"Saved" = "Сохранено в Фото";
|
"Saved" = "Сохранено в Фото";
|
||||||
|
"Done" = "Готово";
|
||||||
|
"NothingToShowInMenu" = "В данном меню нечего отображать";
|
||||||
"Error" = "Ошибка";
|
"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 |
@@ -0,0 +1,507 @@
|
|||||||
|
/* Main section */
|
||||||
|
"Main" = "Chủ yếu";
|
||||||
|
|
||||||
|
/* Downloading options */
|
||||||
|
"Downloading" = "Tải xuống";
|
||||||
|
"DownloadManager" = "Trình quản lý tải xuố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.";
|
||||||
|
"PostManager" = "Lưu bài đă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ữ.";
|
||||||
|
"SaveProfilePhoto" = "Lưu ảnh hồ sơ";
|
||||||
|
"SaveProfilePhotoDesc" = "Lưu ảnh hồ sơ vào ứng dụng Ảnh bằng cách nhấn và giữ.";
|
||||||
|
"CommentManager" = "Lưu bình luận";
|
||||||
|
"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ữ.";
|
||||||
|
|
||||||
|
"YtlButtonPosition" = "Vị trí nút tải xuống";
|
||||||
|
"UnderPlayer" = "Dưới người chơi";
|
||||||
|
"Overlay" = "Lớp phủ";
|
||||||
|
"Both" = "Both";
|
||||||
|
|
||||||
|
"PostDownloadAction" = "Hành động sau tải xuố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";
|
||||||
|
"Share" = "Chia sẻ";
|
||||||
|
"Ask" = "Ask";
|
||||||
|
"DownloadCompleted" = "Tải xuống hoàn tất";
|
||||||
|
|
||||||
|
"PreferredAudio" = "Bản âm thanh ưa thích";
|
||||||
|
"Selected" = "Đã chọn";
|
||||||
|
"English" = "Tiếng Anh";
|
||||||
|
"SelectAudioTrack" = "Chọn bản âm thanh";
|
||||||
|
"EnglishNotFound" = "Không tìm thấy bản âm thanh tiếng Anh";
|
||||||
|
|
||||||
|
"Captions" = "Chú thích/Phụ đề";
|
||||||
|
"EmbedCapsToVideos" = "Nhúng chú thích";
|
||||||
|
"EmbedCapsToVideosDesc" = "Nhúng chú thích/phụ đề đã chọn vào video.";
|
||||||
|
"EmbedAutoGenCaps" = "Phụ đề tự động tạo/dịch";
|
||||||
|
"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.";
|
||||||
|
"DownloadCaptions" = "Tải xuống phụ đề";
|
||||||
|
"SelectCaption" = "Chọn chú thích/phụ đề";
|
||||||
|
"Translated" = "đã dịch";
|
||||||
|
"TranslatedAutoGen" = "tự động dịch";
|
||||||
|
|
||||||
|
/* Nav bar options */
|
||||||
|
"Navbar" = "Thanh điều hướng";
|
||||||
|
"RemoveCast" = "Ẩn nút Cast";
|
||||||
|
"RemoveCastDesc" = "Ẩn nút Cast khỏi thanh Điều hướng.";
|
||||||
|
"RemoveNotifications" = "Ẩn nút Thông báo";
|
||||||
|
"RemoveNotificationsDesc" = "Ẩn nút Thông báo khỏi thanh Điều hướng.";
|
||||||
|
"RemoveSearch" = "Ẩn nút Tìm kiếm";
|
||||||
|
"RemoveSearchDesc" = "Ẩn nút Tìm kiếm khỏi thanh Điều hướng.";
|
||||||
|
"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.";
|
||||||
|
"StickyNavbar" = "Thanh điều hướng cố định";
|
||||||
|
"StickyNavbarDesc" = "Ghim thanh Điều hướng để nó vẫn hiển thị khi cuộn xuống.";
|
||||||
|
"NoSubbar" = "Ẩn thanh phụ";
|
||||||
|
"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";
|
||||||
|
"NoYTLogoDesc" = "Xóa biểu tượng YouTube trong thanh Điều hướng.";
|
||||||
|
"PremiumYTLogo" = "Đặt biểu tượng YouTube Premium";
|
||||||
|
"PremiumYTLogoDesc" = "Đặt biểu tượng YouTube Premium trong thanh Điều hướng.";
|
||||||
|
|
||||||
|
/* Feed options */
|
||||||
|
"Feed" = "Feed";
|
||||||
|
"RemoveAds" = "Loại bỏ các quảng cáo";
|
||||||
|
"RemoveAdsDesc" = "Loại bỏ quảng cáo trong ứng dụng.";
|
||||||
|
"HideShorts" = "Ẩn video ngắn (Shorts)";
|
||||||
|
"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)";
|
||||||
|
"KeepSubsShorts" = "Giữ video ngắn trong danh sách đăng ký";
|
||||||
|
"KeepSubsShortsDesc" = "Ngăn chặn việc xóa Video ngắn khỏi tab Đăng ký.";
|
||||||
|
"RemoveCommunityPosts" = "Xóa bài đăng của cộng đồng";
|
||||||
|
"RemoveCommunityPostsDesc" = "Xóa bài đăng của cộng đồng khỏi nguồn cấp dữ liệu.";
|
||||||
|
"RemoveMixPlaylists" = "Xóa hỗn hợp";
|
||||||
|
"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.";
|
||||||
|
"RemoveLiveVids" = "Xóa video trực tiếp";
|
||||||
|
"RemoveLiveVidsDesc" = "Xóa video Trực tiếp khỏi tab Trang chủ.";
|
||||||
|
"RemoveHorizontalFeeds" = "Xóa nguồn cấp dữ liệu ngang";
|
||||||
|
"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.) khỏi tab Trang chủ.";
|
||||||
|
"RemoveMoreTopics" = "Xóa \"Chủ đề khác\"";
|
||||||
|
"RemoveMoreTopicsDesc" = "Xóa \"Chủ đề khác\" khỏi nguồn cấp dữ liệu.";
|
||||||
|
"FixAlbums" = "Sửa Albums";
|
||||||
|
"FixAlbumsDesc" = "Sửa lỗi hiển thị Albums cho người dùng Nga.";
|
||||||
|
|
||||||
|
/* Player options */
|
||||||
|
"Player" = "Trình phát";
|
||||||
|
"PlaybackQualityOnWiFi" = "Chất lượng Video trên mạng Wi-Fi";
|
||||||
|
"PlaybackQualityOnCellular" = "Chất lượng Video trên mạng di động";
|
||||||
|
|
||||||
|
"PreferredCaptions" = "Chú thích ưa thích";
|
||||||
|
"Original" = "Nguyên bản";
|
||||||
|
"Custom" = "Chọn thủ công";
|
||||||
|
"CustomAudioTrack" = "Bản âm thanh được chọn";
|
||||||
|
"CustomCaptions" = "Chú thích đã chọn";
|
||||||
|
"AutoGenCaps" = "Phụ đề được tạo tự động";
|
||||||
|
"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.";
|
||||||
|
|
||||||
|
"Player.Interface" = "Giao diện";
|
||||||
|
"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ủ";
|
||||||
|
"HideAutoplay" = "Ẩn nút Tự động phát";
|
||||||
|
"HideAutoplayDesc" = "Ẩn nút Tự động phát trong trình phát video.";
|
||||||
|
"HideSubs" = "Ẩn nút phụ đề";
|
||||||
|
"HideSubsDesc" = "Ẩn nút Phụ đề khỏi lớp phủ.";
|
||||||
|
"HidePrevNext" = "Ẩn nút Trước và Tiếp theo";
|
||||||
|
"HidePrevNextDesc" = "Ẩn các nút Trước và Tiếp theo khỏi lớp phủ video.";
|
||||||
|
"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.";
|
||||||
|
"RememberLoopMode" = "Ghi nhớ chế độ vòng lặp";
|
||||||
|
"RememberLoopModeDesc" = "Ghi nhớ chế độ vòng lặp được chọn cuối cùng trong menu trình phát.";
|
||||||
|
"FullscreenToTheLeft" = "Toàn màn hình khi xoay trái";
|
||||||
|
"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.";
|
||||||
|
"PortraitFullscreen" = "Chế độ toàn màn hình dọc";
|
||||||
|
"PortraitFullscreenDesc" = "Cho phép hỗ trợ chế độ toàn màn hình dọc.";
|
||||||
|
"ClassicQuality" = "Chất lượng video cổ điển";
|
||||||
|
"ClassicQualityDesc" = "Mang lại menu lựa chọn chất lượng video cổ điển.";
|
||||||
|
"ExtraSpeedOptions" = "Bổ sung tùy chọn tốc độ";
|
||||||
|
"ExtraSpeedOptionsDesc" = "Thêm nhiều tùy chọn tốc độ phát video vào menu trình phát.";
|
||||||
|
"NoDarkBg" = "Xóa nền tối";
|
||||||
|
"NoDarkBgDesc" = "Loại bỏ nền tối của lớp phủ.";
|
||||||
|
"NoEndScreenCards" = "Ẩn video dạng thumbnails";
|
||||||
|
"NoEndScreenCardsDesc" = "Ẩn thumbnail của các video đề xuất, xuất hiện ở cuối video.";
|
||||||
|
"NoAutonavEndScreenCards" = "Ẩn màn hình kết thúc tự động phát";
|
||||||
|
"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";
|
||||||
|
"NoFullscreenActions" = "Vô hiệu hóa các hành động toàn màn hình";
|
||||||
|
"NoFullscreenActionsDesc" = "Vô hiệu hóa bảng hành động ở chế độ toàn màn hình.";
|
||||||
|
"PersistentProgressBar" = "Thanh tiến trình liên tục";
|
||||||
|
"PersistentProgressBarDesc" = "Luôn hiển thị thanh tiến trình trong trình phát.";
|
||||||
|
"RedProgressBar" = "Thanh tiến trình màu đỏ";
|
||||||
|
"RedProgressBarDesc" = "Mang lại thanh tiến trình màu đỏ.";
|
||||||
|
"StockVolumeHUD" = "Sử dụng thanh âm lượng mặc định của iOS";
|
||||||
|
"StockVolumeHUDDesc" = "Sử dụng thanh âm lượng mặc định ở chế độ toàn màn hình.";
|
||||||
|
"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.";
|
||||||
|
"NoPromotionCards" = "Ẩn thẻ Quảng cáo trả phí";
|
||||||
|
"NoPromotionCardsDesc" = "Ẩn thẻ \"Bao gồm quảng cáo trả phí\" trong các video có quảng cáo.";
|
||||||
|
"NoWatermarks" = "Ẩn watermark của kênh";
|
||||||
|
"NoWatermarksDesc" = "Ẩn watermark của kênh trong video. Yêu cầu khởi động lại ứng dụng.";
|
||||||
|
"VideoEndTime" = "Hiển thị thời gian kết thúc phát";
|
||||||
|
"VideoEndTimeDesc" = "Thêm thời gian kết thúc phát video vào thanh trình phát.";
|
||||||
|
"24hrFormat" = "Định dạng 24 giờ";
|
||||||
|
"24hrFormatDesc" = "Hiển thị thời gian kết thúc ở định dạng 24 giờ.";
|
||||||
|
|
||||||
|
"Player.Actions" = "Hành động";
|
||||||
|
"DefaultPlaybackRate" = "Tốc độ phát mặc định";
|
||||||
|
"BackgroundPlayback" = "Phát ở chế độ nền";
|
||||||
|
"BackgroundPlaybackDesc" = "Cho phép phát ở chế độ nền.";
|
||||||
|
"Miniplayer" = "Cho phép sử dụng trình phát thu nhỏ với mọi 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.";
|
||||||
|
"DisableAutoplay" = "Tắt video Tự động phát";
|
||||||
|
"DisableAutoplayDesc" = "Ngăn chặn phát video sau khi mở.";
|
||||||
|
"DisableAutoCaptions" = "Tắt chú thích tự động";
|
||||||
|
"DisableAutoCaptionsDesc" = "Ngăn chặn việc tự động kích hoạt chú thích.";
|
||||||
|
"NoContentWarning" = "Bỏ qua cảnh báo nội dung";
|
||||||
|
"NoContentWarningDesc" = "Bỏ qua thông báo cảnh báo nội dung nhạy cảm.";
|
||||||
|
"NoHints" = "Tắt gợi ý";
|
||||||
|
"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.";
|
||||||
|
"AutoFullscreen" = "Phát video ở chế độ toàn màn hình";
|
||||||
|
"AutoFullscreenDesc" = "Tự động phát video ở chế độ toàn màn hình.";
|
||||||
|
"ExitFullscreen" = "Thoát chế độ toàn màn hình khi hoàn tất";
|
||||||
|
"ExitFullscreenDesc" = "Thoát khỏi chế độ toàn màn hình khi kết thúc phát video.";
|
||||||
|
|
||||||
|
"Player.Gestures" = "Cử chỉ";
|
||||||
|
"LeftSideGesture" = "Cử chỉ cho phía bên trái";
|
||||||
|
"RightSideGesture" = "Cử chỉ cho phía bên phải";
|
||||||
|
"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" = "Giữ tốc độ";
|
||||||
|
"AdjustWithFinger" = "Điều chỉnh tốc độ bằng cử chỉ";
|
||||||
|
"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";
|
||||||
|
"PreserveSpeed" = "Duy trì tốc độ";
|
||||||
|
"PreserveSpeedDesc" = "Duy trì tốc độ đã điều chỉnh sau khi hoàn thành cử chỉ";
|
||||||
|
"SeekAnywhere" = "Vuốt để tìm kiếm";
|
||||||
|
"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.";
|
||||||
|
"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.";
|
||||||
|
"Independent" = "Độc lập";
|
||||||
|
"DurationBased" = "Dựa trên thời lượng";
|
||||||
|
"SeekSensitivity" = "Tìm kiếm sự nhạy cảm";
|
||||||
|
"TwoFingerTapToPause" = "Tạm dừng bằng hai ngón tay";
|
||||||
|
"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.";
|
||||||
|
"TwoFingerPanToBrightness" = "Điều chỉnh độ sáng";
|
||||||
|
"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.";
|
||||||
|
"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.";
|
||||||
|
"PauseOnOverlay" = "Tạm dừng trên lớp phủ";
|
||||||
|
"PauseOnOverlayDesc" = "Đặt chế độ phát ở trạng thái tạm dừng nếu lớp phủ xuất hiện.";
|
||||||
|
"DontSnap2Chapter" = "Tắt tự động chuyển tới chương";
|
||||||
|
"DontSnap2ChapterDesc" = "Tắt tính năng tự động chuyển tới chương gần nhất khi tua video.";
|
||||||
|
"NoTwoFingerSnapToChapter" = "Tắt tính năng chạm 2 lần bằng 2 ngón tay";
|
||||||
|
"NoTwoFingerSnapToChapterDesc" = "Tắt thao tác chạm 2 lần bằng 2 ngón tay để chuyển tới chương.";
|
||||||
|
"NoFreeZoom" = "Tắt tính năng chạm để thu phóng";
|
||||||
|
"NoFreeZoomDesc" = "Tắt tính năng chạm để thu phóng";
|
||||||
|
"NoDoubleTap2Seek" = "Tắt tình năng chạm 2 lần để tua";
|
||||||
|
"NoDoubleTap2SeekDesc" = "Tắt tình năng chạm 2 lần để tua";
|
||||||
|
|
||||||
|
/* Shorts options */
|
||||||
|
"Shorts" = "Video ngắn (Shorts)";
|
||||||
|
"PlaybackMode" = "Playback completion action";
|
||||||
|
"Loop" = "Loop";
|
||||||
|
"ScrollToNext" = "Scroll to next";
|
||||||
|
"Stop" = "Stop";
|
||||||
|
"AutoSkipShorts" = "Tự động bỏ qua Shorts";
|
||||||
|
"ShortsOnlyMode" = "Chế độ chỉ dành cho Short";
|
||||||
|
"ShortsOnlyModeDesc" = "Giới hạn chức năng của YouTube chỉ ở chế độ Short.";
|
||||||
|
"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" = "Bật thanh tiến trình";
|
||||||
|
"ShortsProgressDesc" = "Hiển thị thanh tiến trình trong lớp phủ Shorts.";
|
||||||
|
"SpeedByLongTap" = "Tăng tốc độ phát video ngắn";
|
||||||
|
"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.";
|
||||||
|
"SpeedLocation" = "Vị trí kích hoạt";
|
||||||
|
"PinchToFullscreenShorts" = "Chụm vào toàn màn hình";
|
||||||
|
"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.";
|
||||||
|
"ShortsToRegular" = "Từ Shorts đến video thông thường";
|
||||||
|
"ShortsToRegularDesc" = "Mở Shorts như video thông thường.";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
|
"HideShortsLogo" = "Ẩn biểu tượng video ngắn (Shorts)";
|
||||||
|
"HideShortsLogoDesc" = "Ẩn biểu tượng Shorts ở góc trên cùng bên trá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💜";
|
||||||
+420
-113
@@ -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" = "从导航栏中隐藏投射按钮。";
|
||||||
@@ -17,98 +54,166 @@
|
|||||||
"StickyNavbarDesc" = "固定导航栏,使其在向下滚动时保持可见。";
|
"StickyNavbarDesc" = "固定导航栏,使其在向下滚动时保持可见。";
|
||||||
"NoSubbar" = "隐藏子栏";
|
"NoSubbar" = "隐藏子栏";
|
||||||
"NoSubbarDesc" = "隐藏导航栏下的子栏(全部、新内容、实时等)。";
|
"NoSubbarDesc" = "隐藏导航栏下的子栏(全部、新内容、实时等)。";
|
||||||
"NoYTLogo" = "删除 YouTube Logo";
|
"NoYTLogo" = "删除“YouTube”Logo";
|
||||||
"NoYTLogoDesc" = "删除导航栏中的 YouTube Logo。";
|
"NoYTLogoDesc" = "删除导航栏中的“YouTube”Logo。";
|
||||||
|
"PremiumYTLogo" = "设置“Premium”Logo";
|
||||||
|
"PremiumYTLogoDesc" = "在导航栏中设置“Premium”Logo。";
|
||||||
|
|
||||||
"Overlay" = "播放界面";
|
/* Feed options */
|
||||||
|
"Feed" = "视频流";
|
||||||
|
"RemoveAds" = "移除广告";
|
||||||
|
"RemoveAdsDesc" = "删除程序内的广告。";
|
||||||
|
"HideShorts" = "隐藏短视频";
|
||||||
|
"HideShortsDesc" = "从首页、推荐等隐藏短视频(不适用于观看历史记录)。";
|
||||||
|
"KeepSubsShorts" = "订阅中保留短视频";
|
||||||
|
"KeepSubsShortsDesc" = "防止从“订阅”选项卡中删除短视频。";
|
||||||
|
"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" = "隐藏自动播放开关";
|
"HideAutoplay" = "隐藏自动播放开关";
|
||||||
"HideAutoplayDesc" = "从播放界面隐藏自动播放开关。";
|
"HideAutoplayDesc" = "从播放界面隐藏自动播放开关。";
|
||||||
"HideSubs" = "隐藏字幕按钮";
|
"HideSubs" = "隐藏字幕按钮";
|
||||||
"HideSubsDesc" = "从播放界面隐藏字幕按钮。";
|
"HideSubsDesc" = "从播放界面隐藏字幕按钮。";
|
||||||
"NoHUDMsgs" = "隐藏屏显信息";
|
|
||||||
"NoHUDMsgsDesc" = "隐藏播放界面的所有功能信息。示例:CC按钮打开/关闭、视频循环等。";
|
|
||||||
"HidePrevNext" = "隐藏上一个和下一个按钮";
|
"HidePrevNext" = "隐藏上一个和下一个按钮";
|
||||||
"HidePrevNextDesc" = "从播放界面中隐藏上一个和下一个视频按钮。";
|
"HidePrevNextDesc" = "从播放界面中隐藏上一个和下一个视频按钮。";
|
||||||
"ReplacePrevNext" = "快进和快退按钮";
|
"ReplacePrevNext" = "快进和快退按钮";
|
||||||
"ReplacePrevNextDesc" = "将上一个和下一个视频按钮替换为快进和快退按钮。";
|
"ReplacePrevNextDesc" = "将上一个和下一个视频按钮替换为快进和快退按钮。";
|
||||||
|
"RememberLoopMode" = "记忆循环模式";
|
||||||
|
"RememberLoopModeDesc" = "记住播放器菜单中最后选择的循环模式。";
|
||||||
|
"FullscreenToTheLeft" = "全屏左旋转";
|
||||||
|
"FullscreenToTheLeftDesc" = "点击全屏按钮后,屏幕全屏且向左旋转显示,而不是通常的向右。";
|
||||||
|
"PortraitFullscreen" = "竖屏全屏模式";
|
||||||
|
"PortraitFullscreenDesc" = "启用竖屏全屏模式支持。";
|
||||||
|
"ClassicQuality" = "经典视频质量";
|
||||||
|
"ClassicQualityDesc" = "加回经典的视频质量选择菜单。";
|
||||||
|
"ExtraSpeedOptions" = "扩展速度选项";
|
||||||
|
"ExtraSpeedOptionsDesc" = "在播放器菜单中添加更多视频播放速度的选项。";
|
||||||
"NoDarkBg" = "删除深色背景";
|
"NoDarkBg" = "删除深色背景";
|
||||||
"NoDarkBgDesc" = "删除播放界面的深色背景。";
|
"NoDarkBgDesc" = "删除播放界面的深色背景。";
|
||||||
"NoEndScreenCards" = "隐藏片尾画面";
|
"NoEndScreenCards" = "隐藏片尾画面";
|
||||||
"NoEndScreenCardsDesc" = "隐藏视频结尾处的片尾屏幕(缩略图)。";
|
"NoEndScreenCardsDesc" = "隐藏视频结尾处的片尾屏幕(缩略图)。";
|
||||||
|
"NoAutonavEndScreenCards" = "隐藏自动播放结束画面";
|
||||||
|
"NoAutonavEndScreenCardsDesc" = "播放结束后隐藏接下来可播放的内容,禁用此选项也会禁用自动播放。";
|
||||||
"NoFullscreenActions" = "禁用全屏操作";
|
"NoFullscreenActions" = "禁用全屏操作";
|
||||||
"NoFullscreenActionsDesc" = "在全屏模式下禁用操作面板。";
|
"NoFullscreenActionsDesc" = "在全屏模式下禁用操作面板。";
|
||||||
"PersistentProgressBar" = "Persistent progress bar";
|
"PersistentProgressBar" = "持续进度条";
|
||||||
"PersistentProgressBarDesc" = "Always shows progress bar in the player.";
|
"PersistentProgressBarDesc" = "始终在播放器中显示进度条。";
|
||||||
|
"RedProgressBar" = "红色进度条";
|
||||||
|
"RedProgressBarDesc" = "加回红色进度条。";
|
||||||
|
"StockVolumeHUD" = "原生音量HUD";
|
||||||
|
"StockVolumeHUDDesc" = "全屏显示系统音量HUD。";
|
||||||
"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" = "Disable auto captions";
|
"DisableAutoCaptions" = "禁用自动字幕";
|
||||||
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
|
"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" = "允许使用双指“向上/下”滑动来调整屏幕亮度。";
|
||||||
|
"PauseOnOverlay" = "覆盖时暂停";
|
||||||
|
"PauseOnOverlayDesc" = "当播放器控制按钮出现时暂停播放。";
|
||||||
|
"CopyWithTimestamp" = "复制带时间戳的链接";
|
||||||
|
"CopyWithTimestampDesc" = "允许通过按下暂停按钮将带有时间戳的链接复制到剪贴板。";
|
||||||
|
"DontSnap2Chapter" = "禁用双击跳转";
|
||||||
|
"DontSnap2ChapterDesc" = "禁用通过双击手势跳到下一集。";
|
||||||
|
"NoTwoFingerSnapToChapter" = "禁用双指双击";
|
||||||
|
"NoTwoFingerSnapToChapterDesc" = "禁用双指双击捕捉手势。";
|
||||||
|
"NoFreeZoom" = "禁用自由缩放手势";
|
||||||
|
"NoFreeZoomDesc" = "禁用新的自由缩放手势。";
|
||||||
"NoDoubleTap2Seek" = "禁用双击搜索";
|
"NoDoubleTap2Seek" = "禁用双击搜索";
|
||||||
"NoDoubleTap2SeekDesc" = "禁用双击搜索手势。";
|
"NoDoubleTap2SeekDesc" = "禁用双击搜索手势。";
|
||||||
|
|
||||||
"Tabbar" = "选项卡栏";
|
/* Shorts options */
|
||||||
"RemoveLabels" = "移除标签";
|
|
||||||
"RemoveLabelsDesc" = "删除选项卡标签。";
|
|
||||||
"RemoveIndicators" = "删除指示器";
|
|
||||||
"RemoveIndicatorsDesc" = "删除选项卡“红点”指示。";
|
|
||||||
"ReExplore" = "“短视频”替换为“探索”";
|
|
||||||
"ReExploreDesc" = "在旧版本 YouTube 中将“短视频”选项卡替换为“探索”。";
|
|
||||||
"AddExplore" = "Add Explore tab";
|
|
||||||
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
|
|
||||||
"HideShortsTab" = "隐藏短视频";
|
|
||||||
"HideShortsTabDesc" = "从选项卡栏中隐藏短视频。";
|
|
||||||
"HideSubscriptionsTab" = "隐藏订阅内容";
|
|
||||||
"HideSubscriptionsTabDesc" = "从选项卡栏中隐藏订阅内容。";
|
|
||||||
"HideUploadButton" = "隐藏上传按钮";
|
|
||||||
"HideUploadButtonDesc" = "从选项卡栏中隐藏上传按钮。";
|
|
||||||
"HideLibraryTab" = "隐藏媒体库";
|
|
||||||
"HideLibraryTabDesc" = "从选项卡栏中隐藏媒体库。";
|
|
||||||
|
|
||||||
"Shorts" = "短视频";
|
"Shorts" = "短视频";
|
||||||
"ShortsOnlyMode" = "Shorts Only Mode";
|
"PlaybackMode" = "播放完成动作";
|
||||||
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
|
"Loop" = "循环";
|
||||||
"HideShorts" = "隐藏短视频";
|
"ScrollToNext" = "播放下一个";
|
||||||
"HideShortsDesc" = "从首页、推荐等隐藏短视频(不适用于观看历史记录)。";
|
"Stop" = "停止";
|
||||||
|
"AutoSkipShorts" = "自动播放";
|
||||||
|
"ShortsOnlyMode" = "仅短视频模式";
|
||||||
|
"ShortsOnlyModeDesc" = "将 YouTube 功能限制为只能观看短视频。";
|
||||||
|
"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" = "启用进度条";
|
"ShortsProgress" = "启用进度条";
|
||||||
"ShortsProgressDesc" = "在短视频播放器中显示进度条。";
|
"ShortsProgressDesc" = "在短视频播放器中显示进度条。";
|
||||||
"PinchToFullscreenShorts" = "Pinch to Fullscreen";
|
"SpeedByLongTap" = "加快短视频播放速度";
|
||||||
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
|
"SpeedByLongTapDesc" = "允许通过长按屏幕的某个部分来加快播放速度。";
|
||||||
"ShortsToRegular" = "Shorts to regular videos";
|
"SpeedLocation" = "激活位置";
|
||||||
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
|
"PinchToFullscreenShorts" = "捏合至全屏";
|
||||||
"ResumeShorts" = "不要从短视频开始";
|
"PinchToFullscreenShortsDesc" = "通过捏合和捏合手势管理播放界面,以全屏模式显示短视频。";
|
||||||
"ResumeShortsDesc" = "防止在打开应用程序时首先启动短视频,如果在观看短视频时关闭,就会发生这种情况。";
|
"ShortsToRegular" = "常规短视频";
|
||||||
|
"ShortsToRegularDesc" = "像打开普通视频一样打开短视频。";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
"HideShortsLogo" = "隐藏短视频 Logo";
|
"HideShortsLogo" = "隐藏短视频 Logo";
|
||||||
"HideShortsLogoDesc" = "隐藏左上角的短视频 Logo。";
|
"HideShortsLogoDesc" = "隐藏左上角的短视频 Logo。";
|
||||||
"HideShortsSearch" = "隐藏搜索按钮";
|
"HideShortsSearch" = "隐藏搜索按钮";
|
||||||
@@ -119,42 +224,34 @@
|
|||||||
"HideShortsMoreDesc" = "从短视频播放器中隐藏更多(⋮)按钮 。也可以通过长按屏幕来访问它。";
|
"HideShortsMoreDesc" = "从短视频播放器中隐藏更多(⋮)按钮 。也可以通过长按屏幕来访问它。";
|
||||||
"HideShortsSubscriptions" = "隐藏订阅按钮";
|
"HideShortsSubscriptions" = "隐藏订阅按钮";
|
||||||
"HideShortsSubscriptionsDesc" = "隐藏短视频暂停时显示的订阅按钮。";
|
"HideShortsSubscriptionsDesc" = "隐藏短视频暂停时显示的订阅按钮。";
|
||||||
"HideShortsLike" = "隐藏喜欢按钮";
|
|
||||||
"HideShortsLikeDesc" = "从短视频播放器中隐藏喜欢按钮。";
|
|
||||||
"HideShortsDislike" = "隐藏不喜欢按钮";
|
|
||||||
"HideShortsDislikeDesc" = "从短视频播放器中隐藏不喜欢按钮。";
|
|
||||||
"HideShortsComments" = "隐藏评论按钮";
|
|
||||||
"HideShortsCommentsDesc" = "从短视频播放器中隐藏评论按钮。";
|
|
||||||
"HideShortsRemix" = "隐藏混剪按钮";
|
|
||||||
"HideShortsRemixDesc" = "从短视频播放器中隐藏混剪按钮。";
|
|
||||||
"HideShortsShare" = "隐藏分享按钮";
|
|
||||||
"HideShortsShareDesc" = "从短视频播放器中隐藏分享按钮。";
|
|
||||||
"HideShortsAvatars" = "隐藏发布者头像";
|
|
||||||
"HideShortsAvatarsDesc" = "隐藏右下角的发布者个人资料头像。";
|
|
||||||
"HideShortsThanks" = "隐藏捐赠按钮";
|
|
||||||
"HideShortsThanksDesc" = "从短视频播放器中隐藏捐赠按钮。";
|
|
||||||
"HideShortsSource" = "Hide Shorts Source";
|
|
||||||
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
|
|
||||||
"HideShortsChannelName" = "隐藏发布者名称";
|
|
||||||
"HideShortsChannelNameDesc" = "从短视频播放器中隐藏发布者名称和订阅按钮。";
|
|
||||||
"HideShortsDescription" = "隐藏文案";
|
|
||||||
"HideShortsDescriptionDesc" = "隐藏短视频下方的视频文案。";
|
|
||||||
"HideShortsAudioTrack" = "隐藏音轨";
|
|
||||||
"HideShortsAudioTrackDesc" = "隐藏短视频文案下方的音轨。";
|
|
||||||
|
|
||||||
"Other" = "其他";
|
/* Tab bar options */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "选项卡";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "启动页";
|
||||||
"SavePostImage" = "Save community posts image";
|
"FEwhat_to_watch" = "首页";
|
||||||
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap.";
|
"FEexplore" = "探索";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "短视频";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "订阅";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "“我”";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "创建";
|
||||||
"RemovePlayNext" = "删除“播放队列中的下一个”";
|
"FEhistory" = "历史";
|
||||||
"RemovePlayNextDesc" = "从菜单中删除“播放队列中的下一个”选项。";
|
"VLWL" = "稍后观看";
|
||||||
"NoContinueWatching" = "删除“继续观看”";
|
|
||||||
"NoContinueWatchingDesc" = "从首页中删除包含未完成视频的“继续观看”部分。";
|
"RemoveLabels" = "移除标签";
|
||||||
|
"RemoveIndicators" = "删除指示器";
|
||||||
|
|
||||||
|
"ActiveTabs" = "活跃的标签页";
|
||||||
|
"InactiveTabs" = "隐藏的标签页";
|
||||||
|
"HideLibraryFooter" = "长按“首页”选项卡可以隐藏或显示“媒体库”选项卡。";
|
||||||
|
"Warning" = "警告";
|
||||||
|
"TabIsHidden" = "无法选择隐藏选项卡作为启动页。";
|
||||||
|
"TabIsStartupTab" = "选定为“启动页”的标签页无法隐藏";
|
||||||
|
"TabsCountRestricted" = "最多只能拥有六个活动标签页";
|
||||||
|
|
||||||
|
/* Interface options */
|
||||||
|
"Interface" = "界面项";
|
||||||
|
"OledTheme" = "OLED 主题";
|
||||||
|
"OledThemeDesc" = "将所有深色变为黑色。";
|
||||||
"NoSearchHistory" = "隐藏搜索历史记录";
|
"NoSearchHistory" = "隐藏搜索历史记录";
|
||||||
"NoSearchHistoryDesc" = "直观地隐藏搜索历史记录和建议。注意:搜索历史记录仍然可以在其他 YouTube 客户端中访问。";
|
"NoSearchHistoryDesc" = "直观地隐藏搜索历史记录和建议。注意:搜索历史记录仍然可以在其他 YouTube 客户端中访问。";
|
||||||
"NoRelatedWatchNexts" = "隐藏播放器下的所有视频";
|
"NoRelatedWatchNexts" = "隐藏播放器下的所有视频";
|
||||||
@@ -165,36 +262,246 @@
|
|||||||
"HideSortCommentsDesc" = "隐藏评论排序功能,使它永远不会出现。";
|
"HideSortCommentsDesc" = "隐藏评论排序功能,使它永远不会出现。";
|
||||||
"PlaylistOldMinibar" = "旧播放列表";
|
"PlaylistOldMinibar" = "旧播放列表";
|
||||||
"PlaylistOldMinibarDesc" = "将新的浮动播放列表面板替换为旧的浮动播放列表面板。";
|
"PlaylistOldMinibarDesc" = "将新的浮动播放列表面板替换为旧的浮动播放列表面板。";
|
||||||
|
"OldYTUI" = "旧版界面";
|
||||||
|
"OldYTUIDesc" = "仿冒 YouTube 版本,使其变回旧版界面。";
|
||||||
"DisableRTL" = "禁用 RTL 格式";
|
"DisableRTL" = "禁用 RTL 格式";
|
||||||
"DisableRTLDesc" = "对于最初以从右到左 (RTL) 显示的语言,强制以从左到右 (LTR) 格式显示文本。";
|
"DisableRTLDesc" = "对于最初以从右到左(RTL)显示的语言,强制以从左到右(LTR)格式显示文本。";
|
||||||
|
|
||||||
"Startup" = "启动页";
|
"StartupAnimation" = "启动动画";
|
||||||
"Home" = "首页";
|
"StartupAnimationDesc" = "显示 YouTube 启动加载动画。";
|
||||||
"Explore" = "探索";
|
|
||||||
"ShortsTab" = "短视频";
|
|
||||||
"Subscriptions" = "订阅";
|
|
||||||
"Library" = "媒体库";
|
|
||||||
"Warning" = "警告";
|
|
||||||
"TabIsHidden" = "无法选择隐藏选项卡作为启动页。";
|
|
||||||
|
|
||||||
"Version" = "版本";
|
"InterfaceStyle" = "界面样式";
|
||||||
"About" = "关于";
|
|
||||||
|
"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" = "信息";
|
"Credits" = "信息";
|
||||||
"Developer" = "YTLite开发者";
|
|
||||||
|
"Contributors" = "贡献者";
|
||||||
|
"DevContribution" = "开发贡献";
|
||||||
|
"SpecialThanks" = "特别感谢";
|
||||||
|
"SpecialThanks.Test" = "对插件测试做出了卓越的贡献。";
|
||||||
|
|
||||||
|
"Localizations" = "本地化翻译";
|
||||||
"ChineseSimplified" = "中文(简体)本地化";
|
"ChineseSimplified" = "中文(简体)本地化";
|
||||||
"ChineseTraditional" = "中文(繁体)本地化";
|
"ChineseTraditional" = "中文(繁体)本地化";
|
||||||
"French" = "法语本地化";
|
"French" = "法语本地化";
|
||||||
"Spanish" = "西班牙语本地化";
|
"Spanish" = "西班牙语本地化";
|
||||||
"Japanese" = "日语本地化";
|
"Japanese" = "日语本地化";
|
||||||
"Advanced" = "高级模式";
|
"Vietnamese" = "越南语本地化";
|
||||||
"AdvancedModeReminder" = "想为YTLite激活高级模式吗?\n\n此模式提供了50多个额外的选项来自定义和优化您的YouTube体验。\n可以稍后从设置中启用/禁用它 → %@ → %@ → %@。";
|
"Arabic" = "阿拉伯语本地化";
|
||||||
"ResetSettings" = "重置YTLite设置";
|
"Turkish" = "土耳其语本地化";
|
||||||
"ResetMessage" = "此选项会将YTLite设置重置为默认值并关闭YouTube。\n\n确定要继续吗?";
|
|
||||||
"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.";
|
"OpenSourceLibs" = "开源库";
|
||||||
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off";
|
|
||||||
|
"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" = "是";
|
"Yes" = "是";
|
||||||
"No" = "不";
|
"No" = "不";
|
||||||
|
|
||||||
"Copied" = "Copied to clipboard";
|
"Select" = "选择";
|
||||||
"Saved" = "Saved to Photos";
|
"Default" = "默认";
|
||||||
"Error" = "Error";
|
"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”设置中选择捐赠或选择关闭这些通知。谢谢💜";
|
||||||
+422
-115
@@ -1,9 +1,46 @@
|
|||||||
"General" = "一般功能";
|
/* Main section */
|
||||||
"RemoveAds" = "移除廣告";
|
"Main" = "主要";
|
||||||
"RemoveAdsDesc" = "移除應用程式內的廣告";
|
|
||||||
"BackgroundPlayback" = "背景播放";
|
|
||||||
"BackgroundPlaybackDesc" = "啟用背景播放";
|
|
||||||
|
|
||||||
|
/* Downloading options */
|
||||||
|
"Downloading" = "下載";
|
||||||
|
"DownloadManager" = "下載管理器";
|
||||||
|
"DownloadManagerDesc" = "將播放器下方的\"下載\"按鈕更換為\"下載管理器\",該管理器允許下載影片、音訊、縮圖,和複製影片資訊";
|
||||||
|
"PostManager" = "儲存貼文資訊";
|
||||||
|
"PostManagerDesc" = "長按可以複製貼文內容或將貼文儲存為圖片";
|
||||||
|
"SaveProfilePhoto" = "儲存個人檔案照片";
|
||||||
|
"SaveProfilePhotoDesc" = "長按個人檔案照片儲存到照片App";
|
||||||
|
"CommentManager" = "儲存留言資訊";
|
||||||
|
"CommentManagerDesc" = "長按可以複製留言內容或將留言儲存為圖片";
|
||||||
|
|
||||||
|
"YtlButtonPosition" = "下載按鈕位置";
|
||||||
|
"UnderPlayer" = "播放器下方";
|
||||||
|
"Overlay" = "播放介面";
|
||||||
|
"Both" = "兩者皆有";
|
||||||
|
|
||||||
|
"PostDownloadAction" = "下載後動作";
|
||||||
|
"PostDownloadDesc" = "影片成功下載完成後,執行選定的動作";
|
||||||
|
"SaveToPhotos" = "儲存至照片App";
|
||||||
|
"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" = "從導覽列隱藏投放按鈕";
|
||||||
@@ -19,96 +56,164 @@
|
|||||||
"NoSubbarDesc" = "隱藏導覽列下的子導覽列(全部、讓你耳目一新的影片、直播中...等)";
|
"NoSubbarDesc" = "隱藏導覽列下的子導覽列(全部、讓你耳目一新的影片、直播中...等)";
|
||||||
"NoYTLogo" = "移除YouTube圖示";
|
"NoYTLogo" = "移除YouTube圖示";
|
||||||
"NoYTLogoDesc" = "移除在左上方導覽列的YouTube圖示";
|
"NoYTLogoDesc" = "移除在左上方導覽列的YouTube圖示";
|
||||||
|
"PremiumYTLogo" = "YouTube Premium標誌";
|
||||||
|
"PremiumYTLogoDesc" = "左上方導覽列設定為YouTube Premium標誌";
|
||||||
|
|
||||||
"Overlay" = "播放介面";
|
/* Feed options */
|
||||||
|
"Feed" = "首頁動態";
|
||||||
|
"RemoveAds" = "移除廣告";
|
||||||
|
"RemoveAdsDesc" = "刪除應用程式內的廣告";
|
||||||
|
"HideShorts" = "隱藏Shorts影片";
|
||||||
|
"HideShortsDesc" = "從首頁、推薦...等,隱藏Shorts影片(不適用於觀看紀錄)";
|
||||||
|
"KeepSubsShorts" = "訂閱內容中保留Shorts";
|
||||||
|
"KeepSubsShortsDesc" = "防止從\"訂閱內容\"標籤中移除Shorts影片";
|
||||||
|
"RemoveCommunityPosts" = "移除社群貼文";
|
||||||
|
"RemoveCommunityPostsDesc" = "從首頁動態移除社群貼文";
|
||||||
|
"RemoveMixPlaylists" = "移除合輯播放清單";
|
||||||
|
"RemoveMixPlaylistsDesc" = "從首頁移除YouTube生成的合輯播放清單";
|
||||||
|
"RemoveLiveVids" = "移除直播影片";
|
||||||
|
"RemoveLiveVidsDesc" = "從首頁移除直播影片";
|
||||||
|
"RemoveHorizontalFeeds" = "移除橫向動態";
|
||||||
|
"RemoveHorizontalFeedsDesc" = "從首頁移除所有橫向動態 (新聞, 繼續觀看, 貼文合輯...等)";
|
||||||
|
"RemoveMoreTopics" = "移除\"更多主題\"";
|
||||||
|
"RemoveMoreTopicsDesc" = "從首頁動態移除\"更多主題\"";
|
||||||
|
"FixAlbums" = "修復封面";
|
||||||
|
"FixAlbumsDesc" = "為俄羅斯使用者修復封面顯示問題";
|
||||||
|
|
||||||
|
/* Player options */
|
||||||
|
"Player" = "播放器";
|
||||||
|
"PlaybackQualityOnWiFi" = "使用Wi-Fi時的影片畫質";
|
||||||
|
"PlaybackQualityOnCellular" = "使用行動網路時的影片畫質";
|
||||||
|
|
||||||
|
"PreferredCaptions" = "偏好字幕";
|
||||||
|
"Original" = "原始";
|
||||||
|
"Custom" = "手動選擇";
|
||||||
|
"CustomAudioTrack" = "選擇音軌";
|
||||||
|
"CustomCaptions" = "選擇字幕";
|
||||||
|
"AutoGenCaps" = "自動產生字幕";
|
||||||
|
"AutoGenCapsDesc" = "若找不到選定的字幕,YouTube Plus會嘗試選擇原始字幕的翻譯或自動產生字幕的翻譯版本";
|
||||||
|
|
||||||
|
"Player.Interface" = "介面";
|
||||||
|
"SpeedControls" = "播放速度控制";
|
||||||
|
"SpeedControlsDesc" = "在播放介面顯示速度控制按鈕";
|
||||||
"HideAutoplay" = "隱藏自動播放開關";
|
"HideAutoplay" = "隱藏自動播放開關";
|
||||||
"HideAutoplayDesc" = "隱藏播放器中的自動播放開關";
|
"HideAutoplayDesc" = "隱藏播放器中的自動播放開關";
|
||||||
"HideSubs" = "隱藏字幕按鈕";
|
"HideSubs" = "隱藏字幕按鈕";
|
||||||
"HideSubsDesc" = "隱藏播放器中的字幕按鈕";
|
"HideSubsDesc" = "隱藏播放器中的字幕按鈕";
|
||||||
"NoHUDMsgs" = "隱藏HUD訊息";
|
|
||||||
"NoHUDMsgsDesc" = "隱藏播放器中的所有功能。例如:開啟/關閉 CC、開啟循環播放...等";
|
|
||||||
"HidePrevNext" = "隱藏上一部和下一部按鈕";
|
"HidePrevNext" = "隱藏上一部和下一部按鈕";
|
||||||
"HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕";
|
"HidePrevNextDesc" = "隱藏播放器中上一部和下一部影片按鈕";
|
||||||
"ReplacePrevNext" = "取代快轉和倒轉按鈕";
|
"ReplacePrevNext" = "取代快轉和倒轉按鈕";
|
||||||
"ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕取代為快轉和倒轉按鈕";
|
"ReplacePrevNextDesc" = "將播放器中的上一部和下一部影片按鈕取代為快轉和倒轉按鈕";
|
||||||
|
"RememberLoopMode" = "記住循環播放影片";
|
||||||
|
"RememberLoopModeDesc" = "記住播放器選單中最後選擇的循環模式";
|
||||||
|
"FullscreenToTheLeft" = "向左旋轉進入全螢幕";
|
||||||
|
"FullscreenToTheLeftDesc" = "全螢幕模式會將畫面向左旋轉,而非預設的向右旋轉。";
|
||||||
|
"PortraitFullscreen" = "直向全螢幕模式";
|
||||||
|
"PortraitFullscreenDesc" = "啟用直向全螢幕模式";
|
||||||
|
"ClassicQuality" = "舊版本影片畫質";
|
||||||
|
"ClassicQualityDesc" = "恢復舊版本選擇影片畫質的方式";
|
||||||
|
"ExtraSpeedOptions" = "額外的播放速度選項";
|
||||||
|
"ExtraSpeedOptionsDesc" = "在播放速度選單添加更多選項";
|
||||||
"NoDarkBg" = "移除深色背景";
|
"NoDarkBg" = "移除深色背景";
|
||||||
"NoDarkBgDesc" = "移除播放器中的深色背景";
|
"NoDarkBgDesc" = "移除播放器中的深色背景";
|
||||||
"NoEndScreenCards" = "隱藏片尾懸停影片";
|
"NoEndScreenCards" = "隱藏片尾懸停影片";
|
||||||
"NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)";
|
"NoEndScreenCardsDesc" = "隱藏當影片結束時的懸停影片(縮圖)";
|
||||||
|
"NoAutonavEndScreenCards" = "隱藏自動播放結束畫面";
|
||||||
|
"NoAutonavEndScreenCardsDesc" = "隱藏播放結束後顯示您可以接著播放什麼的畫面。停用此選項也會停用自動播放";
|
||||||
"NoFullscreenActions" = "停用全螢幕操作";
|
"NoFullscreenActions" = "停用全螢幕操作";
|
||||||
"NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板";
|
"NoFullscreenActionsDesc" = "在全螢幕模式下停用操作面板";
|
||||||
"PersistentProgressBar" = "Persistent progress bar";
|
"PersistentProgressBar" = "固定進度列";
|
||||||
"PersistentProgressBarDesc" = "Always shows progress bar in the player.";
|
"PersistentProgressBarDesc" = "總是在播放器中顯示進度列";
|
||||||
|
"RedProgressBar" = "紅色進度列";
|
||||||
|
"RedProgressBarDesc" = "恢復紅色的進度列";
|
||||||
|
"StockVolumeHUD" = "原生系統音量HUD";
|
||||||
|
"StockVolumeHUDDesc" = "全螢幕模式中顯示原生系統音量HUD";
|
||||||
"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" = "Disable auto captions";
|
"DisableAutoCaptions" = "停用自動字幕";
|
||||||
"DisableAutoCaptionsDesc" = "Prevents automatic activation of captions.";
|
"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" = "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" = "停用點兩下快轉功能";
|
"NoDoubleTap2Seek" = "停用點兩下快轉功能";
|
||||||
"NoDoubleTap2SeekDesc" = "停用點兩下手勢進行快轉";
|
"NoDoubleTap2SeekDesc" = "停用點兩下手勢進行快轉";
|
||||||
|
|
||||||
"Tabbar" = "下方標籤欄";
|
/* Shorts options */
|
||||||
"RemoveLabels" = "移除文字";
|
|
||||||
"RemoveLabelsDesc" = "移除標籤文字";
|
|
||||||
"RemoveIndicators" = "刪除標記";
|
|
||||||
"RemoveIndicatorsDesc" = "刪除標籤通知標記";
|
|
||||||
"ReExplore" = "用探索取代Shorts分頁";
|
|
||||||
"ReExploreDesc" = "如同舊版YouTube一樣顯示「探索」而非「Shorts」";
|
|
||||||
"AddExplore" = "Add Explore tab";
|
|
||||||
"AddExploreDesc" = "Adds Explore tab to the Tab bar.";
|
|
||||||
"HideShortsTab" = "隱藏Shorts";
|
|
||||||
"HideShortsTabDesc" = "從標籤欄中隱藏Shorts標籤";
|
|
||||||
"HideSubscriptionsTab" = "隱藏訂閱內容";
|
|
||||||
"HideSubscriptionsTabDesc" = "從標籤欄中隱藏訂閱內容";
|
|
||||||
"HideUploadButton" = "隱藏+";
|
|
||||||
"HideUploadButtonDesc" = "從標籤欄中隱藏+標籤";
|
|
||||||
"HideLibraryTab" = "隱藏媒體庫";
|
|
||||||
"HideLibraryTabDesc" = "從標籤欄中隱藏媒體庫標籤";
|
|
||||||
|
|
||||||
"Shorts" = "Shorts";
|
"Shorts" = "Shorts";
|
||||||
"ShortsOnlyMode" = "Shorts Only Mode";
|
"PlaybackMode" = "Playback completion action";
|
||||||
"ShortsOnlyModeDesc" = "Limits YouTube functionality to viewing Shorts only.";
|
"Loop" = "Loop";
|
||||||
"HideShorts" = "隱藏Shorts影片";
|
"ScrollToNext" = "Scroll to next";
|
||||||
"HideShortsDesc" = "從首頁、推薦...等,隱藏Shorts影片(不適用於觀看紀錄)";
|
"Stop" = "Stop";
|
||||||
"ShortsProgress" = "啟用時間進度條";
|
"AutoSkipShorts" = "連續播放Shorts";
|
||||||
"ShortsProgressDesc" = "在Shorts底部顯示進度條";
|
"ShortsOnlyMode" = "只看Shorts模式";
|
||||||
"PinchToFullscreenShorts" = "Pinch to Fullscreen";
|
"ShortsOnlyModeDesc" = "限制YouTube功能只能觀看Shorts影片";
|
||||||
"PinchToFullscreenShortsDesc" = "Manages visibility of the overlay with pinch in and pinch out gestures, displaying Shorts in fullscreen mode.";
|
"RestrictShorts" = "Limit Shorts";
|
||||||
"ShortsToRegular" = "Shorts to regular videos";
|
"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.";
|
||||||
"ShortsToRegularDesc" = "Opens Shorts videos as regular videos.";
|
"ShortsProgress" = "啟用時間進度列";
|
||||||
"ResumeShorts" = "不要從Shorts開始";
|
"ShortsProgressDesc" = "在Shorts底部顯示進度列";
|
||||||
"ResumeShortsDesc" = "防止重新開啟應用程式時從Shorts開始播放,如果在觀看Shorts時關閉,就會發生這種情況";
|
"SpeedByLongTap" = "加快Shorts播放速度";
|
||||||
|
"SpeedByLongTapDesc" = "允許透過長按螢幕的某個部分位置來加快播放速度";
|
||||||
|
"SpeedLocation" = "觸發位置";
|
||||||
|
"PinchToFullscreenShorts" = "捏合切換全螢幕";
|
||||||
|
"PinchToFullscreenShortsDesc" = "透過兩指縮放手勢,控制覆蓋層的顯示,讓Shorts以全螢幕模式播放";
|
||||||
|
"ShortsToRegular" = "Shorts轉為一般影片";
|
||||||
|
"ShortsToRegularDesc" = "將Shorts作為一般影片開啟";
|
||||||
|
"RemoveShortsLive" = "Remove live videos";
|
||||||
|
"RemoveShortsLiveDesc" = "Removes live videos from the feed.";
|
||||||
"HideShortsLogo" = "隱藏Shorts圖示";
|
"HideShortsLogo" = "隱藏Shorts圖示";
|
||||||
"HideShortsLogoDesc" = "左上角Shorts圖示";
|
"HideShortsLogoDesc" = "左上角Shorts圖示";
|
||||||
"HideShortsSearch" = "隱藏搜尋按鈕";
|
"HideShortsSearch" = "隱藏搜尋按鈕";
|
||||||
@@ -119,42 +224,34 @@
|
|||||||
"HideShortsMoreDesc" = "從Shorts中隱藏更多 (⋮) 按鈕,也可以透過長按螢幕來完成";
|
"HideShortsMoreDesc" = "從Shorts中隱藏更多 (⋮) 按鈕,也可以透過長按螢幕來完成";
|
||||||
"HideShortsSubscriptions" = "隱藏訂閱按鈕";
|
"HideShortsSubscriptions" = "隱藏訂閱按鈕";
|
||||||
"HideShortsSubscriptionsDesc" = "隱藏當Shorts暫停時顯示的訂閱按鈕";
|
"HideShortsSubscriptionsDesc" = "隱藏當Shorts暫停時顯示的訂閱按鈕";
|
||||||
"HideShortsLike" = "隱藏喜歡按鈕";
|
|
||||||
"HideShortsLikeDesc" = "從Shorts中隱藏喜歡按鈕";
|
|
||||||
"HideShortsDislike" = "隱藏不喜歡按鈕";
|
|
||||||
"HideShortsDislikeDesc" = "從Shorts中隱藏不喜歡按鈕";
|
|
||||||
"HideShortsComments" = "隱藏評論按鈕";
|
|
||||||
"HideShortsCommentsDesc" = "從Shorts中隱藏評論按鈕";
|
|
||||||
"HideShortsRemix" = "隱藏Remix按鈕";
|
|
||||||
"HideShortsRemixDesc" = "從Shorts中隱藏Remix按鈕";
|
|
||||||
"HideShortsShare" = "隱藏分享按鈕";
|
|
||||||
"HideShortsShareDesc" = "從Shorts中隱藏分享按鈕";
|
|
||||||
"HideShortsAvatars" = "隱藏頻道頭像";
|
|
||||||
"HideShortsAvatarsDesc" = "隱藏右下角的頻道圖片";
|
|
||||||
"HideShortsThanks" = "隱藏超級感謝按鈕";
|
|
||||||
"HideShortsThanksDesc" = "從Shorts中隱藏超級感謝 (贊助) 按鈕";
|
|
||||||
"HideShortsSource" = "Hide Shorts Source";
|
|
||||||
"HideShortsSourceDesc" = "Hides the Shorts sources under the channel name.";
|
|
||||||
"HideShortsChannelName" = "隱藏頻道名稱";
|
|
||||||
"HideShortsChannelNameDesc" = "從Shorts中隱藏頻道名稱和訂閱按鈕";
|
|
||||||
"HideShortsDescription" = "隱藏描述";
|
|
||||||
"HideShortsDescriptionDesc" = "隱藏頻道名稱下的Shorts描述";
|
|
||||||
"HideShortsAudioTrack" = "隱藏原始音效";
|
|
||||||
"HideShortsAudioTrackDesc" = "隱藏Shorts描述下的原始音效";
|
|
||||||
|
|
||||||
"Other" = "其它";
|
/* Tab bar options */
|
||||||
"CopyPostText" = "Copy community posts text";
|
"Tabbar" = "底部標籤欄";
|
||||||
"CopyPostTextDesc" = "Copies community posts text to the clipboard by long tap.";
|
"Startup" = "啟動頁面";
|
||||||
"SavePostImage" = "Save community posts image";
|
"FEwhat_to_watch" = "首頁";
|
||||||
"SavePostImageDesc" = "Saves community posts image to the Photos app by long tap.";
|
"FEexplore" = "探索";
|
||||||
"SaveProfilePhoto" = "Save profile picture";
|
"FEshorts" = "Shorts";
|
||||||
"SaveProfilePhotoDesc" = "Saves profile picture to the Photos app by long tap.";
|
"FEsubscriptions" = "訂閱內容";
|
||||||
"FixAlbums" = "Fix covers";
|
"FElibrary" = "個人中心/媒體庫";
|
||||||
"FixAlbumsDesc" = "Fixes the display of covers for users from Russia.";
|
"FEuploads" = "建立";
|
||||||
"RemovePlayNext" = "移除「播放下一個」";
|
"FEhistory" = "觀看紀錄";
|
||||||
"RemovePlayNextDesc" = "從選單移除「播放下一個」";
|
"VLWL" = "稍後觀看";
|
||||||
"NoContinueWatching" = "移除「繼續觀看」";
|
|
||||||
"NoContinueWatchingDesc" = "從首頁中移除包含未完成影片的「繼續觀看」部分";
|
"RemoveLabels" = "移除文字";
|
||||||
|
"RemoveIndicators" = "刪除標記";
|
||||||
|
|
||||||
|
"ActiveTabs" = "顯示標籤頁";
|
||||||
|
"InactiveTabs" = "隱藏標籤頁";
|
||||||
|
"HideLibraryFooter" = "長按首頁標籤可以顯示或隱藏\"個人中心\"";
|
||||||
|
"Warning" = "警告";
|
||||||
|
"TabIsHidden" = "無法將隱藏的標籤頁選為啟動頁面";
|
||||||
|
"TabIsStartupTab" = "選擇為啟動頁面的標籤,無法隱藏";
|
||||||
|
"TabsCountRestricted" = "最多只能設定顯示六個標籤頁";
|
||||||
|
|
||||||
|
/* Interface options */
|
||||||
|
"Interface" = "介面";
|
||||||
|
"OledTheme" = "OLED主題";
|
||||||
|
"OledThemeDesc" = "將所有深色改為黑色";
|
||||||
"NoSearchHistory" = "隱藏搜尋記錄";
|
"NoSearchHistory" = "隱藏搜尋記錄";
|
||||||
"NoSearchHistoryDesc" = "視覺上隱藏搜尋歷史紀錄和建議。注意:您的搜尋紀錄仍然可在其它YouTube客戶端中存取";
|
"NoSearchHistoryDesc" = "視覺上隱藏搜尋歷史紀錄和建議。注意:您的搜尋紀錄仍然可在其它YouTube客戶端中存取";
|
||||||
"NoRelatedWatchNexts" = "隱藏播放器下的所有影片";
|
"NoRelatedWatchNexts" = "隱藏播放器下的所有影片";
|
||||||
@@ -165,36 +262,246 @@
|
|||||||
"HideSortCommentsDesc" = "隱藏留言排序(熱門、最新)功能,將永不顯示";
|
"HideSortCommentsDesc" = "隱藏留言排序(熱門、最新)功能,將永不顯示";
|
||||||
"PlaylistOldMinibar" = "舊版播放清單";
|
"PlaylistOldMinibar" = "舊版播放清單";
|
||||||
"PlaylistOldMinibarDesc" = "將新版的浮動播放清單面板替換為舊版";
|
"PlaylistOldMinibarDesc" = "將新版的浮動播放清單面板替換為舊版";
|
||||||
|
"OldYTUI" = "舊版介面";
|
||||||
|
"OldYTUIDesc" = "偽裝YouTube版本,讓介面變回舊版";
|
||||||
"DisableRTL" = "停用RTL格式";
|
"DisableRTL" = "停用RTL格式";
|
||||||
"DisableRTLDesc" = "強制將初始顯示從右到左(RTL)格式的語言,改為從左到右(LTR)顯示";
|
"DisableRTLDesc" = "強制將初始顯示從右到左(RTL)格式的語言,改為從左到右(LTR)顯示";
|
||||||
|
|
||||||
"Startup" = "啟動頁面";
|
"StartupAnimation" = "啟動動畫";
|
||||||
"Home" = "首頁";
|
"StartupAnimationDesc" = "顯示YouTube開啟時的載入動畫";
|
||||||
"Explore" = "探索";
|
|
||||||
"ShortsTab" = "Shorts";
|
|
||||||
"Subscriptions" = "訂閱內容";
|
|
||||||
"Library" = "媒體庫";
|
|
||||||
"Warning" = "警告";
|
|
||||||
"TabIsHidden" = "無法將隱藏的標籤選為啟動頁面";
|
|
||||||
|
|
||||||
"Version" = "版本";
|
"InterfaceStyle" = "介面風格";
|
||||||
"About" = "關於";
|
|
||||||
|
"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" = "貢獻";
|
"Credits" = "貢獻";
|
||||||
"Developer" = "YTLite開發者";
|
|
||||||
|
"Contributors" = "貢獻者";
|
||||||
|
"DevContribution" = "對開發的貢獻";
|
||||||
|
"SpecialThanks" = "特別感謝";
|
||||||
|
"SpecialThanks.Test" = "對插件測試付出了不可或缺的貢獻";
|
||||||
|
|
||||||
|
"Localizations" = "在地化譯者";
|
||||||
"ChineseSimplified" = "簡體中文在地化";
|
"ChineseSimplified" = "簡體中文在地化";
|
||||||
"ChineseTraditional" = "繁體中文在地化";
|
"ChineseTraditional" = "繁體中文在地化";
|
||||||
"French" = "法文在地化";
|
"French" = "法語在地化";
|
||||||
"Spanish" = "西班牙文在地化";
|
"Spanish" = "西班牙語在地化";
|
||||||
"Japanese" = "日本語本地化";
|
"Japanese" = "日語在地化";
|
||||||
"Advanced" = "進階模式";
|
"Vietnamese" = "越南語在地化";
|
||||||
"AdvancedModeReminder" = "您是否想啟用YTLite的進階模式?\n\n這個模式提供了50多個額外的選項,可以自訂義和優化您的YouTube使用體驗。您稍後可以在「設定」中 → %@ → %@ → %@ 啟用或停用它。";
|
"Arabic" = "阿拉伯語在地化";
|
||||||
"ResetSettings" = "重置YTLite設定";
|
"Turkish" = "土耳其語在地化";
|
||||||
"ResetMessage" = "這個選項會將YTLite重置為預設值,並關閉Youtube\n\n您確定要繼續嗎?";
|
|
||||||
"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.";
|
"OpenSourceLibs" = "開源函式庫";
|
||||||
"ShortsModeTurnedOff" = "Shorts Only Mode has been turned off";
|
|
||||||
|
"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" = "是";
|
"Yes" = "是";
|
||||||
"No" = "否";
|
"No" = "否";
|
||||||
|
|
||||||
"Copied" = "Copied to clipboard";
|
"Select" = "選擇";
|
||||||
"Saved" = "Saved to Photos";
|
"Default" = "預設";
|
||||||
"Error" = "Error";
|
"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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user