Skip to content

Conversation

@keefeere
Copy link

@keefeere keefeere commented Oct 1, 2025

Summary

This PR introduces UI internationalization (i18n) improvements across FrogPilot's UI/Qt components.
Almost all user-facing strings are now wrapped with tr(), enabling proper translation support and consistency with Qt's localization system.


Key Changes

  • Maps Settings (maps_settings.cc)

    • Replaced hardcoded strings ("0 MB", "Calculating...", "Not parked", "Offline...", etc.) with tr().
    • Unified cancel/download status messages into localized strings.
  • Model Settings (model_settings.cc)

    • Added translation support for dynamic download progress messages:
      • Downloading "%1"...
      • Downloading... %
      • Downloaded!, Download failed..., etc.
    • Ensured both individual and bulk model downloads use localized progress/status updates.
  • Theme Settings (theme_settings.cc)

    • Localized "Downloading...", "Idle", "Downloaded!", "Repository unavailable", etc.
    • Introduced a translation map for theme download states.
  • Annotated Camera (frogpilot_annotated_camera.cc)

    • Localized "Desired: %1", "s", "1 minute", "1 second", etc.
  • Onroad UI

    • FPS counter and drive stats labels wrapped with tr().
    • Improved time/date formatting (navigation_functions.h) with QLocale support.
    • Standardized elapsed/ETA formatting using translated units (hour, minute, second).
  • Software Settings (software_settings.cc)

    • Added translations for updater states:
      • downloading…, checking…, waiting for vehicle to go offroad…, finalizing update….
  • Alerts (alerts.cc, alert_tr.h)

    • Introduced centralized translation for alerts.
    • All alert text now processed through translateAlert() for consistency.

Motivation

  • Improve multi-language support for FrogPilot users.
  • Ensure all UI messages are properly translated and consistent.
  • Lay groundwork for complete Ukrainian translation (and future locales).

Known Limitations / TODO

  • Country names are not yet covered by translations.
  • translate The Pond
    → To be addressed in a future PR.

@FrogAi
Copy link
Owner

FrogAi commented Oct 1, 2025

Thank you for your PR! If you're not already in the FrogPilot Discord, feel free to join and let me know you've opened a PR!

@FrogAi
Copy link
Owner

FrogAi commented Oct 23, 2025

comma has plans to do something similar (if they haven't already) in regards to Python text strings due to their Raylib/Python UI rewrite, so I personally wouldn't stress over it too much honestly. But I see some good changes here so I'll merge this for now. Appreciate the fixes!

@FrogAi FrogAi merged commit d330e04 into FrogAi:MAKE-PRS-HERE Oct 23, 2025
@keefeere
Copy link
Author

Thanks!

@keefeere keefeere deleted the translation-UK branch November 19, 2025 16:36
@keefeere
Copy link
Author

keefeere commented Nov 20, 2025

Hi, @FrogAi i saw my changes in release but somewhere lost alert translation part and alert_tr.h you desided not include that?
P.s. will add separate PR #299

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