raylib: unifont for CJK languages (#36430)

* add rest of langs

* unifont

* all langs are supported

* add japanese translations

* fix strip!

* add language name chars

* use unifont in lang selection

* add korean

* test all langs

* doesn't work

* unifont font fallback for multilang

* add ar translations

* fix labels not updating until scrolling

* t chinese

* more chn

* we already default

* wrap

* update

* fix thai

* fix missing chinese langs and all are supported!

* clean up

* update

* ??? mypy r u ok ???

* fix default option font weight
This commit is contained in:
Shane Smiskol
2025-10-22 19:18:54 -07:00
committed by GitHub
parent b14270bd71
commit a0d48b6c63
23 changed files with 7700 additions and 373 deletions

1
.gitattributes vendored
View File

@@ -7,6 +7,7 @@
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
selfdrive/car/tests/test_models_segs.txt filter=lfs diff=lfs merge=lfs -text

Binary file not shown.

View File

@@ -10,7 +10,7 @@ from openpilot.selfdrive.ui.ui_state import ui_state
from openpilot.selfdrive.ui.layouts.onboarding import TrainingGuide
from openpilot.selfdrive.ui.widgets.pairing_dialog import PairingDialog
from openpilot.system.hardware import TICI
from openpilot.system.ui.lib.application import gui_app
from openpilot.system.ui.lib.application import FontWeight, gui_app
from openpilot.system.ui.lib.multilang import multilang, tr, tr_noop
from openpilot.system.ui.widgets import Widget, DialogResult
from openpilot.system.ui.widgets.confirm_dialog import ConfirmDialog, alert_dialog
@@ -88,7 +88,8 @@ class DeviceLayout(Widget):
self._update_calib_description()
self._select_language_dialog = None
self._select_language_dialog = MultiOptionDialog(tr("Select a language"), multilang.languages, multilang.codes[multilang.language])
self._select_language_dialog = MultiOptionDialog(tr("Select a language"), multilang.languages, multilang.codes[multilang.language],
option_font_weight=FontWeight.UNIFONT)
gui_app.set_modal_overlay(self._select_language_dialog, callback=handle_language_selection)
def _show_driver_camera(self):

View File

@@ -180,7 +180,7 @@ class SoftwareLayout(Widget):
branches.insert(0, b)
current_target = ui_state.params.get("UpdaterTargetBranch") or ""
self._branch_dialog = MultiOptionDialog("Select a branch", branches, current_target)
self._branch_dialog = MultiOptionDialog(tr("Select a branch"), branches, current_target)
def handle_selection(result):
# Confirmed selection

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 19:09-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -26,14 +26,14 @@ msgid "OK"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
msgid "Cancel"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr ""
@@ -193,8 +193,8 @@ msgstr ""
msgid "FORGETTING..."
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr ""
@@ -609,112 +609,127 @@ msgstr ""
msgid "Enable"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"
msgstr[0] ""
msgstr[1] ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] ""
msgstr[1] ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] ""
msgstr[1] ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:25
msgid ""
"Preview the driver facing camera to ensure that driver monitoring has good "
@@ -752,13 +767,13 @@ msgid "RESET"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr ""
@@ -824,89 +839,89 @@ msgstr ""
msgid "Select a language"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
"Resetting calibration will restart openpilot if the car is powered on."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-20 16:35-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr " Die Lenkmoment-Reaktionskalibrierung ist abgeschlossen."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr " Die Lenkmoment-Reaktionskalibrierung ist zu {}% abgeschlossen."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr " Ihr Gerät ist um {:.1f}° {} und {:.1f}° {} ausgerichtet."
@@ -76,12 +76,12 @@ msgstr ""
"Experimentalmodus wird empfohlen, wenn Sie die openpilot-Längsregelung "
"(Alpha) aktivieren."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr "<br><br>Kalibrierung der Lenkverzögerung abgeschlossen."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr "<br><br>Kalibrierung der Lenkverzögerung zu {}% abgeschlossen."
@@ -144,22 +144,22 @@ msgstr ""
"Eine Alpha-Version der openpilot-Längsregelung kann zusammen mit dem "
"Experimentalmodus auf Nicht-Release-Zweigen getestet werden."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "Sind Sie sicher, dass Sie ausschalten möchten?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "Sind Sie sicher, dass Sie neu starten möchten?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "Sind Sie sicher, dass Sie die Kalibrierung zurücksetzen möchten?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "Sind Sie sicher, dass Sie deinstallieren möchten?"
@@ -187,10 +187,10 @@ msgstr ""
msgid "CHANGE"
msgstr "ÄNDERN"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "PRÜFEN"
@@ -215,7 +215,7 @@ msgid "CONNECTING..."
msgstr "VERBINDUNG"
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -249,12 +249,12 @@ msgstr "Klicken Sie auf \"add new device\" und scannen Sie den QRCode rechts"
msgid "Close"
msgstr "Schließen"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Aktuelle Version"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "HERUNTERLADEN"
@@ -282,17 +282,17 @@ msgstr "Gerät"
msgid "Disengage on Accelerator Pedal"
msgstr "Beim Gaspedal deaktivieren"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Zum Ausschalten deaktivieren"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Zum Neustart deaktivieren"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Zum Zurücksetzen der Kalibrierung deaktivieren"
@@ -306,7 +306,7 @@ msgstr "Geschwindigkeit in km/h statt mph anzeigen."
msgid "Dongle ID"
msgstr "Dongle-ID"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "Herunterladen"
@@ -415,8 +415,8 @@ msgstr "Passwort eingeben"
msgid "Enter your GitHub username"
msgstr "Geben Sie Ihren GitHubBenutzernamen ein"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr "Fehler"
@@ -533,8 +533,8 @@ msgstr "Netzwerk"
msgid "INACTIVE: connect to an unmetered network"
msgstr "INAKTIV: Mit einem unlimitierten Netzwerk verbinden"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "INSTALLIEREN"
@@ -544,7 +544,7 @@ msgstr "INSTALLIEREN"
msgid "IP Address"
msgstr "IPAdresse"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Update installieren"
@@ -614,7 +614,7 @@ msgstr "Keine Versionshinweise verfügbar."
msgid "OFFLINE"
msgstr "OFFLINE"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -682,7 +682,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "Bitte mit WLAN verbinden, um das erste Koppeln abzuschließen"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Ausschalten"
@@ -725,7 +725,7 @@ msgid "REVIEW"
msgstr "ANSEHEN"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Neustart"
@@ -793,7 +793,7 @@ msgstr "RemoteSchnappschüsse"
msgid "Request timed out"
msgstr "Zeitüberschreitung bei der Anfrage"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Zurücksetzen"
@@ -813,6 +813,11 @@ msgid "Review the rules, features, and limitations of openpilot"
msgstr ""
"Überprüfen Sie die Regeln, Funktionen und Einschränkungen von openpilot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -823,11 +828,16 @@ msgstr "SSHSchlüssel"
msgid "Scanning Wi-Fi networks..."
msgstr "WLANNetzwerke werden gesucht..."
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr "Auswählen"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -883,6 +893,11 @@ msgstr "SOFORT DIE KONTROLLE ÜBERNEHMEN"
msgid "TEMP"
msgstr "TEMP"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -892,7 +907,7 @@ msgstr "TetheringPasswort"
msgid "Toggles"
msgstr "Schalter"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "DEINSTALLIEREN"
@@ -902,8 +917,8 @@ msgstr "DEINSTALLIEREN"
msgid "UPDATE"
msgstr "UPDATE"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Deinstallieren"
@@ -912,7 +927,7 @@ msgstr "Deinstallieren"
msgid "Unknown"
msgstr "Unbekannt"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr "Updates werden nur heruntergeladen, wenn das Auto aus ist."
@@ -1024,12 +1039,12 @@ msgstr "comma prime"
msgid "default"
msgstr "Standard"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr "unten"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "Überprüfung auf Updates fehlgeschlagen"
@@ -1050,7 +1065,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr "für automatische Konfiguration leer lassen"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr "links"
@@ -1065,12 +1080,12 @@ msgstr "getaktet"
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "nie"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "jetzt"
@@ -1113,7 +1128,7 @@ msgstr ""
"manche Kurven besser zu zeigen. Das ExperimentalmodusLogo wird außerdem "
"oben rechts angezeigt."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1149,7 +1164,7 @@ msgstr ""
"openpilot erfordert, dass das Gerät innerhalb von 4° nach links oder rechts "
"und innerhalb von 5° nach oben oder 9° nach unten montiert ist."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr "rechts"
@@ -1159,22 +1174,22 @@ msgstr "rechts"
msgid "unmetered"
msgstr "unbegrenzt"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr "oben"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "Aktuell, zuletzt geprüft: nie"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "Aktuell, zuletzt geprüft: {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "Update verfügbar"
@@ -1186,21 +1201,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} WARNUNG"
msgstr[1] "{} WARNUNGEN"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "vor {} Tag"
msgstr[1] "vor {} Tagen"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "vor {} Stunde"
msgstr[1] "vor {} Stunden"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-21 18:18-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr " Steering torque response calibration is complete."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr " Steering torque response calibration is {}% complete."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr " Your device is pointed {:.1f}° {} and {:.1f}° {}."
@@ -76,12 +76,12 @@ msgstr ""
"control alpha. Changing this setting will restart openpilot if the car is "
"powered on."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr "<br><br>Steering lag calibration is complete."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr "<br><br>Steering lag calibration is {}% complete."
@@ -143,22 +143,22 @@ msgstr ""
"An alpha version of openpilot longitudinal control can be tested, along with "
"Experimental mode, on non-release branches."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "Are you sure you want to power off?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "Are you sure you want to reboot?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "Are you sure you want to reset calibration?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "Are you sure you want to uninstall?"
@@ -184,10 +184,10 @@ msgstr "Bookmark connect.comma.ai to your home screen to use it like an app"
msgid "CHANGE"
msgstr "CHANGE"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "CHECK"
@@ -212,7 +212,7 @@ msgid "CONNECTING..."
msgstr "CONNECTING..."
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -244,12 +244,12 @@ msgstr "Click \"add new device\" and scan the QR code on the right"
msgid "Close"
msgstr "Close"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Current Version"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "DOWNLOAD"
@@ -277,17 +277,17 @@ msgstr "Device"
msgid "Disengage on Accelerator Pedal"
msgstr "Disengage on Accelerator Pedal"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Disengage to Power Off"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Disengage to Reboot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Disengage to Reset Calibration"
@@ -301,7 +301,7 @@ msgstr "Display speed in km/h instead of mph."
msgid "Dongle ID"
msgstr "Dongle ID"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "Download"
@@ -410,8 +410,8 @@ msgstr "Enter password"
msgid "Enter your GitHub username"
msgstr "Enter your GitHub username"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr "Error"
@@ -527,8 +527,8 @@ msgstr "Hidden Network"
msgid "INACTIVE: connect to an unmetered network"
msgstr "INACTIVE: connect to an unmetered network"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "INSTALL"
@@ -538,7 +538,7 @@ msgstr "INSTALL"
msgid "IP Address"
msgstr "IP Address"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Install Update"
@@ -607,7 +607,7 @@ msgstr "No release notes available."
msgid "OFFLINE"
msgstr "OFFLINE"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -675,7 +675,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "Please connect to Wi-Fi to complete initial pairing"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Power Off"
@@ -718,7 +718,7 @@ msgid "REVIEW"
msgstr "REVIEW"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Reboot"
@@ -786,7 +786,7 @@ msgstr "Remote snapshots"
msgid "Request timed out"
msgstr "Request timed out"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Reset"
@@ -805,6 +805,11 @@ msgstr "Review Training Guide"
msgid "Review the rules, features, and limitations of openpilot"
msgstr "Review the rules, features, and limitations of openpilot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -815,11 +820,16 @@ msgstr "SSH Keys"
msgid "Scanning Wi-Fi networks..."
msgstr "Scanning Wi-Fi networks..."
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr "Select"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -874,6 +884,11 @@ msgstr "TAKE CONTROL IMMEDIATELY"
msgid "TEMP"
msgstr "TEMP"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -883,7 +898,7 @@ msgstr "Tethering Password"
msgid "Toggles"
msgstr "Toggles"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "UNINSTALL"
@@ -893,8 +908,8 @@ msgstr "UNINSTALL"
msgid "UPDATE"
msgstr "UPDATE"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Uninstall"
@@ -903,7 +918,7 @@ msgstr "Uninstall"
msgid "Unknown"
msgstr "Unknown"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr "Updates are only downloaded while the car is off."
@@ -1011,12 +1026,12 @@ msgstr "comma prime"
msgid "default"
msgstr "default"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr "down"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "failed to check for update"
@@ -1037,7 +1052,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr "leave blank for automatic configuration"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr "left"
@@ -1052,12 +1067,12 @@ msgstr "metered"
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "never"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "now"
@@ -1099,7 +1114,7 @@ msgstr ""
"some turns. The Experimental mode logo will also be shown in the top right "
"corner."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1135,7 +1150,7 @@ msgstr ""
"openpilot requires the device to be mounted within 4° left or right and "
"within 5° up or 9° down."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr "right"
@@ -1145,22 +1160,22 @@ msgstr "right"
msgid "unmetered"
msgstr "unmetered"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr "up"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "up to date, last checked never"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "up to date, last checked {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "update available"
@@ -1172,21 +1187,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} ALERT"
msgstr[1] "{} ALERTS"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "{} day ago"
msgstr[1] "{} days ago"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "{} hour ago"
msgstr[1] "{} hours ago"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-20 16:35-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr " La calibración de respuesta de par de dirección está completa."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr " La calibración de respuesta de par de dirección está {}% completa."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr " Tu dispositivo está orientado {:.1f}° {} y {:.1f}° {}."
@@ -75,12 +75,12 @@ msgstr ""
"cambiar al control longitudinal de openpilot. Se recomienda activar el modo "
"Experimental al habilitar el control longitudinal de openpilot (alpha)."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr ""
@@ -143,22 +143,22 @@ msgstr ""
"Se puede probar una versión alpha del control longitudinal de openpilot, "
"junto con el modo Experimental, en ramas que no son de lanzamiento."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "¿Seguro que quieres apagar?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "¿Seguro que quieres reiniciar?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "¿Seguro que quieres restablecer la calibración?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "¿Seguro que quieres desinstalar?"
@@ -185,10 +185,10 @@ msgstr ""
msgid "CHANGE"
msgstr "CAMBIAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "COMPROBAR"
@@ -213,7 +213,7 @@ msgid "CONNECTING..."
msgstr "CONECTAR"
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -247,12 +247,12 @@ msgstr ""
msgid "Close"
msgstr "Cerrar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Versión actual"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "DESCARGAR"
@@ -280,17 +280,17 @@ msgstr "Dispositivo"
msgid "Disengage on Accelerator Pedal"
msgstr "Desactivar con el pedal del acelerador"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Desactivar para apagar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Desactivar para reiniciar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Desactivar para restablecer la calibración"
@@ -304,7 +304,7 @@ msgstr "Mostrar la velocidad en km/h en lugar de mph."
msgid "Dongle ID"
msgstr "ID del dongle"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "Descargar"
@@ -415,8 +415,8 @@ msgstr ""
msgid "Enter your GitHub username"
msgstr "Introduce tu nombre de usuario de GitHub"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr ""
@@ -531,8 +531,8 @@ msgstr "Red"
msgid "INACTIVE: connect to an unmetered network"
msgstr "INACTIVO: conéctate a una red sin límites"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "INSTALAR"
@@ -542,7 +542,7 @@ msgstr "INSTALAR"
msgid "IP Address"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Instalar actualización"
@@ -612,7 +612,7 @@ msgstr "No hay notas de versión disponibles."
msgid "OFFLINE"
msgstr "SIN CONEXIÓN"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -680,7 +680,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "Conéctate a WiFi para completar el emparejamiento inicial"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Apagar"
@@ -724,7 +724,7 @@ msgid "REVIEW"
msgstr "REVISAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Reiniciar"
@@ -792,7 +792,7 @@ msgstr "Capturas remotas"
msgid "Request timed out"
msgstr "Se agotó el tiempo de espera de la solicitud"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Restablecer"
@@ -811,6 +811,11 @@ msgstr "Revisar guía de entrenamiento"
msgid "Review the rules, features, and limitations of openpilot"
msgstr "Revisa las reglas, funciones y limitaciones de openpilot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -821,11 +826,16 @@ msgstr ""
msgid "Scanning Wi-Fi networks..."
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -881,6 +891,11 @@ msgstr "TOME EL CONTROL INMEDIATAMENTE"
msgid "TEMP"
msgstr "TEMP"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -890,7 +905,7 @@ msgstr ""
msgid "Toggles"
msgstr "Interruptores"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "DESINSTALAR"
@@ -900,8 +915,8 @@ msgstr "DESINSTALAR"
msgid "UPDATE"
msgstr "ACTUALIZAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Desinstalar"
@@ -910,7 +925,7 @@ msgstr "Desinstalar"
msgid "Unknown"
msgstr "Desconocido"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr "Las actualizaciones solo se descargan cuando el coche está apagado."
@@ -1022,12 +1037,12 @@ msgstr "comma prime"
msgid "default"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr "abajo"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "Error al buscar actualizaciones"
@@ -1048,7 +1063,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr "izquierda"
@@ -1063,12 +1078,12 @@ msgstr ""
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "nunca"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "ahora"
@@ -1112,7 +1127,7 @@ msgstr ""
"mostrar mejor algunos giros. El logotipo del modo Experimental también se "
"mostrará en la esquina superior derecha."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1149,7 +1164,7 @@ msgstr ""
"openpilot requiere que el dispositivo esté montado dentro de 4° a izquierda "
"o derecha y dentro de 5° hacia arriba o 9° hacia abajo."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr "derecha"
@@ -1159,22 +1174,22 @@ msgstr "derecha"
msgid "unmetered"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr "arriba"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "actualizado, última comprobación: nunca"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "actualizado, última comprobación: {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "actualización disponible"
@@ -1186,21 +1201,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} ALERTA"
msgstr[1] "{} ALERTAS"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "hace {} día"
msgstr[1] "hace {} días"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "hace {} hora"
msgstr[1] "hace {} horas"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-20 18:19-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr ""
@@ -76,12 +76,12 @@ msgstr ""
"est recommandé d'activer le mode expérimental lors de l'activation du "
"contrôle longitudinal openpilot alpha."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr ""
@@ -144,22 +144,22 @@ msgstr ""
"Une version alpha du contrôle longitudinal openpilot peut être testée, avec "
"le mode expérimental, sur des branches non publiées."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "Êtes-vous sûr de vouloir éteindre ?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "Êtes-vous sûr de vouloir redémarrer ?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "Êtes-vous sûr de vouloir réinitialiser la calibration ?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "Êtes-vous sûr de vouloir désinstaller ?"
@@ -187,10 +187,10 @@ msgstr ""
msgid "CHANGE"
msgstr "CHANGER"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "VÉRIFIER"
@@ -215,7 +215,7 @@ msgid "CONNECTING..."
msgstr "CONNECTER"
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -249,12 +249,12 @@ msgstr "Cliquez sur \"add new device\" et scannez le code QR à droite"
msgid "Close"
msgstr "Fermer"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Version actuelle"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "TÉLÉCHARGER"
@@ -282,17 +282,17 @@ msgstr "Appareil"
msgid "Disengage on Accelerator Pedal"
msgstr "Désengager à l'appui sur l'accélérateur"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Désengager pour éteindre"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Désengager pour redémarrer"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Désengager pour réinitialiser la calibration"
@@ -306,7 +306,7 @@ msgstr "Afficher la vitesse en km/h au lieu de mph."
msgid "Dongle ID"
msgstr "ID du dongle"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "Télécharger"
@@ -417,8 +417,8 @@ msgstr ""
msgid "Enter your GitHub username"
msgstr "Entrez votre nom d'utilisateur GitHub"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr ""
@@ -534,8 +534,8 @@ msgstr "Réseau"
msgid "INACTIVE: connect to an unmetered network"
msgstr "INACTIF : connectez-vous à un réseau non limité"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "INSTALLER"
@@ -545,7 +545,7 @@ msgstr "INSTALLER"
msgid "IP Address"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Installer la mise à jour"
@@ -615,7 +615,7 @@ msgstr "Aucune note de version disponible."
msgid "OFFLINE"
msgstr "HORS LIGNE"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -683,7 +683,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "Veuillez vous connecter au WiFi pour terminer l'association initiale"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Éteindre"
@@ -727,7 +727,7 @@ msgid "REVIEW"
msgstr "CONSULTER"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Redémarrer"
@@ -795,7 +795,7 @@ msgstr "Captures à distance"
msgid "Request timed out"
msgstr "Délai de la requête dépassé"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Réinitialiser"
@@ -814,6 +814,11 @@ msgstr "Consulter le guide d'entraînement"
msgid "Review the rules, features, and limitations of openpilot"
msgstr "Consultez les règles, fonctionnalités et limitations d'openpilot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -824,11 +829,16 @@ msgstr ""
msgid "Scanning Wi-Fi networks..."
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -884,6 +894,11 @@ msgstr "REPRENEZ IMMÉDIATEMENT LE CONTRÔLE"
msgid "TEMP"
msgstr "TEMPÉRATURE"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -893,7 +908,7 @@ msgstr ""
msgid "Toggles"
msgstr "Options"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "DÉSINSTALLER"
@@ -903,8 +918,8 @@ msgstr "DÉSINSTALLER"
msgid "UPDATE"
msgstr "METTRE À JOUR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Désinstaller"
@@ -913,7 +928,7 @@ msgstr "Désinstaller"
msgid "Unknown"
msgstr "Inconnu"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr ""
@@ -1025,12 +1040,12 @@ msgstr "comma prime"
msgid "default"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "échec de la vérification de mise à jour"
@@ -1051,7 +1066,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr ""
@@ -1066,12 +1081,12 @@ msgstr ""
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "jamais"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "maintenant"
@@ -1114,7 +1129,7 @@ msgstr ""
"pour mieux montrer certains virages. Le logo du mode expérimental sera "
"également affiché en haut à droite."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1154,7 +1169,7 @@ msgstr ""
"openpilot exige que l'appareil soit monté à moins de 4° à gauche ou à droite "
"et à moins de 5° vers le haut ou 9° vers le bas."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr ""
@@ -1164,22 +1179,22 @@ msgstr ""
msgid "unmetered"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "à jour, dernière vérification jamais"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "à jour, dernière vérification {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "mise à jour disponible"
@@ -1191,21 +1206,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} ALERTE"
msgstr[1] "{} ALERTES"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "il y a {} jour"
msgstr[1] "il y a {} jours"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "il y a {} heure"
msgstr[1] "il y a {} heures"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-21 00:00-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr " A calibração da resposta de torque da direção foi concluída."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr " A calibração da resposta de torque da direção está {}% concluída."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr " Seu dispositivo está apontado {:.1f}° {} e {:.1f}° {}."
@@ -75,12 +75,12 @@ msgstr ""
"longitudinal do openpilot. Recomenda-se ativar o Modo Experimental ao ativar "
"o controle longitudinal do openpilot em alpha."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr ""
@@ -143,22 +143,22 @@ msgstr ""
"Uma versão alpha do controle longitudinal do openpilot pode ser testada, "
"junto com o Modo Experimental, em ramificações fora de release."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "Tem certeza de que deseja desligar?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "Tem certeza de que deseja reiniciar?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "Tem certeza de que deseja redefinir a calibração?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "Tem certeza de que deseja desinstalar?"
@@ -184,10 +184,10 @@ msgstr "Adicione connect.comma.ai à tela inicial para usá-lo como um app"
msgid "CHANGE"
msgstr "ALTERAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "VERIFICAR"
@@ -212,7 +212,7 @@ msgid "CONNECTING..."
msgstr "CONECTAR"
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -245,12 +245,12 @@ msgstr "Toque em \"adicionar novo dispositivo\" e escaneie o QR code à direita"
msgid "Close"
msgstr "Fechar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Versão Atual"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "BAIXAR"
@@ -278,17 +278,17 @@ msgstr "Dispositivo"
msgid "Disengage on Accelerator Pedal"
msgstr "Desativar ao pressionar o acelerador"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Desativar para Desligar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Desativar para Reiniciar"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Desativar para Redefinir Calibração"
@@ -302,7 +302,7 @@ msgstr "Exibir velocidade em km/h em vez de mph."
msgid "Dongle ID"
msgstr "ID do Dongle"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "Baixar"
@@ -412,8 +412,8 @@ msgstr ""
msgid "Enter your GitHub username"
msgstr "Digite seu nome de usuário do GitHub"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr ""
@@ -528,8 +528,8 @@ msgstr "Rede"
msgid "INACTIVE: connect to an unmetered network"
msgstr "INATIVO: conecte a uma rede sem franquia"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "INSTALAR"
@@ -539,7 +539,7 @@ msgstr "INSTALAR"
msgid "IP Address"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Instalar Atualização"
@@ -609,7 +609,7 @@ msgstr "Sem notas de versão disponíveis."
msgid "OFFLINE"
msgstr "OFFLINE"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -677,7 +677,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "Conecte-se ao WiFi para concluir o emparelhamento inicial"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Desligar"
@@ -721,7 +721,7 @@ msgid "REVIEW"
msgstr "REVISAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Reiniciar"
@@ -788,7 +788,7 @@ msgstr "Capturas remotas"
msgid "Request timed out"
msgstr "Tempo da solicitação esgotado"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Redefinir"
@@ -807,6 +807,11 @@ msgstr "Revisar Guia de Treinamento"
msgid "Review the rules, features, and limitations of openpilot"
msgstr "Revise as regras, recursos e limitações do openpilot"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -817,11 +822,16 @@ msgstr ""
msgid "Scanning Wi-Fi networks..."
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -877,6 +887,11 @@ msgstr "ASSUMA O CONTROLE IMEDIATAMENTE"
msgid "TEMP"
msgstr "TEMP"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -886,7 +901,7 @@ msgstr ""
msgid "Toggles"
msgstr "Alternâncias"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "DESINSTALAR"
@@ -896,8 +911,8 @@ msgstr "DESINSTALAR"
msgid "UPDATE"
msgstr "ATUALIZAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Desinstalar"
@@ -906,7 +921,7 @@ msgstr "Desinstalar"
msgid "Unknown"
msgstr "Desconhecido"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr "Atualizações são baixadas apenas com o carro desligado."
@@ -1017,12 +1032,12 @@ msgstr "comma prime"
msgid "default"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr "para baixo"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "falha ao verificar atualização"
@@ -1043,7 +1058,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr "à esquerda"
@@ -1058,12 +1073,12 @@ msgstr ""
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "nunca"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "agora"
@@ -1106,7 +1121,7 @@ msgstr ""
"curvas. O logotipo do Modo Experimental também será exibido no canto "
"superior direito."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1142,7 +1157,7 @@ msgstr ""
"o openpilot requer que o dispositivo seja montado dentro de 4° para a "
"esquerda ou direita e dentro de 5° para cima ou 9° para baixo."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr "à direita"
@@ -1152,22 +1167,22 @@ msgstr "à direita"
msgid "unmetered"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr "para cima"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "atualizado, última verificação: nunca"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "atualizado, última verificação: {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "atualização disponível"
@@ -1179,21 +1194,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} ALERTA"
msgstr[1] "{} ALERTAS"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "{} dia atrás"
msgstr[1] "{} dias atrás"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "{} hora atrás"
msgstr[1] "{} horas atrás"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-22 15:30-0700\n"
"POT-Creation-Date: 2025-10-22 18:57-0700\n"
"PO-Revision-Date: 2025-10-20 18:19-0700\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -17,17 +17,17 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:159
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:160
#, python-format
msgid " Steering torque response calibration is complete."
msgstr " Direksiyon tork tepkisi kalibrasyonu tamamlandı."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:157
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:158
#, python-format
msgid " Steering torque response calibration is {}% complete."
msgstr " Direksiyon tork tepkisi kalibrasyonu {}% tamamlandı."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid " Your device is pointed {:.1f}° {} and {:.1f}° {}."
msgstr " Cihazınız {:.1f}° {} ve {:.1f}° {} yönünde konumlandırılmış."
@@ -75,12 +75,12 @@ msgstr ""
"etkinleştirin. openpilot boylamsal kontrol alfayı etkinleştirirken Deneysel "
"modu etkinleştirmeniz önerilir."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:147
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:148
#, python-format
msgid "<br><br>Steering lag calibration is complete."
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:145
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:146
#, python-format
msgid "<br><br>Steering lag calibration is {}% complete."
msgstr ""
@@ -143,22 +143,22 @@ msgstr ""
"openpilot boylamsal kontrolünün alfa sürümü, Deneysel mod ile birlikte, "
"yayın dışı dallarda test edilebilir."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Are you sure you want to power off?"
msgstr "Kapatmak istediğinizden emin misiniz?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Are you sure you want to reboot?"
msgstr "Yeniden başlatmak istediğinizden emin misiniz?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Are you sure you want to reset calibration?"
msgstr "Kalibrasyonu sıfırlamak istediğinizden emin misiniz?"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Are you sure you want to uninstall?"
msgstr "Kaldırmak istediğinizden emin misiniz?"
@@ -185,10 +185,10 @@ msgstr ""
msgid "CHANGE"
msgstr "DEĞİŞTİR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:142
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:107
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:147
#, python-format
msgid "CHECK"
msgstr "KONTROL ET"
@@ -213,7 +213,7 @@ msgid "CONNECTING..."
msgstr "BAĞLAN"
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:23
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:34
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/keyboard.py:81
#: /home/batman/openpilot/system/ui/widgets/network.py:318
#, python-format
@@ -246,12 +246,12 @@ msgstr "\"yeni cihaz ekle\"ye tıklayın ve sağdaki QR kodunu tarayın"
msgid "Close"
msgstr "Kapat"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#, python-format
msgid "Current Version"
msgstr "Geçerli Sürüm"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:110
#, python-format
msgid "DOWNLOAD"
msgstr "İNDİR"
@@ -279,17 +279,17 @@ msgstr "Cihaz"
msgid "Disengage on Accelerator Pedal"
msgstr "Gaz Pedalında Devreden Çık"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:183
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:184
#, python-format
msgid "Disengage to Power Off"
msgstr "Kapatmak için Devreden Çıkın"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:171
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:172
#, python-format
msgid "Disengage to Reboot"
msgstr "Yeniden Başlatmak için Devreden Çıkın"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:102
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:103
#, python-format
msgid "Disengage to Reset Calibration"
msgstr "Kalibrasyonu Sıfırlamak için Devreden Çıkın"
@@ -303,7 +303,7 @@ msgstr "Hızı mph yerine km/h olarak göster."
msgid "Dongle ID"
msgstr "Dongle ID"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:49
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:50
#, python-format
msgid "Download"
msgstr "İndir"
@@ -411,8 +411,8 @@ msgstr ""
msgid "Enter your GitHub username"
msgstr "GitHub kullanıcı adınızı girin"
#: /home/batman/openpilot/system/ui/widgets/list_view.py:115
#: /home/batman/openpilot/system/ui/widgets/list_view.py:153
#: /home/batman/openpilot/system/ui/widgets/list_view.py:123
#: /home/batman/openpilot/system/ui/widgets/list_view.py:160
#, python-format
msgid "Error"
msgstr ""
@@ -528,8 +528,8 @@ msgstr "Ağ"
msgid "INACTIVE: connect to an unmetered network"
msgstr "PASİF: sınırsız bir ağa bağlanın"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:131
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:136
#, python-format
msgid "INSTALL"
msgstr "YÜKLE"
@@ -539,7 +539,7 @@ msgstr "YÜKLE"
msgid "IP Address"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:52
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:53
#, python-format
msgid "Install Update"
msgstr "Güncellemeyi Yükle"
@@ -609,7 +609,7 @@ msgstr "Sürüm notu mevcut değil."
msgid "OFFLINE"
msgstr "ÇEVRİMDIŞI"
#: /home/batman/openpilot/system/ui/widgets/html_render.py:247
#: /home/batman/openpilot/system/ui/widgets/html_render.py:263
#: /home/batman/openpilot/system/ui/widgets/confirm_dialog.py:93
#: /home/batman/openpilot/selfdrive/ui/layouts/sidebar.py:127
#, python-format
@@ -677,7 +677,7 @@ msgid "Please connect to Wi-Fi to complete initial pairing"
msgstr "İlk eşleştirmeyi tamamlamak için lütfen WiFi'a bağlanın"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:186
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:187
#, python-format
msgid "Power Off"
msgstr "Kapat"
@@ -720,7 +720,7 @@ msgid "REVIEW"
msgstr "GÖZDEN GEÇİR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:55
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:174
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:175
#, python-format
msgid "Reboot"
msgstr "Yeniden Başlat"
@@ -787,7 +787,7 @@ msgstr "Uzaktan anlık görüntüler"
msgid "Request timed out"
msgstr "İstek zaman aşımına uğradı"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:118
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:119
#, python-format
msgid "Reset"
msgstr "Sıfırla"
@@ -807,6 +807,11 @@ msgid "Review the rules, features, and limitations of openpilot"
msgstr ""
"openpilot'un kurallarını, özelliklerini ve sınırlamalarını gözden geçirin"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "SELECT"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/developer.py:53
#, python-format
msgid "SSH Keys"
@@ -817,11 +822,16 @@ msgstr ""
msgid "Scanning Wi-Fi networks..."
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:35
#: /home/batman/openpilot/system/ui/widgets/option_dialog.py:36
#, python-format
msgid "Select"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:183
#, python-format
msgid "Select a branch"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:91
#, python-format
msgid "Select a language"
@@ -876,6 +886,11 @@ msgstr "HEMEN KONTROLÜ DEVRALIN"
msgid "TEMP"
msgstr "TEMP"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:61
#, python-format
msgid "Target Branch"
msgstr ""
#: /home/batman/openpilot/system/ui/widgets/network.py:124
#, python-format
msgid "Tethering Password"
@@ -885,7 +900,7 @@ msgstr ""
msgid "Toggles"
msgstr "Seçenekler"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#, python-format
msgid "UNINSTALL"
msgstr "KALDIR"
@@ -895,8 +910,8 @@ msgstr "KALDIR"
msgid "UPDATE"
msgstr "GÜNCELLE"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:70
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:158
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:72
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:163
#, python-format
msgid "Uninstall"
msgstr "Kaldır"
@@ -905,7 +920,7 @@ msgstr "Kaldır"
msgid "Unknown"
msgstr "Bilinmiyor"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:47
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:48
#, python-format
msgid "Updates are only downloaded while the car is off."
msgstr "Güncellemeler yalnızca araç kapalıyken indirilir."
@@ -1015,12 +1030,12 @@ msgstr "comma prime"
msgid "default"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "down"
msgstr "aşağı"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:105
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:106
#, python-format
msgid "failed to check for update"
msgstr "güncelleme kontrolü başarısız"
@@ -1041,7 +1056,7 @@ msgstr "km/h"
msgid "leave blank for automatic configuration"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "left"
msgstr "sol"
@@ -1056,12 +1071,12 @@ msgstr ""
msgid "mph"
msgstr "mph"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:19
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:20
#, python-format
msgid "never"
msgstr "asla"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:30
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:31
#, python-format
msgid "now"
msgstr "şimdi"
@@ -1103,7 +1118,7 @@ msgstr ""
"göstermek için yola bakan geniş açılı kameraya geçer. Deneysel mod logosu "
"sağ üst köşede de gösterilecektir."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:164
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:165
#, python-format
msgid ""
"openpilot is continuously calibrating, resetting is rarely required. "
@@ -1138,7 +1153,7 @@ msgstr ""
"openpilot, cihazın sağa/sola 4° ve yukarı 5° veya aşağı 9° içinde monte "
"edilmesini gerektirir."
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:134
#, python-format
msgid "right"
msgstr "sağ"
@@ -1148,22 +1163,22 @@ msgstr "sağ"
msgid "unmetered"
msgstr ""
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:132
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/device.py:133
#, python-format
msgid "up"
msgstr "yukarı"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:116
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:117
#, python-format
msgid "up to date, last checked never"
msgstr "güncel, son kontrol asla"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:114
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:115
#, python-format
msgid "up to date, last checked {}"
msgstr "güncel, son kontrol {}"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:108
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:109
#, python-format
msgid "update available"
msgstr "güncelleme mevcut"
@@ -1175,21 +1190,21 @@ msgid_plural "{} ALERTS"
msgstr[0] "{} UYARI"
msgstr[1] "{} UYARILAR"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:39
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:40
#, python-format
msgid "{} day ago"
msgid_plural "{} days ago"
msgstr[0] "{} gün önce"
msgstr[1] "{} gün önce"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:36
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:37
#, python-format
msgid "{} hour ago"
msgid_plural "{} hours ago"
msgstr[0] "{} saat önce"
msgstr[1] "{} saat önce"
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:33
#: /home/batman/openpilot/selfdrive/ui/layouts/settings/software.py:34
#, python-format
msgid "{} minute ago"
msgid_plural "{} minutes ago"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -51,6 +51,14 @@ class FontWeight(StrEnum):
BOLD = "Inter-Bold.ttf"
EXTRA_BOLD = "Inter-ExtraBold.ttf"
BLACK = "Inter-Black.ttf"
UNIFONT = "unifont.otf"
def font_fallback(font: rl.Font) -> rl.Font:
"""Fall back to unifont for languages that require it."""
if multilang.requires_unifont():
return gui_app.font(FontWeight.UNIFONT)
return font
@dataclass
@@ -335,7 +343,7 @@ class GuiApplication:
except KeyboardInterrupt:
pass
def font(self, font_weight: FontWeight = FontWeight.NORMAL):
def font(self, font_weight: FontWeight = FontWeight.NORMAL) -> rl.Font:
return self._fonts[font_weight]
@property
@@ -356,14 +364,16 @@ class GuiApplication:
all_chars |= set("–‑✓×°§•")
# Load only the characters used in translations
for language in multilang.codes:
for language, code in multilang.languages.items():
all_chars |= set(language)
try:
with open(os.path.join(TRANSLATIONS_DIR, f"app_{language}.po")) as f:
with open(os.path.join(TRANSLATIONS_DIR, f"app_{code}.po")) as f:
all_chars |= set(f.read())
except FileNotFoundError:
cloudlog.warning(f"Translation file for language '{language}' not found when loading fonts.")
cloudlog.warning(f"Translation file for language '{code}' not found when loading fonts.")
all_chars = "".join(all_chars)
cloudlog.debug(f"Loading fonts with {len(all_chars)} glyphs.")
codepoint_count = rl.ffi.new("int *", 1)
codepoints = rl.load_codepoints(all_chars, codepoint_count)
@@ -390,6 +400,7 @@ class GuiApplication:
rl._orig_draw_text_ex = rl.draw_text_ex
def _draw_text_ex_scaled(font, text, position, font_size, spacing, tint):
font = font_fallback(font)
return rl._orig_draw_text_ex(font, text, position, font_size * FONT_SCALE, spacing, tint)
rl.draw_text_ex = _draw_text_ex_scaled

View File

@@ -3,25 +3,27 @@ import json
import gettext
from openpilot.common.params import Params
from openpilot.common.basedir import BASEDIR
from openpilot.common.swaglog import cloudlog
SYSTEM_UI_DIR = os.path.join(BASEDIR, "system", "ui")
UI_DIR = os.path.join(BASEDIR, "selfdrive", "ui")
TRANSLATIONS_DIR = os.path.join(UI_DIR, "translations")
LANGUAGES_FILE = os.path.join(TRANSLATIONS_DIR, "languages.json")
SUPPORTED_LANGUAGES = [
"en",
"de",
"fr",
"pt-BR",
"es",
"tr",
UNIFONT_LANGUAGES = [
"ar",
"th",
"zh-CHT",
"zh-CHS",
"ko",
"ja",
]
class Multilang:
def __init__(self):
self._params = Params()
self._language: str = "en"
self.languages = {}
self.codes = {}
self._translation: gettext.NullTranslations | gettext.GNUTranslations = gettext.NullTranslations()
@@ -29,28 +31,28 @@ class Multilang:
@property
def language(self) -> str:
lang = str(self._params.get("LanguageSetting")).strip("main_")
if lang not in SUPPORTED_LANGUAGES:
lang = "en"
return lang
return self._language
def requires_unifont(self) -> bool:
"""Certain languages require unifont to render their glyphs."""
return self._language in UNIFONT_LANGUAGES
def setup(self):
language = self.language
try:
with open(os.path.join(TRANSLATIONS_DIR, f'app_{language}.mo'), 'rb') as fh:
with open(os.path.join(TRANSLATIONS_DIR, f'app_{self._language}.mo'), 'rb') as fh:
translation = gettext.GNUTranslations(fh)
translation.install()
self._translation = translation
print(f"Loaded translations for language: {language}")
cloudlog.warning(f"Loaded translations for language: {self._language}")
except FileNotFoundError:
print(f"No translation file found for language: {language}, using default.")
cloudlog.error(f"No translation file found for language: {self._language}, using default.")
gettext.install('app')
self._translation = gettext.NullTranslations()
return None
def change_language(self, language_code: str) -> None:
# Reinstall gettext with the selected language
self._params.put("LanguageSetting", language_code)
self._language = language_code
self.setup()
def tr(self, text: str) -> str:
@@ -61,8 +63,12 @@ class Multilang:
def _load_languages(self):
with open(LANGUAGES_FILE, encoding='utf-8') as f:
self.languages = {k: v for k, v in json.load(f).items() if v in SUPPORTED_LANGUAGES}
self.codes = {v: k for k, v in self.languages.items() if v in SUPPORTED_LANGUAGES}
self.languages = json.load(f)
self.codes = {v: k for k, v in self.languages.items()}
lang = str(self._params.get("LanguageSetting")).removeprefix("main_")
if lang in self.codes:
self._language = lang
multilang = Multilang()

View File

@@ -1,5 +1,5 @@
import pyray as rl
from openpilot.system.ui.lib.application import FONT_SCALE
from openpilot.system.ui.lib.application import FONT_SCALE, font_fallback
from openpilot.system.ui.lib.emoji import find_emoji
_cache: dict[int, rl.Vector2] = {}
@@ -7,6 +7,7 @@ _cache: dict[int, rl.Vector2] = {}
def measure_text_cached(font: rl.Font, text: str, font_size: int, spacing: int = 0) -> rl.Vector2:
"""Caches text measurements to avoid redundant calculations."""
font = font_fallback(font)
key = hash((font.texture.id, text, font_size, spacing))
if key in _cache:
return _cache[key]

View File

@@ -1,5 +1,6 @@
import pyray as rl
from openpilot.system.ui.lib.text_measure import measure_text_cached
from openpilot.system.ui.lib.application import font_fallback
def _break_long_word(font: rl.Font, word: str, font_size: int, max_width: int) -> list[str]:
@@ -40,6 +41,7 @@ _cache: dict[int, list[str]] = {}
def wrap_text(font: rl.Font, text: str, font_size: int, max_width: int) -> list[str]:
font = font_fallback(font)
key = hash((font.texture.id, text, font_size, max_width))
if key in _cache:
return _cache[key]

View File

@@ -134,9 +134,6 @@ class Label(Widget):
self._font_size = size
self._update_text(self._text)
def _update_layout_rects(self):
self._update_text(self._text)
def _update_text(self, text):
self._emojis = []
self._text_size = []
@@ -170,6 +167,10 @@ class Label(Widget):
self._text_size.append(measure_text_cached(self._font, t, self._font_size))
def _render(self, _):
# Text can be a callable
# TODO: cache until text changed
self._update_text(self._text)
text_size = self._text_size[0] if self._text_size else rl.Vector2(0.0, 0.0)
if self._text_alignment_vertical == rl.GuiTextAlignmentVertical.TEXT_ALIGN_MIDDLE:
text_pos = rl.Vector2(self._rect.x, (self._rect.y + (self._rect.height - text_size.y) // 2))

View File

@@ -17,7 +17,7 @@ LIST_ITEM_SPACING = 25
class MultiOptionDialog(Widget):
def __init__(self, title, options, current=""):
def __init__(self, title, options, current="", option_font_weight=FontWeight.MEDIUM):
super().__init__()
self.title = title
self.options = options
@@ -27,6 +27,7 @@ class MultiOptionDialog(Widget):
# Create scroller with option buttons
self.option_buttons = [Button(option, click_callback=lambda opt=option: self._on_option_clicked(opt),
font_weight=option_font_weight,
text_alignment=rl.GuiTextAlignment.TEXT_ALIGN_LEFT, button_style=ButtonStyle.NORMAL,
text_padding=50, elide_right=True) for option in options]
self.scroller = Scroller(self.option_buttons, spacing=LIST_ITEM_SPACING)