Skip to content

fix(player): make the pause label translatable - #4384

Open
GameOn223 wants to merge 1 commit into
MetrolistGroup:mainfrom
GameOn223:fix/player-pause-label
Open

GameOn223 wants to merge 1 commit into
MetrolistGroup:mainfrom
GameOn223:fix/player-pause-label

Conversation

@GameOn223

@GameOn223 GameOn223 commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Problem

The Pause label on the full player's play/pause button stays in English no matter what language the app is in, and it can't be found on Weblate either.

Cause

The button reads R.string.pause, which only exists in strings.xml. That's the upstream InnerTune file and it isn't translated here, so no locale has pause. play sits right next to it and is translated everywhere, which is why only Pause shows up in English.

Solution

Added player_pause to metrolist_strings.xml and pointed the two uses in Player.kt at it. strings.xml isn't touched.

Testing

Built assembleFossDebug and dumped the APK's resources with aapt2. player_pause is in there with "Pause" as the default, and pause still only has the English value, same as the bug. I didn't run it on a device since the only change is which string the label reads.

I used an AI assistant while working on this.

Related Issues

Closes #4354
Closes #4375

Summary by CodeRabbit

  • Bug Fixes
    • Improved accessibility labeling for the new player’s play/pause control.
    • The pause action now consistently uses the “Pause” label for both the button text and screen-reader description.

@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 29d201f3-fa12-48d1-b1ba-47a7dc689d04

📥 Commits

Reviewing files that changed from the base of the PR and between 6be77c1 and aa66373.

📒 Files selected for processing (2)
  • app/src/main/kotlin/com/metrolist/music/ui/player/Player.kt
  • app/src/main/res/values/metrolist_strings.xml

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The player pause controls now use a dedicated player_pause string resource. The resource is defined for translation, and both the icon content description and visible label use it when playback is active.

Changes

Player pause localization

Layer / File(s) Summary
Pause control string wiring
app/src/main/res/values/metrolist_strings.xml, app/src/main/kotlin/com/metrolist/music/ui/player/Player.kt
Added the player_pause resource and updated the active playback icon description and button label to use it. The play branch is unchanged.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix · Severity of issue fixed: Medium

Suggested reviewers: mostafaalagamy

Merge Risk: ⚪ Minimal · up to aa663

This localized pause-label change is mergeable with no identified production or integration risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: making the player's pause label translatable.
Description check ✅ Passed The description includes all required sections. It explains the problem, cause, solution, testing, and related issues. It also states that device testing was not performed.
Linked Issues check ✅ Passed The PR adds player_pause to app/src/main/res/values/metrolist_strings.xml. This exposes the Pause label to the translation catalog for issue #4354. Player.kt now uses R.string.player_pause for…
Out of Scope Changes check ✅ Passed The PR changes only the Pause resource declaration and the two player pause-label references. These changes directly implement issues #4354 and #4375. No unrelated behavior or files are included in th…
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[i18n] "Pause" string is not localized in Turkish translation Pause button isn't translatable

1 participant