Skip to content

Secondary screens still hardcode English instead of using string resources #8

Description

@SysAdminDoc

OpenTasker ships in 14 languages, but a translated build still shows scattered English because several secondary surfaces bypass string resources entirely. The shell navigation and top bar, the retention picker, ViewModel snackbar and toast messages, and the Context Inspector, Run Log, Diagnostics and Flow screens all have hardcoded English text.

The slightly embarrassing detail: unused resources like nav_*, empty_profiles_* and workspace_* already exist in strings.xml, waiting for exactly this. And the localization guard test deliberately skips these files, which is how the situation survived this long.

Files involved, all under app/src/main/java/com/opentasker/ui/:

  • screens/ActiveAutomationUi.kt and ActiveAutomationViewModel.kt
  • ContextInspectorScreen.kt
  • RunLogScreenContent.kt and RunLogFilters.kt
  • DiagnosticsScreen.kt
  • AutomationFlowGraph.kt

What done looks like: text on these screens resolves through R.string, ViewModel messages carry resource IDs that get resolved at the collector, and the guard test (app/src/test/java/com/opentasker/ui/LocalizationSourceTest.kt) covers the files it currently skips.

This is a good first contribution if you know your way around Android string resources. You don't need to take all of it, one screen is a perfectly good PR, and honestly I'd rather review six small ones than one giant one. Comment which file you're taking so we don't collide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueSmall, well-scoped — a good place to starthelp wantedExtra attention or outside expertise welcome

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions