Skip to content

feat: Polish language support with in-app language selection#151

Open
Jakubach wants to merge 2 commits intotzebrowski:masterfrom
Jakubach:feat/i18n-polish-language-support
Open

feat: Polish language support with in-app language selection#151
Jakubach wants to merge 2 commits intotzebrowski:masterfrom
Jakubach:feat/i18n-polish-language-support

Conversation

@Jakubach
Copy link
Copy Markdown

Summary

  • Full Polish translation of the application UI (~450 strings across 6 modules)
  • In-app language selection — dialog on first launch + preference in Settings
  • Polish PID/DTC descriptions via obd-metrics TranslationProvider integration
  • Extracted 16 hardcoded strings from layouts to resources for proper i18n
  • Android 13+ per-app language support (locales_config.xml)

Details

  • New: LanguageManager — handles language persistence and first-launch dialog
  • New: values-pl/strings.xml in app, common, automotive, screen_renderer, dragracing, giuliaAA
  • New: locales_config.xml + AppLocalesMetadataHolderService in manifest
  • Fix: SurfaceRendererFragment crash on Activity recreate (defensive lateinit and receiver checks)
  • Fix: hardcoded "min/avg/max" labels in Android Auto IotTemplateCarScreen

Adding a new language

  1. Create values-{locale}/strings.xml in each module
  2. Add locale to locales_config.xml and language arrays in common/strings.xml
  3. Add PID translations in obd-metrics translations/{locale}.json

Dependency

Requires tzebrowski/ObdMetrics#50 for PID/DTC translation support.

- Add Polish (values-pl) translations across all modules (app, common, automotive, screen_renderer, dragracing, giuliaAA flavor)
- Add LanguageManager for in-app language selection and persistence
- Add language selection dialog on first launch (SplashActivity)
- Add language preference in Settings screen (ListPreference)
- Extract 16 hardcoded strings from layouts to string resources for i18n
- Wire TranslationProvider from obd-metrics for Polish PID/DTC translations
- Add locales_config.xml and AppLocalesMetadataHolderService for Android 13+ per-app language
- Fix SurfaceRendererFragment crash on Activity recreate (unregistered receiver and uninitialized lateinit)
- Extract hardcoded min/avg/max labels in Android Auto IotTemplateCarScreen to string resources
@tzebrowski
Copy link
Copy Markdown
Owner

@Jakubach thank you for PR, checking it.

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.

2 participants