Compare commits

..

4 Commits

Author SHA1 Message Date
semantic-release-bot
c0824db142 chore: Release v5.34.0-dev.13 [skip ci]
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-19)

### Bug Fixes

* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([150bee2](150bee2833))
2025-08-19 14:55:36 +00:00
github-actions[bot]
1b7f84b7fa chore: Sync translations (#5677) 2025-08-19 10:52:35 -04:00
semantic-release-bot
6d87c848d6 chore: Release v5.34.0-dev.13 [skip ci]
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18)

### Bug Fixes

* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([150bee2](150bee2833))
2025-08-18 22:29:41 +00:00
MarcaD
150bee2833 fix(YouTube - Player Controls): Fix chapter title overlapping the bottom buttons (#5673)
Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
2025-08-18 18:27:14 -04:00
21 changed files with 224 additions and 259 deletions

View File

@@ -1,3 +1,17 @@
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-19)
### Bug Fixes
* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868))
# [5.34.0-dev.13](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.12...v5.34.0-dev.13) (2025-08-18)
### Bug Fixes
* **YouTube - Player Controls:** Fix chapter title overlapping the bottom buttons ([#5673](https://github.com/ReVanced/revanced-patches/issues/5673)) ([09ccee7](https://github.com/ReVanced/revanced-patches/commit/09ccee71384df338bbf8acc1097f619a372c4868))
# [5.34.0-dev.12](https://github.com/ReVanced/revanced-patches/compare/v5.34.0-dev.11...v5.34.0-dev.12) (2025-08-18)

View File

@@ -26,7 +26,6 @@ public class CreateSegmentButton {
controlsView,
"revanced_sb_create_segment_button",
null,
null,
CreateSegmentButton::shouldBeShown,
v -> SponsorBlockViewController.toggleNewSegmentLayoutVisibility(),
null

View File

@@ -28,7 +28,6 @@ public class VotingButton {
controlsView,
"revanced_sb_voting_button",
null,
null,
VotingButton::shouldBeShown,
v -> SponsorBlockUtils.onVotingClicked(v.getContext()),
null

View File

@@ -21,7 +21,6 @@ public class CopyVideoUrlButton {
instance = new PlayerControlButton(
controlsView,
"revanced_copy_video_url_button",
"revanced_copy_video_url_button_placeholder",
null,
Settings.COPY_VIDEO_URL::get,
view -> CopyVideoUrlPatch.copyUrl(false),

View File

@@ -21,7 +21,6 @@ public class CopyVideoUrlTimestampButton {
instance = new PlayerControlButton(
controlsView,
"revanced_copy_video_url_timestamp_button",
"revanced_copy_video_url_timestamp_button_placeholder",
null,
Settings.COPY_VIDEO_URL_TIMESTAMP::get,
view -> CopyVideoUrlPatch.copyUrl(true),

View File

@@ -22,7 +22,6 @@ public class ExternalDownloadButton {
instance = new PlayerControlButton(
controlsView,
"revanced_external_download_button",
"revanced_external_download_button_placeholder",
null,
Settings.EXTERNAL_DOWNLOADER::get,
ExternalDownloadButton::onDownloadClick,

View File

@@ -33,7 +33,6 @@ public class PlaybackSpeedDialogButton {
controlsView,
"revanced_playback_speed_dialog_button_container",
"revanced_playback_speed_dialog_button",
"revanced_playback_speed_dialog_button_placeholder",
"revanced_playback_speed_dialog_button_text",
Settings.PLAYBACK_SPEED_DIALOG_BUTTON::get,
view -> {

View File

@@ -1,7 +1,7 @@
package app.revanced.extension.youtube.videoplayer;
import android.view.View;
import android.view.animation.Animation;
import android.view.ViewPropertyAnimator;
import android.widget.ImageView;
import android.widget.TextView;
@@ -24,53 +24,29 @@ public class PlayerControlButton {
boolean buttonEnabled();
}
private static final int fadeInDuration;
private static final int fadeOutDuration;
private static final Animation fadeInAnimation;
private static final Animation fadeOutAnimation;
private static final Animation fadeOutImmediate;
static {
fadeInDuration = Utils.getResourceInteger("fade_duration_fast");
fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled");
fadeInAnimation = Utils.getResourceAnimation("fade_in");
fadeInAnimation.setDuration(fadeInDuration);
fadeOutAnimation = Utils.getResourceAnimation("fade_out");
fadeOutAnimation.setDuration(fadeOutDuration);
fadeOutImmediate = Utils.getResourceAnimation("abc_fade_out");
fadeOutImmediate.setDuration(Utils.getResourceInteger("fade_duration_fast"));
}
private static final int fadeInDuration = Utils.getResourceInteger("fade_duration_fast");
private static final int fadeOutDuration = Utils.getResourceInteger("fade_duration_scheduled");
private final WeakReference<View> containerRef;
private final WeakReference<View> buttonRef;
/**
* Empty view with the same layout size as the button. Used to fill empty space while the
* fade out animation runs. Without this the chapter titles overlapping the button when fading out.
*/
private final WeakReference<View> placeHolderRef;
private final WeakReference<TextView> textOverlayRef;
private final PlayerControlButtonStatus enabledStatus;
private boolean isVisible;
private long lastTimeSetVisible;
public PlayerControlButton(View controlsViewGroup,
String buttonId,
@Nullable String placeholderId,
@Nullable String textOverlayId,
PlayerControlButtonStatus enabledStatus,
View.OnClickListener onClickListener,
@Nullable View.OnLongClickListener longClickListener) {
this(controlsViewGroup, buttonId, buttonId, placeholderId, textOverlayId,
this(controlsViewGroup, buttonId, buttonId, textOverlayId,
enabledStatus, onClickListener, longClickListener);
}
public PlayerControlButton(View controlsViewGroup,
String viewToHide,
String buttonId,
@Nullable String placeholderId,
@Nullable String textOverlayId,
PlayerControlButtonStatus enabledStatus,
View.OnClickListener onClickListener,
@@ -86,13 +62,6 @@ public class PlayerControlButton {
}
buttonRef = new WeakReference<>(button);
View tempPlaceholder = null;
if (placeholderId != null) {
tempPlaceholder = Utils.getChildViewByResourceName(controlsViewGroup, placeholderId);
tempPlaceholder.setVisibility(View.GONE);
}
placeHolderRef = new WeakReference<>(tempPlaceholder);
TextView tempTextOverlay = null;
if (textOverlayId != null) {
tempTextOverlay = Utils.getChildViewByResourceName(controlsViewGroup, textOverlayId);
@@ -114,12 +83,117 @@ public class PlayerControlButton {
}
public void setVisibilityNegatedImmediate() {
if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) {
return;
}
try {
Utils.verifyOnMainThread();
if (PlayerControlsVisibility.getCurrent() != PlayerControlsVisibility.PLAYER_CONTROLS_VISIBILITY_HIDDEN) {
return;
}
final boolean buttonEnabled = enabledStatus.buttonEnabled();
if (!buttonEnabled) {
final boolean buttonEnabled = enabledStatus.buttonEnabled();
if (!buttonEnabled) {
return;
}
View container = containerRef.get();
if (container == null) {
return;
}
isVisible = false;
ViewPropertyAnimator animate = container.animate();
animate.cancel();
// If the overlay is tapped to display then immediately tapped to dismiss
// before the fade in animation finishes, then the fade out animation is
// the time between when the fade in started and now.
final long animationDuration = Math.min(fadeInDuration,
System.currentTimeMillis() - lastTimeSetVisible);
if (animationDuration <= 0) {
// Should never happen, but handle just in case.
container.setVisibility(View.GONE);
return;
}
animate.alpha(0)
.setDuration(animationDuration)
.withEndAction(() -> container.setVisibility(View.GONE))
.start();
} catch (Exception ex) {
Logger.printException(() -> "setVisibilityNegatedImmediate failure", ex);
}
}
public void setVisibilityImmediate(boolean visible) {
if (visible) {
// Fix button flickering, by pushing this call to the back of
// the main thread and letting other layout code run first.
Utils.runOnMainThread(() -> privateSetVisibility(true, false));
} else {
privateSetVisibility(false, false);
}
}
public void setVisibility(boolean visible, boolean animated) {
// Ignore this call, otherwise with full screen thumbnails the buttons are visible while seeking.
if (visible && !animated) return;
privateSetVisibility(visible, animated);
}
private void privateSetVisibility(boolean visible, boolean animated) {
try {
Utils.verifyOnMainThread();
if (isVisible == visible) return;
isVisible = visible;
if (visible) {
lastTimeSetVisible = System.currentTimeMillis();
}
View container = containerRef.get();
if (container == null) {
return;
}
if (visible && enabledStatus.buttonEnabled()) {
ViewPropertyAnimator animate = container.animate();
animate.cancel();
container.setVisibility(View.VISIBLE);
if (animated) {
container.setAlpha(0);
animate.alpha(1)
.setDuration(fadeInDuration)
.start();
} else {
container.setAlpha(1);
}
} else if (container.getVisibility() == View.VISIBLE) {
ViewPropertyAnimator animate = container.animate();
animate.cancel();
if (animated) {
animate.alpha(0)
.setDuration(fadeOutDuration)
.withEndAction(() -> container.setVisibility(View.GONE))
.start();
} else {
container.setVisibility(View.GONE);
}
}
} catch (Exception ex) {
Logger.printException(() -> "privateSetVisibility failure", ex);
}
}
/**
* Synchronizes the button state after the player state changes.
*/
private void playerTypeChanged(PlayerType newType) {
Utils.verifyOnMainThread();
if (newType != PlayerType.WATCH_WHILE_MINIMIZED && !newType.isMaximizedOrFullscreen()) {
return;
}
@@ -128,116 +202,26 @@ public class PlayerControlButton {
return;
}
isVisible = false;
container.animate().cancel();
container.clearAnimation();
container.startAnimation(fadeOutImmediate);
container.setVisibility(View.GONE);
View placeholder = placeHolderRef.get();
if (placeholder != null) {
if (isVisible && enabledStatus.buttonEnabled()) {
container.setVisibility(View.VISIBLE);
}
}
public void setVisibilityImmediate(boolean visible) {
if (visible) {
// Fix button flickering, by pushing this call to the back of
// the main thread and letting other layout code run first.
Utils.runOnMainThread(() -> private_setVisibility(true, false));
} else {
private_setVisibility(false, false);
}
}
public void setVisibility(boolean visible, boolean animated) {
// Ignore this call, otherwise with full screen thumbnails the buttons are visible while seeking.
if (visible && !animated) return;
private_setVisibility(visible, animated);
}
private void private_setVisibility(boolean visible, boolean animated) {
try {
if (isVisible == visible) return;
isVisible = visible;
View container = containerRef.get();
if (container == null) return;
View placeholder = placeHolderRef.get();
final boolean buttonEnabled = enabledStatus.buttonEnabled();
if (visible && buttonEnabled) {
container.clearAnimation();
if (animated) {
container.startAnimation(fadeInAnimation);
}
container.setVisibility(View.VISIBLE);
if (placeholder != null) {
placeholder.setVisibility(View.GONE);
}
} else {
if (container.getVisibility() == View.VISIBLE) {
container.clearAnimation();
if (animated) {
container.startAnimation(fadeOutAnimation);
}
container.setVisibility(View.GONE);
}
if (placeholder != null) {
placeholder.setVisibility(buttonEnabled
? View.VISIBLE
: View.GONE);
}
}
} catch (Exception ex) {
Logger.printException(() -> "private_setVisibility failure", ex);
}
}
/**
* Synchronizes the button state after the player state changes.
*/
private void playerTypeChanged(PlayerType newType) {
if (newType != PlayerType.WATCH_WHILE_MINIMIZED && !newType.isMaximizedOrFullscreen()) {
return;
}
View container = containerRef.get();
if (container == null) return;
container.clearAnimation();
View placeholder = placeHolderRef.get();
if (enabledStatus.buttonEnabled()) {
if (isVisible) {
container.setVisibility(View.VISIBLE);
if (placeholder != null) placeholder.setVisibility(View.GONE);
} else {
container.setVisibility(View.GONE);
if (placeholder != null) placeholder.setVisibility(View.VISIBLE);
}
container.setAlpha(1);
} else {
container.setVisibility(View.GONE);
if (placeholder != null) placeholder.setVisibility(View.GONE);
}
}
public void hide() {
Utils.verifyOnMainThread();
if (!isVisible) return;
if (!isVisible) {
return;
}
isVisible = false;
View view = containerRef.get();
if (view == null) return;
view.setVisibility(View.GONE);
View placeHolder = placeHolderRef.get();
if (placeHolder != null) view.setVisibility(View.GONE);
isVisible = false;
}
/**
@@ -245,6 +229,8 @@ public class PlayerControlButton {
* @param resourceId Drawable identifier, or zero to hide the icon.
*/
public void setIcon(int resourceId) {
Utils.verifyOnMainThread();
View button = buttonRef.get();
if (button instanceof ImageView imageButton) {
imageButton.setImageResource(resourceId);
@@ -256,6 +242,8 @@ public class PlayerControlButton {
* @param text The text to set on the overlay, or null to clear the text.
*/
public void setTextOverlay(CharSequence text) {
Utils.verifyOnMainThread();
TextView textOverlay = textOverlayRef.get();
if (textOverlay != null) {
textOverlay.setText(text);

View File

@@ -69,7 +69,6 @@ public class VideoQualityDialogButton {
controlsView,
"revanced_video_quality_dialog_button_container",
"revanced_video_quality_dialog_button",
"revanced_video_quality_dialog_button_placeholder",
"revanced_video_quality_dialog_button_text",
Settings.VIDEO_QUALITY_DIALOG_BUTTON::get,
view -> {

View File

@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
version = 5.34.0-dev.12
version = 5.34.0-dev.13

View File

@@ -582,7 +582,13 @@ Ekranın sağ tərəfində düzünə sürüşdürərək səs səviyyəsini tənz
<string name="revanced_hide_download_button_summary_off">Yükləmə düyməsi göstərilir</string>
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Coşqu Gizlət</string>
<string name="revanced_hide_hype_button_summary_on">Coşqu düyməsi gizlidir</string>
<string name="revanced_hide_hype_button_summary_off">Coşqu düyməsi görünür</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">Sponsor-u Gizlət</string>
<string name="revanced_hide_promote_button_summary_on">Sponsor düyməsi gizlidir</string>
<string name="revanced_hide_promote_button_summary_off"> Sponsor düyməsi görünür</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_thanks_button_title">\"Təşəkkürlər\"i gizlət</string>
<string name="revanced_hide_thanks_button_summary_on">Təşəkkür düyməsi gizlidir</string>

View File

@@ -453,9 +453,9 @@ Cette fonctionnalité est disponible uniquement pour les appareils anciens"</str
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Cette option ne contourne pas la vérification de l\'âge. Elle est juste confirmée automatiquement.</string>
</patch>
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
<string name="revanced_disable_signin_to_tv_popup_title">Désactiver le pop-up \"Se connecter à la TV\"</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Le pop-up \"Se connecter à la TV\" est désactivé</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Le pop-up \"Se connecter à la TV\" est activé</string>
<string name="revanced_disable_signin_to_tv_popup_title">Désactiver le pop-up \"Connectez-vous à la TV\"</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Le pop-up \"Connectez-vous à la TV\" est désactivé</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Le pop-up \"Connectez-vous à la TV\" est activé</string>
</patch>
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
<string name="revanced_disable_chapter_skip_double_tap_title">Désactiver le double appui pour passer à un chapitre</string>
@@ -582,11 +582,11 @@ Réglez le volume en balayant verticalement sur le côté droit de l'écran"</st
<string name="revanced_hide_download_button_summary_off">Le bouton Télécharger est affiché</string>
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Masquer l\'Hype</string>
<string name="revanced_hide_hype_button_summary_on">Le bouton Hype est masqué</string>
<string name="revanced_hide_hype_button_summary_off">Le bouton Hype est affiché</string>
<string name="revanced_hide_hype_button_title">Masquer \"Booster\"</string>
<string name="revanced_hide_hype_button_summary_on">Le bouton Booster est masqué</string>
<string name="revanced_hide_hype_button_summary_off">Le bouton Booster est affiché</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">Masquer Promouvoir</string>
<string name="revanced_hide_promote_button_title">Masquer \"Promouvoir\"</string>
<string name="revanced_hide_promote_button_summary_on">Le bouton Promouvoir est masqué</string>
<string name="revanced_hide_promote_button_summary_off">Le bouton Promouvoir est affiché</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->

View File

@@ -258,7 +258,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_hide_ask_section_title">質問セクションを非表示</string>
<string name="revanced_hide_ask_section_summary_on">質問セクションは表示されません</string>
<string name="revanced_hide_ask_section_summary_off">質問セクションは表示されます</string>
<string name="revanced_hide_attributes_section_title">関連情報を非表示</string>
<string name="revanced_hide_attributes_section_title">付随情報を非表示</string>
<string name="revanced_hide_attributes_section_summary_on">注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されません</string>
<string name="revanced_hide_attributes_section_summary_off">注目の場所 / ゲーム / 音楽 / 言及されている人物セクションは表示されます</string>
<string name="revanced_hide_chapters_section_title">チャプター セクションを非表示</string>
@@ -270,9 +270,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_hide_podcast_section_title">「ポッドキャストを検索」を非表示</string>
<string name="revanced_hide_podcast_section_summary_on">「ポッドキャストを検索」セクションは表示されません</string>
<string name="revanced_hide_podcast_section_summary_off">「ポッドキャストを検索」セクションは表示されます</string>
<string name="revanced_hide_info_cards_section_title">チャンネル情報を非表示</string>
<string name="revanced_hide_info_cards_section_summary_on">チャンネル情報セクションは表示されません</string>
<string name="revanced_hide_info_cards_section_summary_off">チャンネル情報セクションは表示されます</string>
<string name="revanced_hide_info_cards_section_title">情報カード セクションを非表示</string>
<string name="revanced_hide_info_cards_section_summary_on">情報カード セクションは表示されません</string>
<string name="revanced_hide_info_cards_section_summary_off">情報カード セクションは表示されます</string>
<string name="revanced_hide_key_concepts_section_title">「主な概念」を非表示</string>
<string name="revanced_hide_key_concepts_section_summary_on">主な概念セクションは表示されません</string>
<string name="revanced_hide_key_concepts_section_summary_off">主な概念セクションが表示されます</string>
@@ -316,7 +316,7 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_hide_visit_store_button_summary_on">「ストアに移動」ボタンは表示されません</string>
<string name="revanced_hide_visit_store_button_summary_off">「ストアに移動」ボタンは表示されます</string>
<string name="revanced_comments_screen_title">コメント</string>
<string name="revanced_comments_screen_summary">コメント セクションの設定</string>
<string name="revanced_comments_screen_summary">コメント セクションのコンポーネントを表示または非表示にします</string>
<string name="revanced_hide_comments_ai_chat_summary_title">AI による「チャットの要約」を非表示</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_on">AI による「チャットの要約」は表示されません</string>
<string name="revanced_hide_comments_ai_chat_summary_summary_off">AI による「チャットの要約」は表示されます</string>
@@ -441,12 +441,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<patch id="interaction.copyvideourl.copyVideoUrlResourcePatch">
<string name="revanced_share_copy_url_success">URL をクリップボードにコピーしました</string>
<string name="revanced_share_copy_url_timestamp_success">タイムスタンプ付きの URL がコピーされました</string>
<string name="revanced_copy_video_url_title">「動画の URL をコピー」ボタンを表示する</string>
<string name="revanced_copy_video_url_summary_on">ボタンオーバーレイに表示されます。タップすると動画の URL 、長押しするとタイムスタンプ付きの URL それぞれコピーできます</string>
<string name="revanced_copy_video_url_summary_off">ボタンはオーバーレイに表示されません</string>
<string name="revanced_copy_video_url_timestamp_title">「動画のタイムスタンプ付き URL をコピー」ボタンを表示する</string>
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンオーバーレイに表示されます。タップするとタイムスタンプ付きの URL 、長押しするとタイムスタンプなしの URL それぞれコピーできます</string>
<string name="revanced_copy_video_url_timestamp_summary_off">ボタンはオーバーレイに表示されません</string>
<string name="revanced_copy_video_url_title">「動画の URL をコピー」ボタンを表示</string>
<string name="revanced_copy_video_url_summary_on">ボタンがプレーヤー オーバーレイに表示されます。タップすると動画の URL 、長押しするとタイムスタンプ付きの URL それぞれコピーされます</string>
<string name="revanced_copy_video_url_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
<string name="revanced_copy_video_url_timestamp_title">「動画のタイムスタンプ付き URL をコピー」ボタンを表示</string>
<string name="revanced_copy_video_url_timestamp_summary_on">ボタンがプレーヤー オーバーレイに表示されます。タップするとタイムスタンプ付きの URL 、長押しするとタイムスタンプなしの URL それぞれコピーされます</string>
<string name="revanced_copy_video_url_timestamp_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
</patch>
<patch id="interaction.dialog.removeViewerDiscretionDialogPatch">
<string name="revanced_remove_viewer_discretion_dialog_title">「ご自身の責任」ダイアログを削除</string>
@@ -467,11 +467,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<patch id="interaction.downloads.downloadsResourcePatch">
<string name="revanced_external_downloader_screen_title">外部ダウンロード</string>
<string name="revanced_external_downloader_screen_summary">外部ダウンローダーの設定</string>
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示する</string>
<string name="revanced_external_downloader_summary_on">外部ダウンロード ボタンオーバーレイに表示されます</string>
<string name="revanced_external_downloader_summary_off">外部ダウンロード ボタンはオーバーレイに表示されません</string>
<string name="revanced_external_downloader_title">外部ダウンロード ボタンを表示</string>
<string name="revanced_external_downloader_summary_on">外部ダウンロード ボタンがプレーヤー オーバーレイに表示されます</string>
<string name="revanced_external_downloader_summary_off">外部ダウンロード ボタンはプレーヤー オーバーレイに表示されません</string>
<!-- 'Download action button' should be translated using the same wording as the translation of 'revanced_hide_download_button_title'. -->
<string name="revanced_external_downloader_action_button_title">オフライン ボタンの動作を上書きする</string>
<string name="revanced_external_downloader_action_button_title">オフライン ボタンの動作を上書き</string>
<string name="revanced_external_downloader_action_button_summary_on">オフライン ボタンは外部ダウンローダーを呼び出します</string>
<string name="revanced_external_downloader_action_button_summary_off">オフライン ボタンはアプリ内のダウンローダーを呼び出します</string>
<string name="revanced_external_downloader_name_title">外部ダウンローダーのパッケージ名</string>
@@ -549,13 +549,13 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
</patch>
<patch id="layout.autocaptions.autoCaptionsPatch">
<string name="revanced_disable_auto_captions_title">自動字幕表示を無効化</string>
<string name="revanced_disable_auto_captions_summary_on">動画を開いた際の自動字幕表示は無効です</string>
<string name="revanced_disable_auto_captions_summary_off">動画を開いた際の自動字幕表示は有効で</string>
<string name="revanced_disable_auto_captions_summary_on">自動字幕表示は無効です\n\n動画を開いた際にデフォルトで字幕は表示されません</string>
<string name="revanced_disable_auto_captions_summary_off">自動字幕表示は有効です\n\n動画を開いた際にデフォルトで字幕表示される場合がありま</string>
</patch>
<patch id="layout.buttons.action.hideButtonsPatch">
<string name="revanced_hide_buttons_screen_title">アクション ボタン</string>
<string name="revanced_hide_buttons_screen_summary">プレーヤー画面下のボタンの設定</string>
<string name="revanced_disable_like_subscribe_glow_title">高評価とチャンネル登録のエフェクトを無効にする</string>
<string name="revanced_hide_buttons_screen_summary">プレーヤー画面下のボタンを表示または非表示にします</string>
<string name="revanced_disable_like_subscribe_glow_title">高評価とチャンネル登録のエフェクトを無効</string>
<string name="revanced_disable_like_subscribe_glow_summary_on">高評価ボタンとチャンネル登録ボタンのエフェクトは無効です</string>
<string name="revanced_disable_like_subscribe_glow_summary_off">高評価ボタンとチャンネル登録ボタンのエフェクトは有効です</string>
<string name="revanced_hide_like_dislike_button_title">高評価ボタンと低評価ボタンを非表示</string>
@@ -718,29 +718,29 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
</patch>
<patch id="layout.buttons.overlay.hidePlayerOverlayButtonsPatch">
<string name="revanced_hide_autoplay_button_title">自動再生ボタンを非表示</string>
<string name="revanced_hide_autoplay_button_summary_on">自動再生ボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_autoplay_button_summary_off">自動再生ボタンはオーバーレイに表示されます</string>
<string name="revanced_hide_autoplay_button_summary_on">プレーヤー オーバーレイの自動再生ボタンは表示されません</string>
<string name="revanced_hide_autoplay_button_summary_off">プレーヤー オーバーレイの自動再生ボタンは表示されます</string>
<!-- This button does not display any text, but 'Captions' should be translated using the same wording used as the translation of 'revanced_hide_player_flyout_captions_title'. -->
<string name="revanced_hide_captions_button_title">字幕ボタンを非表示</string>
<string name="revanced_hide_captions_button_summary_on">字幕ボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_captions_button_summary_off">字幕ボタンはオーバーレイに表示されます</string>
<string name="revanced_hide_captions_button_summary_on">プレーヤー オーバーレイの字幕ボタンは表示されません</string>
<string name="revanced_hide_captions_button_summary_off">プレーヤー オーバーレイの字幕ボタンは表示されます</string>
<string name="revanced_hide_cast_button_title">キャストボタンを非表示</string>
<string name="revanced_hide_cast_button_summary_on">キャストボタンはオーバーレイに表示されません</string>
<string name="revanced_hide_cast_button_summary_off">キャストボタンはオーバーレイに表示されます</string>
<string name="revanced_hide_player_control_buttons_background_title">プレーヤーコントロールの背景を非表示</string>
<string name="revanced_hide_player_control_buttons_background_summary_on">プレーヤーコントロールの背景は表示されません</string>
<string name="revanced_hide_player_control_buttons_background_summary_off">プレーヤーコントロールの背景は表示されます</string>
<string name="revanced_hide_cast_button_summary_on">プレーヤー オーバーレイのキャストボタンは表示されません</string>
<string name="revanced_hide_cast_button_summary_off">プレーヤー オーバーレイのキャストボタンは表示されます</string>
<string name="revanced_hide_player_control_buttons_background_title">プレーヤー コントロールの背景を非表示</string>
<string name="revanced_hide_player_control_buttons_background_summary_on">プレーヤー コントロールの背景は表示されません</string>
<string name="revanced_hide_player_control_buttons_background_summary_off">プレーヤー コントロールの背景は表示されます</string>
<string name="revanced_hide_player_previous_next_buttons_title">前の動画ボタンと次の動画ボタンを非表示</string>
<string name="revanced_hide_player_previous_next_buttons_summary_on">前の動画ボタンと次の動画ボタンは表示されません</string>
<string name="revanced_hide_player_previous_next_buttons_summary_off">前の動画ボタンと次の動画ボタンは表示されます</string>
</patch>
<patch id="layout.hide.endscreencards.hideEndscreenCardsResourcePatch">
<string name="revanced_hide_endscreen_cards_title">動画の終了画面を非表示</string>
<string name="revanced_hide_endscreen_cards_summary_on">動画の終了画面は表示されません</string>
<string name="revanced_hide_endscreen_cards_summary_off">動画の終了画面は表示されます</string>
<string name="revanced_hide_endscreen_cards_title">終了画面カードを非表示</string>
<string name="revanced_hide_endscreen_cards_summary_on">終了画面カードは表示されません</string>
<string name="revanced_hide_endscreen_cards_summary_off">終了画面カードは表示されます</string>
</patch>
<patch id="layout.hide.fullscreenambientmode.disableFullscreenAmbientModePatch">
<string name="revanced_disable_fullscreen_ambient_mode_title">全画面表示中のアンビエント モードを無効にする</string>
<string name="revanced_disable_fullscreen_ambient_mode_title">全画面表示中のアンビエント モードを無効</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_on">全画面表示中のアンビエント モードは無効です</string>
<string name="revanced_disable_fullscreen_ambient_mode_summary_off">全画面表示中のアンビエント モードは有効です</string>
</patch>
@@ -750,9 +750,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_hide_info_cards_summary_off">情報カードはプレーヤー画面に表示されます</string>
</patch>
<patch id="layout.hide.rollingnumber.disableRollingNumberAnimationPatch">
<string name="revanced_disable_rolling_number_animations_title">数字のアニメーションを無効にする</string>
<string name="revanced_disable_rolling_number_animations_summary_on">数字のアニメーションは無効です</string>
<string name="revanced_disable_rolling_number_animations_summary_off">数字のアニメーションは有効です</string>
<string name="revanced_disable_rolling_number_animations_title">数字の回転アニメーションを無効</string>
<string name="revanced_disable_rolling_number_animations_summary_on">数字の回転アニメーションは無効です</string>
<string name="revanced_disable_rolling_number_animations_summary_off">数字の回転アニメーションは有効です</string>
</patch>
<patch id="layout.hide.seekbar.hideSeekbarPatch">
<string name="revanced_hide_seekbar_title">動画プレーヤーのシークバーを非表示</string>
@@ -878,12 +878,12 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_hide_shorts_navigation_bar_summary_off">ナビゲーション バーは表示されます</string>
</patch>
<patch id="layout.hide.endscreensuggestion.hideEndScreenSuggestedVideoPatch">
<string name="revanced_end_screen_suggested_video_title">再生終了時の「関連動画」オーバーレイを非表示</string>
<string name="revanced_end_screen_suggested_video_summary_on">"再生終了に、「関連動画」オーバーレイはプレーヤー画面に表示されませんが、自動再生がオンの場合は次の動画が自動で再生されます
<string name="revanced_end_screen_suggested_video_title">再生終了時の「関連動画」を非表示</string>
<string name="revanced_end_screen_suggested_video_summary_on">"再生終了したときに、「関連動画」はプレーヤー画面に表示されませんが、自動再生がオンの場合は次の動画が自動で再生されます
自動再生の設定は YouTube の設定で変更できます:
設定 → 再生 → 次の動画を自動再生"</string>
<string name="revanced_end_screen_suggested_video_summary_off">再生終了時に、「関連動画」オーバーレイがプレーヤー画面に表示されます</string>
<string name="revanced_end_screen_suggested_video_summary_off">再生終了したときに「関連動画」がプレーヤー画面に表示されます</string>
</patch>
<patch id="layout.hide.relatedvideooverlay.hideRelatedVideoOverlayPatch">
<string name="revanced_hide_related_videos_overlay_title">関連動画オーバーレイを非表示</string>
@@ -897,11 +897,11 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
</patch>
<patch id="layout.panels.popup.playerPopupPanelsPatch">
<string name="revanced_hide_player_popup_panels_title">プレーヤー ポップアップ パネルを非表示</string>
<string name="revanced_hide_player_popup_panels_summary_on">動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されません</string>
<string name="revanced_hide_player_popup_panels_summary_off">動画を開いた際のプレイリストやチャット欄などのプレーヤー ポップアップ パネルは表示されます</string>
<string name="revanced_hide_player_popup_panels_summary_on">プレーヤー ポップアップ パネルは表示されません\n\nプレイリストやチャット欄などを閉じた状態で動画を開きます</string>
<string name="revanced_hide_player_popup_panels_summary_off">プレーヤー ポップアップ パネルは表示されます\n\nプレイリストやチャット欄などを展開した状態で動画を開きます</string>
</patch>
<patch id="layout.player.fullscreen.exitFullscreenPatch">
<string name="revanced_exit_fullscreen_title">再生終了時に全画面表示を解除する</string>
<string name="revanced_exit_fullscreen_title">再生終了時に全画面表示を解除</string>
<string name="revanced_exit_fullscreen_entry_1">無効</string>
<string name="revanced_exit_fullscreen_entry_2">縦画面</string>
<string name="revanced_exit_fullscreen_entry_3">横画面</string>
@@ -913,9 +913,9 @@ GmsCore の電池の最適化を無効にしても、バッテリーの使用に
<string name="revanced_open_videos_fullscreen_portrait_summary_off">通常表示で動画を開きます</string>
</patch>
<patch id="layout.player.overlay.customPlayerOverlayOpacityResourcePatch">
<string name="revanced_player_overlay_opacity_title">オーバーレイの透明度</string>
<string name="revanced_player_overlay_opacity_title">プレーヤー オーバーレイの透明度</string>
<string name="revanced_player_overlay_opacity_summary">透明度の範囲は 0-100 で、0 が透明です</string>
<string name="revanced_player_overlay_opacity_invalid_toast">動画プレーヤー: 透明度の範囲は 0-100 です</string>
<string name="revanced_player_overlay_opacity_invalid_toast">プレーヤー: 透明度の範囲は 0-100 です</string>
</patch>
<patch id="layout.returnyoutubedislike.returnYouTubeDislikePatch">
<!-- Toast shown if network connection times out. Translations of this should not be longer than the original English or the text can be clipped and not entirely shown. -->
@@ -1282,24 +1282,24 @@ Automotive レイアウト
<string name="revanced_miniplayer_type_entry_5">モダン 2</string>
<string name="revanced_miniplayer_type_entry_6">モダン 3</string>
<string name="revanced_miniplayer_type_entry_7">モダン 4</string>
<string name="revanced_miniplayer_rounded_corners_title">角を丸くする</string>
<string name="revanced_miniplayer_rounded_corners_title">角を有効化</string>
<string name="revanced_miniplayer_rounded_corners_summary_on">ミニプレーヤーの角は丸角です</string>
<string name="revanced_miniplayer_rounded_corners_summary_off">ミニプレーヤーの角は直角です</string>
<string name="revanced_miniplayer_double_tap_action_title">「ダブルタップとピンチでサイズ変更」を有効にする</string>
<string name="revanced_miniplayer_double_tap_action_title">「ダブルタップとピンチでサイズ変更」を有効</string>
<string name="revanced_miniplayer_double_tap_action_summary_on">"「ダブルタップとピンチでサイズ変更」は有効です
• ダブルタップすると、ミニプレーヤーのサイズが大きくなる
• もう一度ダブルタップすると、元のサイズに戻る"</string>
<string name="revanced_miniplayer_double_tap_action_summary_off">「 ダブルタップとピンチでサイズ変更」は無効です</string>
<string name="revanced_miniplayer_drag_and_drop_title">ドラッグ&ドロップを有効にする</string>
<string name="revanced_miniplayer_drag_and_drop_title">ドラッグ&ドロップを有効</string>
<string name="revanced_miniplayer_drag_and_drop_summary_on">"ドラッグ&ドロップは有効です
ミニプレーヤーを画面の四隅に移動できます"</string>
<string name="revanced_miniplayer_drag_and_drop_summary_off">ドラッグ&ドロップは無効です</string>
<string name="revanced_miniplayer_horizontal_drag_title">横方向ドラッグ ジェスチャーを有効にする</string>
<string name="revanced_miniplayer_horizontal_drag_title">横方向ドラッグ ジェスチャーを有効</string>
<string name="revanced_miniplayer_horizontal_drag_summary_on">"横方向ドラッグ ジェスチャーは有効です
ミニプレーヤーを画面の左端または右端までドラッグすると最小化できます"</string>
ミニプレーヤーを画面の左端または右端までドラッグすると最小化されます"</string>
<string name="revanced_miniplayer_horizontal_drag_summary_off">横方向ドラッグ ジェスチャーは無効です</string>
<string name="revanced_miniplayer_hide_overlay_buttons_title">オーバーレイ ボタンを非表示</string>
<string name="revanced_miniplayer_hide_overlay_buttons_summary_on">オーバーレイ ボタンは表示されません</string>
@@ -1479,13 +1479,13 @@ Automotive レイアウト
</patch>
<patch id="video.speed.button.playbackSpeedButtonPatch">
<string name="revanced_playback_speed_dialog_button_title">再生速度設定ボタンを表示</string>
<string name="revanced_playback_speed_dialog_button_summary_on">ボタンがオーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます</string>
<string name="revanced_playback_speed_dialog_button_summary_off">ボタンはオーバーレイに表示されません</string>
<string name="revanced_playback_speed_dialog_button_summary_on">ボタンがプレーヤー オーバーレイに表示されます。長押しすると、再生速度がデフォルトの値にリセットされます</string>
<string name="revanced_playback_speed_dialog_button_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
</patch>
<patch id="video.quality.button.videoQualityDialogButtonPatch">
<string name="revanced_video_quality_dialog_button_title">画質設定ボタンを表示</string>
<string name="revanced_video_quality_dialog_button_summary_on">ボタンがオーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます</string>
<string name="revanced_video_quality_dialog_button_summary_off">ボタンはオーバーレイに表示されません</string>
<string name="revanced_video_quality_dialog_button_summary_on">ボタンがプレーヤー オーバーレイに表示されます。長押しすると、画質がデフォルトの値にリセットされます</string>
<string name="revanced_video_quality_dialog_button_summary_off">ボタンはプレーヤー オーバーレイに表示されません</string>
</patch>
<patch id="video.speed.custom.customPlaybackSpeedPatch">
<string name="revanced_custom_speed_menu_title">カスタム再生速度メニュー</string>

View File

@@ -584,9 +584,9 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_hide_hype_button_summary_on">Hype 버튼이 숨겨집니다</string>
<string name="revanced_hide_hype_button_summary_off">Hype 버튼이 표시됩니다</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">홍보 버튼 숨기기</string>
<string name="revanced_hide_promote_button_summary_on">홍보 버튼이 숨겨집니다</string>
<string name="revanced_hide_promote_button_summary_off">홍보 버튼이 표시됩니다</string>
<string name="revanced_hide_promote_button_title">프로모션 버튼 숨기기</string>
<string name="revanced_hide_promote_button_summary_on">프로모션 버튼이 숨겨집니다</string>
<string name="revanced_hide_promote_button_summary_off">프로모션 버튼이 표시됩니다</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_thanks_button_title">Thanks 버튼 숨기기</string>
<string name="revanced_hide_thanks_button_summary_on">Thanks 버튼이 숨겨집니다</string>
@@ -1193,7 +1193,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
</patch>
<patch id="layout.formfactor.changeFormFactorPatch">
<string name="revanced_change_form_factor_title">레이아웃 폼 팩터 변경하기</string>
<string name="revanced_change_form_factor_entry_1">기 기본값 사용</string>
<string name="revanced_change_form_factor_entry_1">본값</string>
<string name="revanced_change_form_factor_entry_2"></string>
<string name="revanced_change_form_factor_entry_3">태블릿</string>
<string name="revanced_change_form_factor_entry_4">오토모티브</string>
@@ -1221,7 +1221,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
</patch>
<patch id="layout.startpage.changeStartPagePatch">
<string name="revanced_change_start_page_title">앱 시작 페이지 변경하기</string>
<string name="revanced_change_start_page_entry_default">홈 (기본값)</string>
<string name="revanced_change_start_page_entry_default">기본값</string>
<string name="revanced_change_start_page_entry_all_subscriptions">모든 구독 채널</string>
<string name="revanced_change_start_page_entry_browse">채널 둘러보기</string>
<string name="revanced_change_start_page_entry_courses">학습 프로그램</string>
@@ -1276,7 +1276,7 @@ MicroG 앱 배터리 최적화를 비활성화(제한 없음)하더라도, 배
<string name="revanced_miniplayer_screen_summary">앱 내에서 최소화된 플레이어의 스타일을 변경할 수 있습니다</string>
<string name="revanced_miniplayer_type_title">미니 플레이어 유형</string>
<string name="revanced_miniplayer_type_entry_0">사용 안함</string>
<string name="revanced_miniplayer_type_entry_1">기 기본값 사용</string>
<string name="revanced_miniplayer_type_entry_1">본값</string>
<string name="revanced_miniplayer_type_entry_2">최소화</string>
<string name="revanced_miniplayer_type_entry_3">태블릿</string>
<string name="revanced_miniplayer_type_entry_4">모던 스타일 1</string>

View File

@@ -582,7 +582,7 @@ Second \"item\" text"</string>
<string name="revanced_hide_download_button_summary_off">Кнопка \"Скачать\" под плеером показана</string>
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Скрыть кнопку \"Hype\"</string>
<string name="revanced_hide_hype_button_title">Скрыть кнопку \"Хайп\"</string>
<string name="revanced_hide_hype_button_summary_on">Кнопка \"Хайп\" скрыта</string>
<string name="revanced_hide_hype_button_summary_off">Кнопка \"Хайп\" показана</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->

View File

@@ -453,9 +453,9 @@ Ova funkcija je dostupna samo za starije uređaje"</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ovo ne zaobilazi starosno ograničenje. Samo ga automatski prihvata.</string>
</patch>
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
<string name="revanced_disable_signin_to_tv_popup_title">Onemogući iskačući prozor za prijavu na TV</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Iskačući prozor za prijavu na TV je onemogućen</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Iskačući prozor za prijavu na TV je omogućen</string>
<string name="revanced_disable_signin_to_tv_popup_title">Onemogući iskačući prozor „Prijava na TV</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Iskačući prozor „Prijava na TV je onemogućen</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Iskačući prozor „Prijava na TV je omogućen</string>
</patch>
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
<string name="revanced_disable_chapter_skip_double_tap_title">Onemogući preskakanje poglavlja dvostrukim dodirom</string>
@@ -582,11 +582,11 @@ Podesite jačinu zvuka prevlačenjem vertikalno na desnoj strani ekrana"</string
<string name="revanced_hide_download_button_summary_off">Dugme „Preuzmi” je prikazano</string>
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Sakrij Hajp</string>
<string name="revanced_hide_hype_button_title">Sakrij dugme „Hajp</string>
<string name="revanced_hide_hype_button_summary_on">Dugme „Hajp” je skriveno</string>
<string name="revanced_hide_hype_button_summary_off">Dugme „Haip” je prikazano</string>
<string name="revanced_hide_hype_button_summary_off">Dugme „Hajp” je prikazano</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">Sakrij Promoviši</string>
<string name="revanced_hide_promote_button_title">Sakrij dugme „Promoviši</string>
<string name="revanced_hide_promote_button_summary_on">Dugme „Promoviši” je skriveno</string>
<string name="revanced_hide_promote_button_summary_off">Dugme „Promoviši” je prikazano</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->

View File

@@ -453,9 +453,9 @@ Second \"item\" text"</string>
<string name="revanced_remove_viewer_discretion_dialog_user_dialog_message">Ово не заобилази старосно ограничење. Само га аутоматски прихвата.</string>
</patch>
<patch id="layout.hide.signintotv.disableSignInToTvPopupPatch">
<string name="revanced_disable_signin_to_tv_popup_title">Онемогући искачући прозор за пријављивање на ТВ</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Искачући прозор за пријављивање на ТВ је онемогућен</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Искачући прозор за пријављивање на ТВ је омогућен</string>
<string name="revanced_disable_signin_to_tv_popup_title">Онемогући искачући прозор „Пријава на ТВ</string>
<string name="revanced_disable_signin_to_tv_popup_summary_on">Искачући прозор „Пријава на ТВ је онемогућен</string>
<string name="revanced_disable_signin_to_tv_popup_summary_off">Искачући прозор „Пријава на ТВ је омогућен</string>
</patch>
<patch id="interaction.doubletap.disableDoubleTapActionsPatch">
<string name="revanced_disable_chapter_skip_double_tap_title">Онемогући прескакање поглавља двоструким додиром</string>
@@ -582,11 +582,11 @@ Second \"item\" text"</string>
<string name="revanced_hide_download_button_summary_off">Дугме „Преузми” је приказано</string>
<!-- 'Hype' should be translated with the same localized wording that YouTube displays.
This button only shows on videos uploaded by the logged in user. -->
<string name="revanced_hide_hype_button_title">Сакриј Хајп</string>
<string name="revanced_hide_hype_button_title">Сакриј дугме „Хајп</string>
<string name="revanced_hide_hype_button_summary_on">Дугме „Хајп” је скривено</string>
<string name="revanced_hide_hype_button_summary_off">Дугме „Хајп” је приказано</string>
<!-- 'Promote' should be translated with the same localized wording that YouTube displays. -->
<string name="revanced_hide_promote_button_title">Сакриј промоцију</string>
<string name="revanced_hide_promote_button_title">Сакриј дугме „Промовиши”</string>
<string name="revanced_hide_promote_button_summary_on">Дугме „Промовиши” је скривено</string>
<string name="revanced_hide_promote_button_summary_off">Дугме „Промовиши” је приказано</string>
<!-- 'Thanks' should be translated with the same localized wording that YouTube displays. -->

View File

@@ -18,14 +18,6 @@
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
<View
android:id="@+id/revanced_copy_video_url_button_placeholder"
android:layout_width="48.0dip"
android:layout_height="60.0dip"
android:visibility="gone"
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
<com.google.android.libraries.youtube.common.ui.TouchImageView
android:id="@+id/revanced_copy_video_url_timestamp_button"
style="@style/YouTubePlayerButton"
@@ -37,12 +29,4 @@
android:src="@drawable/revanced_yt_copy_timestamp"
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
<View
android:id="@+id/revanced_copy_video_url_timestamp_button_placeholder"
android:layout_width="48.0dip"
android:layout_height="60.0dip"
android:visibility="gone"
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
</android.support.constraint.ConstraintLayout>

View File

@@ -18,12 +18,4 @@
android:src="@drawable/revanced_yt_download_button"
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
<View
android:id="@+id/revanced_external_download_button_placeholder"
android:layout_width="48.0dip"
android:layout_height="60.0dip"
android:visibility="gone"
yt:layout_constraintBottom_toTopOf="@+id/quick_actions_container"
yt:layout_constraintRight_toLeftOf="@+id/fullscreen_button" />
</android.support.constraint.ConstraintLayout>

View File

@@ -33,11 +33,5 @@
android:paddingTop="5.5dp"
android:textColor="@android:color/white"
android:textSize="10dp" />
<View
android:id="@+id/revanced_video_quality_dialog_button_placeholder"
android:layout_width="48.0dip"
android:layout_height="60.0dip"
android:visibility="gone" />
</FrameLayout>
</android.support.constraint.ConstraintLayout>

View File

@@ -33,11 +33,5 @@
android:paddingTop="5.5dp"
android:textColor="@android:color/white"
android:textSize="10dp" />
<View
android:id="@+id/revanced_playback_speed_dialog_button_placeholder"
android:layout_width="48.0dip"
android:layout_height="60.0dip"
android:visibility="gone" />
</FrameLayout>
</android.support.constraint.ConstraintLayout>