android / android/nowinandroid

[FR]: Move TopicScreen user-facing strings to resources

Open Beginner friendly
#2,115 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
21.8k
Forks
4.6k
Avg merge
19h 20m
Merged PRs (30d)
2

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Describe the problem

`TopicScreen` still contains a few hardcoded user-facing strings instead of string resources:

- `NiaLoadingWheel(contentDesc = "Loading news")`
- `Text("Error")`
- `Text("FOLLOWING")`
- `Text("NOT FOLLOWING")`

These strings are rendered from `feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicScreen.kt`.

Keeping them inline makes the topic screen less consistent with the rest of the app and prevents these labels and content descriptions from being localized.

This is separate from #2108 / #2109, which address the `TopicUiState.Error -> TODO()` crash. PR #2109 explicitly leaves these remaining `TopicScreen` TODOs out of scope.

### Describe the solution

Move the remaining user-facing strings in `TopicScreen` to string resources and read them through `stringResource`, following the existing resource naming conventions for the topic feature.

### Additional context

_No response_

### Code of Conduct

- [X] I agree to follow this project Code of Conduct

Contributor guide

Open the contributing guide

Research direction

Open feature/topic/impl/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/impl/TopicScreen.kt and inspect the topic feature’s existing resources and naming conventions. Move the four listed strings to resources through stringResource, then confirm the loading content description and Error, FOLLOWING, and NOT FOLLOWING labels are all resource-backed and localizable.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
localization, mobile
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
86/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.