Add Greek tranlation and use it

This commit is contained in:
Spiros
2024-06-15 18:32:36 +03:00
parent 5f78feda99
commit 2816cf060c
6 changed files with 191 additions and 137 deletions

1
.gitignore vendored
View File

@@ -29,7 +29,6 @@ ui_*.h
*.jsc
Makefile*
*build-*
*.qm
*.prl
# Qt unit tests

View File

@@ -1,10 +1,18 @@
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
#include <QLocale>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
if (translator.load(QLocale(), QLatin1String("kdiskinfo"), QLatin1String("_"), QLatin1String(":/translations"))) {
a.installTranslator(&translator);
}
MainWindow w;
w.setWindowIcon(QIcon(":/icons/icon.svg"));
w.show();

View File

@@ -52,11 +52,11 @@ MainWindow::MainWindow(QWidget *parent)
menuDevice = ui->menuDevice;
menuDisk = ui->menuDisk;
selfTestMenu = new QMenu("Start Self Test", this);
selfTestMenu = new QMenu(tr("Start Self Test"), this);
menuDevice->addMenu(selfTestMenu);
selfTestMenu->setToolTipsVisible(true);
selfTestLogAction = new QAction("Self Test Log", this);
selfTestLogAction = new QAction(tr("Self Test Log"), this);
menuDevice->addAction(selfTestLogAction);
disksGroup = new QActionGroup(this);
@@ -259,16 +259,16 @@ void MainWindow::updateUI()
}
if (healthPassed && !caution && !bad) {
health = "Good";
health = tr("Good");
healthColor = goodColor;
} else if (healthPassed && caution && !bad) {
health = "Caution";
health = tr("Caution");
healthColor = cautionColor;
} else if ((bad || !healthPassed) && !modelName.isEmpty()){
health = "Bad";
health = tr("Bad");
healthColor = badColor;
} else {
health = "Unknown";
health = tr("Unknown");
healthColor = naColor;
}
@@ -355,11 +355,13 @@ void MainWindow::selfTestHandler(const QString &mode, const QString &name, const
break;
}
}
percentage.replace("remaining", tr("remaining"));
percentage.replace("completed", tr("completed"));
if (exitStatus == 4) {
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Test Already Running"));
msgBox.setText(tr("A self-test is already being performed ") + percentage + tr("\nYou can press the Ok button in order to abort the test that is currently running"));
msgBox.setText(tr("A self-test is already being performed") + " " + percentage + "\n" + tr("You can press the Ok button in order to abort the test that is currently running"));
msgBox.setIcon(QMessageBox::Warning);
msgBox.addButton(QMessageBox::Cancel);
@@ -373,7 +375,7 @@ void MainWindow::selfTestHandler(const QString &mode, const QString &name, const
} else if (exitStatus == 0) {
QString infoMessage = tr("A self-test has been requested successfully");
if (minutes != "0") {
infoMessage = infoMessage + tr("\nIt will be completed after ") + minutes + tr(" minutes");
infoMessage = infoMessage + "\n" + tr("It will be completed after") + " " + minutes + " " + tr("minutes");
}
QMessageBox::information(this, tr("Test Requested"), infoMessage);
} else {
@@ -481,7 +483,7 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
int powerCycleCountInt = localObj["power_cycle_count"].toInt(-1);
QString powerCycleCount;
if (powerCycleCountInt >= 0) {
powerCycleCount = QString::number(powerCycleCountInt) + " count";
powerCycleCount = QString::number(powerCycleCountInt) + " " + tr("count");
} else {
powerCycleCount = "Unknown";
}
@@ -492,7 +494,7 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
int powerOnTimeInt = localObj["power_on_time"].toObject().value("hours").toInt(-1);
QString powerOnTime;
if (powerOnTimeInt >= 0) {
powerOnTime = QString::number(powerOnTimeInt) + " hours";
powerOnTime = QString::number(powerOnTimeInt) + " " + tr("hours");
} else {
powerOnTime = "Unknown";
}
@@ -638,11 +640,11 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
temperatureValue->setAlignment(Qt::AlignCenter);
if (health == "Bad") {
if (health == tr("Bad")) {
healthStatusValue->setStyleSheet("background-color: " + badColor.name() + ";");
} else if (health == "Caution"){
} else if (health == tr("Caution")){
healthStatusValue->setStyleSheet("background-color: " + cautionColor.name() + ";");
} else if (health == "Good") {
} else if (health == tr("Good")) {
healthStatusValue->setStyleSheet("background-color: " + goodColor.name() + ";");
} else {
healthStatusValue->setStyleSheet("background-color: " + naColor.name() + ";");
@@ -668,8 +670,17 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
int i = 0;
for (const QString& key : keys) {
QString minutes = QString::number(static_cast<int>(pollingMinutes[key].toInt()));
QString actionLabel = key + " (" + minutes + tr(" Min.)");
actionLabel[0] = actionLabel[0].toUpper();
QString keyTranslated;
if (key == "short") {
keyTranslated = tr("Short");
} else if (key == "extended") {
keyTranslated = tr("Extended");
} else {
keyTranslated = key;
keyTranslated = keyTranslated[0].toUpper();
qDebug() << minutes;
}
QString actionLabel = keyTranslated + " (" + minutes + " " + tr("Min.)");
QAction *action = new QAction(actionLabel, this);
selfTestMenu->addAction(action);
@@ -701,13 +712,13 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
selfTestMenu->clear();
selfTestMenu->setEnabled(true);
QAction *actionShort = new QAction("Short", this);
QAction *actionShort = new QAction(tr("Short"), this);
selfTestMenu->addAction(actionShort);
connect(actionShort, &QAction::triggered, this, [this, mode = "short", name, minutes = "0"]() {
selfTestHandler(mode, name, minutes);
});
QAction *actionLong = new QAction("Extended", this);
QAction *actionLong = new QAction(tr("Extended"), this);
selfTestMenu->addAction(actionLong);
connect(actionLong , &QAction::triggered, this, [this, mode = "long", name, minutes = "0"]() {
selfTestHandler(mode, name, minutes);
@@ -730,7 +741,7 @@ void MainWindow::addNvmeLogTable(const QVector<QPair<QString, int>>& nvmeLogOrde
QString warningMessage = "";
tableWidget->setColumnCount(4);
tableWidget->setHorizontalHeaderLabels({"", "ID", "Attribute Name", "Raw Values"});
tableWidget->setHorizontalHeaderLabels({"", tr("ID"), tr("Attribute Name"), tr("Raw Values")});
tableWidget->verticalHeader()->setVisible(false);
tableWidget->setItemDelegateForColumn(0, new StatusDot(tableWidget));
tableWidget->setRowCount(nvmeLogOrdered.size());
@@ -834,7 +845,7 @@ void MainWindow::addNvmeLogTable(const QVector<QPair<QString, int>>& nvmeLogOrde
void MainWindow::addSmartAttributesTable(const QJsonArray &attributes)
{
tableWidget->setColumnCount(7);
tableWidget->setHorizontalHeaderLabels({"", "ID", "Attribute Name", "Current", "Worst", "Threshold", "Raw Values"});
tableWidget->setHorizontalHeaderLabels({"", tr("ID"), tr("Attribute Name"), tr("Current"), tr("Worst"), tr("Threshold"), tr("Raw Values")});
tableWidget->verticalHeader()->setVisible(false);
tableWidget->setItemDelegateForColumn(0, new StatusDot(tableWidget));
tableWidget->setRowCount(attributes.size());
@@ -1048,11 +1059,11 @@ void MainWindow::on_actionRescan_Refresh_triggered()
void MainWindow::on_actionAbout_triggered()
{
QString message = "An ATA and NVMe S.M.A.R.T. data viewer for Linux\n\n";
message += "Licensed under the GNU G.P.L. Version 3\n\n";
message += "Made by Samantas5855";
QString message = tr("An ATA and NVMe S.M.A.R.T. data viewer for Linux") + "\n\n";
message += tr("Licensed under the GNU G.P.L. Version 3") + "\n\n";
message += tr("Made by Samantas5855");
QMessageBox::about(this, "About KDiskInfo", message);
QMessageBox::about(this, tr("About KDiskInfo"), message);
}
void MainWindow::on_actionIgnore_C4_Reallocation_Event_Count_toggled(bool enabled)

View File

@@ -2,4 +2,7 @@
<qresource prefix="/icons">
<file>icon.svg</file>
</qresource>
<qresource prefix="/">
<file alias="translations/kdiskinfo_el_GR.qm">../translations/kdiskinfo_el_GR.qm</file>
</qresource>
</RCC>

Binary file not shown.

View File

@@ -5,164 +5,118 @@
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.ui" line="23"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="408"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="408"/>
<source>KDiskInfo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="81"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="420"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="420"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt; font-weight:700;&quot;&gt;Hard Drive Name&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="117"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="422"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="422"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Health Status&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Κατάσταση Υγείας&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
<translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Υγεία&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="127"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="423"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="423"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:700; color:#000000;&quot;&gt;Good&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:700; color:#000000;&quot;&gt;100 %&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="134"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="424"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="424"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Temperature&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Θερμοκρασία&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="150"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="425"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="425"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:700; color:#000000;&quot;&gt;23° C&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="163"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="426"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="426"/>
<source>Firmware</source>
<translation>Λογισμικό</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="177"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="427"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="427"/>
<source>Serial Number</source>
<translation>Σειριακός Αριθμός</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="191"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="428"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="428"/>
<source>Protocol</source>
<translation>Πρωτόκολλο</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="205"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="429"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="429"/>
<source>Device Node</source>
<translation>Διαδρομή</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="225"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="431"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="431"/>
<location filename="../src/mainwindow.cpp" line="419"/>
<location filename="../src/mainwindow.cpp" line="421"/>
<source>Type</source>
<translation>Τύπος</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="247"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="432"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="432"/>
<source>Total Host Reads</source>
<translation>Συνολικές Αναγνώσεις</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="261"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="433"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="433"/>
<source>Total Host Writes</source>
<translation>Συνολικές Εγγραφές</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="275"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="434"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="434"/>
<source>Rotation Rate</source>
<translation>Ρυθμός Περιστροφής</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="289"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="435"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="435"/>
<source>Power On Count</source>
<translation>Μετρητής Λειτουργίας</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="303"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="436"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="436"/>
<location filename="../src/mainwindow.cpp" line="419"/>
<location filename="../src/mainwindow.cpp" line="421"/>
<source>Power On Hours</source>
<translation>Ώρες Λειτουργίας</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="335"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="437"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="437"/>
<source>File</source>
<translation>Αρχείο</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="342"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="438"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="438"/>
<source>Settings</source>
<translation>Ρυθμίσεις</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="388"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="410"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="410"/>
<source>&amp;Quit</source>
<translation>Έξοδος</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="399"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="411"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="411"/>
<source>&amp;Refresh Devices</source>
<translation>Ανανέωση Συσκευών</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="434"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="415"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="415"/>
<source>&amp;Convert Raw values to HEX</source>
<translation>Μετατροπή των τιμών σε δεκαεξαδικές</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="447"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="417"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="417"/>
<source>Self Test</source>
<translation>Αυτοδιάγνωση</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="455"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="418"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="418"/>
<source>Cyclic Navigation</source>
<translation>Κυκλική Πλοήγηση</translation>
</message>
@@ -172,29 +126,21 @@
</message>
<message>
<location filename="../src/mainwindow.ui" line="351"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="439"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="439"/>
<source>&amp;Help</source>
<translation>Βοήθεια</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="359"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="440"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="440"/>
<source>De&amp;vice</source>
<translation>Συσκευή</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="366"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="441"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="441"/>
<source>Disk</source>
<translation type="unfinished">Δίσκος</translation>
<translation>Δίσκος</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="380"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="409"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="409"/>
<source>&amp;Save JSON</source>
<translation>Αποθήκευση JSON</translation>
</message>
@@ -208,22 +154,16 @@
</message>
<message>
<location filename="../src/mainwindow.ui" line="407"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="412"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="412"/>
<source>&amp;GitHub</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="415"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="413"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="413"/>
<source>&amp;About</source>
<translation>Σχετικά</translation>
</message>
<message>
<location filename="../src/mainwindow.ui" line="426"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="414"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="414"/>
<source>&amp;Ignore C4 (Reallocated Event Count)</source>
<translation>Αγνόησε το C4 (Reallocated Event Count)</translation>
</message>
@@ -233,54 +173,66 @@
</message>
<message>
<location filename="../src/mainwindow.ui" line="442"/>
<location filename="../build/KDiskInfo_autogen/include/ui_mainwindow.h" line="416"/>
<location filename="../build/Unnamed-MinSizeRel/KDiskInfo_autogen/include/ui_mainwindow.h" line="416"/>
<source>&amp;Use Fahrenheit</source>
<translation>Χρήση Fahrenheit</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="262"/>
<location filename="../src/mainwindow.cpp" line="647"/>
<source>Good</source>
<translation type="obsolete">Καλή</translation>
<translation>Καλή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="265"/>
<location filename="../src/mainwindow.cpp" line="645"/>
<source>Caution</source>
<translation type="obsolete">Προσοχή</translation>
<translation>Προσοχή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="268"/>
<location filename="../src/mainwindow.cpp" line="643"/>
<source>Bad</source>
<translation type="obsolete">Κακή</translation>
<translation>Κακή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="271"/>
<source>Unknown</source>
<translation type="obsolete">Άγνωστη</translation>
<translation>Άγνωστη</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="744"/>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>Attribute Name</source>
<translation type="obsolete">Ιδιότητα</translation>
<translation>Ιδιότητα</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="744"/>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>Raw Values</source>
<translation type="obsolete">Τιμή</translation>
<translation>Τιμή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>Current</source>
<translation type="obsolete">Τρέχουσα</translation>
<translation>Τρέχουσα</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>Worst</source>
<translation type="obsolete">Χειρότερη</translation>
<translation>Χειρότερη</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>Threshold</source>
<translation type="obsolete">Όριο</translation>
<translation>Όριο</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="152"/>
<location filename="../src/mainwindow.cpp" line="337"/>
<location filename="../src/mainwindow.cpp" line="380"/>
<location filename="../src/mainwindow.cpp" line="949"/>
<location filename="../src/mainwindow.cpp" line="1122"/>
<location filename="../src/mainwindow.cpp" line="1126"/>
<location filename="../src/mainwindow.cpp" line="382"/>
<location filename="../src/mainwindow.cpp" line="960"/>
<location filename="../src/mainwindow.cpp" line="1133"/>
<location filename="../src/mainwindow.cpp" line="1137"/>
<source>KDiskInfo Error</source>
<translation>Σφάλμα KDiskInfo</translation>
</message>
@@ -300,136 +252,215 @@
<translation>Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να εκτελέσει την αυτοδιάγνωση!</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="361"/>
<location filename="../src/mainwindow.cpp" line="363"/>
<source>Test Already Running</source>
<translation>Μία αυτοδιάγνωση είναι ήδη σε εκτέλεση</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="362"/>
<source>A self-test is already being performed </source>
<translation>Μία αυτοδιάγνωση εκτελείτε αυτή τη στιγμή</translation>
<translation type="vanished">Μία αυτοδιάγνωση εκτελείτε αυτή τη στιγμή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="362"/>
<source>
You can press the Ok button in order to abort the test that is currently running</source>
<translation>Μπορείτε να πατήσετε το κουμπί Εντάξει για να ακυρώσετε την τρέχουσα αυτοδιάγνωση</translation>
<translation type="vanished">Μπορείτε να πατήσετε το κουμπί Εντάξει για να ακυρώσετε την τρέχουσα αυτοδιάγνωση</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="374"/>
<location filename="../src/mainwindow.cpp" line="376"/>
<source>A self-test has been requested successfully</source>
<translation>Η αυτοδιάγνωση ξεκίνησε επιτυχώς</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="376"/>
<source>
It will be completed after </source>
<translation>Θα τελειώσει μετά από</translation>
<translation type="vanished">Θα τελειώσει μετά από</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="376"/>
<source> minutes</source>
<translation>λεπτά</translation>
<translation type="vanished">λεπτά</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="378"/>
<location filename="../src/mainwindow.cpp" line="1124"/>
<location filename="../src/mainwindow.cpp" line="380"/>
<location filename="../src/mainwindow.cpp" line="1135"/>
<source>Test Requested</source>
<translation>Η αυτοδιάγνωση ξεκίνησε</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="380"/>
<location filename="../src/mainwindow.cpp" line="1126"/>
<location filename="../src/mainwindow.cpp" line="382"/>
<location filename="../src/mainwindow.cpp" line="1137"/>
<source>Error: Something went wrong</source>
<translation>Σφάλμα: Κάτι πήγε στραβά</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="419"/>
<location filename="../src/mainwindow.cpp" line="421"/>
<source>Status</source>
<translation>Κατάσταση</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="449"/>
<location filename="../src/mainwindow.cpp" line="59"/>
<location filename="../src/mainwindow.cpp" line="451"/>
<source>Self Test Log</source>
<translation>Καταγραφολόγιο Αυτοδιάγνωσης</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="671"/>
<location filename="../src/mainwindow.cpp" line="55"/>
<source>Start Self Test</source>
<translation>Εκκίνηση Αυτοδιάγνωσης</translation>
</message>
<message>
<source> Min.)</source>
<translation type="vanished">Λεπ.)</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="364"/>
<source>A self-test is already being performed</source>
<translation>Μία αυτοδιάγνωση εκτελείτε αυτή τη στιγμή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="364"/>
<source>You can press the Ok button in order to abort the test that is currently running</source>
<translation>Μπορείτε να πατήσετε το κουμπί Εντάξει για να ακυρώσετε την τρέχουσα αυτοδιάγνωση</translation>
</message>
<message>
<source>
It will be completed after</source>
<translation type="vanished">Θα τελειώσει μετά από</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="378"/>
<source>minutes</source>
<translation>λεπτά</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="683"/>
<source>Min.)</source>
<translation>Λεπ.)</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="768"/>
<location filename="../src/mainwindow.cpp" line="675"/>
<location filename="../src/mainwindow.cpp" line="715"/>
<source>Short</source>
<translation>Σύντομο</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="358"/>
<source>remaining</source>
<translation>απομένει</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="359"/>
<source>completed</source>
<translation>ολοκληρώθηκε</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="378"/>
<source>It will be completed after</source>
<translation>Θα τελειώσει μετά από</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="486"/>
<source>count</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="497"/>
<source>hours</source>
<translation>ώρες</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="677"/>
<location filename="../src/mainwindow.cpp" line="721"/>
<source>Extended</source>
<translation>Εμπεριστατωμένο</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="744"/>
<location filename="../src/mainwindow.cpp" line="848"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="779"/>
<source>Available spare capacity has fallen below the threshold</source>
<translation>Η υγεία του δίσκου έχει πέσει κάτω από το όριο</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="770"/>
<location filename="../src/mainwindow.cpp" line="781"/>
<source>Temperature error (Overheat or Overcool)</source>
<translation>Σφάλμα θερμοκρασίας (Υπερθέρμανση ή Υπερψύξη)</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="772"/>
<location filename="../src/mainwindow.cpp" line="783"/>
<source>NVM subsystem reliability has been degraded</source>
<translation>Η αξιοπιστία του NVMe έχει μειωθεί</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="774"/>
<location filename="../src/mainwindow.cpp" line="785"/>
<source>Media has been placed in Read Only Mode</source>
<translation>Το μέσο έχει τεθεί αποκλειστικά σε λειτουργία ανάγνωσης</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="776"/>
<location filename="../src/mainwindow.cpp" line="787"/>
<source>Volatile memory backup device has Failed</source>
<translation>Η δημιουργία αρχείου επαναφοράς της μη διατηρήσιμης μνήμης απέτυχε</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="778"/>
<location filename="../src/mainwindow.cpp" line="789"/>
<source>Persistent memory region has become Read-Only</source>
<translation>Η διατηρήσιμη μνήμη έχει μεταβεί αποκλειστικά σε λειτουργία ανάγνωσης</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="830"/>
<location filename="../src/mainwindow.cpp" line="841"/>
<source>Critical Warning</source>
<translation>Σημαντική Προειδοποίηση</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="949"/>
<location filename="../src/mainwindow.cpp" line="960"/>
<source>KDiskInfo needs root access in order to read S.M.A.R.T. data!</source>
<translation>Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να προσπελάσει τα δεδομένα S.M.A.R.T.!</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1010"/>
<location filename="../src/mainwindow.cpp" line="1021"/>
<source>Empty JSON</source>
<translation>Κενό JSON</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1011"/>
<location filename="../src/mainwindow.cpp" line="1022"/>
<source>The JSON is empty</source>
<translation>Αυτό το JSON είναι κενό</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1016"/>
<location filename="../src/mainwindow.cpp" line="1027"/>
<source>Save JSON</source>
<translation>Αποθήκευση JSON</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1017"/>
<location filename="../src/mainwindow.cpp" line="1028"/>
<source>JSON (*.json);;All Files (*)</source>
<translation>JSON (*.json);;;Όλα τα αρχεία (*)</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1023"/>
<location filename="../src/mainwindow.cpp" line="1034"/>
<source>Unable to open file for writing</source>
<translation>Δεν είναι δυνατό το άνοιγμα αυτού του αρχείου για εγγραφή</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1122"/>
<location filename="../src/mainwindow.cpp" line="1062"/>
<source>An ATA and NVMe S.M.A.R.T. data viewer for Linux</source>
<translation>Ένας αναγνώστης S.M.A.R.T. για τα Linux</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1063"/>
<source>Licensed under the GNU G.P.L. Version 3</source>
<translation>Διατίθεται υπό την άδεια GNU G.P.L. Έκδοση 3</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1133"/>
<source>KDiskInfo needs root access in order to abort a self-test!</source>
<translation>Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να ακυρώσει μία αυτοδιάγνωση!</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1124"/>
<location filename="../src/mainwindow.cpp" line="1135"/>
<source>The self-test has been aborted</source>
<translation>Η τρέχουσα αυτοδιάγνωση ακυρώθηκε</translation>
</message>
@@ -446,12 +477,14 @@ It will be completed after </source>
<translation type="obsolete">Διατίθεται υπό την άδεια GNU G.P.L. Έκδοση 3</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1064"/>
<source>Made by Samantas5855</source>
<translation type="obsolete">Δημιουργήθηκε από τον Samantas5855</translation>
<translation>Δημιουργήθηκε από τον Samantas5855</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="1066"/>
<source>About KDiskInfo</source>
<translation type="obsolete">Σχετικά με το KDiskInfo</translation>
<translation>Σχετικά με το KDiskInfo</translation>
</message>
</context>
</TS>