Added scrollbars for lists and text fields. Added saving to the path settings for configuration files and the current language. Various UI improvements

This commit is contained in:
Yury Shuvakin
2022-08-28 16:32:07 +03:00
parent 4a0f78c247
commit 545977a4b7
18 changed files with 607 additions and 415 deletions

View File

@@ -100,7 +100,7 @@ public:
bool setXML(QXmlStreamReader &stream, QString configName); bool setXML(QXmlStreamReader &stream, QString configName);
Q_INVOKABLE bool saveXml(QString fileName, QString configName); Q_INVOKABLE bool saveXml(QString fileName, QString configName);
Q_INVOKABLE bool loadXml(QString fileName, QString configName); Q_INVOKABLE bool loadXml(QString fileName, QString configName);
QString xmlStatus(); Q_INVOKABLE QString xmlStatus();
void getParamsXML(QXmlStreamWriter &stream); void getParamsXML(QXmlStreamWriter &stream);
bool setParamsXML(QXmlStreamReader &stream); bool setParamsXML(QXmlStreamReader &stream);

View File

@@ -53,7 +53,8 @@ ItemDelegate {
} }
background: Rectangle { background: Rectangle {
color: control.pressed ? Palette.pressedButtonColor : color: control.pressed || control.highlighted ?
control.hovered ? Palette.hoveredButtonColor : Palette.buttonColor Palette.pressedButtonColor : control.hovered ?
Palette.hoveredButtonColor : Palette.buttonColor
} }
} }

View File

@@ -5,22 +5,36 @@ import Utils 1.0
ScrollBar { ScrollBar {
id: control id: control
size: 0.3
position: 0.2 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
active: true implicitContentWidth + leftPadding + rightPadding)
orientation: Qt.Vertical implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding)
padding: 2
visible: control.policy !== ScrollBar.AlwaysOff
minimumSize: orientation == Qt.Horizontal ? height / width : width / height
contentItem: Rectangle { contentItem: Rectangle {
implicitWidth: 12 implicitWidth: control.interactive ? 6 : 2
implicitHeight: 100 implicitHeight: control.interactive ? 6 : 2
radius: width / 2
color: Palette.alternativeBackgroundColor
// Hide the ScrollBar when it's not needed.
opacity: control.policy === ScrollBar.AlwaysOn || (control.active && control.size < 1.0) ? 0.75 : 0
// Animate the changes in opacity (default duration is 250 ms). radius: width / 2
Behavior on opacity { color: control.pressed ? Palette.alternativeBackgroundColor : Qt.lighter(Palette.alternativeBackgroundColor, 1.1)
NumberAnimation {} opacity: 0.0
states: State {
name: "active"
when: control.policy === ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
PropertyChanges { target: control.contentItem; opacity: 0.75 }
}
transitions: Transition {
from: "active"
SequentialAnimation {
PauseAnimation { duration: 450 }
NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
}
} }
} }
} }

View File

@@ -0,0 +1,40 @@
import QtQuick 2.12
import QtQuick.Controls 2.12
import Utils 1.0
ScrollIndicator {
id: control
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
implicitContentWidth + leftPadding + rightPadding)
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
implicitContentHeight + topPadding + bottomPadding)
padding: 2
contentItem: Rectangle {
implicitWidth: 2
implicitHeight: 2
color: Palette.alternativeBackgroundColor
visible: control.size < 1.0
opacity: 0.0
states: State {
name: "active"
when: control.active
PropertyChanges { target: control.contentItem; opacity: 0.75 }
}
transitions: [
Transition {
from: "active"
SequentialAnimation {
PauseAnimation { duration: 450 }
NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
}
}
]
}
}

View File

@@ -22,3 +22,4 @@ DialogHeader 1.0 DialogHeader.qml
DialogBackground 1.0 DialogBackground.qml DialogBackground 1.0 DialogBackground.qml
BusyIndicator 1.0 BusyIndicator.qml BusyIndicator 1.0 BusyIndicator.qml
MenuItemDelegate 1.0 MenuItemDelegate.qml MenuItemDelegate 1.0 MenuItemDelegate.qml
ScrollIndicator 1.0 ScrollIndicator.qml

View File

@@ -71,6 +71,8 @@ ApplicationWindow {
ListView { ListView {
id: menuView id: menuView
clip: true
boundsBehavior: Flickable.StopAtBounds
property var menuModel: [ property var menuModel: [
{"text": qsTr("AKB monitor"), "icon": "qrc:/Icons/akb-monitor.svg"}, {"text": qsTr("AKB monitor"), "icon": "qrc:/Icons/akb-monitor.svg"},
@@ -87,6 +89,7 @@ ApplicationWindow {
width: ListView.view.width width: ListView.view.width
text: menuView.menuModel[modelData].text text: menuView.menuModel[modelData].text
icon.source: menuView.menuModel[modelData].icon icon.source: menuView.menuModel[modelData].icon
highlighted: ListView.isCurrentItem
minimized: pane.minimized minimized: pane.minimized
onClicked: menuView.currentIndex = index onClicked: menuView.currentIndex = index
} }
@@ -291,7 +294,7 @@ ApplicationWindow {
} }
Layout.preferredWidth: languagesLayout.implicitWidth Layout.preferredWidth: languagesLayout.implicitWidth
Layout.fillHeight: true Layout.preferredHeight: languagesLayout.implicitHeight
} }
} }
@@ -331,6 +334,7 @@ ApplicationWindow {
} }
Screens.DebugInformationScreen { Screens.DebugInformationScreen {
id: debugScreen
} }
Screens.BmsServiceScreen { Screens.BmsServiceScreen {
@@ -351,6 +355,8 @@ ApplicationWindow {
serialLabel.text = "-" serialLabel.text = "-"
firmwareLabel.text = "-" firmwareLabel.text = "-"
} }
debugScreen.printMessage(BmsInterface.getConnectedPortName(), true)
} }
onMessageDialog: { onMessageDialog: {
@@ -494,5 +500,6 @@ ApplicationWindow {
Component.onCompleted: { Component.onCompleted: {
connectionDialog.open() connectionDialog.open()
Qt.callLater(debugScreen.printMessage, qsTr("Tool started"), true)
} }
} }

View File

@@ -332,9 +332,16 @@ Item {
onVisibleChanged: getValues() onVisibleChanged: getValues()
Timer {
id: refreshValuesTimer
interval: 5000
onTriggered: getValues()
}
function getValues() { function getValues() {
if (BmsInterface.isPortConnected() && visible) { if (BmsInterface.isPortConnected() && visible) {
BmsInterface.commands().getValues() BmsInterface.commands().getValues()
refreshValuesTimer.start()
} }
} }
} }

View File

@@ -12,12 +12,20 @@ ColumnLayout {
Keys.onEnterPressed: sendButton.clicked() Keys.onEnterPressed: sendButton.clicked()
Controls.Frame { Controls.Frame {
ScrollView { Flickable {
id: outputFlickable
clip: true
anchors.fill: parent anchors.fill: parent
Controls.TextArea { boundsBehavior: Flickable.StopAtBounds
TextArea.flickable: Controls.TextArea {
id: outputArea id: outputArea
} }
ScrollBar.horizontal: Controls.ScrollBar {}
ScrollBar.vertical: Controls.ScrollBar {}
} }
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
} }
@@ -58,6 +66,9 @@ ColumnLayout {
Connections { Connections {
target: BmsInterface.commands() target: BmsInterface.commands()
onPrintReceived: outputArea.append(str) onPrintReceived: {
outputArea.append(str)
outputArea.cursorPosition = outputArea.length
}
} }
} }

View File

@@ -2,6 +2,7 @@ import QtQuick 2.12
import QtQuick.Controls 2.12 import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtQuick.Dialogs 1.2 import QtQuick.Dialogs 1.2
import Qt.labs.settings 1.1
import Controls 1.0 as Controls import Controls 1.0 as Controls
import Cubo 1.0 import Cubo 1.0
@@ -20,6 +21,7 @@ RowLayout {
id: settingsFlickable id: settingsFlickable
clip: true clip: true
contentHeight: configLayout.height contentHeight: configLayout.height
boundsBehavior: Flickable.StopAtBounds
ColumnLayout { ColumnLayout {
id: configLayout id: configLayout
@@ -587,11 +589,19 @@ RowLayout {
folder: shortcuts.documents folder: shortcuts.documents
nameFilters: [ qsTr("Configuration files (*.xml)"), qsTr("All files (*)") ] nameFilters: [ qsTr("Configuration files (*.xml)"), qsTr("All files (*)") ]
onAccepted: { onAccepted: {
BmsInterface.bmsConfig().loadXml(loadFileDialog.fileUrl.toString().replace(/^(file:\/{3})/, ""), "bmsConfiguration") let result = BmsInterface.bmsConfig().loadXml(loadFileDialog.fileUrl.toString().replace(/^(file:\/{3})/, ""), "bmsConfiguration")
if (!result) {
BmsInterface.emitStatusMessage(BmsInterface.bmsConfig().xmlStatus(), false)
} }
} }
} }
Settings {
category: "loadConfiguration"
property alias folder: loadFileDialog.folder
}
}
Controls.OutlineButton { Controls.OutlineButton {
text: qsTr("Save settings to file") text: qsTr("Save settings to file")
onClicked: saveFileDialog.open() onClicked: saveFileDialog.open()
@@ -604,15 +614,23 @@ RowLayout {
folder: shortcuts.documents folder: shortcuts.documents
nameFilters: [ qsTr("Configuration files (*.xml)"), qsTr("All files (*)") ] nameFilters: [ qsTr("Configuration files (*.xml)"), qsTr("All files (*)") ]
onAccepted: { onAccepted: {
BmsInterface.bmsConfig().saveXml(saveFileDialog.fileUrl.toString().replace(/^(file:\/{3})/, ""), "bmsConfiguration") let result = BmsInterface.bmsConfig().saveXml(saveFileDialog.fileUrl.toString().replace(/^(file:\/{3})/, ""), "bmsConfiguration")
} if (!result) {
BmsInterface.emitStatusMessage(BmsInterface.bmsConfig().xmlStatus(), false)
} else {
BmsInterface.emitStatusMessage(qsTr("BMS configuration saved to file"), true)
} }
} }
} }
ScrollBar.vertical: Controls.ScrollBar { Settings {
// policy: ScrollBar.AlwaysOn category: "saveConfiguration"
property alias folder: saveFileDialog.folder
} }
}
}
ScrollBar.vertical: Controls.ScrollBar {}
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
@@ -658,7 +676,10 @@ RowLayout {
Controls.LinkLabel { Controls.LinkLabel {
text: qsTr("Current sensor value \"0\"") text: qsTr("Current sensor value \"0\"")
onClicked: settingsFlickable.contentY = zeroSensorSettingsFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y onClicked: {
settingsFlickable.contentY = zeroSensorSettingsFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y
settingsFlickable.returnToBounds()
}
} }
Item { Item {

View File

@@ -1,4 +1,5 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtGraphicalEffects 1.0 import QtGraphicalEffects 1.0
@@ -123,6 +124,7 @@ Item {
header: cellListHeader header: cellListHeader
delegate: cellListDelegate delegate: cellListDelegate
ScrollBar.vertical: Controls.ScrollBar {}
} }
Layout.fillWidth: true Layout.fillWidth: true
@@ -145,6 +147,7 @@ Item {
header: cellListHeader header: cellListHeader
delegate: cellListDelegate delegate: cellListDelegate
ScrollBar.vertical: Controls.ScrollBar {}
} }
Layout.fillWidth: true Layout.fillWidth: true
@@ -182,9 +185,16 @@ Item {
onVisibleChanged: getValues() onVisibleChanged: getValues()
Timer {
id: refreshValuesTimer
interval: 5000
onTriggered: getValues()
}
function getValues() { function getValues() {
if (BmsInterface.isPortConnected() && visible) { if (BmsInterface.isPortConnected() && visible) {
BmsInterface.commands().getCells() BmsInterface.commands().getCells()
refreshValuesTimer.start()
} }
} }
} }

View File

@@ -4,17 +4,27 @@ import QtQuick.Layouts 1.12
import Controls 1.0 as Controls import Controls 1.0 as Controls
import Cubo 1.0 import Cubo 1.0
import Utils 1.0
ColumnLayout { ColumnLayout {
spacing: 20 spacing: 20
Controls.Frame { Controls.Frame {
ScrollView { Flickable {
id: outputFlickable
clip: true
anchors.fill: parent anchors.fill: parent
Controls.TextArea { boundsBehavior: Flickable.StopAtBounds
TextArea.flickable: Controls.TextArea {
id: outputArea id: outputArea
textFormat: Text.RichText
} }
ScrollBar.horizontal: Controls.ScrollBar { }
ScrollBar.vertical: Controls.ScrollBar { }
} }
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
} }
@@ -27,9 +37,27 @@ ColumnLayout {
Connections { Connections {
target: BmsInterface target: BmsInterface
onStatusMessage: printMessage(msg, isGood)
onStatusMessage: {
outputArea.append(msg)
} }
function printMessage(msg, isGood) {
var message = ""
if (!isGood) {
message += "<font color=\"" + Palette.invalidColor + "\">"
}
message += new Date().toLocaleString(Qt.locale("en-US"), "dd.MM.yyyy hh:mm:ss") + ": " + msg
if (!isGood) {
message += "</font>"
}
message += "<br>"
outputArea.insert(outputArea.length, message)
outputArea.cursorPosition = outputArea.length
outputFlickable.contentX = 0
} }
} }

View File

@@ -1,4 +1,5 @@
import QtQuick 2.12 import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12 import QtQuick.Layouts 1.12
import QtCharts 2.3 import QtCharts 2.3
@@ -169,6 +170,8 @@ ColumnLayout {
model: seriesCount model: seriesCount
delegate: legendDelegate delegate: legendDelegate
visible: !horizontalLegend visible: !horizontalLegend
boundsBehavior: Flickable.StopAtBounds
ScrollBar.vertical: Controls.ScrollBar {}
property Controls.ChartView chartItem: chart property Controls.ChartView chartItem: chart

View File

@@ -38,5 +38,6 @@
<file>Utils/MathHelper.qml</file> <file>Utils/MathHelper.qml</file>
<file>Controls/BusyIndicator.qml</file> <file>Controls/BusyIndicator.qml</file>
<file>Controls/MenuItemDelegate.qml</file> <file>Controls/MenuItemDelegate.qml</file>
<file>Controls/ScrollIndicator.qml</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@@ -209,17 +209,17 @@
<context> <context>
<name>BmsServiceScreen</name> <name>BmsServiceScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="29"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
<source>Clear</source> <source>Clear</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="42"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
<source>Send</source> <source>Send</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="51"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
<source>Help</source> <source>Help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -227,226 +227,231 @@
<context> <context>
<name>BmsSettingsScreen</name> <name>BmsSettingsScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="40"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="42"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="625"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
<source>Serial number</source> <source>Serial number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="67"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="69"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="648"/>
<source>Configuration</source> <source>Configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="73"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="75"/>
<source>Number of boards</source> <source>Number of boards</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="79"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="81"/>
<source>Number of cells</source> <source>Number of cells</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="113"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="115"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="635"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="653"/>
<source>SOC</source> <source>SOC</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="119"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="121"/>
<source>Number of cells connected in parallel</source> <source>Number of cells connected in parallel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="127"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="129"/>
<source>Battery capacity</source> <source>Battery capacity</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="161"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="163"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="640"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="658"/>
<source>Limits</source> <source>Limits</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="167"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="169"/>
<source>Maximum charge current, A</source> <source>Maximum charge current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="175"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="177"/>
<source>Maximum load current, A</source> <source>Maximum load current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="197"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="199"/>
<source>Maximum temperature, °C</source> <source>Maximum temperature, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="228"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="230"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="645"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="663"/>
<source>Cell configuration</source> <source>Cell configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="234"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="236"/>
<source>Lower disable threshold, V</source> <source>Lower disable threshold, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="242"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
<source>Upper disable threshold, V</source> <source>Upper disable threshold, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="264"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="266"/>
<source>Lower enable threshold (should be higher than disable), V</source> <source>Lower enable threshold (should be higher than disable), V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="272"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="274"/>
<source>Upper enable threshold (should be higher than disable), V</source> <source>Upper enable threshold (should be higher than disable), V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="308"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="310"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="650"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="668"/>
<source>Balancing configuration</source> <source>Balancing configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="314"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="316"/>
<source>Balancing start voltage, V</source> <source>Balancing start voltage, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="324"/>
<source>Cell voltage delta to start balancing, V</source> <source>Cell voltage delta to start balancing, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="344"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="346"/>
<source>Cell balancing interval, ms</source> <source>Cell balancing interval, ms</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="377"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="379"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="673"/>
<source>Output settings</source> <source>Output settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="386"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="388"/>
<source># 1</source> <source># 1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="392"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="394"/>
<source>Use for storage management</source> <source>Use for storage management</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="410"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="412"/>
<source># 2</source> <source># 2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="450"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="452"/>
<source># 3</source> <source># 3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="497"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="499"/>
<source># 4</source> <source># 4</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="672"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="621"/>
<source>BMS configuration saved to file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
<source>Read default settings</source> <source>Read default settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="696"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="717"/>
<source>The settings are written to non-volatile memory. <source>The settings are written to non-volatile memory.
Wait, please.</source> Wait, please.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="416"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="418"/>
<source>Normally closed</source> <source>Normally closed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="426"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="428"/>
<source>Change in value during SOC</source> <source>Change in value during SOC</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="465"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="467"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="512"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
<source>Closes at t&lt;, °C</source> <source>Closes at t&lt;, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="471"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="473"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="518"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="520"/>
<source>Opens at t&gt;, °C</source> <source>Opens at t&gt;, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="555"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="557"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="660"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/>
<source>Current sensor value &quot;0&quot;</source> <source>Current sensor value &quot;0&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="570"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="572"/>
<source>Calibrate &quot;0&quot;</source> <source>Calibrate &quot;0&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="580"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="582"/>
<source>Load settings from file</source> <source>Load settings from file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="586"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="602"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
<source>Select configuration file</source> <source>Select configuration file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>Configuration files (*.xml)</source> <source>Configuration files (*.xml)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>All files (*)</source> <source>All files (*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="596"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="606"/>
<source>Save settings to file</source> <source>Save settings to file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="699"/>
<source>Read current settings from BMS</source> <source>Read current settings from BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="714"/>
<source>Write to non-volatile memory of BMS</source> <source>Write to non-volatile memory of BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="684"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="705"/>
<source>Write current values to BMS</source> <source>Write current values to BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -454,22 +459,22 @@ Wait, please.</source>
<context> <context>
<name>CellMonitorScreen</name> <name>CellMonitorScreen</name>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="24"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="25"/>
<source>#</source> <source>#</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="37"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="38"/>
<source>Voltage</source> <source>Voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="50"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="51"/>
<source>Balancing</source> <source>Balancing</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="84"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="85"/>
<source>V</source> <source>V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -540,7 +545,7 @@ Wait, please.</source>
<context> <context>
<name>DebugInformationScreen</name> <name>DebugInformationScreen</name>
<message> <message>
<location filename="../qml/Screens/DebugInformationScreen.qml" line="23"/> <location filename="../qml/Screens/DebugInformationScreen.qml" line="33"/>
<source>Clear</source> <source>Clear</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -558,74 +563,79 @@ Wait, please.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="76"/> <location filename="../qml/MainWindow.qml" line="78"/>
<location filename="../qml/MainWindow.qml" line="131"/> <location filename="../qml/MainWindow.qml" line="134"/>
<source>AKB monitor</source> <source>AKB monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="77"/> <location filename="../qml/MainWindow.qml" line="79"/>
<location filename="../qml/MainWindow.qml" line="132"/> <location filename="../qml/MainWindow.qml" line="135"/>
<source>Cell monitor</source> <source>Cell monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="78"/> <location filename="../qml/MainWindow.qml" line="80"/>
<source>Configuration</source> <source>Configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="79"/> <location filename="../qml/MainWindow.qml" line="81"/>
<location filename="../qml/MainWindow.qml" line="134"/> <location filename="../qml/MainWindow.qml" line="137"/>
<source>Visualization</source> <source>Visualization</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="80"/> <location filename="../qml/MainWindow.qml" line="82"/>
<source>History</source> <source>History</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="81"/> <location filename="../qml/MainWindow.qml" line="83"/>
<source>BMS service</source> <source>BMS service</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="99"/> <location filename="../qml/MainWindow.qml" line="102"/>
<source>Connection</source> <source>Connection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="133"/> <location filename="../qml/MainWindow.qml" line="136"/>
<source>BMS settings</source> <source>BMS settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="135"/> <location filename="../qml/MainWindow.qml" line="138"/>
<source>Information output</source> <source>Information output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="136"/> <location filename="../qml/MainWindow.qml" line="139"/>
<source>Terminal</source> <source>Terminal</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="161"/> <location filename="../qml/MainWindow.qml" line="164"/>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Disconnected</source> <source>Disconnected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="184"/> <location filename="../qml/MainWindow.qml" line="187"/>
<source>Serial number</source> <source>Serial number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Connected</source> <source>Connected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../qml/MainWindow.qml" line="503"/>
<source>Tool started</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>MessageDialog</name> <name>MessageDialog</name>
@@ -677,140 +687,140 @@ Wait, please.</source>
<context> <context>
<name>VisualizationScreen</name> <name>VisualizationScreen</name>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="34"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="35"/>
<source>Voltage</source> <source>Voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="39"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="40"/>
<source>Current</source> <source>Current</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="44"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="45"/>
<source>Battery temperature</source> <source>Battery temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="49"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="50"/>
<source>BMS temperature</source> <source>BMS temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="54"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="55"/>
<source>Cell voltage</source> <source>Cell voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="59"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="60"/>
<source>Cell list</source> <source>Cell list</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="189"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="192"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="202"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="205"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="215"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="218"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="228"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="231"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="241"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="244"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="254"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="257"/>
<source>Time, s</source> <source>Time, s</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="190"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="193"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="242"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="245"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="255"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="258"/>
<source>Voltage, V</source> <source>Voltage, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="203"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="206"/>
<source>Current, A</source> <source>Current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="216"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="219"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="229"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="232"/>
<source>Temperature, °C</source> <source>Temperature, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Pause data collection</source> <source>Pause data collection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Resume data collection</source> <source>Resume data collection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="283"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="286"/>
<source>Clear data</source> <source>Clear data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="312"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="315"/>
<source>Reset zoom</source> <source>Reset zoom</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="371"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="374"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="398"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="408"/>
<source>Cell #</source> <source>Cell #</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="473"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="483"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="475"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="485"/>
<source>Voltage indicator</source> <source>Voltage indicator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="480"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="490"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="482"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="492"/>
<source>Current indicator</source> <source>Current indicator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="487"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="497"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="493"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="503"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="500"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="510"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="506"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="516"/>
<source>Maximum temperature</source> <source>Maximum temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="489"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="499"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="494"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="504"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="502"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="512"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="507"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="517"/>
<source>Average temperature</source> <source>Average temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="491"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="501"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="495"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="505"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="504"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="514"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="508"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="518"/>
<source>Minimum temperature</source> <source>Minimum temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="513"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="523"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="519"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="529"/>
<source>Maximum voltage</source> <source>Maximum voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="515"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="525"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="520"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="530"/>
<source>Average voltage</source> <source>Average voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="517"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="527"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="521"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="531"/>
<source>Minimum voltage</source> <source>Minimum voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -209,17 +209,17 @@
<context> <context>
<name>BmsServiceScreen</name> <name>BmsServiceScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="29"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
<source>Clear</source> <source>Clear</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="42"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
<source>Send</source> <source>Send</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="51"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
<source>Help</source> <source>Help</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -227,226 +227,231 @@
<context> <context>
<name>BmsSettingsScreen</name> <name>BmsSettingsScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="40"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="42"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="625"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
<source>Serial number</source> <source>Serial number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="67"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="69"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="648"/>
<source>Configuration</source> <source>Configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="73"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="75"/>
<source>Number of boards</source> <source>Number of boards</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="79"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="81"/>
<source>Number of cells</source> <source>Number of cells</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="113"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="115"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="635"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="653"/>
<source>SOC</source> <source>SOC</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="119"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="121"/>
<source>Number of cells connected in parallel</source> <source>Number of cells connected in parallel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="127"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="129"/>
<source>Battery capacity</source> <source>Battery capacity</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="161"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="163"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="640"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="658"/>
<source>Limits</source> <source>Limits</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="167"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="169"/>
<source>Maximum charge current, A</source> <source>Maximum charge current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="175"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="177"/>
<source>Maximum load current, A</source> <source>Maximum load current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="197"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="199"/>
<source>Maximum temperature, °C</source> <source>Maximum temperature, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="228"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="230"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="645"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="663"/>
<source>Cell configuration</source> <source>Cell configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="234"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="236"/>
<source>Lower disable threshold, V</source> <source>Lower disable threshold, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="242"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
<source>Upper disable threshold, V</source> <source>Upper disable threshold, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="264"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="266"/>
<source>Lower enable threshold (should be higher than disable), V</source> <source>Lower enable threshold (should be higher than disable), V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="272"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="274"/>
<source>Upper enable threshold (should be higher than disable), V</source> <source>Upper enable threshold (should be higher than disable), V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="308"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="310"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="650"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="668"/>
<source>Balancing configuration</source> <source>Balancing configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="314"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="316"/>
<source>Balancing start voltage, V</source> <source>Balancing start voltage, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="324"/>
<source>Cell voltage delta to start balancing, V</source> <source>Cell voltage delta to start balancing, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="344"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="346"/>
<source>Cell balancing interval, ms</source> <source>Cell balancing interval, ms</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="377"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="379"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="673"/>
<source>Output settings</source> <source>Output settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="386"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="388"/>
<source># 1</source> <source># 1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="392"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="394"/>
<source>Use for storage management</source> <source>Use for storage management</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="410"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="412"/>
<source># 2</source> <source># 2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="450"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="452"/>
<source># 3</source> <source># 3</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="497"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="499"/>
<source># 4</source> <source># 4</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="672"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="621"/>
<source>BMS configuration saved to file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
<source>Read default settings</source> <source>Read default settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="696"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="717"/>
<source>The settings are written to non-volatile memory. <source>The settings are written to non-volatile memory.
Wait, please.</source> Wait, please.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="416"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="418"/>
<source>Normally closed</source> <source>Normally closed</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="426"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="428"/>
<source>Change in value during SOC</source> <source>Change in value during SOC</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="465"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="467"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="512"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
<source>Closes at t&lt;, °C</source> <source>Closes at t&lt;, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="471"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="473"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="518"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="520"/>
<source>Opens at t&gt;, °C</source> <source>Opens at t&gt;, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="555"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="557"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="660"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/>
<source>Current sensor value &quot;0&quot;</source> <source>Current sensor value &quot;0&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="570"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="572"/>
<source>Calibrate &quot;0&quot;</source> <source>Calibrate &quot;0&quot;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="580"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="582"/>
<source>Load settings from file</source> <source>Load settings from file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="586"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="602"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
<source>Select configuration file</source> <source>Select configuration file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>Configuration files (*.xml)</source> <source>Configuration files (*.xml)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>All files (*)</source> <source>All files (*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="596"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="606"/>
<source>Save settings to file</source> <source>Save settings to file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="699"/>
<source>Read current settings from BMS</source> <source>Read current settings from BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="714"/>
<source>Write to non-volatile memory of BMS</source> <source>Write to non-volatile memory of BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="684"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="705"/>
<source>Write current values to BMS</source> <source>Write current values to BMS</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -454,22 +459,22 @@ Wait, please.</source>
<context> <context>
<name>CellMonitorScreen</name> <name>CellMonitorScreen</name>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="24"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="25"/>
<source>#</source> <source>#</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="37"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="38"/>
<source>Voltage</source> <source>Voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="50"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="51"/>
<source>Balancing</source> <source>Balancing</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="84"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="85"/>
<source>V</source> <source>V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -540,7 +545,7 @@ Wait, please.</source>
<context> <context>
<name>DebugInformationScreen</name> <name>DebugInformationScreen</name>
<message> <message>
<location filename="../qml/Screens/DebugInformationScreen.qml" line="23"/> <location filename="../qml/Screens/DebugInformationScreen.qml" line="33"/>
<source>Clear</source> <source>Clear</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -558,74 +563,79 @@ Wait, please.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="76"/> <location filename="../qml/MainWindow.qml" line="78"/>
<location filename="../qml/MainWindow.qml" line="131"/> <location filename="../qml/MainWindow.qml" line="134"/>
<source>AKB monitor</source> <source>AKB monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="77"/> <location filename="../qml/MainWindow.qml" line="79"/>
<location filename="../qml/MainWindow.qml" line="132"/> <location filename="../qml/MainWindow.qml" line="135"/>
<source>Cell monitor</source> <source>Cell monitor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="78"/> <location filename="../qml/MainWindow.qml" line="80"/>
<source>Configuration</source> <source>Configuration</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="79"/> <location filename="../qml/MainWindow.qml" line="81"/>
<location filename="../qml/MainWindow.qml" line="134"/> <location filename="../qml/MainWindow.qml" line="137"/>
<source>Visualization</source> <source>Visualization</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="80"/> <location filename="../qml/MainWindow.qml" line="82"/>
<source>History</source> <source>History</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="81"/> <location filename="../qml/MainWindow.qml" line="83"/>
<source>BMS service</source> <source>BMS service</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="99"/> <location filename="../qml/MainWindow.qml" line="102"/>
<source>Connection</source> <source>Connection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="133"/> <location filename="../qml/MainWindow.qml" line="136"/>
<source>BMS settings</source> <source>BMS settings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="135"/> <location filename="../qml/MainWindow.qml" line="138"/>
<source>Information output</source> <source>Information output</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="136"/> <location filename="../qml/MainWindow.qml" line="139"/>
<source>Terminal</source> <source>Terminal</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="161"/> <location filename="../qml/MainWindow.qml" line="164"/>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Disconnected</source> <source>Disconnected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="184"/> <location filename="../qml/MainWindow.qml" line="187"/>
<source>Serial number</source> <source>Serial number</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Connected</source> <source>Connected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../qml/MainWindow.qml" line="503"/>
<source>Tool started</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>MessageDialog</name> <name>MessageDialog</name>
@@ -677,140 +687,140 @@ Wait, please.</source>
<context> <context>
<name>VisualizationScreen</name> <name>VisualizationScreen</name>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="34"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="35"/>
<source>Voltage</source> <source>Voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="39"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="40"/>
<source>Current</source> <source>Current</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="44"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="45"/>
<source>Battery temperature</source> <source>Battery temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="49"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="50"/>
<source>BMS temperature</source> <source>BMS temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="54"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="55"/>
<source>Cell voltage</source> <source>Cell voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="59"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="60"/>
<source>Cell list</source> <source>Cell list</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="189"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="192"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="202"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="205"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="215"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="218"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="228"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="231"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="241"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="244"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="254"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="257"/>
<source>Time, s</source> <source>Time, s</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="190"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="193"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="242"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="245"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="255"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="258"/>
<source>Voltage, V</source> <source>Voltage, V</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="203"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="206"/>
<source>Current, A</source> <source>Current, A</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="216"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="219"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="229"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="232"/>
<source>Temperature, °C</source> <source>Temperature, °C</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Pause data collection</source> <source>Pause data collection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Resume data collection</source> <source>Resume data collection</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="283"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="286"/>
<source>Clear data</source> <source>Clear data</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="312"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="315"/>
<source>Reset zoom</source> <source>Reset zoom</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="371"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="374"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="398"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="408"/>
<source>Cell #</source> <source>Cell #</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="473"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="483"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="475"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="485"/>
<source>Voltage indicator</source> <source>Voltage indicator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="480"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="490"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="482"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="492"/>
<source>Current indicator</source> <source>Current indicator</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="487"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="497"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="493"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="503"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="500"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="510"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="506"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="516"/>
<source>Maximum temperature</source> <source>Maximum temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="489"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="499"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="494"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="504"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="502"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="512"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="507"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="517"/>
<source>Average temperature</source> <source>Average temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="491"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="501"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="495"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="505"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="504"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="514"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="508"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="518"/>
<source>Minimum temperature</source> <source>Minimum temperature</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="513"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="523"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="519"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="529"/>
<source>Maximum voltage</source> <source>Maximum voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="515"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="525"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="520"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="530"/>
<source>Average voltage</source> <source>Average voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="517"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="527"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="521"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="531"/>
<source>Minimum voltage</source> <source>Minimum voltage</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

Binary file not shown.

View File

@@ -209,17 +209,17 @@
<context> <context>
<name>BmsServiceScreen</name> <name>BmsServiceScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="29"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
<source>Clear</source> <source>Clear</source>
<translation>Очистить</translation> <translation>Очистить</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="42"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
<source>Send</source> <source>Send</source>
<translation>Отправить</translation> <translation>Отправить</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsServiceScreen.qml" line="51"/> <location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
<source>Help</source> <source>Help</source>
<translation>Помощь</translation> <translation>Помощь</translation>
</message> </message>
@@ -227,212 +227,217 @@
<context> <context>
<name>BmsSettingsScreen</name> <name>BmsSettingsScreen</name>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="40"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="42"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="625"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
<source>Serial number</source> <source>Serial number</source>
<translation>Серийный номер</translation> <translation>Серийный номер</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="67"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="69"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="648"/>
<source>Configuration</source> <source>Configuration</source>
<translation>Конфигурация</translation> <translation>Конфигурация</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="73"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="75"/>
<source>Number of boards</source> <source>Number of boards</source>
<translation>Количество плат</translation> <translation>Количество плат</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="79"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="81"/>
<source>Number of cells</source> <source>Number of cells</source>
<translation>Количество ячеек</translation> <translation>Количество ячеек</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="113"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="115"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="635"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="653"/>
<source>SOC</source> <source>SOC</source>
<translation>SOC</translation> <translation>SOC</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="119"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="121"/>
<source>Number of cells connected in parallel</source> <source>Number of cells connected in parallel</source>
<translation>Количество параллельно включенных ячеек</translation> <translation>Количество параллельно включенных ячеек</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="127"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="129"/>
<source>Battery capacity</source> <source>Battery capacity</source>
<translation>Ёмкость батареи</translation> <translation>Ёмкость батареи</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="161"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="163"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="640"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="658"/>
<source>Limits</source> <source>Limits</source>
<translation>Ограничения</translation> <translation>Ограничения</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="167"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="169"/>
<source>Maximum charge current, A</source> <source>Maximum charge current, A</source>
<translation>Максимальный ток заряда, A</translation> <translation>Максимальный ток заряда, A</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="175"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="177"/>
<source>Maximum load current, A</source> <source>Maximum load current, A</source>
<translation>Максимальный ток нагрузки, A</translation> <translation>Максимальный ток нагрузки, A</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="197"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="199"/>
<source>Maximum temperature, °C</source> <source>Maximum temperature, °C</source>
<translation>Максимальная температура, C</translation> <translation>Максимальная температура, C</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="228"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="230"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="645"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="663"/>
<source>Cell configuration</source> <source>Cell configuration</source>
<translation>Конфигурация ячеек</translation> <translation>Конфигурация ячеек</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="234"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="236"/>
<source>Lower disable threshold, V</source> <source>Lower disable threshold, V</source>
<translation>Нижний порог отключения, В</translation> <translation>Нижний порог отключения, В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="242"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
<source>Upper disable threshold, V</source> <source>Upper disable threshold, V</source>
<translation>Верхний порог отключения, В</translation> <translation>Верхний порог отключения, В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="264"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="266"/>
<source>Lower enable threshold (should be higher than disable), V</source> <source>Lower enable threshold (should be higher than disable), V</source>
<translation>Нижний порог включения (должен быть выше отключения), В</translation> <translation>Нижний порог включения (должен быть выше отключения), В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="272"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="274"/>
<source>Upper enable threshold (should be higher than disable), V</source> <source>Upper enable threshold (should be higher than disable), V</source>
<translation>Верхний порог включения (должен быть выше отключения), В</translation> <translation>Верхний порог включения (должен быть выше отключения), В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="308"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="310"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="650"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="668"/>
<source>Balancing configuration</source> <source>Balancing configuration</source>
<translation>Конфигурация балансировки</translation> <translation>Конфигурация балансировки</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="314"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="316"/>
<source>Balancing start voltage, V</source> <source>Balancing start voltage, V</source>
<translation>Напряжение старта балансировки, В</translation> <translation>Напряжение старта балансировки, В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="324"/>
<source>Cell voltage delta to start balancing, V</source> <source>Cell voltage delta to start balancing, V</source>
<translation>Дельта напряжения ячеек для старта балансировки, В</translation> <translation>Дельта напряжения ячеек для старта балансировки, В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="344"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="346"/>
<source>Cell balancing interval, ms</source> <source>Cell balancing interval, ms</source>
<translation>Интервал балансировки ячейки, мс</translation> <translation>Интервал балансировки ячейки, мс</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="377"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="379"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="673"/>
<source>Output settings</source> <source>Output settings</source>
<translation>Настройка выходов</translation> <translation>Настройка выходов</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="386"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="388"/>
<source># 1</source> <source># 1</source>
<translation> 1</translation> <translation> 1</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="392"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="394"/>
<source>Use for storage management</source> <source>Use for storage management</source>
<translation>Использовать для управления ЗУ</translation> <translation>Использовать для управления ЗУ</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="410"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="412"/>
<source># 2</source> <source># 2</source>
<translation> 2</translation> <translation> 2</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="450"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="452"/>
<source># 3</source> <source># 3</source>
<translation> 3</translation> <translation> 3</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="497"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="499"/>
<source># 4</source> <source># 4</source>
<translation> 4</translation> <translation> 4</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="672"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="621"/>
<source>BMS configuration saved to file</source>
<translation>БМС конфигурация сохранена в файл</translation>
</message>
<message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
<source>Read default settings</source> <source>Read default settings</source>
<translation>Загрузить настройки по-умолчанию</translation> <translation>Загрузить настройки по-умолчанию</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="696"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="717"/>
<source>The settings are written to non-volatile memory. <source>The settings are written to non-volatile memory.
Wait, please.</source> Wait, please.</source>
<translation>Выполняется запись настроек в энергонезависимую память. <translation>Выполняется запись настроек в энергонезависимую память.
Пожалуйста подождите.</translation> Пожалуйста подождите.</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="416"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="418"/>
<source>Normally closed</source> <source>Normally closed</source>
<translation>Нормально замкнут</translation> <translation>Нормально замкнут</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="426"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="428"/>
<source>Change in value during SOC</source> <source>Change in value during SOC</source>
<translation>Изменение значения при SOC</translation> <translation>Изменение значения при SOC</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="465"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="467"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="512"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
<source>Closes at t&lt;, °C</source> <source>Closes at t&lt;, °C</source>
<translation>Замыкается при t&lt;, °C</translation> <translation>Замыкается при t&lt;, °C</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="471"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="473"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="518"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="520"/>
<source>Opens at t&gt;, °C</source> <source>Opens at t&gt;, °C</source>
<translation>Размыкается при t&gt;, °C</translation> <translation>Размыкается при t&gt;, °C</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="555"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="557"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="660"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/>
<source>Current sensor value &quot;0&quot;</source> <source>Current sensor value &quot;0&quot;</source>
<translation>Значение датчика тока «0»</translation> <translation>Значение датчика тока «0»</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="570"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="572"/>
<source>Calibrate &quot;0&quot;</source> <source>Calibrate &quot;0&quot;</source>
<translation>Калибровать «0»</translation> <translation>Калибровать «0»</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="580"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="582"/>
<source>Load settings from file</source> <source>Load settings from file</source>
<translation>Загрузить настройки из файла</translation> <translation>Загрузить настройки из файла</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="586"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="602"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
<source>Select configuration file</source> <source>Select configuration file</source>
<translation>Выберите файл конфигурации</translation> <translation>Выберите файл конфигурации</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>Configuration files (*.xml)</source> <source>Configuration files (*.xml)</source>
<translation>Файлы конфигурации (*.xml)</translation> <translation>Файлы конфигурации (*.xml)</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="588"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="590"/>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="605"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="615"/>
<source>All files (*)</source> <source>All files (*)</source>
<translation>Все файлы (*)</translation> <translation>Все файлы (*)</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="596"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="606"/>
<source>Save settings to file</source> <source>Save settings to file</source>
<translation>Сохранить настройки в файл</translation> <translation>Сохранить настройки в файл</translation>
</message> </message>
@@ -441,17 +446,17 @@ Wait, please.</source>
<translation type="vanished">Загрузить настройки из файла</translation> <translation type="vanished">Загрузить настройки из файла</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="678"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="699"/>
<source>Read current settings from BMS</source> <source>Read current settings from BMS</source>
<translation>Загрузить текущие настройки из BMS</translation> <translation>Загрузить текущие настройки из BMS</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="714"/>
<source>Write to non-volatile memory of BMS</source> <source>Write to non-volatile memory of BMS</source>
<translation>Записать в энергонезависимую память BMS</translation> <translation>Записать в энергонезависимую память BMS</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="684"/> <location filename="../qml/Screens/BmsSettingsScreen.qml" line="705"/>
<source>Write current values to BMS</source> <source>Write current values to BMS</source>
<translation>Записать текущие значения в BMS</translation> <translation>Записать текущие значения в BMS</translation>
</message> </message>
@@ -459,22 +464,22 @@ Wait, please.</source>
<context> <context>
<name>CellMonitorScreen</name> <name>CellMonitorScreen</name>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="24"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="25"/>
<source>#</source> <source>#</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="37"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="38"/>
<source>Voltage</source> <source>Voltage</source>
<translation>Напряжение</translation> <translation>Напряжение</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="50"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="51"/>
<source>Balancing</source> <source>Balancing</source>
<translation>Балансировка</translation> <translation>Балансировка</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/CellMonitorScreen.qml" line="84"/> <location filename="../qml/Screens/CellMonitorScreen.qml" line="85"/>
<source>V</source> <source>V</source>
<translation>V</translation> <translation>V</translation>
</message> </message>
@@ -545,7 +550,7 @@ Wait, please.</source>
<context> <context>
<name>DebugInformationScreen</name> <name>DebugInformationScreen</name>
<message> <message>
<location filename="../qml/Screens/DebugInformationScreen.qml" line="23"/> <location filename="../qml/Screens/DebugInformationScreen.qml" line="33"/>
<source>Clear</source> <source>Clear</source>
<translation>Очистить</translation> <translation>Очистить</translation>
</message> </message>
@@ -563,75 +568,80 @@ Wait, please.</source>
<translation>Скрыть меню</translation> <translation>Скрыть меню</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="76"/> <location filename="../qml/MainWindow.qml" line="78"/>
<location filename="../qml/MainWindow.qml" line="131"/> <location filename="../qml/MainWindow.qml" line="134"/>
<source>AKB monitor</source> <source>AKB monitor</source>
<translation>Монитор АКБ</translation> <translation>Монитор АКБ</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="77"/> <location filename="../qml/MainWindow.qml" line="79"/>
<location filename="../qml/MainWindow.qml" line="132"/> <location filename="../qml/MainWindow.qml" line="135"/>
<source>Cell monitor</source> <source>Cell monitor</source>
<translation>Монитор ячеек</translation> <translation>Монитор ячеек</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="78"/> <location filename="../qml/MainWindow.qml" line="80"/>
<source>Configuration</source> <source>Configuration</source>
<translation>Конфигурация</translation> <translation>Конфигурация</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="79"/> <location filename="../qml/MainWindow.qml" line="81"/>
<location filename="../qml/MainWindow.qml" line="134"/> <location filename="../qml/MainWindow.qml" line="137"/>
<source>Visualization</source> <source>Visualization</source>
<translation>Визуализация</translation> <translation>Визуализация</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="80"/> <location filename="../qml/MainWindow.qml" line="82"/>
<source>History</source> <source>History</source>
<translation>История</translation> <translation>История</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="81"/> <location filename="../qml/MainWindow.qml" line="83"/>
<source>BMS service</source> <source>BMS service</source>
<translation>Сервис BMS</translation> <translation>Сервис BMS</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="99"/> <location filename="../qml/MainWindow.qml" line="102"/>
<source>Connection</source> <source>Connection</source>
<translation>Подключение</translation> <translation>Подключение</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="133"/> <location filename="../qml/MainWindow.qml" line="136"/>
<source>BMS settings</source> <source>BMS settings</source>
<translation>Настройка BMS</translation> <translation>Настройка BMS</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="135"/> <location filename="../qml/MainWindow.qml" line="138"/>
<source>Information output</source> <source>Information output</source>
<translation>Вывод информации</translation> <translation>Вывод информации</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="136"/> <location filename="../qml/MainWindow.qml" line="139"/>
<source>Terminal</source> <source>Terminal</source>
<translation>Терминал</translation> <translation>Терминал</translation>
</message> </message>
<message>
<location filename="../qml/MainWindow.qml" line="503"/>
<source>Tool started</source>
<translation>Утилита запущена</translation>
</message>
<message> <message>
<source>Exit</source> <source>Exit</source>
<translation type="vanished">Выход</translation> <translation type="vanished">Выход</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="161"/> <location filename="../qml/MainWindow.qml" line="164"/>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Disconnected</source> <source>Disconnected</source>
<translation>Отключено</translation> <translation>Отключено</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="184"/> <location filename="../qml/MainWindow.qml" line="187"/>
<source>Serial number</source> <source>Serial number</source>
<translation>Серийный номер</translation> <translation>Серийный номер</translation>
</message> </message>
<message> <message>
<location filename="../qml/MainWindow.qml" line="346"/> <location filename="../qml/MainWindow.qml" line="350"/>
<source>Connected</source> <source>Connected</source>
<translation>Подключено</translation> <translation>Подключено</translation>
</message> </message>
@@ -686,140 +696,140 @@ Wait, please.</source>
<context> <context>
<name>VisualizationScreen</name> <name>VisualizationScreen</name>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="34"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="35"/>
<source>Voltage</source> <source>Voltage</source>
<translation>Напряжение</translation> <translation>Напряжение</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="39"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="40"/>
<source>Current</source> <source>Current</source>
<translation>Ток</translation> <translation>Ток</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="44"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="45"/>
<source>Battery temperature</source> <source>Battery temperature</source>
<translation>Температура батареи</translation> <translation>Температура батареи</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="49"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="50"/>
<source>BMS temperature</source> <source>BMS temperature</source>
<translation>Температура BMS</translation> <translation>Температура BMS</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="54"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="55"/>
<source>Cell voltage</source> <source>Cell voltage</source>
<translation>Вольтаж ячейки</translation> <translation>Вольтаж ячейки</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="59"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="60"/>
<source>Cell list</source> <source>Cell list</source>
<translation>Список ячеек</translation> <translation>Список ячеек</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="189"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="192"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="202"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="205"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="215"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="218"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="228"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="231"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="241"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="244"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="254"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="257"/>
<source>Time, s</source> <source>Time, s</source>
<translation>Время, c</translation> <translation>Время, c</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="190"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="193"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="242"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="245"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="255"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="258"/>
<source>Voltage, V</source> <source>Voltage, V</source>
<translation>Напряжение, В</translation> <translation>Напряжение, В</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="203"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="206"/>
<source>Current, A</source> <source>Current, A</source>
<translation>Ток, А</translation> <translation>Ток, А</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="216"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="219"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="229"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="232"/>
<source>Temperature, °C</source> <source>Temperature, °C</source>
<translation>Температура, °C</translation> <translation>Температура, °C</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Pause data collection</source> <source>Pause data collection</source>
<translation>Приостановить сбор данных</translation> <translation>Приостановить сбор данных</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="273"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="276"/>
<source>Resume data collection</source> <source>Resume data collection</source>
<translation>Продолжить сбор данных</translation> <translation>Продолжить сбор данных</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="283"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="286"/>
<source>Clear data</source> <source>Clear data</source>
<translation>Очистить данные</translation> <translation>Очистить данные</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="312"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="315"/>
<source>Reset zoom</source> <source>Reset zoom</source>
<translation>Сбросить масштаб</translation> <translation>Сбросить масштаб</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="371"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="374"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="398"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="408"/>
<source>Cell #</source> <source>Cell #</source>
<translation>Ячейка </translation> <translation>Ячейка </translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="473"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="483"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="475"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="485"/>
<source>Voltage indicator</source> <source>Voltage indicator</source>
<translation>Показатель вольтажа</translation> <translation>Показатель вольтажа</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="480"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="490"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="482"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="492"/>
<source>Current indicator</source> <source>Current indicator</source>
<translation>Показатель тока</translation> <translation>Показатель тока</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="487"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="497"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="493"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="503"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="500"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="510"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="506"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="516"/>
<source>Maximum temperature</source> <source>Maximum temperature</source>
<translation>Максимальная температура</translation> <translation>Максимальная температура</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="489"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="499"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="494"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="504"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="502"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="512"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="507"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="517"/>
<source>Average temperature</source> <source>Average temperature</source>
<translation>Средняя температура</translation> <translation>Средняя температура</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="491"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="501"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="495"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="505"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="504"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="514"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="508"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="518"/>
<source>Minimum temperature</source> <source>Minimum temperature</source>
<translation>Минимальная температура</translation> <translation>Минимальная температура</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="513"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="523"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="519"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="529"/>
<source>Maximum voltage</source> <source>Maximum voltage</source>
<translation>Максимальное напряжение</translation> <translation>Максимальное напряжение</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="515"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="525"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="520"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="530"/>
<source>Average voltage</source> <source>Average voltage</source>
<translation>Среднее напряжение</translation> <translation>Среднее напряжение</translation>
</message> </message>
<message> <message>
<location filename="../qml/Screens/VisualizationScreen.qml" line="517"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="527"/>
<location filename="../qml/Screens/VisualizationScreen.qml" line="521"/> <location filename="../qml/Screens/VisualizationScreen.qml" line="531"/>
<source>Minimum voltage</source> <source>Minimum voltage</source>
<translation>Минимальное напряжение</translation> <translation>Минимальное напряжение</translation>
</message> </message>

View File

@@ -5,6 +5,13 @@
#include <QQmlEngine> #include <QQmlEngine>
#include <QLocale> #include <QLocale>
#include <QTimer> #include <QTimer>
#include <QSettings>
namespace
{
const QString settingsKey = "translator/currentLanguage";
}
Translator::Translator(QQmlEngine *engine, QObject *parent) : Translator::Translator(QQmlEngine *engine, QObject *parent) :
QObject(parent), QObject(parent),
@@ -34,6 +41,10 @@ Translator::Translator(QQmlEngine *engine, QObject *parent) :
QCoreApplication::installTranslator(mCurrentTranslator); QCoreApplication::installTranslator(mCurrentTranslator);
QSettings settings;
if (!settings.contains(::settingsKey))
{
if (QLocale::system().language() == QLocale::Russian) if (QLocale::system().language() == QLocale::Russian)
{ {
setCurrentLanguage(Language::Russian); setCurrentLanguage(Language::Russian);
@@ -46,6 +57,11 @@ Translator::Translator(QQmlEngine *engine, QObject *parent) :
{ {
setCurrentLanguage(Language::English); setCurrentLanguage(Language::English);
} }
}
else
{
setCurrentLanguage(static_cast<Language>(settings.value(::settingsKey).toInt()));
}
} }
QString Translator::languageName(Language language) const QString Translator::languageName(Language language) const
@@ -74,6 +90,8 @@ void Translator::setCurrentLanguage(Language language)
emit currentLanguageChanged(); emit currentLanguageChanged();
emit currentLanguageNameChanged(); emit currentLanguageNameChanged();
emit currentLanguageIconChanged(); emit currentLanguageIconChanged();
QSettings().setValue(::settingsKey, static_cast<int>(mCurrentLanguage));
} }
QString Translator::currentLanguageName() const QString Translator::currentLanguageName() const