mirror of https://github.com/commaai/openpilot.git
UI: Internationalization support (#21212)
* rough multiple language demo
* more wrappings
* stash
* add some bad translations
* updates
* map from french to spanish still has same problem of needing to call setText on everything
* add files
* restart UI
* use return code
* relative path
* more translations
* don't loop restart
* Toggle and prime translations
* try on device
* try QComboBox with readable style
* stash
* not yet scrollable
* stash
* dynamic translations (doesn't work for dynamic widget strings yet)
* clean up multiple option selector
* store languages in json
* try transparent
* Try transparent popup
* see how this looks
* tweaks
* clean up
* update names
* Add Chinese (Simplified) translations
* Do missing French translations
* unit tests caught that :)
* fix test
* fix other test (on PC)
* add entries to dialog to test
* add cancel button, clean up a bit
* just chinese
* some clean up
* use quotes
* clean up
* Just quit, set timeout to 0
* half a second
* use exitcode
* don't print if it's expected
* this comment is outdated
* update translations
* Update translations
* re-order input classes
* Update line numbers
* use enabled property for button style
* Get rid of ListWidget
* Update line numbers
* Log failed to load language
* Log failed to load language
* Move to utils and fix english logging
extra line
* Update translations
* spacing
* looks a bit better
* try this instead of exitcode
fixes
fix
* only one function
* comment
* Update line numbers
* fixup some japanese translations
* clean up multi option dialog
* Update line numbers
old-commit-hash: 949de4d2b6
This commit is contained in:
parent
c9dc7a9458
commit
23de7b166e
|
@ -129,6 +129,7 @@ std::unordered_map<std::string, uint32_t> keys = {
|
|||
{"IsUpdateAvailable", CLEAR_ON_MANAGER_START},
|
||||
{"JoystickDebugMode", CLEAR_ON_MANAGER_START | CLEAR_ON_IGNITION_OFF},
|
||||
{"LaikadEphemeris", PERSISTENT | DONT_LOG},
|
||||
{"LanguageSetting", PERSISTENT},
|
||||
{"LastAthenaPingTime", CLEAR_ON_MANAGER_START},
|
||||
{"LastGPSPosition", PERSISTENT},
|
||||
{"LastManagerExitReason", CLEAR_ON_MANAGER_START},
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
#include "common/watchdog.h"
|
||||
#include "common/timing.h"
|
||||
#include "common/util.h"
|
||||
|
||||
const std::string watchdog_fn_prefix = "/dev/shm/wd_"; // + <pid>
|
||||
|
||||
bool watchdog_kick() {
|
||||
bool watchdog_kick(uint64_t ts) {
|
||||
static std::string fn = watchdog_fn_prefix + std::to_string(getpid());
|
||||
|
||||
uint64_t ts = nanos_since_boot();
|
||||
return util::write_file(fn.c_str(), &ts, sizeof(ts), O_WRONLY | O_CREAT) > 0;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#pragma once
|
||||
|
||||
bool watchdog_kick();
|
||||
#include <cstdint>
|
||||
|
||||
bool watchdog_kick(uint64_t ts);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <sys/resource.h>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
|
||||
#include "system/hardware/hw.h"
|
||||
#include "selfdrive/ui/qt/qt_window.h"
|
||||
|
@ -13,7 +14,15 @@ int main(int argc, char *argv[]) {
|
|||
qInstallMessageHandler(swagLogMessageHandler);
|
||||
initApp(argc, argv);
|
||||
|
||||
QTranslator translator;
|
||||
QString translation_file = QString::fromStdString(Params().get("LanguageSetting"));
|
||||
if (!translator.load(translation_file, "translations") && translation_file.length()) {
|
||||
qCritical() << "Failed to load translation file:" << translation_file;
|
||||
}
|
||||
|
||||
QApplication a(argc, argv);
|
||||
a.installTranslator(&translator);
|
||||
|
||||
MainWindow w;
|
||||
setMainWindow(&w);
|
||||
a.installEventFilter(&w);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#endif
|
||||
|
||||
#include "common/params.h"
|
||||
#include "common/watchdog.h"
|
||||
#include "common/util.h"
|
||||
#include "system/hardware/hw.h"
|
||||
#include "selfdrive/ui/qt/widgets/controls.h"
|
||||
|
@ -133,6 +134,19 @@ DevicePanel::DevicePanel(SettingsWindow *parent) : ListWidget(parent) {
|
|||
addItem(regulatoryBtn);
|
||||
}
|
||||
|
||||
auto translateBtn = new ButtonControl(tr("Change Language"), tr("CHANGE"), "");
|
||||
connect(translateBtn, &ButtonControl::clicked, [=]() {
|
||||
QMap<QString, QString> langs = getSupportedLanguages();
|
||||
QString selection = MultiOptionDialog::getSelection(tr("Select a language"), langs.keys(), this);
|
||||
if (!selection.isEmpty()) {
|
||||
// put language setting, exit Qt UI, and trigger fast restart
|
||||
Params().put("LanguageSetting", langs[selection].toStdString());
|
||||
qApp->exit(18);
|
||||
watchdog_kick(0);
|
||||
}
|
||||
});
|
||||
addItem(translateBtn);
|
||||
|
||||
QObject::connect(uiState(), &UIState::offroadTransition, [=](bool offroad) {
|
||||
for (auto btn : findChildren<ButtonControl *>()) {
|
||||
btn->setEnabled(offroad);
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#include "selfdrive/ui/qt/util.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QFile>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QLayoutItem>
|
||||
#include <QStyleOption>
|
||||
#include <QPainterPath>
|
||||
|
@ -36,6 +39,19 @@ std::optional<QString> getDongleId() {
|
|||
}
|
||||
}
|
||||
|
||||
QMap<QString, QString> getSupportedLanguages() {
|
||||
QFile f("translations/languages.json");
|
||||
f.open(QIODevice::ReadOnly | QIODevice::Text);
|
||||
QString val = f.readAll();
|
||||
|
||||
QJsonObject obj = QJsonDocument::fromJson(val.toUtf8()).object();
|
||||
QMap<QString, QString> map;
|
||||
for (auto key : obj.keys()) {
|
||||
map[key] = obj[key].toString();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
void configFont(QPainter &p, const QString &family, int size, const QString &style) {
|
||||
QFont f(family);
|
||||
f.setPixelSize(size);
|
||||
|
|
|
@ -14,6 +14,7 @@ QString getBrand();
|
|||
QString getBrandVersion();
|
||||
QString getUserAgent();
|
||||
std::optional<QString> getDongleId();
|
||||
QMap<QString, QString> getSupportedLanguages();
|
||||
void configFont(QPainter &p, const QString &family, int size, const QString &style);
|
||||
void clearLayout(QLayout* layout);
|
||||
void setQtSurfaceFormat();
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "selfdrive/ui/qt/widgets/input.h"
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QButtonGroup>
|
||||
|
||||
#include "system/hardware/hw.h"
|
||||
#include "selfdrive/ui/qt/util.h"
|
||||
|
@ -257,3 +258,88 @@ bool RichTextDialog::alert(const QString &prompt_text, QWidget *parent) {
|
|||
auto d = RichTextDialog(prompt_text, tr("Ok"), parent);
|
||||
return d.exec();
|
||||
}
|
||||
|
||||
// MultiOptionDialog
|
||||
|
||||
MultiOptionDialog::MultiOptionDialog(const QString &prompt_text, QStringList l, QWidget *parent) : QDialogBase(parent) {
|
||||
QFrame *container = new QFrame(this);
|
||||
container->setStyleSheet(R"(
|
||||
QFrame { background-color: #1B1B1B; }
|
||||
#confirm_btn[enabled="false"] { background-color: #2B2B2B; }
|
||||
#confirm_btn:enabled { background-color: #465BEA; }
|
||||
#confirm_btn:enabled:pressed { background-color: #3049F4; }
|
||||
)");
|
||||
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(container);
|
||||
main_layout->setContentsMargins(55, 50, 55, 50);
|
||||
|
||||
QLabel *title = new QLabel(prompt_text, this);
|
||||
title->setStyleSheet("font-size: 70px; font-weight: 500;");
|
||||
main_layout->addWidget(title, 0, Qt::AlignLeft | Qt::AlignTop);
|
||||
main_layout->addSpacing(25);
|
||||
|
||||
QWidget *listWidget = new QWidget(this);
|
||||
QVBoxLayout *listLayout = new QVBoxLayout(listWidget);
|
||||
listLayout->setSpacing(20);
|
||||
listWidget->setStyleSheet(R"(
|
||||
QPushButton {
|
||||
height: 135;
|
||||
padding: 0px 50px;
|
||||
text-align: left;
|
||||
font-size: 55px;
|
||||
font-weight: 300;
|
||||
border-radius: 10px;
|
||||
background-color: #4F4F4F;
|
||||
}
|
||||
QPushButton:checked { background-color: #465BEA; }
|
||||
)");
|
||||
|
||||
QButtonGroup *group = new QButtonGroup(listWidget);
|
||||
group->setExclusive(true);
|
||||
|
||||
QPushButton *confirm_btn = new QPushButton(tr("Select"));
|
||||
confirm_btn->setObjectName("confirm_btn");
|
||||
confirm_btn->setEnabled(false);
|
||||
|
||||
for (QString &s : l) {
|
||||
QPushButton *selectionLabel = new QPushButton(s);
|
||||
selectionLabel->setCheckable(true);
|
||||
QObject::connect(selectionLabel, &QPushButton::toggled, [=](bool checked) {
|
||||
if (checked) selection = s;
|
||||
confirm_btn->setEnabled(true);
|
||||
});
|
||||
|
||||
group->addButton(selectionLabel);
|
||||
listLayout->addWidget(selectionLabel);
|
||||
}
|
||||
|
||||
ScrollView *scroll_view = new ScrollView(listWidget, this);
|
||||
scroll_view->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||
|
||||
main_layout->addWidget(scroll_view);
|
||||
main_layout->addStretch(1);
|
||||
main_layout->addSpacing(35);
|
||||
|
||||
// cancel + confirm buttons
|
||||
QHBoxLayout *blayout = new QHBoxLayout;
|
||||
main_layout->addLayout(blayout);
|
||||
blayout->setSpacing(50);
|
||||
|
||||
QPushButton *cancel_btn = new QPushButton(tr("Cancel"));
|
||||
QObject::connect(cancel_btn, &QPushButton::clicked, this, &ConfirmationDialog::reject);
|
||||
QObject::connect(confirm_btn, &QPushButton::clicked, this, &ConfirmationDialog::accept);
|
||||
blayout->addWidget(cancel_btn);
|
||||
blayout->addWidget(confirm_btn);
|
||||
|
||||
QVBoxLayout *outer_layout = new QVBoxLayout(this);
|
||||
outer_layout->setContentsMargins(50, 50, 50, 50);
|
||||
outer_layout->addWidget(container);
|
||||
}
|
||||
|
||||
QString MultiOptionDialog::getSelection(const QString &prompt_text, const QStringList l, QWidget *parent) {
|
||||
MultiOptionDialog d = MultiOptionDialog(prompt_text, l, parent);
|
||||
if (d.exec()) {
|
||||
return d.selection;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
|
|
@ -68,3 +68,12 @@ public:
|
|||
explicit RichTextDialog(const QString &prompt_text, const QString &btn_text, QWidget* parent);
|
||||
static bool alert(const QString &prompt_text, QWidget *parent);
|
||||
};
|
||||
|
||||
class MultiOptionDialog : public QDialogBase {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MultiOptionDialog(const QString &prompt_text, const QStringList l, QWidget *parent);
|
||||
static QString getSelection(const QString &prompt_text, const QStringList l, QWidget *parent);
|
||||
QString selection;
|
||||
};
|
||||
|
|
|
@ -41,6 +41,7 @@ void checkWidgetTrWrap(MainWindow &w) {
|
|||
|
||||
// Tests all strings in the UI are wrapped with tr()
|
||||
TEST_CASE("UI: test all strings wrapped") {
|
||||
Params().remove("LanguageSetting");
|
||||
Params().remove("HardwareSerial");
|
||||
Params().remove("DongleId");
|
||||
qputenv("TICI", "1");
|
||||
|
|
|
@ -528,12 +528,12 @@ location set</source>
|
|||
<message>
|
||||
<location filename="../qt/widgets/prime.cc" line="123"/>
|
||||
<source>✓ SUBSCRIBED</source>
|
||||
<translation>✓ 購読</translation>
|
||||
<translation>✓ 購読しました</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/prime.cc" line="129"/>
|
||||
<source>comma prime</source>
|
||||
<translation>コンマプライム</translation>
|
||||
<translation>comma prime</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/prime.cc" line="135"/>
|
||||
|
@ -543,7 +543,7 @@ location set</source>
|
|||
<message>
|
||||
<location filename="../qt/widgets/prime.cc" line="148"/>
|
||||
<source>COMMA POINTS</source>
|
||||
<translation>コンマポイント</translation>
|
||||
<translation>COMMA POINTS</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:17e593ed333ec26105a924caa274616318933560dbf30c40ec8e734b4ecf2e6c
|
||||
size 19159
|
||||
oid sha256:194b46eb36b6b4c98d9d0a6db7bf926099dbb8d72dcb1d50566c4b26cf540c8d
|
||||
size 19449
|
||||
|
|
|
@ -76,13 +76,13 @@
|
|||
<context>
|
||||
<name>ConfirmationDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="220"/>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="221"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Ok</source>
|
||||
<translation>확인</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Cancel</source>
|
||||
<translation>취소</translation>
|
||||
</message>
|
||||
|
@ -108,149 +108,152 @@
|
|||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>Dongle ID</source>
|
||||
<translation>Dongle ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>N/A</source>
|
||||
<translation>N/A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="100"/>
|
||||
<source>Serial</source>
|
||||
<translation>Serial</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>Driver Camera</source>
|
||||
<translation>운전자 카메라</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>PREVIEW</source>
|
||||
<translation>미리보기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="105"/>
|
||||
<source>Preview the driver facing camera to help optimize device mounting position for best driver monitoring experience. (vehicle must be off)</source>
|
||||
<translation>운전자 카메라를 미리 보면서 최적의 운전자 모니터링 경험을 위해 기기 장착 위치를 최적화할수 있습니다. (차량은 반드시 닫아야 합니다)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>Reset Calibration</source>
|
||||
<translation>캘리브레이션 재설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>RESET</source>
|
||||
<translation>재설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="111"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="112"/>
|
||||
<source>Are you sure you want to reset calibration?</source>
|
||||
<translation>캘리브레이션을 재설정하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review Training Guide</source>
|
||||
<translation>트레이닝 가이드 다시보기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>REVIEW</source>
|
||||
<translation>다시보기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review the rules, features, and limitations of openpilot</source>
|
||||
<translation>openpilot의 규칙, 기능, 제한 다시보기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="120"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="121"/>
|
||||
<source>Are you sure you want to review the training guide?</source>
|
||||
<translation>트레이닝 가이드를 다시보시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>Regulatory</source>
|
||||
<translation>규제</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>VIEW</source>
|
||||
<translation>보기</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>Change Language</source>
|
||||
<translation type="vanished">언어변경</translation>
|
||||
<translation>언어변경</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>CHANGE</source>
|
||||
<translation type="vanished">변경</translation>
|
||||
<translation>변경</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="140"/>
|
||||
<source>Select a language</source>
|
||||
<translation type="vanished">언어선택</translation>
|
||||
<translation>언어선택</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="146"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="160"/>
|
||||
<source>Reboot</source>
|
||||
<translation>재부팅</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="151"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="165"/>
|
||||
<source>Power Off</source>
|
||||
<translation>전원 종료</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="171"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="185"/>
|
||||
<source>openpilot requires the device to be mounted within 4° left or right and within 5° up or 8° down. openpilot is continuously calibrating, resetting is rarely required.</source>
|
||||
<translation>openpilot은 장치를 왼쪽 또는 오른쪽 4° 이내, 위쪽 5° 또는 아래쪽 8° 이내로 설치해야 합니다. openpilot은 지속적으로 보정되므로 리셋이 거의 필요하지 않습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="182"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="196"/>
|
||||
<source> Your device is pointed %1° %2 and %3° %4.</source>
|
||||
<translation> 사용자의 기기가 %1° %2 및 %3° %4를 가리키고 있습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>down</source>
|
||||
<translation>아래</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>up</source>
|
||||
<translation>위</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>left</source>
|
||||
<translation>왼쪽</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>right</source>
|
||||
<translation>오른쪽</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="195"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="209"/>
|
||||
<source>Are you sure you want to reboot?</source>
|
||||
<translation>재부팅 하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="202"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="216"/>
|
||||
<source>Disengage to Reboot</source>
|
||||
<translation>재부팅 하려면 해제하세요</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="208"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<source>Are you sure you want to power off?</source>
|
||||
<translation>전원을 종료하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="215"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="229"/>
|
||||
<source>Disengage to Power Off</source>
|
||||
<translation>전원을 종료하려면 해제하세요</translation>
|
||||
</message>
|
||||
|
@ -299,17 +302,17 @@
|
|||
<context>
|
||||
<name>InputDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="70"/>
|
||||
<location filename="../qt/widgets/input.cc" line="71"/>
|
||||
<source>Cancel</source>
|
||||
<translation>취소</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source>Need at least </source>
|
||||
<translation>최소 필요 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source> characters!</source>
|
||||
<translation> 문자!</translation>
|
||||
</message>
|
||||
|
@ -389,12 +392,14 @@ location set</source>
|
|||
<context>
|
||||
<name>MultiOptionDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="300"/>
|
||||
<source>Select</source>
|
||||
<translation type="vanished">선택</translation>
|
||||
<translation>선택</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="328"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="vanished">취소</translation>
|
||||
<translation>취소</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -564,27 +569,27 @@ location set</source>
|
|||
<translation>종료</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>dashcam</source>
|
||||
<translation>dashcam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>openpilot</source>
|
||||
<translation>openpilot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="66"/>
|
||||
<location filename="../qt/util.cc" line="82"/>
|
||||
<source>%1 minute%2 ago</source>
|
||||
<translation>%1 분%2 전</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="69"/>
|
||||
<location filename="../qt/util.cc" line="85"/>
|
||||
<source>%1 hour%2 ago</source>
|
||||
<translation>%1 시간%2 전</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="72"/>
|
||||
<location filename="../qt/util.cc" line="88"/>
|
||||
<source>%1 day%2 ago</source>
|
||||
<translation>%1 일%2 전</translation>
|
||||
</message>
|
||||
|
@ -640,7 +645,7 @@ location set</source>
|
|||
<context>
|
||||
<name>RichTextDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="257"/>
|
||||
<location filename="../qt/widgets/input.cc" line="258"/>
|
||||
<source>Ok</source>
|
||||
<translation>확인</translation>
|
||||
</message>
|
||||
|
@ -648,33 +653,33 @@ location set</source>
|
|||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="300"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="314"/>
|
||||
<source>×</source>
|
||||
<translation>×</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="326"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="340"/>
|
||||
<source>Device</source>
|
||||
<translation>장치</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="327"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="366"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="341"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="380"/>
|
||||
<source>Network</source>
|
||||
<translation>네트워크</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="328"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="342"/>
|
||||
<source>Toggles</source>
|
||||
<translation>토글</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="329"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="343"/>
|
||||
<source>Software</source>
|
||||
<translation>소프트웨어</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="334"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="348"/>
|
||||
<source>Navigation</source>
|
||||
<translation>네비게이션</translation>
|
||||
</message>
|
||||
|
@ -913,68 +918,68 @@ location set</source>
|
|||
<context>
|
||||
<name>SoftwarePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="220"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="234"/>
|
||||
<source>Git Branch</source>
|
||||
<translation>Git 브렌치</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="221"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="235"/>
|
||||
<source>Git Commit</source>
|
||||
<translation>Git 커밋</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="236"/>
|
||||
<source>OS Version</source>
|
||||
<translation>OS 버전</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="223"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<source>Version</source>
|
||||
<translation>버전</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>Last Update Check</source>
|
||||
<translation>최신 업데이트 검사</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>The last time openpilot successfully checked for an update. The updater only runs while the car is off.</source>
|
||||
<translation>이전에 openpilot에서 업데이트를 성공적으로 확인한 시간입니다. 업데이트 프로그램은 차량 연결이 해제되었을때만 작동합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="225"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<source>Check for Update</source>
|
||||
<translation>업데이트 확인</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="230"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="244"/>
|
||||
<source>CHECKING</source>
|
||||
<translation>검사중</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>Uninstall </source>
|
||||
<translation>삭제 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>UNINSTALL</source>
|
||||
<translation>삭제</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<source>Are you sure you want to uninstall?</source>
|
||||
<translation>삭제하시겠습니까?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="267"/>
|
||||
<source>failed to fetch update</source>
|
||||
<translation>업데이트를 가져올수없습니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="254"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="275"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="268"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="289"/>
|
||||
<source>CHECK</source>
|
||||
<translation>확인</translation>
|
||||
</message>
|
||||
|
@ -1062,82 +1067,82 @@ location set</source>
|
|||
<context>
|
||||
<name>TogglesPanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="32"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<source>Enable openpilot</source>
|
||||
<translation>openpilot 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="34"/>
|
||||
<source>Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off.</source>
|
||||
<translation>어댑티브 크루즈 컨트롤 및 차선 유지 운전자 보조를 위해 openpilot 시스템을 사용하십시오. 이 기능을 사용하려면 항상 주의를 기울여야 합니다. 이 설정을 변경하면 차량 전원이 꺼질 때 적용됩니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="38"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<source>Enable Lane Departure Warnings</source>
|
||||
<translation>차선 이탈 경고 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="40"/>
|
||||
<source>Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h).</source>
|
||||
<translation>차량이 50km/h(31mph) 이상의 속도로 주행하는 동안 방향 지시등이 활성화되지 않은 상태에서 감지된 차선 위를 주행할 경우 차선이탈 경고를 사용합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="44"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<source>Enable Right-Hand Drive</source>
|
||||
<translation>우측핸들 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="46"/>
|
||||
<source>Allow openpilot to obey left-hand traffic conventions and perform driver monitoring on right driver seat.</source>
|
||||
<translation>openpilot이 좌측 교통 규칙을 준수하고 우측 운전석에서 운전자 모니터링을 수행합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="50"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<source>Use Metric System</source>
|
||||
<translation>미터법 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="52"/>
|
||||
<source>Display speed in km/h instead of mph.</source>
|
||||
<translation>mph가 아닌 km/h로 속도 표시.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="56"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<source>Record and Upload Driver Camera</source>
|
||||
<translation>운전자 카메라 기록 및 업로드</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="58"/>
|
||||
<source>Upload data from the driver facing camera and help improve the driver monitoring algorithm.</source>
|
||||
<translation>운전자 카메라에서 데이터를 업로드하고 운전자 모니터링 알고리즘을 개선합니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="62"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<source>Disengage On Accelerator Pedal</source>
|
||||
<translation>가속페달 조작시 해제</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="64"/>
|
||||
<source>When enabled, pressing the accelerator pedal will disengage openpilot.</source>
|
||||
<translation>활성화된 경우 가속 페달을 누르면 openpilot이 해제됩니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="69"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<source>Show ETA in 24h format</source>
|
||||
<translation>24시간 형식으로 ETA 표시</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="71"/>
|
||||
<source>Use 24h format instead of am/pm</source>
|
||||
<translation>오전/오후 대신 24시간 형식 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="82"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<source>openpilot Longitudinal Control</source>
|
||||
<translation>openpilot Longitudinal Control</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="84"/>
|
||||
<source>openpilot will disable the car's radar and will take over control of gas and brakes. Warning: this disables AEB!</source>
|
||||
<translation>openpilot은 차량'의 레이더를 무력화시키고 가속페달과 브레이크의 제어를 인계받을 것이다. 경고: AEB를 비활성화합니다!</translation>
|
||||
</message>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df73115bb4badb41c4b5e4ec40701df8e09f6efd4f7028fc940f0eb07a00e20c
|
||||
size 17629
|
||||
oid sha256:ef08cf58d66497a054c8bf978aebeffa3bb74772b80cfa07cfcbc49e2b111e17
|
||||
size 17919
|
||||
|
|
|
@ -76,13 +76,13 @@
|
|||
<context>
|
||||
<name>ConfirmationDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="220"/>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="221"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Ok</source>
|
||||
<translation>好的</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
|
@ -108,149 +108,152 @@
|
|||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>Dongle ID</source>
|
||||
<translation>加密狗 ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>N/A</source>
|
||||
<translation>不适用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="100"/>
|
||||
<source>Serial</source>
|
||||
<translation>串行</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>Driver Camera</source>
|
||||
<translation>司机摄像头</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>PREVIEW</source>
|
||||
<translation>预习</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="105"/>
|
||||
<source>Preview the driver facing camera to help optimize device mounting position for best driver monitoring experience. (vehicle must be off)</source>
|
||||
<translation>预览面向驾驶员的摄像头,以帮助优化设备安装位置以获得最佳驾驶员监控体验。 (车辆必须关闭)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>Reset Calibration</source>
|
||||
<translation>重置校准</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>RESET</source>
|
||||
<translation>重置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="111"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="112"/>
|
||||
<source>Are you sure you want to reset calibration?</source>
|
||||
<translation>您确定要重置校准吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review Training Guide</source>
|
||||
<translation>查看培训指南</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>REVIEW</source>
|
||||
<translation>重新查看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review the rules, features, and limitations of openpilot</source>
|
||||
<translation>查看 openpilot 的规则、功能和限制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="120"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="121"/>
|
||||
<source>Are you sure you want to review the training guide?</source>
|
||||
<translation>您确定要查看培训指南吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>Regulatory</source>
|
||||
<translation>监管</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>VIEW</source>
|
||||
<translation>查看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>Change Language</source>
|
||||
<translation type="vanished">切换语言</translation>
|
||||
<translation>切换语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>CHANGE</source>
|
||||
<translation type="vanished">切换</translation>
|
||||
<translation>切换</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="140"/>
|
||||
<source>Select a language</source>
|
||||
<translation type="vanished">选择语言</translation>
|
||||
<translation>选择语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="146"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="160"/>
|
||||
<source>Reboot</source>
|
||||
<translation>重启</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="151"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="165"/>
|
||||
<source>Power Off</source>
|
||||
<translation>关机</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="171"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="185"/>
|
||||
<source>openpilot requires the device to be mounted within 4° left or right and within 5° up or 8° down. openpilot is continuously calibrating, resetting is rarely required.</source>
|
||||
<translation>openpilot 要求设备安装在左或右 4° 以内,上 5° 或下 8° 以内。 openpilot 会持续校准,很少需要重置。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="182"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="196"/>
|
||||
<source> Your device is pointed %1° %2 and %3° %4.</source>
|
||||
<translation> 您的设备指向 %1° %2 和 %3° %4。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>down</source>
|
||||
<translation>下</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>up</source>
|
||||
<translation>向上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>left</source>
|
||||
<translation>向左</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>right</source>
|
||||
<translation>向右</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="195"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="209"/>
|
||||
<source>Are you sure you want to reboot?</source>
|
||||
<translation>您确定要重新启动吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="202"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="216"/>
|
||||
<source>Disengage to Reboot</source>
|
||||
<translation>脱离以重新启动</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="208"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<source>Are you sure you want to power off?</source>
|
||||
<translation>您确定要关闭电源吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="215"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="229"/>
|
||||
<source>Disengage to Power Off</source>
|
||||
<translation>脱离以关闭电源</translation>
|
||||
</message>
|
||||
|
@ -299,17 +302,17 @@
|
|||
<context>
|
||||
<name>InputDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="70"/>
|
||||
<location filename="../qt/widgets/input.cc" line="71"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source>Need at least </source>
|
||||
<translation>需要至少 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source> characters!</source>
|
||||
<translation> 字符!</translation>
|
||||
</message>
|
||||
|
@ -389,12 +392,14 @@ location set</source>
|
|||
<context>
|
||||
<name>MultiOptionDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="300"/>
|
||||
<source>Select</source>
|
||||
<translation type="vanished">选择</translation>
|
||||
<translation>选择</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="328"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="vanished">取消</translation>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -564,27 +569,27 @@ location set</source>
|
|||
<translation>退出</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>dashcam</source>
|
||||
<translation>行车记录器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>openpilot</source>
|
||||
<translation>openpilot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="66"/>
|
||||
<location filename="../qt/util.cc" line="82"/>
|
||||
<source>%1 minute%2 ago</source>
|
||||
<translation>%1 分钟%2 前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="69"/>
|
||||
<location filename="../qt/util.cc" line="85"/>
|
||||
<source>%1 hour%2 ago</source>
|
||||
<translation>%1 小时%2 前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="72"/>
|
||||
<location filename="../qt/util.cc" line="88"/>
|
||||
<source>%1 day%2 ago</source>
|
||||
<translation>%1 天%2 前</translation>
|
||||
</message>
|
||||
|
@ -640,7 +645,7 @@ location set</source>
|
|||
<context>
|
||||
<name>RichTextDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="257"/>
|
||||
<location filename="../qt/widgets/input.cc" line="258"/>
|
||||
<source>Ok</source>
|
||||
<translation>好的</translation>
|
||||
</message>
|
||||
|
@ -648,33 +653,33 @@ location set</source>
|
|||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="300"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="314"/>
|
||||
<source>×</source>
|
||||
<translation>×</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="326"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="340"/>
|
||||
<source>Device</source>
|
||||
<translation>设备</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="327"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="366"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="341"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="380"/>
|
||||
<source>Network</source>
|
||||
<translation>网络</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="328"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="342"/>
|
||||
<source>Toggles</source>
|
||||
<translation>切换</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="329"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="343"/>
|
||||
<source>Software</source>
|
||||
<translation>软件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="334"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="348"/>
|
||||
<source>Navigation</source>
|
||||
<translation>导航</translation>
|
||||
</message>
|
||||
|
@ -913,68 +918,68 @@ location set</source>
|
|||
<context>
|
||||
<name>SoftwarePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="220"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="234"/>
|
||||
<source>Git Branch</source>
|
||||
<translation>Git 分支</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="221"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="235"/>
|
||||
<source>Git Commit</source>
|
||||
<translation>Git 提交</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="236"/>
|
||||
<source>OS Version</source>
|
||||
<translation>操作系统版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="223"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<source>Version</source>
|
||||
<translation>版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>Last Update Check</source>
|
||||
<translation>最后更新检查</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>The last time openpilot successfully checked for an update. The updater only runs while the car is off.</source>
|
||||
<translation>上次 openpilot 成功检查更新的时间。 更新程序仅在汽车关闭时运行。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="225"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<source>Check for Update</source>
|
||||
<translation>检查更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="230"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="244"/>
|
||||
<source>CHECKING</source>
|
||||
<translation>正在检查</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>Uninstall </source>
|
||||
<translation>卸载 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>UNINSTALL</source>
|
||||
<translation>卸载</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<source>Are you sure you want to uninstall?</source>
|
||||
<translation>您确定要卸载吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="267"/>
|
||||
<source>failed to fetch update</source>
|
||||
<translation>未能获取更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="254"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="275"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="268"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="289"/>
|
||||
<source>CHECK</source>
|
||||
<translation>查看</translation>
|
||||
</message>
|
||||
|
@ -1062,82 +1067,82 @@ location set</source>
|
|||
<context>
|
||||
<name>TogglesPanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="32"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<source>Enable openpilot</source>
|
||||
<translation>启用 openpilot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="34"/>
|
||||
<source>Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off.</source>
|
||||
<translation>使用 openpilot 系统进行自适应巡航控制和车道保持驾驶员辅助。 任何时候都需要您注意使用此功能。 更改此设置在汽车断电时生效。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="38"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<source>Enable Lane Departure Warnings</source>
|
||||
<translation>启用车道偏离警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="40"/>
|
||||
<source>Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h).</source>
|
||||
<translation>当您的车辆在以超过 31 英里/小时(50 公里/小时)的速度行驶时在检测到的车道线上漂移而没有激活转向信号时,接收提醒以返回车道。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="44"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<source>Enable Right-Hand Drive</source>
|
||||
<translation>启用右舵模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="46"/>
|
||||
<source>Allow openpilot to obey left-hand traffic conventions and perform driver monitoring on right driver seat.</source>
|
||||
<translation>允许 openpilot 遵守左侧交通惯例并在右侧驾驶座上执行驾驶员监控。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="50"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<source>Use Metric System</source>
|
||||
<translation>使用公制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="52"/>
|
||||
<source>Display speed in km/h instead of mph.</source>
|
||||
<translation>以公里/小时而不是英里/小时显示速度。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="56"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<source>Record and Upload Driver Camera</source>
|
||||
<translation>记录和上传司机摄像头</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="58"/>
|
||||
<source>Upload data from the driver facing camera and help improve the driver monitoring algorithm.</source>
|
||||
<translation>从面向驾驶员的摄像头上传数据,帮助改进驾驶员监控算法。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="62"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<source>Disengage On Accelerator Pedal</source>
|
||||
<translation>踩油门解除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="64"/>
|
||||
<source>When enabled, pressing the accelerator pedal will disengage openpilot.</source>
|
||||
<translation>启用后,踩下油门踏板将解除 openpilot。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="69"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<source>Show ETA in 24h format</source>
|
||||
<translation>以 24 小时格式显示 ETA</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="71"/>
|
||||
<source>Use 24h format instead of am/pm</source>
|
||||
<translation>使用 24 小时制代替上午/下午</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="82"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<source>openpilot Longitudinal Control</source>
|
||||
<translation>openpilot 纵向控制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="84"/>
|
||||
<source>openpilot will disable the car's radar and will take over control of gas and brakes. Warning: this disables AEB!</source>
|
||||
<translation>openpilot 将禁用汽车的雷达并接管油门和刹车的控制。 警告:这会禁用 AEB!</translation>
|
||||
</message>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f08c65839c552bab3f835d3384a1374158cb53e988bdc516b5e9d9a2da0e2715
|
||||
size 17741
|
||||
oid sha256:a8a04d85bc163299f9f79b45e5e9b1d44ade7926c9a254d57b1edd4372f51948
|
||||
size 18031
|
||||
|
|
|
@ -76,13 +76,13 @@
|
|||
<context>
|
||||
<name>ConfirmationDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="220"/>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="221"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Ok</source>
|
||||
<translation>確定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="225"/>
|
||||
<location filename="../qt/widgets/input.cc" line="226"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
|
@ -108,149 +108,152 @@
|
|||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>Dongle ID</source>
|
||||
<translation>Dongle ID</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="98"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<source>N/A</source>
|
||||
<translation>無法使用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="99"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="100"/>
|
||||
<source>Serial</source>
|
||||
<translation>序號</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>Driver Camera</source>
|
||||
<translation>駕駛監控</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="103"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<source>PREVIEW</source>
|
||||
<translation>預覽</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="104"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="105"/>
|
||||
<source>Preview the driver facing camera to help optimize device mounting position for best driver monitoring experience. (vehicle must be off)</source>
|
||||
<translation>預覽駕駛監控鏡頭畫面,方便調整設備安裝的位置,以提供更準確的駕駛監控。(車子必須保持在熄火的狀態)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>Reset Calibration</source>
|
||||
<translation>重置校準</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="108"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="109"/>
|
||||
<source>RESET</source>
|
||||
<translation>重置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="111"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="112"/>
|
||||
<source>Are you sure you want to reset calibration?</source>
|
||||
<translation>您確定要重置校準嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review Training Guide</source>
|
||||
<translation>觀看使用教學</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>REVIEW</source>
|
||||
<translation>觀看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="118"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="119"/>
|
||||
<source>Review the rules, features, and limitations of openpilot</source>
|
||||
<translation>觀看 openpilot 的使用規則、功能和限制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="120"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="121"/>
|
||||
<source>Are you sure you want to review the training guide?</source>
|
||||
<translation>您確定要觀看使用教學嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>Regulatory</source>
|
||||
<translation>法規/監管</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="128"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="129"/>
|
||||
<source>VIEW</source>
|
||||
<translation>觀看</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>Change Language</source>
|
||||
<translation type="vanished">更改語言</translation>
|
||||
<translation>更改語言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="137"/>
|
||||
<source>CHANGE</source>
|
||||
<translation type="vanished">更改</translation>
|
||||
<translation>更改</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="140"/>
|
||||
<source>Select a language</source>
|
||||
<translation type="vanished">選擇語言</translation>
|
||||
<translation>選擇語言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="146"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="160"/>
|
||||
<source>Reboot</source>
|
||||
<translation>重新啟動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="151"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="165"/>
|
||||
<source>Power Off</source>
|
||||
<translation>關機</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="171"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="185"/>
|
||||
<source>openpilot requires the device to be mounted within 4° left or right and within 5° up or 8° down. openpilot is continuously calibrating, resetting is rarely required.</source>
|
||||
<translation>openpilot 需要將裝置固定在左右偏差 4° 以內,朝上偏差 5° 以内或朝下偏差 8° 以内。鏡頭在後台會持續自動校準,很少有需要重置的情况。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="182"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="196"/>
|
||||
<source> Your device is pointed %1° %2 and %3° %4.</source>
|
||||
<translation> 你的設備目前朝%2 %1° 以及朝%4 %3° 。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>down</source>
|
||||
<translation>下</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="183"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="197"/>
|
||||
<source>up</source>
|
||||
<translation>上</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>left</source>
|
||||
<translation>左</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="184"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="198"/>
|
||||
<source>right</source>
|
||||
<translation>右</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="195"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="209"/>
|
||||
<source>Are you sure you want to reboot?</source>
|
||||
<translation>您確定要重新啟動嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="202"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="216"/>
|
||||
<source>Disengage to Reboot</source>
|
||||
<translation>請先取消控車才能重新啟動</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="208"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<source>Are you sure you want to power off?</source>
|
||||
<translation>您確定您要關機嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="215"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="229"/>
|
||||
<source>Disengage to Power Off</source>
|
||||
<translation>請先取消控車才能關機</translation>
|
||||
</message>
|
||||
|
@ -299,17 +302,17 @@
|
|||
<context>
|
||||
<name>InputDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="70"/>
|
||||
<location filename="../qt/widgets/input.cc" line="71"/>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source>Need at least </source>
|
||||
<translation>需要至少 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="167"/>
|
||||
<location filename="../qt/widgets/input.cc" line="168"/>
|
||||
<source> characters!</source>
|
||||
<translation> 個字元!</translation>
|
||||
</message>
|
||||
|
@ -394,12 +397,14 @@ location set</source>
|
|||
<context>
|
||||
<name>MultiOptionDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="300"/>
|
||||
<source>Select</source>
|
||||
<translation type="vanished">選擇</translation>
|
||||
<translation>選擇</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="328"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="vanished">取消</translation>
|
||||
<translation>取消</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -569,29 +574,29 @@ location set</source>
|
|||
<translation>離開</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>dashcam</source>
|
||||
<translation>行車記錄器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="18"/>
|
||||
<location filename="../qt/util.cc" line="21"/>
|
||||
<source>openpilot</source>
|
||||
<translation>openpilot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="66"/>
|
||||
<location filename="../qt/util.cc" line="82"/>
|
||||
<source>%1 minute%2 ago</source>
|
||||
<translatorcomment>we don't need %2</translatorcomment>
|
||||
<translation>%1 分鐘前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="69"/>
|
||||
<location filename="../qt/util.cc" line="85"/>
|
||||
<source>%1 hour%2 ago</source>
|
||||
<translatorcomment>we don't need %2</translatorcomment>
|
||||
<translation>%1 小時前</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/util.cc" line="72"/>
|
||||
<location filename="../qt/util.cc" line="88"/>
|
||||
<source>%1 day%2 ago</source>
|
||||
<translatorcomment>we don't need %2</translatorcomment>
|
||||
<translation>%1 天前</translation>
|
||||
|
@ -648,7 +653,7 @@ location set</source>
|
|||
<context>
|
||||
<name>RichTextDialog</name>
|
||||
<message>
|
||||
<location filename="../qt/widgets/input.cc" line="257"/>
|
||||
<location filename="../qt/widgets/input.cc" line="258"/>
|
||||
<source>Ok</source>
|
||||
<translation>確定</translation>
|
||||
</message>
|
||||
|
@ -656,33 +661,33 @@ location set</source>
|
|||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="300"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="314"/>
|
||||
<source>×</source>
|
||||
<translation>×</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="326"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="340"/>
|
||||
<source>Device</source>
|
||||
<translation>設備</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="327"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="366"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="341"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="380"/>
|
||||
<source>Network</source>
|
||||
<translation>網路</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="328"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="342"/>
|
||||
<source>Toggles</source>
|
||||
<translation>設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="329"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="343"/>
|
||||
<source>Software</source>
|
||||
<translation>軟體</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="334"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="348"/>
|
||||
<source>Navigation</source>
|
||||
<translation>導航</translation>
|
||||
</message>
|
||||
|
@ -921,68 +926,68 @@ location set</source>
|
|||
<context>
|
||||
<name>SoftwarePanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="220"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="234"/>
|
||||
<source>Git Branch</source>
|
||||
<translation>Git 分支</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="221"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="235"/>
|
||||
<source>Git Commit</source>
|
||||
<translation>Git 提交</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="222"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="236"/>
|
||||
<source>OS Version</source>
|
||||
<translation>系統版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="223"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<source>Version</source>
|
||||
<translation>版本</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>Last Update Check</source>
|
||||
<translation>上次檢查時間</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="224"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="238"/>
|
||||
<source>The last time openpilot successfully checked for an update. The updater only runs while the car is off.</source>
|
||||
<translation>上次成功檢查更新的時間。更新系統只會在車子熄火時執行。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="225"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<source>Check for Update</source>
|
||||
<translation>檢查更新</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="230"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="244"/>
|
||||
<source>CHECKING</source>
|
||||
<translation>檢查中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>Uninstall </source>
|
||||
<translation>卸載 </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="237"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="251"/>
|
||||
<source>UNINSTALL</source>
|
||||
<translation>卸載</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="239"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<source>Are you sure you want to uninstall?</source>
|
||||
<translation>您確定您要卸載嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="253"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="267"/>
|
||||
<source>failed to fetch update</source>
|
||||
<translation>下載更新失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="254"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="275"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="268"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="289"/>
|
||||
<source>CHECK</source>
|
||||
<translation>檢查</translation>
|
||||
</message>
|
||||
|
@ -1070,82 +1075,82 @@ location set</source>
|
|||
<context>
|
||||
<name>TogglesPanel</name>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="32"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<source>Enable openpilot</source>
|
||||
<translation>啟用 openpilot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="33"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="34"/>
|
||||
<source>Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off.</source>
|
||||
<translation>使用 openpilot 的主動式巡航和車道保持功能,開啟後您需要持續集中注意力,設定變更在重新啟動車輛後生效。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="38"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<source>Enable Lane Departure Warnings</source>
|
||||
<translation>啟用車道偏離警告</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="39"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="40"/>
|
||||
<source>Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h).</source>
|
||||
<translation>車速在時速 50 公里 (31 英里) 以上且未打方向燈的情況下,如果偵測到車輛駛出目前車道線時,發出車道偏離警告。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="44"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<source>Enable Right-Hand Drive</source>
|
||||
<translation>啟用右駕模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="45"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="46"/>
|
||||
<source>Allow openpilot to obey left-hand traffic conventions and perform driver monitoring on right driver seat.</source>
|
||||
<translation>openpilot 將對右側駕駛進行監控 (但仍遵守靠左駕的交通慣例)。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="50"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<source>Use Metric System</source>
|
||||
<translation>使用公制單位</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="51"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="52"/>
|
||||
<source>Display speed in km/h instead of mph.</source>
|
||||
<translation>啟用後,速度單位顯示將從 mp/h 改為 km/h。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="56"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<source>Record and Upload Driver Camera</source>
|
||||
<translation>記錄並上傳駕駛監控影像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="57"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="58"/>
|
||||
<source>Upload data from the driver facing camera and help improve the driver monitoring algorithm.</source>
|
||||
<translation>上傳駕駛監控的錄像來協助我們提升駕駛監控的準確率。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="62"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<source>Disengage On Accelerator Pedal</source>
|
||||
<translation>油門取消控車</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="63"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="64"/>
|
||||
<source>When enabled, pressing the accelerator pedal will disengage openpilot.</source>
|
||||
<translation>啟用後,踩踏油門將會取消 openpilot 控制。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="69"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<source>Show ETA in 24h format</source>
|
||||
<translation>預計到達時間單位改用 24 小時制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="70"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="71"/>
|
||||
<source>Use 24h format instead of am/pm</source>
|
||||
<translation>使用 24 小時制。(預設值為 12 小時制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="82"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<source>openpilot Longitudinal Control</source>
|
||||
<translation>openpilot 縱向控制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qt/offroad/settings.cc" line="83"/>
|
||||
<location filename="../qt/offroad/settings.cc" line="84"/>
|
||||
<source>openpilot will disable the car's radar and will take over control of gas and brakes. Warning: this disables AEB!</source>
|
||||
<translation>openpilot 將會關閉雷達訊號並接管油門和剎車的控制。注意:這也會關閉自動緊急煞車 (AEB) 系統!</translation>
|
||||
</message>
|
||||
|
|
|
@ -246,7 +246,7 @@ void UIState::update() {
|
|||
updateStatus();
|
||||
|
||||
if (sm->frame % UI_FREQ == 0) {
|
||||
watchdog_kick();
|
||||
watchdog_kick(nanos_since_boot());
|
||||
}
|
||||
emit uiUpdate(*this);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import os
|
||||
import json
|
||||
import os
|
||||
|
||||
from common.basedir import BASEDIR
|
||||
|
||||
|
|
Loading…
Reference in New Issue