ui: fix remaining construction-time tr() in visible settings panels (MADS desc, developer items, models labels/buttons, hyundai tuning)

This commit is contained in:
Comma Device
2026-08-16 17:30:32 +08:00
parent b11d1ab241
commit 41344fa891
4 changed files with 31 additions and 31 deletions
@@ -36,21 +36,21 @@ class DeveloperLayoutSP(DeveloperLayout):
self._scroller.add_widget(item)
def _initialize_items(self):
self.show_advanced_controls = toggle_item_sp(tr("Show Advanced Controls"),
tr("Toggle visibility of advanced sunnypilot controls.<br>This only changes the visibility of the toggles; " +
"it does not change the actual enabled/disabled state."), param="ShowAdvancedControls")
self.show_advanced_controls = toggle_item_sp(lambda: tr("Show Advanced Controls"),
lambda: tr("Toggle visibility of advanced sunnypilot controls.<br>This only changes the visibility of the toggles; " +
"it does not change the actual enabled/disabled state."), param="ShowAdvancedControls")
self.enable_github_runner_toggle = toggle_item_sp(tr("GitHub Runner Service"), tr("Enables or disables the GitHub runner service."),
self.enable_github_runner_toggle = toggle_item_sp(lambda: tr("GitHub Runner Service"), lambda: tr("Enables or disables the GitHub runner service."),
param="EnableGithubRunner")
self.enable_copyparty_toggle = toggle_item_sp(tr("copyparty Service"),
tr("copyparty is a very capable file server, you can use it to download your routes, view your logs " +
"and even make some edits on some files from your browser. " +
"Requires you to connect to your comma locally via its IP address."), param="EnableCopyparty")
self.enable_copyparty_toggle = toggle_item_sp(lambda: tr("copyparty Service"),
lambda: tr("copyparty is a very capable file server, you can use it to download your routes, view your logs " +
"and even make some edits on some files from your browser. " +
"Requires you to connect to your comma locally via its IP address."), param="EnableCopyparty")
self.prebuilt_toggle = toggle_item_sp(tr("Quickboot Mode"), "", param="QuickBootToggle", callback=self._on_prebuilt_toggled)
self.prebuilt_toggle = toggle_item_sp(lambda: tr("Quickboot Mode"), "", param="QuickBootToggle", callback=self._on_prebuilt_toggled)
self.error_log_btn = button_item(tr("Error Log"), tr("VIEW"), tr("View the error log for sunnypilot crashes."), callback=self._on_error_log_clicked)
self.error_log_btn = button_item(lambda: tr("Error Log"), lambda: tr("VIEW"), lambda: tr("View the error log for sunnypilot crashes."), callback=self._on_error_log_clicked)
self.items: list = [self.show_advanced_controls, self.enable_github_runner_toggle, self.enable_copyparty_toggle, self.prebuilt_toggle, self.error_log_btn,]
@@ -52,29 +52,29 @@ class ModelsLayout(Widget):
self.current_model_item = ListItemSP(
title=lambda: tr("Current Model"),
description="",
action_item=NoElideButtonAction(tr("SELECT")),
action_item=NoElideButtonAction(lambda: tr("SELECT")),
callback=self._handle_current_model_clicked
)
self.supercombo_label = progress_item(tr("Driving Model"))
self.vision_label = progress_item(tr("Vision Model"))
self.policy_label = progress_item(tr("Policy Model"))
self.off_policy_label = progress_item(tr("Off-Policy Model"))
self.on_policy_label = progress_item(tr("On-Policy Model"))
self.chunked_label = progress_item(tr("Chunked Model"))
self.supercombo_label = progress_item(lambda: tr("Driving Model"))
self.vision_label = progress_item(lambda: tr("Vision Model"))
self.policy_label = progress_item(lambda: tr("Policy Model"))
self.off_policy_label = progress_item(lambda: tr("Off-Policy Model"))
self.on_policy_label = progress_item(lambda: tr("On-Policy Model"))
self.chunked_label = progress_item(lambda: tr("Chunked Model"))
self.refresh_item = button_item(tr("Refresh Model List"), tr("REFRESH"), "",
self.refresh_item = button_item(lambda: tr("Refresh Model List"), lambda: tr("REFRESH"), "",
lambda: (ui_state.params.put("ModelManager_LastSyncTime", 0),
gui_app.push_widget(alert_dialog(tr("Fetching Latest Models")))))
self.clear_cache_item = ListItemSP(
title=lambda: tr("Clear Model Cache"),
description="",
action_item=NoElideButtonAction(tr("CLEAR")),
action_item=NoElideButtonAction(lambda: tr("CLEAR")),
callback=self._clear_cache
)
self.cancel_download_item = button_item(tr("Cancel Download"), tr("Cancel"), "", lambda: ui_state.params.remove("ModelManager_DownloadIndex"))
self.cancel_download_item = button_item(lambda: tr("Cancel Download"), lambda: tr("Cancel"), "", lambda: ui_state.params.remove("ModelManager_DownloadIndex"))
self.lane_turn_value_control = option_item_sp(tr("Adjust Lane Turn Speed"), "LaneTurnValue", 500, 2000,
tr("Set the maximum speed for lane turn desires. Default is 19 mph."),
@@ -8,7 +8,7 @@ from opendbc.car.structs import car
from enum import IntEnum
from openpilot.selfdrive.ui.ui_state import ui_state
from openpilot.system.ui.lib.multilang import tr
from openpilot.system.ui.lib.multilang import tr, tr_noop
from openpilot.system.ui.sunnypilot.widgets.list_view import toggle_item_sp, simple_button_item_sp, option_item_sp, LineSeparatorSP
from openpilot.system.ui.widgets.scroller_tici import Scroller
from openpilot.system.ui.widgets import Widget
@@ -38,11 +38,11 @@ class SteeringLayout(Widget):
self._scroller = Scroller(items, line_separator=False, spacing=0)
def _initialize_items(self):
self._mads_base_desc = tr("Enable the beloved MADS feature. " +
"Disable toggle to revert back to stock sunnypilot engagement/disengagement.")
self._mads_limited_desc = tr("This platform supports limited MADS settings.")
self._mads_full_desc = tr("This platform supports all MADS settings.")
self._mads_check_compat_desc = tr("Start the vehicle to check vehicle compatibility.")
self._mads_base_desc = tr_noop("Enable the beloved MADS feature. " +
"Disable toggle to revert back to stock sunnypilot engagement/disengagement.")
self._mads_limited_desc = tr_noop("This platform supports limited MADS settings.")
self._mads_full_desc = tr_noop("This platform supports all MADS settings.")
self._mads_check_compat_desc = tr_noop("Start the vehicle to check vehicle compatibility.")
self._mads_toggle = toggle_item_sp(
param="Mads",
@@ -126,10 +126,10 @@ class SteeringLayout(Widget):
torque_allowed = ui_state.CP is not None and ui_state.CP.steerControlType != car.CarParams.SteerControlType.angle
if ui_state.CP is not None:
mads_main_desc = self._mads_limited_desc if self._mads_settings_layout._mads_limited_settings() else self._mads_full_desc
self._mads_toggle.set_description(f"<b>{mads_main_desc}</b><br><br>{self._mads_base_desc}")
mads_main_desc = tr(self._mads_limited_desc) if self._mads_settings_layout._mads_limited_settings() else tr(self._mads_full_desc)
self._mads_toggle.set_description(f"<b>{mads_main_desc}</b><br><br>{tr(self._mads_base_desc)}")
else:
self._mads_toggle.set_description(f"<b>{self._mads_check_compat_desc}</b><br><br>{self._mads_base_desc}")
self._mads_toggle.set_description(f"<b>{tr(self._mads_check_compat_desc)}</b><br><br>{tr(self._mads_base_desc)}")
self._mads_toggle.action_item.set_enabled(ui_state.is_offroad())
self._mads_settings_button.action_item.set_enabled(ui_state.is_offroad() and self._mads_toggle.action_item.get_state())
@@ -16,8 +16,8 @@ class HyundaiSettings(BrandSettings):
super().__init__()
self.alpha_long_available = False
tuning_texts = [tr("Off"), tr("Dynamic"), tr("Predictive")]
self.longitudinal_tuning_item = multiple_button_item_sp(tr("Custom Longitudinal Tuning"), "", tuning_texts,
tuning_texts = [lambda: tr("Off"), lambda: tr("Dynamic"), lambda: tr("Predictive")]
self.longitudinal_tuning_item = multiple_button_item_sp(lambda: tr("Custom Longitudinal Tuning"), "", tuning_texts,
button_width=300, callback=self._on_tuning_selected,
param="HyundaiLongitudinalTuning", inline=False)
self.items = [self.longitudinal_tuning_item]