From 9a3a33fdd3984c73a2a5cb8e946f9db5be2b6bef Mon Sep 17 00:00:00 2001 From: damontecres <154766448+damontecres@users.noreply.github.com> Date: Sat, 22 Nov 2025 18:39:58 -0500 Subject: [PATCH] Use full phases for skip buttons for better translations (#304) Changes the skip segment button text to use a single phrase instead of concatenating two strings. This allows correct context when translating. Follow up from #292 --- .../com/github/damontecres/wholphin/ui/Formatting.kt | 12 ++++++++++++ .../wholphin/ui/playback/PlaybackControls.kt | 4 ++-- .../damontecres/wholphin/ui/playback/PlaybackPage.kt | 5 ++--- app/src/main/res/values-de/strings.xml | 6 ++++++ app/src/main/res/values/strings.xml | 6 ++++++ 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/Formatting.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/Formatting.kt index 1e5c1ae3..621133b0 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/Formatting.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/Formatting.kt @@ -181,3 +181,15 @@ val MediaSegmentType.stringRes: Int MediaSegmentType.OUTRO -> R.string.outro MediaSegmentType.INTRO -> R.string.intro } + +@get:StringRes +val MediaSegmentType.skipStringRes: Int + get() = + when (this) { + MediaSegmentType.UNKNOWN -> R.string.skip_segment_unknown + MediaSegmentType.COMMERCIAL -> R.string.skip_segment_commercial + MediaSegmentType.PREVIEW -> R.string.skip_segment_preview + MediaSegmentType.RECAP -> R.string.skip_segment_recap + MediaSegmentType.OUTRO -> R.string.skip_segment_outro + MediaSegmentType.INTRO -> R.string.skip_segment_intro + } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackControls.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackControls.kt index 2343a2e5..d195afc7 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackControls.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackControls.kt @@ -62,7 +62,7 @@ import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.ui.AppColors import com.github.damontecres.wholphin.ui.seekBack import com.github.damontecres.wholphin.ui.seekForward -import com.github.damontecres.wholphin.ui.stringRes +import com.github.damontecres.wholphin.ui.skipStringRes import com.github.damontecres.wholphin.ui.tryRequestFocus import com.github.damontecres.wholphin.util.ExceptionHandler import kotlinx.coroutines.delay @@ -199,7 +199,7 @@ fun PlaybackControls( .padding(end = 32.dp), ) { Text( - text = stringResource(R.string.skip) + " " + stringResource(segment.type.stringRes), + text = stringResource(segment.type.skipStringRes), ) } } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt index 6f895305..3e89f629 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackPage.kt @@ -60,7 +60,6 @@ import androidx.tv.material3.Button import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import androidx.tv.material3.surfaceColorAtElevation -import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.data.model.ItemPlayback import com.github.damontecres.wholphin.data.model.Playlist import com.github.damontecres.wholphin.preferences.PlayerBackend @@ -74,7 +73,7 @@ import com.github.damontecres.wholphin.ui.nav.Destination import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleSettings.applyToMpv import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleSettings.toSubtitleStyle import com.github.damontecres.wholphin.ui.seasonEpisode -import com.github.damontecres.wholphin.ui.stringRes +import com.github.damontecres.wholphin.ui.skipStringRes import com.github.damontecres.wholphin.ui.tryRequestFocus import com.github.damontecres.wholphin.util.ExceptionHandler import com.github.damontecres.wholphin.util.LoadingState @@ -413,7 +412,7 @@ fun PlaybackPage( modifier = Modifier.focusRequester(focusRequester), ) { Text( - text = stringResource(R.string.skip) + " " + stringResource(segment.type.stringRes), + text = stringResource(segment.type.skipStringRes), ) } } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 23dc2043..137efa0b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -274,4 +274,10 @@ Zurückspringen Wiedergabe backend Aktiviere erneut wiedergeben in als nächstes + Segment Überspringen + Werbung Überspringen + Vorschau Überspringen + Rückblick Überspringen + Outro Überspringen + Intro Überspringen diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 31bbd291..5286503e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -313,6 +313,12 @@ Disable if you experience crashes MPV Options ExoPlayer Options + Skip Segment + Skip Ads + Skip Preview + Skip Recap + Skip Outro + Skip Intro Disabled