Skip to content

i18n(home/search): localize TMDB genre names and discover row titles - #642

Merged
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
ReichiMD:claude/reichimd-i18n-cleanup-1szf73
Sep 5, 2026
Merged

i18n(home/search): localize TMDB genre names and discover row titles#642
ProdigyV21 merged 1 commit into
ProdigyV21:mainfrom
ReichiMD:claude/reichimd-i18n-cleanup-1szf73

Conversation

@ReichiMD

@ReichiMD ReichiMD commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What

Same approach as #632, applied to the home screen and search.

Moves the remaining hardcoded English UI strings on the home screen and in
search into the string resource system and adds the German values. No
behaviour changes, no logic changes.

  • the 27 TMDB genre names were kept as two separate English maps, one in
    HomeScreen.kt and one in SearchViewModel.kt. They now resolve from the
    numeric TMDB genre id through a shared helper (TmdbGenreNames.kt), so the
    home metadata rows and the search filter chips read from one place
  • 12 of those 27 reused the existing collections_genre_* resources; 15 are
    new keys
  • the five discover row titles (Trending, Popular This Year, Top Rated, New
    Releases, Hidden Gems) are localized for display only
  • home: "Still loading your catalogue…" and "No description available." are
    new keys, "Retry" reuses the existing R.string.retry
  • also fills seven values-de entries that were missing after the recent
    IPTV favourites and channel-variant work, so the German locale is complete
    again

Why

Approved in Discord (28 Aug): "Yes try to also bring hardcoded things into
this. That has been kinda a long time bug. They dont have to be in English
yea."

This benefits all 50 language folders, not just German — untranslated locales
fall back to English exactly as before.

Notes

  • Stored values and internal keys are unchanged; only rendered text is
    localized. Follows the existing pattern from LiveCategory.kt.
  • The English discover row title stays in Category.title on purpose: it is
    part of the category id used as the row's focus key.
  • Movie and TV genre ids stay in separate lookups, matching the two maps that
    were there before, so no item gains or loses a genre label.
  • Language names (COUNTRIES), brand names and animation labels are left
    untouched.
  • Compile and unit tests verified green on CI.

created by Claude (Anthropic) on behalf of @ReichiMD

Moves the remaining hardcoded English UI strings on the home screen and in
search into the string resource system and adds the German values.

- TMDB genre names are resolved from the numeric genre id through a shared
  helper (TmdbGenreNames.kt) so the home metadata rows and the search filter
  chips no longer keep two separate English copies of the same list
- the five discover row titles are localized for display only; the English
  title stays in Category.title because it is part of the category id
- home: "Still loading your catalogue…" (new key), "Retry" (reuses the
  existing resource) and "No description available."
- also fills the seven values-de entries that were missing after the recent
  IPTV favourites and channel-variant work

Stored values, ids and API parameters are unchanged; only rendered text is
localized. Follows the existing pattern from LiveCategory.kt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HSCNqHXddqFkQ5XramTXJm
@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Sep 4, 2026
@ProdigyV21
ProdigyV21 merged commit 4f2e4ee into ProdigyV21:main Sep 5, 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