Skip to content

[i18n] Untranslated strings in Flight view, Community pages, Config panels, and Indicators #23

@ajaym94

Description

@ajaym94

Part of #20

Problem

Several secondary views and components still have hardcoded English text that does not pass through the translation system. While these areas are less immediately visible than the Dashboard or onboarding flow, users navigating deeper into the app will encounter English strings regardless of their language setting.

Affected files and strings

Flight view / Suite Dashboard

src/components/flight/SuiteDashboard.tsx

Section headers:

  • "Patrol Progress", "Coverage", "Grid Progress", "Mission Progress"

Data labels:

  • "Area Covered", "Laps", "Detections", "Alerts"
  • "Images", "Overlap", "GSD", "Area"
  • "Search Area", "Persons Found", "Grid Cells", "Thermal Hits"
  • "Waypoints", "Distance"

Suite label dictionary:

  • "Sentry", "Survey", "Agriculture", "Cargo", "SAR", "Inspection" (same as Dashboard, should share translation keys)

Community pages

src/components/community/CategoryBadge.tsx

  • "Command", "ADOS", "Website", "General"

src/components/community/StatusBadge.tsx

  • "Backlog", "In Discussion", "Planned", "In Progress", "Released", "Won't Do"

Config panels

src/components/config/ThemeSection.tsx

  • Theme group labels: "Core", "Solarized", "Dark Themes", "Light Themes", "Mid-tone"
  • "Select a theme" (placeholder)

src/components/config/GeneralSection.tsx

  • Timezone display options: "IST (UTC+5:30)", "UTC (UTC+0:00)", "PST (UTC-8:00)"
  • Telemetry rate options: "1 Hz", "5 Hz", "10 Hz", "20 Hz"
  • Position display labels: "LAT", "LON", "ACC", "ALT" with units

src/components/config/VideoSection.tsx

  • Bitrate options: "2 Mbps", "4 Mbps", "8 Mbps", "12 Mbps"
  • Codec options: "H.264", "H.265"

Telemetry indicators

src/components/indicators/TelemetryFreshnessIndicator.tsx

  • Channel names: "Attitude", "Position", "Battery", "GPS", "RC Input", "Radio", "VFR HUD", "System Status", "EKF", "Wind", "Nav Controller"
  • Channel abbreviations: "ATT", "POS", "BAT", "GPS", "RC", "RAD", "VFR", "SYS", "EKF", "WND", "NAV"

Log viewer

src/components/logs/ExternalLogLinks.tsx

  • "External Analysis" (section title)
  • Tool names: "ArduPilot Log Plotter", "ArduPilot Log Reviewer"
  • Tool descriptions: "Interactive DataFlash / .tlog graph plotter", "Automated log analysis and flight review"

Notes

  • Telemetry rate values ("1 Hz", "5 Hz") and bitrate values ("2 Mbps") should NOT be translated. These are technical units. But any surrounding label text ("Telemetry rate", "Video bitrate") should be.
  • Codec names ("H.264", "H.265") should NOT be translated.
  • Channel abbreviations ("ATT", "POS", "BAT") should stay as-is since they match MAVLink message naming. But the full channel names ("Attitude", "Position", "Battery") should be translated.
  • Community status labels ("Backlog", "In Progress", etc.) should be translated. These are common project management terms that exist in all languages.
  • Suite data labels like "GSD" (Ground Sample Distance) are technical and can stay in English. But "Area Covered", "Distance", "Waypoints" should be translated.
  • Timezone abbreviations ("IST", "UTC", "PST") stay as-is, but descriptive labels around them should be translated.
  • ArduPilot Log Plotter/Reviewer are external tool names and should stay in English. Their descriptions can be translated.

Expected approach

  1. Add keys to locales/en.json under flight, community, settings, indicators, and logs namespaces
  2. Replace hardcoded strings with t() calls
  3. Reuse shared keys where the same string appears in multiple components (e.g., suite names, status labels)
  4. Add translations across all 16 languages

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesti18nInternationalization and localization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions