diff --git a/.gitignore b/.gitignore index 0bd7665..5408090 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,6 @@ compile_commands.json # QtCreator local machine specific files for imported projects *creator.user* + +qtwebengine_dictionaries +whatsie diff --git a/src/WhatsApp.pro b/src/WhatsApp.pro index db69dd5..992834e 100644 --- a/src/WhatsApp.pro +++ b/src/WhatsApp.pro @@ -113,6 +113,9 @@ FORMS += \ rateapp.ui \ settingswidget.ui +TRANSLATIONS += \ + i18n/it_IT.ts + qtPrepareTool(CONVERT_TOOL, qwebengine_convert_dict) DICTIONARIES_DIR = qtwebengine_dictionaries diff --git a/src/about.cpp b/src/about.cpp index 9038f20..ba54a7e 100644 --- a/src/about.cpp +++ b/src/about.cpp @@ -11,7 +11,7 @@ About::About(QWidget *parent) : QWidget(parent), ui(new Ui::About) { // init appName = QApplication::applicationName(); - appDescription = "WhatsApp Web clinet for Linux Desktop"; + appDescription = "WhatsApp Web client for Linux Desktop"; isOpenSource = true; appAuthorName = "Keshav Bhatt"; appAuthorEmail = "keshavnrj@gmail.com"; @@ -35,8 +35,8 @@ About::About(QWidget *parent) : QWidget(parent), ui(new Ui::About) { QString("

Designed & Developed " "by:" " %1

" - "Developer Email address: %2

" - "

Developer Website:" + "Email: %2

" + "

Website:" " %3

") .arg(appAuthorName, appAuthorEmail, appAuthorLink)); diff --git a/src/about.ui b/src/about.ui index 653d972..b828eb2 100644 --- a/src/about.ui +++ b/src/about.ui @@ -139,7 +139,7 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><span style=" font-weight:600;">Designed &amp; Developed by:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Developer Email address: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Developer Website:</span> http://ktechpit.com</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Designed &amp; Developed by:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Email: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Website:</span> http://ktechpit.com</p></body></html> @@ -168,7 +168,7 @@ p, li { white-space: pre-wrap; } - Donate Paypal + Donate PayPal @@ -193,7 +193,7 @@ p, li { white-space: pre-wrap; } - More Application by Developer + More Applications diff --git a/src/i18n/it_IT.ts b/src/i18n/it_IT.ts new file mode 100644 index 0000000..f419862 --- /dev/null +++ b/src/i18n/it_IT.ts @@ -0,0 +1,1065 @@ + + + + + About + + + Form + Form + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt;">WhatSie</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">WhatsApp Web Client for Linux Desktop.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt;">WhatSie</span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Client WhatsApp Web per Desktop Linux.</p></body></html> + + + + - + - + + + <html><head/><body><p><span style=" font-weight:600;">Designed &amp; Developed by:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Email address: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Website:</span> http://ktechpit.com</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Progettato &amp; Sviluppato da:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Email: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Sito Web:</span> http://ktechpit.com</p></body></html> + + + + <html><head/><body><p><span style=" font-weight:600;">Designed &amp; Developed by:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Email: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Website:</span> http://ktechpit.com</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Progettato &amp; Sviluppato da:</span> Keshav Bhatt </p><p><span style=" font-weight:600;">Email: </span>keshavnrj@gmail.com</p><p><span style=" font-weight:600;">Sito Web:</span> http://ktechpit.com</p></body></html> + + + + Donate PayPal + Dona via PayPal + + + + Donate OpenCollective + Dona via OpenCollective + + + + Rate in Store + Lascia una Recensione + + + + More Applications + Altre Applicazioni + + + + Source Code + Codice Sorgente + + + + Debug Info + Dettagli Debug + + + + AutomaticTheme + + + Form + Form + + + + Sunrise + Alba + + + + Sunset + Tramonto + + + + Refresh + Aggiorna + + + + Disable and Close + Disabilita e Chiudi + + + + + Enable and Close + Abilita e Chiudi + + + + + CertificateErrorDialog + + + Dialog + Dialog + + + + Icon + Icon + + + + Error + + + + + If you wish so, you may continue with an unverified certificate. Accepting an unverified certificate mean you may not be connected with the host you tried to connect to. + +Do you wish to override the security check and continue ? + Se lo desideri, puoi continuare con un certificato non verificato. Accettare un certificato non verificato significa che potresti non essere connesso all'host a cui hai tentato di connetterti. +Desideri ignorare il controllo di sicurezza e continuare? + + + + DownloadManagerWidget + + + Downloads + Scaricati + + + + No downloads + Nessun download + + + + Open Download directory + Apri cartella Scaricati + + + + DownloadWidget + + + + TextLabel + TextLabel + + + + %L1 B + %L1 B + + + + %L1 KiB + %L1 KiB + + + + %L1 MiB + %L1 MiB + + + + %L1 GiB + %L1 GiB + + + + %p% - %1 of %2 downloaded - %3/s + %p% - %1 di %2 scaricati - %3/s + + + + unknown size - %1 downloaded - %2/s + dimensione sconosciuta - %1 scaricato - %2/s + + + + completed - %1 downloaded - %2/s + completato - %1 scaricato - %2/s + + + + cancelled - %1 downloaded - %2/s + annullato - %1 scaricato - %2/s + + + + interrupted: %1 + interrotto: %1 + + + + Stop downloading + Ferma scaricamento + + + + Remove from list + Rimuovi dalla lista + + + + Lock + + + Form + Form + + + + Set lock passcode + Imposta codice di blocco per l'applicazione + + + + enter passcode + Inserisci codice di blocco + + + + enter passcode again + Ripeti codice di blocco + + + + Set Pass Code + Imposta Codice di Blocco + + + + Cancel + Annulla + + + + + Warning: Caps Lock is On + Attenzione: Blocco Maiusc Attivo + + + + <html><head/><body><p>Note: Passcode must be more then 4 characters and must match in both fields.</p></body></html> + <html><head/><body><p>Nota: Il codice di blocco deve contenere più di 4 caratteri e deve corrispondere in entrambi i campi.</p></body></html> + + + + Enter your passcode to get access to app + Inserisci il codice di blocco per accedere all'app + + + + enter your passcode + Inserisci codice di blocco + + + + Unlock + Sblocca + + + + <html><head/><body><p>Wrong Passcode, Please try again.</p></body></html> + <html><head/><body><p>Codice di Blocco Errato, Riprova.</p></body></html> + + + + MainWindow + + + Rate Application + Lascia una Recensione + + + + App lock is not configured, +Please setup the password in the Settings first. + +Open Settings now? + Blocco non configurato, +Imposta la password nelle Impostazioni. + +Aprire le Impostazioni ora? + + + + Unlock to access Settings. + Sblocca per aprire le Impostazioni. + + + + Fullscreen + Schermo Intero + + + Mi&nimize to barra di sistema + Mi&nimizza nella barra di sistema + + + + Mi&nimize to tray + Mi&nimizza nella barra + + + + &Restore + &Ripristina + + + + Re&load + Ricarica + + + + Loc&k + Blocca + + + + &Settings + Impo&stazioni + + + + &Toggle theme + Al&terna tema + + + + &About + Info + + + + &Quit + Esci + + + + messages + messaggi + + + + message + messaggio + + + + Restore + Ripristina + + + + New Chat + Nuova Chat + + + + Enter a valid WhatsApp number with country code (ex- +91XXXXXXXXXX) + Inserisci un numero WhatsApp valido con prefisso internazionale (es- +39XXXXXXXXXXXX) + + + + Invalid Phone Number + Numero di Telefono non Valido + + + + Unlock to Reload the App. + Sblocca per Ricaricare l'App. + + + + NotificationPopup + + + Close + Chiudi + + + + PasswordDialog + + + Authentication Required + Autenticazione Richiesta + + + + Icon + Icona + + + + Info + + + + + Username: + Nome Utente: + + + + Password: + Password: + + + + PermissionDialog + + + Form + Form + + + + Feature + Funzionalità + + + + Status + Stato + + + + QObject + + + + Show Debug Info + Mostra Dettagli Debug + + + + Hide Debug Info + Nascondi Dettagli Debug + + + + Version + Versione + + + + Source Branch + Ramo Sorgente + + + + Commit Hash + Commit + + + + Build Datetime + Data Compilazione + + + + Qt Runtime Version + Versione Qt di Esecuzione + + + + Qt Compiled Version + Versione Qt di Compilazione + + + + System + Sistema + + + + Architecture + Architettura + + + + Exception + Eccezione + + + + has encountered a problem. + ha riscontrato un problema. + + + + may need to Restart. Please report the error to developer. + potrebbe essere necessario riavviare. Segnala l'errore allo sviluppatore. + + + + Feature rich WhatsApp web client based on Qt WebEngine + Client WhatsApp Web ricco di funzionalità basato su Qt WebEngine + + + + Displays help on commandline options + Visualizza la guida sulle opzioni della riga di comando + + + + Opens Settings dialog in a running instance of + Apre la finestra di Impostazioni in un'istanza in esecuzione di + + + + Locks a running instance of + Blocca un'istanza in esecuzione di + + + + Opens About dialog in a running instance of + Apre la finestra Info in un'istanza in esecuzione di + + + + Toggle between dark & light theme in a running instance of + Passa dal tema scuro a quello chiaro in un'istanza in esecuzione di + + + + Reload the app in a running instance of + Ricarica l'app in un'istanza in esecuzione di + + + + Open new chat prompt in a running instance of + Apri una nuova chat in un'istanza in esecuzione di + + + + Show main window of running instance of + Mostra la finestra principale dell'istanza in esecuzione di + + + + App lock is not configured, +Please setup the password in the Settings first. + Blocco non configurato, +Imposta la password nelle Impostazioni. + + + + Reloading... + Caricamento... + + + + RateApp + + + Form + + + + + Rate this app + Lascia una Recensione + + + + <html><head/><body><p>If you enjoy using this app, would you mind taking a moment to rate it?</p><p>It won't take more than a minute. Thanks you for your support!</p></body></html> + + + + + Rate in Store + Valuta sullo Store + + + + + Or + o + + + + Star rate Github repo + Valuta su Github + + + + Donate via PayPal + Donate via PayPal + + + + Donate via OpenCollective + Dona via OpenCollective + + + + Later + Più tardi + + + + Already Done + Già Fatto + + + + SettingsWidget + + + Form + Form + + + + Settings + Impostazioni + + + + General settings + Impostazioni generali + + + + Widget Style + Stile Tema + Stile Widget + + + + Widget Theme + + + + + <html><head/><body><p>Based on your system timezone and location.</p></body></html> + <html><head/><body><p>In base al fuso orario e alla posizione del tuo sistema.</p></body></html> + + + + Automatic + Automatico + + + + Dark + Scuro + + + + Light + Chiaro + + + + Native notification + Notifiche native + + + + Customized notification + Notifiche personalizzate + + + + Try + Prova + + + + Notification type + Tipo notifiche + + + + Disable Notifications Popup + Disabilita Notifiche a Comparsa + + + + Popup timeout + Durata Notifica + + + + + Secs + Sec + + + + Spell checker Language + Lingua + + + + Use Native File Dialog + Usa Finestra File Nativa + + + + Mute Audio from Page + Silenzia Audio della Pagina + + + + Disable Auto Playback of Media + Disabilita Auto-Riproduzione Media + + + + Enable Spell Checker + Abilita Controllo Grammaticale + + + + Minimize in tray on start + Minimizza nella barra di sistema all'avvio + + + + Show/Hide on clicking tray Icon (if supported) + Mostra/Nascondi al click dell'icona nella barra di sistema (se supportato) + + + + Expand the view to full width of window + Espandi la vista a larghezza piena della finestra + + + + Full width view + Vista a larghezza piena + + + + User Agent + User Agent + + + + Set + Imposta + + + + Reset to default + Ripristina predefiniti + + + + Zoom factor when normal + Ingrandimento normale + + + + + Zoom Out + Diminuisci + + + + + Zoom In + Aumenta + + + + + reset + ripristina + + + + Zoom factor when maximized/fullscreen + Ingrandimento a finestra intera/schermo intero + + + + Minimize to tray + Minimizza nella barra + + + + Permissions + Permessi + + + + Enable auto locking after + Abilita blocco automatico dopo + + + Minimize to barra di sistema + Minimizza nella barra di sistema + + + + Quit + Esci + + + + Global shortcuts + Scorciatoie globali + + + + Close button action + Alla Chiusura + + + + Show shortcuts + Mostra scorciatoie + + + App permissions + Permessi + + + + Show permissions + Mostra permessi + + + + <html><head/><body><p>Enable lock screen.</p></body></html> + + + + + Enable App lock on start + Abilita blocco all'avvio + + + + Current Password + Password Attuale + + + + + Change password + Cambia Password + + + + + Change + Cambia + + + Enable App auto locking after + Abilita blocco automatico dopo + + + + Reset + Ripristina + + + + View password + Mostra password + + + + Default Download location + Percorso Predefinito Scaricati + + + + Change Download Location + Cambia Percorso Scaricati + + + + Storage and Other Settings + Archiviazione ed Altre Impostazioni + + + + + Clear + Pulisci + + + + Cache + Cache + + + + + - + + + + + Property + Proprietà + + + + Action + Azione + + + + Size + Dimensione + + + + <html><head/><body><p>Persistent data includes persistent cookies, HTML5 local storage, and visited links.</p></body></html> + <html><head/><body><p>I dati persistenti includono cookie, archiviazione locale HTML5 e collegamenti visitati.</p></body></html> + + + + Persistent data + Dati persistenti + + + + Automatic theme switching was disabled due to manual theme toggle. + Il cambio automatico del tema è stato disabilitato. + + + + Feature permissions + Permessi funzionalità + + + + + Select download directory + Seleziona cartella scaricati + + + + WebEnginePage + + + Allow %1 to access your location information? + Consenti a %1 di accedere alle informazioni sulla tua posizione? + + + + Allow %1 to access your microphone? + Consenti a %1 di accedere al tuo microfono? + + + + Allow %1 to access your webcam? + Consenti a %1 di accedere alla tua webcam? + + + + Allow %1 to access your microphone and webcam? + Consenti a %1 di accedere a microfono e webcam? + + + + Allow %1 to lock your mouse cursor? + Consenti a %1 di bloccare il cursore del mouse? + + + + Allow %1 to capture video of your desktop? + Consenti a %1 di acquisire video dal tuo desktop? + + + + Allow %1 to capture audio and video of your desktop? + Consenti a %1 di acquisire audio e video dal tuo desktop? + + + + Allow %1 to show notification on your desktop? + Consenti a %1 di mostrare la notifica sul desktop? + + + + + Permission Request + Richiesta di Permesso + + + + + Certificate Error + Errore Certificato + + + + Enter username and password for "%1" at %2 + Inserisci nome utente e password per "%1" in %2 + + + + Connect to proxy "%1" using: + Connettiti al proxy "%1" utilizzando: + + + + Allow %1 to open all %2 links? + Consenti a %1 di aprire tutti i %2 collegamenti? + + + + WebView + + + Render process normal exit + Rendering terminato normalmente + + + + Render process abnormal exit + Rendering terminato in modo anomalo + + + + Render process crashed + Rendering terminato in modo anomalo + + + + Render process killed + Rendering terminato + + + + Render process exited with code: %1 +Do you want to reload the page ? + Rendering terminato con codice: %1 +Vuoi ricaricare la pagina? + + + + Check Spelling + Controllo Ortografico + + + + Select Language + Seleziona Lingua + + + diff --git a/src/lock.ui b/src/lock.ui index 9279545..ffe0da0 100644 --- a/src/lock.ui +++ b/src/lock.ui @@ -185,7 +185,7 @@ - Set application lock passcode + Set lock passcode Qt::AlignCenter diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2baaf4b..3cc8367 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -421,7 +421,7 @@ void MainWindow::lockApp() { this, tr(QApplication::applicationName().toUtf8()), tr("App lock is not configured, \n" "Please setup the password in the Settings first.\n\nOpen " - "Application Settings now?"), + "Settings now?"), QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel); if (ret == QMessageBox::Yes) { this->showSettings(); @@ -437,7 +437,7 @@ void MainWindow::toggleTheme() { void MainWindow::showSettings(bool isAskedByCLI) { if (lockWidget && lockWidget->getIsLocked()) { - QString error = tr("UnLock Application to access Settings."); + QString error = tr("Unlock to access Settings."); if (isAskedByCLI) { this->notify(QApplication::applicationName() + "| Error", error); } else { @@ -501,7 +501,7 @@ void MainWindow::closeEvent(QCloseEvent *event) { event->ignore(); if (settings.value("firstrun_tray", true).toBool()) { notify(QApplication::applicationName(), - "Application is minimized to system tray."); + "Minimized to system tray."); settings.setValue("firstrun_tray", false); } return; @@ -1185,7 +1185,7 @@ void MainWindow::doReload(bool byPassCache, bool isAskedByCLI) { if (lockWidget && !lockWidget->getIsLocked()) { this->notify(QApplication::applicationName(), QObject::tr("Reloading...")); } else { - QString error = tr("UnLock Application to Reload the App."); + QString error = tr("Unlock to Reload the App."); if (isAskedByCLI) { this->notify(QApplication::applicationName() + "| Error", error); } else { diff --git a/src/rateapp.ui b/src/rateapp.ui index 38ebc00..fe099a7 100644 --- a/src/rateapp.ui +++ b/src/rateapp.ui @@ -117,7 +117,7 @@ - Donate via Paypal + Donate via PayPal diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index 80d9047..a58a967 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -280,13 +280,13 @@ QString SettingsWidget::persistentStoragePath() { void SettingsWidget::on_deleteCache_clicked() { QMessageBox msgBox; - msgBox.setText("This will delete app cache! Application cache makes " + msgBox.setText("This will delete the cache! Cache makes " "application load faster."); msgBox.setIconPixmap( QPixmap(":/icons/information-line.png") .scaled(42, 42, Qt::KeepAspectRatio, Qt::SmoothTransformation)); - msgBox.setInformativeText("Delete Application cache?"); + msgBox.setInformativeText("Delete cache?"); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::No); int ret = msgBox.exec(); @@ -304,12 +304,12 @@ void SettingsWidget::on_deleteCache_clicked() { void SettingsWidget::on_deletePersistentData_clicked() { QMessageBox msgBox; msgBox.setText( - "This will delete app Persistent Data ! Persistent data includes " + "This will delete Persistent Data ! Persistent data includes " "persistent cookies, HTML5 local storage, and visited links."); msgBox.setIconPixmap( QPixmap(":/icons/information-line.png") .scaled(42, 42, Qt::KeepAspectRatio, Qt::SmoothTransformation)); - msgBox.setInformativeText("Delete Application Cookies?"); + msgBox.setInformativeText("Delete Cookies?"); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::No); int ret = msgBox.exec(); diff --git a/src/settingswidget.ui b/src/settingswidget.ui index cbf98e1..900d949 100644 --- a/src/settingswidget.ui +++ b/src/settingswidget.ui @@ -78,7 +78,7 @@ background:transparent; } - Application Settings + Settings Qt::PlainText @@ -273,14 +273,14 @@ background:transparent; - Disable Notifications PopUp + Disable Notifications Popup - PopUp timeout + Popup timeout @@ -364,7 +364,7 @@ background:transparent; - Minimize App in tray on start + Minimize in tray on start @@ -715,7 +715,7 @@ background:transparent; - Quit Application + Quit @@ -727,7 +727,7 @@ background:transparent; - Global App shortcuts + Global shortcuts @@ -752,7 +752,7 @@ background:transparent; - App permissions + Permissions @@ -774,7 +774,7 @@ background:transparent; - <html><head/><body><p>Enable application lock screen.</p></body></html> + <html><head/><body><p>Enable lock screen.</p></body></html> Enable App lock on start @@ -805,7 +805,7 @@ background:transparent; - Enable App auto locking after + Enable auto locking after @@ -919,7 +919,7 @@ background:transparent; - Application Storage and Other Settings + Storage and Other Settings @@ -938,7 +938,7 @@ background:transparent; - Application Cache + Cache @@ -986,7 +986,7 @@ background:transparent; - Option + Action Qt::AlignCenter diff --git a/src/utils.cpp b/src/utils.cpp index 7994946..b231882 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -231,7 +231,7 @@ void utils::DisplayExceptionErrorDialog(const QString &error_info) { message_box.setStandardButtons(QMessageBox::Close); QStringList detailed_text; detailed_text << "Error info: " + error_info - << "\nApp version: " + QString(VERSIONSTR) + << "\nVersion: " + QString(VERSIONSTR) << "\nSource Branch: " + QString(GIT_BRANCH) << "\nCommit Hash: " + QString(GIT_HASH) << "\nBuild Datetime: " + QString(BUILD_TIMESTAMP)