mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-04 19:43:49 +08:00
Share display translations across Galaxy and native UI
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
This Font Software is licensed under the SIL Open Font License,
|
||||
Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font
|
||||
creation efforts of academic and linguistic communities, and to
|
||||
provide a free and open framework in which fonts may be shared and
|
||||
improved in partnership with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply to
|
||||
any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software
|
||||
components as distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to,
|
||||
deleting, or substituting -- in part or in whole -- any of the
|
||||
components of the Original Version, by changing formats or by porting
|
||||
the Font Software to a new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed,
|
||||
modify, redistribute, and sell modified and unmodified copies of the
|
||||
Font Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components, in
|
||||
Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the
|
||||
corresponding Copyright Holder. This restriction only applies to the
|
||||
primary font name as presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created using
|
||||
the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,14 @@
|
||||
Japanese and Korean subsets expanded for the shared StarPilot UI catalogs.
|
||||
Generated with fontTools.subset, retaining the union of each original font cmap
|
||||
and all characters in app_ja.po/app_ko.po. Original subset: Dom 1f1b1d5db9.
|
||||
The official upstream source fonts are licensed under Noto-OFL.txt.
|
||||
|
||||
NotoSansCJKjp-Regular.otf
|
||||
Source: https://raw.githubusercontent.com/notofonts/noto-cjk/main/Sans/OTF/Japanese/NotoSansCJKjp-Regular.otf
|
||||
Source SHA-256: 68a3fc98800b2a27b371f2fb79991daf3633bd89309d4ffaa6946fd587f375b5
|
||||
Subset SHA-256: 7d165e774b66b35b3d0b814aacf8739525d04110bc4f7d316d45378a4758684b
|
||||
|
||||
NotoSansCJKkr-Regular.otf
|
||||
Source: https://raw.githubusercontent.com/notofonts/noto-cjk/main/Sans/OTF/Korean/NotoSansCJKkr-Regular.otf
|
||||
Source SHA-256: 6bcb2a0703aa137e874fc2dffa85f6c21ba9a67fa329e81b8c801663af7e992a
|
||||
Subset SHA-256: 6ee92618137820bfb2671c0601f43cb797ee4b440e52497d0b9fb5e1c923c19c
|
||||
Binary file not shown.
Binary file not shown.
@@ -824,3 +824,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr ""
|
||||
|
||||
@@ -826,3 +826,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "Fahren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "Steuerung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "Sprache und Region"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "Kilometer verwenden (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "Rechtslenker"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "Anzeigesprache des Geräts. Nicht übersetzter Text erscheint auf Englisch. Sprache nur im geparkten Zustand ändern."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "Sprache, Einheiten und Lenkradseite für alle Fahrzeuge."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "Ein"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "Aus"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "Serie"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "Benutzerdefiniert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "Nicht verfügbar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "Verfügbar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "Gespeicherte Auswahl ungültig"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "Gespeicherter Wert ungültig"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "Gespeicherte Auswahl nicht lesbar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "Gespeichert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "Wird gespeichert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "Änderungen speichern"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "Speichern fehlgeschlagen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "Änderungen verwerfen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "Ungespeicherte Änderungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "Weiter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "Fortfahren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "Bestätigen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "Anwenden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "Auf Standard zurücksetzen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "Wiederherstellen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "Erneut versuchen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "Wird geladen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "Wird geladen…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "Seite wird geöffnet…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "Diese Seite konnte nicht geöffnet werden."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "Seite neu laden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Galaxy aktualisieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "Verbunden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "Getrennt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "Verbindung wird hergestellt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "Verbinden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "Trennen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "Koppeln"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "Wird gekoppelt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "Darstellung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "Anzeige"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "Benutzerdefinierte Anzeigeeinstellungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "Töne und Warnungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "Töne"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "Warnungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "Fahrsteuerung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "Fahrzeugeinstellungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "Fahrzeug"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "Lenkradbedienung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "Fahrmodell"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "Modelle"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "Modelllabor"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "Karten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "Verlauf"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "Fahrtenverlauf"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "Letzte Fahrten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "Letzte Fahrt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "Deine Fahrten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "Diese Woche"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "Persönliche Rekorde"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "Systemzustand"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "Speicher"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "Werkzeuge"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "Protokolle"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "Aufzeichnungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "Wiedergabe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "Kameras"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "Kamera"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "Offline-Karten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "Heruntergeladen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "Installiert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "Installieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "Aktualisierungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "Nach Updates suchen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "Stromversorgung beim Parken"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "Fahrzustand erzwingen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "Fahrbetrieb"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "Geparkt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "Dauerhafte Querführung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "Längsplaner"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "Bedingte Fahrmodi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "Kurvengeschwindigkeitsregelung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "Tempolimitregelung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "Spurzentrierung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "Spurwechsel"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "Spurwechseleinstellungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "Folgeabstand"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "Folgezeit"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "Staumodus"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "Ruhig"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "Experimentell"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "Fahrstil"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "Fahrstile"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "Gespeicherte Einstellungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "Sicherung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "Sicherungen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "Exportieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "Importieren"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "Abspielen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "Stopp"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "Starten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "Vorne"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "Hinten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "Links"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "Rechts"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "Klein"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "Groß"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "Keine"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "Nicht gemeldet"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "Nicht erkannt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "Annehmen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "Nicht jetzt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "Fertig"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "Details"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "Ansehen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "Keine Fahrten"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "Verlauf nicht verfügbar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "Verlauf wird geladen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "Datum nicht verfügbar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "Keine Ergebnisse"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "Einstellungen suchen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "Steuerung übernehmen"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "VORAUSFAHRENDES FAHRZEUG"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "KURVE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "AMPEL"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "GESCHWINDIGKEIT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "AUS"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "ZURÜCK"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "PERSÖNLICHE REKORDE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "WIEDERGABE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "PAUSE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "STOPP"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "GROSS"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "UNBEKANNT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "DETAILS"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "GESAMTZEIT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "LETZTE WOCHE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "STRECKE DIESE WOCHE"
|
||||
|
||||
@@ -826,3 +826,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "Inicio"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "Conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "Controles"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "Idioma y región"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "Usar kilómetros (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "Volante a la derecha"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "Idioma de la pantalla del dispositivo. El texto sin traducir aparece en inglés. Estacione antes de cambiar el idioma."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "Idioma, unidades y posición del volante para todos los vehículos."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "Activado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "Automático"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "De fábrica"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "Personalizado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "No disponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "Disponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "Selección guardada no válida"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "Valor guardado no válido"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "No se puede leer la selección guardada"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "Guardar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "Guardado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "Guardando"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "Guardar cambios"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "No se pudo guardar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "Descartar cambios"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "Cambios sin guardar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "Restablecer valores predeterminados"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "Restaurar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "Predeterminado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "Reintentar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "Cargando"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "Cargando…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "Abriendo página…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "No se pudo abrir esta página."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "Recargar página"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Actualizar Galaxy"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "Conectado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "Desconectado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "Conectando"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "Desconectar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "Vincular"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "Vinculando"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "Cerrar sesión"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "Ajustes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "Apariencia"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "Pantalla"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "Ajustes de pantalla personalizados"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "Sonidos y alertas"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "Sonidos"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "Alertas"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "Controles de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "Ajustes del vehículo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "Vehículo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "Controles del volante"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "Modelo de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "Modelos"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "Laboratorio de modelos"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "Mapas"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "Navegación"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "Historial"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "Historial de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "Trayectos recientes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "Último trayecto"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "Tu conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "Esta semana"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "Récords personales"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "Estado del sistema"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "Almacenamiento"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "Herramientas"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "Registros"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "Grabaciones"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "Reproducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "Cámaras"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "Cámara"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "Mapas sin conexión"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "Descargado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "Instalado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "Actualizaciones"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "Buscar actualizaciones"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "Energía al estacionar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "Forzar estado de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "En marcha"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "Estacionado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "Control lateral permanente"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "Planificador longitudinal"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "Modos de conducción condicionales"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "Control de velocidad en curvas"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "Control de límites de velocidad"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "Centrado de carril"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "Cambio de carril"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "Ajustes de cambio de carril"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "Distancia de seguimiento"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "Tiempo de seguimiento"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "Modo de tráfico"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "Tranquilo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "Experimental"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "Estilo de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "Estilos de conducción"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "Ajustes guardados"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "Copia de seguridad"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "Copias de seguridad"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "Exportar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "Importar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "Reproducir"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "Pausar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "Detener"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "Iniciar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "Delantera"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "Trasera"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "Izquierda"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "Derecha"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "Pequeño"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "Grande"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "Ninguno"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "No informado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "No detectado"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "Advertencia"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "Ahora no"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "Hecho"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "Detalles"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "Ver"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "Más"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "No hay trayectos"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "Historial no disponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "Cargando historial"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "Fecha no disponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "Sin resultados"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "Buscar ajustes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "Tome el control"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "VEHÍCULO DELANTERO"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "CURVA"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "SEMÁFORO"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "VELOCIDAD"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "DESACTIVADO"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "ANTERIOR"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "RÉCORDS PERSONALES"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "REPRODUCCIÓN"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "PAUSAR"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "DETENER"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "GRANDE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "DESCONOCIDO"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "DETALLES"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "TODO EL TIEMPO"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "ÚLTIMA SEMANA"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "DISTANCIA ESTA SEMANA"
|
||||
|
||||
@@ -826,3 +826,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "Conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "Commandes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "Langue et région"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "Utiliser les kilomètres (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "Conduite à droite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "Langue d’affichage de l’appareil. Le texte non traduit reste en anglais. Garez-vous avant de changer la langue."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "Langue, unités et côté du volant pour tous les véhicules."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "Activé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "Automatique"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "D’origine"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "Personnalisé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "Indisponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "Disponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "Choix enregistré non valide"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "Valeur enregistrée non valide"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "Impossible de lire le choix enregistré"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "Enregistrer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "Enregistré"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "Enregistrement"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "Enregistrer les modifications"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "Échec de l’enregistrement"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "Abandonner les modifications"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "Modifications non enregistrées"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "Rétablir les valeurs par défaut"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "Par défaut"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "Actualiser"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "Réessayer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "Chargement"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "Chargement…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "Ouverture de la page…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "Impossible d’ouvrir cette page."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "Recharger la page"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Actualiser Galaxy"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "Connecté"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "Déconnecté"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "Connecter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "Déconnecter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "Associer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "Association"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "Se déconnecter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "Apparence"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "Affichage"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "Paramètres d’affichage personnalisés"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "Sons et alertes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "Sons"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "Alertes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "Commandes de conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "Paramètres du véhicule"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "Véhicule"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "Commandes au volant"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "Modèle de conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "Modèles"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "Laboratoire de modèles"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "Cartes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "Favoris"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "Historique"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "Historique des trajets"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "Trajets récents"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "Dernier trajet"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "Votre conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "Cette semaine"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "Records personnels"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "État du système"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "Stockage"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "Outils"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "Journaux"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "Enregistrements"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "Relecture"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "Caméras"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "Caméra"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "Cartes hors ligne"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "Téléchargé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "Installé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "Installer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "Mettre à jour"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "Mises à jour"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "Rechercher des mises à jour"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "Alimentation à l’arrêt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "Forcer l’état de conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "En conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "À l’arrêt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "Contrôle latéral permanent"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "Planificateur longitudinal"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "Modes de conduite conditionnels"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "Contrôle de vitesse en virage"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "Contrôle des limitations de vitesse"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "Centrage dans la voie"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "Changement de voie"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "Paramètres de changement de voie"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "Distance de suivi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "Temps de suivi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "Mode embouteillage"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "Calme"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "Expérimental"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "Style de conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "Styles de conduite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "Paramètres enregistrés"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "Sauvegarde"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "Sauvegardes"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "Exporter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "Lire"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "Arrêter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "Démarrer"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "Avant"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "Arrière"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "Gauche"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "Droite"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "Petit"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "Grand"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "Désactivé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "Non signalé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "Non détecté"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "Avertissement"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "Accepter"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "Refuser"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "Pas maintenant"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "Terminé"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "Détails"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "Afficher"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "Plus"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "Aucun trajet"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "Historique indisponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "Chargement de l’historique"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "Date indisponible"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "Aucun résultat"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "Rechercher des paramètres"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "Reprenez le contrôle"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "VÉHICULE DEVANT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "VIRAGE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "FEU DE SIGNALISATION"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "VITESSE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "DÉSACTIVÉ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "PRÉCÉDENT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "RECORDS PERSONNELS"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "RELECTURE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "PAUSE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "ARRÊTER"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "GRAND"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "INCONNU"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "DÉTAILS"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "DEPUIS LE DÉBUT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "SEMAINE PASSÉE"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "DISTANCE CETTE SEMAINE"
|
||||
|
||||
@@ -822,3 +822,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "ホーム"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "運転"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "操作"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "地域と言語"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "言語"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "キロメートルを使用 (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "右ハンドル"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "デバイスの表示言語です。未翻訳の文章は英語で表示されます。言語の変更は駐車中に行ってください。"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "すべての車両の言語、単位、ハンドル位置。"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "オン"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "オフ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "自動"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "標準"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "カスタム"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "利用不可"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "利用可能"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "保存された選択が無効です"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "保存された値が無効です"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "保存された選択を読み取れません"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "保存"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "保存済み"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "保存中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "変更を保存"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "保存できませんでした"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "変更を破棄"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "未保存の変更"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "次へ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "前へ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "続行"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "確認"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "適用"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "初期設定に戻す"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "復元"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "初期設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "削除"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "削除"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "追加"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "編集"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "検索"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "更新"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "再試行"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "読み込み中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "読み込み中…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "ページを開いています…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "このページを開けませんでした。"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "ページを再読み込み"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Galaxyを更新"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "接続済み"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "未接続"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "接続中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "接続"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "切断"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "ペアリング"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "ペアリング中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "ログイン"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "ログアウト"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "システム"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "外観"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "表示"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "表示のカスタム設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "サウンドと警告"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "サウンド"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "警告"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "運転制御"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "車両設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "車両"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "ハンドル操作"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "運転モデル"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "モデル"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "モデルラボ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "地図"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "ナビゲーション"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "お気に入り"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "履歴"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "運転履歴"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "最近の走行"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "前回の走行"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "あなたの運転"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "今週"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "自己記録"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "稼働状況"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "ストレージ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "ツール"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "ログ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "録画"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "リプレイ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "カメラ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "カメラ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "オフライン地図"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "ダウンロード済み"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "インストール済み"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "インストール"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "更新"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "更新を確認"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "駐車中の電源"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "走行状態を強制設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "走行中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "停車中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "常時横方向制御"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "縦方向プランナー"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "条件付き運転モード"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "カーブ速度制御"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "制限速度制御"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "車線中央維持"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "車線変更"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "車線変更設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "車間距離"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "車間時間"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "渋滞モード"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "穏やか"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "実験的"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "運転スタイル"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "運転スタイル"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "保存済みの設定"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "バックアップ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "バックアップ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "エクスポート"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "インポート"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "再生"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "一時停止"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "停止"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "開始"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "前方"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "後方"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "左"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "右"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "小"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "大"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "なし"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "有効"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "無効"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "報告なし"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "未検出"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "警告"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "承認"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "拒否"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "後で"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "完了"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "詳細"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "表示"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "その他"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "走行履歴なし"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "履歴を利用できません"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "履歴を読み込み中"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "日付不明"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "結果なし"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "設定を検索"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "運転を引き継いでください"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "先行車"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "カーブ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "信号機"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "速度"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "オフ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "前へ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "自己記録"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "リプレイ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "一時停止"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "停止"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "大"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "不明"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "詳細"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "全期間"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "過去1週間"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "今週の走行距離"
|
||||
|
||||
@@ -822,3 +822,675 @@ msgstr ""
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr ""
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "홈"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "주행"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "언어 및 지역"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "언어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "킬로미터 사용 (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "우측 운전석"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "기기 표시 언어입니다. 번역되지 않은 텍스트는 영어로 표시됩니다. 주차 후 언어를 변경하세요."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "모든 차량의 언어, 단위 및 운전석 위치."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "켜짐"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "꺼짐"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "자동"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "기본"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "사용자 지정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "사용 불가"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "사용 가능"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "저장된 선택이 잘못되었습니다"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "저장된 값이 잘못되었습니다"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "저장된 선택을 읽을 수 없습니다"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "저장"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "저장됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "저장 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "변경 사항 저장"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "저장하지 못했습니다"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "변경 사항 취소"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "저장되지 않은 변경 사항"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "다음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "이전"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "계속"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "확인"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "적용"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "기본값으로 초기화"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "복원"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "기본값"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "제거"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "새로 고침"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "다시 시도"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "불러오는 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "불러오는 중…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "페이지 여는 중…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "이 페이지를 열 수 없습니다."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "페이지 새로 고침"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Galaxy 새로 고침"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "연결됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "연결 끊김"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "연결 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "연결"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "연결 해제"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "페어링"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "페어링 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "로그인"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "로그아웃"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "비밀번호"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "시스템"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "모양"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "화면"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "사용자 지정 화면 설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "소리 및 경고"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "소리"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "경고"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "주행 제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "차량 설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "차량"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "핸들 제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "주행 모델"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "모델"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "모델 실험실"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "지도"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "내비게이션"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "즐겨찾기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "기록"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "주행 기록"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "최근 주행"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "지난 주행"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "내 주행"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "이번 주"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "개인 기록"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "시스템 상태"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "저장 공간"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "도구"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "로그"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "녹화"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "다시 보기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "카메라"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "카메라"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "오프라인 지도"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "다운로드됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "설치됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "설치"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "업데이트"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "업데이트"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "업데이트 확인"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "주차 중 전원"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "주행 상태 강제 설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "주행 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "주차 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "항상 횡방향 제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "종방향 플래너"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "조건부 주행 모드"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "커브 속도 제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "제한 속도 제어"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "차로 중앙 유지"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "차로 변경"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "차로 변경 설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "차간 거리"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "차간 시간"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "정체 모드"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "편안함"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "실험적"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "주행 성향"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "주행 성향"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "저장된 설정"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "백업"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "백업"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "내보내기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "가져오기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "재생"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "일시 정지"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "정지"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "시작"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "전방"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "후방"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "왼쪽"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "오른쪽"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "작게"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "크게"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "활성화됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "비활성화됨"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "보고되지 않음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "감지되지 않음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "경고"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "수락"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "거부"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "나중에"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "완료"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "세부 정보"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "보기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "더 보기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "주행 기록 없음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "기록을 사용할 수 없습니다"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "기록 불러오는 중"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "날짜를 사용할 수 없음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "결과 없음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "설정 검색"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "직접 제어하세요"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "선행 차량"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "커브"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "신호등"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "속도"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "꺼짐"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "이전"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "개인 기록"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "다시 보기"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "일시 정지"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "정지"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "크게"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "세부 정보"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "전체 기간"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "지난주"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "이번 주 주행 거리"
|
||||
|
||||
@@ -822,3 +822,675 @@ msgstr "Tốc độ tối đa ban đầu"
|
||||
#: openpilot/selfdrive/ui/layouts/settings/toggles.py
|
||||
msgid "Max speed when engaging openpilot. If you are already driving faster, your current speed is used. Resume restores the previous max speed. Changes apply the next time you engage."
|
||||
msgstr "Tốc độ tối đa khi kích hoạt openpilot. Nếu bạn đang chạy nhanh hơn, tốc độ hiện tại sẽ được dùng. Nút tiếp tục khôi phục tốc độ tối đa trước đó. Thay đổi có hiệu lực ở lần kích hoạt tiếp theo."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Home"
|
||||
msgstr "Trang chủ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving"
|
||||
msgstr "Lái xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Controls"
|
||||
msgstr "Điều khiển"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Localization"
|
||||
msgstr "Ngôn ngữ và khu vực"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language"
|
||||
msgstr "Ngôn ngữ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Use Kilometers (km/h)"
|
||||
msgstr "Dùng kilômét (km/h)"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right-Hand Drive"
|
||||
msgstr "Tay lái bên phải"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Device display language. Untranslated text uses English. Park before changing language."
|
||||
msgstr "Ngôn ngữ hiển thị của thiết bị. Văn bản chưa dịch dùng tiếng Anh. Đỗ xe trước khi đổi ngôn ngữ."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Language, units and steering-wheel side for every vehicle."
|
||||
msgstr "Ngôn ngữ, đơn vị và vị trí tay lái cho mọi xe."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "On"
|
||||
msgstr "Bật"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Off"
|
||||
msgstr "Tắt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Auto"
|
||||
msgstr "Tự động"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stock"
|
||||
msgstr "Nguyên bản"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom"
|
||||
msgstr "Tùy chỉnh"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unavailable"
|
||||
msgstr "Không khả dụng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Available"
|
||||
msgstr "Khả dụng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved choice"
|
||||
msgstr "Lựa chọn đã lưu không hợp lệ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Invalid saved value"
|
||||
msgstr "Giá trị đã lưu không hợp lệ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved choice cannot be read"
|
||||
msgstr "Không đọc được lựa chọn đã lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save"
|
||||
msgstr "Lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved"
|
||||
msgstr "Đã lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saving"
|
||||
msgstr "Đang lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Save changes"
|
||||
msgstr "Lưu thay đổi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Could not save"
|
||||
msgstr "Không lưu được"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Discard changes"
|
||||
msgstr "Bỏ thay đổi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Unsaved changes"
|
||||
msgstr "Thay đổi chưa lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Next"
|
||||
msgstr "Tiếp theo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Previous"
|
||||
msgstr "Trước"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Continue"
|
||||
msgstr "Tiếp tục"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Confirm"
|
||||
msgstr "Xác nhận"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Apply"
|
||||
msgstr "Áp dụng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reset to defaults"
|
||||
msgstr "Đặt lại mặc định"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Restore"
|
||||
msgstr "Khôi phục"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Default"
|
||||
msgstr "Mặc định"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Delete"
|
||||
msgstr "Xóa"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Remove"
|
||||
msgstr "Gỡ bỏ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Add"
|
||||
msgstr "Thêm"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Edit"
|
||||
msgstr "Chỉnh sửa"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search"
|
||||
msgstr "Tìm kiếm"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh"
|
||||
msgstr "Làm mới"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Retry"
|
||||
msgstr "Thử lại"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading"
|
||||
msgstr "Đang tải"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading…"
|
||||
msgstr "Đang tải…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Opening page…"
|
||||
msgstr "Đang mở trang…"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This page could not open."
|
||||
msgstr "Không mở được trang này."
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reload page"
|
||||
msgstr "Tải lại trang"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Refresh Galaxy"
|
||||
msgstr "Làm mới Galaxy"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connected"
|
||||
msgstr "Đã kết nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnected"
|
||||
msgstr "Đã ngắt kết nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connecting"
|
||||
msgstr "Đang kết nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Connect"
|
||||
msgstr "Kết nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disconnect"
|
||||
msgstr "Ngắt kết nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pair"
|
||||
msgstr "Ghép nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pairing"
|
||||
msgstr "Đang ghép nối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign in"
|
||||
msgstr "Đăng nhập"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sign out"
|
||||
msgstr "Đăng xuất"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Password"
|
||||
msgstr "Mật khẩu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "System"
|
||||
msgstr "Hệ thống"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Settings"
|
||||
msgstr "Cài đặt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Appearance"
|
||||
msgstr "Giao diện"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Display"
|
||||
msgstr "Hiển thị"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Custom Display Settings"
|
||||
msgstr "Cài đặt hiển thị tùy chỉnh"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds & Alerts"
|
||||
msgstr "Âm thanh và cảnh báo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Sounds"
|
||||
msgstr "Âm thanh"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Alerts"
|
||||
msgstr "Cảnh báo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Controls"
|
||||
msgstr "Điều khiển lái xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle Settings"
|
||||
msgstr "Cài đặt xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vehicle"
|
||||
msgstr "Xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Wheel Controls"
|
||||
msgstr "Điều khiển vô lăng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Driving Model"
|
||||
msgstr "Mô hình lái"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Models"
|
||||
msgstr "Mô hình"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Model Laboratory"
|
||||
msgstr "Phòng thử nghiệm mô hình"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Maps"
|
||||
msgstr "Bản đồ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Navigation"
|
||||
msgstr "Điều hướng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Favorites"
|
||||
msgstr "Yêu thích"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History"
|
||||
msgstr "Lịch sử"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Drive History"
|
||||
msgstr "Lịch sử lái xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recent drives"
|
||||
msgstr "Chuyến đi gần đây"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Last drive"
|
||||
msgstr "Chuyến đi trước"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Your driving"
|
||||
msgstr "Việc lái xe của bạn"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "This week"
|
||||
msgstr "Tuần này"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personal records"
|
||||
msgstr "Kỷ lục cá nhân"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Vitals"
|
||||
msgstr "Trạng thái hệ thống"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Storage"
|
||||
msgstr "Bộ nhớ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Tools"
|
||||
msgstr "Công cụ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Logs"
|
||||
msgstr "Nhật ký"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Recordings"
|
||||
msgstr "Bản ghi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Replay"
|
||||
msgstr "Phát lại"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Cameras"
|
||||
msgstr "Camera"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Camera"
|
||||
msgstr "Camera"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offline maps"
|
||||
msgstr "Bản đồ ngoại tuyến"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Downloaded"
|
||||
msgstr "Đã tải xuống"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Installed"
|
||||
msgstr "Đã cài đặt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Install"
|
||||
msgstr "Cài đặt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Update"
|
||||
msgstr "Cập nhật"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Updates"
|
||||
msgstr "Bản cập nhật"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Check for updates"
|
||||
msgstr "Kiểm tra cập nhật"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Parked Power"
|
||||
msgstr "Nguồn điện khi đỗ xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Force Drive State"
|
||||
msgstr "Buộc trạng thái lái"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Onroad"
|
||||
msgstr "Đang chạy"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Offroad"
|
||||
msgstr "Đã đỗ xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Always On Lateral"
|
||||
msgstr "Luôn điều khiển ngang"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Long Planner"
|
||||
msgstr "Bộ lập kế hoạch dọc"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Conditional Driving Modes"
|
||||
msgstr "Chế độ lái có điều kiện"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Curve Speed Controller"
|
||||
msgstr "Điều khiển tốc độ khi vào cua"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Speed Limit Controller"
|
||||
msgstr "Điều khiển giới hạn tốc độ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Centering"
|
||||
msgstr "Giữ giữa làn"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change"
|
||||
msgstr "Chuyển làn"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Lane Change Settings"
|
||||
msgstr "Cài đặt chuyển làn"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following distance"
|
||||
msgstr "Khoảng cách theo xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Following time"
|
||||
msgstr "Thời gian theo xe"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Traffic Mode"
|
||||
msgstr "Chế độ giao thông"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Chill"
|
||||
msgstr "Thư thả"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Experimental"
|
||||
msgstr "Thử nghiệm"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personality"
|
||||
msgstr "Phong cách lái"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Personalities"
|
||||
msgstr "Phong cách lái"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Saved settings"
|
||||
msgstr "Cài đặt đã lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backup"
|
||||
msgstr "Sao lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Backups"
|
||||
msgstr "Bản sao lưu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Export"
|
||||
msgstr "Xuất"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Import"
|
||||
msgstr "Nhập"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Play"
|
||||
msgstr "Phát"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Pause"
|
||||
msgstr "Tạm dừng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Stop"
|
||||
msgstr "Dừng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Start"
|
||||
msgstr "Bắt đầu"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Front"
|
||||
msgstr "Phía trước"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Rear"
|
||||
msgstr "Phía sau"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Left"
|
||||
msgstr "Trái"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Right"
|
||||
msgstr "Phải"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Small"
|
||||
msgstr "Nhỏ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Big"
|
||||
msgstr "Lớn"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "None"
|
||||
msgstr "Không có"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Enabled"
|
||||
msgstr "Đã bật"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Disabled"
|
||||
msgstr "Đã tắt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not reported"
|
||||
msgstr "Chưa báo cáo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not detected"
|
||||
msgstr "Không phát hiện"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Warning"
|
||||
msgstr "Cảnh báo"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Accept"
|
||||
msgstr "Chấp nhận"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Reject"
|
||||
msgstr "Từ chối"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Not now"
|
||||
msgstr "Để sau"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Done"
|
||||
msgstr "Xong"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Details"
|
||||
msgstr "Chi tiết"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "View"
|
||||
msgstr "Xem"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "More"
|
||||
msgstr "Thêm"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No drives"
|
||||
msgstr "Không có chuyến đi"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "History unavailable"
|
||||
msgstr "Lịch sử không khả dụng"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Loading history"
|
||||
msgstr "Đang tải lịch sử"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Date unavailable"
|
||||
msgstr "Không có ngày"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "No results"
|
||||
msgstr "Không có kết quả"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Search settings"
|
||||
msgstr "Tìm cài đặt"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "Take control"
|
||||
msgstr "Tiếp quản điều khiển"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "LEAD"
|
||||
msgstr "XE PHÍA TRƯỚC"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "CURVE"
|
||||
msgstr "KHÚC CUA"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP LIGHT"
|
||||
msgstr "ĐÈN GIAO THÔNG"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "SPEED"
|
||||
msgstr "TỐC ĐỘ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "OFF"
|
||||
msgstr "TẮT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PREVIOUS"
|
||||
msgstr "TRƯỚC"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PERSONAL RECORDS"
|
||||
msgstr "KỶ LỤC CÁ NHÂN"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "REPLAY"
|
||||
msgstr "PHÁT LẠI"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAUSE"
|
||||
msgstr "TẠM DỪNG"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "STOP"
|
||||
msgstr "DỪNG"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "BIG"
|
||||
msgstr "LỚN"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "UNKNOWN"
|
||||
msgstr "KHÔNG RÕ"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DETAILS"
|
||||
msgstr "CHI TIẾT"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "ALL TIME"
|
||||
msgstr "TOÀN BỘ THỜI GIAN"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "PAST WEEK"
|
||||
msgstr "TUẦN QUA"
|
||||
|
||||
#: openpilot/starpilot/ui/translation_strings.py
|
||||
msgid "DISTANCE THIS WEEK"
|
||||
msgstr "QUÃNG ĐƯỜNG TUẦN NÀY"
|
||||
|
||||
@@ -19,6 +19,8 @@ def update_translations():
|
||||
if filename.endswith(".py"):
|
||||
files.append(os.path.relpath(os.path.join(root, filename), BASEDIR))
|
||||
|
||||
files.append("openpilot/starpilot/ui/translation_strings.py")
|
||||
|
||||
# Extract translatable strings and generate .pot template
|
||||
entries = extract_strings(files, BASEDIR)
|
||||
generate_pot(entries, POT_FILE)
|
||||
|
||||
@@ -145,3 +145,22 @@ The UI adapts StarPilot's earlier Vue Galaxy design; the adapted StarPilot
|
||||
source remains under the repository [LICENSE](../../../LICENSE). The bundled
|
||||
Vue and Bootstrap Icons assets retain their respective MIT notices in
|
||||
`web/vendor/notices/`. Other asset notices remain beside their files.
|
||||
|
||||
## Shared display language
|
||||
|
||||
Galaxy → Toggles → Localization selects the persistent openpilot `LanguageSetting`.
|
||||
Galaxy reads the authenticated `/api/localization` endpoint and applies the same
|
||||
`selfdrive/ui/translations/app_*.po` catalogs used by the device. Language changes
|
||||
apply to an open Galaxy page within two seconds. Translation changes presentation
|
||||
text and accessibility labels; request values, parameter keys, input values and
|
||||
technical logs remain unchanged. The native large/compact renderer translates
|
||||
measurements and drawing together and loads bundled Unicode fonts as needed.
|
||||
|
||||
`starpilot/ui/translation_strings.py` marks shared labels for the existing catalog
|
||||
update tool. The initial shared set covers navigation, common actions, settings
|
||||
groups, home statistics and several onroad labels in Japanese, Korean, Spanish, French, German and
|
||||
Vietnamese. The catalogs also retain stock openpilot translations. This is not
|
||||
complete sentence coverage: long feature explanations, dynamically assembled
|
||||
messages and unlisted labels remain English. Boot/login screens initially use
|
||||
English until an authenticated language response is available. User-entered
|
||||
text, logs, identifiers and brand names are not translation targets.
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
"""Read the device's shared language and expose its existing openpilot catalog."""
|
||||
|
||||
from functools import lru_cache
|
||||
|
||||
from openpilot.starpilot.galaxy.localization_settings import LANGUAGES
|
||||
from openpilot.starpilot.saved_source import read_saved
|
||||
from openpilot.system.ui.lib.multilang import TRANSLATIONS_DIR, load_translations
|
||||
|
||||
|
||||
@lru_cache(maxsize=16)
|
||||
def catalog(code):
|
||||
if code == "en":
|
||||
return {}
|
||||
messages, _ = load_translations(TRANSLATIONS_DIR.joinpath(f"app_{code}.po"))
|
||||
return {source: translated for source, translated in messages.items() if translated and source != translated}
|
||||
|
||||
|
||||
def language_snapshot(params, previous=""):
|
||||
raw, readable = read_saved(params, "LanguageSetting", 32)
|
||||
code = (raw or b"en").decode("utf-8", errors="replace").removeprefix("main_")
|
||||
code = code if readable and code in LANGUAGES.values() else "en"
|
||||
return {"language": code, **({} if previous == code else {"messages": catalog(code)})}
|
||||
@@ -740,6 +740,13 @@ def make_server(*, port=8082, host='127.0.0.1', monitor=None, owner=None, crashe
|
||||
**({'gatewayAccess': True} if getattr(self.server, 'remote_transport', False) else {}),
|
||||
'state': 'configured' if status == AccessStatus.CONFIGURED_LOCAL else
|
||||
'unavailable' if status == AccessStatus.UNAVAILABLE else 'setup_required'})
|
||||
elif path == '/api/localization':
|
||||
if not self.require_session():
|
||||
return
|
||||
from openpilot.common.params import Params
|
||||
from openpilot.starpilot.galaxy.localization import language_snapshot
|
||||
previous = parse_qs(urlsplit(self.path).query).get('language', [''])[0]
|
||||
self.json(200, language_snapshot(Params(), previous))
|
||||
elif path == '/api/galaxy/device-name':
|
||||
if not self.require_session():
|
||||
return
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
import assert from "node:assert/strict"
|
||||
import { translateText, localizeDocument } from "../web/js/localization.js"
|
||||
|
||||
assert.equal(translateText(" Home\n", { Home: "ホーム" }), " ホーム\n")
|
||||
assert.equal(translateText("SpeedLimitController", {}), "SpeedLimitController")
|
||||
assert.equal(translateText("Save", { Save: "$&<text>" }), "$&<text>", "translations remain literal text")
|
||||
|
||||
const doc = { documentElement: {} }
|
||||
class Element {
|
||||
constructor(tag, attrs = {}, children = []) {
|
||||
this.nodeType = 1; this.tag = tag; this.attrs = { ...attrs }; this.childNodes = children; this.ownerDocument = doc
|
||||
for (const child of children) child.parentElement = this
|
||||
}
|
||||
matches(selector) {
|
||||
return selector.split(",").some(value => value.startsWith("[") ?
|
||||
value === "[translate=no]" ? this.attrs.translate === "no" : Object.hasOwn(this.attrs, value.slice(1, -1)) : this.tag === value)
|
||||
}
|
||||
closest(selector) { return this.matches(selector) || this.parentElement?.closest(selector) }
|
||||
hasAttribute(key) { return Object.hasOwn(this.attrs, key) }
|
||||
getAttribute(key) { return this.attrs[key] }
|
||||
setAttribute(key, value) { this.attrs[key] = value }
|
||||
}
|
||||
const text = value => ({ nodeType: 3, nodeValue: value })
|
||||
const label = text("Home"), dynamic = text("Save"), technical = text("Save")
|
||||
const input = new Element("input", { placeholder: "Search", value: "Home" })
|
||||
const root = new Element("main", {}, [new Element("button", { title: "Home" }, [label]),
|
||||
new Element("span", {}, [dynamic]), new Element("code", {}, [technical]), input,
|
||||
new Element("span", { translate: "no" }, [text("Save")])])
|
||||
const records = new WeakMap()
|
||||
localizeDocument(root, { language: "ja", messages: { Home: "ホーム", Save: "保存", Search: "検索" } }, records)
|
||||
assert.equal(label.nodeValue, "ホーム")
|
||||
assert.equal(input.attrs.placeholder, "検索")
|
||||
assert.equal(input.attrs.value, "Home")
|
||||
assert.equal(technical.nodeValue, "Save")
|
||||
assert.equal(doc.documentElement.lang, "ja")
|
||||
dynamic.nodeValue = "Home" // Vue changed the source while another language was active.
|
||||
localizeDocument(root, { language: "fr", messages: { Home: "Accueil", Save: "Enregistrer", Search: "Rechercher" } }, records)
|
||||
assert.equal(label.nodeValue, "Accueil")
|
||||
assert.equal(dynamic.nodeValue, "Accueil")
|
||||
localizeDocument(root, { language: "en", messages: {} }, records)
|
||||
assert.equal(label.nodeValue, "Home")
|
||||
assert.equal(dynamic.nodeValue, "Home")
|
||||
assert.equal(input.attrs.placeholder, "Search")
|
||||
assert.equal(root.childNodes[0].attrs.title, "Home")
|
||||
@@ -0,0 +1,83 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from openpilot.common.params import Params
|
||||
from openpilot.starpilot.galaxy.localization import language_snapshot
|
||||
from openpilot.starpilot.ui.translation_strings import MESSAGES
|
||||
|
||||
|
||||
@pytest.mark.parametrize('code', ['ja', 'ko', 'es', 'fr', 'de', 'vi'])
|
||||
def test_shared_catalog_and_persistent_language(tmp_path, code):
|
||||
params = Params(str(tmp_path))
|
||||
params.put('LanguageSetting', code, block=True)
|
||||
before = Path(params.get_param_path('LanguageSetting')).read_bytes()
|
||||
snapshot = language_snapshot(params)
|
||||
assert snapshot['language'] == code
|
||||
assert snapshot['messages']['Home'] != 'Home'
|
||||
assert snapshot['messages']['Language'] != 'Language'
|
||||
assert language_snapshot(params, code) == {'language': code}
|
||||
assert Path(params.get_param_path('LanguageSetting')).read_bytes() == before
|
||||
|
||||
|
||||
def test_unknown_language_and_english_fallback(tmp_path):
|
||||
params = Params(str(tmp_path))
|
||||
for code in ['en', 'unknown', '../../etc/passwd']:
|
||||
params.put('LanguageSetting', code, block=True)
|
||||
assert language_snapshot(params) == {'language': 'en', 'messages': {}}
|
||||
params.put('LanguageSetting', 'main_ja', block=True)
|
||||
assert language_snapshot(params)['language'] == 'ja'
|
||||
|
||||
|
||||
def test_shared_messages_survive_standard_catalog_extraction():
|
||||
from openpilot.selfdrive.ui.translations.potools import extract_strings
|
||||
from openpilot.common.basedir import BASEDIR
|
||||
entries = extract_strings(['openpilot/starpilot/ui/translation_strings.py'], BASEDIR)
|
||||
assert {entry.msgid for entry in entries} == set(MESSAGES)
|
||||
|
||||
|
||||
def test_http_catalog_requires_existing_session(tmp_path, monkeypatch):
|
||||
import http.client
|
||||
import json
|
||||
import threading
|
||||
from openpilot.starpilot.galaxy.access import GalaxyAccessOwner
|
||||
from openpilot.starpilot.galaxy.server import make_server
|
||||
|
||||
params = Params(str(tmp_path / 'params'))
|
||||
params.put('LanguageSetting', 'vi', block=True)
|
||||
monkeypatch.setattr('openpilot.common.params.Params', lambda: params)
|
||||
access = GalaxyAccessOwner(tmp_path / 'access')
|
||||
access.configure('localization-test-password', lambda: True)
|
||||
server = make_server(port=0, owner=access, parked=lambda: True)
|
||||
worker = threading.Thread(target=server.serve_forever, kwargs={'poll_interval': .01}, daemon=True)
|
||||
worker.start()
|
||||
|
||||
def request(path, cookie=''):
|
||||
connection = http.client.HTTPConnection('127.0.0.1', server.server_port, timeout=3)
|
||||
try:
|
||||
connection.request('GET', path, headers={'Cookie': cookie})
|
||||
response = connection.getresponse()
|
||||
return response.status, json.loads(response.read()), response.getheader('Set-Cookie', '').split(';')[0]
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
try:
|
||||
assert request('/api/localization')[0] == 401
|
||||
status, _, cookie = request('/api/auth/session')
|
||||
assert status == 200 and cookie
|
||||
status, result, _ = request('/api/localization', cookie)
|
||||
assert status == 200 and result['language'] == 'vi' and result['messages']['Home'] == 'Trang chủ'
|
||||
assert request('/api/localization?language=vi', cookie)[1] == {'language': 'vi'}
|
||||
finally:
|
||||
server.shutdown()
|
||||
worker.join(2)
|
||||
server.server_close()
|
||||
|
||||
|
||||
@pytest.mark.parametrize('code', ['ja', 'ko', 'es', 'fr', 'de', 'vi'])
|
||||
def test_shared_messages_have_translations(tmp_path, code):
|
||||
from openpilot.selfdrive.ui.translations.potools import parse_po
|
||||
from openpilot.system.ui.lib.multilang import TRANSLATIONS_DIR
|
||||
_, entries = parse_po(TRANSLATIONS_DIR.joinpath(f'app_{code}.po'))
|
||||
translations = {entry.msgid: entry.msgstr for entry in entries}
|
||||
assert all(translations.get(message) for message in MESSAGES)
|
||||
@@ -1,3 +1,4 @@
|
||||
import { startLocalization } from "./localization.js"
|
||||
import { rememberInstallPrompt } from "./install-app.js"
|
||||
import { toggleHaptic } from "./haptics.js"
|
||||
import { GxState } from "./state.js"
|
||||
@@ -157,6 +158,7 @@ createApp({
|
||||
sessionExpired() { if (initializing) return; auth.expired(); initialize() },
|
||||
},
|
||||
mounted() {
|
||||
this.stopLocalization = startLocalization()
|
||||
document.documentElement.dataset.theme = state.theme
|
||||
this.visibility = () => {
|
||||
if (!document.hidden) deviceRestart.wake()
|
||||
@@ -177,6 +179,7 @@ createApp({
|
||||
})
|
||||
},
|
||||
beforeUnmount() {
|
||||
this.stopLocalization?.()
|
||||
reconnectEnabled = false
|
||||
clearTimeout(reconnectTimer)
|
||||
startupGeneration++
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
// Translate presentation only: Vue's values, requests and technical identifiers stay in English.
|
||||
const ATTRIBUTES = ["title", "aria-label", "placeholder", "alt"]
|
||||
const PROTECTED = "script,style,code,pre,textarea,input,option,[contenteditable],[translate=no]"
|
||||
|
||||
export function translateText(source, messages) {
|
||||
const text = source.trim()
|
||||
return Object.hasOwn(messages, text) ? source.replace(text, () => messages[text]) : source
|
||||
}
|
||||
|
||||
export function localizeDocument(root, { language, messages }, records = new WeakMap()) {
|
||||
function translate(node, key, source, write) {
|
||||
const saved = records.get(node) || {}
|
||||
const prior = saved[key]
|
||||
const original = prior && prior.output === source ? prior.source : source
|
||||
const output = translateText(original, messages)
|
||||
saved[key] = { source: original, output }
|
||||
records.set(node, saved)
|
||||
if (output !== source) write(output)
|
||||
}
|
||||
function visit(node) {
|
||||
if (node.nodeType === 3) {
|
||||
if (!node.parentElement?.closest(PROTECTED)) translate(node, "text", node.nodeValue, value => { node.nodeValue = value })
|
||||
return
|
||||
}
|
||||
if (node.nodeType !== 1 || node.matches("script,style,code,pre,[translate=no],[contenteditable]")) return
|
||||
for (const key of ATTRIBUTES) {
|
||||
if (node.hasAttribute(key)) translate(node, key, node.getAttribute(key), value => node.setAttribute(key, value))
|
||||
}
|
||||
if (!node.matches(PROTECTED)) for (const child of node.childNodes) visit(child)
|
||||
}
|
||||
visit(root)
|
||||
root.ownerDocument.documentElement.lang = language
|
||||
return records
|
||||
}
|
||||
|
||||
export function startLocalization(root = document.body, fetcher = fetch) {
|
||||
let state = { language: "en", messages: {} }, stopped = false, timer, scheduled = false
|
||||
const records = new WeakMap()
|
||||
const dirty = new Set()
|
||||
const observer = new MutationObserver(mutations => {
|
||||
for (const mutation of mutations) dirty.add(mutation.target)
|
||||
if (scheduled) return
|
||||
scheduled = true
|
||||
queueMicrotask(() => {
|
||||
scheduled = false
|
||||
const changed = [...dirty].filter(node => node.isConnected)
|
||||
dirty.clear()
|
||||
if (!stopped) apply(changed)
|
||||
})
|
||||
})
|
||||
function apply(nodes = [root]) {
|
||||
observer.disconnect()
|
||||
for (const node of nodes) localizeDocument(node, state, records)
|
||||
observer.observe(root, { subtree: true, childList: true, characterData: true, attributes: true, attributeFilter: ATTRIBUTES })
|
||||
}
|
||||
async function refresh() {
|
||||
try {
|
||||
const response = await fetcher(`./api/localization?language=${encodeURIComponent(state.language)}`, { cache: "no-store" })
|
||||
if (response.ok) {
|
||||
const next = await response.json()
|
||||
if (!stopped && typeof next.language === "string" && next.messages && typeof next.messages === "object") {
|
||||
state = next
|
||||
apply()
|
||||
}
|
||||
}
|
||||
} catch { /* Keep the last confirmed language during connection loss. */ }
|
||||
if (!stopped) timer = setTimeout(refresh, 2000)
|
||||
}
|
||||
apply()
|
||||
refresh()
|
||||
return () => { stopped = true; clearTimeout(timer); observer.disconnect() }
|
||||
}
|
||||
@@ -34,12 +34,15 @@ class DriveStatsDashboard:
|
||||
self._font_semi_bold = fonts.font(FontRole.SEMI_BOLD)
|
||||
self._font_medium = fonts.font(FontRole.MEDIUM)
|
||||
|
||||
def _role(self, font):
|
||||
return FontRole.BOLD if font is self._font_bold else FontRole.SEMI_BOLD if font is self._font_semi_bold else FontRole.MEDIUM
|
||||
|
||||
def _measure(self, font, text, size):
|
||||
return rl.measure_text_ex(font, text, size * self._fonts.profile.font_scale, 0) # noqa: TID251
|
||||
measured = self._fonts.measure(text, self._role(font), size)
|
||||
return rl.Vector2(measured.width, measured.height)
|
||||
|
||||
def _draw_text(self, font, text, position, size, spacing, color):
|
||||
draw = getattr(rl, "_orig_draw_text_ex", rl.draw_text_ex)
|
||||
draw(font, text, position, size * self._fonts.profile.font_scale, spacing, color)
|
||||
self._fonts.draw(text, self._role(font), size, position.x, position.y, color, spacing=spacing)
|
||||
|
||||
@staticmethod
|
||||
def _draw_card(rect: rl.Rectangle, accent: rl.Color | None = None) -> None:
|
||||
|
||||
@@ -10,6 +10,8 @@ import numpy as np
|
||||
from PIL import Image
|
||||
import pyray as rl
|
||||
|
||||
from openpilot.system.ui.lib.multilang import TRANSLATIONS_DIR, multilang, tr
|
||||
|
||||
|
||||
class Profile(StrEnum):
|
||||
LARGE = "large"
|
||||
@@ -108,6 +110,7 @@ class BitmapFonts:
|
||||
self.profile = Profile(profile)
|
||||
self._directory = directory
|
||||
self._fonts: dict[str, rl.Font] = {}
|
||||
self._language_fonts: dict[str, rl.Font] = {}
|
||||
self._measurements: dict[tuple, TextSize] = {}
|
||||
self._vertical_ink: dict[tuple, tuple[float, float]] = {}
|
||||
self._horizontal_ink: dict[tuple, tuple[float, float]] = {}
|
||||
@@ -139,6 +142,33 @@ class BitmapFonts:
|
||||
role = FontRole.FALLBACK
|
||||
return self._fonts[font_filename(self.profile, role)]
|
||||
|
||||
def _text_font(self, text: str, role: FontRole, fallback: bool = False) -> rl.Font:
|
||||
if text.isascii() or role == FontRole.BRAND:
|
||||
return self.font(role, fallback=fallback)
|
||||
language = multilang.language
|
||||
fonts = self._language_fonts
|
||||
if language not in fonts:
|
||||
filename = {"ja": "NotoSansCJKjp-Regular.otf", "ko": "NotoSansCJKkr-Regular.otf",
|
||||
"zh-CHS": "NotoSansCJKsc-Regular.otf", "zh-CHT": "NotoSansCJKtc-Regular.otf",
|
||||
"th": "NotoSansThai-Regular.ttf"}.get(language, "Inter-Regular.ttf")
|
||||
directory = Path(__file__).parents[2] / "selfdrive/assets/fonts"
|
||||
chars = set(map(chr, range(32, 127))) | set(text)
|
||||
chars.update(TRANSLATIONS_DIR.joinpath(f"app_{language}.po").read_text(encoding="utf-8"))
|
||||
points = sorted(map(ord, chars))
|
||||
font = rl.load_font_ex(str(directory / filename), 64, rl.ffi.new("int[]", points), len(points))
|
||||
if font.texture.id in (0, rl.get_font_default().texture.id) or font.glyphCount == 0:
|
||||
raise RuntimeError(f"Unable to load language font {filename}")
|
||||
for previous in fonts.values():
|
||||
rl.unload_font(previous)
|
||||
fonts.clear()
|
||||
self._measurements.clear()
|
||||
self._vertical_ink.clear()
|
||||
self._horizontal_ink.clear()
|
||||
fonts[language] = font
|
||||
rl.gen_texture_mipmaps(font.texture)
|
||||
rl.set_texture_filter(font.texture, rl.TextureFilter.TEXTURE_FILTER_TRILINEAR)
|
||||
return fonts[language]
|
||||
|
||||
def _optical_style(self, role: FontRole, fallback: bool = False) -> tuple[float, float]:
|
||||
if fallback:
|
||||
return 1., 0.
|
||||
@@ -149,7 +179,8 @@ class BitmapFonts:
|
||||
return 1., 0.
|
||||
|
||||
def measure(self, text: str, role: FontRole, size: float, *, spacing: float = 0, fallback: bool = False) -> TextSize:
|
||||
font = self.font(role, fallback=fallback)
|
||||
text = tr(text) if role != FontRole.BRAND else text
|
||||
font = self._text_font(text, role, fallback)
|
||||
spacing = round(spacing, 4)
|
||||
width_scale, weight = self._optical_style(role, fallback)
|
||||
key = font.texture.id, text, size, spacing, width_scale, weight
|
||||
@@ -162,9 +193,10 @@ class BitmapFonts:
|
||||
|
||||
def vertical_ink(self, text: str, role: FontRole, size: float) -> tuple[float, float]:
|
||||
"""Visible glyph top/bottom, independent of the font's padded line box."""
|
||||
text = tr(text) if role != FontRole.BRAND else text
|
||||
key = (text, role, size)
|
||||
if key not in self._vertical_ink:
|
||||
font = self.font(role)
|
||||
font = self._text_font(text, role)
|
||||
glyphs = [rl.get_glyph_index(font, ord(char)) for char in text if not char.isspace()]
|
||||
scale = size * self.profile.font_scale / font.baseSize
|
||||
top = min((font.glyphs[index].offsetY for index in glyphs), default=0)
|
||||
@@ -176,14 +208,15 @@ class BitmapFonts:
|
||||
|
||||
def horizontal_ink(self, text: str, role: FontRole, size: float) -> tuple[float, float]:
|
||||
"""Visible glyph left/right from the draw x, without the font's side bearings."""
|
||||
text = tr(text) if role != FontRole.BRAND else text
|
||||
key = (text, role, size)
|
||||
if key not in self._horizontal_ink:
|
||||
font = self.font(role)
|
||||
font = self._text_font(text, role)
|
||||
width_scale, weight = self._optical_style(role)
|
||||
scale = size * self.profile.font_scale / font.baseSize
|
||||
left = right = None
|
||||
x = 0.
|
||||
columns = self._glyph_columns(role)
|
||||
columns = self._glyph_columns(role) if text.isascii() or role == FontRole.BRAND else {}
|
||||
for char in text:
|
||||
index = rl.get_glyph_index(font, ord(char))
|
||||
glyph, rec = font.glyphs[index], font.recs[index]
|
||||
@@ -224,27 +257,30 @@ class BitmapFonts:
|
||||
|
||||
def draw(self, text: str, role: FontRole, size: float, x: float, y: float, color: rl.Color = rl.WHITE,
|
||||
*, spacing: float = 0, fallback: bool = False) -> None:
|
||||
text = tr(text) if role != FontRole.BRAND else text
|
||||
font = self._text_font(text, role, fallback)
|
||||
draw = getattr(rl, "_orig_draw_text_ex", rl.draw_text_ex)
|
||||
width_scale, weight = self._optical_style(role, fallback)
|
||||
if width_scale == 1. and weight == 0.:
|
||||
draw(self.font(role, fallback=fallback), text, rl.Vector2(x, y), size * self.profile.font_scale, spacing, color)
|
||||
draw(font, text, rl.Vector2(x, y), size * self.profile.font_scale, spacing, color)
|
||||
return
|
||||
rl.rl_push_matrix()
|
||||
try:
|
||||
rl.rl_translatef(x, y, 0)
|
||||
rl.rl_scalef(width_scale, 1., 1.)
|
||||
draw(self.font(role, fallback=fallback), text, rl.Vector2(0, 0), size * self.profile.font_scale, spacing, color)
|
||||
draw(font, text, rl.Vector2(0, 0), size * self.profile.font_scale, spacing, color)
|
||||
if weight:
|
||||
draw(self.font(role, fallback=fallback), text, rl.Vector2(weight / width_scale, 0),
|
||||
draw(font, text, rl.Vector2(weight / width_scale, 0),
|
||||
size * self.profile.font_scale, spacing, color)
|
||||
finally:
|
||||
rl.rl_pop_matrix()
|
||||
|
||||
def close(self) -> None:
|
||||
if rl.is_window_ready() or self._headless_context:
|
||||
for font in self._fonts.values():
|
||||
for font in (*self._fonts.values(), *self._language_fonts.values()):
|
||||
rl.unload_font(font)
|
||||
self._fonts.clear()
|
||||
self._language_fonts.clear()
|
||||
self._vertical_ink.clear()
|
||||
self._horizontal_ink.clear()
|
||||
self._glyph_ink.clear()
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from openpilot.system.ui.lib.multilang import tr
|
||||
|
||||
import math
|
||||
import random
|
||||
from functools import lru_cache
|
||||
@@ -107,6 +109,7 @@ def draw_hud_background(rect: rl.Rectangle, accent: rl.Color, glow: float = 1.0,
|
||||
|
||||
|
||||
def elide_text(fonts, text: str, role: FontRole, size: float, width: float) -> str:
|
||||
text = tr(text)
|
||||
if fonts.measure(text, role, size).width <= width:
|
||||
return text
|
||||
suffix = "..."
|
||||
|
||||
@@ -86,3 +86,55 @@ class TestBitmapFonts(unittest.TestCase):
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
|
||||
class TestLocalizedPresentation(unittest.TestCase):
|
||||
def test_measure_and_draw_use_the_same_translated_text_and_font(self):
|
||||
fonts = object.__new__(BitmapFonts)
|
||||
fonts.profile = Profile.COMPACT
|
||||
fonts._measurements = {}
|
||||
font = SimpleNamespace(texture=SimpleNamespace(id=44))
|
||||
with patch('openpilot.starpilot.ui.presentation.tr', side_effect=lambda text: {'Home': 'ホーム'}.get(text, text)), \
|
||||
patch.object(fonts, '_text_font', return_value=font) as select, \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.measure_text_ex', return_value=SimpleNamespace(x=80, y=24)) as measure, \
|
||||
patch('openpilot.starpilot.ui.presentation.rl._orig_draw_text_ex', create=True) as draw:
|
||||
assert fonts.measure('Home', FontRole.NORMAL, 20).width == 80
|
||||
fonts.draw('Home', FontRole.NORMAL, 20, 10, 20)
|
||||
assert measure.call_args.args[1] == draw.call_args.args[1] == 'ホーム'
|
||||
assert select.call_args.args[:2] == ('ホーム', FontRole.NORMAL)
|
||||
fonts.draw('StarPilot', FontRole.BRAND, 20, 10, 20)
|
||||
assert draw.call_args.args[1] == 'StarPilot'
|
||||
|
||||
def test_native_language_font_uses_bundled_noto_and_releases_previous(self):
|
||||
fonts = object.__new__(BitmapFonts)
|
||||
old = SimpleNamespace(texture=SimpleNamespace(id=22), glyphCount=1)
|
||||
new = SimpleNamespace(texture=SimpleNamespace(id=23), glyphCount=100)
|
||||
fonts._language_fonts = {'vi': old}
|
||||
fonts._measurements = {}
|
||||
fonts._vertical_ink = {}
|
||||
fonts._horizontal_ink = {}
|
||||
with patch('openpilot.starpilot.ui.presentation.multilang') as language, \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.load_font_ex', return_value=new) as load, \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.get_font_default', return_value=SimpleNamespace(texture=SimpleNamespace(id=99))), \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.unload_font') as unload, \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.gen_texture_mipmaps'), \
|
||||
patch('openpilot.starpilot.ui.presentation.rl.set_texture_filter'):
|
||||
language.language = 'ja'
|
||||
assert fonts._text_font('ホーム', FontRole.NORMAL) is new
|
||||
assert load.call_args.args[0].endswith('NotoSansCJKjp-Regular.otf')
|
||||
unload.assert_called_once_with(old)
|
||||
assert fonts._language_fonts == {'ja': new}
|
||||
assert fonts._text_font('保存', FontRole.NORMAL) is new
|
||||
load.assert_called_once()
|
||||
|
||||
def test_home_statistics_use_shared_localized_measurement_and_drawing(self):
|
||||
from unittest.mock import Mock
|
||||
from openpilot.starpilot.ui.home_stats import DriveStatsDashboard
|
||||
fonts = SimpleNamespace(font=Mock(side_effect=[object(), object(), object()]),
|
||||
measure=Mock(return_value=SimpleNamespace(width=80, height=24)), draw=Mock())
|
||||
dashboard = DriveStatsDashboard(fonts, None)
|
||||
measured = dashboard._measure(dashboard._font_bold, 'PERSONAL RECORDS', 20)
|
||||
assert (measured.x, measured.y) == (80, 24)
|
||||
dashboard._draw_text(dashboard._font_bold, 'PERSONAL RECORDS', SimpleNamespace(x=10, y=20), 20, 0, 'color')
|
||||
fonts.measure.assert_called_once_with('PERSONAL RECORDS', FontRole.BOLD, 20)
|
||||
fonts.draw.assert_called_once_with('PERSONAL RECORDS', FontRole.BOLD, 20, 10, 20, 'color', spacing=0)
|
||||
|
||||
@@ -0,0 +1,200 @@
|
||||
"""Shared display labels drawn by native widgets or received by Galaxy at runtime."""
|
||||
|
||||
from openpilot.system.ui.lib.multilang import tr_noop
|
||||
|
||||
|
||||
MESSAGES = (
|
||||
tr_noop("Home"),
|
||||
tr_noop("Driving"),
|
||||
tr_noop("Controls"),
|
||||
tr_noop("Toggles"),
|
||||
tr_noop("Localization"),
|
||||
tr_noop("Language"),
|
||||
tr_noop("Use Kilometers (km/h)"),
|
||||
tr_noop("Right-Hand Drive"),
|
||||
tr_noop("Device display language. Untranslated text uses English. Park before changing language."),
|
||||
tr_noop("Language, units and steering-wheel side for every vehicle."),
|
||||
tr_noop("On"),
|
||||
tr_noop("Off"),
|
||||
tr_noop("Auto"),
|
||||
tr_noop("Stock"),
|
||||
tr_noop("Custom"),
|
||||
tr_noop("Unavailable"),
|
||||
tr_noop("Available"),
|
||||
tr_noop("Invalid saved choice"),
|
||||
tr_noop("Invalid saved value"),
|
||||
tr_noop("Saved choice cannot be read"),
|
||||
tr_noop("Save"),
|
||||
tr_noop("Saved"),
|
||||
tr_noop("Saving"),
|
||||
tr_noop("Save changes"),
|
||||
tr_noop("Could not save"),
|
||||
tr_noop("Discard changes"),
|
||||
tr_noop("Unsaved changes"),
|
||||
tr_noop("Cancel"),
|
||||
tr_noop("Close"),
|
||||
tr_noop("Back"),
|
||||
tr_noop("Next"),
|
||||
tr_noop("Previous"),
|
||||
tr_noop("Continue"),
|
||||
tr_noop("Confirm"),
|
||||
tr_noop("Apply"),
|
||||
tr_noop("Reset"),
|
||||
tr_noop("Reset to defaults"),
|
||||
tr_noop("Restore"),
|
||||
tr_noop("Default"),
|
||||
tr_noop("Delete"),
|
||||
tr_noop("Remove"),
|
||||
tr_noop("Add"),
|
||||
tr_noop("Edit"),
|
||||
tr_noop("Search"),
|
||||
tr_noop("Refresh"),
|
||||
tr_noop("Retry"),
|
||||
tr_noop("Loading"),
|
||||
tr_noop("Loading…"),
|
||||
tr_noop("Opening page…"),
|
||||
tr_noop("This page could not open."),
|
||||
tr_noop("Reload page"),
|
||||
tr_noop("Refresh Galaxy"),
|
||||
tr_noop("Connected"),
|
||||
tr_noop("Disconnected"),
|
||||
tr_noop("Connecting"),
|
||||
tr_noop("Connect"),
|
||||
tr_noop("Disconnect"),
|
||||
tr_noop("Forget"),
|
||||
tr_noop("Pair"),
|
||||
tr_noop("Pairing"),
|
||||
tr_noop("Sign in"),
|
||||
tr_noop("Sign out"),
|
||||
tr_noop("Password"),
|
||||
tr_noop("Device"),
|
||||
tr_noop("Network"),
|
||||
tr_noop("Software"),
|
||||
tr_noop("System"),
|
||||
tr_noop("Settings"),
|
||||
tr_noop("Developer"),
|
||||
tr_noop("Appearance"),
|
||||
tr_noop("Display"),
|
||||
tr_noop("Custom Display Settings"),
|
||||
tr_noop("Sounds & Alerts"),
|
||||
tr_noop("Sounds"),
|
||||
tr_noop("Alerts"),
|
||||
tr_noop("Driving Controls"),
|
||||
tr_noop("Vehicle Settings"),
|
||||
tr_noop("Vehicle"),
|
||||
tr_noop("Wheel Controls"),
|
||||
tr_noop("Driving Model"),
|
||||
tr_noop("Models"),
|
||||
tr_noop("Model Laboratory"),
|
||||
tr_noop("Maps"),
|
||||
tr_noop("Navigation"),
|
||||
tr_noop("Favorites"),
|
||||
tr_noop("History"),
|
||||
tr_noop("Drive History"),
|
||||
tr_noop("Recent drives"),
|
||||
tr_noop("Last drive"),
|
||||
tr_noop("Your driving"),
|
||||
tr_noop("This week"),
|
||||
tr_noop("Personal records"),
|
||||
tr_noop("Vitals"),
|
||||
tr_noop("Storage"),
|
||||
tr_noop("Tools"),
|
||||
tr_noop("Logs"),
|
||||
tr_noop("Recordings"),
|
||||
tr_noop("Replay"),
|
||||
tr_noop("Cameras"),
|
||||
tr_noop("Camera"),
|
||||
tr_noop("Bluetooth"),
|
||||
tr_noop("Offline maps"),
|
||||
tr_noop("Download"),
|
||||
tr_noop("Downloaded"),
|
||||
tr_noop("Installed"),
|
||||
tr_noop("Install"),
|
||||
tr_noop("Update"),
|
||||
tr_noop("Updates"),
|
||||
tr_noop("Check for updates"),
|
||||
tr_noop("Reboot"),
|
||||
tr_noop("Power Off"),
|
||||
tr_noop("Parked Power"),
|
||||
tr_noop("Force Drive State"),
|
||||
tr_noop("Onroad"),
|
||||
tr_noop("Offroad"),
|
||||
tr_noop("Always On Lateral"),
|
||||
tr_noop("Long Planner"),
|
||||
tr_noop("Conditional Driving Modes"),
|
||||
tr_noop("Curve Speed Controller"),
|
||||
tr_noop("Speed Limit Controller"),
|
||||
tr_noop("Lane Centering"),
|
||||
tr_noop("Lane Change"),
|
||||
tr_noop("Lane Change Settings"),
|
||||
tr_noop("Following distance"),
|
||||
tr_noop("Following time"),
|
||||
tr_noop("Traffic Mode"),
|
||||
tr_noop("Standard"),
|
||||
tr_noop("Aggressive"),
|
||||
tr_noop("Relaxed"),
|
||||
tr_noop("Chill"),
|
||||
tr_noop("Experimental"),
|
||||
tr_noop("Personality"),
|
||||
tr_noop("Personalities"),
|
||||
tr_noop("Saved settings"),
|
||||
tr_noop("Backup"),
|
||||
tr_noop("Backups"),
|
||||
tr_noop("Export"),
|
||||
tr_noop("Import"),
|
||||
tr_noop("Play"),
|
||||
tr_noop("Pause"),
|
||||
tr_noop("Stop"),
|
||||
tr_noop("Start"),
|
||||
tr_noop("Front"),
|
||||
tr_noop("Rear"),
|
||||
tr_noop("Left"),
|
||||
tr_noop("Right"),
|
||||
tr_noop("Small"),
|
||||
tr_noop("Big"),
|
||||
tr_noop("None"),
|
||||
tr_noop("Enabled"),
|
||||
tr_noop("Disabled"),
|
||||
tr_noop("Not reported"),
|
||||
tr_noop("Not detected"),
|
||||
tr_noop("Unknown"),
|
||||
tr_noop("Error"),
|
||||
tr_noop("Warning"),
|
||||
tr_noop("Accept"),
|
||||
tr_noop("Reject"),
|
||||
tr_noop("Not now"),
|
||||
tr_noop("Done"),
|
||||
tr_noop("Details"),
|
||||
tr_noop("View"),
|
||||
tr_noop("More"),
|
||||
tr_noop("No drives"),
|
||||
tr_noop("History unavailable"),
|
||||
tr_noop("Loading history"),
|
||||
tr_noop("Date unavailable"),
|
||||
tr_noop("No results"),
|
||||
tr_noop("Search settings"),
|
||||
tr_noop("Take control"),
|
||||
tr_noop("TAKE CONTROL IMMEDIATELY"),
|
||||
tr_noop("LEAD"),
|
||||
tr_noop("CURVE"),
|
||||
tr_noop("STOP LIGHT"),
|
||||
tr_noop("SPEED"),
|
||||
tr_noop("OFF"),
|
||||
tr_noop("PREVIOUS"),
|
||||
tr_noop("RESET"),
|
||||
tr_noop("CONNECT"),
|
||||
tr_noop("PAIR"),
|
||||
tr_noop("VEHICLE"),
|
||||
tr_noop("PERSONAL RECORDS"),
|
||||
tr_noop("REPLAY"),
|
||||
tr_noop("DOWNLOAD"),
|
||||
tr_noop("PAUSE"),
|
||||
tr_noop("STOP"),
|
||||
tr_noop("BIG"),
|
||||
tr_noop("UNKNOWN"),
|
||||
tr_noop("DETAILS"),
|
||||
tr_noop("VIEW"),
|
||||
tr_noop("ALL TIME"),
|
||||
tr_noop("PAST WEEK"),
|
||||
tr_noop("DISTANCE THIS WEEK"),
|
||||
)
|
||||
@@ -847,6 +847,7 @@ class GuiApplication:
|
||||
rl._orig_draw_text_ex = rl.draw_text_ex
|
||||
|
||||
def _draw_text_ex_scaled(font, text, position, font_size, spacing, tint):
|
||||
text = multilang.tr(text)
|
||||
font = font_fallback(font)
|
||||
return rl._orig_draw_text_ex(font, text, position, font_size * FONT_SCALE, spacing, tint)
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import pyray as rl
|
||||
from openpilot.system.ui.lib.application import FONT_SCALE, font_fallback
|
||||
from openpilot.system.ui.lib.multilang import tr
|
||||
from openpilot.system.ui.lib.lru_cache import LRUCache
|
||||
|
||||
_CACHE_MAXSIZE = 1024
|
||||
@@ -8,6 +9,7 @@ _cache: LRUCache[int, rl.Vector2] = LRUCache(_CACHE_MAXSIZE)
|
||||
|
||||
def measure_text_cached(font: rl.Font, text: str, font_size: int, spacing: float = 0) -> rl.Vector2:
|
||||
"""Caches text measurements to avoid redundant calculations."""
|
||||
text = tr(text)
|
||||
font = font_fallback(font)
|
||||
spacing = round(spacing, 4)
|
||||
key = hash((font.texture.id, text, font_size, spacing))
|
||||
|
||||
Reference in New Issue
Block a user