diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/developer.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/developer.py
index a8768af5b..a553a6299 100644
--- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/developer.py
+++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/developer.py
@@ -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.
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.
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,]
diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/models.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/models.py
index b77b92e4c..923e0d213 100644
--- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/models.py
+++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/models.py
@@ -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."),
diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/steering.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/steering.py
index eea6d4458..02bf67013 100644
--- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/steering.py
+++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/steering.py
@@ -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"{mads_main_desc}
{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"{mads_main_desc}
{tr(self._mads_base_desc)}")
else:
- self._mads_toggle.set_description(f"{self._mads_check_compat_desc}
{self._mads_base_desc}")
+ self._mads_toggle.set_description(f"{tr(self._mads_check_compat_desc)}
{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())
diff --git a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/vehicle/brands/hyundai.py b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/vehicle/brands/hyundai.py
index 20c9903a6..b31a9f304 100644
--- a/openpilot/selfdrive/ui/sunnypilot/layouts/settings/vehicle/brands/hyundai.py
+++ b/openpilot/selfdrive/ui/sunnypilot/layouts/settings/vehicle/brands/hyundai.py
@@ -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]