Skip to content

i18n: add the missing German strings and localize the mobile player - #833

Merged
ProdigyV21 merged 4 commits into
ProdigyV21:mainfrom
ReichiMD:claude/project-thread-dha0q7
Oct 27, 2026
Merged

ProdigyV21 merged 4 commits into
ProdigyV21:mainfrom
ReichiMD:claude/project-thread-dha0q7

Conversation

@ReichiMD

Copy link
Copy Markdown
Contributor

What

Two parts, same approach as the earlier i18n PRs (#641, #711):

  1. German values for the 166 strings that were added since the last German pass (kids profiles, community addons, stream integrations, YouTube rows, lists, SIMKL, Silo, MDBList, Telegram, audio sync). Only app_name stays untranslated on purpose.
  2. The mobile player's hardcoded English UI text moved into string resources: 78 new mplayer_* keys in values/strings.xml, plus existing resources reused where they already matched (e.g. player_skip_ending, settings_section_*). German values for all of them.

No behaviour changes, no logic changes. 9 files, +498/−120.

Notes

  • Stored values stay English: aspect ratio modes and subtitle style values are persisted keys, so only the displayed label is localized (aspectModeDisplayLabel).
  • The Cast button uses player_cd_cast_to_tv, not R.string.cast (which means the movie cast in German).
  • MobilePlayerInteractionTest now looks up the Cancel label from resources instead of the English literal.
  • Not included on purpose: language names in the subtitle menu and the TV player's aspect ratio label. Both players share that code, so it should be its own small PR.
  • testSideloadDebugUnitTest: 2536 tests, 0 failures. Rebased on main 23d0b13.
  • Device-tested on an Android phone.

created by Claude (Anthropic) on behalf of @ReichiMD

Covers kids profiles, community addons, stream integrations, YouTube rows,
lists, SIMKL, Silo, MDBList, Telegram search and audio-based subtitle sync.
Only app_name stays untranslated on purpose.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bovyjVgxAFcCDjoudmHF6
The phone player had no string resources at all: menus, error screen,
lock overlay, delay dialogs and content descriptions were English literals.
79 new keys (mplayer_*) plus reuse of existing player/common keys, with
German translations. Aspect-ratio and subtitle-style values stay English
as stored keys; only their displayed labels are translated. Language names
in the subtitle menu are unchanged (shared with the TV player).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bovyjVgxAFcCDjoudmHF6
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bovyjVgxAFcCDjoudmHF6
- Mobile skip label for outros reuses player_skip_ending like the TV player
- Audio sheet wording matches the existing "Audiospur" terms
- Translate the speed chip and the "Unknown" subtitle language label
- Reuse settings_section_languages/playback instead of duplicate keys
- Device test looks the Cancel label up from resources
- Smaller German wording fixes

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bovyjVgxAFcCDjoudmHF6
@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Oct 26, 2026
@ProdigyV21
ProdigyV21 merged commit d4ef1e4 into ProdigyV21:main Oct 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: android Changes to the Android app or Gradle build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants