From 87f440aa9ea596af6a940db4391e48c2b2bb37db Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Thu, 8 Mar 2007 22:51:52 +0000 Subject: [PATCH] ** I18N Commit ** - Better i18n thanks to dynamic text support - Some typos fixed in translatable texts - Provide exemples to make translators' task easier - Update translation files --- Changelog | 1 + TODO | 4 +- src/GUI.cpp | 90 ++--- src/about_imp.h | 8 +- src/bittorrent.h | 2 +- src/lang/qbittorrent_bg.qm | Bin 30498 -> 29086 bytes src/lang/qbittorrent_bg.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_ca.qm | Bin 31212 -> 29765 bytes src/lang/qbittorrent_ca.ts | 705 +++++++++++++++++++++++---------- src/lang/qbittorrent_de.qm | Bin 31460 -> 29926 bytes src/lang/qbittorrent_de.ts | 700 +++++++++++++++++++++++---------- src/lang/qbittorrent_el.qm | Bin 32324 -> 30793 bytes src/lang/qbittorrent_el.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_en.qm | Bin 18160 -> 18306 bytes src/lang/qbittorrent_en.ts | 596 ++++++++++++++-------------- src/lang/qbittorrent_es.qm | Bin 32422 -> 30855 bytes src/lang/qbittorrent_es.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_fi.qm | Bin 30312 -> 29032 bytes src/lang/qbittorrent_fi.ts | 696 ++++++++++++++++++++++++--------- src/lang/qbittorrent_fr.qm | Bin 32784 -> 31285 bytes src/lang/qbittorrent_fr.ts | 700 +++++++++++++++++++++++---------- src/lang/qbittorrent_it.qm | Bin 31140 -> 29818 bytes src/lang/qbittorrent_it.ts | 696 ++++++++++++++++++++++++--------- src/lang/qbittorrent_ko.qm | Bin 24634 -> 24235 bytes src/lang/qbittorrent_ko.ts | 698 +++++++++++++++++++++++---------- src/lang/qbittorrent_nb.qm | Bin 30782 -> 29380 bytes src/lang/qbittorrent_nb.ts | 696 ++++++++++++++++++++++++--------- src/lang/qbittorrent_nl.qm | Bin 30802 -> 29621 bytes src/lang/qbittorrent_nl.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_pl.qm | Bin 31024 -> 29737 bytes src/lang/qbittorrent_pl.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_pt.qm | Bin 27062 -> 25802 bytes src/lang/qbittorrent_pt.ts | 705 +++++++++++++++++++++++---------- src/lang/qbittorrent_ro.qm | Bin 30962 -> 29667 bytes src/lang/qbittorrent_ro.ts | 695 ++++++++++++++++++++++++--------- src/lang/qbittorrent_ru.qm | Bin 31368 -> 29961 bytes src/lang/qbittorrent_ru.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_sk.qm | Bin 31176 -> 29526 bytes src/lang/qbittorrent_sk.ts | 695 ++++++++++++++++++++++++--------- src/lang/qbittorrent_sv.qm | Bin 30170 -> 28896 bytes src/lang/qbittorrent_sv.ts | 696 ++++++++++++++++++++++++--------- src/lang/qbittorrent_tr.qm | Bin 30280 -> 28977 bytes src/lang/qbittorrent_tr.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_uk.qm | Bin 31018 -> 29769 bytes src/lang/qbittorrent_uk.ts | 697 +++++++++++++++++++++++---------- src/lang/qbittorrent_zh.qm | Bin 22688 -> 22498 bytes src/lang/qbittorrent_zh.ts | 712 ++++++++++++++++++++++++---------- src/lang/qbittorrent_zh_HK.qm | Bin 20578 -> 20524 bytes src/lang/qbittorrent_zh_HK.ts | 699 +++++++++++++++++++++------------ src/misc.h | 8 +- src/options_imp.cpp | 10 +- 51 files changed, 10855 insertions(+), 4533 deletions(-) diff --git a/Changelog b/Changelog index 0d1967395..53c022b06 100644 --- a/Changelog +++ b/Changelog @@ -20,6 +20,7 @@ - BUGFIX: Preventing GUI from freezing when deleting a download permanently - BUGFIX: Fixed directory scanning (stop trying to download the same files several times) - BUGFIX: Fixed bad loading of scan dir in option (widgets still disabled) + - I18N: Better internationalization thanks to dynamic text support - COSMETIC: Replaced OSD messages by Qt4.2 systray messages * Tue Nov 28 2006 - Christophe Dumez - v0.8.0 diff --git a/TODO b/TODO index 02e00e8d6..3d50efa9a 100644 --- a/TODO +++ b/TODO @@ -40,10 +40,10 @@ - Allow to edit the trackers for a torrent // In v0.9.0 +- Update translations (contact translators) +- Find a better way to update qBittorrent VERSION - Splitting torrent part from GUI (bug squashing + cleanup) - Create options object only when necessary to save up some memory - Wait for libtorrent v0.12 official release -- report this to libtorrent: - "qbittorrent: kademlia/rpc_manager.cpp:327: void libtorrent::dht::rpc_manager::invoke(int, asio::ip::basic_endpoint, boost::shared_ptr): l'assertion « false » a échoué." Info: current TOP output: 25461 chris 15 0 106m 23m 14m S 0.7 2.4 0:01.60 qbittorrent diff --git a/src/GUI.cpp b/src/GUI.cpp index e34eaf043..b495acd1e 100644 --- a/src/GUI.cpp +++ b/src/GUI.cpp @@ -65,7 +65,7 @@ // Constructor GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){ setupUi(this); - setWindowTitle(tr("qBittorrent ")+VERSION); + setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(VERSION)); readSettings(); // Setting icons this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/qbittorrent32.png"))); @@ -87,7 +87,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){ connecStatusLblIcon = new QLabel(); connecStatusLblIcon->setFrameShape(QFrame::NoFrame); connecStatusLblIcon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/disconnected.png"))); - connecStatusLblIcon->setToolTip(tr("Connection Status:
Offline
No peers found...")); + connecStatusLblIcon->setToolTip(""+tr("Connection status:")+"
"+tr("Offline")+"
"+tr("No peers found...")+""); toolBar->addWidget(connecStatusLblIcon); actionDelete_Permanently->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete_perm.png"))); actionTorrent_Properties->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/properties.png"))); @@ -101,14 +101,14 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){ toolBar->layout()->setSpacing(7); // Set Download list model DLListModel = new QStandardItemModel(0,9); - DLListModel->setHeaderData(NAME, Qt::Horizontal, tr("Name")); - DLListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size")); - DLListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Progress")); - DLListModel->setHeaderData(DLSPEED, Qt::Horizontal, tr("DL Speed")); - DLListModel->setHeaderData(UPSPEED, Qt::Horizontal, tr("UP Speed")); - DLListModel->setHeaderData(SEEDSLEECH, Qt::Horizontal, tr("Seeds/Leechs")); + DLListModel->setHeaderData(NAME, Qt::Horizontal, tr("Name", "i.e: file name")); + DLListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size", "i.e: file size")); + DLListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Progress", "i.e: % downloaded")); + DLListModel->setHeaderData(DLSPEED, Qt::Horizontal, tr("DL Speed", "i.e: Download speed")); + DLListModel->setHeaderData(UPSPEED, Qt::Horizontal, tr("UP Speed", "i.e: Upload speed")); + DLListModel->setHeaderData(SEEDSLEECH, Qt::Horizontal, tr("Seeds/Leechs", "i.e: full/partial sources")); DLListModel->setHeaderData(STATUS, Qt::Horizontal, tr("Status")); - DLListModel->setHeaderData(ETA, Qt::Horizontal, tr("ETA")); + DLListModel->setHeaderData(ETA, Qt::Horizontal, tr("ETA", "i.e: Estimated Time of Arrival / Time left")); downloadList->setModel(DLListModel); DLDelegate = new DLListDelegate(); downloadList->setItemDelegate(DLDelegate); @@ -200,10 +200,10 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){ checkConnect->start(5000); // Set Search results list model SearchListModel = new QStandardItemModel(0,5); - SearchListModel->setHeaderData(NAME, Qt::Horizontal, tr("Name")); - SearchListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size")); - SearchListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Seeders")); - SearchListModel->setHeaderData(DLSPEED, Qt::Horizontal, tr("Leechers")); + SearchListModel->setHeaderData(NAME, Qt::Horizontal, tr("Name", "i.e: file name")); + SearchListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size", "i.e: file size")); + SearchListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Seeders", "i.e: Number of full sources")); + SearchListModel->setHeaderData(DLSPEED, Qt::Horizontal, tr("Leechers", "i.e: Number of partial sources")); SearchListModel->setHeaderData(UPSPEED, Qt::Horizontal, tr("Search engine")); resultsBrowser->setModel(SearchListModel); SearchDelegate = new SearchListDelegate(); @@ -254,7 +254,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){ // Accept drag 'n drops setAcceptDrops(true); // Set info Bar infos - setInfoBar(tr("qBittorrent ")+VERSION+tr(" started.")); + setInfoBar(tr("qBittorrent %1 started.", "e.g: qBittorrent v0.x started.").arg(QString(VERSION))); qDebug("GUI Built"); } @@ -459,7 +459,7 @@ void GUI::updateDlList(bool force){ // update global informations snprintf(tmp, MAX_CHAR_TMP, "%.1f", BTSession.getPayloadUploadRate()/1024.); snprintf(tmp2, MAX_CHAR_TMP, "%.1f", BTSession.getPayloadDownloadRate()/1024.); - myTrayIcon->setToolTip(tr("qBittorrent
DL Speed: ")+ QString(tmp2) +tr("KiB/s")+"
"+tr("UP Speed: ")+ QString(tmp) + tr("KiB/s")); // tray icon + myTrayIcon->setToolTip(""+tr("qBittorrent")+"
"+tr("DL speed: %1 KiB/s", "e.g: Download speed: 10 KiB/s").arg(QString(tmp2))+"
"+tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString(tmp))); // tray icon if( !force && (isMinimized() || isHidden() || tabs->currentIndex())){ // No need to update if qBittorrent DL list is hidden return; @@ -486,7 +486,7 @@ void GUI::updateDlList(bool force){ case torrent_status::finished: case torrent_status::seeding: DLListModel->setData(DLListModel->index(row, UPSPEED), QVariant((double)torrentStatus.upload_payload_rate)); - DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Finished"))); + DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Finished", "i.e: Torrent has finished downloading"))); DLListModel->setData(DLListModel->index(row, DLSPEED), QVariant((double)0.)); DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1)); DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(":/Icons/skin/seeding.png")), Qt::DecorationRole); @@ -495,7 +495,7 @@ void GUI::updateDlList(bool force){ break; case torrent_status::checking_files: case torrent_status::queued_for_checking: - DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Checking..."))); + DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Checking...", "i.e: Checking already downloaded parts..."))); DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(":/Icons/skin/connecting.png")), Qt::DecorationRole); setRowColor(row, "grey"); DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)torrentStatus.progress)); @@ -525,7 +525,7 @@ void GUI::updateDlList(bool force){ DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)((ti.total_size()-torrentStatus.total_done)/(double)torrentStatus.download_payload_rate))); setRowColor(row, "green"); }else{ - DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Stalled", "state of a torrent whose DL Speed is 0"))); + DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Stalled", "i.e: State of a torrent whose download speed is 0kb/s"))); DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(":/Icons/skin/stalled.png")), Qt::DecorationRole); DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1)); setRowColor(row, "black"); @@ -811,7 +811,7 @@ void GUI::closeEvent(QCloseEvent *e){ } if(options->getConfirmOnExit()){ if(QMessageBox::question(this, - tr("Are you sure you want to quit? -- qBittorrent"), + tr("Are you sure you want to quit?")+" -- "+tr("qBittorrent"), tr("Are you sure you want to quit qBittorrent?"), tr("&Yes"), tr("&No"), QString(), 0, 1)){ @@ -957,7 +957,7 @@ void GUI::deletePermanently(){ // Remove the torrent BTSession.deleteTorrent(fileHash, true); // Update info bar - setInfoBar("'" + fileName +"' "+tr("removed.", " removed.")); + setInfoBar(tr("'%1' was removed.", "'xxx.avi' was removed.").arg(fileName)); --nbTorrents; tabs->setTabText(0, tr("Transfers") +" ("+QString(misc::toString(nbTorrents).c_str())+")"); } @@ -998,7 +998,7 @@ void GUI::deleteSelection(){ // Remove the torrent BTSession.deleteTorrent(fileHash, false); // Update info bar - setInfoBar("'" + fileName +"' "+tr("removed.", " removed.")); + setInfoBar(tr("'%1' was removed.", "'xxx.avi' was removed.").arg(fileName)); --nbTorrents; tabs->setTabText(0, tr("Transfers") +" ("+QString(misc::toString(nbTorrents).c_str())+")"); } @@ -1030,9 +1030,9 @@ void GUI::torrentAdded(const QString& path, torrent_handle& h, bool fastResume){ setRowColor(row, "grey"); } if(!fastResume){ - setInfoBar("'" + path + "' "+tr("added to download list.")); + setInfoBar(tr("'%1' added to download list.", "'/home/y/xxx.torrent' was added to download list.").arg(path)); }else{ - setInfoBar("'" + path + "' "+tr("resumed. (fast resume)")); + setInfoBar(tr("'%1' resumed. (fast resume)", "'/home/y/xxx.torrent' was resumed. (fast resume)").arg(path)); } ++nbTorrents; tabs->setTabText(0, tr("Transfers") +" ("+QString(misc::toString(nbTorrents).c_str())+")"); @@ -1040,11 +1040,11 @@ void GUI::torrentAdded(const QString& path, torrent_handle& h, bool fastResume){ // Called when trying to add a duplicate torrent void GUI::torrentDuplicate(const QString& path){ - setInfoBar("'" + path + "' "+tr("already in download list.", " already in download list.")); + setInfoBar(tr("'%1' is already in download list.", "e.g: 'xxx.avi' is already in download list.").arg(path)); } void GUI::torrentCorrupted(const QString& path){ - setInfoBar(tr("Unable to decode torrent file:")+" '"+path+"'", "red"); + setInfoBar(tr("Unable to decode torrent file: '%1'", "e.g: Unable to decode torrent file: '/home/y/xxx.torrent'").arg(path), "red"); setInfoBar(tr("This file is either corrupted or this isn't a torrent."),"red"); } @@ -1126,7 +1126,7 @@ void GUI::showProperties(const QModelIndex &index){ int row = index.row(); QString fileHash = DLListModel->data(DLListModel->index(row, HASH)).toString(); torrent_handle h = BTSession.getTorrentHandle(fileHash); - QStringList errors = trackerErrors.value(fileHash, QStringList(tr("None"))); + QStringList errors = trackerErrors.value(fileHash, QStringList(tr("None", "i.e: No error message"))); properties *prop = new properties(this, h, errors); connect(prop, SIGNAL(changedFilteredFiles(torrent_handle, bool)), &BTSession, SLOT(reloadTorrent(torrent_handle, bool))); prop->show(); @@ -1144,7 +1144,7 @@ void GUI::configureSession(){ BTSession.setListeningPortsRange(options->getPorts()); new_listenPort = BTSession.getListenPort(); if(new_listenPort != old_listenPort){ - setInfoBar(tr("Listening on port", "Listening on port ")+ ": " + QString(misc::toString(new_listenPort).c_str())); + setInfoBar(tr("Listening on port: %1", "e.g: Listening on port: 1666").arg( QString(misc::toString(new_listenPort).c_str()))); } // Apply max connec limit (-1 if disabled) BTSession.setMaxConnections(options->getMaxConnec()); @@ -1226,7 +1226,7 @@ void GUI::pauseAll(){ DLListModel->setData(DLListModel->index(i, ETA), QVariant((qlonglong)-1)); DLListModel->setData(DLListModel->index(i, NAME), QVariant(QIcon(":/Icons/skin/paused.png")), Qt::DecorationRole); setRowColor(i, "red"); - setInfoBar(tr("All downloads paused.")); + setInfoBar(tr("All downloads were paused.")); } } @@ -1247,7 +1247,7 @@ void GUI::pauseSelection(){ DLListModel->setData(DLListModel->index(row, UPSPEED), QVariant((double)0.0)); DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Paused"))); DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1)); - setInfoBar("'"+ QString(BTSession.getTorrentHandle(fileHash).name().c_str()) +"' "+tr("paused.", " paused.")); + setInfoBar(tr("'%1' paused.", "xxx.avi paused.").arg(QString(BTSession.getTorrentHandle(fileHash).name().c_str()))); DLListModel->setData(DLListModel->index(row, NAME), QIcon(":/Icons/skin/paused.png"), Qt::DecorationRole); setRowColor(row, "red"); } @@ -1266,10 +1266,10 @@ void GUI::resumeAll(){ // Remove .paused file QFile::remove(misc::qBittorrentPath()+"BT_backup"+QDir::separator()+fileHash+".paused"); // Update DL list items - DLListModel->setData(DLListModel->index(i, STATUS), QVariant(tr("Connecting..."))); + DLListModel->setData(DLListModel->index(i, STATUS), QVariant(tr("Connecting...", "i.e: Connecting to the tracker..."))); DLListModel->setData(DLListModel->index(i, NAME), QVariant(QIcon(":/Icons/skin/connecting.png")), Qt::DecorationRole); setRowColor(i, "grey"); - setInfoBar(tr("All downloads resumed.")); + setInfoBar(tr("All downloads were resumed.")); } } @@ -1289,7 +1289,7 @@ void GUI::startSelection(){ // Update DL status int row = index.row(); DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Connecting..."))); - setInfoBar("'"+ QString(BTSession.getTorrentHandle(fileHash).name().c_str()) +"' "+tr("resumed.", " resumed.")); + setInfoBar(tr("'%1' resumed.", "e.g: xxx.avi resumed.").arg(QString(BTSession.getTorrentHandle(fileHash).name().c_str()))); DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(":/Icons/skin/connecting.png")), Qt::DecorationRole); setRowColor(row, "grey"); } @@ -1318,16 +1318,16 @@ void GUI::propertiesSelection(){ // called when a torrent has finished void GUI::finishedTorrent(torrent_handle& h){ QString fileName = QString(h.name().c_str()); - setInfoBar(fileName+tr(" has finished downloading.")); + setInfoBar(tr("%1 has finished downloading.", "e.g: xxx.avi has finished downloading.").arg(fileName)); if(options->getUseOSDAlways() || (options->getUseOSDWhenHiddenOnly() && (isMinimized() || isHidden()))) { - myTrayIcon->showMessage(tr("Download finished"), fileName+tr(" has finished downloading.", " has finished downloading."), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); + myTrayIcon->showMessage(tr("Download finished"), tr("%1 has finished downloading.", "e.g: xxx.avi has finished downloading.").arg(fileName), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); } } // Notification when disk is full void GUI::fullDiskError(torrent_handle& h){ if(options->getUseOSDAlways() || (options->getUseOSDWhenHiddenOnly() && (isMinimized() || isHidden()))) { - myTrayIcon->showMessage(tr("I/O Error"), tr("An error occured when trying to read or write ")+ QString(h.name().c_str())+"."+tr("The disk is probably full, download has been paused"), QSystemTrayIcon::Critical, TIME_TRAY_BALLOON); + myTrayIcon->showMessage(tr("I/O Error", "i.e: Input/Output Error"), tr("An error occured when trying to read or write %1. The disk is probably full, download has been paused", "e.g: An error occured when trying to read or write xxx.avi. The disk is probably full, download has been paused").arg(QString(h.name().c_str())), QSystemTrayIcon::Critical, TIME_TRAY_BALLOON); } // Download will be paused by libtorrent. Updating GUI information accordingly int row = getRowFromHash(QString(misc::toString(h.info_hash()).c_str())); @@ -1335,7 +1335,7 @@ void GUI::fullDiskError(torrent_handle& h){ DLListModel->setData(DLListModel->index(row, UPSPEED), QVariant((double)0.0)); DLListModel->setData(DLListModel->index(row, STATUS), QVariant(tr("Paused"))); DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1)); - setInfoBar(tr("An error occured (full fisk?)")+", '"+ QString(h.get_torrent_info().name().c_str()) +"' "+tr("paused.", " paused.")); + setInfoBar(tr("An error occured (full fisk?), '%1' paused.", "e.g: An error occured (full fisk?), 'xxx.avi' paused.").arg(QString(h.get_torrent_info().name().c_str()))); DLListModel->setData(DLListModel->index(row, NAME), QIcon(":/Icons/skin/paused.png"), Qt::DecorationRole); setRowColor(row, "red"); } @@ -1392,16 +1392,16 @@ void GUI::checkConnectionStatus(){ if(sessionStatus.has_incoming_connections){ // Connection OK connecStatusLblIcon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/connected.png"))); - connecStatusLblIcon->setToolTip(tr("Connection Status:
Online")); + connecStatusLblIcon->setToolTip(""+tr("Connection Status:")+"
"+tr("Online")); }else{ if(sessionStatus.num_peers){ // Firewalled ? connecStatusLblIcon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/firewalled.png"))); - connecStatusLblIcon->setToolTip(tr("Connection Status:
Firewalled?
No incoming connections...")); + connecStatusLblIcon->setToolTip(""+tr("Connection Status:")+"
"+tr("Firewalled?", "i.e: Behind a firewall/router?")+"
"+tr("No incoming connections...")+""); }else{ // Disconnected connecStatusLblIcon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/skin/disconnected.png"))); - connecStatusLblIcon->setToolTip(tr("Connection Status:
Offline
No peers found...")); + connecStatusLblIcon->setToolTip(""+tr("Connection Status:")+"
"+tr("Offline")+"
"+tr("No peers found...")+""); } } qDebug("Connection status updated"); @@ -1454,7 +1454,7 @@ void GUI::on_search_button_clicked(){ // Getting checked search engines if(!mininova->isChecked() && ! piratebay->isChecked()/* && !reactor->isChecked()*/ && !isohunt->isChecked()/* && !btjunkie->isChecked()*/ && !meganova->isChecked()){ - QMessageBox::critical(0, tr("No seach engine selected"), tr("You must select at least one search engine.")); + QMessageBox::critical(0, tr("No search engine selected"), tr("You must select at least one search engine.")); return; } QStringList params; @@ -1686,7 +1686,7 @@ void GUI::on_update_nova_button_clicked(){ } }else{ if(version_on_server == 0.0){ - QMessageBox::information(this, tr("Search plugin update -- qBittorrent"), + QMessageBox::information(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("Sorry, update server is temporarily unavailable.")); }else{ QMessageBox::information(this, tr("Search plugin update -- qBittorrent"), @@ -1702,7 +1702,7 @@ void GUI::on_update_nova_button_clicked(){ // Error | Stopped by user | Finished normally void GUI::searchFinished(int exitcode,QProcess::ExitStatus){ if(options->getUseOSDAlways() || (options->getUseOSDWhenHiddenOnly() && (isMinimized() || isHidden()))) { - myTrayIcon->showMessage(tr("Search Engine"), tr("Search is finished"), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); + myTrayIcon->showMessage(tr("Search Engine"), tr("Search has finished"), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); } if(exitcode){ search_status->setText(tr("An error occured during search...")); @@ -1713,11 +1713,11 @@ void GUI::searchFinished(int exitcode,QProcess::ExitStatus){ if(no_search_results){ search_status->setText(tr("Search returned no results")); }else{ - search_status->setText(tr("Search is finished")); + search_status->setText(tr("Search has finished")); } } } - results_lbl->setText(tr("Results")+" ("+QString(misc::toString(nb_search_results).c_str())+"):"); + results_lbl->setText(tr("Results", "i.e: Search results")+" ("+QString(misc::toString(nb_search_results).c_str())+"):"); search_button->setEnabled(true); stop_search_button->setEnabled(false); } @@ -1818,7 +1818,7 @@ void GUI::downloadFromURLList(const QStringList& urls){ } void GUI::displayDownloadingUrlInfos(const QString& url){ - setInfoBar(tr("Downloading", "Example: Downloading www.example.com/test.torrent")+" '"+url+"', "+tr("Please wait..."), "black"); + setInfoBar(tr("Downloading '%1', please wait...", "e.g: Downloading 'xxx.torrent', please wait...").arg(url), "black"); } /***************************************************** diff --git a/src/about_imp.h b/src/about_imp.h index c8e043cc8..fb8faebfe 100644 --- a/src/about_imp.h +++ b/src/about_imp.h @@ -23,7 +23,7 @@ #define ABOUT_H #include "ui_about.h" -#define VERSION "v0.9.0beta4" +#define VERSION "v0.9.0beta5" class about : public QDialog, private Ui::AboutDlg{ Q_OBJECT @@ -33,9 +33,9 @@ class about : public QDialog, private Ui::AboutDlg{ setupUi(this); setAttribute(Qt::WA_DeleteOnClose); // Set icons - logo->setPixmap(QPixmap(QString::fromUtf8(":/Icons/yinyang32.png"))); + logo->setPixmap(QPixmap(QString::fromUtf8(":/Icons/qbittorrent32.png"))); //Title - lb_name->setText("

"+tr("qBittorrent ")+VERSION"

"); + lb_name->setText("

"+tr("qBittorrent")+" "+VERSION"

"); // Thanks te_thanks->append("