mirror of
https://github.com/edisionnano/QDiskInfo.git
synced 2026-03-07 20:09:55 +03:00
Move more functions to utils
This commit is contained in:
@@ -286,7 +286,7 @@ void MainWindow::updateUI()
|
||||
}
|
||||
|
||||
void MainWindow::selfTestHandler(const QString &mode, const QString &name, const QString &minutes) {
|
||||
QString output = initiateSelfTest(mode, name);
|
||||
QString output = Utils.initiateSelfTest(mode, name);
|
||||
if (output.isEmpty()) {
|
||||
QMessageBox::critical(this, tr("KDiskInfo Error"), tr("KDiskInfo needs root access in order to request a self-test!"));
|
||||
} else {
|
||||
@@ -324,7 +324,7 @@ void MainWindow::selfTestHandler(const QString &mode, const QString &name, const
|
||||
msgBox.exec();
|
||||
|
||||
if (msgBox.clickedButton() == abortButton) {
|
||||
cancelSelfTest(name);
|
||||
Utils.cancelSelfTest(name);
|
||||
}
|
||||
} else if (exitStatus == 0) {
|
||||
QString infoMessage = tr("A self-test has been requested successfully");
|
||||
@@ -786,7 +786,7 @@ void MainWindow::addNvmeLogTable(const QVector<QPair<QString, int>>& nvmeLogOrde
|
||||
|
||||
QString key = pair.first;
|
||||
QString name = key.replace("_", " ");
|
||||
name = toTitleCase(name);
|
||||
name = Utils.toTitleCase(name);
|
||||
|
||||
int rawInt = pair.second;
|
||||
QString raw = QString::number(rawInt);
|
||||
@@ -963,29 +963,6 @@ void MainWindow::addSmartAttributesTable(const QJsonArray &attributes)
|
||||
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
}
|
||||
|
||||
QString MainWindow::toTitleCase(const QString& sentence) {
|
||||
QString result;
|
||||
bool capitalizeNext = true;
|
||||
|
||||
for (const QChar& c : sentence) {
|
||||
if (c.isLetter()) {
|
||||
if (capitalizeNext) {
|
||||
result += c.toUpper();
|
||||
capitalizeNext = false;
|
||||
} else {
|
||||
result += c.toLower();
|
||||
}
|
||||
} else {
|
||||
result += c;
|
||||
if (c == ' ') {
|
||||
capitalizeNext = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void MainWindow::on_actionQuit_triggered()
|
||||
{
|
||||
qApp->quit();
|
||||
@@ -1020,13 +997,11 @@ void MainWindow::on_actionSave_JSON_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionGitHub_triggered()
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("https://github.com/edisionnano/KDiskInfo"));
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionRescan_Refresh_triggered()
|
||||
{
|
||||
QPair<QStringList, QJsonArray> values = Utils.scanDevices(initializing);
|
||||
@@ -1038,7 +1013,6 @@ void MainWindow::on_actionRescan_Refresh_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionAbout_triggered()
|
||||
{
|
||||
QString message = tr("An ATA and NVMe S.M.A.R.T. data viewer for Linux") + "\n";
|
||||
@@ -1058,7 +1032,6 @@ void MainWindow::on_actionIgnore_C4_Reallocation_Event_Count_toggled(bool enable
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::on_actionHEX_toggled(bool enabled)
|
||||
{
|
||||
settings.setValue("HEX", ui->actionHEX->isChecked());
|
||||
@@ -1085,39 +1058,12 @@ void MainWindow::on_actionCyclic_Navigation_toggled(bool cyclicNavigation)
|
||||
updateNavigationButtons(currentIndex);
|
||||
}
|
||||
|
||||
QString MainWindow::initiateSelfTest(const QString &testType, const QString &deviceNode)
|
||||
void MainWindow::on_actionUse_GB_instead_of_TB_toggled(bool gigabytes)
|
||||
{
|
||||
QProcess process;
|
||||
QString command = Utils.getSmartctlPath(initializing);
|
||||
QStringList arguments;
|
||||
arguments << command << "--json=o" << "-t" << testType << deviceNode;
|
||||
|
||||
process.start("pkexec", arguments);
|
||||
process.waitForFinished(-1);
|
||||
|
||||
if (process.isOpen()) {
|
||||
return process.readAllStandardOutput();
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::cancelSelfTest(const QString &deviceNode)
|
||||
{
|
||||
QProcess process;
|
||||
QString command = Utils.getSmartctlPath(initializing);
|
||||
QStringList arguments;
|
||||
arguments << command << "-X" << deviceNode;
|
||||
|
||||
process.start("pkexec", arguments);
|
||||
process.waitForFinished(-1);
|
||||
|
||||
if (process.exitCode() == 127) {
|
||||
QMessageBox::critical(this, tr("KDiskInfo Error"), tr("KDiskInfo needs root access in order to abort a self-test!"));
|
||||
} else if (process.exitCode() == QProcess::NormalExit) {
|
||||
QMessageBox::information(this, tr("Test Requested"), tr("The self-test has been aborted"));
|
||||
} else {
|
||||
QMessageBox::critical(this, tr("KDiskInfo Error"), tr("Error: Something went wrong"));
|
||||
settings.setValue("UseGB", ui->actionUse_GB_instead_of_TB->isChecked());
|
||||
if (!initializing) {
|
||||
Utils.clearButtonGroup(buttonGroup, horizontalLayout, buttonStretch, menuDisk);
|
||||
updateUI();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1129,12 +1075,3 @@ void MainWindow::mousePressEvent(QMouseEvent *event)
|
||||
onPrevButtonClicked();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_actionUse_GB_instead_of_TB_toggled(bool gigabytes)
|
||||
{
|
||||
settings.setValue("UseGB", ui->actionUse_GB_instead_of_TB->isChecked());
|
||||
if (!initializing) {
|
||||
Utils.clearButtonGroup(buttonGroup, horizontalLayout, buttonStretch, menuDisk);
|
||||
updateUI();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,10 +99,6 @@ private:
|
||||
void populateWindow(const QJsonObject &tempObj, const QString &health, const QVector<QPair<QString, int>>& nvmeLogOrdered = QVector<QPair<QString, int>>());
|
||||
void addNvmeLogTable(const QVector<QPair<QString, int>>& nvmeLogOrdered);
|
||||
void addSmartAttributesTable(const QJsonArray &attributes);
|
||||
QString getSmartctlOutput(const QStringList &arguments, bool root);
|
||||
QString toTitleCase(const QString& sentence);
|
||||
QString initiateSelfTest(const QString &testType, const QString &deviceNode);
|
||||
void cancelSelfTest(const QString &deviceNode);
|
||||
void mousePressEvent(QMouseEvent*);
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -108,3 +108,62 @@ QPair<QStringList, QJsonArray> utils::scanDevices(bool initializing)
|
||||
return QPair<QStringList, QJsonArray>(QStringList(), QJsonArray());
|
||||
}
|
||||
}
|
||||
|
||||
QString utils::initiateSelfTest(const QString &testType, const QString &deviceNode)
|
||||
{
|
||||
QProcess process;
|
||||
QString command = getSmartctlPath(false);
|
||||
QStringList arguments;
|
||||
arguments << command << "--json=o" << "-t" << testType << deviceNode;
|
||||
|
||||
process.start("pkexec", arguments);
|
||||
process.waitForFinished(-1);
|
||||
|
||||
if (process.isOpen()) {
|
||||
return process.readAllStandardOutput();
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
void utils::cancelSelfTest(const QString &deviceNode)
|
||||
{
|
||||
QProcess process;
|
||||
QString command = getSmartctlPath(false);
|
||||
QStringList arguments;
|
||||
arguments << command << "-X" << deviceNode;
|
||||
|
||||
process.start("pkexec", arguments);
|
||||
process.waitForFinished(-1);
|
||||
|
||||
if (process.exitCode() == 127) {
|
||||
QMessageBox::critical(nullptr, QObject::tr("KDiskInfo Error"), QObject::tr("KDiskInfo needs root access in order to abort a self-test!"));
|
||||
} else if (process.exitCode() == QProcess::NormalExit) {
|
||||
QMessageBox::information(nullptr, QObject::tr("Test Requested"), QObject::tr("The self-test has been aborted"));
|
||||
} else {
|
||||
QMessageBox::critical(nullptr, QObject::tr("KDiskInfo Error"), QObject::tr("Error: Something went wrong"));
|
||||
}
|
||||
}
|
||||
|
||||
QString utils::toTitleCase(const QString& sentence) {
|
||||
QString result;
|
||||
bool capitalizeNext = true;
|
||||
|
||||
for (const QChar& c : sentence) {
|
||||
if (c.isLetter()) {
|
||||
if (capitalizeNext) {
|
||||
result += c.toUpper();
|
||||
capitalizeNext = false;
|
||||
} else {
|
||||
result += c.toLower();
|
||||
}
|
||||
} else {
|
||||
result += c;
|
||||
if (c == ' ') {
|
||||
capitalizeNext = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -32,6 +32,9 @@ public:
|
||||
QString getSmartctlPath(bool initializing);
|
||||
QString getSmartctlOutput(const QStringList &arguments, bool root, bool initializing);
|
||||
QPair<QStringList, QJsonArray> scanDevices(bool initializing);
|
||||
QString initiateSelfTest(const QString &testType, const QString &deviceNode);
|
||||
void cancelSelfTest(const QString &deviceNode);
|
||||
QString toTitleCase(const QString& sentence);
|
||||
};
|
||||
|
||||
#endif // UTILS_H
|
||||
|
||||
Binary file not shown.
@@ -14,258 +14,247 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="117"/>
|
||||
<location filename="../src/mainwindow.ui" line="120"/>
|
||||
<source><html><head/><body><p align="center">Health Status</p></body></html></source>
|
||||
<translation><html><head/><body><p align="center">Κατάστ. Υγειας</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="127"/>
|
||||
<location filename="../src/mainwindow.ui" line="136"/>
|
||||
<source><html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:700; color:#000000;">Good</span></p><p align="center"><span style=" font-size:12pt; font-weight:700; color:#000000;">100 %</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="134"/>
|
||||
<location filename="../src/mainwindow.ui" line="159"/>
|
||||
<source><html><head/><body><p align="center">Temperature</p></body></html></source>
|
||||
<translation><html><head/><body><p align="center">Θερμοκρασία</p></body></html></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="150"/>
|
||||
<location filename="../src/mainwindow.ui" line="175"/>
|
||||
<source><html><head/><body><p align="center"><span style=" font-size:12pt; font-weight:700; color:#000000;">23° C</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="179"/>
|
||||
<location filename="../src/mainwindow.ui" line="220"/>
|
||||
<source>Firmware</source>
|
||||
<translation>Έκδοση Λογισμικού</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="193"/>
|
||||
<location filename="../src/mainwindow.ui" line="234"/>
|
||||
<source>Serial Number</source>
|
||||
<translation>Σειριακός Αριθμός</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="207"/>
|
||||
<location filename="../src/mainwindow.ui" line="248"/>
|
||||
<source>Protocol</source>
|
||||
<translation>Πρωτόκολλο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="221"/>
|
||||
<location filename="../src/mainwindow.ui" line="262"/>
|
||||
<source>Device Node</source>
|
||||
<translation>Διαδρομή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="241"/>
|
||||
<location filename="../src/mainwindow.cpp" line="440"/>
|
||||
<location filename="../src/mainwindow.ui" line="282"/>
|
||||
<location filename="../src/mainwindow.cpp" line="387"/>
|
||||
<source>Type</source>
|
||||
<translation>Τύπος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="263"/>
|
||||
<location filename="../src/mainwindow.ui" line="304"/>
|
||||
<source>Total Host Reads</source>
|
||||
<translation>Συνολικές Αναγνώσεις</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="277"/>
|
||||
<location filename="../src/mainwindow.ui" line="318"/>
|
||||
<source>Total Host Writes</source>
|
||||
<translation>Συνολικές Εγγραφές</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="291"/>
|
||||
<location filename="../src/mainwindow.ui" line="332"/>
|
||||
<source>Rotation Rate</source>
|
||||
<translation>Ρυθμός Περιστροφής</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="305"/>
|
||||
<location filename="../src/mainwindow.ui" line="346"/>
|
||||
<source>Power On Count</source>
|
||||
<translation>Μετρητής Λειτουργίας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="319"/>
|
||||
<location filename="../src/mainwindow.cpp" line="440"/>
|
||||
<location filename="../src/mainwindow.ui" line="360"/>
|
||||
<location filename="../src/mainwindow.cpp" line="387"/>
|
||||
<source>Power On Hours</source>
|
||||
<translation>Ώρες Λειτουργίας</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="351"/>
|
||||
<location filename="../src/mainwindow.ui" line="392"/>
|
||||
<source>File</source>
|
||||
<translation>&Αρχείο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="358"/>
|
||||
<location filename="../src/mainwindow.ui" line="399"/>
|
||||
<source>Settings</source>
|
||||
<translation>&Ρυθμίσεις</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="405"/>
|
||||
<location filename="../src/mainwindow.ui" line="446"/>
|
||||
<source>&Quit</source>
|
||||
<translation>Έ&ξοδος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="416"/>
|
||||
<location filename="../src/mainwindow.ui" line="457"/>
|
||||
<source>&Refresh Devices</source>
|
||||
<translation>&Ανανέωση Συσκευών</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="451"/>
|
||||
<location filename="../src/mainwindow.ui" line="492"/>
|
||||
<source>&Convert Raw values to HEX</source>
|
||||
<translation>&Μετατροπή των τιμών σε δεκαεξαδικές</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="464"/>
|
||||
<location filename="../src/mainwindow.ui" line="505"/>
|
||||
<source>Self Test</source>
|
||||
<translation>Αυτοδιάγνωση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="472"/>
|
||||
<location filename="../src/mainwindow.ui" line="513"/>
|
||||
<source>Cyclic &Navigation</source>
|
||||
<translation>&Κυκλική Πλοήγηση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="480"/>
|
||||
<location filename="../src/mainwindow.ui" line="521"/>
|
||||
<source>Use &GB instead of TB</source>
|
||||
<translation>Χρήση &GB αντί για TB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="368"/>
|
||||
<location filename="../src/mainwindow.ui" line="409"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Βοήθεια</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="376"/>
|
||||
<location filename="../src/mainwindow.ui" line="417"/>
|
||||
<source>De&vice</source>
|
||||
<translation>&Συσκευή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="383"/>
|
||||
<location filename="../src/mainwindow.cpp" line="283"/>
|
||||
<location filename="../src/mainwindow.ui" line="424"/>
|
||||
<location filename="../src/mainwindow.cpp" line="230"/>
|
||||
<source>Disk</source>
|
||||
<translation>&Δίσκος</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="397"/>
|
||||
<location filename="../src/mainwindow.ui" line="438"/>
|
||||
<source>&Save JSON</source>
|
||||
<translation>Αποθήκευση &JSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="424"/>
|
||||
<location filename="../src/mainwindow.ui" line="465"/>
|
||||
<source>&GitHub</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="432"/>
|
||||
<location filename="../src/mainwindow.ui" line="473"/>
|
||||
<source>&About</source>
|
||||
<translation>&Σχετικά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="443"/>
|
||||
<location filename="../src/mainwindow.ui" line="484"/>
|
||||
<source>&Ignore C4 (Reallocated Event Count)</source>
|
||||
<translation>&Αγνόησε το C4 (Reallocated Event Count)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.ui" line="459"/>
|
||||
<location filename="../src/mainwindow.ui" line="500"/>
|
||||
<source>&Use Fahrenheit</source>
|
||||
<translation>Χρήση &Fahrenheit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="269"/>
|
||||
<location filename="../src/mainwindow.cpp" line="709"/>
|
||||
<location filename="../src/mainwindow.cpp" line="216"/>
|
||||
<location filename="../src/mainwindow.cpp" line="671"/>
|
||||
<source>Good</source>
|
||||
<translation>Καλή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="272"/>
|
||||
<location filename="../src/mainwindow.cpp" line="707"/>
|
||||
<location filename="../src/mainwindow.cpp" line="219"/>
|
||||
<location filename="../src/mainwindow.cpp" line="669"/>
|
||||
<source>Caution</source>
|
||||
<translation>Προσοχή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="275"/>
|
||||
<location filename="../src/mainwindow.cpp" line="705"/>
|
||||
<location filename="../src/mainwindow.cpp" line="222"/>
|
||||
<location filename="../src/mainwindow.cpp" line="667"/>
|
||||
<source>Bad</source>
|
||||
<translation>Κακή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="278"/>
|
||||
<location filename="../src/mainwindow.cpp" line="225"/>
|
||||
<source>Unknown</source>
|
||||
<translation>Άγνωστη</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="813"/>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="775"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>Attribute Name</source>
|
||||
<translation>Ιδιότητα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="813"/>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="775"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>Raw Values</source>
|
||||
<translation>Τιμή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>Current</source>
|
||||
<translation>Τρέχουσα</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>Worst</source>
|
||||
<translation>Χειρότερη</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>Threshold</source>
|
||||
<translation>Όριο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="151"/>
|
||||
<location filename="../src/mainwindow.cpp" line="344"/>
|
||||
<location filename="../src/mainwindow.cpp" line="389"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1029"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1203"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1207"/>
|
||||
<location filename="../src/mainwindow.cpp" line="291"/>
|
||||
<location filename="../src/mainwindow.cpp" line="336"/>
|
||||
<source>KDiskInfo Error</source>
|
||||
<translation>Σφάλμα KDiskInfo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="151"/>
|
||||
<source>smartctl was not found, please install it!</source>
|
||||
<translation>Το smartctl δε βρέθηκε, παρακαλείσθε να το εγκαταστήσετε!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="344"/>
|
||||
<location filename="../src/mainwindow.cpp" line="291"/>
|
||||
<source>KDiskInfo needs root access in order to request a self-test!</source>
|
||||
<translation>Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να εκτελέσει την αυτοδιάγνωση!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="370"/>
|
||||
<location filename="../src/mainwindow.cpp" line="317"/>
|
||||
<source>Test Already Running</source>
|
||||
<translation>Μία αυτοδιάγνωση είναι ήδη σε εκτέλεση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="383"/>
|
||||
<location filename="../src/mainwindow.cpp" line="330"/>
|
||||
<source>A self-test has been requested successfully</source>
|
||||
<translation>Η αυτοδιάγνωση ξεκίνησε επιτυχώς</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="387"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1205"/>
|
||||
<location filename="../src/mainwindow.cpp" line="334"/>
|
||||
<source>Test Requested</source>
|
||||
<translation>Η αυτοδιάγνωση ξεκίνησε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="389"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1207"/>
|
||||
<location filename="../src/mainwindow.cpp" line="336"/>
|
||||
<source>Error: Something went wrong</source>
|
||||
<translation>Σφάλμα: Κάτι πήγε στραβά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="440"/>
|
||||
<location filename="../src/mainwindow.cpp" line="387"/>
|
||||
<source>Status</source>
|
||||
<translation>Κατάσταση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="59"/>
|
||||
<location filename="../src/mainwindow.cpp" line="470"/>
|
||||
<location filename="../src/mainwindow.cpp" line="432"/>
|
||||
<source>Self Test Log</source>
|
||||
<translation>&Καταγραφολόγιο Αυτοδιάγνωσης</translation>
|
||||
</message>
|
||||
@@ -275,172 +264,198 @@
|
||||
<translation>&Εκκίνηση Αυτοδιάγνωσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="371"/>
|
||||
<location filename="../src/mainwindow.cpp" line="318"/>
|
||||
<source>A self-test is already being performed</source>
|
||||
<translation>Μία αυτοδιάγνωση εκτελείτε αυτή τη στιγμή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="371"/>
|
||||
<location filename="../src/mainwindow.cpp" line="318"/>
|
||||
<source>You can press the Ok button in order to abort the test that is currently running</source>
|
||||
<translation>Μπορείτε να πατήσετε το κουμπί Εντάξει για να ακυρώσετε την τρέχουσα αυτοδιάγνωση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="385"/>
|
||||
<location filename="../src/mainwindow.cpp" line="332"/>
|
||||
<source>minutes</source>
|
||||
<translation>λεπτά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="746"/>
|
||||
<location filename="../src/mainwindow.cpp" line="708"/>
|
||||
<source>Min.)</source>
|
||||
<translation>Λεπ.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="737"/>
|
||||
<location filename="../src/mainwindow.cpp" line="784"/>
|
||||
<location filename="../src/mainwindow.cpp" line="699"/>
|
||||
<location filename="../src/mainwindow.cpp" line="746"/>
|
||||
<source>Short</source>
|
||||
<translation>Σύντομο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="365"/>
|
||||
<location filename="../src/mainwindow.cpp" line="312"/>
|
||||
<source>remaining</source>
|
||||
<translation>απομένει</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="366"/>
|
||||
<location filename="../src/mainwindow.cpp" line="313"/>
|
||||
<source>completed</source>
|
||||
<translation>ολοκληρώθηκε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="385"/>
|
||||
<location filename="../src/mainwindow.cpp" line="332"/>
|
||||
<source>It will be completed after</source>
|
||||
<translation>Θα τελειώσει μετά από</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="505"/>
|
||||
<location filename="../src/mainwindow.cpp" line="467"/>
|
||||
<source>count</source>
|
||||
<translation>μονάδες</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="516"/>
|
||||
<location filename="../src/mainwindow.cpp" line="478"/>
|
||||
<source>hours</source>
|
||||
<translation>ώρες</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="739"/>
|
||||
<location filename="../src/mainwindow.cpp" line="701"/>
|
||||
<source>Conveyance</source>
|
||||
<translation>Μεταφορά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="741"/>
|
||||
<location filename="../src/mainwindow.cpp" line="790"/>
|
||||
<location filename="../src/mainwindow.cpp" line="703"/>
|
||||
<location filename="../src/mainwindow.cpp" line="752"/>
|
||||
<source>Extended</source>
|
||||
<translation>Εμπεριστατωμένο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="813"/>
|
||||
<location filename="../src/mainwindow.cpp" line="917"/>
|
||||
<location filename="../src/mainwindow.cpp" line="775"/>
|
||||
<location filename="../src/mainwindow.cpp" line="871"/>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="848"/>
|
||||
<location filename="../src/mainwindow.cpp" line="802"/>
|
||||
<source>Available spare capacity has fallen below the threshold</source>
|
||||
<translation>Η υγεία του δίσκου έχει πέσει κάτω από το όριο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="850"/>
|
||||
<location filename="../src/mainwindow.cpp" line="804"/>
|
||||
<source>Temperature error (Overheat or Overcool)</source>
|
||||
<translation>Σφάλμα θερμοκρασίας (Υπερθέρμανση ή Υπερψύξη)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="852"/>
|
||||
<location filename="../src/mainwindow.cpp" line="806"/>
|
||||
<source>NVM subsystem reliability has been degraded</source>
|
||||
<translation>Η αξιοπιστία του NVMe έχει μειωθεί</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="854"/>
|
||||
<location filename="../src/mainwindow.cpp" line="808"/>
|
||||
<source>Media has been placed in Read Only Mode</source>
|
||||
<translation>Το μέσο έχει τεθεί αποκλειστικά σε λειτουργία ανάγνωσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="856"/>
|
||||
<location filename="../src/mainwindow.cpp" line="810"/>
|
||||
<source>Volatile memory backup device has Failed</source>
|
||||
<translation>Η δημιουργία αρχείου επαναφοράς της μη διατηρήσιμης μνήμης απέτυχε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="858"/>
|
||||
<location filename="../src/mainwindow.cpp" line="812"/>
|
||||
<source>Persistent memory region has become Read-Only</source>
|
||||
<translation>Η διατηρήσιμη μνήμη έχει μεταβεί αποκλειστικά σε λειτουργία ανάγνωσης</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="910"/>
|
||||
<location filename="../src/mainwindow.cpp" line="864"/>
|
||||
<source>Critical Warning</source>
|
||||
<translation>Σημαντική Προειδοποίηση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1029"/>
|
||||
<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="1090"/>
|
||||
<location filename="../src/mainwindow.cpp" line="974"/>
|
||||
<source>Empty JSON</source>
|
||||
<translation>Κενό JSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1091"/>
|
||||
<location filename="../src/mainwindow.cpp" line="975"/>
|
||||
<source>The JSON is empty</source>
|
||||
<translation>Αυτό το JSON είναι κενό</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1096"/>
|
||||
<location filename="../src/mainwindow.cpp" line="980"/>
|
||||
<source>Save JSON</source>
|
||||
<translation>Αποθήκευση JSON</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1097"/>
|
||||
<location filename="../src/mainwindow.cpp" line="981"/>
|
||||
<source>JSON (*.json);;All Files (*)</source>
|
||||
<translation>JSON (*.json);;;Όλα τα αρχεία (*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1103"/>
|
||||
<location filename="../src/mainwindow.cpp" line="987"/>
|
||||
<source>Unable to open file for writing</source>
|
||||
<translation>Δεν είναι δυνατό το άνοιγμα αυτού του αρχείου για εγγραφή</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1131"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1018"/>
|
||||
<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="1132"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1019"/>
|
||||
<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="1134"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1021"/>
|
||||
<source>Version</source>
|
||||
<translation>Έκδοση</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1203"/>
|
||||
<source>KDiskInfo needs root access in order to abort a self-test!</source>
|
||||
<translation>Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να ακυρώσει μία αυτοδιάγνωση!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1205"/>
|
||||
<source>The self-test has been aborted</source>
|
||||
<translation>Η τρέχουσα αυτοδιάγνωση ακυρώθηκε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1133"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1020"/>
|
||||
<source>Made by Samantas5855</source>
|
||||
<translation>Δημιουργήθηκε από τον Samantas5855</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/mainwindow.cpp" line="1136"/>
|
||||
<location filename="../src/mainwindow.cpp" line="1023"/>
|
||||
<source>About KDiskInfo</source>
|
||||
<translation>Σχετικά με το KDiskInfo</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="49"/>
|
||||
<location filename="../src/utils.cpp" line="82"/>
|
||||
<location filename="../src/utils.cpp" line="140"/>
|
||||
<location filename="../src/utils.cpp" line="144"/>
|
||||
<source>KDiskInfo Error</source>
|
||||
<translation type="unfinished">Σφάλμα KDiskInfo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="49"/>
|
||||
<source>KDiskInfo needs root access in order to read S.M.A.R.T. data!</source>
|
||||
<translation type="unfinished">Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να προσπελάσει τα δεδομένα S.M.A.R.T.!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="82"/>
|
||||
<source>smartctl was not found, please install it!</source>
|
||||
<translation type="unfinished">Το smartctl δε βρέθηκε, παρακαλείσθε να το εγκαταστήσετε!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="140"/>
|
||||
<source>KDiskInfo needs root access in order to abort a self-test!</source>
|
||||
<translation type="unfinished">Το KDiskInfo χρειάζεται δικαιώματα υπερχρήστη για να ακυρώσει μία αυτοδιάγνωση!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="142"/>
|
||||
<source>Test Requested</source>
|
||||
<translation type="unfinished">Η αυτοδιάγνωση ξεκίνησε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="142"/>
|
||||
<source>The self-test has been aborted</source>
|
||||
<translation type="unfinished">Η τρέχουσα αυτοδιάγνωση ακυρώθηκε</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/utils.cpp" line="144"/>
|
||||
<source>Error: Something went wrong</source>
|
||||
<translation type="unfinished">Σφάλμα: Κάτι πήγε στραβά</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
Reference in New Issue
Block a user