From fc6169346359f8ad84b08de3c6aceec22fd06593 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Fri, 19 Oct 2007 21:30:59 +0000 Subject: [PATCH] - Tagged rc6 release --- AUTHORS | 2 +- Changelog | 16 +- INSTALL | 21 +- README | 14 +- TODO | 108 +- configure | 128 +- doc/qbittorrent.1.gz | Bin 490 -> 621 bytes qbittorrent.qc | 5 +- qcm/libcommoncpp2.qcm | 6 +- qcm/libmagick.qcm | 5 +- qcm/libtorrent.qcm | 2 + qcm/libzzip.qcm | 71 + qcm/qt4.qcm | 16 + qcm/qt42.qcm | 16 - src/DLListDelegate.h | 4 +- src/FinishedListDelegate.h | 4 +- src/FinishedTorrents.cpp | 15 +- src/GUI.cpp | 401 ++- src/GUI.h | 4 + src/Icons/bt_settings.png | Bin 0 -> 1559 bytes src/Icons/configure.png | Bin 0 -> 1423 bytes src/Icons/connection.png | Bin 1090 -> 820 bytes src/Icons/download.png | Bin 0 -> 1188 bytes src/Icons/edit_clear.png | Bin 0 -> 575 bytes src/Icons/exec.png | Bin 1408 -> 0 bytes src/Icons/file.png | Bin 0 -> 704 bytes src/Icons/filter.png | Bin 1168 -> 998 bytes src/Icons/flags/china_hong_kong.png | Bin 558 -> 0 bytes src/Icons/folder.png | Bin 0 -> 449 bytes src/Icons/gear.png | Bin 0 -> 1282 bytes src/Icons/newmsg.png | Bin 1411 -> 532 bytes src/Icons/password.png | Bin 5026 -> 5345 bytes src/Icons/qBittorrent.desktop | 19 +- src/Icons/refresh.png | Bin 1684 -> 948 bytes src/Icons/rss.png | Bin 2267 -> 0 bytes src/Icons/rss16.png | Bin 0 -> 607 bytes src/Icons/rss32.png | Bin 0 -> 1331 bytes src/Icons/skin/remove.png | Bin 1256 -> 1270 bytes src/Icons/star.png | Bin 0 -> 1145 bytes src/Icons/subscribe.png | Bin 0 -> 1575 bytes src/Icons/subscribe16.png | Bin 0 -> 739 bytes src/Icons/time.png | Bin 513 -> 856 bytes src/Icons/unsubscribe.png | Bin 0 -> 1694 bytes src/Icons/unsubscribe16.png | Bin 0 -> 765 bytes src/PreviewListDelegate.h | 4 +- src/PropListDelegate.h | 44 +- src/about_imp.h | 6 +- src/addTorrentDialog.ui | 49 +- src/allocationDlg.h | 4 +- src/arborescence.h | 264 ++ src/bittorrent.cpp | 288 +- src/bittorrent.h | 28 +- src/createtorrent.ui | 1102 ++++--- src/createtorrent_imp.cpp | 123 +- src/createtorrent_imp.h | 6 +- src/deleteThread.h | 18 +- src/downloadThread.cpp | 174 ++ src/downloadThread.h | 161 +- src/downloadingTorrents.cpp | 29 +- src/downloadingTorrents.h | 4 +- src/engineSelect.ui | 125 + src/engineSelectDlg.cpp | 697 +++++ src/engineSelectDlg.h | 76 + src/icons.qrc | 17 +- src/lang/qbittorrent_bg.qm | Bin 39891 -> 53740 bytes src/lang/qbittorrent_bg.ts | 2704 ++++++++++------ src/lang/qbittorrent_ca.qm | Bin 38172 -> 38956 bytes src/lang/qbittorrent_ca.ts | 1430 ++++++--- src/lang/qbittorrent_da.qm | Bin 39648 -> 40423 bytes src/lang/qbittorrent_da.ts | 1417 ++++++--- src/lang/qbittorrent_de.qm | Bin 49797 -> 55899 bytes src/lang/qbittorrent_de.ts | 1658 +++++++--- src/lang/qbittorrent_el.qm | Bin 51026 -> 56704 bytes src/lang/qbittorrent_el.ts | 1601 +++++++--- src/lang/qbittorrent_en.qm | Bin 28045 -> 31210 bytes src/lang/qbittorrent_en.ts | 1569 ++++++---- src/lang/qbittorrent_es.qm | Bin 51190 -> 57141 bytes src/lang/qbittorrent_es.ts | 2186 ++++++++----- src/lang/qbittorrent_fi.qm | Bin 37578 -> 38729 bytes src/lang/qbittorrent_fi.ts | 1433 ++++++--- src/lang/qbittorrent_fr.qm | Bin 51554 -> 57430 bytes src/lang/qbittorrent_fr.ts | 1471 ++++++--- src/lang/qbittorrent_hu.qm | Bin 46546 -> 52141 bytes src/lang/qbittorrent_hu.ts | 1449 ++++++--- src/lang/qbittorrent_it.qm | Bin 49723 -> 55564 bytes src/lang/qbittorrent_it.ts | 1478 ++++++--- src/lang/qbittorrent_ja.qm | Bin 40208 -> 44661 bytes src/lang/qbittorrent_ja.ts | 1454 ++++++--- src/lang/qbittorrent_ko.qm | Bin 39756 -> 44216 bytes src/lang/qbittorrent_ko.ts | 2157 ++++++++----- src/lang/qbittorrent_nb.qm | Bin 40375 -> 41098 bytes src/lang/qbittorrent_nb.ts | 1415 ++++++--- src/lang/qbittorrent_nl.qm | Bin 48929 -> 54379 bytes src/lang/qbittorrent_nl.ts | 1387 ++++++--- src/lang/qbittorrent_pl.qm | Bin 48810 -> 54077 bytes src/lang/qbittorrent_pl.ts | 1543 ++++++--- src/lang/qbittorrent_pt.qm | Bin 49427 -> 54820 bytes src/lang/qbittorrent_pt.ts | 1442 ++++++--- src/lang/qbittorrent_pt_BR.qm | Bin 49427 -> 54820 bytes src/lang/qbittorrent_pt_BR.ts | 1442 ++++++--- src/lang/qbittorrent_ro.qm | Bin 48526 -> 54045 bytes src/lang/qbittorrent_ro.ts | 1496 ++++++--- src/lang/qbittorrent_ru.qm | Bin 49214 -> 54928 bytes src/lang/qbittorrent_ru.ts | 1459 ++++++--- src/lang/qbittorrent_sk.qm | Bin 48920 -> 55031 bytes src/lang/qbittorrent_sk.ts | 2045 ++++++++---- src/lang/qbittorrent_sv.qm | Bin 48566 -> 54052 bytes src/lang/qbittorrent_sv.ts | 2038 ++++++------ src/lang/qbittorrent_tr.qm | Bin 39733 -> 40519 bytes src/lang/qbittorrent_tr.ts | 1412 ++++++--- src/lang/qbittorrent_uk.qm | Bin 49172 -> 55137 bytes src/lang/qbittorrent_uk.ts | 1656 +++++++--- src/lang/qbittorrent_zh.qm | Bin 35628 -> 37670 bytes src/lang/qbittorrent_zh.ts | 1969 +++++++++--- src/main.cpp | 60 +- src/misc.h | 124 +- src/options.ui | 2935 +++++++++--------- src/options_imp.cpp | 1161 +++---- src/options_imp.h | 110 +- src/pluginSource.h | 56 + src/pluginSource.ui | 52 + src/properties.ui | 339 +- src/properties_imp.cpp | 247 +- src/properties_imp.h | 13 +- src/qgnomelook.h | 87 + src/qtorrenthandle.cpp | 24 +- src/qtorrenthandle.h | 4 +- src/rss.h | 293 +- src/rss.ui | 143 +- src/rss_imp.cpp | 45 +- src/rss_imp.h | 1 + src/search.qrc | 13 +- src/search.ui | 426 ++- src/searchEngine.cpp | 288 +- src/searchEngine.h | 17 +- src/search_engine/__init__.py | 0 src/search_engine/engines/__init__.py | 0 src/search_engine/engines/btjunkie.png | Bin 0 -> 622 bytes src/search_engine/engines/btjunkie.py | 35 + src/search_engine/engines/isohunt.png | Bin 0 -> 633 bytes src/search_engine/engines/isohunt.py | 78 + src/search_engine/engines/mininova.png | Bin 0 -> 365 bytes src/search_engine/engines/mininova.py | 62 + src/search_engine/engines/piratebay.png | Bin 0 -> 609 bytes src/search_engine/engines/piratebay.py | 79 + src/search_engine/engines/torrentreactor.png | Bin 0 -> 529 bytes src/search_engine/engines/torrentreactor.py | 78 + src/search_engine/engines/versions.txt | 5 + src/search_engine/nova.py | 503 --- src/search_engine/nova2.py | 90 + src/search_engine/novaprinter.py | 30 + src/src.pro | 36 +- src/torrentAddition.h | 205 +- src/update_qrc_files.py | 21 + 154 files changed, 35337 insertions(+), 17710 deletions(-) create mode 100644 qcm/libzzip.qcm create mode 100644 qcm/qt4.qcm delete mode 100644 qcm/qt42.qcm create mode 100644 src/Icons/bt_settings.png create mode 100644 src/Icons/configure.png create mode 100644 src/Icons/download.png create mode 100644 src/Icons/edit_clear.png delete mode 100644 src/Icons/exec.png create mode 100644 src/Icons/file.png delete mode 100644 src/Icons/flags/china_hong_kong.png create mode 100644 src/Icons/folder.png create mode 100644 src/Icons/gear.png delete mode 100644 src/Icons/rss.png create mode 100644 src/Icons/rss16.png create mode 100644 src/Icons/rss32.png create mode 100644 src/Icons/star.png create mode 100644 src/Icons/subscribe.png create mode 100644 src/Icons/subscribe16.png create mode 100644 src/Icons/unsubscribe.png create mode 100644 src/Icons/unsubscribe16.png create mode 100644 src/arborescence.h create mode 100644 src/downloadThread.cpp create mode 100644 src/engineSelect.ui create mode 100644 src/engineSelectDlg.cpp create mode 100644 src/engineSelectDlg.h create mode 100644 src/pluginSource.h create mode 100644 src/pluginSource.ui create mode 100644 src/qgnomelook.h create mode 100644 src/search_engine/__init__.py create mode 100644 src/search_engine/engines/__init__.py create mode 100644 src/search_engine/engines/btjunkie.png create mode 100644 src/search_engine/engines/btjunkie.py create mode 100644 src/search_engine/engines/isohunt.png create mode 100644 src/search_engine/engines/isohunt.py create mode 100644 src/search_engine/engines/mininova.png create mode 100644 src/search_engine/engines/mininova.py create mode 100644 src/search_engine/engines/piratebay.png create mode 100644 src/search_engine/engines/piratebay.py create mode 100644 src/search_engine/engines/torrentreactor.png create mode 100644 src/search_engine/engines/torrentreactor.py create mode 100644 src/search_engine/engines/versions.txt delete mode 100755 src/search_engine/nova.py create mode 100755 src/search_engine/nova2.py create mode 100644 src/search_engine/novaprinter.py diff --git a/AUTHORS b/AUTHORS index c4b7c822c..560821d74 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,5 +1,5 @@ Author: * Christophe Dumez -Other developers: +Contributors: * Arnaud Demaizière diff --git a/Changelog b/Changelog index e221b4b2c..b1465c3e6 100644 --- a/Changelog +++ b/Changelog @@ -5,6 +5,8 @@ - FEATURE: Bittorrent FAST extension support - FEATURE: Added RSS support - FEATURE: Support files prioritizing in a torrent + - FEATURE: Brand new search engine plugins system + - FEATURE: Filtered files don't appear on hard disk anymore - FEATURE: Finished torrents are now moved to another tab for seeding - FEATURE: Display more infos about the torrent in its properties - FEATURE: Allow the user to edit torrents' trackers @@ -30,6 +32,15 @@ - FEATURE: User is now warned when fast resume data was rejected - FEATURE: Url seeds are now displayed in torrent properties and are editable - FEATURE: Allow to drag 'n drop urls on the main window + - FEATURE: Improved search engine (multipage support in all plugins) + - FEATURE: Added BTJunkie search engine plugin + - FEATURE: Added an option to force full disk allocation for all torrents + - FEATURE: Added an option to add torrents in paused state + - FEATURE: Added an option to set the max number of connections per torrent + - FEATURE: Added an option to set the max number of uploads per torrent + - FEATURE: Added an option to automatically delete torrents when they reach a given ratio (>= 1.0) + - FEATURE: Added an option to display current transfer speeds in title bar + - FEATURE: Torrent content is now displayed as a tree - I18N: Added Hungarian translation - I18N: Added Brazilian translation - BUGFIX: Progress of paused torrents is now correct on restart @@ -52,11 +63,14 @@ - BUGFIX: Made torrent deletion from hard-drive safer - BUGFIX: Prevent downloadFromUrl flooding - BUGFIX: ETA was wrong for torrents with filtered files + - BUGFIX: Fixed drag'n drop on non-KDE systems - COSMETIC: Redesigned torrent properties a little - - COSMETIC: Redesigned options a little + - COSMETIC: Totally redesigned program preferences - COSMETIC: Display more logs messages concerning features - COSMETIC: Improved lists renderers - COSMETIC: Use a different icon for torrents being checked and for connecting ones + - COSMETIC: Improved some icons + - COSMETIC: Improved systray tooltip style * Mon May 07 2007 - Christophe Dumez - v0.9.3 - BUGFIX: Fixed pause toggle on double-click in download list diff --git a/INSTALL b/INSTALL index 43a5c698c..8f44209ca 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -qBittorrent - A BitTorrent client in C++ / Qt4.2 +qBittorrent - A BitTorrent client in C++ / Qt4 ------------------------------------------ *** Necessary if qt3 is default on your system *** @@ -14,11 +14,12 @@ qbittorrent will install and execute qBittorrent hopefully without any problems. Dependencies: -- Qt >= 4.2 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) +- Qt >= 4.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) -- libtorrent by Arvid Norberg (>= v0.13 REQUIRED) +- rblibtorrent by Arvid Norberg (>= v0.13 REQUIRED) + -> http://www.qbittorrent.org/download.php (advised) -> http://www.libtorrent.net - Be carefull: another library (the one used by rtorrent) use the same name. + Be careful: another library (the one used by rTorrent) use the same name. These are TWO different libraries and qBittorrent will only work with the one provided on sourceforge (created by Arvid Norberg). The two libraries conflicts with each other. @@ -26,13 +27,17 @@ Dependencies: - libcommoncpp2 -- python >= 2.3 (previous might work - not tested): needed by search engine. +- python >= 2.3 (needed by search engine) - libmagick++ (advised, not required) + * Needed for favicons support (RSS / Search plugins) -NOTE FOR GNOME USERS: -- qt4-qtconfig package is advised when using Plastique style (default) - or just change qBittorrent style to Cleanlooks (GNOME like) +- libzzip (advised, not required) + * Needed for zip support (Search plugins) + +NOTE FOR NON-KDE USERS: +- qt4-qtconfig package is advised when using other systems than KDE. + You can also change qBittorrent style to Cleanlooks (GNOME like) DOCUMENTATION: Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org. diff --git a/README b/README index 7860e1632..3576c70e5 100644 --- a/README +++ b/README @@ -3,30 +3,30 @@ qBittorrent - A BitTorrent client in Qt4 Description: ******************************** -qBittorrent is a bittorrent client programmed in C++ / Qt4 that use -libtorrent (sometimes called rb_libtorrent) by Arvid Norberg. +qBittorrent is a bittorrent client programmed in C++ / Qt4 that uses +libtorrent (sometimes called rblibtorrent) by Arvid Norberg. It aims to be a good alternative to all other bittorrent clients out there. qBittorrent is fast, stable and provides unicode -support. +support as well as many features. Installation: ******************************** -For installation follow the instructions from INSTALL file, but simple +For installation, follow the instructions from INSTALL file, but simple: ./configure make && make install qbittorrent -will install and execute qBittorrent hopefully without any problems. +will install and execute qBittorrent hopefully without any problem. For more information please visit: http://www.qbittorrent.org -Please report any bug (or feature requests) to: +Please report any bug (or feature request) to: http://bugs.qbittorrent.org -You can also meet me on IRC: +You can also meet me (chris-qBT) on IRC: #qbittorrent on irc.freenode.net ------------------------------------------ diff --git a/TODO b/TODO index 6b9bf394a..f31c83df2 100644 --- a/TODO +++ b/TODO @@ -1,98 +1,68 @@ // Easy - Translations into as many languages as possible -- Improve man page - Use Launchpad/Rosetta for translations once it supports TS files // Intermediate -- Port on MacOS, Windows (and create an installer for Windows) - Progressing slowly -- Add some transparency (menus,...), improve look +- Port on MacOS, Windows (and create an installer for Windows) - Slow progress +- Add some transparency (menus,...), improve look / usabilty +- Skins support? (contact Mateusz) // Harder -- Display a progress bar that really displays the pieces we have (like in eMule) +- Display a progress bar that really represents the pieces we have (like in eMule) +- Torrent scheduler ala µtorrent/Bitcomet // Waiting for libtorrent - File selection in a torrent in compact mode -- Allow to prioritize torrents +- Allow to prioritize torrents (may code this in qBittorrent?) // Unsure +- Display the peers we are connected to for each torrent with infos (like flag, dl/up speeds, ...) - Azureus spoofing to prevent ban from trackers? - Option to shutdown computer when downloads are finished -- Add a torrent scheduler +- NAT checker/Tester +- Display hard drive space left? - Make use of dbus on Linux for the single instance instead of socket communication? (http://techbase.kde.org/Development/Tutorials/D-Bus/Accessing_Interfaces) -- search engines customizing +- When favicon can't be downloaded, try to parse the webpage for: + + * Be carefull, the link can be relative // in v1.2.0 -- Allow user to organize the downloads into categories/folders +- Allow user to organize the downloads into categories/folders? // in v1.1.0 - Tabs support in search - Allow to hide columns? - Allow to scan multiple directories? (useful?) -- Web interface (turbogears? php?) +- Web interface (turbogears? php? python?) + * Webserver? Try to write a webserver as a plugin for qBittorrent in Python + * http://fragments.turtlemeat.com/pythonwebserver.php - improve and test tracker authentication code (remember login/pass) (need a tracker to test this) - support zipped torrents? (useful?) -- Add option for RSS customization (refresh interval, max news per RSS...) -- Allow to disable UPnP/NAT-PMP/LSD in options? -- Allow to automatically delete torrents when they reach a given ratio (in options) : easy - Allow to limit the number of downloading torrents simultaneously (other are paused until a download finishes) -- Add "Mark all as read" feature for RSS -- Allow to customize lists refreshing interval (in options) -- Use search engines as plugins (split them, load them dynamically) to allow the user to add some +- Improve search plugin install (choose in a list taken from plugins.qbittorrent.org) +- Display the number of DHT node if possible +- When adding a duplicate torrent, check if the trackers are different from the existing one and ask the user if he wants to add them +- Display in torrent addition dialog: + * free disk space on selected drive + * free disk space after torrent download (and/or torrent size) +- Start minimized option in program preferences +- Allow to change action on double-click + -> in download list + -> in seeding list -// in v1.0.0 (partial) - WIP -- Check storage st creation + hasher in torrent creation +// in v1.0.0 - FEATURE FREEZE - Fix all (or almost all) opened bugs in bug tracker -- update sorting when a new torrent is added? -- Keep documention up to date -- Windows port (Chris - Peerkoel) -- write patches libtorrent for file_priority(int index), actual_size() ? -- valgrind --tool=memcheck --leak-check=full src/qbittorrent (Looks ok) -- 128m 29m 16m S 4.8 2.9 0:02.28 qbittorrent -* beta 6 - - Translations update (IN PROGRESS) - - Wait for some bug fixes in libtorrent : - - Number of seeds non null for finished torrent (Ticket #122) +- Recheck doc +- Translations update (IN PROGRESS) -LANGUAGES UPDATED: -- French *BETA3* -- English *BETA3* -- Japanese *BETA3* -- Swedish *BETA3* -- Slovak *BETA3* -- Ukrainian *BETA3* -- Chinese (simplified) *BETA4* -- Hungarian *BETA4* -- Italian *BETA5* -- Polish *BETA5* -- Portuguese *BETA5* -- Brazilian *BETA5* -- Spanish *BETA5* -- German *BETA5* -- Russian *BETA5* -- Korean *BETA5* -- Greek *BETA6* -- Dutch *BETA6* -- Romanian *BETA6* - -beta5->beta6 changelog: -- FEATURE: Split download tab from GUI class and cleaned up code -- FEATURE: A lot of code optimization (CPU & memory usage) -- FEATURE: Added support for .ico format (useful for RSS favicons) -- FEATURE: Replaced Meganova search engine by TorrentReactor -- I18N: Updated Greek, Dutch and Romanian translation -- I18N: Removed no longer maintained Traditional chinese translation -- BUGFIX: Made torrent deletion from hard-drive safer -- BUGFIX: Fixed a bug when switching from finished to downloading list -- BUGFIX: Showing checking progress for paused torrents too -- BUGFIX: Fixed progress column sorting on startup -- BUGFIX: Prevent downloadFromUrl flooding -- BUGFIX: Fixed pause state toggle for paused and checking torrents -- BUGFIX: Made finished list context menu more similar to the download list one -- BUGFIX: Fixed Pause/Start action in lists context menus -- BUGFIX: Improved ETA calculation -- BUGFIX: ETA was wrong for torrents with filtered files -- BUGFIX: Display the torrent that are being checked as 'checking' in seeding list -- BUGFIX: Fixed file preview and improved previewable files detection -- BUGFIX: Do not store and calculate ETA values for finished/paused torrents -- BUGFIX: Fixed memory leak in GUI +rc5->rc6 changelog: +- FEATURE: Added a button to clear search pattern +- BUGFIX: configure looks for libraries in lib64 folders too +- BUGFIX: configure doesn't require paths with a terminal "/" anymore +- BUGFIX: Fixed minimize to tray feature +- BUGFIX: Fixed folders progress calculation in torrent properties +- BUGFIX: Fixed deletion of subfolders when deleting torrents from hard drive +- BUGFIX: Remember scan directory in program preferences now +- BUGFIX: Fixed ETA display (sometimes displayed < 1min for no reason) +- I18N: Fixed swedish, French, Spanish translations \ No newline at end of file diff --git a/configure b/configure index 7b3895b5c..2e0ffaa59 100755 --- a/configure +++ b/configure @@ -27,6 +27,9 @@ Dependency options: --disable-libmagick Disable use of libmagick --with-libmagick-inc=[path] Path to libmagick++ include files --with-libmagick-lib=[path] Path to libmagick++ library files + --disable-libzzip Disable use of libzzip + --with-libzzip-inc=[path] Path to libzzip++ include files + --with-libzzip-lib=[path] Path to libzzip++ library files EOT } @@ -188,6 +191,21 @@ while [ $# -gt 0 ]; do shift ;; + --disable-libzzip) + QC_DISABLE_libzzip="Y" + shift + ;; + + --with-libzzip-inc=*) + QC_WITH_LIBZZIP_INC=$optarg + shift + ;; + + --with-libzzip-lib=*) + QC_WITH_LIBZZIP_LIB=$optarg + shift + ;; + --verbose) QC_VERBOSE="Y" shift @@ -218,6 +236,9 @@ echo QC_WITH_LIBCOMMONCPP2_LIB=$QC_WITH_LIBCOMMONCPP2_LIB echo QC_DISABLE_libmagick=$QC_DISABLE_libmagick echo QC_WITH_LIBMAGICK_INC=$QC_WITH_LIBMAGICK_INC echo QC_WITH_LIBMAGICK_LIB=$QC_WITH_LIBMAGICK_LIB +echo QC_DISABLE_libzzip=$QC_DISABLE_libzzip +echo QC_WITH_LIBZZIP_INC=$QC_WITH_LIBZZIP_INC +echo QC_WITH_LIBZZIP_LIB=$QC_WITH_LIBZZIP_LIB echo fi @@ -319,21 +340,21 @@ fi gen_files() { cat >$1/modules.cpp <= 4.2 +name: Qt >= 4.3 -----END QCMOD----- */ -class qc_qt42 : public ConfObj +class qc_qt4 : public ConfObj { public: - qc_qt42(Conf *c) : ConfObj(c) {} - QString name() const { return "Qt >= 4.2"; } - QString shortname() const { return "qt42"; } + qc_qt4(Conf *c) : ConfObj(c) {} + QString name() const { return "Qt >= 4.3"; } + QString shortname() const { return "Qt 4.3"; } bool exec() { - return(QT_VERSION >= 0x040200); + return(QT_VERSION >= 0x040300); } }; #line 1 "libtorrent.qcm" @@ -391,7 +412,9 @@ public: }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(conf->checkLibrary(s, "torrent")){ @@ -512,15 +535,17 @@ public: s = conf->getenv("QC_WITH_LIBCOMMONCPP2_LIB"); if(!s.isEmpty()) { - if(!QFile::exists(s+QString("libccext2.so"))) + if(!QFile::exists(s+QString("/libccext2.so"))) return false; - if(!QFile::exists(s+QString("libccgnu2.so"))) + if(!QFile::exists(s+QString("/libccgnu2.so"))) return false; conf->addLib(QString("-L") + s); }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(QFile::exists(s+QString("libccext2.so"))){ @@ -593,13 +618,15 @@ public: s = conf->getenv("QC_WITH_LIBMAGICK_LIB"); if(!s.isEmpty()) { - if(!QFile::exists(s+QString("libMagick++.so"))){ + if(!QFile::exists(s+QString("/libMagick++.so"))){ return false; } }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(QFile::exists(s+QString("libMagick++.so"))){ @@ -618,11 +645,84 @@ public: magickConfig.waitForStarted(); magickConfig.waitForFinished(); QByteArray result = magickConfig.readAll(); + result = result.replace("\n", ""); conf->addLib(result.data()); conf->addDefine("HAVE_MAGICK"); return true; } }; +#line 1 "libzzip.qcm" +/* +-----BEGIN QCMOD----- +name: libzzip +arg: with-libzzip-inc=[path], Path to libzzip++ include files +arg: with-libzzip-lib=[path], Path to libzzip++ library files +-----END QCMOD----- +*/ +#include +class qc_libzzip : public ConfObj +{ +public: + qc_libzzip(Conf *c) : ConfObj(c) {} + QString name() const { return "Zzip library (libzzip)"; } + QString shortname() const { return "libzzip"; } + QString checkString() const { + if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) + return ""; + return ConfObj::checkString(); + } + bool exec(){ + if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) + return false; + QString s; + s = conf->getenv("QC_WITH_LIBZZIP_INC"); + if(!s.isEmpty()) { + if(!conf->checkHeader(s, "zzip/zzip.h")) { + return false; + } + }else{ + QStringList sl; + sl << "/usr/include"; + sl << "/usr/local/include"; + bool found = false; + foreach(s, sl){ + if(conf->checkHeader(s, "zzip/zzip.h")){ + found = true; + break; + } + } + if(!found) + return false; + } + conf->addIncludePath(s); + + s = conf->getenv("QC_WITH_LIBZZIP_LIB"); + if(!s.isEmpty()) { + if(!QFile::exists(s+QString("/libzzip.so"))){ + return false; + } + }else{ + QStringList sl; + sl << "/usr/lib/"; + sl << "/usr/lib64/"; + sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; + bool found = false; + foreach(s, sl){ + if(QFile::exists(s+QString("libzzip.so"))){ + found = true; + break; + } + } + if(!found) + return false; + } + conf->addLib(QString("-L") + s); + conf->addLib("-lzzip"); + conf->addDefine("HAVE_ZZIP"); + return true; + } +}; #line 1 "python.qcm" /* -----BEGIN QCMOD----- @@ -646,7 +746,7 @@ public: EOT cat >$1/modules_new.cpp <required = true; o->disabled = false; o = new qc_libtorrent(conf); @@ -661,6 +761,9 @@ cat >$1/modules_new.cpp <required = false; o->disabled = false; + o = new qc_libzzip(conf); + o->required = false; + o->disabled = false; o = new qc_python(conf); o->required = true; o->disabled = false; @@ -1618,6 +1721,9 @@ export QC_WITH_LIBCOMMONCPP2_LIB export QC_DISABLE_libmagick export QC_WITH_LIBMAGICK_INC export QC_WITH_LIBMAGICK_LIB +export QC_DISABLE_libzzip +export QC_WITH_LIBZZIP_INC +export QC_WITH_LIBZZIP_LIB export QC_VERBOSE rm -rf .qconftemp ( diff --git a/doc/qbittorrent.1.gz b/doc/qbittorrent.1.gz index 27b75028cb2cf15fbd59b4e58ea37e9b7d6637a7..82633ae453dff2333458214f076fa83d4d18cdeb 100644 GIT binary patch literal 621 zcmV-z0+Rh7iwFp7rTRt!194($baZcWa%FCGE-?U&Q^8K-Fc7`_D@HkiXdOT+t%MNT zwiHnb+Ry}v)s};kOcQGzJJ?R4Xtm$I<9309IBk$uIfq{tldCcOf!q1j{qBKte*am1 zzfV(XKfhU_b<)uElVnpjIv=N_`6S6EvuU)24BtU$4YUAJu7oaViC=4}$2uo<1-?cg zN}DU0?{Lz|3cC)D7}%98VQMTbpyIGQLLnQ+ya~$}P#HtpS01ek6mP8|jp$xfNbRxO zTH2woMGdH{U_Uk?(aISh?@{`r^flZjI)Ok-2DXpFmSHS0`6cTo*GZ3{gE`xXmtSbF#;%w$gdi(pt~yPkn~dB1C?CK%TLGaCW-u H9s~dYuly?f literal 490 zcmV5194($baZcWa%FCGE-?UwQcG*wKoGv`R}8wwUL~eb2qDz3 zVnbp(k^(Jt4=Z^rEnV%XyCZ{p=x^`HZdxAf8=A-=BaFHFJBPB%wxYm1)TuhpMC|`Hi+g&x!oE$y>cI$)k!?zJT~;vdr^!n$A~w z4Dnt6-NCc=Weua-+mB*T4Cmy%$bizC{xJ@wH#d;L3x7}}Nr|IKWeZr1pXbrf!Z82M z-wvgj_wXlZ_I0)1WXmjyw)@Ei#de>diw4TsWudp&YM9}LNi zH=9$rcs9?b>2i}V*Q@v%M27vo@u}X7wc4}H?6%1 gOsz~|Cg=JK9?IVH>7q|XzIu%Q03*9nog)JP0Oa8CIsgCw diff --git a/qbittorrent.qc b/qbittorrent.qc index 16b88e5c6..93a002c39 100644 --- a/qbittorrent.qc +++ b/qbittorrent.qc @@ -3,7 +3,7 @@ qbittorrent.pro qcm - + @@ -15,7 +15,8 @@ - + + diff --git a/qcm/libcommoncpp2.qcm b/qcm/libcommoncpp2.qcm index 12db1ab74..76575b17d 100644 --- a/qcm/libcommoncpp2.qcm +++ b/qcm/libcommoncpp2.qcm @@ -37,15 +37,17 @@ public: s = conf->getenv("QC_WITH_LIBCOMMONCPP2_LIB"); if(!s.isEmpty()) { - if(!QFile::exists(s+QString("libccext2.so"))) + if(!QFile::exists(s+QString("/libccext2.so"))) return false; - if(!QFile::exists(s+QString("libccgnu2.so"))) + if(!QFile::exists(s+QString("/libccgnu2.so"))) return false; conf->addLib(QString("-L") + s); }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(QFile::exists(s+QString("libccext2.so"))){ diff --git a/qcm/libmagick.qcm b/qcm/libmagick.qcm index 2880f727f..04eca79d7 100644 --- a/qcm/libmagick.qcm +++ b/qcm/libmagick.qcm @@ -44,13 +44,15 @@ public: s = conf->getenv("QC_WITH_LIBMAGICK_LIB"); if(!s.isEmpty()) { - if(!QFile::exists(s+QString("libMagick++.so"))){ + if(!QFile::exists(s+QString("/libMagick++.so"))){ return false; } }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(QFile::exists(s+QString("libMagick++.so"))){ @@ -69,6 +71,7 @@ public: magickConfig.waitForStarted(); magickConfig.waitForFinished(); QByteArray result = magickConfig.readAll(); + result = result.replace("\n", ""); conf->addLib(result.data()); conf->addDefine("HAVE_MAGICK"); return true; diff --git a/qcm/libtorrent.qcm b/qcm/libtorrent.qcm index 692d08e96..808a9d822 100644 --- a/qcm/libtorrent.qcm +++ b/qcm/libtorrent.qcm @@ -52,7 +52,9 @@ public: }else{ QStringList sl; sl << "/usr/lib/"; + sl << "/usr/lib64/"; sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; bool found = false; foreach(s, sl){ if(conf->checkLibrary(s, "torrent")){ diff --git a/qcm/libzzip.qcm b/qcm/libzzip.qcm new file mode 100644 index 000000000..acec24caa --- /dev/null +++ b/qcm/libzzip.qcm @@ -0,0 +1,71 @@ +/* +-----BEGIN QCMOD----- +name: libzzip +arg: with-libzzip-inc=[path], Path to libzzip++ include files +arg: with-libzzip-lib=[path], Path to libzzip++ library files +-----END QCMOD----- +*/ +#include +class qc_libzzip : public ConfObj +{ +public: + qc_libzzip(Conf *c) : ConfObj(c) {} + QString name() const { return "Zzip library (libzzip)"; } + QString shortname() const { return "libzzip"; } + QString checkString() const { + if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) + return ""; + return ConfObj::checkString(); + } + bool exec(){ + if(!conf->getenv("QC_DISABLE_LIBZZIP").isEmpty()) + return false; + QString s; + s = conf->getenv("QC_WITH_LIBZZIP_INC"); + if(!s.isEmpty()) { + if(!conf->checkHeader(s, "zzip/zzip.h")) { + return false; + } + }else{ + QStringList sl; + sl << "/usr/include"; + sl << "/usr/local/include"; + bool found = false; + foreach(s, sl){ + if(conf->checkHeader(s, "zzip/zzip.h")){ + found = true; + break; + } + } + if(!found) + return false; + } + conf->addIncludePath(s); + + s = conf->getenv("QC_WITH_LIBZZIP_LIB"); + if(!s.isEmpty()) { + if(!QFile::exists(s+QString("/libzzip.so"))){ + return false; + } + }else{ + QStringList sl; + sl << "/usr/lib/"; + sl << "/usr/lib64/"; + sl << "/usr/local/lib/"; + sl << "/usr/local/lib64/"; + bool found = false; + foreach(s, sl){ + if(QFile::exists(s+QString("libzzip.so"))){ + found = true; + break; + } + } + if(!found) + return false; + } + conf->addLib(QString("-L") + s); + conf->addLib("-lzzip"); + conf->addDefine("HAVE_ZZIP"); + return true; + } +}; diff --git a/qcm/qt4.qcm b/qcm/qt4.qcm new file mode 100644 index 000000000..64df414ea --- /dev/null +++ b/qcm/qt4.qcm @@ -0,0 +1,16 @@ +/* +-----BEGIN QCMOD----- +name: Qt >= 4.3 +-----END QCMOD----- +*/ +class qc_qt4 : public ConfObj +{ +public: + qc_qt4(Conf *c) : ConfObj(c) {} + QString name() const { return "Qt >= 4.3"; } + QString shortname() const { return "Qt 4.3"; } + bool exec() + { + return(QT_VERSION >= 0x040300); + } +}; diff --git a/qcm/qt42.qcm b/qcm/qt42.qcm deleted file mode 100644 index 77db1ab9e..000000000 --- a/qcm/qt42.qcm +++ /dev/null @@ -1,16 +0,0 @@ -/* ------BEGIN QCMOD----- -name: Qt >= 4.2 ------END QCMOD----- -*/ -class qc_qt42 : public ConfObj -{ -public: - qc_qt42(Conf *c) : ConfObj(c) {} - QString name() const { return "Qt >= 4.2"; } - QString shortname() const { return "qt42"; } - bool exec() - { - return(QT_VERSION >= 0x040200); - } -}; diff --git a/src/DLListDelegate.h b/src/DLListDelegate.h index 52ecb9c94..a019fc22e 100644 --- a/src/DLListDelegate.h +++ b/src/DLListDelegate.h @@ -83,11 +83,9 @@ class DLListDelegate: public QItemDelegate { newopt.maximum = 100; newopt.minimum = 0; newopt.state |= QStyle::State_Enabled; - newopt.textVisible = false; + newopt.textVisible = true; QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, painter); - painter->setPen(QColor("Black")); - painter->drawText(opt.rect, Qt::AlignCenter, newopt.text); break; } default: diff --git a/src/FinishedListDelegate.h b/src/FinishedListDelegate.h index dacd4f4a8..09bf12345 100644 --- a/src/FinishedListDelegate.h +++ b/src/FinishedListDelegate.h @@ -76,11 +76,9 @@ class FinishedListDelegate: public QItemDelegate { newopt.maximum = 100; newopt.minimum = 0; newopt.state |= QStyle::State_Enabled; - newopt.textVisible = false; + newopt.textVisible = true; QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, painter); - painter->setPen(QColor("Black")); - painter->drawText(opt.rect, Qt::AlignCenter, newopt.text); break; } default: diff --git a/src/FinishedTorrents.cpp b/src/FinishedTorrents.cpp index 1897a33ff..6dc947e7b 100644 --- a/src/FinishedTorrents.cpp +++ b/src/FinishedTorrents.cpp @@ -122,7 +122,8 @@ void FinishedTorrents::torrentAdded(QString, QTorrentHandle& h, bool) { // Set the color of a row in data model void FinishedTorrents::setRowColor(int row, QString color){ - for(int i=0; icolumnCount(); ++i){ + unsigned int nbColumns = finishedListModel->columnCount()-1; + for(unsigned int i=0; isetData(finishedListModel->index(row, i), QVariant(QColor(color)), Qt::ForegroundRole); } } @@ -209,6 +210,10 @@ void FinishedTorrents::updateFinishedList(){ } Q_ASSERT(row != -1); if(h.is_paused()) continue; + if(BTSession->getTorrentsToPauseAfterChecking().indexOf(hash) != -1) { + finishedListModel->setData(finishedListModel->index(row, F_PROGRESS), QVariant((double)h.progress())); + continue; + } if(h.state() == torrent_status::downloading || (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && h.progress() < 1.)) { // What are you doing here? go back to download tab! qDebug("Info: a torrent was moved from finished to download tab"); @@ -218,10 +223,8 @@ void FinishedTorrents::updateFinishedList(){ continue; } if(h.state() == torrent_status::checking_files){ - if(BTSession->getTorrentsToPauseAfterChecking().indexOf(hash) == -1) { - finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole); - setRowColor(row, QString::fromUtf8("grey")); - } + finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole); + setRowColor(row, QString::fromUtf8("grey")); finishedListModel->setData(finishedListModel->index(row, F_PROGRESS), QVariant((double)h.progress())); continue; } @@ -311,7 +314,7 @@ void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){ // Enable/disable pause/start action given the DL state QModelIndexList selectedIndexes = finishedList->selectionModel()->selectedIndexes(); QSettings settings("qBittorrent", "qBittorrent"); - QString previewProgram = settings.value("Options/Misc/PreviewProgram", QString()).toString(); + QString previewProgram = settings.value("Preferences/general/MediaPlayer", QString()).toString(); bool has_pause = false, has_start = false, has_preview = false; foreach(index, selectedIndexes) { if(index.column() == F_NAME) { diff --git a/src/GUI.cpp b/src/GUI.cpp index 5fa5882e1..a1e38947a 100644 --- a/src/GUI.cpp +++ b/src/GUI.cpp @@ -47,7 +47,6 @@ #include "allocationDlg.h" using namespace libtorrent; -namespace fs = boost::filesystem; /***************************************************** * * @@ -56,11 +55,11 @@ namespace fs = boost::filesystem; *****************************************************/ // Constructor -GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), force_exit(false) { +GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), displaySpeedInTitle(false), force_exit(false), refreshInterval(1500) { setupUi(this); setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION))); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - systrayIntegration = settings.value(QString::fromUtf8("Options/Misc/Behaviour/SystrayIntegration"), true).toBool(); + systrayIntegration = settings.value(QString::fromUtf8("Preferences/General/SystrayEnabled"), true).toBool(); // Create tray icon if (QSystemTrayIcon::isSystemTrayAvailable()) { if(systrayIntegration) { @@ -112,6 +111,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for connect(BTSession, SIGNAL(scanDirFoundTorrents(const QStringList&)), this, SLOT(processScannedFiles(const QStringList&))); connect(BTSession, SIGNAL(newDownloadedTorrent(QString, QString)), this, SLOT(processDownloadedFiles(QString, QString))); connect(BTSession, SIGNAL(downloadFromUrlFailure(QString, QString)), this, SLOT(handleDownloadFromUrlFailure(QString, QString))); + connect(BTSession, SIGNAL(torrent_deleted(QString, QString, bool)), this, SLOT(deleteTorrent(QString, QString, bool))); qDebug("create tabWidget"); tabs = new QTabWidget(); // Download torrents tab @@ -130,6 +130,10 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for // Smooth torrent switching between tabs Downloading <--> Finished connect(downloadingTorrentTab, SIGNAL(torrentFinished(QString)), finishedTorrentTab, SLOT(addTorrent(QString))); connect(finishedTorrentTab, SIGNAL(torrentMovedFromFinishedList(QString)), downloadingTorrentTab, SLOT(addTorrent(QString))); + // Start download list refresher + refresher = new QTimer(this); + connect(refresher, SIGNAL(timeout()), this, SLOT(updateLists())); + refresher->start(1500); // Configure BT session according to options configureSession(true); // Resume unfinished torrents @@ -141,7 +145,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for // RSS tab rssWidget = new RSSImp(); tabs->addTab(rssWidget, tr("RSS")); - tabs->setTabIcon(3, QIcon(QString::fromUtf8(":/Icons/rss.png"))); + tabs->setTabIcon(3, QIcon(QString::fromUtf8(":/Icons/rss32.png"))); readSettings(); // Add torrent given on command line processParams(torrentCmdLine); @@ -155,10 +159,6 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for checkConnect = new QTimer(this); connect(checkConnect, SIGNAL(timeout()), this, SLOT(checkConnectionStatus())); checkConnect->start(5000); - // Start download list refresher - refresher = new QTimer(this); - connect(refresher, SIGNAL(timeout()), this, SLOT(updateLists())); - refresher->start(1500); previewProcess = new QProcess(this); connect(previewProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(cleanTempPreviewFile(int, QProcess::ExitStatus))); // Accept drag 'n drops @@ -243,7 +243,7 @@ void GUI::finishedTorrent(QTorrentHandle& h) const { QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); bool show_msg = true; QString fileName = h.name(); - int useOSD = settings.value(QString::fromUtf8("Options/OSDEnabled"), 1).toInt(); + bool useNotificationBalloons = settings.value(QString::fromUtf8("Preferences/General/NotificationBaloons"), true).toBool(); // Add it to finished tab QString hash = h.hash(); if(QFile::exists(misc::qBittorrentPath()+QString::fromUtf8("BT_backup")+QDir::separator()+hash+QString::fromUtf8(".finished"))) { @@ -254,7 +254,7 @@ void GUI::finishedTorrent(QTorrentHandle& h) const { downloadingTorrentTab->setInfoBar(tr("%1 has finished downloading.", "e.g: xxx.avi has finished downloading.").arg(fileName)); downloadingTorrentTab->deleteTorrent(hash); finishedTorrentTab->addTorrent(hash); - if(show_msg && systrayIntegration && (useOSD == 1 || (useOSD == 2 && (isMinimized() || isHidden())))) { + if(show_msg && systrayIntegration && useNotificationBalloons) { myTrayIcon->showMessage(tr("Download finished"), tr("%1 has finished downloading.", "e.g: xxx.avi has finished downloading.").arg(fileName), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); } } @@ -262,8 +262,8 @@ void GUI::finishedTorrent(QTorrentHandle& h) const { // Notification when disk is full void GUI::fullDiskError(QTorrentHandle& h) const { QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - int useOSD = settings.value(QString::fromUtf8("Options/OSDEnabled"), 1).toInt(); - if(systrayIntegration && (useOSD == 1 || (useOSD == 2 && (isMinimized() || isHidden())))) { + bool useNotificationBalloons = settings.value(QString::fromUtf8("Preferences/General/NotificationBaloons"), true).toBool(); + if(systrayIntegration && useNotificationBalloons) { 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(h.name()), QSystemTrayIcon::Critical, TIME_TRAY_BALLOON); } // Download will be paused by libtorrent. Updating GUI information accordingly @@ -412,7 +412,7 @@ void GUI::previewFile(QString filePath) { QStringList params; params << tmpPath; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - QString previewProgram = settings.value(QString::fromUtf8("Options/Misc/PreviewProgram"), QString()).toString(); + QString previewProgram = settings.value(QString::fromUtf8("Preferences/General/MediaPlayer"), QString()).toString(); previewProcess->start(previewProgram, params, QIODevice::ReadOnly); }else{ QMessageBox::critical(0, tr("Preview process already running"), tr("There is already another preview process running.\nPlease close the other one first.")); @@ -475,13 +475,13 @@ void GUI::on_actionAbout_triggered() { void GUI::closeEvent(QCloseEvent *e) { qDebug("Mainwindow received closeEvent"); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool goToSystrayOnExit = settings.value(QString::fromUtf8("Options/Misc/Behaviour/GoToSystrayOnExit"), false).toBool(); + bool goToSystrayOnExit = settings.value(QString::fromUtf8("Preferences/General/CloseToTray"), false).toBool(); if(!force_exit && systrayIntegration && goToSystrayOnExit && !this->isHidden()) { hide(); e->ignore(); return; } - if(settings.value(QString::fromUtf8("Options/Misc/Behaviour/ConfirmOnExit"), true).toBool() && downloadingTorrentTab->getNbTorrentsInList()) { + if(settings.value(QString::fromUtf8("Preferences/General/ExitConfirm"), true).toBool() && downloadingTorrentTab->getNbTorrentsInList()) { show(); if(!isMaximized()) showNormal(); @@ -511,13 +511,14 @@ void GUI::closeEvent(QCloseEvent *e) { // Display window to create a torrent void GUI::on_actionCreate_torrent_triggered() { - new createtorrent(this); + createtorrent *ct = new createtorrent(this); + connect(ct, SIGNAL(torrent_to_seed(QString)), this, SLOT(addTorrent(QString))); } // Called when we minimize the program void GUI::hideEvent(QHideEvent *e) { QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - if(systrayIntegration && settings.value(QString::fromUtf8("Options/Misc/Behaviour/GoToSystray"), true).toBool() && !e->spontaneous()) { + if(systrayIntegration && settings.value(QString::fromUtf8("Preferences/General/MinimizeToTray"), false).toBool()) { // Hide window hide(); } @@ -528,13 +529,25 @@ void GUI::hideEvent(QHideEvent *e) { // Action executed when a file is dropped void GUI::dropEvent(QDropEvent *event) { event->acceptProposedAction(); - QStringList files=event->mimeData()->text().split(QString::fromUtf8("\n")); + QStringList files; + if(event->mimeData()->hasUrls()) { + QList urls = event->mimeData()->urls(); + QUrl url; + foreach(url, urls) { + QString tmp = url.toString(); + tmp.trimmed(); + if(!tmp.isEmpty()) + files << url.toString(); + } + } else { + files = event->mimeData()->text().split(QString::fromUtf8("\n")); + } // Add file to download list QString file; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Options/Misc/TorrentAdditionDialog/Enabled"), true).toBool(); + bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool(); foreach(file, files) { - file = file.trimmed().replace(QString::fromUtf8("file://"), QString::fromUtf8("")); + file = file.trimmed().replace(QString::fromUtf8("file://"), QString::fromUtf8(""), Qt::CaseInsensitive); qDebug("Dropped file %s on download list", file.toUtf8().data()); if(file.startsWith(QString::fromUtf8("http://"), Qt::CaseInsensitive) || file.startsWith(QString::fromUtf8("ftp://"), Qt::CaseInsensitive) || file.startsWith(QString::fromUtf8("https://"), Qt::CaseInsensitive)) { BTSession->downloadFromUrl(file); @@ -543,7 +556,7 @@ void GUI::dropEvent(QDropEvent *event) { if(useTorrentAdditionDialog) { torrentAdditionDialog *dialog = new torrentAdditionDialog(this); connect(dialog, SIGNAL(torrentAddition(QString, bool, QString)), BTSession, SLOT(addTorrent(QString, bool, QString))); - connect(dialog, SIGNAL(setInfoBarGUI(QString, QString)), downloadingTorrentTab, SLOT(setInfoBar(QString, QString))); + connect(dialog, SIGNAL(setInfoBarGUI(QString, QColor)), downloadingTorrentTab, SLOT(setInfoBar(QString, QColor))); dialog->showLoad(file); }else{ BTSession->addTorrent(file); @@ -553,7 +566,11 @@ void GUI::dropEvent(QDropEvent *event) { // Decode if we accept drag 'n drop or not void GUI::dragEnterEvent(QDragEnterEvent *event) { - if (event->mimeData()->hasFormat(QString::fromUtf8("text/plain"))) { + QString mime; + foreach(mime, event->mimeData()->formats()){ + qDebug("mimeData: %s", mime.toUtf8().data()); + } + if (event->mimeData()->hasFormat(QString::fromUtf8("text/plain")) || event->mimeData()->hasFormat(QString::fromUtf8("text/uri-list"))) { event->acceptProposedAction(); } } @@ -567,22 +584,20 @@ void GUI::dragEnterEvent(QDragEnterEvent *event) { // Display a dialog to allow user to add // torrents to download list void GUI::on_actionOpen_triggered() { - QStringList pathsList; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); // Open File Open Dialog // Note: it is possible to select more than one file - pathsList = QFileDialog::getOpenFileNames(0, + QStringList pathsList = QFileDialog::getOpenFileNames(0, tr("Open Torrent Files"), settings.value(QString::fromUtf8("MainWindowLastDir"), QDir::homePath()).toString(), tr("Torrent Files")+QString::fromUtf8(" (*.torrent)")); if(!pathsList.empty()) { - QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Options/Misc/TorrentAdditionDialog/Enabled"), true).toBool(); + bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool(); unsigned int listSize = pathsList.size(); for(unsigned int i=0; ishowLoad(pathsList.at(i)); }else{ BTSession->addTorrent(pathsList.at(i)); @@ -646,6 +661,16 @@ void GUI::on_actionDelete_Permanently_triggered() { } } +void GUI::deleteTorrent(QString hash, QString fileName, bool finished) { + if(finished) { + finishedTorrentTab->deleteTorrent(hash); + } else { + downloadingTorrentTab->deleteTorrent(hash); + } + // Update info bar + downloadingTorrentTab->setInfoBar(tr("'%1' was removed because its ratio reached the maximum value you set.", "%1 is a file name").arg(fileName)); +} + // delete selected items in the list void GUI::on_actionDelete_triggered() { QStringList hashes; @@ -708,7 +733,7 @@ void GUI::on_actionDelete_triggered() { void GUI::processParams(const QStringList& params) { QString param; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Options/Misc/TorrentAdditionDialog/Enabled"), true).toBool(); + bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool(); foreach(param, params) { param = param.trimmed(); if(param.startsWith(QString::fromUtf8("http://"), Qt::CaseInsensitive) || param.startsWith(QString::fromUtf8("ftp://"), Qt::CaseInsensitive) || param.startsWith(QString::fromUtf8("https://"), Qt::CaseInsensitive)) { @@ -717,7 +742,7 @@ void GUI::processParams(const QStringList& params) { if(useTorrentAdditionDialog) { torrentAdditionDialog *dialog = new torrentAdditionDialog(this); connect(dialog, SIGNAL(torrentAddition(QString, bool, QString)), BTSession, SLOT(addTorrent(QString, bool, QString))); - connect(dialog, SIGNAL(setInfoBarGUI(QString, QString)), downloadingTorrentTab, SLOT(setInfoBar(QString, QString))); + connect(dialog, SIGNAL(setInfoBarGUI(QString, QColor)), downloadingTorrentTab, SLOT(setInfoBar(QString, QColor))); dialog->showLoad(param); }else{ BTSession->addTorrent(param); @@ -726,15 +751,19 @@ void GUI::processParams(const QStringList& params) { } } +void GUI::addTorrent(QString path) { + BTSession->addTorrent(path); +} + void GUI::processScannedFiles(const QStringList& params) { QString param; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Options/Misc/TorrentAdditionDialog/Enabled"), true).toBool(); + bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool(); foreach(param, params) { if(useTorrentAdditionDialog) { torrentAdditionDialog *dialog = new torrentAdditionDialog(this); connect(dialog, SIGNAL(torrentAddition(QString, bool, QString)), BTSession, SLOT(addTorrent(QString, bool, QString))); - connect(dialog, SIGNAL(setInfoBarGUI(QString, QString)), downloadingTorrentTab, SLOT(setInfoBar(QString, QString))); + connect(dialog, SIGNAL(setInfoBarGUI(QString, QColor)), downloadingTorrentTab, SLOT(setInfoBar(QString, QColor))); dialog->showLoad(param, true); }else{ BTSession->addTorrent(param, true); @@ -744,11 +773,11 @@ void GUI::processScannedFiles(const QStringList& params) { void GUI::processDownloadedFiles(QString path, QString url) { QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Options/Misc/TorrentAdditionDialog/Enabled"), true).toBool(); + bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool(); if(useTorrentAdditionDialog) { torrentAdditionDialog *dialog = new torrentAdditionDialog(this); connect(dialog, SIGNAL(torrentAddition(QString, bool, QString)), BTSession, SLOT(addTorrent(QString, bool, QString))); - connect(dialog, SIGNAL(setInfoBarGUI(QString, QString)), downloadingTorrentTab, SLOT(setInfoBar(QString, QString))); + connect(dialog, SIGNAL(setInfoBarGUI(QString, QColor)), downloadingTorrentTab, SLOT(setInfoBar(QString, QColor))); dialog->showLoad(path, false, url); }else{ BTSession->addTorrent(path, false, url); @@ -758,92 +787,67 @@ void GUI::processDownloadedFiles(QString path, QString url) { // Set BT session configuration void GUI::configureSession(bool deleteOptions) { qDebug("Configuring session"); - QPair limits; - unsigned short old_listenPort, new_listenPort; - proxy_settings proxySettings; - session_settings sessionSettings; - pe_settings encryptionSettings; - // Configure session regarding options + // General + displaySpeedInTitle = options->speedInTitleBar(); + unsigned int new_refreshInterval = options->getRefreshInterval(); + if(refreshInterval != new_refreshInterval) { + refreshInterval = new_refreshInterval; + refresher->start(refreshInterval); + } + // Downloads + // * Save path BTSession->setDefaultSavePath(options->getSavePath()); - old_listenPort = BTSession->getListenPort(); + BTSession->preAllocateAllFiles(options->preAllocateAllFiles()); + BTSession->startTorrentsInPause(options->addTorrentsInPause()); + // * Scan dir + if(options->getScanDir().isNull()) { + BTSession->disableDirectoryScanning(); + }else{ + BTSession->enableDirectoryScanning(options->getScanDir()); + } + // Connection + // * Ports binding + unsigned short old_listenPort = BTSession->getListenPort(); BTSession->setListeningPortsRange(options->getPorts()); - new_listenPort = BTSession->getListenPort(); + unsigned short new_listenPort = BTSession->getListenPort(); if(new_listenPort != old_listenPort) { downloadingTorrentTab->setInfoBar(tr("qBittorrent is bind to port: %1", "e.g: qBittorrent is bind to port: 1666").arg( misc::toQString(new_listenPort))); } - // Apply max connec limit (-1 if disabled) - BTSession->setMaxConnections(options->getMaxConnec()); - limits = options->getLimits(); - switch(limits.first) { - case -1: // Download limit disabled - case 0: - BTSession->setDownloadRateLimit(-1); - break; - default: - BTSession->setDownloadRateLimit(limits.first*1024); + // * Global download limit + QPair limits = options->getGlobalBandwidthLimits(); + if(limits.first <= 0) { + // Download limit disabled + BTSession->setDownloadRateLimit(-1); + } else { + // Enabled + BTSession->setDownloadRateLimit(limits.first*1024); } - switch(limits.second) { - case -1: // Upload limit disabled - case 0: - BTSession->setUploadRateLimit(-1); - break; - default: - BTSession->setUploadRateLimit(limits.second*1024); + // * Global Upload limit + if(limits.second <= 0) { + // Upload limit disabled + BTSession->setUploadRateLimit(-1); + } else { + // Enabled + BTSession->setUploadRateLimit(limits.second*1024); } - // Apply ratio (0 if disabled) - BTSession->setGlobalRatio(options->getRatio()); - // DHT (Trackerless) - if(options->isDHTEnabled()) { - downloadingTorrentTab->setInfoBar(tr("DHT support [ON], port: %1").arg(options->getDHTPort()), QString::fromUtf8("blue")); - BTSession->enableDHT(); - // Set DHT Port - BTSession->setDHTPort(options->getDHTPort()); - }else{ - downloadingTorrentTab->setInfoBar(tr("DHT support [OFF]"), QString::fromUtf8("blue")); - BTSession->disableDHT(); + // * UPnP + if(options->isUPnPEnabled()) { + BTSession->enableUPnP(true); + downloadingTorrentTab->setInfoBar(tr("UPnP support [ON]"), QString::fromUtf8("blue")); + } else { + BTSession->enableUPnP(false); + downloadingTorrentTab->setInfoBar(tr("UPnP support [OFF]"), QString::fromUtf8("blue")); } - // UPnP can't be disabled - downloadingTorrentTab->setInfoBar(tr("UPnP support [ON]"), QString::fromUtf8("blue")); - // Encryption settings - int encryptionState = options->getEncryptionSetting(); - // The most secure, rc4 only so that all streams and encrypted - encryptionSettings.allowed_enc_level = pe_settings::rc4; - encryptionSettings.prefer_rc4 = true; - switch(encryptionState) { - case 0: //Enabled - encryptionSettings.out_enc_policy = pe_settings::enabled; - encryptionSettings.in_enc_policy = pe_settings::enabled; - downloadingTorrentTab->setInfoBar(tr("Encryption support [ON]"), QString::fromUtf8("blue")); - break; - case 1: // Forced - encryptionSettings.out_enc_policy = pe_settings::forced; - encryptionSettings.in_enc_policy = pe_settings::forced; - downloadingTorrentTab->setInfoBar(tr("Encryption support [FORCED]"), QString::fromUtf8("blue")); - break; - default: // Disabled - encryptionSettings.out_enc_policy = pe_settings::disabled; - encryptionSettings.in_enc_policy = pe_settings::disabled; - downloadingTorrentTab->setInfoBar(tr("Encryption support [OFF]"), QString::fromUtf8("blue")); + // * NAT-PMP + if(options->isNATPMPEnabled()) { + BTSession->enableNATPMP(true); + downloadingTorrentTab->setInfoBar(tr("NAT-PMP support [ON]"), QString::fromUtf8("blue")); + } else { + BTSession->enableNATPMP(false); + downloadingTorrentTab->setInfoBar(tr("NAT-PMP support [OFF]"), QString::fromUtf8("blue")); } - BTSession->applyEncryptionSettings(encryptionSettings); - // PeX - if(!options->isPeXDisabled()) { - qDebug("Enabling Peer eXchange (PeX)"); - downloadingTorrentTab->setInfoBar(tr("PeX support [ON]"), QString::fromUtf8("blue")); - BTSession->enablePeerExchange(); - }else{ - downloadingTorrentTab->setInfoBar(tr("PeX support [OFF]"), QString::fromUtf8("blue")); - qDebug("Peer eXchange (PeX) disabled"); - } - // Apply filtering settings - if(options->isFilteringEnabled()) { - BTSession->enableIPFilter(options->getFilter()); - downloadingTorrentTab->setBottomTabEnabled(1, true); - }else{ - BTSession->disableIPFilter(); - downloadingTorrentTab->setBottomTabEnabled(1, false); - } - // Apply Proxy settings + // * Proxy settings + proxy_settings proxySettings; if(options->isProxyEnabled()) { switch(options->getProxyType()) { case HTTP: @@ -867,14 +871,79 @@ void GUI::configureSession(bool deleteOptions) { } } BTSession->setProxySettings(proxySettings, options->useProxyForTrackers(), options->useProxyForPeers(), options->useProxyForWebseeds(), options->useProxyForDHT()); + // * Session settings + session_settings sessionSettings; sessionSettings.user_agent = "qBittorrent "VERSION; BTSession->setSessionSettings(sessionSettings); - // Scan dir stuff - if(options->getScanDir().isNull()) { - BTSession->disableDirectoryScanning(); + // Bittorrent + // * Max connections limit + BTSession->setMaxConnections(options->getMaxConnecs()); + // * Max connections per torrent limit + BTSession->setMaxConnectionsPerTorrent(options->getMaxConnecsPerTorrent()); + // * Max uploads per torrent limit + BTSession->setMaxUploadsPerTorrent(options->getMaxUploadsPerTorrent()); + // * DHT + if(options->isDHTEnabled()) { + BTSession->enableDHT(true); + downloadingTorrentTab->setInfoBar(tr("DHT support [ON], port: %1").arg(new_listenPort), QString::fromUtf8("blue")); + // Set DHT Port + BTSession->setDHTPort(new_listenPort); }else{ - BTSession->enableDirectoryScanning(options->getScanDir()); + BTSession->enableDHT(false); + downloadingTorrentTab->setInfoBar(tr("DHT support [OFF]"), QString::fromUtf8("blue")); } + // * PeX + if(options->isPeXEnabled()) { + downloadingTorrentTab->setInfoBar(tr("PeX support [ON]"), QString::fromUtf8("blue")); + BTSession->enablePeerExchange(); + }else{ + // TODO: How can we remove the extension? + downloadingTorrentTab->setInfoBar(tr("PeX support [OFF]"), QString::fromUtf8("blue")); + } + // * LSD + if(options->isLSDEnabled()) { + BTSession->enableLSD(true); + downloadingTorrentTab->setInfoBar(tr("Local Peer Discovery [ON]"), QString::fromUtf8("blue")); + } else { + BTSession->enableLSD(false); + downloadingTorrentTab->setInfoBar(tr("Local Peer Discovery support [OFF]"), QString::fromUtf8("blue")); + } + // * Encryption + int encryptionState = options->getEncryptionSetting(); + // The most secure, rc4 only so that all streams and encrypted + pe_settings encryptionSettings; + encryptionSettings.allowed_enc_level = pe_settings::rc4; + encryptionSettings.prefer_rc4 = true; + switch(encryptionState) { + case 0: //Enabled + encryptionSettings.out_enc_policy = pe_settings::enabled; + encryptionSettings.in_enc_policy = pe_settings::enabled; + downloadingTorrentTab->setInfoBar(tr("Encryption support [ON]"), QString::fromUtf8("blue")); + break; + case 1: // Forced + encryptionSettings.out_enc_policy = pe_settings::forced; + encryptionSettings.in_enc_policy = pe_settings::forced; + downloadingTorrentTab->setInfoBar(tr("Encryption support [FORCED]"), QString::fromUtf8("blue")); + break; + default: // Disabled + encryptionSettings.out_enc_policy = pe_settings::disabled; + encryptionSettings.in_enc_policy = pe_settings::disabled; + downloadingTorrentTab->setInfoBar(tr("Encryption support [OFF]"), QString::fromUtf8("blue")); + } + BTSession->applyEncryptionSettings(encryptionSettings); + // * Desired ratio + BTSession->setGlobalRatio(options->getDesiredRatio()); + // * Maximum ratio + BTSession->setDeleteRatio(options->getDeleteRatio()); + // Ip Filter + if(options->isFilteringEnabled()) { + BTSession->enableIPFilter(options->getFilter()); + downloadingTorrentTab->setBottomTabEnabled(1, true); + }else{ + BTSession->disableIPFilter(); + downloadingTorrentTab->setBottomTabEnabled(1, false); + } + // Clean up if(deleteOptions) { delete options; } @@ -919,23 +988,40 @@ void GUI::togglePausedState(QString hash) { void GUI::on_actionPause_All_triggered() { bool change = false; bool inDownloadList = true; - if(tabs->currentIndex() > 1) return; - if(tabs->currentIndex() == 1) - inDownloadList = false; - QStringList hashes; - if(inDownloadList) { - hashes = BTSession->getUnfinishedTorrents(); - } else { - hashes = BTSession->getFinishedTorrents(); + bool hidden = false; + switch(getCurrentTabIndex()) { + case -1: + hidden = true; + inDownloadList = false; + break; + case 0: + break; + case 1: + inDownloadList = false; + break; + default: + return; + } + + QStringList DL_hashes; + QStringList F_hashes; + if(hidden || inDownloadList) { + DL_hashes = BTSession->getUnfinishedTorrents(); + } + if(hidden || !inDownloadList) { + F_hashes = BTSession->getFinishedTorrents(); } QString hash; - foreach(hash, hashes) { + foreach(hash, DL_hashes) { if(BTSession->pauseTorrent(hash)){ change = true; - if(inDownloadList) - downloadingTorrentTab->pauseTorrent(hash); - else - finishedTorrentTab->pauseTorrent(hash); + downloadingTorrentTab->pauseTorrent(hash); + } + } + foreach(hash, F_hashes) { + if(BTSession->pauseTorrent(hash)){ + change = true; + finishedTorrentTab->pauseTorrent(hash); } } if(change) @@ -971,23 +1057,40 @@ void GUI::on_actionPause_triggered() { void GUI::on_actionStart_All_triggered() { bool change = false; bool inDownloadList = true; - if(tabs->currentIndex() > 1) return; - if(tabs->currentIndex() == 1) - inDownloadList = false; - QStringList hashes; - if(inDownloadList) { - hashes = BTSession->getUnfinishedTorrents(); - } else { - hashes = BTSession->getFinishedTorrents(); + bool hidden = false; + switch(getCurrentTabIndex()) { + case -1: + hidden = true; + inDownloadList = false; + break; + case 0: + break; + case 1: + inDownloadList = false; + break; + default: + return; + } + + QStringList DL_hashes; + QStringList F_hashes; + if(hidden || inDownloadList) { + DL_hashes = BTSession->getUnfinishedTorrents(); + } + if(hidden || !inDownloadList) { + F_hashes = BTSession->getFinishedTorrents(); } QString hash; - foreach(hash, hashes) { + foreach(hash, DL_hashes) { if(BTSession->resumeTorrent(hash)){ change = true; - if(inDownloadList) - downloadingTorrentTab->resumeTorrent(hash); - else - finishedTorrentTab->resumeTorrent(hash); + downloadingTorrentTab->resumeTorrent(hash); + } + } + foreach(hash, F_hashes) { + if(BTSession->resumeTorrent(hash)){ + change = true; + finishedTorrentTab->resumeTorrent(hash); } } if(change) @@ -1049,6 +1152,11 @@ void GUI::updateLists() { default: return; } + if(displaySpeedInTitle) { + QString dl_rate = QByteArray::number(BTSession->getSessionStatus().payload_download_rate/1024, 'f', 1); + QString up_rate = QByteArray::number(BTSession->getSessionStatus().payload_upload_rate/1024, 'f', 1); + setWindowTitle(tr("qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s)", "%1 is qBittorrent version").arg(QString::fromUtf8(VERSION)).arg(dl_rate).arg(up_rate)); + } } // Called when a tracker requires authentication @@ -1067,7 +1175,16 @@ void GUI::checkConnectionStatus() { downloadingTorrentTab->updateRatio(); // update global informations if(systrayIntegration) { - myTrayIcon->setToolTip(QString::fromUtf8("")+tr("qBittorrent")+QString::fromUtf8("
")+tr("DL speed: %1 KiB/s", "e.g: Download speed: 10 KiB/s").arg(QString(QByteArray::number(BTSession->getPayloadDownloadRate()/1024., 'f', 1)))+QString::fromUtf8("
")+tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString(QByteArray::number(BTSession->getPayloadUploadRate()/1024., 'f', 1)))); // tray icon + QString html = "
"; + html += tr("qBittorrent"); + html += "
"; + html += "
"; + html += " "+tr("DL speed: %1 KiB/s", "e.g: Download speed: 10 KiB/s").arg(QString(QByteArray::number(BTSession->getPayloadDownloadRate()/1024., 'f', 1))); + html += "
"; + html += "
"; + html += " "+tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString(QByteArray::number(BTSession->getPayloadUploadRate()/1024., 'f', 1))); + html += "
"; + myTrayIcon->setToolTip(html); // tray icon } session_status sessionStatus = BTSession->getSessionStatus(); if(sessionStatus.has_incoming_connections) { @@ -1134,7 +1251,7 @@ void GUI::on_actionOptions_triggered() { // Is executed each time options are saved void GUI::OptionsSaved(QString info, bool deleteOptions) { - bool newSystrayIntegration = options->useSystrayIntegration(); + bool newSystrayIntegration = options->systrayIntegration(); if(newSystrayIntegration && !systrayIntegration) { // create the trayicon createTrayIcon(); diff --git a/src/GUI.h b/src/GUI.h index 1f6ea27e9..7ab54eae1 100644 --- a/src/GUI.h +++ b/src/GUI.h @@ -64,7 +64,9 @@ class GUI : public QMainWindow, private Ui::MainWindow{ FinishedTorrents *finishedTorrentTab; QLabel *connecStatusLblIcon; bool systrayIntegration; + bool displaySpeedInTitle; bool force_exit; + unsigned int refreshInterval; QTimer *refresher; // Keyboard shortcuts QShortcut *switchSearchShortcut; @@ -127,10 +129,12 @@ class GUI : public QMainWindow, private Ui::MainWindow{ void checkConnectionStatus(); void configureSession(bool deleteOptions); void processParams(const QStringList& params); + void addTorrent(QString path); void addUnauthenticatedTracker(QPair tracker); void processScannedFiles(const QStringList& params); void processDownloadedFiles(QString path, QString url); void downloadFromURLList(const QStringList& urls); + void deleteTorrent(QString hash, QString fileName, bool finished); void finishedTorrent(QTorrentHandle& h) const; void torrentChecked(QString hash) const; void updateLists(); diff --git a/src/Icons/bt_settings.png b/src/Icons/bt_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1dcbfc323a33a6fe4b92e62b146a5e26fe02a3 GIT binary patch literal 1559 zcmV+y2I%>TP)-xzvN6rV-i}t(~pt zttl=$g85M5sv4H1@y$(59@}2v`;QFsz1^MY84E0fbw9xqN>ATl=dS^Dfd2lrL%yPt zwM|spWVRk5WPqc_2q8g8M#VKYZ`?#So8_^+2Pvx?(0cAega(=&BccQ^N*>+yrQaS> zJ9~fBu~>Hcu?(C@Fjw_hcOoivpU@46{g5O|*l78fhKXsIl%Oh#MvMYw7F*JFQ&$an~@=TT@g5iLWT2C?F&v7MOm69XX%2wl?B8rY8fTmg3W0 zYg}4Ui6hC@p#qknadoa*)`5Go?P->)F4>w-Q`NBy9Ys@-u|QE3x|%aAgbf_e#Sa2X z-QDEV9+Q9h7k)4bio$Bmr&0G%HFZoI9^JinEf8Ccj18tvw$&yO5>P-2^d#bu0R`V} za^b=`q9DSyE&hJ-U0#3dDlNskNx}rD8L+feC#7pC-7vIi5lf^HI8MMF3e>#_03#NB zZNy{pwO81@c?*`6W%}|QfBf^?%&deIw>?f<#zcz}Dh-d$LWYHFYwzpXto4ubs)vXY zk|4%y_~@F39R%$A6r7wm&YeTUoczNiSDR@vodcwXK12U#J4q0cF*R0$h_+UX&iYQmhq8@6UUFSq14Cpm3eACyXYQl3+!B=I8(hR+uV8yr7&n6#at87j=EV^}Rk5`$+r< zDQ?|+s?G?pB|A@zhD04Tpyw-osn7 zDn`d$#EC>z6##k)X|65QxN)FKdX}mi%#s2*V;+M{?%D(Np)Xq{Hc1w!hVh&eGuB`=xhKZKTV0UDR zGz}w;->lD6J~w;rz}yFkr<X(Y5 zbOKM=`H_2CI!1P+x&}t=LaDeKG#zhscFvjq=X=fS^hFu@SCpgVrIa6kCp&lU{QA() z&^PAh=3YE|_U!WjilXF!UZ4*c1O|X2&;aIvxsUXMlrs7#`X6Oo$VX%NM^gX*002ov JPDHLkV1iY)?5Y3& literal 0 HcmV?d00001 diff --git a/src/Icons/configure.png b/src/Icons/configure.png new file mode 100644 index 0000000000000000000000000000000000000000..4461aa75373ba2bf0380c62608dc3f0b7a251e07 GIT binary patch literal 1423 zcmV;A1#tR_P)6vsV9L!=DoG}I%Ai_|NGzdW&B4biSYz7-31GXEC zJ^c}Sia+75D z>gqc7=zeHu$ZEA(>6aTf%rP-BuFne1%E~&{-+zZj4Wnc<8mO(UZK1fhc-Y(9+l`38 zHW-alJXcpfpU+<(BoehU3=>I2i&(pOVzKC?z|#{R?jC4rY8p#ROFKF}J>5b?Rseud zC=4i9D)0ZU)jG{)v$M9g?o$A)wG_+ca?!PG*T`fVr@6T~YHDig2JpnRE@rcNQl(Or zm`rAukdTnDprD}mO`CjJ5=nSlPEHOjm&!1VOJro^VWBWEN+1w`h`{6VHZY8{d)KbF zhF;n9lKj%8pQ73HpJ@*mhWWx|8vnJRpx|OsQet-Z?cVha!+cCcj%93iU|_)eUS1oZ zzc+;EJUk!}taAwq+fh|t|Fd;wX4a!mt1VpqDV)&I(4Fn=?NcKoBlJ#UQl)=D0Qd2p zl$4af=9Xq>>W67GsMpb<^mO{ItCMPK)l_%6j!vBT+{$LNUt~Qlg@_h_*;fQF!C71`*Eiv9S?#G)xq+>kmihUGd2Vf84WtP&^!NAc z+uGVn1_lON0O$eO0XQD6>Z;%+I1?Nk{Ho7p-|KmKUvUO?I_Pvd3=a?M&YwRY2jCw7 zi$vsn>hW6pdgREFtyivGnL2RrBYG_=iU#$1YHn_F{M~ulsQ!dgf;D1bRmB+@8IpvA zgw~3RAKkicbs=o~4p=Of`R~58a(OHhY`42nS#OsgzKAMX0m5Dhnw_1!Q!16#m6nxq zwc1{YMZxg*_kZB2&+NA87h^o!0c-}M-sBb6dD#WKB+L)>oix9y6#$sr+}ynyjmEJr zC7D7(gGnZnQc+RStdEaRyx0fPC21JHt6-egyCC}z$ac?HT(~eD8yidI<>ij}`1k?8uNtf8hiJV4YkpFZcEJ4e9OeZE0v|I8H%vWan0h{$T(B002ovPDHLkV1jf!ojL#j literal 0 HcmV?d00001 diff --git a/src/Icons/connection.png b/src/Icons/connection.png index 66c4e7f5d52848901f2fa4ec8bfb739e6127d00e..e2b1bc5539851bd72def68d5a62898230719076f 100644 GIT binary patch delta 796 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 N002ovPDHLkV1gn1_q_lB literal 0 HcmV?d00001 diff --git a/src/Icons/exec.png b/src/Icons/exec.png deleted file mode 100644 index 14dc7455cd999636c38f46c3b90e2a951dd78b99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 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 UISJqc>Hq)$07*qoM6N<$f=TenP5=M^ literal 1168 zcmX9;4NOy46u$kn*cOWl6dUN9#+57uYEfCnTw6g08xSaDwi(Jxi>MJ-qH6?Xw!9LR zplA@WWh5fmkQw=r0a}C73WXZ1iV7kS5dRCVR9Ysb(!1B}Cg*-RC%N~0_k3S&d3xIS z%$4g_0sxrFNr_S%L;OLb;(K35emo8V1xfNF0MOU?g8*vl*m#k=Pm(GD;Cf|=H{(2> zBg!OcDgebB0nq9I@IV~x0H_53%%A{#qX!^VRh47ei65mVCrYvk#}tbYibx`nNQYrW z5^Z#JRKVYTtC~P{FDzJ^o14{9_|kS%(s0YxQ?PB?x;WnP>x9+|7C zsCZXiUT%*?2kv%*Ry3ZS>f4;ZN&^Lg!69(;jvGSWs!R3DO9V~Ff%g~dY6`b zH#$3)RVeDrNl17ldb9vt^YcEg==f*&YTzs!uvnURZe=4{gvpTcm6E{C< zMy|=BQmKTqcKdQ@P>|TXgu)nkkzY~9zJ*w7*{e-84h=~?qMnhG5=`V z%wo4}j znxX|n4x{7w2ixy)$lq|^-o4Xq;Z{C^IH9SOgx($+8hTc$xQ4{yO!M2Cnj&>oRnnz_ zvs~C~!YFi8bXG=&rcHKeGBSo>!pT7MFe!6jTYdL>{%QaFtoQD1VskjLpm$3^ zb>Arp&YE)Nlp%JXk3=CHz6x+%FE=*!zj*)NitgWUec^C?7xstU_3j~@o9bDWHh?qr z!Z(AV1wwLISCQ*2OifLNafim-8e8oa@I@5)LM6s(ddEYYj~y_@I=GEb=+@-vSAb*6@u8l&F7|(R>xT9EUbz8+1Dz& z{t|W^c;dSx(nQovmj2bCC(wZ*fF+hOPY}>{A}=BR1i@J7m@vZDY~wt4?LAXUX627u z|3vQ|6wq?>@_za3{S@Sicjc3+Y7>hbG%%E z7?cLc<#Gl;D#`}j(MjR))<4@eAD_NUDd?gk3xq<9F8GxpT!Uy$WC2v7Xpsrw^BIrt zGllG|Y>a_BcdZrOxSdKOv(j`D_G<+y>0|y7gm+$Xaj;&oI!|C_rB7E@O7e(g)*hWi z9|8-x9pIF_y&qO!pnvsKY2MY|tLwA< z*Xuz|kZhB67{f4zsp0T){~39Un)Ne8I7fgp?Sq(Ln#=B40K(P@YFvuhTp_ zLOM<&XR$)*p&?Qo9XvD|bWcuV<#IeU8gvc}@Ogb5AtlYjLxR&&jMgt-_%*x@Fu1+V z*Ue3&<8WOnaaXM(EDLvH0(Wc-^Ylb?bHmTMIl@})?;Hu>YHyE1u}FG&n8^2O9vtx4 zZWENtMDz1FBO_ew?h^U_+eX)}RH&@2(O)bgY#X~!z-Wy-HHFpF!>^SU+U0UA>he4M zh;wy+c}d^W5}#IA$uBHm_x7S(7jJqRp%ni9ek{JJBv|KWX2{OYqOw`S^K)7!Cq%xF z?CQeK=My0wk2et3YFzB>Ae7?v_?Wx1Gn~;;!g`&sT21sAMWRp@0_8XuW6(i>0aBKQ w%w#Z8gbu@Z5_*;ZBBuA|tP=@)|NWcz4Z-A^KP%(qG5`Po07*qoM6N<$g60?Rf&c&j diff --git a/src/Icons/folder.png b/src/Icons/folder.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ea7e73ea3c4fa18df2124971ce2bdb7236ad24 GIT binary patch literal 449 zcmV;y0Y3hTP)HP5=M^8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10X|7YK~yM_m6AP9BS8>G-`8C;o*BbfcCwa8NRdF|G>8*$0PaA_ z0XV@*+<_F4ZM53Nl8rW40(%5P7P8G0fq!86G4Q0Sma4m61zmD?0M4)O|0Ype0N2AA zH@A$m-vPqImziB8kk|dp0mS#mYtLs+YSlswLz30<13xd%~v!s%{bM%wb r+9{u(E(AV51@kq2p$X#d?2zLpMlN2~$8)Fg00000NkvXXu0mjfxP-!- literal 0 HcmV?d00001 diff --git a/src/Icons/gear.png b/src/Icons/gear.png new file mode 100644 index 0000000000000000000000000000000000000000..7e338cad2800b71b84ebfeaf22f2fc82afa3fa87 GIT binary patch literal 1282 zcmV+d1^xPoP)#h0)Q` z`-Wi<&-37U9t^`EqobpX)6>(R0l>n-!t#q3FRHV%vlA@=`Bco#&VGII;>G)kL_%SV zVRLh{+S%C|i^t=VZ$k)y|6eMVxM`aE!^6X!vMi%mEV>ULKK%ar_3POd;A}Qq9T^$v zlw}!&5D-EFFaS6TesnB^fDi(VF+6|%+`M$@lF`EP_V)JgiA3VZj*bqZC<-J=f)E0n zb1=qGtJNTcKzn;TD5a1jDL4UR45n#{w{PG6af}K8n4h07rBbP0S(YJ$K)qgvrfDsr z_?ualg;S?aK~+`QwvE-*)xFD?FZUi3@5YTAUknTk^f1QIY&Kzz?^S)bNUhZ95S_+fJ#l`yI;9#31Nswh3vMj@O z-T!u#WfTepdtzcDe3XuCHftr5NzJk>*tQKxlAviCD5c<>V|#nMAvuntIF19?b-@^e z=Xn8-oOA5#?5yI0_U_%gyz9EKEDMY=ghHVpAjffF+qNRPuFHKuze|!7&=844KK>B6 zy}f;~Ua!NlEVQ+?K~>cjf6w!{RIk@xmrA8drBZQyfe0Z%^aBF}{h3TA?SszE&Hdcf z)%B6%IM8(+;cz$*wo<9MrBbO{tJT(mbh~rs&abId>Z+nB2#3RPT^F45AZN?va)WbD zVzHR6s%lU~p->2xWx;VAJbn7~w`m{+LZKc2gmVtpby2I;S_Dy56_H2;lu}Si5s5^C zhzTK(B#C&Q*W=>_C4KJPxo3TSeY!6mr4)n^ba!_LS>n%AO5r#Tgb<*VLQxdN<8gg# zZ0s3;cnk2s!NI1gs{NEw$g&&&3n4%V0i`r3>1MMTWQZS#EX#QR{{5Ce-*Q*ny?Zxz z{`~o|{r!FG<;$0uWHLE^`t<1whGD4wtp)(5X*SE{^6PTB{AhT1_@`Jb7G7Ih`}4|` zD`SC?U;BQ~WHL9?>GaUyh9sR%r}Fu{c=P6sSYKZk`FvhXPfvddfE=z5&CSi-{1E3D zaIgSG0emtvH1t(2m-99@HpIrphREe|ULukB2EgY41_4C=&;O)1j{{&^TU&oWc<^A} sFpQ)Sf>f*3VzF4P0rEUz2L2FS})%Gynhq07*qoM6N<$g6=Y8lmGw# literal 0 HcmV?d00001 diff --git a/src/Icons/newmsg.png b/src/Icons/newmsg.png index b18cb24e71b99e0fd896b3904b653c4084cbf079..1cad024ae18d9880843aeca4c0a8efe52b1014a6 100644 GIT binary patch literal 532 zcmV+v0_**WP)HP5=M^8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10g*{WK~yM_osmsz6JZpEpZ9ArGiirPXgd*<((Y_@QNfL%Tetop zapT%QBLrMXaa#nTlTcE+Ne#7hI*Cq_$$VtSg=rK;+IrUaIrrRq#H%-NUq5I)e8zvM z8ytSrdrzLeeDVD8qneSog44XjcD;t|9`yzX$0MRRyD=Qa83)HBx<|c%v{YHFIEvsj zrZ*T588 z3A9!cOaHvz(h|=xy#IW`j_TI<4ZWkXu+yuFiN7e7NmKOs7kh*-gOPK-SmjQC8T+d)&lKs z`s=QdxSn$@e5Gci&NNB!H~n=zjKa&hYu^~YQr)!~M&YGyx7+Xf{r=gl9e_@!^XUgn W6OUr$>v59+00001rSL@ zK~#9!?U&nf9LEiYKXmsT_P`}YN~9%Osid6uO!6GL$b;lE4-vauamjH^QX(lHc6W9T z-9Rp8c6Uh8F5l%M>Z-2p!47~QXyETz_%iraKv!4lC?+M|vUJGXi@~{+!MTQ0AahP&4kUM7Y~P=7lE8uNTWR0{N|ApS&9d9vb1pgA%SD zBAJJispoX=Sqw)4423u{Yv&VqcASxt-+e&$V-SFd8O<3Pu;6(VYDY&^S zd3jj!>M-Z!f#Yxr4v5wpP<`y+(cbosbR>7acY1YioZqxu-*33Ot@!bB#qDiHu=*1T z;bJr4{BF*x7sk6ZkJ9nQrC7a~h(J+NXch!4Dr=zWb@-KbQC1e0rd5 zD$o}B+uz@th%lezOv?;2BdQVAAue#dC^$XJIX-aA%ic*Fdnak@)b__E4id23z|Asp zantbOre?WrsM`i7fEcSPvaCA7>Dg<7gFn6!zCJRpZ&!SOzT(?U<6@a{daN`_P%;pQ z2(;;Q=Q;oq2VH_stHjUOE&qJK;@=l5W_in-V|e#=!SV3{=Qqat%Z}ij$2-V^kmvC7 zXhKv+IZ3=(LYs{H<(jM8o&^@Of}=%2nLE56s#<$cn?|`?wcIUR){RoPiQGrNd7E)C zEjT{RIXRwEObYx%2TlnoCd5MbcU3BP+i;oVtcU3dKJvf|sHD}Fd{`M5MrPiFk# zjj)&niVQ^hh?~xMs1iSYSaW&329(9j^X@F;>$4f~Co2NM8&w@yR*=+4Y9Np_G0Qtn7ZLAaKJ&adESMe4aarDXlZ@&| zA*k)?ayz=AU)wm)^g?+1GAAo%JhYyhwQyHK-6~C|s3}D*Ombs-?0Eem!#VI-MmZ}; zQqU!c32*}+sFBPFJ;TfH=92+oRX0?1gJR6)bMhi5h|h*h?XwWJH`%s|oj{kAs%}`VD|}W^Os9y?h~fwt9D10~dV-20 zW82P%3U$*G>zbx%=;{_yJRqb^zKoQf*q28d+ZAvK$E+hTF58?C%HX zdSmE_rUk@jxE#DWV%HIq66*~iFG=_Tgb`Hth0&?eb{(6hMSP$r3e0(w9(B?_>g|3T z^&{CJR|E+;9#3!?P1DjgEh--Kdwao#8c6o?Oq4=4gd$^>wu{q`~t1JRy@ z2BO=o4v!Z{Kv3@y=SZ4RRSXE7_GMVNiK;QY_uw-Uf+pGVdKyI;$5B6td_1>$QH3NK z<~*G$b<@$beUXOihlFz=2z4}^GorcO8O5FPeVz0mY}d=l>=6J}`|OyKLR3RdY1_od zo0{9Zmhfqna0051ssm8EG%{>^ve|RK?VRfHb+ZGZ+oHD5GNanlc^8$t`kj|`002ovPDHLkV1nVxpHu(< diff --git a/src/Icons/password.png b/src/Icons/password.png index 2144538119ba51be78a832f84ebe3840c08e7d53..cb8501922a17c75549bdf776a35ea3095fd55f31 100644 GIT binary patch literal 5345 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 literal 5026 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 diff --git a/src/Icons/qBittorrent.desktop b/src/Icons/qBittorrent.desktop index a7fb57752..d36e17d3c 100644 --- a/src/Icons/qBittorrent.desktop +++ b/src/Icons/qBittorrent.desktop @@ -4,19 +4,20 @@ Comment=V1.0.0 Encoding=UTF-8 Exec=qbittorrent GenericName=Bittorrent client -GenericName[fr]=Client Bittorrent -GenericName[nl]=Bittorrent client +GenericName[bg]=Торент клиент +GenericName[de]=Bittorren Client +GenericName[el]=Τορεντ πελάτης GenericName[es]=Cliente Bittorrent +GenericName[fr]=Client Bittorrent +GenericName[ja]=Bittorrent クライアント +GenericName[ko]=비토렌트 클라이언트 +GenericName[nl]=Bittorrent client +GenericName[pl]=Klient Bittorrent +GenericName[ru]=клиент Bittorrent GenericName[sv]=Bittorrent-klient GenericName[tr]=Bittorrent istemcisi -GenericName[de]=Bittorren Client -GenericName[pl]=Klient Bittorrent -GenericName[zh]=Bittorrent之用户 -GenericName[ko]=비토렌트 클라이언트 -GenericName[el]=Τορεντ πελάτης -GenericName[bg]=Торент клиент GenericName[uk]=Bittorrent-клієнт -GenericName[ru]=клиент Bittorrent +GenericName[zh]=Bittorrent之用户 Icon=qbittorrent MimeType=application/x-bittorrent Name=qBittorrent diff --git a/src/Icons/refresh.png b/src/Icons/refresh.png index 0d1ae4562645a41314dc8c866725ed43e04080d0..0e156dc8efcb05a7ddfc9503cc6789dd594bfee3 100644 GIT binary patch literal 948 zcmV;l155mgP)E zf=IDqtv6IC)>x?YLHeLb)gr+Zqfu(nS5aftXicp8Qbnn)HbgN#2!cpcZ$w0r?Zeso zbi2+zC$7XFhPBSxGxN`yHD}f$2m-nzEIBrbCC93LY!dI8_E504916-UjBr__^YN z7a72y6{mUwRlrtYKz6u^Me-1s_UzESdtPJ_hOGRx7^nrxW6RIO0FtV@{>j04^SebB zVd$#U%YofMA@Dn}J`7??g8GcMx>Qs2!@QV)wz|||NhOkwN($QQQvb*_Tc#^A;mD7L zYtCfy?7g!%hOIq2`f=@?JK=l;&K96dNu?eeL((uw zIPzZ-*^PvJm-&#Hsmx3`awD6}xSo*jN-r|0G9lpWS!9xKO6rKVA1bDbHePVAl|&S6 zys+3r$^btwAXN*TxH5C9~ne;u-*NNd7ur9uk)j`H=zPK9LpJNjp zKr_$+i~&l3UO9BvwCwuiKwdI{l5Z|H0JCy92`%%!Kh8D(@bPSSF|mWlv`D5JnSz9K zNXy%W5J_O7#>ApTzxf*RxNk4b1P+mTP36S{;LBS(ru~*nq06p6Vaw&gq#r#W0cAkZ z|JJku*MO_Q!N0aoeVWgg_Z3t6-IYSp#nJNTwkiMm*!Ji?^Tm6;V!A@&^IPe%HqzHk zRO9X#AxIblpwrEof*?R?@8*c|%;V^coX19Y-U)PO&Me%GVvgOpI|eaHBFuabLXtOE W+B)eg9y&Du0000{l3m0@X0{0@X1C z)iHsM_`l^L13&;VF%Sbl_WlOi@beD?!;fDg7OJ+IDnfE+7`}dP0U85UfC>NthzYM@ z{~34~{xL|xG05kDLL0L+Hfr;fG(9HjEOaB4mM1)h6;lTHe3^)Fr zU?_~OVG!mPkSv)~ck0)_Kl%(zOs_yn0RjkN@NWixes=y9^WztBSQ;2G?D?{W;o#SK z3_pMW0EP-9l6M#x{(k?<@b~XuhR^@sGu&g%U}z4S&v5qkHHn3r=GHKFrNQ2G5q}YoiW@hlEK=*jlqiFnc>q#7KW6bjNi}Sy-Z=? z;n@pIasUAYHkgBz!_!yCkD>Es8-v7ub%r4JB!;kw;r~xvKfV&^n>j$t3QWsPKu5o3 z_{7kmAg$okW?RS5wqznh=j#5C-~axLW?<*u%J3VM_8~3?2q3V*61^#2h7y}2lKLb1a z8*r-mhe*!=0R%Sq#g{jKk`^Vi@G$cOGa@6yomUSSf#G$Off*RCOn>=+uHa{2XL-!< zou7e${XfV0qdR{9W3`rnkGGHE-yac%?_Z=D{sDvF9}5!$EB7y;kuL!Ph!LEn6WJsg ze*9(wdiNj0U!biloc|bDn4dEI|LPA6*ZB-A+y{XH9LVsF8|Zj;RiL_G42=ICGBEzm z<>%m?pdzdQ3<4I0-+zBI+$EGv2WtB0!`}LZE;TsQwXF&oR$Vh+y zVuI&iMj#Vp&HtZj3_pI}Pj}A=J6L;w(O%UC=&|3T3?IL%GW_^r!|?T;4a1lB#ta|c z)+@_uhvxXDGOYbEkzwP%DGVRpePVe1{M8qbi2wlvaWOC%K?<55=G=^&dncw%<@Rv2 zWq8SWmqC$Vk-^c--GPmR=Q=QQ82|qThTb1WMlD$lrktQuhT8&18P+~p&d{blhhf8k zy$sKuKR*pJ5+HyeVVuAT^x7XaJ{G={vr=aWXd5apG~Lc;Fy^*l@DYw;`2O!ZJbysE z$;9xF?H9w=H>(&9yxGoBs?orp@Z6fgF)i}Pt4|+o{-3>m79fBiF8&EDwSNCiwKsJT z2sHO$h(6=VaO>M0hS#4yGVFY@m4TUw8MTyRWCUk(9bN;5i5g28zTV*&hG<$FAM7x_Qfqn`h0Zq_i`9{B?%m;o}=SfeAl?;UBXU5ChXJ zFbOfTe`R3dddk4T0jyS-F^YA7075N~|ATTG>l+3(PK!O~cJ+8SKhBdDRbXY{5&HqO z_!BT=d;(SgkfaGpn~b0;ar_ zw2DN*CKOTIT@|YpR0=mlS}a&nAFI`)2(E(e5dsJX^0*uSnEB3`b7szbGv7Hgb)Tke zw6S)z1_0P>N{mahpw|bZ!xmq1=+HY0SQRE_lmNi6|6n9=stvIODY=4V0RWeemK#!! zeaH|erX>S#XcYj`Y5V>Zn$2dBZgR5p0RRjuV80$;`_yBFRq@W|K&7_#aJkX`eE>l6d!O z;Nkn=(((!-d-Jxj%fUnWByz3oE9pk(#W@rWSt#yW+gWtQC>ELw$FR4frLfF%3_+wU zAl^?ySN@59VqXh3ERJQtvi>m_vr&)hmP`zp?-nK6c71lr{IE3Gu4H?E1U;1OCB<1i zCD|Qep$vnFw2KulNO7v&!;`X1tigT>pIH+wwQYbDayRk-fxRJ2lsD8j#HHdd;}MsOyxmh@pnINKbNJk`=-v?rJ2L!`CM=g2 zZsCQK2&B<4a4!gcGB$R;FQL25<;~9B!x_SIxf^=lTtQv-KpdG_h?y|l(b4jn*ZcZZ zJ2+QQXiAwE0qNG9;ojdeFOI67Q%~s^tsu>dHMr`~Adb4{E$vfve3vB_9xSs*0)BHr zf-cY!Mz@A3#j{b2Q(}emT8NplLrouX$J5PANa*!*EL*|EQj zIUDZRCy+WK<;A~p3S0+q&L=KY_!TCz1!ILrJ5J$S9#u3=0L08@1Jt^2 z!%rgmDk#g=3TOkx=^%++9?###^9-J1{KU`V`OmAvVrxvo5wnW@~3nxY!=1 zTehrn*gNF!o?gE;GKw+Ii~b!i>^X*ETN*L-`V*MCU4~)Ro)5fpI+;u||2MZp+8g3X zA;tb%==rKuD=C0nOYMw{{Uc|g8`}fWieAdAs(hmQsG#PMcFAq<77FadT@{$AooQ)?+m|In=qM0fjV4p|I@E zKk&3d_Ssm6NbD%6FCp2#co>1lxiWqriKJWY6eXM6PlSHI!|a(Rt_FM{hymNr`Z!;b zNUd}a%7j%ralFe_G1~GtMnA+)XDg6N5KC1Y-}N?E*t6E^@4NgR6-VMzt4+KB8xCL2 z5yk|>s1>9uoU#%bCOYi{X&(HQx2nS#s;;EQnUaO-cc$>P{Y9au-)hma(G%+Zg2dtH zc}qM0I{};$BV)AtNh4#wF{Dm+Vh_|Lupp@0;moU>)lSwSqQn!##`VCJ`eB;2l8=}_ zH8K=Z*rqI8vli9m3%In8 ze>6*{2u?HyP&oFF{F4apqe4MFd@e{ex{?ELBHxp~h|GHpGwT`-b!m8*r}-tLsT zna{pTU9ds~T=Rl*oJS|j>?X1lRNa@UdJOD>pHU)q{d4xwe3vt<6M4$Lan1HWNwuCq zs`~l!Rqi^^N1P>t$@3OT%K>z+vzJr}lfho*c~V*(o`1QOu{Kb0!{+>S;L1PyBI*N1 z&oMR?WKFl%mw@3KC4rbL4YUFcpGz#z+Tdu5fQN6gdDz8esGzHyvM$IB1?E!1Ct}ug z#Z!_TtkwLDMJU<}oHk50*g7)&&PyT(uF{Y9R8|Nab6@7@-o?I@M}m23 zRu7xQZ+x3F(z4R#-SD>_-%|M3be7U-ZMe=^*V~3ujnaN!`h^?t5yH1i7GW^oCBKwR%1n&de-I zD2y5ySW;rmlRPxcjKx-cYgEqlehI>wstxr&wK=qXd#m5VI;UZxqj|4H)J|g9!aXmWq%PAiS{7-# zt)*P;_1I0}19il?<{cyWjbrVfRke60XCAK;)U?!LP4+qAKKWUkUG2il#u=WUjaq`G z&b^}Dnp>k(tG{DiEvJpJEhK86MbS1;?$0GbKhN>sehL3h>MFVo3O)~!a!=E*x~*ye b6a=6l+`6wGypFIuB4AT|O5DX5Vb%WusFvFG diff --git a/src/Icons/rss16.png b/src/Icons/rss16.png new file mode 100644 index 0000000000000000000000000000000000000000..30cf1a03db151321377cb94f2e76a6ec3972a462 GIT binary patch literal 607 zcmV-l0-*hgP)L^uM$fQYx7aPB?!c4vPUlY51vh(Gu- z!!X~+@1Z)M9M46UDVd&PasGYISOZ4ug=&V{Lf_9085--WONn_sa~LA4(QQsysI zk3jVpoVo(FdoX<#)*iyfJLvp|ZU~t(M+)?zlLlzf9vI-p6F7etl3(!VBGjM5>?0@w zgzg+<0Wct*hem1efa5ionTNUeaBUIl_hD-dF28`1D|;M_0kp!1)~@5PFM+S%+#R_3 z68^k}^=EKl6{afCja?HhPS68U8a*7>t&cGG0UEC$Zor9~5Pt!s;pprTgdQ8QR%o=I z9G4PELNH~>TJEiIc(fDayP*`S`E(|mKD6a28;xomWMN0u?sPsGrBEe`%GN}!blFOE tK}C@#+BtUiCdDSUQ6Qfx+wJY{(m(KdvgaQH4Nd?6002ovPDHLkV1fgG{9*tA literal 0 HcmV?d00001 diff --git a/src/Icons/rss32.png b/src/Icons/rss32.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f23522ac0e9eb4fa7845c01807121e0267fad0 GIT binary patch literal 1331 zcmV-316VWIO7lK3!h=4p)gdn9-+NPx)rqk)n zy`PJ7r}xgCnYJcczvRoD``vTS|NlMbszaN&WBs$+-iLy-WzuCz7RGsIJU|N>`_rOKzJBNzT zLN0z;XT0=HZSo`Fj!ho{fP_MB_h^H7;JM)Dry; zFVKSBStqn9Sf_M|;GH~?>T>B9` z4~fmTT>!w)RY(^g(NNv1rX{duH~jfET-Xb4Hbg*yNkV)EIB{?bwy?#6D=8Sb3@%oS zMeLYj1c1UQWN*N2VDB=>^+J6M%zF@8SHhk5LGwyb8soY3mwzOC%EOCjnMOLY0f>$2~^Or z#9fT`UAJ{E+OeV0K*L;^{}8lwKr9gu=>Gvy?Qs6Rpa9l=1c`bZ$1vIGb69;Gahzfo z2sqm2Qv*A?gHU+|7&r$%?}n}vkcCq_!4X)x6O!{`#oKV=<JR*a%EHMPKwNv<{clwbb(t1%96R0YDAqa{uU|YFz&6%z zZP9OlYTpDtq!E+AtBF~Q2y}lB2UZ1rZT!PWx0Lt#tqbs#Dj&ho;ZsINAx;cW8FVf- zbEM!l;VtU0|JmX8iB7jlbG=Z-9wp-i;NHTOj1A_<>Dm#K9vnCnZ!_E6p?YdsSK$4A zqNI&P`x%P1S163*-Vp(-@arsIL9Q!HK0C(kbT*|9KST4pR{egmzVRuO&(wNT{Wzs^ paZe^n8w#o>Gm;%mb={Cx{swKT>o2bE-mm}w002ovPDHLkV1n$BXXO9@ literal 0 HcmV?d00001 diff --git a/src/Icons/skin/remove.png b/src/Icons/skin/remove.png index eea039dd5da2abe15b761c2cf646a07f0cc182a9..e3a4422e7d905ad9e63b9849f626bacab2aa786b 100644 GIT binary patch literal 1270 zcmVrqyLa#2nN%uuK~WU{&fRSowul;walZ%+(QVXM z2dS=-P@HwFQjwcCu2U!!jJbb8~Y8jg5^{p-|{Y5nya=>})g|<<_lRoH})i zQqkb0efw!`X~i^6L>$Uxi_(r3e0CeQc!qFDBp3`535n}tgNiCu&{t_+nNUxMNtQ^ zEDOUhP*oL4l8D7(D2hUJb2Fh(h;TTJBuT8VuTv_Ouq><6NZo@01^#EbuFK=X5}Czi z!jWo{G|(8?`IJr&gn|ciU02^KFl>VlZ=OTdMe3`PT)p!vQas2&&sW5K@vU;*Yk(+< zOIvR*O_8Tu%QcC z^wAXEP0$ylr{PUjtW{5I+ct`#OnYgnsybaM=3nMC`AnXZttYu54b#2j2(skkbm#lz zgd89Leu4Rg%Y63CCu}2tWm$-#IPFE&+uN&~=0@z>W z{c%d=61HP=Df=A&rfFt-dwc(_8GvP3X@Dz*-!NSZNsxGupQLPi?MIbWj<*~KpyU`& z*m-GgdbkffSMRF>peOkTZ*6~@Y<8pAC9BBD%ysrRyvj#aACNP3uspjbVXo`m0s0OE z_HixR!E5ouoV)fO`qB!rZgcR39)9@yd%m3fnsP|yLi2gBz;T>A6^554kgANMcN^bf zB0tHrHpNP5nN@umZ9Tu~6%NE+VVBZ~>$_eF$WLRp2o&2doPJ{ZIr!kN_130wEy0x&462#)B?w go<+a_*4<6WKbYACWl@6bOaK4?07*qoM6N<$f{#i=GXMYp literal 1256 zcmVP)IQ;+jpWz=+?f<|37{Ge|{Xg*U-~Ww3&Vs+& zT|a>IAe#jcK#bT7=7~7!02E%&#Kz9eBPsh%R8sJhs5t8%eoh7kel7+Ec18w{FK<3^ zJ-PQn=;Fl}Uq5{Ok@$a?`vzpQ00IcZVBW}MAVc?ytExO@lMwp^bSQ%aKLeX6F9R1F zGXpa#BLf>VBf~#VHikdqf($>n{{7-yvFwuQ*~@Po|L=7_05b<5fS4H20MO9+N?Iy! zxTM5Bf%p>K417|&48k0&44f=LL&0kPF);o7^@r`#r{8=(|1&WsMreN&5n!E!72sgt2K(th7%@PZa1t2qO#fI|{`2v$$|IWt5I`6P^K-E< z$nZm4Ccw_X1rz_rfE$SMurUAo&-4db3?P6o41WFj*V{-92EHr{1|cR!25dov0&L`1 z+3!C3@#Dd>AHR{s0Ro5xUE}xP|9(ATVAz~#$Y2#`z`(crHp8#$ZyEl){=x9?)fa|; zz%XYL=V4&7kYQyN2l}UZ!~55Zk9_(Jw2>Rx9Do4AF!=x9{|vxH`S#&2hRsH746fd4 z3|!s}3>-jzvVH>+Z$2~pJ^SGIkGfSKULU^o?Z=;g*u4S}K$r$2DFFKI$9Eup4P;z> z&%kiy{$GZx_rEe+eei?f{<9yb8qp#FAb>E!5R{fMgkT!~LsJJ9HRvt|2q4VJ`S%~I z!T+JY`48hT{KsoBKmcI`#XnR9tpEQq@c#eJz{U9MFEh)ZZw&1JzA|wB2V$nbz#wM@ zMhEk6Yz6}a5DPXRF*7i*iLo&_0BHqS;$#H6kO_#H8UHb`05Ln`4=!frA0j^(n7@5u z;CaIE7u8^Z0Ky0gHYNr(0R{$NU=C3Lm2-?tAYXtiWCRvaObkp+tPIS|EDTJH%n&az z{^jCh`J@a~g<=*!0AaXTn1@xE6-a*uX6he6r9Xil{rd-GFcZ*VW}v~$46H1`EXm0P zr2jH}1*V%n|Nb(wvV37iHU}VpFjK{!KMW#3>dU9!kYHhgxSENH5nQA)fm{tN-k5SOxPlgvSJ~9{q%Sw>aPk(`i{)HJ1F%%ReN<#k` zGz2~|m_jp zpMPX{`}QltpN~Hnxc~lUkOg{~mzSGCOjHBSXfvX9>4m*u>b69hShr>Gwj^?5TtDa!>#B- zWU~MQh!Iz1%3!)q0hrG6fj)2mW=8{Pnqz>||NmbAW^+(gG!ba%1N3qRAiw~oov`}l SZsu|T0000>qJqPCF-PCbmNH{`e zKkQw(S1G3lDK%Y7A43P%_LomTJ@9|F;$^3A<84lU9q4J$K6dwVgj793+J|pO6gO&K zVMwe7w%Xmdzm;F}in3%3CQ5v0qF7VCc+}WEYhUv(9e#aa+qi#2;Y4VYu)K#&YzIge{w(XF$g-*I^m#JWag-fATxfCe)FCR!Hk)R6GC4!p%SZ03gPW^S0f6 z=kDyXM@f0NA}trGG?E5{;}F+cZgmZG1B7TfSG}0jAli6n;}ZH8XjX=4R?kdE!NfkR z5zCcb3m?GiUj@Ng2z_V*0uU02!PLNLkaDg7IzTi^C}#yqdDyw7xP9xW75e&%Kfm#u zRh&w{n!0>qbGm1l&~nxvzZw2w}4elmIaeW&%VBWW5EEWEFrFgS7xe6GRPUlh~vw{q`=upCA5U>W6hKaaoJ~+~Wl;wifwDn0LHaAwakoH9+;;7mWRJYPjS(J9a)l z75(EJk9=$|>F)Bz@^`I~PWEEbsJ1Ww3WN(H3o=hIGf45r<1?48M(elio*A8+YPIvc zbW{Q@(N$2x{RmuzTmZxzC zB7~(7G8RD;IzaGm!a*ENGX8ar*;<3CYA{^!)zHHD6n@BN3c5JCbD-~#CcZh}k#7f`gGr~sG+>TL)BKgr==I!ETzqHG4(00000 LNkvXXu0mjfA%znT literal 0 HcmV?d00001 diff --git a/src/Icons/subscribe.png b/src/Icons/subscribe.png new file mode 100644 index 0000000000000000000000000000000000000000..1303c8fd76ab94657052bca06f40d783d80d969c GIT binary patch literal 1575 zcmV+?2H5$DP)@~8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11*AztK~zYIt(VV>9LE*MKh;&;J3BiwyQB3=T1AF{4S`$}B~Gvs zN0*?035F0sY)pa=zBu3?2SNS=Lv%4X2Vvi3g#jyCf+Da^KG~p^i6MptC%_>!ebOu}r^L>E`X@{=8m9 zymQV^+qBk!_ddUK=gzkbK)qgH#4OZ4{&%k!_((G%P;jbcxOeX!^?IEw%TP)Y1OY)1 zptYvk?Ggk50N(pTZ;T-b0*)U)jxnb2JO0)=mjR&}4V2Uh|J?2au-07QK{unl6w(fJ z`u#rET9%iW84L!*aZIn*V|8_vot+)l*Vh3^l7uYF5D~&KWOsL$wY9ZU@DVdZ#zche z?d|*RcKc+B^RFr1`;u-tIDoY_yM6oi2{S_Dw|90(lk{r`6(CJh(sb5`Qi`Q|9j*10 z5>B2tApm0l9Ba2LksD*!-ur?F4|^!a)Cr(iZ8tcz)+Wz$oO1=O;~5)caL!d0Gz^(C z0M0o-81%_=Tl%QcSmM3SyWGoKL@J=4<%BxGdf`;G#c$5l+27xv2|fmX?AS4SyRASAVHu<6Da!}`IRCCU&a6kP8*K57s;JxIf$r7n)?R{)`U|v zF_GcAmoH_&dq2Z~7ZF6tXuTJj^+f{lc%v{z5vLjTNT69`IBpU|DTPuB@BN6KBN>GQjjD`rgcD`=Y^Bu(ou*A-R>d%{s0iHovf64 zeTgWFN;D7C>5J6^m@IbE~X_6qe%+#JXcz4vaAds z%TlbhN7yn%sI)ofh~t=KZhIGm>$}%^?(yd)3?xaSlo~pmmn5lSZBCjdC7Urr2C8h% zg(OK*vc0kW2Jb$+#z)CV(Rq75Ffcqslv3n*6@Ub5ZDoCEZAJjfHs{<3z{K{}!P~rh zcnvh%IJjYMaqCjSfQYZGfiN5vVO0$%rLZ=tv>9WFqJ_eCCB8x@?!eTc7!m!$0K{>u zoU@exj4@bii$a^0jdX(_)P6`~uv9rN3?l}E0oVNoSKXgyfK0kYS_HqFr&+|$E zTI&&j*;(E+H|c~OuGzovTKpQTvRVRQOvv?ggLlGrW`aMRKh1f6-X8kHVG;KGeT>nS z0D?f3Qt;v8hjbP@0PL~HrNvA9e(xn(zBL8h@P7C{R~N6&_&e7>$IrS?(epi3tb%^O zuZH<70}uh{W&x}x>#Q_aI0z4hAoLz@uKtPN-Tf^~ZkUe0uY62rp@U2vR8Ks7f}d{x zgf3k~Ac~^lo$&JI%UfFON2>rd8V#&N(rb{BH{`FqoY!fg3JR5fvBR5ZNb!7!v(&}E$;IG0X)zJ4oA;%>y4i2 Ze*w>pk%lCNi{=0T002ovPDHLkV1hEc=*j>9 literal 0 HcmV?d00001 diff --git a/src/Icons/subscribe16.png b/src/Icons/subscribe16.png new file mode 100644 index 0000000000000000000000000000000000000000..acc1d28e52e32a879438999cd652179894210576 GIT binary patch literal 739 zcmV<90v!E`P)5r00004b3#c}2nYxW zdwJb4lE=-(jZphSr5iexl#=FOz%&Ffd)9wt5mYe7R%U+TlR zs#>o z=NusfX0sUp)>^#xhzNO}BO(}MP*q$?DfVParyT*%m>5qE0C3jO?RJ?}6~BKR2ub!h06##j@L|K-ks3ai945zAb4oCpZ zLSPmICx$OYiE2%Za}7W>9?7--AK=v5G0uqKP*!eV*vKU zK4(_X1n0dsAymx>0ON5nzk-_s%CbC!Ls1m$*1O#Q^neSC7y7O!3M(Sb6+);Rz}Svi zvdg6Er}nYf;bHlRff>-Z{iz!cho-JWGlKV1CX)$;DR`1U;Y2#Yo#GA-$L@5O$Fj-5 z4Y)bI$t`Yex#4hVCX;ak==FLW92}scEO(dLTHNAUc*c!?Z}5EOIfK@K{-DpL&zIQ$ zZQr`}_4QY)tE;Ds!Ge%wt#7LJiimJsuIt9Pjmz&_?@#Wm?P!%Md#!uz!{*t|w};>P zg&bYpuR>nS0`MBR0{jDPq(6Q(H2@K51Kq>d0op(d5H8Z;FaG2nPnqC>67VUd@Eyl0 VT$5q~B*_2(002ovPDHLkV1g42O(XyS literal 0 HcmV?d00001 diff --git a/src/Icons/time.png b/src/Icons/time.png index 27389e3ab477c80ff58b12b61bb70f87089fc4f9..a76a31d2eca85e28543e44773eac3cf4a15697ec 100644 GIT binary patch literal 856 zcmV-e1E>6nP)%s^y>CCW47 z$4}Xs-SpzggFW9~KfMM3tYoR{F9@L^KN0g?hJ3e@{;IQ-5r zZkU$2!6jFeQkeGL%#DkS+;aRtPJenlAB-{rIyInBfB{l!n);@y?%5ND8_G);t*QXP z`~2)n+3S8@_wd0E*FcZiqy=;w;C6d7kL)dCZJk}8xpl5=IiEj@i#S*PE~NdH{ce~p zkYP1z=$B!6Av_|Y+Q=<0n+Df6#6rF5m@j^bLu=bI=yeI!ep zmKZM9G;}6>9rE0IapUBNzXg|w>kr+^N{u$=SC-~=Z&+t`iL)M#=LK79@2}{Rih7qJ zB<*r*?M`V0G4|k%{58?>$pv}a9h><9V_)ano&Eh^(+MFHXV08p==do)%B$>rs9r4Y zd3;3y00Ns$Ju>7k$+XT!sYc!xd}?Vbnx68e+BR(ri;0bidh_O0Y=|_SG7;J~qN9TGk2$IvCx=rteZ=Yh#Yi#@GL~wzX1uwWYrQ_xJaV zuHJ-}oXpJ3DM@RDp2k{XgtflL-tYh3=kH^Al%=kU6aV`+rW-~Xky#+0`2 z@9*!{*VcQ6l)bjSF;R1jmc9S?|L^zzT48f*md>1>r9w$ky~ob~|NphNy{*sx=kNc< z$JWN*|1mgHl&;={mZi1F#@^@uwa@=KNm_)4oMUl>dxo4bI7*W539tYF00DGTPE!Ct z=GbNc000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iF7-6BZ)5l-aug0050iL_t&- z(_>&D4;b1p`M9cR!}5FlX&pw0fE|ymtptm?gRUSmM1aZG z)>hR<#GQlJ6C&VcYo?~Dr|YDl?+g*(6IBwimh?8|R+NGWsHp48=sMYZuyV;k1hmCm zG!!(rS=j}kwlIhbY01i4a+z4cUB+p|=BsSMNTk02s@M>#!xvfE00000NkvXXu0mjf D4X^(; diff --git a/src/Icons/unsubscribe.png b/src/Icons/unsubscribe.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb3c694716ef833cbb900af51a511603da71580 GIT binary patch literal 1694 zcmV;P24VS$P)@~8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11{+C4K~zYIt(Q-X97h$0zv`-<|2t;aW_P{XV8wAng!p%0a{vVn zksyIXZc(s6M2ZqCoDwI_a!4dDfeR!?!HU9#tHr@WAaO$i2@V(&M}{2i07=$f+cUei zHlFF}p04V89D2HU*3*kb#FJXnUDf^GSHJgOb&nDeHa0f?-R*V{E2SuG`n+oF?)l>S z?r{eZ{XS}m-#c<%|r zkRS*Mf`GwbfH4N|J>L6ryk4*4y=QrO8DmW8Hwc0P44`QMy!SG8!h5|4fW>Z|+mWT) zG#qS%L{Wruj&8Tha5yB6V+Ml(3kwVM`+ZhdR}m3LqY>VFoO9G_HF~`sOG`^L!KVOF zB0{g%yD>jMzdWP)$29N#%-D4B;+_i^F61c?5#Q_g87Je99aMlc9g|e}Xt!G!ZT5^E zKAf+&0AOK$zLMM+L+{o{Y~3E9l$uDF%eQc#&C22e&N;FyD`hQKT&vZvHbtpm#%~Y= zWLcI2WLf4%qX=u=%#EE+o8MpjkZa>PYFZPG9idh@fhB#F?|r??_V)Ik-~d`{4jnqg za2Qo8*6nuj-tQ{lz05cP@Lq6Uh*M8cSB#xU2LU2N<^|_mrEmg;J_qd6mz? zrc=QFDeyf0(EWSJrvoNQGE@ED`?6#9OM&-(7a&QJROn$B(_wOWXCjwFd^q_);#j3LXi61+GU2`2l) zY->X$MMXZQn^y2(WnF{Olw2C-C;N!mcY|*%0{EP3y`L% z(mEhb)0rS?I>uU8IcJO^2=eFLV8BOjU*zD|zB&QW#BofLBzvAoHa8jfw`e^4@NNpm z%~)yu3RB~@dXwheH5)VNs{b&ZhZYZ|9t)= z*_}Hy-*|(p*(?DjIjsUnaL!c%RHB*~E@FdU+_-tB@Yic}D&%I|@E_sc44z}l2FZ7?WSII;Ax z$GHEkw?KrV^S9R4*jimJfs|5&VVDCfEiDCku4ff!w>xB6Mv}||)a!L>wL0x~s~poi zI~+WB4s+M`ymJ0L&Ch+7cx?@UPG^pOzn_1UUb=MY!@0S+PkEos1ZgxHcrTTEM6DKL zOh_E(1?qZzHjf|2e(*uQN@LJVOSsKV6ri+b@$_ltzV%HSjb?WC?AaqqL|9u}I{-8b z$3YOFwMJ`=F{bkT?&}BNd1vV}@4kCZd4F^wyBjVne7|?>*!iOuE}T=|ADy^&qs7G& ze?NKhH|y)`+iJfLhX2L>tkg2_2jJ6_p$s_w6_H;}=2w6}0>>tB7I^&2BESB>0GwCq z7r@g~!N2pM$l2+8{;JgK1fo!43%FO^^@BCI@8bD7S`92IBgT^o6=N<0^pK)bI3p@oyu$4;tTv&;JnqHVp@O oAO&I|dI7p$g66m3Pa=~32S%Nh($07*qoM6N<$g5Vk;Gynhq literal 0 HcmV?d00001 diff --git a/src/Icons/unsubscribe16.png b/src/Icons/unsubscribe16.png new file mode 100644 index 0000000000000000000000000000000000000000..2da2d8f596b382e0b62c5eceee1e4a9cad122f43 GIT binary patch literal 765 zcmV5r00004b3#c}2nYxW zdzB|0KR z6VX8zQ=~|X^HoqviYR;p)w0MnK=}@EUB3G8U1E7 z8gp`T^37m!`KzWE#%qoYA43QLBuRqz9%Bqil3=Zk!{JbunepB~c4?X#AFXROLJyZR zu+|bnpzAsSvMi&nYgCoVWU>N9#JCWGjMrP%G6A6Xk)~+?gS836^>w@1)46-abRaKQhR0ZI-KXZQi1A4Cvq~P$g_X)lSU_2Vr_dQXC2&lT~L_|dd)d)c6 z1DywJ63&X2w=-i5B8x!)A|ft?5Z-QjZ}S2lToV4fBl+lI>mcW zRn?1Qzj?#-+BI(v4i0Xs%BO8Rr|UXmgt9E?x(@FH)yorJ+`EU5k+r=&iX!Lq=`()6 ze;*wV&s|xT$$UOXb+Li>fvPG2aL(a|L*BV@gYw}+Ua8(|*mJ_Zq9?e6kdS>n#m6SuRo^TX!m=9V$hfg#HVe}~{NF5cDl)>_~H_;{;5I{G-7 z%?h)z(d|8XGTYzYem=f)=g7nu`M>(vn47>a23`WUfgJb__yYKn7$Zw$4VVJ&0^7ic v!2TFM`W_yA4!3|UV0H_x{0d(m!-anU6=!0OM@MBf00000NkvXXu0mjf9P3xK literal 0 HcmV?d00001 diff --git a/src/PreviewListDelegate.h b/src/PreviewListDelegate.h index 5144afe80..8df80b69b 100644 --- a/src/PreviewListDelegate.h +++ b/src/PreviewListDelegate.h @@ -61,10 +61,8 @@ class PreviewListDelegate: public QItemDelegate { newopt.maximum = 100; newopt.minimum = 0; newopt.state |= QStyle::State_Enabled; - newopt.textVisible = false; + newopt.textVisible = true; QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, painter); - painter->setPen(QColor("Black")); - painter->drawText(opt.rect, Qt::AlignCenter, newopt.text); break; } default: diff --git a/src/PropListDelegate.h b/src/PropListDelegate.h index a4202ca08..adf81daef 100644 --- a/src/PropListDelegate.h +++ b/src/PropListDelegate.h @@ -38,6 +38,7 @@ #define SIZE 1 #define PROGRESS 2 #define PRIORITY 3 +#define INDEX 4 #define IGNORED 0 #define NORMAL 1 @@ -74,10 +75,8 @@ class PropListDelegate: public QItemDelegate { newopt.maximum = 100; newopt.minimum = 0; newopt.state |= QStyle::State_Enabled; - newopt.textVisible = false; + newopt.textVisible = true; QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, painter); - painter->setPen(QColor("Black")); - painter->drawText(opt.rect, Qt::AlignCenter, newopt.text); break; } case PRIORITY:{ @@ -115,7 +114,6 @@ class PropListDelegate: public QItemDelegate { QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &/* option */, const QModelIndex & index) const { if(index.column() != PRIORITY) return 0; - if(onlyOneItem(index)) return 0; QComboBox* editor = new QComboBox(parent); editor->setFocusPolicy(Qt::StrongFocus); editor->addItem(tr("Ignored")); @@ -128,6 +126,7 @@ class PropListDelegate: public QItemDelegate { void setEditorData(QWidget *editor, const QModelIndex &index) const { unsigned short val = index.model()->data(index, Qt::DisplayRole).toInt(); QComboBox *combobox = static_cast(editor); + qDebug("Set Editor data: Prio is %d", val); switch(val){ case IGNORED: combobox->setCurrentIndex(0); @@ -156,28 +155,11 @@ class PropListDelegate: public QItemDelegate { return textRect.size(); } - bool onlyOneItem(const QModelIndex& index) const { - const QAbstractItemModel *model = index.model(); - unsigned int nbRows = model->rowCount(); - if(nbRows == 1) return true; - for(unsigned int i=0; idata(model->index(i, PRIORITY)).toInt()) return false; - } - return true; - } - public slots: void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { QComboBox *combobox = static_cast(editor); int value = combobox->currentIndex(); qDebug("Setting combobox value in index: %d", value); - QString color; - if(value) { - color = QString::fromUtf8("green"); - } else { - color = QString::fromUtf8("red"); - } unsigned short old_val = index.model()->data(index, Qt::DisplayRole).toInt(); switch(value){ case 0: @@ -185,6 +167,10 @@ class PropListDelegate: public QItemDelegate { model->setData(index, QVariant(IGNORED)); if(filteredFilesChanged != 0) *filteredFilesChanged = true; + } else { + // XXX: hack to force the model to send the itemChanged() signal + model->setData(index, QVariant(NORMAL)); + model->setData(index, QVariant(IGNORED)); } break; case 1: @@ -192,6 +178,9 @@ class PropListDelegate: public QItemDelegate { model->setData(index, QVariant(NORMAL)); if(filteredFilesChanged != 0) *filteredFilesChanged = true; + } else { + model->setData(index, QVariant(HIGH)); + model->setData(index, QVariant(NORMAL)); } break; case 2: @@ -199,6 +188,9 @@ class PropListDelegate: public QItemDelegate { model->setData(index, QVariant(HIGH)); if(filteredFilesChanged != 0) *filteredFilesChanged = true; + } else { + model->setData(index, QVariant(NORMAL)); + model->setData(index, QVariant(HIGH)); } break; case 3: @@ -206,6 +198,9 @@ class PropListDelegate: public QItemDelegate { model->setData(index, QVariant(MAXIMUM)); if(filteredFilesChanged != 0) *filteredFilesChanged = true; + } else { + model->setData(index, QVariant(HIGH)); + model->setData(index, QVariant(MAXIMUM)); } break; default: @@ -213,16 +208,17 @@ class PropListDelegate: public QItemDelegate { model->setData(index, QVariant(NORMAL)); if(filteredFilesChanged != 0) *filteredFilesChanged = true; + } else { + model->setData(index, QVariant(HIGH)); + model->setData(index, QVariant(NORMAL)); } } - for(int i=0; icolumnCount(); ++i){ - model->setData(model->index(index.row(), i), QVariant(QColor(color)), Qt::ForegroundRole); - } } void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &/* index */) const { editor->setGeometry(option.rect); } + }; #endif diff --git a/src/about_imp.h b/src/about_imp.h index 5ddcf1a7e..a21ba36a5 100644 --- a/src/about_imp.h +++ b/src/about_imp.h @@ -44,9 +44,9 @@ class about : public QDialog, private Ui::AboutDlg{ // Thanks te_thanks->append(QString::fromUtf8("")); te_thanks->append(QString::fromUtf8("
  • I would like to thank sourceforge.net for hosting qBittorrent project.
  • ")); - te_thanks->append(QString::fromUtf8("
  • I am happy that Arnaud Demaizière joined the project as a programmer. His help is greatly appreciated
  • ")); - te_thanks->append(QString::fromUtf8("
  • I also want to thank Jeffery Fernandez (jeffery@qbittorrent.org), project consultant, webdevelopper and RPM packager, for his help.
  • ")); - te_thanks->append(QString::fromUtf8("
  • I am gratefull to Peter Koeleman (peter@qbittorrent.org) who is helping port qBittorrent to Windows.
  • ")); + te_thanks->append(QString::fromUtf8("
  • I am happy that Arnaud Demaizière is contributing to the project as a developer. His help is greatly appreciated
  • ")); + te_thanks->append(QString::fromUtf8("
  • I also want to thank Jeffery Fernandez (jeffery@qbittorrent.org), project consultant, RPM packager, for his help and support.
  • ")); + te_thanks->append(QString::fromUtf8("
  • I am grateful to Peter Koeleman (peter@qbittorrent.org) who is helping port qBittorrent to Windows.
  • ")); te_thanks->append(QString::fromUtf8("
  • Thanks a lot to our graphist Mateusz Toboła (tobejodok@qbittorrent.org) for his great work.


")); te_thanks->scrollToAnchor(QString::fromUtf8("top")); // Translation diff --git a/src/addTorrentDialog.ui b/src/addTorrentDialog.ui index b4e1a0986..ce4cfeb86 100644 --- a/src/addTorrentDialog.ui +++ b/src/addTorrentDialog.ui @@ -5,20 +5,29 @@ 0 0 - 440 - 389 + 511 + 441 Torrent addition dialog - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -48,12 +57,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -108,12 +126,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + diff --git a/src/allocationDlg.h b/src/allocationDlg.h index fb94b9aa0..ee191596b 100644 --- a/src/allocationDlg.h +++ b/src/allocationDlg.h @@ -157,13 +157,13 @@ class BandwidthAllocationDialog : public QDialog, private Ui_bandwidth_dlg { s->set_upload_rate_limit(-1); else s->set_upload_rate_limit(val*1024); - settings.setValue(QString::fromUtf8("Options/Main/UPLimit"), val); + settings.setValue(QString::fromUtf8("Preferences/Connection/GlobalUPLimit"), val); }else{ if(!val) s->set_download_rate_limit(-1); else s->set_download_rate_limit(val*1024); - settings.setValue(QString::fromUtf8("Options/Main/DLLimit"), val); + settings.setValue(QString::fromUtf8("Preferences/Connection/GlobalDLLimit"), val); } } close(); diff --git a/src/arborescence.h b/src/arborescence.h new file mode 100644 index 000000000..fad015d27 --- /dev/null +++ b/src/arborescence.h @@ -0,0 +1,264 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#ifndef ARBORESCENCE_H +#define ARBORESCENCE_H + +#include +#include +#include +#include "misc.h" + +class file { + private: + file *parent; + bool is_dir; + QString rel_path; + QList children; + size_type size; + float progress; + int priority; + int index; // Index in torrent_info + + public: + file(file *parent, QString path, bool dir, size_type size=0, int index=-1, float progress=0., int priority=1): parent(parent), is_dir(dir), size(size), progress(progress), priority(priority), index(index){ + qDebug("created a file with index %d", index); + rel_path = QDir::cleanPath(path); + if(parent) { + parent->updateProgress(); + parent->updatePriority(priority); + } + } + + ~file() { + qDeleteAll(children); + } + + QString path() const { + return rel_path; + } + + QString name() const { + return rel_path.split(QDir::separator()).last(); + } + + void updateProgress() { + Q_ASSERT(is_dir); + if(children.isEmpty()) { + progress = 0.; + return; + } + float wanted = 0.; + float done = 0.; + file *child; + foreach(child, children) { + wanted += child->getSize(); + done += child->getSize()*child->getProgress(); + } + progress = done / wanted; + Q_ASSERT(progress >= 0.); + Q_ASSERT(progress <= 1.); + } + + void updatePriority(int prio) { + Q_ASSERT(is_dir); + file *child; + foreach(child, children) { + if(child->getPriority() != prio) return; + } + priority = prio; + } + + int getPriority() const { + return priority; + } + + size_type getSize() const { + return size; + } + + float getProgress() const { + return progress; + } + + int getIndex() const { + return index; + } + + bool isDir() const { + return is_dir; + } + + bool hasChildren() const { + return (!children.isEmpty()); + } + + QList getChildren() const { + return children; + } + + file* getChild(QString fileName) const { + Q_ASSERT(is_dir); + file* f; + foreach(f, children) { + if(f->name() == fileName) return f; + } + return 0; + } + + void addBytes(size_type b) { + size += b; + if(parent) + parent->addBytes(b); + } + + file* addChild(QString fileName, bool dir, size_type size=0, int index = -1, float progress=0., int priority=1) { + Q_ASSERT(is_dir); + qDebug("Adding a new child of size: %ld", (long)size); + file *f = new file(this, QDir::cleanPath(rel_path+QDir::separator()+fileName), dir, size, index, progress, priority); + children << f; + if(size) { + addBytes(size); + } + return f; + } + + bool removeFromFS(QString saveDir) { + QString full_path = saveDir + QDir::separator() + rel_path; + if(!QFile::exists(full_path)) { + qDebug("%s does not exist, no need to remove it", full_path.toUtf8().data()); + return true; + } + bool success = true; + file *f; + qDebug("We have %d children", children.size()); + foreach(f, children) { + bool s = f->removeFromFS(saveDir); + success = s && success; + } + if(is_dir) { + qDebug("trying to remove directory: %s", full_path.toUtf8().data()); + QDir dir(full_path); + dir.rmdir(full_path); + } else { + qDebug("trying to remove file: %s", full_path.toUtf8().data()); + bool s = QFile::remove(full_path); + success = s && success; + } + return success; + } +}; + +class arborescence { + private: + file *root; + + public: + arborescence(torrent_info t) { + torrent_info::file_iterator fi = t.begin_files(); + if(t.num_files() > 1) { + root = new file(0, misc::toQString(t.name()), true); + } else { + // XXX: Will crash if there is no file in torrent + root = new file(0, misc::toQString(t.name()), false, fi->size, 0); + return; + } + int i = 0; + while(fi != t.end_files()) { + QString path = QDir::cleanPath(misc::toQString(fi->path.string())); + addFile(path, fi->size, i); + fi++; + ++i; + } + qDebug("real size: %ld, tree size: %ld", (long)t.total_size(), (long)root->getSize()); + Q_ASSERT(root->getSize() == t.total_size()); + } + + arborescence(torrent_info t, std::vector fp, int *prioritiesTab) { + torrent_info::file_iterator fi = t.begin_files(); + if(t.num_files() > 1) { + qDebug("More than one file in the torrent, setting a folder as root"); + root = new file(0, misc::toQString(t.name()), true); + } else { + // XXX: Will crash if there is no file in torrent + qDebug("one file in the torrent, setting it as root with index 0"); + root = new file(0, misc::toQString(t.name()), false, fi->size, 0, fp[0], prioritiesTab[0]); + return; + } + int i = 0; + while(fi != t.end_files()) { + QString path = QDir::cleanPath(misc::toQString(fi->path.string())); + addFile(path, fi->size, i, fp[i], prioritiesTab[i]); + fi++; + ++i; + } + qDebug("real size: %ld, tree size: %ld", (long)t.total_size(), (long)root->getSize()); + Q_ASSERT(root->getSize() == t.total_size()); + } + + ~arborescence() { + delete root; + } + + file* getRoot() const { + return root; + } + + bool removeFromFS(QString saveDir) { + if(!QFile::exists(saveDir+QDir::separator()+root->path())) return true; + bool success = root->removeFromFS(saveDir); + QDir root_dir(root->path()); + root_dir.rmdir(saveDir+QDir::separator()+root->path()); + return success; + } + + protected: + void addFile(QString path, size_type file_size, int index, float progress=0., int priority=1) { + Q_ASSERT(root->isDir()); + path = QDir::cleanPath(path); + Q_ASSERT(path.startsWith(root->path())); + QString relative_path = path.remove(0, root->path().size()); + if(relative_path.at(0) ==QDir::separator()) + relative_path.remove(0, 1); + QStringList fileNames = relative_path.split(QDir::separator()); + QString fileName; + file *dad = root; + unsigned int nb_i = 0; + unsigned int size = fileNames.size(); + foreach(fileName, fileNames) { + ++nb_i; + if(fileName == ".") continue; + file* child = dad->getChild(fileName); + if(!child) { + if(nb_i != size) { + // Folder + child = dad->addChild(fileName, true); + } else { + // File + child = dad->addChild(fileName, false, file_size, index, progress, priority); + } + } + dad = child; + } + } +}; + +#endif diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 2674e2ebf..c7ea4b58f 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -24,37 +24,32 @@ #include #include +#include "bittorrent.h" +#include "misc.h" +#include "downloadThread.h" +#include "deleteThread.h" + #include #include #include #include #include #include -#include #include #include -#include "bittorrent.h" -#include "misc.h" -#include "downloadThread.h" -#include "deleteThread.h" - #define ETAS_MAX_VALUES 3 #define ETA_REFRESH_INTERVAL 10000 #define MAX_TRACKER_ERRORS 2 // Main constructor -bittorrent::bittorrent() : timerScan(0), DHTEnabled(false){ +bittorrent::bittorrent() : timerScan(0), DHTEnabled(false), preAllocateAll(false), addInPause(false), maxConnecsPerTorrent(500), maxUploadsPerTorrent(4), max_ratio(-1) { // To avoid some exceptions fs::path::default_name_check(fs::no_check); // Creating bittorrent session s = new session(fingerprint("qB", VERSION_MAJOR, VERSION_MINOR, VERSION_BUGFIX, 0)); // Set severity level of libtorrent session s->set_severity_level(alert::info); - // Enable LSD/UPnP/NAT-PMP - s->start_lsd(); - s->start_natpmp(); - s->start_upnp(); // Enabling metadata plugin s->add_extension(&create_metadata_plugin); timerAlerts = new QTimer(); @@ -85,6 +80,39 @@ bittorrent::~bittorrent() { delete s; } +void bittorrent::preAllocateAllFiles(bool b) { + preAllocateAll = b; + // Reload All Torrents + std::vector handles = s->get_torrents(); + unsigned int nbHandles = handles.size(); + for(unsigned int i=0; i max_ratio) { + QString fileName = h.name(); + deleteTorrent(hash); + emit torrent_deleted(hash, fileName, true); + } + } +} + void bittorrent::setDownloadLimit(QString hash, long val) { QTorrentHandle h = getTorrentHandle(hash); if(h.is_valid()) @@ -104,6 +132,10 @@ void bittorrent::handleDownloadFailure(QString url, QString reason) { emit downloadFromUrlFailure(url, reason); } +void bittorrent::startTorrentsInPause(bool b) { + addInPause = b; +} + void bittorrent::updateETAs() { QString hash; foreach(hash, unfinishedTorrents) { @@ -112,24 +144,37 @@ void bittorrent::updateETAs() { if(h.is_paused()) continue; QString hash = h.hash(); QList listEtas = ETAstats.value(hash, QList()); - if(listEtas.size() == ETAS_MAX_VALUES) { - listEtas.removeFirst(); - } - if(h.download_payload_rate()) { - listEtas << (qlonglong)((h.actual_size()-h.total_done())/(double)h.download_payload_rate()); + // XXX: We can still get an overflow if remaining file size is approximately + // 8.38*10^5 TiB (let's assume this can't happen) + if(h.download_payload_rate() > 0.1) { + if(listEtas.size() == ETAS_MAX_VALUES) { + listEtas.removeFirst(); + } + listEtas << (qlonglong)((h.actual_size()-h.total_wanted_done())/(double)h.download_payload_rate()); ETAstats[hash] = listEtas; - long moy = 0; - long val; + qlonglong moy = 0; + qlonglong val; unsigned int nbETAs = listEtas.size(); Q_ASSERT(nbETAs); foreach(val, listEtas) { moy += (qlonglong)((double)val/(double)nbETAs); - Q_ASSERT(moy >= 0); } + Q_ASSERT(moy >= 0); ETAs[hash] = moy; + } else { + // Speed is too low, we don't want an overflow. + if(ETAstats.contains(hash)) { + ETAstats.remove(hash); + } + if(ETAs.contains(hash)) { + ETAs.remove(hash); + } } } } + // Delete big ratios + if(max_ratio != -1) + deleteBigRatios(); } long bittorrent::getETA(QString hash) const{ @@ -165,9 +210,9 @@ void bittorrent::deleteTorrent(QString hash, bool permanent) { } QString savePath = h.save_path(); QString fileName = h.name(); - QStringList files_path; + arborescence *files_arb = 0; if(permanent){ - files_path = h.files_path(); + files_arb = new arborescence(h.get_torrent_info()); } // Remove it from session s->remove_torrent(h.get_torrent_handle()); @@ -185,6 +230,10 @@ void bittorrent::deleteTorrent(QString hash, bool permanent) { ETAs.remove(hash); // Remove tracker errors trackersErrors.remove(hash); + // Remove from reloadingTorrents if reloading + if(reloadingTorrents.contains(hash)) { + reloadingTorrents.remove(hash); + } // Remove it from ratio table ratioData.remove(hash); int index = finishedTorrents.indexOf(hash); @@ -198,11 +247,11 @@ void bittorrent::deleteTorrent(QString hash, bool permanent) { std::cerr << "Error: Torrent " << hash.toStdString() << " is neither in finished or unfinished list\n"; } } - if(permanent) { + if(permanent && files_arb != 0) { // Remove from Hard drive qDebug("Removing this on hard drive: %s", qPrintable(savePath+QDir::separator()+fileName)); // Deleting in a thread to avoid GUI freeze - deleter->deleteTorrent(savePath, files_path); + deleter->deleteTorrent(savePath, files_arb); } } @@ -330,7 +379,7 @@ void bittorrent::loadWebSeeds(QString hash) { } // Add a torrent to the bittorrent session -void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { +void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url, bool resumed) { QTorrentHandle h; entry resume_data; bool fastResume=false; @@ -346,11 +395,11 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { } } // Processing torrents - file = path.trimmed().replace("file://", ""); + file = path.trimmed().replace("file://", "", Qt::CaseInsensitive); if(file.isEmpty()) { return; } - Q_ASSERT(!file.startsWith("http://") && !file.startsWith("https://") && !file.startsWith("ftp://")); + Q_ASSERT(!file.startsWith("http://", Qt::CaseInsensitive) && !file.startsWith("https://", Qt::CaseInsensitive) && !file.startsWith("ftp://", Qt::CaseInsensitive)); qDebug("Adding %s to download list", file.toUtf8().data()); std::ifstream in(file.toUtf8().data(), std::ios_base::binary); in.unsetf(std::ios_base::skipws); @@ -358,27 +407,18 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { // Decode torrent file entry e = bdecode(std::istream_iterator(in), std::istream_iterator()); // Getting torrent file informations - torrent_info t(e); - qDebug(" -> Hash: %s", misc::toString(t.info_hash()).c_str()); - qDebug(" -> Name: %s", t.name().c_str()); - QString hash = misc::toQString(t.info_hash()); + boost::intrusive_ptr t(new torrent_info(e)); + qDebug(" -> Hash: %s", misc::toString(t->info_hash()).c_str()); + qDebug(" -> Name: %s", t->name().c_str()); + QString hash = misc::toQString(t->info_hash()); if(file.startsWith(torrentBackup.path())) { QFileInfo fi(file); QString old_hash = fi.baseName(); if(old_hash != hash){ qDebug("* ERROR: Strange, hash changed from %s to %s", old_hash.toUtf8().data(), hash.toUtf8().data()); -// QStringList filters; -// filters << old_hash+".*"; -// QStringList files = torrentBackup.entryList(filters, QDir::Files, QDir::Unsorted); -// QString my_f; -// foreach(my_f, files) { -// qDebug("* deleting %s", my_f.toUtf8().data()); -// torrentBackup.remove(my_f); -// } -// return; } } - if(s->find_torrent(t.info_hash()).is_valid()) { + if(s->find_torrent(t->info_hash()).is_valid()) { qDebug("/!\\ Torrent is already in download list"); // Update info Bar if(!fromScanDir) { @@ -409,12 +449,12 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { } QString savePath = getSavePath(hash); // Adding files to bittorrent session - if(has_filtered_files(hash)) { - h = s->add_torrent(t, fs::path(savePath.toUtf8().data()), resume_data, false, true); + if(preAllocateAll) { + h = s->add_torrent(t, fs::path(savePath.toUtf8().data()), resume_data, storage_mode_allocate, true); qDebug(" -> Full allocation mode"); }else{ - h = s->add_torrent(t, fs::path(savePath.toUtf8().data()), resume_data, true, true); - qDebug(" -> Compact allocation mode"); + h = s->add_torrent(t, fs::path(savePath.toUtf8().data()), resume_data, storage_mode_sparse, true); + qDebug(" -> Sparse allocation mode"); } if(!h.is_valid()) { // No need to keep on, it failed. @@ -423,9 +463,10 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { if(!from_url.isNull()) QFile::remove(file); return; } - // Is this really useful and appropriate ? - //h.set_max_connections(60); - h.set_max_uploads(-1); + // Connections limit per torrent + h.set_max_connections(maxConnecsPerTorrent); + // Uploads limit per torrent + h.set_max_uploads(maxUploadsPerTorrent); // Load filtered files loadFilesPriorities(h); // Load custom url seeds @@ -450,13 +491,13 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url) { QFile::copy(file, newFile); } // Pause torrent if it was paused last time - if(QFile::exists(misc::qBittorrentPath()+"BT_backup"+QDir::separator()+hash+".paused")) { + if((!resumed && addInPause) || QFile::exists(misc::qBittorrentPath()+"BT_backup"+QDir::separator()+hash+".paused")) { torrentsToPauseAfterChecking << hash; qDebug("Adding a torrent to the torrentsToPauseAfterChecking list"); } // Incremental download if(QFile::exists(misc::qBittorrentPath()+"BT_backup"+QDir::separator()+hash+".incremental")) { - qDebug("Incremental download enabled for %s", t.name().c_str()); + qDebug("Incremental download enabled for %s", t->name().c_str()); h.set_sequenced_download_threshold(1); } // Start torrent because it was added in paused state @@ -538,35 +579,88 @@ void bittorrent::setMaxConnections(int maxConnec) { s->set_max_connections(maxConnec); } +void bittorrent::setMaxConnectionsPerTorrent(int max) { + maxConnecsPerTorrent = max; + // Apply this to all session torrents + std::vector handles = s->get_torrents(); + unsigned int nbHandles = handles.size(); + for(unsigned int i=0; i handles = s->get_torrents(); + unsigned int nbHandles = handles.size(); + for(unsigned int i=0; i(dht_state_file), std::istream_iterator()); - }catch (std::exception&) {} - s->start_dht(dht_state); - s->add_dht_router(std::make_pair(std::string("router.bittorrent.com"), 6881)); - s->add_dht_router(std::make_pair(std::string("router.utorrent.com"), 6881)); - s->add_dht_router(std::make_pair(std::string("router.bitcomet.com"), 6881)); - DHTEnabled = true; - qDebug("DHT enabled"); +void bittorrent::enableUPnP(bool b) { + if(b) { + s->start_upnp(); + } else { + s->stop_upnp(); } } -// Disable DHT -void bittorrent::disableDHT() { - if(DHTEnabled) { - DHTEnabled = false; - s->stop_dht(); - qDebug("DHT disabled"); +void bittorrent::enableNATPMP(bool b) { + if(b) { + s->start_natpmp(); + } else { + s->stop_natpmp(); + } +} + +void bittorrent::enableLSD(bool b) { + if(b) { + s->start_lsd(); + } else { + s->stop_lsd(); + } +} + +// Enable DHT +void bittorrent::enableDHT(bool b) { + if(b) { + if(!DHTEnabled) { + boost::filesystem::ifstream dht_state_file((misc::qBittorrentPath()+QString::fromUtf8("dht_state")).toUtf8().data(), std::ios_base::binary); + dht_state_file.unsetf(std::ios_base::skipws); + entry dht_state; + try{ + dht_state = bdecode(std::istream_iterator(dht_state_file), std::istream_iterator()); + }catch (std::exception&) {} + s->start_dht(dht_state); + s->add_dht_router(std::make_pair(std::string("router.bittorrent.com"), 6881)); + s->add_dht_router(std::make_pair(std::string("router.utorrent.com"), 6881)); + s->add_dht_router(std::make_pair(std::string("router.bitcomet.com"), 6881)); + DHTEnabled = true; + qDebug("DHT enabled"); + } + } else { + if(DHTEnabled) { + DHTEnabled = false; + s->stop_dht(); + qDebug("DHT disabled"); + } } } @@ -660,7 +754,11 @@ void bittorrent::loadDownloadUploadForTorrent(QString hash) { QPair downUp; downUp.first = (size_type)data_list.at(0).toLongLong(); downUp.second = (size_type)data_list.at(1).toLongLong(); - Q_ASSERT(downUp.first >= 0 && downUp.second >= 0); + if(downUp.first < 0 || downUp.second < 0) { + qDebug("** Overflow in ratio!!! fixing..."); + downUp.first = 0; + downUp.second = 0; + } ratioData[hash] = downUp; } @@ -865,6 +963,11 @@ void bittorrent::setUploadRateLimit(long rate) { // libtorrent allow to adjust ratio for each torrent // This function will apply to same ratio to all torrents void bittorrent::setGlobalRatio(float ratio) { + if(ratio != -1 && ratio < 1.) ratio = 1.; + if(ratio == -1) { + // 0 means unlimited for libtorrent + ratio = 0; + } std::vector handles = s->get_torrents(); unsigned int nbHandles = handles.size(); for(unsigned int i=0; i(a.get())) { QTorrentHandle h(p->handle); + qDebug("File Error: %s", p->msg().c_str()); if(h.is_valid()) emit fullDiskError(h); } @@ -1012,10 +1125,9 @@ void bittorrent::readAlerts() { if(index != -1){ waitingForPause.removeAt(index); } - index = reloadingTorrents.indexOf(hash); - if(index != -1) { - reloadingTorrents.removeAt(index); - reloadTorrent(h); + if(reloadingTorrents.contains(hash)) { + reloadTorrent(h, reloadingTorrents.value(hash)); + reloadingTorrents.remove(hash); } } } @@ -1061,7 +1173,7 @@ QStringList bittorrent::getTorrentsToPauseAfterChecking() const{ // Function to reload the torrent async after the torrent is actually // paused so that we can get fastresume data -void bittorrent::pauseAndReloadTorrent(QTorrentHandle h) { +void bittorrent::pauseAndReloadTorrent(QTorrentHandle h, bool full_alloc) { if(!h.is_valid()) { std::cerr << "/!\\ Error: Invalid handle\n"; return; @@ -1069,14 +1181,14 @@ void bittorrent::pauseAndReloadTorrent(QTorrentHandle h) { // ask to pause the torrent (async) h.pause(); QString hash = h.hash(); - // Add it to reloadingTorrents list so that we now we + // Add it to reloadingTorrents has table so that we now we // we should reload the torrent once we receive the // torrent_paused_alert. pause() is async now... - reloadingTorrents << hash; + reloadingTorrents[hash] = full_alloc; } // Reload a torrent with full allocation mode -void bittorrent::reloadTorrent(const QTorrentHandle &h) { +void bittorrent::reloadTorrent(const QTorrentHandle &h, bool full_alloc) { qDebug("** Reloading a torrent"); if(!h.is_valid()) { qDebug("/!\\ Error: Invalid handle"); @@ -1086,7 +1198,7 @@ void bittorrent::reloadTorrent(const QTorrentHandle &h) { fs::path saveDir = h.save_path_boost(); QString fileName = h.name(); QString hash = h.hash(); - torrent_info t = h.get_torrent_info(); + boost::intrusive_ptr t(new torrent_info(h.get_torrent_info())); qDebug("Reloading torrent: %s", fileName.toUtf8().data()); entry resumeData; // Checking if torrentBackup Dir exists @@ -1107,10 +1219,16 @@ void bittorrent::reloadTorrent(const QTorrentHandle &h) { SleeperThread::msleep(1000); ++timeout; } - QTorrentHandle new_h = s->add_torrent(t, saveDir, resumeData, false); + QTorrentHandle new_h; + if(full_alloc) + new_h = s->add_torrent(t, saveDir, resumeData, storage_mode_allocate); + else + new_h = s->add_torrent(t, saveDir, resumeData, storage_mode_sparse); qDebug("Using full allocation mode"); - - new_h.set_max_uploads(-1); + // Connections limit per torrent + new_h.set_max_connections(maxConnecsPerTorrent); + // Uploads limit per torrent + new_h.set_max_uploads(maxUploadsPerTorrent); // Load filtered Files loadFilesPriorities(new_h); // Load speed limit from hard drive @@ -1226,7 +1344,7 @@ void bittorrent::applyEncryptionSettings(pe_settings se) { s->set_pe_settings(se); } -// Will fast resume unfinished torrents in +// Will fast resume torrents in // backup directory void bittorrent::resumeUnfinishedTorrents() { qDebug("Resuming unfinished torrents"); @@ -1242,7 +1360,7 @@ void bittorrent::resumeUnfinishedTorrents() { } // Resume downloads foreach(fileName, filePaths) { - addTorrent(fileName, false); + addTorrent(fileName, false, QString(), true); } qDebug("Unfinished torrents resumed"); } diff --git a/src/bittorrent.h b/src/bittorrent.h index 88bf21ca1..383f3a238 100644 --- a/src/bittorrent.h +++ b/src/bittorrent.h @@ -27,6 +27,7 @@ #include #include +#include #include "qtorrenthandle.h" using namespace libtorrent; @@ -47,7 +48,7 @@ class bittorrent : public QObject{ downloadThread *downloader; QString defaultSavePath; QStringList torrentsToPauseAfterChecking; - QStringList reloadingTorrents; + QHash reloadingTorrents; QHash > ETAstats; QHash ETAs; QHash > ratioData; @@ -57,6 +58,11 @@ class bittorrent : public QObject{ QStringList waitingForPause; QStringList finishedTorrents; QStringList unfinishedTorrents; + bool preAllocateAll; + bool addInPause; + int maxConnecsPerTorrent; + int maxUploadsPerTorrent; + float max_ratio; protected: QString getSavePath(QString hash); @@ -84,22 +90,20 @@ class bittorrent : public QObject{ bool has_filtered_files(QString hash) const; public slots: - void addTorrent(QString path, bool fromScanDir = false, QString from_url = QString()); + void addTorrent(QString path, bool fromScanDir = false, QString from_url = QString(), bool resumed = false); void downloadFromUrl(QString url); void downloadFromURLList(const QStringList& url_list); void deleteTorrent(QString hash, bool permanent = false); bool pauseTorrent(QString hash); bool resumeTorrent(QString hash); - void enableDHT(); - void disableDHT(); void saveDHTEntry(); + void preAllocateAllFiles(bool b); void saveFastResumeAndRatioData(); void enableDirectoryScanning(QString scan_dir); void disableDirectoryScanning(); void enablePeerExchange(); void enableIPFilter(ip_filter filter); void disableIPFilter(); - void pauseAndReloadTorrent(QTorrentHandle h); void resumeUnfinishedTorrents(); void updateETAs(); void saveTorrentSpeedLimits(QString hash); @@ -111,12 +115,16 @@ class bittorrent : public QObject{ // Session configuration - Setters void setListeningPortsRange(std::pair ports); void setMaxConnections(int maxConnec); + void setMaxConnectionsPerTorrent(int max); + void setMaxUploadsPerTorrent(int max); void setDownloadRateLimit(long rate); void setUploadRateLimit(long rate); void setGlobalRatio(float ratio); + void setDeleteRatio(float ratio); void setDHTPort(int dht_port); void setProxySettings(proxy_settings proxySettings, bool trackers=true, bool peers=true, bool web_seeds=true, bool dht=true); void setSessionSettings(session_settings sessionSettings); + void startTorrentsInPause(bool b); void setDefaultSavePath(QString savepath); void applyEncryptionSettings(pe_settings se); void loadFilesPriorities(QTorrentHandle& h); @@ -124,6 +132,10 @@ class bittorrent : public QObject{ void setUploadLimit(QString hash, long val); void setUnfinishedTorrent(QString hash); void setFinishedTorrent(QString hash); + void enableUPnP(bool b); + void enableNATPMP(bool b); + void enableLSD(bool b); + void enableDHT(bool b); protected slots: void scanDirectory(); @@ -131,7 +143,9 @@ class bittorrent : public QObject{ void processDownloadedFile(QString, QString); bool loadTrackerFile(QString hash); void saveTrackerFile(QString hash); - void reloadTorrent(const QTorrentHandle &h); // This is protected now, call pauseAndReloadTorrent() instead + void pauseAndReloadTorrent(QTorrentHandle h, bool full_alloc); + void reloadTorrent(const QTorrentHandle &h, bool full_alloc); // This is protected now, call pauseAndReloadTorrent() instead + void deleteBigRatios(); signals: void invalidTorrent(QString path); @@ -151,7 +165,7 @@ class bittorrent : public QObject{ void fastResumeDataRejected(QString name); void urlSeedProblem(QString url, QString msg); void torrentFinishedChecking(QString hash); - + void torrent_deleted(QString hash, QString fileName, bool finished); }; #endif diff --git a/src/createtorrent.ui b/src/createtorrent.ui index 42b4b648b..1e1cdf12f 100644 --- a/src/createtorrent.ui +++ b/src/createtorrent.ui @@ -5,604 +5,542 @@ 0 0 - 605 - 588 + 592 + 590 Torrent Creation Tool - - - - 9 - 9 - 587 - 27 - - - - - 0 - 27 - - - - - 16777215 - 27 - - - - - Sans Serif - 14 - 75 - false - true - false - false - - - - Torrent file creation - - - Qt::AlignCenter - - - - - - 9 - 42 - 597 - 438 - - - - - 0 - - - 6 - - - - - 0 - - - 6 - - - - - - 0 - 101 - - - - - 16777215 - 26 - - + + + + + + 0 + 27 + + + + + 16777215 + 27 + + + + + Sans Serif + 14 + 75 + false + true + false + false + + + + Torrent file creation + + + Qt::AlignCenter + + + + + + + File or folder to add to the torrent: + + + + + + + + + + + + Add a file + + + :/Icons/add_file.png + + + + + + + Add a folder + + + :/Icons/add_folder.png + + + + + + + + + + + + + + 0 + 102 + + + + + 16777215 + 70 + + + + Announce urls (trackers): + + + + + + + + + + + 0 + 101 + + + + Web seeds urls (optional): + + + + + + + + 0 + 102 + + + + + 16777215 + 102 + + + + Comment (optional): + + + txt_comment + + + + + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QAbstractItemView::MultiSelection + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 16 + + + + + + + + + 22 + 22 + + + + + 22 + 22 + + + + + + + :/Icons/skin/add.png + + + + + + + + 22 + 22 + + + + + 22 + 22 + + + + + + + :/Icons/skin/remove.png + + + + + + + Qt::Vertical + + + + 20 + 16 + + + + + + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QAbstractItemView::MultiSelection + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Vertical + + + + 20 + 16 + + + + + + + + + 22 + 22 + + + + + 22 + 22 + + + + + + + :/Icons/skin/add.png + + + + + + + + 22 + 22 + + + + + 22 + 22 + + + + + + + :/Icons/skin/remove.png + + + + + + + Qt::Vertical + + + + 20 + 16 + + + + + + + + + + + + + 421 + 102 + + + + false + + + + + + + + + + + + + Piece size: + + + + + + + 3 + + - Input files or directories: - - - - - - - - 0 - 102 - - - - - 16777215 - 70 - + 32 KiB + + - Announce urls (trackers): - - - - - - - - - - - 0 - 101 - + 64 KiB + + - Web seeds urls (optional): - - - - - - - - 0 - 102 - - - - - 16777215 - 102 - + 128 KiB + + - Comment (optional): + 256 KiB - - txt_comment - - - - - - - - - 0 - - - 6 - - - - - 0 - - - 6 - - - - - QAbstractItemView::MultiSelection - - - - - - - 0 - - - 6 - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - - - - 0 - - - 6 - - - - - QAbstractItemView::MultiSelection - - - - - - - 0 - - - 6 - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - - - - 0 - - - 6 - - - - - QAbstractItemView::MultiSelection - - - - - - - 0 - - - 6 - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - - 22 - 22 - - - - - 22 - 22 - - - - - - - - - - - Qt::Vertical - - - - 20 - 16 - - - - - - - - - - - - - 421 - 102 - - - - - 421 - 102 - - - - false - - - - - - - - - - - 9 - 482 - 587 - 22 - - - - Private (won't be distributed on trackerless network / DHT if enabled) - - - - - - 9 - 510 - 587 - 30 - - - - - 0 - - - 6 - - - - - - 16777215 - 26 - - - - Destination torrent file: - - - txt_destination - - - - - - - 0 - - - 6 - - - - - - + + - ... + 512 KiB - - - - - - - - - - 9 - 546 - 587 - 33 - - - - - 0 - - - 6 - - - - - Qt::Horizontal - - - - 131 - 31 - - - - - - - - Create - - - - - - - Cancel - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Private (won't be distributed on DHT network if enabled) + + + + + + + Start seeding after creation + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 131 + 31 + + + + + + + + Create and save... + + + + + + + Cancel + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + - + + + cancelButton diff --git a/src/createtorrent_imp.cpp b/src/createtorrent_imp.cpp index dccd5a646..cc335183a 100644 --- a/src/createtorrent_imp.cpp +++ b/src/createtorrent_imp.cpp @@ -42,51 +42,23 @@ using namespace boost::filesystem; createtorrent::createtorrent(QWidget *parent): QDialog(parent){ setupUi(this); - addTracker_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/add.png"))); - removeTracker_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); - addURLSeed_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/add.png"))); - removeURLSeed_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); - removeFolder_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); - addFolder_button->setIcon(QIcon(QString::fromUtf8(":/Icons/add_folder.png"))); - addFile_button->setIcon(QIcon(QString::fromUtf8(":/Icons/add_file.png"))); setAttribute(Qt::WA_DeleteOnClose); show(); } -void createtorrent::on_browse_destination_clicked(){ - QString destination = QFileDialog::getSaveFileName(this, tr("Select destination torrent file"), QDir::homePath(), tr("Torrent Files")+QString::fromUtf8(" (*.torrent)")); - if(!destination.isEmpty()){ - if(!destination.endsWith(QString::fromUtf8(".torrent"))) - destination += QString::fromUtf8(".torrent"); - txt_destination->setText(destination); - } -} - void createtorrent::on_addFolder_button_clicked(){ QString dir = QFileDialog::getExistingDirectory(this, tr("Select a folder to add to the torrent"), QDir::homePath(), QFileDialog::ShowDirsOnly); - if(!dir.isEmpty() && input_list->findItems(dir, Qt::MatchCaseSensitive).size() == 0) - input_list->addItem(dir); + if(!dir.isEmpty()) + textInputPath->setText(dir); } void createtorrent::on_addFile_button_clicked(){ - QStringList files = QFileDialog::getOpenFileNames(this, tr("Select files to add to the torrent"), QDir::homePath(), QString(), 0, QFileDialog::ShowDirsOnly); - QString file; - foreach(file, files){ - if(input_list->findItems(file, Qt::MatchCaseSensitive).size() == 0){ - input_list->addItem(file); - } - } + QString file = QFileDialog::getOpenFileName(this, tr("Select a file to add to the torrent"), QDir::homePath(), QString(), 0, QFileDialog::ShowDirsOnly); + if(!file.isEmpty()) + textInputPath->setText(file); } -void createtorrent::on_removeFolder_button_clicked(){ - QModelIndexList selectedIndexes = input_list->selectionModel()->selectedIndexes(); - for(int i=selectedIndexes.size()-1; i>=0; --i){ - QListWidgetItem *item = input_list->takeItem(selectedIndexes.at(i).row()); - delete item; - } -} - -void createtorrent::on_removeTracker_button_clicked(){ +void createtorrent::on_removeTracker_button_clicked() { QModelIndexList selectedIndexes = trackers_list->selectionModel()->selectedIndexes(); for(int i=selectedIndexes.size()-1; i>=0; --i){ QListWidgetItem *item = trackers_list->takeItem(selectedIndexes.at(i).row()); @@ -94,7 +66,28 @@ void createtorrent::on_removeTracker_button_clicked(){ } } -void createtorrent::on_addTracker_button_clicked(){ +int createtorrent::getPieceSize() const { + switch(comboPieceSize->currentIndex()) { + case 0: + return 32*1024; + case 1: + return 64*1024; + case 2: + return 128*1024; + case 3: + return 256*1024; + case 4: + return 512*1024; + case 5: + return 1024*1024; + case 6: + return 2048*1024; + default: + return 256*1024; + } +} + +void createtorrent::on_addTracker_button_clicked() { bool ok; QString URL = QInputDialog::getText(this, tr("Please type an announce URL"), tr("Announce URL:", "Tracker URL"), QLineEdit::Normal, @@ -147,60 +140,68 @@ QStringList createtorrent::allItems(QListWidget *list){ // Main function that create a .torrent file void createtorrent::on_createButton_clicked(){ - QString destination = txt_destination->text(); - if(destination.isEmpty()){ - QMessageBox::critical(0, tr("No destination path set"), tr("Please type a destination path first")); + QString input = textInputPath->text().trimmed(); + if(input.isEmpty()){ + QMessageBox::critical(0, tr("No input path set"), tr("Please type an input path first")); return; } - QStringList input = allItems(input_list); - if(input.size() == 0){ - QMessageBox::critical(0, tr("No input path set"), tr("Please type an input path first")); + QStringList trackers = allItems(trackers_list); + if(!trackers.size()){ + QMessageBox::critical(0, tr("No tracker path set"), tr("Please set at least one tracker")); + return; + } + QString destination = QFileDialog::getSaveFileName(this, tr("Select destination torrent file"), QDir::homePath(), tr("Torrent Files")+QString::fromUtf8(" (*.torrent)")); + if(!destination.isEmpty()) { + if(!destination.endsWith(QString::fromUtf8(".torrent"))) + destination += QString::fromUtf8(".torrent"); + } else { return; } char const* creator_str = "qBittorrent "VERSION; try { - torrent_info t; - QString input_path; - path full_path; + boost::intrusive_ptr t(new torrent_info); ofstream out(complete(path((const char*)destination.toUtf8())), std::ios_base::binary); - foreach(input_path, input){ - full_path = complete(path((const char*)input_path.toUtf8())); - add_files(t, full_path.branch_path(), full_path.leaf()); - } - int piece_size = 256 * 1024; - t.set_piece_size(piece_size); + path full_path; + // Adding files to the torrent + full_path = complete(path(input.toUtf8().data())); + add_files(*t, full_path.branch_path(), full_path.leaf()); + // Set piece size + int piece_size = getPieceSize(); + t->set_piece_size(piece_size); // Add url seeds QStringList urlSeeds = allItems(URLSeeds_list); QString seed; foreach(seed, urlSeeds){ - t.add_url_seed((const char*)seed.toUtf8()); + t->add_url_seed(seed.toUtf8().data()); } - QStringList trackers = allItems(trackers_list); for(int i=0; iadd_tracker(trackers.at(i).toUtf8().data()); } // calculate the hash for all pieces file_pool fp; boost::scoped_ptr st(default_storage_constructor(t, full_path.branch_path(), fp)); - int num = t.num_pieces(); + int num = t->num_pieces(); std::vector buf(piece_size); for (int i = 0; i < num; ++i) { - st->read(&buf[0], i, 0, t.piece_size(i)); - hasher h(&buf[0], t.piece_size(i)); - t.set_hash(i, h.final()); + st->read(&buf[0], i, 0, t->piece_size(i)); + hasher h(&buf[0], t->piece_size(i)); + t->set_hash(i, h.final()); } // Set qBittorrent as creator and add user comment to // torrent_info structure - t.set_creator(creator_str); - t.set_comment((const char*)txt_comment->toPlainText().toUtf8()); + t->set_creator(creator_str); + t->set_comment((const char*)txt_comment->toPlainText().toUtf8()); // Is private ? if(check_private->isChecked()){ - t.set_priv(true); + t->set_priv(true); } // create the torrent and print it to out - entry e = t.create_torrent(); + entry e = t->create_torrent(); libtorrent::bencode(std::ostream_iterator(out), e); + out.flush(); + if(checkStartSeeding->isChecked()) + emit torrent_to_seed(destination); } catch (std::exception& e){ std::cerr << e.what() << "\n"; diff --git a/src/createtorrent_imp.h b/src/createtorrent_imp.h index d29a2f1b7..d8ff04157 100644 --- a/src/createtorrent_imp.h +++ b/src/createtorrent_imp.h @@ -30,13 +30,15 @@ class createtorrent : public QDialog, private Ui::createTorrentDialog{ public: createtorrent(QWidget *parent = 0); QStringList allItems(QListWidget *list); + int getPieceSize() const; + + signals: + void torrent_to_seed(QString path); protected slots: - void on_browse_destination_clicked(); void on_createButton_clicked(); void on_addFile_button_clicked(); void on_addFolder_button_clicked(); - void on_removeFolder_button_clicked(); void on_addTracker_button_clicked(); void on_removeTracker_button_clicked(); void on_addURLSeed_button_clicked(); diff --git a/src/deleteThread.h b/src/deleteThread.h index af7c70c35..37e990082 100644 --- a/src/deleteThread.h +++ b/src/deleteThread.h @@ -28,17 +28,17 @@ #include #include -#include "misc.h" +#include "arborescence.h" class subDeleteThread : public QThread { Q_OBJECT private: QString save_path; - QStringList files_path; + arborescence *arb; bool abort; public: - subDeleteThread(QObject *parent, QString save_path, QStringList files_path) : QThread(parent), save_path(save_path), files_path(files_path), abort(false){} + subDeleteThread(QObject *parent, QString saveDir, arborescence *arb) : QThread(parent), save_path(saveDir), arb(arb), abort(false){} ~subDeleteThread(){ abort = true; @@ -52,10 +52,11 @@ class subDeleteThread : public QThread { protected: void run(){ - if(misc::removeTorrentSavePath(save_path, files_path)) + if(arb->removeFromFS(save_path)) emit deletionSuccessST(this); else emit deletionFailureST(this); + delete arb; } }; @@ -63,7 +64,7 @@ class deleteThread : public QThread { Q_OBJECT private: - QList > torrents_list; + QList > torrents_list; QMutex mutex; QWaitCondition condition; bool abort; @@ -81,9 +82,10 @@ class deleteThread : public QThread { wait(); } - void deleteTorrent(QString save_path, QStringList files_path){ + void deleteTorrent(QString saveDir, arborescence *arb){ + qDebug("deleteThread called"); QMutexLocker locker(&mutex); - torrents_list << QPair(save_path, files_path); + torrents_list << QPair(saveDir, arb); if(!isRunning()){ start(); }else{ @@ -98,7 +100,7 @@ class deleteThread : public QThread { return; mutex.lock(); if(torrents_list.size() != 0){ - QPair torrent = torrents_list.takeFirst(); + QPair torrent = torrents_list.takeFirst(); mutex.unlock(); subDeleteThread *st = new subDeleteThread(0, torrent.first, torrent.second); subThreads << st; diff --git a/src/downloadThread.cpp b/src/downloadThread.cpp new file mode 100644 index 000000000..925006ee7 --- /dev/null +++ b/src/downloadThread.cpp @@ -0,0 +1,174 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#include "downloadThread.h" +#include +#include + +QString subDownloadThread::errorCodeToString(int status) { + switch(status){ + case 1://ost::URLStream::errUnreachable: + return tr("Host is unreachable"); + case 2://ost::URLStream::errMissing: + return tr("File was not found (404)"); + case 3://ost::URLStream::errDenied: + return tr("Connection was denied"); + case 4://ost::URLStream::errInvalid: + return tr("Url is invalid"); + case 5://ost::URLStream::errForbidden: + return tr("Connection forbidden (403)"); + case 6://ost::URLStream::errUnauthorized: + return tr("Connection was not authorized (401)"); + case 7://ost::URLStream::errRelocated: + return tr("Content has moved (301)"); + case 8://ost::URLStream::errFailure: + return tr("Connection failure"); + case 9://ost::URLStream::errTimeout: + return tr("Connection was timed out"); + case 10://ost::URLStream::errInterface: + return tr("Incorrect network interface"); + default: + return tr("Unknown error"); + } +} + +subDownloadThread::subDownloadThread(QObject *parent, QString url) : QThread(parent), url(url), abort(false){ + url_stream = new ost::URLStream(); +} + +subDownloadThread::~subDownloadThread(){ + abort = true; + wait(); + delete url_stream; +} + +void subDownloadThread::run(){ + // XXX: Trick to get a unique filename + QString filePath; + QTemporaryFile *tmpfile = new QTemporaryFile(); + if (tmpfile->open()) { + filePath = tmpfile->fileName(); + } + delete tmpfile; + QFile dest_file(filePath); + if(!dest_file.open(QIODevice::WriteOnly | QIODevice::Text)){ + std::cerr << "Error: could't create temporary file: " << (const char*)filePath.toUtf8() << '\n'; + return; + } + ost::URLStream::Error status = url_stream->get((const char*)url.toUtf8()); + if(status){ + // Failure + QString error_msg = errorCodeToString((int)status); + qDebug("Download failed for %s, reason: %s", (const char*)url.toUtf8(), (const char*)error_msg.toUtf8()); + url_stream->close(); + emit downloadFailureST(this, url, error_msg); + return; + } + qDebug("Downloading %s...", (const char*)url.toUtf8()); + char cbuf[1024]; + int len; + while(!url_stream->eof()) { + url_stream->read(cbuf, sizeof(cbuf)); + len = url_stream->gcount(); + if(len > 0) + dest_file.write(cbuf, len); + if(abort){ + dest_file.close(); + url_stream->close(); + return; + } + } + dest_file.close(); + url_stream->close(); + emit downloadFinishedST(this, url, filePath); + qDebug("download completed here: %s", (const char*)filePath.toUtf8()); +} + +/** Download Thread **/ + +downloadThread::downloadThread(QObject* parent) : QThread(parent), abort(false){} + +downloadThread::~downloadThread(){ + mutex.lock(); + abort = true; + condition.wakeOne(); + mutex.unlock(); + qDeleteAll(subThreads); + wait(); +} + +void downloadThread::downloadUrl(QString url){ + QMutexLocker locker(&mutex); + if(downloading_list.contains(url)) return; + url_list << url; + downloading_list << url; + if(!isRunning()){ + start(); + }else{ + condition.wakeOne(); + } +} + +void downloadThread::run(){ + forever{ + if(abort) + return; + mutex.lock(); + if(url_list.size() != 0){ + QString url = url_list.takeFirst(); + mutex.unlock(); + subDownloadThread *st = new subDownloadThread(0, url); + subThreads << st; + connect(st, SIGNAL(downloadFinishedST(subDownloadThread*, QString, QString)), this, SLOT(propagateDownloadedFile(subDownloadThread*, QString, QString))); + connect(st, SIGNAL(downloadFailureST(subDownloadThread*, QString, QString)), this, SLOT(propagateDownloadFailure(subDownloadThread*, QString, QString))); + st->start(); + }else{ + condition.wait(&mutex); + mutex.unlock(); + } + } +} + +void downloadThread::propagateDownloadedFile(subDownloadThread* st, QString url, QString path){ + int index = subThreads.indexOf(st); + Q_ASSERT(index != -1); + subThreads.removeAt(index); + delete st; + emit downloadFinished(url, path); + mutex.lock(); + index = downloading_list.indexOf(url); + Q_ASSERT(index != -1); + downloading_list.removeAt(index); + mutex.unlock(); +} + +void downloadThread::propagateDownloadFailure(subDownloadThread* st, QString url, QString reason){ + int index = subThreads.indexOf(st); + Q_ASSERT(index != -1); + subThreads.removeAt(index); + delete st; + emit downloadFailure(url, reason); + mutex.lock(); + index = downloading_list.indexOf(url); + Q_ASSERT(index != -1); + downloading_list.removeAt(index); + mutex.unlock(); +} diff --git a/src/downloadThread.h b/src/downloadThread.h index 37e7095a8..baaf36975 100644 --- a/src/downloadThread.h +++ b/src/downloadThread.h @@ -29,55 +29,22 @@ #include #include #include -#include -#include -#ifdef CCXX_NAMESPACES -using namespace std; -using namespace ost; -#endif +namespace ost { + class URLStream; +} class subDownloadThread : public QThread { Q_OBJECT private: QString url; - URLStream url_stream; + ost::URLStream *url_stream; bool abort; public: - subDownloadThread(QObject *parent, QString url) : QThread(parent), url(url), abort(false){} - - ~subDownloadThread(){ - abort = true; - wait(); - } - - static QString errorCodeToString(URLStream::Error status){ - switch(status){ - case URLStream::errUnreachable: - return tr("Host is unreachable"); - case URLStream::errMissing: - return tr("File was not found (404)"); - case URLStream::errDenied: - return tr("Connection was denied"); - case URLStream::errInvalid: - return tr("Url is invalid"); - case URLStream::errForbidden: - return tr("Connection forbidden (403)"); - case URLStream::errUnauthorized: - return tr("Connection was not authorized (401)"); - case URLStream::errRelocated: - return tr("Content has moved (301)"); - case URLStream::errFailure: - return tr("Connection failure"); - case URLStream::errTimeout: - return tr("Connection was timed out"); - case URLStream::errInterface: - return tr("Incorrect network interface"); - default: - return tr("Unknown error"); - } - } + subDownloadThread(QObject *parent, QString url); + ~subDownloadThread(); + QString errorCodeToString(int status); signals: // For subthreads @@ -85,47 +52,7 @@ class subDownloadThread : public QThread { void downloadFailureST(subDownloadThread* st, QString url, QString reason); protected: - void run(){ - // XXX: Trick to get a unique filename - QString filePath; - QTemporaryFile *tmpfile = new QTemporaryFile(); - if (tmpfile->open()) { - filePath = tmpfile->fileName(); - } - delete tmpfile; - QFile dest_file(filePath); - if(!dest_file.open(QIODevice::WriteOnly | QIODevice::Text)){ - std::cerr << "Error: could't create temporary file: " << (const char*)filePath.toUtf8() << '\n'; - return; - } - URLStream::Error status = url_stream.get((const char*)url.toUtf8()); - if(status){ - // Failure - QString error_msg = errorCodeToString(status); - qDebug("Download failed for %s, reason: %s", (const char*)url.toUtf8(), (const char*)error_msg.toUtf8()); - url_stream.close(); - emit downloadFailureST(this, url, error_msg); - return; - } - qDebug("Downloading %s...", (const char*)url.toUtf8()); - char cbuf[1024]; - int len; - while(!url_stream.eof()) { - url_stream.read(cbuf, sizeof(cbuf)); - len = url_stream.gcount(); - if(len > 0) - dest_file.write(cbuf, len); - if(abort){ - dest_file.close(); - url_stream.close(); - return; - } - } - dest_file.close(); - url_stream.close(); - emit downloadFinishedST(this, url, filePath); - qDebug("download completed here: %s", (const char*)filePath.toUtf8()); - } + void run(); }; class downloadThread : public QThread { @@ -144,75 +71,19 @@ class downloadThread : public QThread { void downloadFailure(QString url, QString reason); public: - downloadThread(QObject* parent) : QThread(parent), abort(false){} + downloadThread(QObject* parent); - ~downloadThread(){ - mutex.lock(); - abort = true; - condition.wakeOne(); - mutex.unlock(); - qDeleteAll(subThreads); - wait(); - } + ~downloadThread(); - void downloadUrl(QString url){ - QMutexLocker locker(&mutex); - if(downloading_list.contains(url)) return; - url_list << url; - downloading_list << url; - if(!isRunning()){ - start(); - }else{ - condition.wakeOne(); - } - } + void downloadUrl(QString url); protected: - void run(){ - forever{ - if(abort) - return; - mutex.lock(); - if(url_list.size() != 0){ - QString url = url_list.takeFirst(); - mutex.unlock(); - subDownloadThread *st = new subDownloadThread(0, url); - subThreads << st; - connect(st, SIGNAL(downloadFinishedST(subDownloadThread*, QString, QString)), this, SLOT(propagateDownloadedFile(subDownloadThread*, QString, QString))); - connect(st, SIGNAL(downloadFailureST(subDownloadThread*, QString, QString)), this, SLOT(propagateDownloadFailure(subDownloadThread*, QString, QString))); - st->start(); - }else{ - condition.wait(&mutex); - mutex.unlock(); - } - } - } - protected slots: - void propagateDownloadedFile(subDownloadThread* st, QString url, QString path){ - int index = subThreads.indexOf(st); - Q_ASSERT(index != -1); - subThreads.removeAt(index); - delete st; - emit downloadFinished(url, path); - mutex.lock(); - index = downloading_list.indexOf(url); - Q_ASSERT(index != -1); - downloading_list.removeAt(index); - mutex.unlock(); - } + void run(); - void propagateDownloadFailure(subDownloadThread* st, QString url, QString reason){ - int index = subThreads.indexOf(st); - Q_ASSERT(index != -1); - subThreads.removeAt(index); - delete st; - emit downloadFailure(url, reason); - mutex.lock(); - index = downloading_list.indexOf(url); - Q_ASSERT(index != -1); - downloading_list.removeAt(index); - mutex.unlock(); - } + protected slots: + void propagateDownloadedFile(subDownloadThread* st, QString url, QString path); + + void propagateDownloadFailure(subDownloadThread* st, QString url, QString reason); }; #endif diff --git a/src/downloadingTorrents.cpp b/src/downloadingTorrents.cpp index 14c166795..f1a0c0f22 100644 --- a/src/downloadingTorrents.cpp +++ b/src/downloadingTorrents.cpp @@ -182,7 +182,7 @@ void DownloadingTorrents::deleteTorrent(QString hash) { } // Update Info Bar information -void DownloadingTorrents::setInfoBar(QString info, QString color) { +void DownloadingTorrents::setInfoBar(QString info, QColor color) { static unsigned int nbLines = 0; ++nbLines; // Check log size, clear it if too big @@ -190,7 +190,8 @@ void DownloadingTorrents::setInfoBar(QString info, QString color) { infoBar->clear(); nbLines = 1; } - infoBar->append(QString::fromUtf8("")+ QTime::currentTime().toString(QString::fromUtf8("hh:mm:ss")) + QString::fromUtf8(" - ") + info + QString::fromUtf8("")); + qDebug("Color is %s", color.name().toUtf8().data()); + infoBar->append(QString::fromUtf8("")+ QTime::currentTime().toString(QString::fromUtf8("hh:mm:ss")) + QString::fromUtf8(" - ") + info + QString::fromUtf8("")); } void DownloadingTorrents::addFastResumeRejectedAlert(QString name) { @@ -246,7 +247,7 @@ void DownloadingTorrents::displayDLListMenu(const QPoint& pos) { // Enable/disable pause/start action given the DL state QModelIndexList selectedIndexes = downloadList->selectionModel()->selectedIndexes(); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - QString previewProgram = settings.value(QString::fromUtf8("Options/Misc/PreviewProgram"), QString()).toString(); + QString previewProgram = settings.value(QString::fromUtf8("Preferences/general/MediaPlayer"), QString()).toString(); bool has_pause = false, has_start = false, has_preview = false; foreach(index, selectedIndexes) { if(index.column() == NAME) { @@ -336,7 +337,7 @@ void DownloadingTorrents::displayInfoBarMenu(const QPoint& pos) { QMenu myLogMenu(this); myLogMenu.addAction(actionClearLog); // XXX: Why mapToGlobal() is not enough? - myLogMenu.exec(mapToGlobal(pos)+QPoint(22,383)); + myLogMenu.exec(mapToGlobal(pos)+QPoint(44,305)); } void DownloadingTorrents::sortProgressColumnDelayed() { @@ -372,6 +373,10 @@ void DownloadingTorrents::updateDlList() { Q_ASSERT(row != -1); // No need to update a paused torrent if(h.is_paused()) continue; + if(BTSession->getTorrentsToPauseAfterChecking().indexOf(hash) != -1) { + DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)h.progress())); + continue; + } // Parse download state // Setting download state switch(h.state()) { @@ -384,10 +389,8 @@ void DownloadingTorrents::updateDlList() { continue; case torrent_status::checking_files: case torrent_status::queued_for_checking: - if(BTSession->getTorrentsToPauseAfterChecking().indexOf(hash) == -1) { - DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole); - setRowColor(row, QString::fromUtf8("grey")); - } + DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole); + setRowColor(row, QString::fromUtf8("grey")); DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)h.progress())); break; case torrent_status::connecting_to_tracker: @@ -414,7 +417,7 @@ void DownloadingTorrents::updateDlList() { }else{ DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/stalled.png"))), Qt::DecorationRole); DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1)); - setRowColor(row, QString::fromUtf8("black")); + setRowColor(row, QPalette::WindowText); } DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)h.progress())); DLListModel->setData(DLListModel->index(row, DLSPEED), QVariant((double)h.download_payload_rate())); @@ -661,10 +664,10 @@ void DownloadingTorrents::portListeningFailure() { } // Set the color of a row in data model -void DownloadingTorrents::setRowColor(int row, QString color) { - unsigned int nbColumns = DLListModel->columnCount(); +void DownloadingTorrents::setRowColor(int row, QColor color) { + unsigned int nbColumns = DLListModel->columnCount()-1; for(unsigned int i=0; isetData(DLListModel->index(row, i), QVariant(QColor(color)), Qt::ForegroundRole); + DLListModel->setData(DLListModel->index(row, i), QVariant(color), Qt::ForegroundRole); } } @@ -681,5 +684,5 @@ int DownloadingTorrents::getRowFromHash(QString hash) const{ } void DownloadingTorrents::displayDownloadingUrlInfos(QString url) { - setInfoBar(tr("Downloading '%1', please wait...", "e.g: Downloading 'xxx.torrent', please wait...").arg(url), QString::fromUtf8("black")); + setInfoBar(tr("Downloading '%1', please wait...", "e.g: Downloading 'xxx.torrent', please wait...").arg(url), QPalette::WindowText); } diff --git a/src/downloadingTorrents.h b/src/downloadingTorrents.h index 4533c862e..9db8a23b5 100644 --- a/src/downloadingTorrents.h +++ b/src/downloadingTorrents.h @@ -76,13 +76,13 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{ void torrentDuplicate(QString path); void torrentCorrupted(QString path); void portListeningFailure(); - void setRowColor(int row, QString color); + void setRowColor(int row, QColor color); void displayDownloadingUrlInfos(QString url); void showProperties(const QModelIndex &index); public slots: void updateDlList(); - void setInfoBar(QString info, QString color="black"); + void setInfoBar(QString info, QColor color=QPalette::WindowText); void pauseTorrent(QString hash); void resumeTorrent(QString hash); void updateRatio(); diff --git a/src/engineSelect.ui b/src/engineSelect.ui new file mode 100644 index 000000000..4df6732c3 --- /dev/null +++ b/src/engineSelect.ui @@ -0,0 +1,125 @@ + + engineSelect + + + + 0 + 0 + 541 + 254 + + + + true + + + Search plugins + + + + + + + 75 + true + true + + + + Installed search engines: + + + + + + + Qt::CustomContextMenu + + + QAbstractItemView::ExtendedSelection + + + true + + + false + + + + Name + + + + + Url + + + + + Enabled + + + + + + + + + + + + + + true + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + + + + + Install a new one + + + + + + + Check for updates + + + + + + + Close + + + + + + + + + Enable + + + + + Disable + + + + + Uninstall + + + + + + diff --git a/src/engineSelectDlg.cpp b/src/engineSelectDlg.cpp new file mode 100644 index 000000000..cbe57c1ac --- /dev/null +++ b/src/engineSelectDlg.cpp @@ -0,0 +1,697 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#include "engineSelectDlg.h" +#include "downloadThread.h" +#include "misc.h" +#include "pluginSource.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_MAGICK + #include + using namespace Magick; +#endif + +#ifdef HAVE_ZZIP + #include +#endif + +#define ENGINE_NAME 0 +#define ENGINE_URL 1 +#define ENGINE_STATE 2 +#define ENGINE_ID 3 + +engineSelectDlg::engineSelectDlg(QWidget *parent) : QDialog(parent) { + setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + pluginsTree->header()->resizeSection(0, 170); + pluginsTree->header()->resizeSection(1, 220); + pluginsTree->hideColumn(ENGINE_ID); + actionEnable->setIcon(QIcon(QString::fromUtf8(":/Icons/button_ok.png"))); + actionDisable->setIcon(QIcon(QString::fromUtf8(":/Icons/button_cancel.png"))); + actionUninstall->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); + connect(actionEnable, SIGNAL(triggered()), this, SLOT(enableSelection())); + connect(actionDisable, SIGNAL(triggered()), this, SLOT(disableSelection())); + connect(pluginsTree, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayContextMenu(const QPoint&))); + downloader = new downloadThread(this); + connect(downloader, SIGNAL(downloadFinished(QString, QString)), this, SLOT(processDownloadedFile(QString, QString))); + connect(downloader, SIGNAL(downloadFailure(QString, QString)), this, SLOT(handleDownloadFailure(QString, QString))); + loadSupportedSearchEngines(true); + connect(pluginsTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), this, SLOT(toggleEngineState(QTreeWidgetItem*, int))); + show(); +} + +engineSelectDlg::~engineSelectDlg() { + qDebug("Destroying engineSelectDlg"); + saveSettings(); + emit enginesChanged(); + qDebug("Before deleting downloader"); + delete downloader; + qDebug("Engine plugins dialog destroyed"); +} + +void engineSelectDlg::dropEvent(QDropEvent *event) { + event->acceptProposedAction(); + QStringList files=event->mimeData()->text().split(QString::fromUtf8("\n")); + QString file; + foreach(file, files) { + qDebug("dropped %s", file.toUtf8().data()); + file = file.replace("file://", ""); + if(file.startsWith("http://", Qt::CaseInsensitive) || file.startsWith("https://", Qt::CaseInsensitive) || file.startsWith("ftp://", Qt::CaseInsensitive)) { + downloader->downloadUrl(file); + continue; + } + if(file.endsWith(".py", Qt::CaseInsensitive)) { + QString plugin_name = file.split(QDir::separator()).last(); + plugin_name.replace(".py", ""); + installPlugin(file, plugin_name); + } +#ifdef HAVE_ZZIP + if(file.endsWith(".zip", Qt::CaseInsensitive)) { + installZipPlugin(file); + } +#endif + } +} + +// Decode if we accept drag 'n drop or not +void engineSelectDlg::dragEnterEvent(QDragEnterEvent *event) { + QString mime; + foreach(mime, event->mimeData()->formats()){ + qDebug("mimeData: %s", mime.toUtf8().data()); + } + if (event->mimeData()->hasFormat(QString::fromUtf8("text/plain")) || event->mimeData()->hasFormat(QString::fromUtf8("text/uri-list"))) { + event->acceptProposedAction(); + } +} + +void engineSelectDlg::saveSettings() { + qDebug("Saving engines settings"); + QStringList known_engines; + QVariantList known_enginesEnabled; + QString engine; + foreach(engine, installed_engines.keys()) { + known_engines << engine; + known_enginesEnabled << QVariant(installed_engines.value(engine, true)); + qDebug("Engine %s has state: %d", engine.toUtf8().data(), installed_engines.value(engine, true)); + } + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + settings.setValue(QString::fromUtf8("SearchEngines/knownEngines"), known_engines); + settings.setValue(QString::fromUtf8("SearchEngines/knownEnginesEnabled"), known_enginesEnabled); +} + +void engineSelectDlg::on_updateButton_clicked() { + // Download version file from primary server + downloader->downloadUrl("http://www.dchris.eu/search_engine/versions.txt"); +} + +void engineSelectDlg::toggleEngineState(QTreeWidgetItem *item, int) { + int index = pluginsTree->indexOfTopLevelItem(item); + QString id = item->text(ENGINE_ID); + bool new_val = !installed_engines.value(id, true); + installed_engines[id] = new_val; + QString enabledTxt; + if(new_val){ + enabledTxt = tr("True"); + setRowColor(index, "green"); + }else{ + enabledTxt = tr("False"); + setRowColor(index, "red"); + } + item->setText(ENGINE_STATE, enabledTxt); +} + +void engineSelectDlg::displayContextMenu(const QPoint& pos) { + QMenu myContextMenu(this); + QModelIndex index; + // Enable/disable pause/start action given the DL state + QList items = pluginsTree->selectedItems(); + bool has_enable = false, has_disable = false; + QTreeWidgetItem *item; + foreach(item, items) { + QString id = item->text(ENGINE_ID); + if(installed_engines.value(id, true) and !has_disable) { + myContextMenu.addAction(actionDisable); + has_disable = true; + } + if(!installed_engines.value(id, true) and !has_enable) { + myContextMenu.addAction(actionEnable); + has_enable = true; + } + if(has_enable && has_disable) break; + } + myContextMenu.addSeparator(); + myContextMenu.addAction(actionUninstall); + myContextMenu.exec(mapToGlobal(pos)+QPoint(12, 58)); +} + +void engineSelectDlg::on_closeButton_clicked() { + close(); +} + +void engineSelectDlg::on_actionUninstall_triggered() { + QList items = pluginsTree->selectedItems(); + QTreeWidgetItem *item; + bool change = false; + bool error = false; + foreach(item, items) { + int index = pluginsTree->indexOfTopLevelItem(item); + Q_ASSERT(index != -1); + QString id = item->text(ENGINE_ID); + if(QFile::exists(":/search_engine/engines/"+id+".py")) { + error = true; + // Disable it instead + installed_engines.insert(id, false); + item->setText(ENGINE_STATE, tr("False")); + setRowColor(index, "red"); + continue; + }else { + // Proceed with uninstall + // remove it from hard drive + QDir enginesFolder(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"); + QStringList filters; + filters << id+".*"; + QStringList files = enginesFolder.entryList(filters, QDir::Files, QDir::Unsorted); + QString file; + foreach(file, files) { + enginesFolder.remove(file); + } + // Remove it from lists + installed_engines.remove(id); + delete item; + change = true; + } + } + if(error) + QMessageBox::warning(0, tr("Uninstall warning"), tr("Some plugins could not be uninstalled because they are included in qBittorrent.\n Only the ones you added yourself can be uninstalled.\nHowever, those plugins were disabled.")); + else + QMessageBox::information(0, tr("Uninstall success"), tr("All selected plugins were uninstalled successfully")); +} + +void engineSelectDlg::enableSelection() { + QList items = pluginsTree->selectedItems(); + QTreeWidgetItem *item; + foreach(item, items) { + int index = pluginsTree->indexOfTopLevelItem(item); + Q_ASSERT(index != -1); + QString id = item->text(ENGINE_ID); + installed_engines.insert(id, true); + item->setText(ENGINE_STATE, tr("True")); + setRowColor(index, "green"); + } +} + +void engineSelectDlg::disableSelection() { + QList items = pluginsTree->selectedItems(); + QTreeWidgetItem *item; + foreach(item, items) { + int index = pluginsTree->indexOfTopLevelItem(item); + Q_ASSERT(index != -1); + QString id = item->text(ENGINE_ID); + installed_engines.insert(id, false); + item->setText(ENGINE_STATE, tr("False")); + setRowColor(index, "red"); + } +} + +// Set the color of a row in data model +void engineSelectDlg::setRowColor(int row, QString color){ + QTreeWidgetItem *item = pluginsTree->topLevelItem(row); + for(int i=0; icolumnCount()-1; ++i){ + item->setData(i, Qt::ForegroundRole, QVariant(QColor(color))); + } +} + +bool engineSelectDlg::checkInstalled(QString plugin_name) const { + QProcess nova; + QStringList params; + params << "--supported_engines"; + nova.start(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"nova2.py", params, QIODevice::ReadOnly); + nova.waitForStarted(); + nova.waitForFinished(); + QByteArray result = nova.readAll(); + result = result.replace("\n", ""); + QList plugins_list = result.split(','); + return plugins_list.contains(plugin_name.toUtf8()); +} + +void engineSelectDlg::loadSupportedSearchEngines(bool first) { + // Some clean up first + pluginsTree->clear(); + QHash old_engines; + if(first) { + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + QStringList known_engines = settings.value(QString::fromUtf8("SearchEngines/knownEngines"), QStringList()).toStringList(); + QVariantList enabled = settings.value(QString::fromUtf8("SearchEngines/knownEnginesEnabled"), QList()).toList(); + Q_ASSERT(known_engines.size() == enabled.size()); + unsigned int nbKnownEngines = known_engines.size(); + for(unsigned int i=0; isetData(ENGINE_NAME, Qt::DecorationRole, QVariant(QIcon(iconPath))); + } else { + // Icon is missing, we must download it + downloader->downloadUrl(line.at(1)+"/favicon.ico"); + } + if(installed_engines.value(id, true)) + setRowColor(i, "green"); + else + setRowColor(i, "red"); + ++i; + } +} + +QList engineSelectDlg::findItemsWithUrl(QString url){ + QList res; + for(int i=0; itopLevelItemCount(); ++i) { + QTreeWidgetItem *item = pluginsTree->topLevelItem(i); + if(url.startsWith(item->text(ENGINE_URL), Qt::CaseInsensitive)) + res << item; + } + return res; +} + +QTreeWidgetItem* engineSelectDlg::findItemWithID(QString id){ + QList res; + for(int i=0; itopLevelItemCount(); ++i) { + QTreeWidgetItem *item = pluginsTree->topLevelItem(i); + if(id == item->text(ENGINE_ID)) + return item; + } + return 0; +} + +bool engineSelectDlg::isUpdateNeeded(QString plugin_name, float new_version) const { + float old_version = misc::getPluginVersion(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator()+plugin_name+".py"); + qDebug("IsUpdate needed? tobeinstalled: %.2f, alreadyinstalled: %.2f", new_version, old_version); + return (new_version > old_version); +} + +#ifdef HAVE_ZZIP +void engineSelectDlg::installZipPlugin(QString path) { + QStringList plugins; + QStringList favicons; + ZZIP_DIR* dir = zzip_dir_open(path.toUtf8().data(), 0); + if(!dir) { + QMessageBox::warning(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("Search engine plugin archive could not be read.")); + return; + } + ZZIP_DIRENT dirent; + while(zzip_dir_read(dir, &dirent)) { + /* show info for first file */ + QString name(dirent.d_name); + if(name.endsWith(".py", Qt::CaseInsensitive)) { + plugins << name; + } else { + if(name.endsWith(".png", Qt::CaseInsensitive)) { + favicons << name; + } + } + } + QString plugin; + std::cout << dirent.d_name << std::endl; + ZZIP_FILE* fp = zzip_file_open(dir, dirent.d_name, 0); + if (fp) { + char buf[10]; + zzip_ssize_t len = zzip_file_read(fp, buf, 10); + if (len) { + /* show head of README */ + std::cout << buf; + } + zzip_file_close(fp); + std::cout << std::endl; + } + foreach(plugin, plugins) { + QString plugin_name = plugin.split(QDir::separator()).last(); + plugin_name.chop(3); // Remove .py extension + qDebug("Detected plugin %s in archive", plugin_name.toUtf8().data()); + ZZIP_FILE* fp = zzip_file_open(dir, plugin.toUtf8().data(), 0); + if(fp) { + QTemporaryFile *tmpfile = new QTemporaryFile(); + QString tmpPath; + // Write file + if(tmpfile->open()) { + tmpPath = tmpfile->fileName(); + char buf[255]; + zzip_ssize_t len = zzip_file_read(fp, buf, 255); + while(len) { + tmpfile->write(buf, len); + len = zzip_file_read(fp, buf, 255); + } + zzip_file_close(fp); + tmpfile->close(); + } else { + qDebug("Could not open tmp file"); + QMessageBox::warning(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin could not be installed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + delete tmpfile; + continue; + } + // Install plugin + installPlugin(tmpPath, plugin_name); + qDebug("installPlugin() finished"); + delete tmpfile; + qDebug("Deleted tmpfile"); + } else { + qDebug("Cannot read file in archive"); + QMessageBox::warning(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin could not be installed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + } + } + QString favicon; + foreach(favicon, favicons) { + qDebug("Detected favicon %s in archive", favicon.toUtf8().data()); + // Ok we have a favicon here + QString plugin_name = favicon.split(QDir::separator()).last(); + plugin_name.chop(4); // Remove .png extension + if(!QFile::exists(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator()+plugin_name+".py")) + continue; + // Check if we already have a favicon for this plugin + QString iconPath = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator()+plugin_name+".png"; + if(QFile::exists(iconPath)) continue; + ZZIP_FILE* fp = zzip_file_open(dir, favicon.toUtf8().data(), 0); + if(fp) { + QFile dest_icon(iconPath); + // Write icon + if(dest_icon.open(QIODevice::WriteOnly | QIODevice::Text)) { + char buf[255]; + zzip_ssize_t len = zzip_file_read(fp, buf, 255); + while(len) { + dest_icon.write(buf, len); + len = zzip_file_read(fp, buf, 255); + } + zzip_file_close(fp); + dest_icon.close(); + // Update icon in list + QTreeWidgetItem *item = findItemWithID(plugin_name); + Q_ASSERT(item); + item->setData(ENGINE_NAME, Qt::DecorationRole, QVariant(QIcon(iconPath))); + } + } + } + zzip_dir_close(dir); +} +#endif + +void engineSelectDlg::installPlugin(QString path, QString plugin_name) { + qDebug("Asked to install plugin at %s", path.toUtf8().data()); + float new_version = misc::getPluginVersion(path); + qDebug("Version to be installed: %.2f", new_version); + if(!isUpdateNeeded(plugin_name, new_version)) { + qDebug("Apparently update it not needed, we have a more recent version"); + QMessageBox::information(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("A more recent version of %1 search engine plugin is already installed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + return; + } + // Process with install + QString dest_path = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator()+plugin_name+".py"; + bool update = false; + if(QFile::exists(dest_path)) { + // Backup in case install fails + QFile::copy(dest_path, dest_path+".bak"); + QFile::remove(dest_path); + update = true; + } + // Copy the plugin + QFile::copy(path, dest_path); + // Check if this was correctly installed + if(!checkInstalled(plugin_name)) { + if(update) { + // Remove broken file + QFile::remove(dest_path); + // restore backup + QFile::copy(dest_path+".bak", dest_path); + QFile::remove(dest_path+".bak"); + QMessageBox::warning(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin could not be updated, keeping old version.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + return; + } else { + // Remove broken file + QFile::remove(dest_path); + QMessageBox::warning(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin could not be installed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + return; + } + } + // Install was successful, remove backup + if(update) { + QFile::remove(dest_path+".bak"); + } + // Refresh plugin list + loadSupportedSearchEngines(); + if(update) { + QMessageBox::information(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin was successfully updated.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + return; + } else { + QMessageBox::information(this, tr("Search plugin install")+" -- "+tr("qBittorrent"), tr("%1 search engine plugin was successfully installed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + return; + } +} + +void engineSelectDlg::on_installButton_clicked() { + pluginSourceDlg *dlg = new pluginSourceDlg(this); + connect(dlg, SIGNAL(askForLocalFile()), this, SLOT(askForLocalPlugin())); + connect(dlg, SIGNAL(askForUrl()), this, SLOT(askForPluginUrl())); +} + +void engineSelectDlg::askForPluginUrl() { + bool ok; + QString url = QInputDialog::getText(this, tr("New search engine plugin URL"), + tr("URL:"), QLineEdit::Normal, + "http://", &ok); + if (ok && !url.isEmpty()) + downloader->downloadUrl(url); +} + +void engineSelectDlg::askForLocalPlugin() { + QStringList pathsList = QFileDialog::getOpenFileNames(0, + tr("Select search plugins"), QDir::homePath(), +#ifdef HAVE_ZZIP + tr("qBittorrent search plugins")+QString::fromUtf8(" (*.py *.zip)")); +#else + tr("qBittorrent search plugins")+QString::fromUtf8(" (*.py)")); +#endif + QString path; + foreach(path, pathsList) { + if(path.endsWith(".py", Qt::CaseInsensitive)) { + QString plugin_name = path.split(QDir::separator()).last(); + plugin_name.replace(".py", "", Qt::CaseInsensitive); + installPlugin(path, plugin_name); + } +#ifdef HAVE_ZZIP + else { + if(path.endsWith(".zip", Qt::CaseInsensitive)) { + installZipPlugin(path); + } + } +#endif + } +} + +bool engineSelectDlg::parseVersionsFile(QString versions_file, QString updateServer) { + qDebug("Checking if update is needed"); + bool file_correct = false; + QFile versions(versions_file); + if(!versions.open(QIODevice::ReadOnly | QIODevice::Text)){ + qDebug("* Error: Could not read versions.txt file"); + return false; + } + bool updated = false; + while(!versions.atEnd()) { + QByteArray line = versions.readLine(); + line.replace("\n", ""); + line = line.trimmed(); + if(line.isEmpty()) continue; + if(line.startsWith("#")) continue; + QList list = line.split(' '); + if(list.size() != 2) continue; + QString plugin_name = QString(list.first()); + if(!plugin_name.endsWith(":")) continue; + plugin_name.chop(1); // remove trailing ':' + bool ok; + float version = list.last().toFloat(&ok); + qDebug("read line %s: %.2f", plugin_name.toUtf8().data(), version); + if(!ok) continue; + file_correct = true; + if(isUpdateNeeded(plugin_name, version)) { + qDebug("Plugin: %s is outdated", plugin_name.toUtf8().data()); + // Downloading update + downloader->downloadUrl(updateServer+plugin_name+".pyqBT"); // Actually this is really a .py + downloader->downloadUrl(updateServer+plugin_name+".png"); + updated = true; + }else { + qDebug("Plugin: %s is up to date", plugin_name.toUtf8().data()); + } + } + // Close file + versions.close(); + // Clean up tmp file + QFile::remove(versions_file); + if(file_correct && !updated) { + QMessageBox::information(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("All your plugins are already up to date.")); + } + return file_correct; +} + +void engineSelectDlg::processDownloadedFile(QString url, QString filePath) { + qDebug("engineSelectDlg received %s", url.toUtf8().data()); + if(url.endsWith("favicon.ico", Qt::CaseInsensitive)){ + // Icon downloaded + QImage fileIcon; +#ifdef HAVE_MAGICK + try{ + QFile::copy(filePath, filePath+".ico"); + Image image(QDir::cleanPath(filePath+".ico").toUtf8().data()); + // Convert to PNG since we can't read ICO format + image.magick("PNG"); + // Resize to 16x16px + image.sample(Geometry(16, 16)); + image.write(filePath.toUtf8().data()); + QFile::remove(filePath+".ico"); + }catch(Magick::Exception &error_){ + qDebug("favicon conversion to PNG failure: %s", error_.what()); + } +#endif + if(fileIcon.load(filePath)) { + QList items = findItemsWithUrl(url); + QTreeWidgetItem *item; + foreach(item, items){ + QString id = item->text(ENGINE_ID); + QString iconPath = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator()+id+".png"; + QFile::copy(filePath, iconPath); + item->setData(ENGINE_NAME, Qt::DecorationRole, QVariant(QIcon(iconPath))); + } + } + // Delete tmp file + QFile::remove(filePath); + return; + } + if(url == "http://www.dchris.eu/search_engine/versions.txt") { + if(!parseVersionsFile(filePath, "http://www.dchris.eu/search_engine/")) { + qDebug("Primary update server failed, try secondary"); + downloader->downloadUrl("http://hydr0g3n.free.fr/search_engine/versions.txt"); + } + QFile::remove(filePath); + return; + } + if(url == "http://hydr0g3n.free.fr/search_engine/versions.txt") { + if(!parseVersionsFile(filePath, "http://hydr0g3n.free.fr/search_engine/")) { + QMessageBox::warning(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("Sorry, update server is temporarily unavailable.")); + } + QFile::remove(filePath); + return; + } + if(url.endsWith(".pyqBT", Qt::CaseInsensitive) || url.endsWith(".py", Qt::CaseInsensitive)) { + QString plugin_name = url.split('/').last(); + plugin_name.replace(".pyqBT", ""); + plugin_name.replace(".py", ""); + installPlugin(filePath, plugin_name); + QFile::remove(filePath); + return; + } +#ifdef HAVE_ZZIP + if(url.endsWith(".zip", Qt::CaseInsensitive)) { + installZipPlugin(filePath); + QFile::remove(filePath); + return; + } +#endif +} + +void engineSelectDlg::handleDownloadFailure(QString url, QString reason) { + if(url.endsWith("favicon.ico", Qt::CaseInsensitive)){ + qDebug("Could not download favicon: %s, reason: %s", url.toUtf8().data(), reason.toUtf8().data()); + return; + } + if(url == "http://www.dchris.eu/search_engine/versions.txt") { + // Primary update server failed, try secondary + qDebug("Primary update server failed, try secondary"); + downloader->downloadUrl("http://hydr0g3n.free.fr/search_engine/versions.txt"); + return; + } + if(url == "http://hydr0g3n.free.fr/search_engine/versions.txt") { + QMessageBox::warning(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("Sorry, update server is temporarily unavailable.")); + return; + } + if(url.endsWith(".pyqBT", Qt::CaseInsensitive) || url.endsWith(".py", Qt::CaseInsensitive)) { + // a plugin update download has been failed + QString plugin_name = url.split('/').last(); + plugin_name.replace(".pyqBT", "", Qt::CaseInsensitive); + plugin_name.replace(".py", "", Qt::CaseInsensitive); + QMessageBox::warning(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("Sorry, %1 search plugin install failed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + } +#ifdef HAVE_ZZIP + if(url.endsWith(".zip", Qt::CaseInsensitive)) { + QString plugin_name = url.split('/').last(); + plugin_name.replace(".zip", "", Qt::CaseInsensitive); + QMessageBox::warning(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), tr("Sorry, %1 search plugin install failed.", "%1 is the name of the search engine").arg(plugin_name.toUtf8().data())); + } +#endif +} diff --git a/src/engineSelectDlg.h b/src/engineSelectDlg.h new file mode 100644 index 000000000..97f19ddf0 --- /dev/null +++ b/src/engineSelectDlg.h @@ -0,0 +1,76 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#ifndef ENGINE_SELECT_DLG_H +#define ENGINE_SELECT_DLG_H + +#include "ui_engineSelect.h" + +class downloadThread; +class QDropEvent; + +class engineSelectDlg : public QDialog, public Ui::engineSelect{ + Q_OBJECT + + private: + // Search related + QHash installed_engines; + downloadThread *downloader; + + public: + engineSelectDlg(QWidget *parent); + ~engineSelectDlg(); + QList findItemsWithUrl(QString url); + QTreeWidgetItem* findItemWithID(QString id); + + protected: + bool parseVersionsFile(QString versions_file, QString updateServer); + bool isUpdateNeeded(QString plugin_name, float new_version) const; + bool checkInstalled(QString plugin_name) const; + + signals: + void enginesChanged(); + + protected slots: + void saveSettings(); + void on_closeButton_clicked(); + void loadSupportedSearchEngines(bool first=false); + void toggleEngineState(QTreeWidgetItem*, int); + void setRowColor(int row, QString color); + void processDownloadedFile(QString url, QString filePath); + void handleDownloadFailure(QString url, QString reason); + void displayContextMenu(const QPoint& pos); + void enableSelection(); + void disableSelection(); + void on_actionUninstall_triggered(); + void on_updateButton_clicked(); + void on_installButton_clicked(); + void dropEvent(QDropEvent *event); + void dragEnterEvent(QDragEnterEvent *event); + void installPlugin(QString plugin_path, QString plugin_name); + void askForLocalPlugin(); + void askForPluginUrl(); +#ifdef HAVE_ZZIP + void installZipPlugin(QString path); +#endif +}; + +#endif diff --git a/src/icons.qrc b/src/icons.qrc index 03328b5cf..0616a8ca8 100644 --- a/src/icons.qrc +++ b/src/icons.qrc @@ -12,7 +12,7 @@ Icons/downarrow.png Icons/description.png Icons/qbittorrent16.png - Icons/exec.png + Icons/file.png Icons/systemtray.png Icons/unhappy.png Icons/filter.png @@ -24,7 +24,7 @@ Icons/style.png Icons/wizard.png Icons/password.png - Icons/rss.png + Icons/gear.png Icons/sphere2.png Icons/smile.png Icons/loading.png @@ -36,6 +36,18 @@ Icons/add_file.png Icons/home.png Icons/splash.png + Icons/rss32.png + Icons/rss16.png + Icons/unsubscribe.png + Icons/subscribe.png + Icons/unsubscribe16.png + Icons/subscribe16.png + Icons/bt_settings.png + Icons/star.png + Icons/configure.png + Icons/download.png + Icons/folder.png + Icons/edit_clear.png Icons/flags/portugal.png Icons/flags/france.png Icons/flags/ukraine.png @@ -46,7 +58,6 @@ Icons/flags/slovakia.png Icons/flags/spain.png Icons/flags/finland.png - Icons/flags/china_hong_kong.png Icons/flags/spain_catalunya.png Icons/flags/poland.png Icons/flags/hungary.png diff --git a/src/lang/qbittorrent_bg.qm b/src/lang/qbittorrent_bg.qm index ef2f87105bb3b016f3bb62e8efa89e5f0009e94c..8f0562f3ec97212abfc26903036c94ef0327cefe 100644 GIT binary patch literal 53740 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 delta 10407 zcmbuE30zd=+Q6TgIWxoTYzoMBa$`VtWJi!yML-Z2#54zHgfW=GSx|5p6;xDQ@^vY_ znwlD^X-R2inwn-=QjZqE<|1ca1~#{!2^IYq&O6yd?GRn$sJb# zOl(2ogDSb>Eg*jFb>vaX8v-Q^NIpY>Br(8TWRMlWyuSvy7?|(gL++$JPx&v9Cf^5O z0>C95PH>P1(vgYCS(MLEz9&#B0qKN%)ItnMryoOBf^@qSxs37zB~HwpmxWPIqHF`{ z-f4LLB*@>qhx{H?&!X1kIu}G7L5bz_AmY*>TIu>~wA_GxEk3Nu)_%`xcNcC?; z{s#H)>;O=tK|$-c$R#jh!zttol(%4H(oFzmU*xCA1mtJPQsgaUJroW>Z7P>jx{g5U zCL^Bs7Rs(y1E@kM%P3nY_fozuP>mLvf&!`s!MK*?$nh}l+)1PhCbX|d?x4Ix`2Z%G zn*lTtFmb~#$Z=3HVlmoZvj8fVqy04}D8Gfuj&;)F&H_*1~ zV*p(~Y}~*gH$&%coKSZRUVaxJ6w<4#A*thS2 z3%oi-=~leZ>r+utI695DQB<+}8RS7x#qnSOA6B&P{r8bYqV@elkn2THubzcGD>^jV z7r-};avJ3t(P3Q)o_|$zdX5i3pG47xtJz4W=+4vQkcY*6^_2j9bsSwdm?n<+wE_8} zIO~lF06(#~(t;EFt)jdlZdh;(z~4vQs2`8a6wgwjv-&qu?iVjIV8rcX#e7tK@UN1GzdQ^O5+gBZ z;X*>}63baR@{D9*Gx|hmnq*Nk=73PAq+N{93EeJP?P4%luzJaAp5rJNNY;3xr0j0V z+Xe9e50y$ThqoeEO73JYMP8HKS^6VD|5(X)p zEWnBND(0PKFCgQY_gYa^`f}zUF-l}B^Zkiv-*JM- za;fXFsmNAo%K{VfO=&xq86)pVH@7_w5GALKp`1v$l=5ZiKFKn??zZ&cag3tqFv>>C zH>5B60Ai;~uaA=;H_Ch$XCgn5^((=!jGIXL3gy=VO!*Q1dgvbF{2q{*JLorgb0j+E{G@-lLr?1f)Y z#mR5TP9L2CkTOBW+cagF?DCC%czjTH^+qJ}rtHQ76f8AZb~_HQPn}4)Qg*Lq5ypS& z3As1{oiNQ`-gkT^i3{5df}##1hmA6%!~uc6f~LT!p+QFhAa-#C7nW0QsMLjMZQxQQ+k< z_BFIwL9$16UyfBC%>e_DE0OrXf)_mIBs-Abc+7Q#Vl#2kqh-Ul03*vhHu!ErzV5Lh zq#a-s<8k0nCo<3DrGxj7tsX}fVd@>V*W+mWo5&j;CvG+)?|ZmT=b)+zGd$jY{WIhy zkH4RqfxPDN!;vQB1CP6pqr{{06_QZ&k6d8F%040MIIsMGYDwksHe!QXN1I479>j1_` z6jSPy$U?=GS%pZ4V(PN1$d@R86IeQoat`Goh4T)Eap`Z0*^BW(WlqJs3|wK^9>s!< z^~f(2OVg(UjBQrzzxg)ursBxH*Rh7X!W7>!*KshJavSC6iXV-G0LJMRzwN-4jXSTn ze-)i;e6UhdcOUt0rS|S@fC<4${h4Uw7G?7N{@AWPtgQGzioC6?{0tXRQJ^$t_#$n} zn)?CBodPE<`M{6zVWcTNLLEmXl% zt;nZTl4p-0zf&oiOc?)YICMw1x&stR|Z z4GsCKA~6bT=ulNQV%ar(tKv;pm8P0gf`U{zRlF&x4y#<@C}7p^s@7EOAF4A|OFTcu z_^+O;TDpBLfN8aAJ$5Z%I-%PAX)eHYPu0FFxZ>$kR4?B_Z=T+vI=E><{L*UVYIQ*g-uNh}N38t`nXWEVPC-slkDY)kd~_S-HTAR`-vZQW z)iZn&kPFqb1ET@zJ=CqO7m)4hw)z$T%PMu-1AMUML-o3>egM`*>W$v}kk`~tm?Hoh zeAPQ#kuTt2q4DlNe53{8t-Cvvl9MX&;SPt!gUqpfMGX0O_T z-00F=_!(E$bW(Hm&Oeb~YTgZ<570bG^PV@B+veSxdrMHIbB1cY+Hj?F&T2zK_XEsT zYvZ`oJvUpMq{ju!8=x%@LZ_U!OFRBV2=bb?(mE7i{$y=aK6Xg+pVT&efu?d5Xxo;Y zM_RP)7i>t^cI`UZJRH2M-Q-{Z7Jzn>a|Xb|1ntv>IKjeo+UMI_ajWO0?c6&R*{XeU zE%tbee$<|O@H;@uQ`*~C&?#HaYJaT5-&;X@Hvu)&ny3Bs()-9-?eB?b`_`S>2PV9} z^=F+9bgHg<88HMf^JC2Bs|`uOMUz&Uua1JD+zb5%S*w&|Wejv8qDT(|!cs(4we?g;Y?!17?-TQM_{mAZ3ZMIxWk zz1M*zUH*ygy;sm=D`IrFYkvYgteDRaV8tHFcXVH_!UC0r)4wkJw=)m&5vyK(BgY^y*7Kd()dN@fu6^c=?mIl>y{EuN}+-{3A=evxLE2 z?+h}@C*M~FgBf2YwtFUK@FWvixXq7j^(hyw{M{!|7!39uBn&2X4cdMCWBVD*#4;oB zlio`prr2P%$T{iq%!WE^4SB}*BjVlS(|M}TIuU8}ix6h|-Y-Ow!-SHcb!4f4%TjHG_ef^M{Uo8h~0mysEBMklSm$m@1ut3 z?z@JpeKS~VHyLczwXDffW44&0$&EMr60d+FL6*vXON7DX!1jkYWp&>w&8~9{iQ^t3 z88Lp8NWyC}C@A1Bu1fgBRWpJXkn-RtVd7Q6%Y?z85W4;;Ap_`7A#;R5KrHmMp~hr)TNPO!R-$z? zKmjS=^-uubQT?dNR)_bn7L#L^)%GYG!{&_~M_juG3)1WKdY9Xs(ZyDWc{*!%G}W0{ zy^%Uj8Tt-?#%f{5Tg~|& z%TCTCYhok$gU(B_@gm`LT6`AipD>mjPZ-&mFti^%Ta%bXE+$gP&PmGen&L%aFfb*7 zJeiu8F_`gWaxt1yFtTHKw;GDhAw+pPj#4>ygtTr)@yT`?&DNL+W~0eUwodaWfoXg5 z+*ag;250rXe8Jsl7^Hbj5V~PHGlq9v&fVjgOmcH{A4Lwzk%ec6kr@9#5}KYQ2wR`7 z7Y5IE4Zcb5FP!-~V|RqxWFtR3_&1&NkN~dR5u83S2PV;PX z_L}5@j6cQ+7a{vfxWiv-!7X}kX zO;mWpC@4kA29l2retre!I)};jrwPe~LYl2s7tR&#EgqfG&rLo3%T0BrY6m;rjA2Sb z_C%5P(Vq^<>z&Z>G1+_)is!#Mg>cCP6AX@W$+`Lc9_n7;KtAWOsE|g~iOn?AX||c{ ztbu%(984@l#U!+Ns36I*VwwU9OQ=&8masihcc&ywxNhJWI(THveBsQnvf;vDWm&K= zI6U^(&d_mDBFPTMmwYrcJUIgmmc$!yC@&?ZPn4BQb;IyG9+PBb&njp#OlML^Sy*2e zWPuWtQ~?>x80rIpCt%5B5+DjEO#@~3s`K1^tlD5T;7OSMY=kLhD86_}7JHZkzayFxXeIv}?eUWs@}I zO68K&fqY%(k~~+6QmK6eu@kW}r*LPwMOGJCs||JLX3U2quF#jPn;b^2hk22T$>HS4 zw5ar&mZQxR`IS z+8k-*+SFKL&Qy2ani?)D<|0D4Ck^iz#^j+?37BuV-k|`;Jq3u*8r4?IbaRdKFOoLr z!{mo)aiT&}bt*hB3q2F#4Ta@=l9MMLXXSbvt^oG#MFy7EnGALl>u72)u?E&?vOCNc zz9^7aPxU7|46%Y{zckR^DXNMVg>_XQ3O^MXuM?l?AO0b4m;a{<$&34Cje%UQ)q9p= z1C-V)SV>;(Sz+c8=6L#u87B8ErsCQ&c9z+K`K#Bh)I%Pt4`xcn6z7xYOZ#*_J7b$T zlzU*et-bOs)wZSvu9{#OMW0L~FV)im&|x`AI;{stM?<0TXm(~=r`dLvR*fcS9#J{Z zM|v=Q1Q+U_)T0PJ*NMHrpT)WBq{%p|k;d-YuEE*HM_lcEKIQt8B)(h0z8Fnbh$f?* z368MaK||*7j>UC8oN>9L#5b)Nfh-!9>xr=Z@&*^o&pA~BUW51X*K+~Sxxg4E1CJB= z8HSPIEI)NRdNJSF7+42s(Dxm}nlNECIn4DYb`)28(Kj4IC3agM#%K|l`9dl=TH{R` zXC;MYFd@CN3MXXGVmQH5@UbY)+Vs#qzT^3XfXR{XX@!EsH3=kSHcf5c&(096kkLdl z_q-GRf_h{yvyL|CBz*w8jaK+}3(d7<{t$6Y^MFBDv+`+4)#ogh=nUvc&w^ zW(Uis9$P)18Q591CJXDRHIemOhmd2--t%|6LD>^t#I#~132c9k+t0ZQ7#6)R87-B_ zjO6{0OHT3KmJ?DH_iHkq&%*O`2Z2Yu3T}7A>GLgoLyMwu2IivKQERh0YiiM18@Rm& zt-FFT7;Ya&{@!jJ=q9aKxlo%&m9kbF>$KGg3h&&oGD4jNZz&i+_oW+{B47i6r_8TT^nMF*T(c@B`&eSWOLvRLfY$Aj7n%axRl=8duVbT z@;FW45l=iK$aeRMe6o4dDB*zFoGc7}-I`6l*rX+!N;G6^Yac1^jbz!At4l>0kO5V| z_1yi#xLia+mj{xjy+M<(3E^k9 z;dPmOCgZlx`Is=cc7--s_&hGh35`qwZN-J>aT$$EFNs_`(`%*-!t9L}gPv4mMHnEw z*QWZ_jH=9WHiN}pXTaFSZJ8CTK}JkfCOc|6J2S`Zph=H4^S`l%MuWMI_c|;;*u>b_ zI-2$)*^DY%Os2tNB+u_Sluf!d-m`uA=t>Y%s%AI_ItwR@9#J$ z42JI9Kst6+@CTiPcQ2$x^T^X7!tYZ$#*uG2F1kvvHRIYZzB=(lIT#O=IC zV7mH4BZZf9ubFUjj8pLa4f!}KU?R7tO6;|yL|Ur4lDyC)uzG_N_di^B)s<%WZ6{_9 zJH9_~UoM9JaB|^fILUpjg3LR9PgRSZ7AF<9fn?0409O{uk;MfN%ET2(#0gDS~bxu^_?F-k0bnB;E_`!dno$5NPol{Ny zf7+R_Z&3BDdc!F=Ztxk_{N|i1d_9iLd4Vr) zac)x}Y#g{X^%MkkIrga*labByHQWB8PndaTi2F-SA97{OfX*k+l#3GF1okZ#UQQNS zt&g%{7Pi1-s&n^U?sBr^t!1tm-CLbx)bju7RV=P28}Gn38Psn%|K{Ghpr`ZOA)#UX zv#k=kwl?;r4EL9|yf%eqR@g~$Rle42G@9J|cMQEqth)Iwy{4D`0`iE<<%hi*{qMr^ zvr|;#a3d1SH@7+D*D(=FKGZn>A3-j+_>vnVRDHuIab1IZO2sz_WqJNwlPsD*tVMd_ zd9GgYjuYong~8bKqlLjo=aa~u3!8<5DHrLBzb##Zk1o=^<}a7l(kU(vk+ - + @default - + b bytes b - + KB КB - + MB MB - + GB GB @@ -72,17 +72,17 @@ Франция - + chris@dchris.eu chris@dchris.eu - + http://dchris.eu http://dchris.eu - + Thanks To Благодарим на @@ -102,7 +102,7 @@ <h3><b>qBittorrent</b></h3> - + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> @@ -113,7 +113,7 @@ Copyright © 2006 на Christophe Dumez<br> <br> <u>WEB-страница:</u> <i>http://qbittorrent.sourceforge.net</i><br> - + qBittorrent Author Автор на qBittorrent @@ -161,7 +161,7 @@ Copyright © 2006 на Christophe Dumez<br> Thanks to - + Благодарим на @@ -169,23 +169,23 @@ Copyright © 2006 на Christophe Dumez<br> Upload limit: - + Лимит качване: Download limit: - + Лимит сваляне: Unlimited Unlimited (bandwidth) - + Неограничен KiB/s - + KiB/с @@ -204,573 +204,852 @@ Copyright © 2006 на Christophe Dumez<br> Опции -- qBittorrent - + Options - Опции + Опции - + Main - Начало + Начало - + Save Path: - Съхрани Път: + Съхрани Път: - + Download Limit: - Лимит сваляне: + Лимит сваляне: - + Upload Limit: - Лимит качване: + Лимит качване: - + Max Connects: - Max Връзки: + Max Връзки: - + Port range: Порт Обхват: - + ... ... - + Kb/s Kb/с - + Disable - Изключи + Изключи - + connections - връзки + връзки - + to към - + Proxy - Прокси + Прокси - + Proxy Settings Прокси Настройки - + Server IP: Сървър IP: - + 0.0.0.0 0.0.0.0 - + Port: Порт: - + Proxy server requires authentication - Прокси сървъра иска удостоверяване + Прокси сървъра иска удостоверяване - + Authentication Удостоверяване - + User Name: - Име на Потребител: + Име на Потребител: - + Password: Парола: - + Enable connection through a proxy server - Разрешава връзка през прокси сървър + Разрешава връзка през прокси сървър - + Language - Език + Език - + Please choose your preferred language in the following list: Моля изберете предпочитан език от следния списък: - + English Английски - + French Френски - + Simplified Chinese Опростен Китайски - + OK ОК - + Cancel Прекъсни - + Language settings will take effect after restart. Езиковите настройки ще работят след рестартиране. - + Scanned Dir: - Претърсена Директория: + Претърсена Директория: - + Enable directory scan (auto add torrent files inside) - Разреши търсене в директория (автоматично добавя намерени торент-файлове) + Разреши търсене в директория (автоматично добавя намерени торент-файлове) - + Korean Корейски - + Spanish Испански - + German Немски - + Connection Settings Настройки на Връзката - + Share ratio: - Процент на споделяне: + Процент на споделяне: - + 1 KB DL = 1 KB DL = - + KB UP max. KB UP max. - + Activate IP Filtering Активирай IP Филтриране - + Filter Settings Настройки на Филтъра - + ipfilter.dat URL or PATH: ipfilter.dat URL или PATH: - + Start IP Начално IP - + End IP Крайно IP - + Origin Произход - + Comment Коментар - + Apply Приложи - + IP Filter - IP Филтър + IP Филтър - + Add Range Добави Обхват - + Remove Range Премахни Обхват - + Catalan Каталонски - + ipfilter.dat Path: - ipfilter.dat Път: + ipfilter.dat Път: - + Misc Допълнения - + Ask for confirmation on exit Искай потвърждение при изход - + Clear finished downloads on exit Изтрий свалените при изход - + Go to systray when minimizing window - Отиди в системна папка при минимизиране на прозореца + Отиди в системна папка при минимизиране на прозореца - + Localization - Настройка на езика + Настройка на езика - + Language: Език: - + Behaviour - Поведение + Поведение - + OSD OSD - + Always display OSD Винаги показвай OSD - + Display OSD only if window is minimized or iconified Покажи OSD само ако минимизиран или иконизиран - + Never display OSD Не показвай OSD - + KiB/s KB/с - + 1 KiB DL = - 1 KB DL = + 1 KB DL = - + KiB UP max. - KB UP max. + KB UP max. - + DHT (Trackerless): DHT (без Тракери): - + Disable DHT (Trackerless) support Изключи DHT (без Тракери) поддръжката - + Automatically clear finished downloads Автоматично изтриване на завършили сваляния - + Preview program Програма за оглед - + Audio/Video player: - Аудио/Видео плейър: + Аудио/Видео плейър: - + DHT configuration - DHT конфигурация + DHT конфигурация - + DHT port: - DHT порт: + DHT порт: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Забележка:</b> Промените важат след рестарт на qBittorrent. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b> Бележка за преводачите:</b> Ако няма qBittorrent на вашия език, <br/>и бихте искали да го преведете, <br/>моля, свържете се с мен (chris@qbittorrent.org). + <b> Бележка за преводачите:</b> Ако няма qBittorrent на вашия език, <br/>и бихте искали да го преведете, <br/>моля, свържете се с мен (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - Покажи допълнителен торент диалог всеки път когато добавям един торент + Покажи допълнителен торент диалог всеки път когато добавям един торент - + Default save path - Път за съхранение по подразбиране + Път за съхранение по подразбиране - + Systray Messages Съобщения на Системата - + Always display systray messages - Винаги показвай системните съобщения + Винаги показвай системните съобщения - + Display systray messages only when window is hidden - Показвай системните съобщения само при скрит прозорец + Показвай системните съобщения само при скрит прозорец - + Never display systray messages - Никога не показвай системните съобщения + Никога не показвай системните съобщения - + Disable DHT (Trackerless) - Изключи DHT (Без тракер) + Изключи DHT (Без тракер) - + Disable Peer eXchange (PeX) - Изключи Peer eXchange (PeX) + Изключи Peer eXchange (PeX) - + Go to systray when closing main window - Отиди в системна папка при затваряне на главния прозорец + Отиди в системна папка при затваряне на главния прозорец - + Connection - + Връзка - + Peer eXchange (PeX) - + Peer eXchange (PeX) - + DHT (trackerless) - + DHT (без тракер) - + Torrent addition - + Добавяне на Торент - + Main window - + Основен прозорец - + Systray messages - + Системни съобщения - + Directory scan - + Сканиране на директория - + Style (Look 'n Feel) - + Стил (Виж и Чувствай) - + Plastique style (KDE like) - + Пластмасов стил (подобен на KDE) - + Cleanlooks style (GNOME like) - + Изчистен стил (подобен на GNOME) - + Motif style (default Qt style on Unix systems) - + Мотив стил (стил по подразбиране на Qt на Юникс системи) - + CDE style (Common Desktop Environment like) - + Стил CDE (подобен на обичайния стил на десктоп) - + MacOS style (MacOSX only) - + MacOS стил (само за MacOSX) - + Exit confirmation when the download list is not empty - + Потвърждение за изход когато листа за сваляне не е празен - + Disable systray integration - + Изключи вмъкване в systray - + WindowsXP style (Windows XP only) - + WindowsXP стил (само на Windows XP) - + Server IP or url: - + IP или URL на Сървъра: - + Proxy type: - + Тип Прокси: - + HTTP - + HTTP - + SOCKS5 - + SOCKS5 - + Affected connections - + Засегнати връзки - + Use proxy for connections to trackers - + Използвай прокси за връзка към тракерите - + Use proxy for connections to regular peers - + Ползвай прокси за свързване към стандартните връзки - + Use proxy for connections to web seeds - + Използвай прокси за връзки към web донори - + Use proxy for DHT messages - + Използвай прокси за DHT съобщенията - + Encryption - + Кодиране + + + + Encryption state: + Състояние на кодиране: + + + + Enabled + Включено + + + + Forced + Форсирано + + + + Disabled + Изключено + + + + Preferences + Настройки + + + + General + Общи + + + + User interface settings + Настройки на потребителски интерфейс + + + + Visual style: + Визуален стил: + + + + Cleanlooks style (Gnome like) + Изчистен стил (подобен на Gnome) + + + + Motif style (Unix like) + Стил мотив (подобен на Unix) + + + + Ask for confirmation on exit when download list is not empty + Потвърждение при изход когато листа за сваляне не е празен + + + + Display current speed in title bar + Показване на скоростта в заглавната лента + + + + System tray icon + Системна икона + + + + Disable system tray icon + Изключи системната икона + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Затвори прозореца (остава видима системна икона) + + + + Minimize to tray + Минимизирай в системна икона + + + + Show notification balloons in tray + Показване уведомителни балони от системата + + + + Media player: + Медия плейер: + + + + Downloads + Сваляне + + + + Put downloads in this folder: + Сложи свалените в тази папка: + + + + Pre-allocate all files + Преместване на всички файлове + + + + When adding a torrent + При добавяне на торент + + + + Display torrent content and some options + Показване съдържание на торента и някои опции + + + + Do not start download automatically + The torrent will be added to download list in pause state + Не започвай автоматично сваляне + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Следене за промени в папката + + + + Automatically download torrents present in this folder: + Автоматично сваляне на торентите намиращи се в тази папка: + + + + Listening port + Порт за прослушване + + + + to + i.e: 1200 to 1300 + до + + + + Enable UPnP port mapping + Включено UPnP порт следене - Encryption state: - - - - - Enabled - + Enable NAT-PMP port mapping + Включено NAT-PMP порт следене - Forced - + Global bandwidth limiting + Общ лимит сваляне - - Disabled + + Upload: + Качване: + + + + Download: + Сваляне: + + + + Type: + Вид: + + + + (None) + (без) + + + + Proxy: + Прокси: + + + + Username: + Име на потребителя: + + + + Bittorrent + Bittorrent + + + + Connections limit + Ограничение на връзката + + + + Global maximum number of connections: + Общ максимален брой на връзки: + + + + Maximum number of connections per torrent: + Максимален брой връзки на торент: + + + + Maximum number of upload slots per torrent: + Максимален брой слотове за качване на торент: + + + + Additional Bittorrent features + Допълнителни възможности на Bittorrent + + + + Enable DHT network (decentralized) + Включена мрежа DHT (децентрализирана) + + + + Enable Peer eXchange (PeX) + Включен Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Включено Откриване на локална връзка + + + + Encryption: + Криптиране: + + + + Share ratio settings + Настройки на процента на споделяне + + + + Desired ratio: + Предпочитано отношение: + + + + Filter file path: + Филтър за пътя на файла : + + + + transfer lists refresh interval: + интервал на обновяване на списъка за трансфер: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Интервал на обновяване на RSS feeds: + + + + minutes + минути + + + + Maximum number of articles per feed: + Максимум статии на feed: + + + + File system + Файлова система + + + + Remove finished torrents when their ratio reaches: + Премахни завършени торенти когато тяхното отношение се разширява: + + + + System default @@ -780,115 +1059,115 @@ Copyright © 2006 на Christophe Dumez<br> Name i.e: file name - Име + Име Size i.e: file size - Размер + Размер Progress i.e: % downloaded - Изпълнение + Изпълнение DL Speed i.e: Download speed - DL Скорост + DL Скорост UP Speed i.e: Upload speed - UP Скорост + UP Скорост Seeds/Leechs i.e: full/partial sources - Даващи/Вземащи + Даващи/Вземащи Ratio - + Съотношение ETA i.e: Estimated Time of Arrival / Time left - ЕТА + ЕТА qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 стартиран. + qBittorrent %1 стартиран. Be careful, sharing copyrighted material without permission is against the law. - + Внимание, споделяне на защитен от авторски права материал без разрешение е незаконно. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - + <font color='red'>%1</font> <i>бе блокиран</i> - + Fast resume data was rejected for torrent %1, checking again... - + Бърза пауза бе отхвърлена за торент %1, нова проверка... - + Url seed lookup failed for url: %1, message: %2 - + Url споделяне провалено за url: %1, съобщение: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' добавен в листа за сваляне. + '%1' добавен в листа за сваляне. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' бе възстановен. (бързо възстановяване) + '%1' бе възстановен. (бързо възстановяване) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' вече е в листа за сваляне. + '%1' вече е в листа за сваляне. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Не мога да декодирам торент-файла: '%1' + Не мога да декодирам торент-файла: '%1' - + This file is either corrupted or this isn't a torrent. - + Този файла или е разрушен или не е торент. - + Couldn't listen on any of the given ports. - Невъзможно изчакване от дадените портове. + Невъзможно изчакване от дадените портове. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Сваляне на '%1', моля изчакайте... + Сваляне на '%1', моля изчакайте... @@ -896,13 +1175,13 @@ Copyright © 2006 на Christophe Dumez<br> KiB/s - + KiB/с FinishedTorrents - + Finished Завършен @@ -910,22 +1189,22 @@ Copyright © 2006 на Christophe Dumez<br> Name i.e: file name - Име + Име Size i.e: file size - Размер + Размер Progress i.e: % downloaded - Изпълнение + Изпълнение - + DL Speed i.e: Download speed DL Скорост @@ -934,33 +1213,33 @@ Copyright © 2006 на Christophe Dumez<br> UP Speed i.e: Upload speed - UP Скорост + UP Скорост Seeds/Leechs i.e: full/partial sources - Даващи/Вземащи + Даващи/Вземащи - + Status Състояние - + ETA i.e: Estimated Time of Arrival / Time left ЕТА - + Finished i.e: Torrent has finished downloading Завършен - + None i.e: No error message Няма @@ -968,376 +1247,376 @@ Copyright © 2006 на Christophe Dumez<br> Ratio - + Съотношение GUI - + Open Torrent Files Отвори Торент Файлове - + kb/s kb/с - + Unknown Неизвестен - + This file is either corrupted or this isn't a torrent. Файла или е разрушен или не е торент. - + Are you sure you want to delete all files in download list? Сигурни ли сте че искате да изтриете всички файлове от списъка за сваляне? - + &Yes &Да - + &No &Не - + Are you sure you want to delete the selected item(s) in download list? Сигурни ли сте че искате да изтриете избраните файлове от списъка за сваляне? - + paused прекъснат - + started стартиран - + kb/s kb/с - + Finished - Завършен + Завършен - + Checking... Проверка... - + Connecting... Свързване... - + Downloading... Сваляне... - + Download list cleared. Списъка за сваляне е създаден. - + All Downloads Paused. Всички Сваляния са Прекъснати. - + All Downloads Resumed. Всички Сваляния са Възстановени. - + DL Speed: DL Скорост: - + started. стартиран. - + UP Speed: UP Скорост: - + Couldn't create the directory: Не мога да създам директория: - + Torrent Files Торент Файлове - + already in download list. <file> already in download list. вече е в списъка за сваляне. - + added to download list. е добавен в списъка за сваляне. - + resumed. (fast resume) възстановен. (бързо възстановяване) - + Unable to decode torrent file: Не мога да декодирам торент-файла: - + removed. <file> removed. премахнат. - + paused. <file> paused. прекъснат. - + resumed. <file> resumed. възстановен. - + m minutes м - + h hours ч - + d days д - + Listening on port: Очакване от порт: - + qBittorrent qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Сигурни ли сте? -- qBittorrent - + <b>qBittorrent</b><br>DL Speed: <b>qBittorrent</b><br>DL Скорост: - + :: By Christophe Dumez :: Copyright (c) 2006 : От Christophe Dumez :: Copyright (c) 2006 - + <b>Connection Status:</b><br>Online <b>Състояние на Връзка:</b><br>Онлайн - + <b>Connection Status:</b><br>Firewalled?<br><i>No incoming connections...</i> <b>Състояние на Връзка:</b><br>С Firewall?<br><i>Няма входящи връзки...</i> - + <b>Connection Status:</b><br>Offline<br><i>No peers found...</i> <b>Състояние на Връзка:</b><br>Офлайн<br><i>Няма намерени peers...</i> - + /s <unit>/seconds - + has finished downloading. е завършил свалянето. - + Couldn't listen on any of the given ports. Невъзможно изчакване от дадените портове. - + None Няма - + KiB/s KiB/с - + Are you sure you want to quit? -- qBittorrent Сигурни ли сте че искате да напуснете? -- qBittorrent - + Are you sure you want to quit qbittorrent? Сигурни ли сте че искате да напуснете qbittorrent? - + KiB/s KiB/с - + Please type a search pattern first Моля първо изберете тип на търсене - + No seach engine selected Не е избрана търсачка - + You must select at least one search engine. Трябва да изберете поне една търсачка. - + Could not create search plugin. Невъзможно създаване на допълнение за търсене. - + Searching... Търсене... - + Error during search... Грешка при търсене... - + Stopped Спрян - + Timed out Изтекъл срок - + Failed to download: Грешка при сваляне: - + A http download failed, reason: Сваляне от http грешно, причина: - + Torrent file URL Торент файл URL - + Torrent file URL: Торент файл URL: - + I/O Error I/O Грешка - + Couldn't create temporary file on hard drive. Невъзможно създаване на временен файл на диска. - + Downloading using HTTP: Сваляне ползвайки HTTP: - + Search is finished Търсенето завърши - + An error occured during search... Намерена грешка при търсенето... - + Search aborted Търсенето е прекъснато - + Search returned no results Търсене без резултат - + Search is Finished Търсенето е завършено - + Search plugin update -- qBittorrent Обновяване на добавката за търсене -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: @@ -1348,144 +1627,144 @@ Changelog: - + Sorry, update server is temporarily unavailable. Съжалявам, сървъра за обновяване е временно недостъпен. - + Your search plugin is already up to date. Вашата добавка за търсене е вече обновена. - + Results Резултати - + Name Име - + Size Размер - + Progress Изпълнение - + DL Speed DL Скорост - + UP Speed UP Скорост - + Status Състояние - + ETA ЕТА - + Seeders Даващи - + Leechers Вземащи - + Search engine Програма за търсене - + Stalled state of a torrent whose DL Speed is 0 Отложен - + Paused Пауза - + Preview process already running Процеса на оглед се изпълнява - + There is already another preview process running. Please close the other one first. Вече се изпълнява друг процес на оглед. Моля, затворете първо другия процес. - + Couldn't download Couldn't download <file> Свалянето е невъзможно - + reason: Reason why the download failed причина: - + Downloading Example: Downloading www.example.com/test.torrent Сваляне - + Please wait... Моля, изчакайте... - + Transfers Трансфери - + Are you sure you want to quit qBittorrent? Сигурни ли сте че искате да напуснете qBittorrent? - + Are you sure you want to delete the selected item(s) in download list and in hard drive? Сигурни ли сте че искате да изтриете избраните файлове от списъка за сваляне и от твърдия диск? - + Download finished Свалянето завърши - + has finished downloading. <filename> has finished downloading. е завършил свалянето. - + Search Engine Търсачка @@ -1496,456 +1775,494 @@ Please close the other one first. qBittorrent %1 - + Connection status: Състояние на връзката: - + Offline Извън мрежата - + No peers found... Няма връзки... - + Name i.e: file name Име - + Size i.e: file size Размер - + Progress i.e: % downloaded Изпълнение - + DL Speed i.e: Download speed DL Скорост - + UP Speed i.e: Upload speed UP Скорост - + Seeds/Leechs i.e: full/partial sources Даващи/Вземащи - + ETA i.e: Estimated Time of Arrival / Time left ЕТА - + Seeders i.e: Number of full sources Даващи - + Leechers i.e: Number of partial sources Вземащи - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 стартиран. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL Скорост %1 KB/с - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UL Скорост %1 KB/с - + Finished i.e: Torrent has finished downloading Завършен - + Checking... i.e: Checking already downloaded parts... Проверка... - + Stalled i.e: State of a torrent whose download speed is 0kb/s Отложен - + Are you sure you want to quit? Сигурни ли сте че искате да напуснете? - + '%1' was removed. 'xxx.avi' was removed. '%1' бе премахнат. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' добавен в листа за сваляне. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' бе възстановен. (бързо възстановяване) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' вече е в листа за сваляне. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Не мога да декодирам торент-файла: '%1' - + None i.e: No error message Няма - + Listening on port: %1 e.g: Listening on port: 1666 Прослушване на порт: %1 - + All downloads were paused. Всички сваляния са в пауза. - + '%1' paused. xxx.avi paused. '%1' е в пауза. - + Connecting... i.e: Connecting to the tracker... Свързване... - + All downloads were resumed. Всички сваляния са възстановени. - + '%1' resumed. e.g: xxx.avi resumed. '%1' бе възстановен. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. '%1' завърши свалянето. - + I/O Error i.e: Input/Output Error В/И Грешка - + 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 Намерена грешка при четене или записване на %1. Вероятно диска е пълен, свалянето е в пауза - + An error occured (full fisk?), '%1' paused. e.g: An error occured (full fisk?), 'xxx.avi' paused. Намерена грешка (пълен диск?), '%1' е в пауза. - + Connection Status: Състояние на връзката: - + Online Свързан - + Firewalled? i.e: Behind a firewall/router? Проблем с Firewall-а? - + No incoming connections... Няма входящи връзки... - + No search engine selected Не е избрана търсачка - + Search plugin update Допълнението за търсене е обновено - + Search has finished Търсенето завърши - + Results i.e: Search results Резултати - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Сваляне на '%1', моля изчакайте... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Намерена грешка (пълен диск?), '%1' е в пауза. - + Search - Търси + Търси - + RSS - - - - - qBittorrent is bind to port: %1 - e.g: qBittorrent is bind to port: 1666 - - - - - DHT support [ON], port: %1 - - - - - DHT support [OFF] - - - - - PeX support [ON] - - - - - PeX support [OFF] - - - - - The download list is not empty. -Are you sure you want to quit qBittorrent? - - - - - Downloads - Сваляне - - - - Are you sure you want to delete the selected item(s) in finished list? - - - - - UPnP support [ON] - + RSS + qBittorrent is bind to port: %1 + e.g: qBittorrent is bind to port: 1666 + qBittorrent е свързан с порт: %1 + + + + DHT support [ON], port: %1 + DHT поддръжка [ВКЛ], порт: %1 + + + + DHT support [OFF] + DHT поддръжка [ИЗКЛ] + + + + PeX support [ON] + PeX поддръжка [ВКЛ] + + + + PeX support [OFF] + PeX поддръжка [ИЗКЛ] + + + + The download list is not empty. +Are you sure you want to quit qBittorrent? + Листата за сваляне не е празна. +Сигурни ли сте че искате да напуснете qBittorrent? + + + + Downloads + Сваляне + + + + Are you sure you want to delete the selected item(s) in finished list? + Сигурни ли сте че искате да изтриете избраните файлове от списъка на завършените сваляния? + + + + UPnP support [ON] + UPnP поддръжка [ВКЛ] + + + Encryption support [ON] - + Поддръжка кодиране [ВКЛ] - + Encryption support [FORCED] - + Поддръжка кодиране [ФОРСИРАНА] - + Encryption support [OFF] - - - - - Alt+1 - shortcut to switch to first tab - + Поддръжка кодиране [ИЗКЛ] - Alt+2 - shortcut to switch to second tab - - - - - Alt+4 - shortcut to switch to fourth tab - - - - - Url download error - - - - - Couldn't download file at url: %1, reason: %2. - - - - - Are you sure you want to delete the selected item(s) from download list and from hard drive? - - - - - Are you sure you want to delete the selected item(s) from finished list and from hard drive? - - - - - '%1' was removed permanently. - 'xxx.avi' was removed permanently. - + Alt+1 + shortcut to switch to first tab + Alt+1 - Alt+3 - shortcut to switch to third tab - + Alt+2 + shortcut to switch to second tab + Alt+2 + + + + Alt+4 + shortcut to switch to fourth tab + Alt+4 + + + + Url download error + Грешка при сваляне от Url + + + + Couldn't download file at url: %1, reason: %2. + Невъзможно сваляне на файл от url: %1, причина: %2. + + + + Are you sure you want to delete the selected item(s) from download list and from hard drive? + Сигурни ли сте че искате да изтриете избраните от списъка за сваляне или от твърдия диск? + + + + Are you sure you want to delete the selected item(s) from finished list and from hard drive? + Сигурни ли сте че искате да изтриете избраните от списъка на свалените или от твърдия диск? + + + + '%1' was removed permanently. + 'xxx.avi' was removed permanently. + '%1' бе премахнат завинаги. + Alt+3 + shortcut to switch to third tab + Alt+3 + + + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + UPnP поддръжка [ИЗКЛ] + + + + NAT-PMP support [ON] + NAT-PMP поддръжка [ВКЛ] + + + + NAT-PMP support [OFF] + NAT-PMP поддръжка [ИЗКЛ] + + + + Local Peer Discovery [ON] + Търсене на локални връзки [ВКЛ] + + + + Local Peer Discovery support [OFF] + Търсене на локални връзки [ИЗКЛ] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' бе премахнат защото съотношението му надвишава определеното. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) MainWindow - + qBittorrent :: By Christophe Dumez qBittorrent :: От Christophe Dumez - + Log: Log: - + Total DL Speed: Обща DL Скорост: - + Kb/s Kb/с - + Total UP Speed: Обща UP Скорост: - + Name Име - + Size Размер - + % DL % DL - + DL Speed DL Скорост - + UP Speed UP Скорост - + Status Състояние - + ETA ЕТА - + &Options &Опции @@ -2012,15 +2329,15 @@ Are you sure you want to quit qBittorrent? Documentation - Документация + Документация - + Connexion Status Състояние на Връзките - + Delete All Изтрий Всички @@ -2030,77 +2347,77 @@ Are you sure you want to quit qBittorrent? Характеристики на Торента - + Downloads Сваляне - + KiB/s KiB/с - + Search Търси - + Search Pattern: Тип на търсене: - + Stop Спри - + Status: Състояние: - + Stopped Спрян - + Search Engines Търсачки - + Results: Резултати: - + Seeds Споделящи - + Leechers Вземащи - + Search Engine Търсачка - + Download Свали - + Clear Изтрий - + Connection Status Състояние на Връзка @@ -2115,22 +2432,22 @@ Are you sure you want to quit qBittorrent? Създай торент - + Ratio: Отношение: - + Update search plugin Обнови допълнението за търсене - + Session ratio: Процент сесия: - + Transfers Трансфери @@ -2162,69 +2479,69 @@ Are you sure you want to quit qBittorrent? Set upload limit - + Определи лимит качване Set download limit - + Определи лимит сваляне Set global download limit - + Определи общ лимит сваляне Set global upload limit - + Определи общ лимит качване Options - Опции + Опции PropListDelegate - + False Грешно - + True Вярно - + Ignored - + Игнорирано + + + + Normal + Normal (priority) + Нормален + + + + High + High (priority) + Висок - Normal - Normal (priority) - - - - - High - High (priority) - - - - Maximum Maximum (priority) - + Максимален QTextEdit - + Clear Изтрий @@ -2234,387 +2551,397 @@ Are you sure you want to quit qBittorrent? Search - Търси + Търси - + Delete - Изтрий + Изтрий - + Rename - + Преименувай - + Refresh - + Обнови - + Create Образуване - + Delete selected streams - + Изтрий маркираните потоци - + Refresh RSS streams - + Обнови потоците RSS - + Add a new RSS stream - + Добави нов поток RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + <b>Новини:</b> <i>(щракни двойно за отваряне на линка в браузъра)</i> - + Add RSS stream - + Добави поток RSS - + Refresh all streams - + Обнови всички потоци - + RSS streams: - + Потоци RSS: - + 2 - 2 + 2 + + + + Mark all as read + Отбележи всички като прочетени RSSImp - + Please type a rss stream url - + Моля въведете url на поток rss - + Stream URL: - + Поток URL: - + Please choose a new name for this stream - + Моля изберете ново име за този поток - + New stream name: - + Ново име на потока: - + Are you sure? -- qBittorrent - Сигурни ли сте? -- qBittorrent + Сигурни ли сте? -- qBittorrent - + &Yes - &Да + &Да - + &No - &Не + &Не - + Are you sure you want to delete this stream from the list? - + Сигурни ли сте че искате да изтриете този поток от списъка? - + Description: - + Описание: - + url: - + url: - + Last refresh: - + Последно обновяване: - + qBittorrent - qBittorrent + qBittorrent - + This rss feed is already in the list. - + Този rss feed е вече в списъка. + + + + Date: + Дата: + + + + Author: + Автор: RssItem - + No description available - + Няма налично описание RssStream - + %1 ago 10min ago - + преди %1 - + Never - + Никога SearchEngine - + Name i.e: file name - Име + Име + + + + Size + i.e: file size + Размер + + + + Seeders + i.e: Number of full sources + Даващи - Size - i.e: file size - Размер + Leechers + i.e: Number of partial sources + Вземащи - Seeders - i.e: Number of full sources - Даващи - - - - Leechers - i.e: Number of partial sources - Вземащи - - - Search engine - Програма за търсене + Програма за търсене - + Empty search pattern - + Празен образец за търсене - + Please type a search pattern first - Моля първо изберете тип на търсене + Моля първо въведете образец за търсене - + No search engine selected - Не е избрана търсачка + Не е избрана търсачка + + + + You must select at least one search engine. + Трябва да изберете поне една търсачка. + + + + Results + Резултати - You must select at least one search engine. - Трябва да изберете поне една търсачка. - - - - Results - Резултати - - - Searching... - Търсене... + Търсене... - + Search plugin update -- qBittorrent - Обновяване на добавката за търсене -- qBittorrent + Обновяване на добавката за търсене -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Добавката за търсене може да се обнови, искате ли обновяване? + Добавката за търсене може да се обнови, искате ли обновяване? Промяна на лог-а: - + &Yes - &Да + &Да - + &No - &Не + &Не - + Search plugin update - Допълнението за търсене е обновено + Допълнението за търсене е обновено - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Съжалявам, сървъра за обновяване е временно недостъпен. + Съжалявам, сървъра за обновяване е временно недостъпен. - + Your search plugin is already up to date. - Вашата добавка за търсене е вече обновена. + Вашата добавка за търсене е вече обновена. - + Search Engine - Търсачка + Търсачка - + Search has finished - Търсенето завърши + Търсенето завърши - + An error occured during search... - Намерена грешка при търсенето... + Намерена грешка при търсенето... - + Search aborted - Търсенето е прекъснато + Търсенето е прекъснато - + Search returned no results - Търсене без резултат + Търсене завършено без резултат - + Results i.e: Search results - Резултати + Резултати - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. - + + Unknown + Неизвестен Ui - + I would like to thank the following people who volonteered to translate qBittorrent: Бих искал да благодаря на следните доброволци, превели qBittorrent: - + Please contact me if you would like to translate qBittorrent to your own language. Моля, свържете се с мен ако искате да преведете qBittorrent на вашия език. - + I would like to thank sourceforge.net for hosting qBittorrent project. Искам да благодаря на sourceforge.net за поемането на хоста на проекта qBittorrent. - + qBittorrent qBittorrent - + <ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li> <ul><li>Бих искал да благодаря на sourceforge.net за хоста на qBittorrent проекта.</li> - + <li>I also like to thank Jeffery Fernandez (developer@jefferyfernandez.id.au), our RPM packager, for his great work.</li></ul> <li>Бих искал също да благодаря на Jeffery Fernandez (developer@jefferyfernandez.id.au), нашия RPM packager, за неговата отлична работа.</li></ul> - + I would like to thank the following people who volunteered to translate qBittorrent: Бих искал да благодаря на следните доброволци, превели qBittorent: - + Preview impossible Оглед невъзможен - + Sorry, we can't preview this file Съжалявам, не можем да огледаме този файл - + Name Име - + Size Размер - + Progress Изпълнение - + No URL entered Невъведен URL - + Please type at least one URL. Моля въведете поне един URL. - + qBittorrent qBittorrent - + Please contact me if you would like to translate qBittorrent into your own language. Моля, свържете се с мен ако искате да преведете qBittorrent на вашия език. @@ -2624,17 +2951,17 @@ Changelog: qBittorrent - qBittorrent + qBittorrent I would like to thank the following people who volunteered to translate qBittorrent: - Бих искал да благодаря на следните доброволци, превели qBittorent: + Бих искал да благодаря на следните доброволци, превели qBittorent: Please contact me if you would like to translate qBittorrent into your own language. - Моля, свържете се с мен ако искате да преведете qBittorrent на вашия език. + Моля, свържете се с мен ако искате да преведете qBittorrent на вашия език. @@ -2645,89 +2972,89 @@ Changelog: Торента добавя диалог - + Save path: Съхрани път: - + ... ... - + Torrent content: Съдържание на Торента: - + File name Име файл - + File size Файл размер - + Selected Избран - + Download in correct order (slower but good for previewing) Сваляне в правилен ред (по-бавен, но добър за оглед на файловете) - + Add to download list in paused state Добави в листа за сваляне в състояние на пауза - + Add Добави - + Cancel Прекъсни - + select избери - + Unselect Неизбран - + Select Избери - + Ignored - + Игнорирано - + Normal - + Нормален - + High - + Висок - + Maximum - + Максимален @@ -2773,58 +3100,58 @@ Changelog: Bandwidth allocation - + Разпределение на bandwidth KiB/s - + KiB/с createTorrentDialog - + Create Torrent file Създай торент файл - + Destination torrent file: - Торент файл получател: + Торент файл получател: - + Input file or directory: Входен файл или директория: - + Comment: Коментар: - + ... - ... + ... - + Create - Образуване + Образуване - + Cancel Прекъсни - + Announce url (Tracker): Предлагащ url (Тракер): - + Directory Директория @@ -2834,153 +3161,243 @@ Changelog: Инструмент за Създаване на Торент - + <center>Destination torrent file:</center> <center>Торент файл получател:</center> - + <center>Input file or directory:</center> <center>Входен файл или директория:</center> - + <center>Announce url:<br>(One per line)</center> <center>Предлагащ URL:<br>(По един на ред)</center> - + <center>Comment:</center> <center>Коментар:</center> - + Torrent file creation - + Създаване на Торент файл - + Input files or directories: - + Входни файлове или директории: - + Announce urls (trackers): - + Предлагащи url (тракери): - + Comment (optional): - + Коментар (опция): - + Private (won't be distributed on trackerless network / DHT if enabled) - + Частен (не може да се разпространява по мрежа без тракер / DHT е включен) - + Web seeds urls (optional): - + URL на даващи по Web (опция): + + + + File or folder to add to the torrent: + Файл или папка за добавяне към торента: + + + + Add a file + Добави файл + + + + Add a folder + Добави папка + + + + Piece size: + Размер на част: + + + + 32 KiB + 32 КБ + + + + 64 KiB + 64 КБ + + + + 128 KiB + 128 КБ + + + + 256 KiB + 256 КБ + + + + 512 KiB + 512 КБ + + + + 1 MiB + 1 МБ + + + + 2 MiB + 2 МБ + + + + 4 MiB + 4 МБ + + + + Private (won't be distributed on DHT network if enabled) + Лично (няма да бъде разпространено по мрежа DHT ако е включено) + + + + Start seeding after creation + Започни даване след образуване + + + + Create and save... + Създай и съхрани... createtorrent - + Select destination torrent file Избери торент файл получател - + Torrent Files Торент Файлове - + Select input directory or file Избери входна директория или файл - + No destination path set - Не е избран път за получаване + Не е избран път за получаване - + Please type a destination path first - Моля първо напишете път за получаване + Моля първо напишете път за получаване - + No input path set Не е избран входящ път - + Please type an input path first Моля първо напишете входящ път - + Input path does not exist Входящият път не съществува - + Please type a correct input path first Моля първо напишете правилен входящ път - + Torrent creation Създаване на Торент - + Torrent was created successfully: Торента бе създаден успешно: - + Please type a valid input path first Моля първо напишете валиден входящ път - + Select a folder to add to the torrent - + Изберете папка за добавяне към торента - + Select files to add to the torrent - + Изберете файлове за добавяне към торента - + Please type an announce URL - + Моля въведете даващ URL - + Torrent creation was unsuccessful, reason: %1 - + Създаване на торент неуспешно, причина: %1 - + Announce URL: Tracker URL - + Предлагащ URL: - + Please type a web seed url - + Моля въведете web даващ url - + Web seed URL: - + Web даващ URL: + + + + Select a file to add to the torrent + Изберете файл за добавяне към торента + + + + No tracker path set + Не е определен път за тракер + + + + Please set at least one tracker + Моля изберете поне един тракер @@ -3013,12 +3430,12 @@ Changelog: No URL entered - Невъведен URL + Невъведен URL Please type at least one URL. - Моля въведете поне един URL. + Моля въведете поне един URL. @@ -3026,171 +3443,386 @@ Changelog: Search - Търси + Търси Total DL Speed: - Обща DL Скорост: + Обща DL Скорост: KiB/s - + KiB/с Session ratio: - Процент сесия: + Процент сесия: Total UP Speed: - Обща UP Скорост: + Обща UP Скорост: Log - + Влез IP filter - + IP филтър Start - Старт + Старт Pause - Пауза + Пауза Delete - Изтрий + Изтрий Clear - Изтрий + Изтрий Preview file - Огледай файла + Огледай файла Set upload limit - + Определи лимит качване Set download limit - + Определи лимит сваляне Delete Permanently - Изтрий завинаги + Изтрий завинаги Torrent Properties - + Характеристики на Торента + + + + engineSelect + + + Search plugins + Търси добавки + + + + Installed search engines: + Инсталирани търсачки: + + + + Name + Име + + + + Url + Url + + + + Enabled + Включено + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Можете да вземете нови добавки за търсачката тук: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Инсталирай нов + + + + Check for updates + Провери за обновяване + + + + Close + Затвори + + + + Enable + Включи + + + + Disable + Изключи + + + + Uninstall + Деинсталирай + + + + engineSelectDlg + + + True + Вярно + + + + False + Грешно + + + + Uninstall warning + Предупреждение за деинсталиране + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Някои добавки не могат да бъдат деинсталирани защото са част от qBittorrent. + Само добавените от вас могат да бъдат деинсталирани. +Обаче добавките бяха изключени. + + + + Uninstall success + Успешно деинсталиране + + + + All selected plugins were uninstalled successfuly + Всички избрани добавки бяха успешно деинсталирани + + + + Select search plugins + Избери добавки за търсене + + + + qBittorrent search plugins + qBittorrent добавки за търсене + + + + Search plugin install + Инсталиране на добавка за търсене + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + По-нова версия на %1 добавката за търсене вече е инсталирана. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + %1 добавка на търсачката беше успешно обновена. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + %1 добавка на търсачката беше успешно инсталирана. + + + + Search plugin update + Добавката за търсене е обновена + + + + Sorry, update server is temporarily unavailable. + Съжалявам, сървъра за обновяване е временно недостъпен. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + %1 добавка за търсене беше успешно обновена. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Съжалявам, %1 обновяването на добавката бе неуспешно. + + + + All your plugins are already up to date. + Всички ваши добавки са вече обновени. + + + + All selected plugins were uninstalled successfully + Всички избрани добавки бяха успешно деинсталирани + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 добавка на търсачката не бе обновена, запазване на досегашната версия. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1 добавка на търсачката не бе инсталирана. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1 добавка на търсачката беше успешно обновена. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1 добавка на търсачката беше успешно обновена. + + + + Search engine plugin archive could not be read. + Файла за добавки на търсачката не бе прочетен. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Съжалявам, инсталацията на %1 добавката за търсене бе неуспешна. + + + + New search engine plugin URL + Нов URL за добавки на търсачката + + + + URL: + URL: misc - + B bytes Б - + KiB kibibytes (1024 bytes) КБ - + MiB mebibytes (1024 kibibytes) МБ - + GiB gibibytes (1024 mibibytes) ГБ - + TiB tebibytes (1024 gibibytes) ТБ - + m minutes м - + h hours ч - + d days д - + h hours ч - + Unknown Неизвестно - + Unknown Unknown (size) Неизвестен - + < 1m < 1 minute < 1мин - + %1m e.g: 10minutes %1мин - + %1h%2m e.g: 3hours 5minutes %1ч%2мин - + %1d%2h%3m e.g: 2days 10hours 2minutes %1д%2ч%3мин @@ -3199,148 +3831,171 @@ Changelog: options_imp - + Options saved successfully! Избора е съхранен успешно! - + Choose Scan Directory Изберете Директория за Сканиране - + Choose save Directory Изберете Директория за Съхранение - + Choose ipfilter.dat file Изберете ipfilter.dat файл - + I/O Error Грешка на Вход/Изход - + Couldn't open: Не мога да отворя: - + in read mode. е в режим четене. - + Invalid Line Грешен Ред - + Line Ред - + is malformed. е повреден. - + Range Start IP IP Стартова Област - + Start IP: IP на Старт: - + Incorrect IP Некоректно IP - + This IP is incorrect. Това IP е некоректно. - + Range End IP IP Крайна Област - + End IP: Крайно IP: - + IP Range Comment Коментар IP Област - + Comment: Коментар: - + to <min port> to <max port> - до + до - + Choose your favourite preview program Моля, изберете любима програма за оглед - + Invalid IP Невалиден IP - + This IP is invalid. Този IP е невалиден. - + Options were saved successfully. Опциите бяха съхранени успешно. - + Choose scan directory Изберете директория за сканиране - + Choose an ipfilter.dat file Изберете ipfilter.dat файл - + Choose a save directory Изберете директория за съхранение - + I/O Error Input/Output Error В/И Грешка - + Couldn't open %1 in read mode. Не мога да отворя %1 в режим четене. + + pluginSourceDlg + + + Plugin source + Източник на добавката + + + + Search plugin source: + Търсене на източници на добавки: + + + + Local file + Локален файл + + + + Web link + Web линк + + preview @@ -3374,27 +4029,27 @@ Changelog: Preview impossible - Оглед невъзможен + Оглед невъзможен Sorry, we can't preview this file - Съжалявам, не можем да огледаме този файл + Съжалявам, не можем да огледаме този файл Name - Име + Име Size - Размер + Размер Progress - Изпълнение + Изпълнение @@ -3405,439 +4060,454 @@ Changelog: Настройки на Торента - + Main Infos Главни Бележки - + File Name Име Файл - + Current Session Текуща Сесия - + Total Uploaded: Общо Качени: - + Total Downloaded: Общо Свалени: - + Download state: Състояние Сваляне: - + Current Tracker: Текущ Тракер: - + Number of Peers: Брой на Донори: - + Torrent Content Съдържание на Торента - + OK OK - + Total Failed: Общо Неуспешни: - + Finished Завършен - + Queued for checking В опашка за проверка - + Checking files Проверка на файловете - + Connecting to tracker Свързване с тракер - + Downloading Metadata Сваляне на Meta-данни - + Downloading Сваляне - + Seeding Споделяне - + Allocating Уточняване - + Unknown - Неизвестен + Неизвестен - + Complete: Завършен: - + Partial: Частично: - + Files contained in current torrent: Файлове включени в торента: - + Size Размер - + Selected Избран - + Unselect Неизбран - + Select Избери - + You can select here precisely which files you want to download in current torrent. Тук можете да изберете точно кои файлове искате да свалите от торента. - + False Грешка - + True Вярно - + Tracker Тракер - + Trackers: Тракери: - + None - Unreachable? Няма - Недостъпни? - + Errors: Грешки: - + Progress Изпълнение - + Main infos Основна информация - + Number of peers: Брой връзки: - + Current tracker: Текущ тракер: - + Total uploaded: Общо качени: - + Total downloaded: Общо свалени: - + Total failed: Общо неуспешни: - + Torrent content Съдържание на Торента - + Options Опции - + Download in correct order (slower but good for previewing) Сваляне в правилен ред (по-бавен, но добър за оглед на файловете) - + Share Ratio: Процент на споделяне: - + Seeders: Даващи: - + Leechers: Вземащи: - + Save path: Съхрани Път: - + Torrent infos - + Торент бележки - + Creator: - + Автор: - + Torrent hash: - + Торент раздробяване: - + Comment: - Коментар: + Коментар: - + Current session - + Текуща сесия - + Share ratio: - Процент на споделяне: + Процент на споделяне: - + Trackers - + Тракери - + New tracker - + Нов тракер - + New tracker url: - + Нов тракер url: - + Priorities: - + Предимства: - + Normal: normal priority. Download order is dependent on availability - + Нормално: нормално предимство. Поредицата за сваляне зависи от наличността - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Високо: по-високо от нормалното предимство. Частите с висока наличност са предпочитани пред тези с ниска наличност - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + Максимално: максимално предимство, наличността се игнорира, частта се предпочита пред всички останали с по-ниско предимство - + File name - Име файл + Име файл - + Priority - + Предимство - + qBittorrent - qBittorrent + qBittorrent - + Trackers list can't be empty. - + Листата на тракери не може да бъде празна. - + Ignored: file is not downloaded at all - + Игнорирано: файла изобщо не е свален - + Ignored - + Игнорирано - + Normal - + Нормален - + Maximum - + Максимален - + High - + Висок - + Url seeds - + Url даващи - + New url seed: - + Нов url на даващ: - + This url seed is already in the list. - + Този url на даващ е вече в списъка. - + None i.e: No error message - Няма + Няма - + New url seed New HTTP source - + Нов url на даващ - + The following url seeds are available for this torrent: - + Следните url на даващи са налични за този торент: + + + + Priorities error + Грешни предимства + + + + Error, you can't filter all the files in a torrent. + Грешка, не можете да филтрирате всички файлове в един торент. search_engine - + Search - Търси + Търси - + Search Engines - Търсачки + Търсачки - + Search Pattern: - Тип на търсене: + Тип на търсене: - + Stop - Спри + Спри - + Status: - Състояние: + Състояние: - + Stopped - Спрян + Спрян - + Results: - Резултати: + Резултати: - + Download - Свали + Свали - + Clear - Изтрий + Изтрий - + Update search plugin - Обнови допълнението за търсене + Обнови допълнението за търсене + + + + Search engines... + Търсачки... @@ -3845,188 +4515,188 @@ Changelog: Search - Търси + Търси The following torrents are finished and shared: - + Следните торенти са свалени и споделени: <u>Note:</u> It is important that you keep sharing your torrents after they are finished for the well being of the network. - + <u>Бележка :</u> Важно е да споделяте вашите торенти след като са завършени за всички от мрежата. Start - Старт + Старт Pause - Пауза + Пауза Delete - Изтрий + Изтрий Delete Permanently - Изтрий завинаги + Изтрий завинаги Torrent Properties - + Характеристики на Торента Preview file - Огледай файла + Огледай файла Set upload limit - + Определи лимит качване subDownloadThread - + Host is unreachable - + Хоста е недостъпен - + File was not found (404) - + Файла не е намерен (404) - + Connection was denied - + Връзката е отхвърлена - + Url is invalid - + Невалиден Url - + Connection forbidden (403) - + Връзката е забранена (403) - + Connection was not authorized (401) - + Нямате права за тази връзка (401) - + Content has moved (301) - + Съдържанието бе преместено (301) - + Connection failure - + Неуспешна връзка - + Connection was timed out - + Връзката изтече - + Incorrect network interface - + Неточен интерфейс на мрежата - + Unknown error - + Неизвестна грешка torrentAdditionDialog - + True Вярно - + Unable to decode torrent file: Не мога да декодирам торент-файла: - + This file is either corrupted or this isn't a torrent. Този файла или е разрушен или не е торент. - + Choose save path Избери път за съхранение - + False Грешка - + Empty save path Празен път за съхранение - + Please enter a save path Моля въведете път за съхранение - + Save path creation error Грешка при създаване на път за съхранение - + Could not create the save path Не мога да създам път за съхранение - + Invalid file selection Невалиден избор на файл - + You must select at least one file in the torrent Трябва да изберете поне един файл в торента - - - File name - Име файл - - - - Size - Размер - - Progress - Изпълнение + File name + Име файл - + + Size + Размер + + + + Progress + Изпълнение + + + Priority - + Предимство diff --git a/src/lang/qbittorrent_ca.qm b/src/lang/qbittorrent_ca.qm index 89f3a4db4c1e29765a85322c4ecaf703a3f5407f..74af65c5c2629271b7a92afd0d29c00b395ed95b 100644 GIT binary patch delta 9277 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 diff --git a/src/lang/qbittorrent_ca.ts b/src/lang/qbittorrent_ca.ts index 9218ee439..006076a9c 100644 --- a/src/lang/qbittorrent_ca.ts +++ b/src/lang/qbittorrent_ca.ts @@ -224,27 +224,27 @@ Copyright © 2006 by Christophe Dumez<br> Options - Opcions + Opcions Main - Principal + Principal Scanned Dir: - Directori escanejat: + Directori escanejat: - + ... ... Save Path: - Guardar a ruta: + Guardar a ruta: @@ -254,27 +254,27 @@ Copyright © 2006 by Christophe Dumez<br> Download Limit: - Límit Descàrrega: + Límit Descàrrega: Upload Limit: - Límit Pujada: + Límit Pujada: Max Connects: - Conexions màximes: + Conexions màximes: - + Port range: Rang de ports: Share ratio: - Radi descàrrega: + Radi descàrrega: @@ -284,12 +284,12 @@ Copyright © 2006 by Christophe Dumez<br> Disable - Desactivat + Desactivat connections - conexions + conexions @@ -309,20 +309,20 @@ Copyright © 2006 by Christophe Dumez<br> Enable directory scan (auto add torrent files inside) - Habilita escaneig de directoris(enganxa el arxius torrent automàticament) + Habilita escaneig de directoris(enganxa el arxius torrent automàticament) - + IP Filter - Filtre IP + Filtre IP - + Activate IP Filtering Activa Filtre IP - + Filter Settings Configurar Filtre @@ -342,37 +342,37 @@ Copyright © 2006 by Christophe Dumez<br> ipfilter.dat URL o Ruta: - + Start IP IP inici - + End IP IP final - + Origin Origen - + Comment Comentari Proxy - Proxy + Proxy Enable connection through a proxy server - Habilitar conexió mitjançant servidor proxy + Habilitar conexió mitjançant servidor proxy - + Proxy Settings Configurar Proxy @@ -382,39 +382,39 @@ Copyright © 2006 by Christophe Dumez<br> Servidor IP: - + 0.0.0.0 0.0.0.0 - + Port: Port: - + Authentication Autentificació User Name: - Nom usuari: + Nom usuari: - + Password: Contrasenya: Proxy server requires authentication - Servidor proxy requereix autentificació + Servidor proxy requereix autentificació Language - Llengua + Llengua @@ -472,12 +472,12 @@ Copyright © 2006 by Christophe Dumez<br> Aplicar - + Add Range Afegir Rang - + Remove Range Esborrar rang @@ -489,7 +489,7 @@ Copyright © 2006 by Christophe Dumez<br> ipfilter.dat Path: - ipfilter.dat Ruta: + ipfilter.dat Ruta: @@ -504,27 +504,27 @@ Copyright © 2006 by Christophe Dumez<br> Go to systray when minimizing window - Habilita la icona de la barra al minimitzar + Habilita la icona de la barra al minimitzar - + Misc - Misc + Misc Localization - Localització + Localització - + Language: Llengua: Behaviour - Comportament + Comportament @@ -547,19 +547,19 @@ Copyright © 2006 by Christophe Dumez<br> No mostrar OSD mai - + KiB/s KiB/s 1 KiB DL = - 1 KiB Desc. = + 1 KiB Desc. = KiB UP max. - Kib Puj. max. + Kib Puj. max. @@ -577,44 +577,44 @@ Copyright © 2006 by Christophe Dumez<br> Neteja automàticament les descàrregues finalitzades - + Preview program Programa per previsualitzar Audio/Video player: - Reproductor de Audio/Video: + Reproductor de Audio/Video: DHT configuration - Configuració DHT + Configuració DHT DHT port: - Port DHT: + Port DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Nota:</b>Els canvis s'aplicaran després de reiniciar qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Nota dels traductors:</b>Si qBittorrent no està disponible en la teva llengua, <br/>i si tu vols traduirlo a la teva llengua materna, <br/>si et plau contacta amb mí (chris@qbittorrent.org). + <b>Nota dels traductors:</b>Si qBittorrent no està disponible en la teva llengua, <br/>i si tu vols traduirlo a la teva llengua materna, <br/>si et plau contacta amb mí (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Mostrar el formulari del torrent afegit cada cop que jo afegeixo un torrent + Mostrar el formulari del torrent afegit cada cop que jo afegeixo un torrent Default save path - Ruta guardada per defecte + Ruta guardada per defecte @@ -624,183 +624,362 @@ Copyright © 2006 by Christophe Dumez<br> Always display systray messages - Mostrar sempre la barra de missatges + Mostrar sempre la barra de missatges Display systray messages only when window is hidden - Mostra barra de missatges només quan la finestra està invisible + Mostra barra de missatges només quan la finestra està invisible Never display systray messages - No mostrar mai la barra de missatges + No mostrar mai la barra de missatges - - Disable DHT (Trackerless) - - - - - Disable Peer eXchange (PeX) - - - - - Go to systray when closing main window - - - - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + Preferències + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + Descarregues + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + a + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + Usuari: + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -869,51 +1048,51 @@ Copyright © 2006 by Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - + This file is either corrupted or this isn't a torrent. Aquest arxiu està corrupte o no es un arxiu torrent. - + Couldn't listen on any of the given ports. No es pot obrir el port especificat. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... @@ -1017,7 +1196,7 @@ Copyright © 2006 by Christophe Dumez<br> iniciat. - + qBittorrent qBittorrent @@ -1037,12 +1216,12 @@ Copyright © 2006 by Christophe Dumez<br> Vel. Pujada: - + Open Torrent Files Arxius Torrent oberts - + Torrent Files Arxius Torrent @@ -1088,7 +1267,7 @@ Copyright © 2006 by Christophe Dumez<br> Aquest arxiu està corrupte o no es un arxiu torrent. - + Are you sure? -- qBittorrent Estàs segur? -- qBittorrent @@ -1098,12 +1277,12 @@ Copyright © 2006 by Christophe Dumez<br> Estàs segur de que vols buidar la llista de descàrregues? - + &Yes &Yes - + &No &No @@ -1113,7 +1292,7 @@ Copyright © 2006 by Christophe Dumez<br> Llista de descàrregues buidada. - + Are you sure you want to delete the selected item(s) in download list? Estàs segur de que vols esborrar les descàrregues seleccionades? @@ -1197,7 +1376,7 @@ Copyright © 2006 by Christophe Dumez<br> /s - + Finished Finalitzat @@ -1482,12 +1661,12 @@ Log: Pausat - + Preview process already running Previsualitzar els processos que corren - + There is already another preview process running. Please close the other one first. Hi ha un altre procés corrent. @@ -1532,7 +1711,7 @@ Si et plau tanca l'altre primer. Estàs segur que vols esborrar els objectes seleccionats de la llista de descàrregues i del disc dur? - + Download finished @@ -1554,17 +1733,17 @@ Si et plau tanca l'altre primer. - + Connection status: - + Offline - + No peers found... @@ -1617,13 +1796,13 @@ Si et plau tanca l'altre primer. Leechers - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s @@ -1641,12 +1820,12 @@ Si et plau tanca l'altre primer. Validant... - + Are you sure you want to quit? - + '%1' was removed. 'xxx.avi' was removed. @@ -1658,12 +1837,12 @@ Si et plau tanca l'altre primer. Res - + All downloads were paused. - + '%1' paused. xxx.avi paused. @@ -1675,52 +1854,52 @@ Si et plau tanca l'altre primer. Conectant... - + All downloads were resumed. - + '%1' resumed. e.g: xxx.avi resumed. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. - + I/O Error i.e: Input/Output Error I/O Error - + 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 - + Connection Status: - + Online - + Firewalled? i.e: Behind a firewall/router? - + No incoming connections... @@ -1731,139 +1910,176 @@ Si et plau tanca l'altre primer. Resultats - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. - + Search Cercar - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Downloads Descarregues - + Are you sure you want to delete the selected item(s) in finished list? - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -2181,24 +2397,24 @@ Are you sure you want to quit qBittorrent? Cert - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -2220,17 +2436,17 @@ Are you sure you want to quit qBittorrent? Cercar - + Delete Esborra - + Rename - + Refresh @@ -2240,118 +2456,133 @@ Are you sure you want to quit qBittorrent? Crear - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent Estàs segur? -- qBittorrent - + &Yes &Yes - + &No &No - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -2359,13 +2590,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -2373,68 +2604,63 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Nom - + Size i.e: file size Mida - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + Search engine Motor per cercar - + Empty search pattern Busqueda pare buida - + Please type a search pattern first Si us plau introduïu una busqueda pare primer - - - No search engine selected - - You must select at least one search engine. - Has de seleccionar un motor de busqueda. + Has de seleccionar un motor de busqueda. - + Results Resultats - + Searching... Cercant... Search plugin update -- qBittorrent - Actualització plugin de recerca -- qBittorrent + Actualització plugin de recerca -- qBittorrent @@ -2442,7 +2668,7 @@ Are you sure you want to quit qBittorrent? Changelog: - El plugin de recerca pot ser actualitzat, actualitzar? + El plugin de recerca pot ser actualitzat, actualitzar? Log: @@ -2450,73 +2676,58 @@ Log: &Yes - &Yes + &Yes &No - &No - - - - Search plugin update - - - - - qBittorrent - + &No Sorry, update server is temporarily unavailable. - Ho sento, el servidor per actualitzar està temporalment no disponible. + Ho sento, el servidor per actualitzar està temporalment no disponible. Your search plugin is already up to date. - El teu plugin de recerca torna a estar actualitzat. + El teu plugin de recerca torna a estar actualitzat. - + Search Engine Motor de Busqueda - + Search has finished - + An error occured during search... Hi ha hagut un error durant la recerca... - + Search aborted Recerca abortada - + Search returned no results La recerca no ha tornat Resultats - + Results i.e: Search results Resultats - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. - + + Unknown + Desconegut @@ -2618,17 +2829,17 @@ Log: Formulari d'addició de torrent - + Save path: Ruta guardada: - + ... ... - + Torrent content: Contingut del Torrent: @@ -2648,22 +2859,22 @@ Log: Seleccionat - + Download in correct order (slower but good for previewing) Descarrega en l'ordre correcte (més lent però més bona previsualització) - + Add to download list in paused state Afegeix a la llista de descàrregues en estat pausat - + Add Afegir - + Cancel Cancelar @@ -2678,22 +2889,22 @@ Log: Desseleccionat - + Ignored - + Normal - + High - + Maximum @@ -2759,10 +2970,10 @@ Log: Destination torrent file: - Arxiu torrent destí: + Arxiu torrent destí: - + Input file or directory: Entrar arxiu o directori: @@ -2774,15 +2985,15 @@ Log: ... - ... + ... Create - Crear + Crear - + Cancel Cancelar @@ -2822,45 +3033,110 @@ Log: <center>Comentari:</center> - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) + + Web seeds urls (optional): - - Web seeds urls (optional): + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... createtorrent - + Select destination torrent file Seleccionar arxiu torrent destí - + Torrent Files Arxius Torrent @@ -2870,22 +3146,22 @@ Log: Selecciona arxiu o directori d'entrada - + No destination path set - Ruta destí no especificada + Ruta destí no especificada - + Please type a destination path first - Si us plau, especifica una ruta destí primer + Si us plau, especifica una ruta destí primer - + No input path set Ruta d'entrada no especificada - + Please type an input path first Si us plau escriu una ruta d'entrada primer @@ -2900,12 +3176,12 @@ Log: Si us plau escriu una ruta d'entrada primer - + Torrent creation Crear Torrent - + Torrent was created successfully: Torrent creatamb éxit: @@ -2915,41 +3191,51 @@ Log: Entra una ruta vàlida primer si us plau - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -3072,34 +3358,218 @@ Log: Propietats del Torrent + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + Nom + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + Desactivat + + + + Uninstall + + + + + engineSelectDlg + + + True + Cert + + + + False + Fals + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + + + + + Sorry, update server is temporarily unavailable. + Ho sento, el servidor per actualitzar està temporalment no disponible. + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3123,36 +3593,36 @@ Log: d - + Unknown Desconegut - + Unknown Unknown (size) Desconegut - + < 1m < 1 minute - + %1m e.g: 10minutes - + %1h%2m e.g: 3hours 5minutes - + %1d%2h%3m e.g: 2days 10hours 2minutes @@ -3211,12 +3681,12 @@ Log: està malformada. - + Range Start IP Rang IP Inicial - + Start IP: IP Inicial: @@ -3231,22 +3701,22 @@ Log: Aquesta IP es incorrecta. - + Range End IP Rang IP Final - + End IP: IP Final: - + IP Range Comment Comentari Rang IP - + Comment: Comentari: @@ -3254,55 +3724,78 @@ Log: to <min port> to <max port> - a + a - + Choose your favourite preview program Escull el teu programa per previsualitzar - + Invalid IP IP Invàlida - + This IP is invalid. Aquesta IP es invalida. - + Options were saved successfully. - + Choose scan directory - + Choose an ipfilter.dat file - + Choose a save directory - + I/O Error Input/Output Error I/O Error - + Couldn't open %1 in read mode. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -3367,7 +3860,7 @@ Log: Propietats del Torrent - + OK Acceptar @@ -3412,12 +3905,12 @@ Log: Nom d'Arxiu - + Tracker Tracker - + Trackers: Trackers: @@ -3427,7 +3920,7 @@ Log: Trackers Actuals: - + Errors: Errors: @@ -3437,7 +3930,7 @@ Log: Contingut Torrent - + Files contained in current torrent: Arxiu continguts en el torrent actual: @@ -3457,7 +3950,7 @@ Log: Tu pots seleccionar aquí els arxius que vols descàrregar del torrent actual. - + Size Mida @@ -3507,12 +4000,12 @@ Log: Localitzant - + None - Unreachable? Res - No esta disponible? - + Unknown Desconegut @@ -3537,12 +4030,12 @@ Log: Cert - + Progress Progrès - + Main infos Informació Principal @@ -3552,27 +4045,27 @@ Log: Nombre d' amics: - + Current tracker: Pista Actual: - + Total uploaded: Total Pujat: - + Total downloaded: Total Descarregat: - + Total failed: Total fallats: - + Torrent content Contingut del torrent @@ -3582,7 +4075,7 @@ Log: Opcions - + Download in correct order (slower but good for previewing) Descarrega en l'ordre correcte (més lent però més bona previsualització) @@ -3602,204 +4095,219 @@ Log: Leechers: - + Save path: Ruta guardada: - + Torrent infos - + Creator: - + Torrent hash: - + Comment: Comentari: - + Current session - + Share ratio: Radi descàrrega: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name Nom del fitxer - + Priority - + qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message Res - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search Cercar Search Engines - Motor per cercar + Motor per cercar - + Search Pattern: Busqueda pare: - + Stop Parar - + Status: Estat: - + Stopped Parat - + Results: Resultats: - + Download Descàrrega - + Clear Neteja Update search plugin - Actualitza plugin de Recerca + Actualitza plugin de Recerca + + + + Search engines... + @@ -3858,57 +4366,57 @@ Log: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -3921,17 +4429,17 @@ Log: Cert - + Unable to decode torrent file: Deshabilita el decodificador d' arxius torrent: - + This file is either corrupted or this isn't a torrent. Aquest arxiu està corrupte o no es un arxiu torrent. - + Choose save path Escull ruta per salvar @@ -3941,52 +4449,52 @@ Log: Fals - + Empty save path Ruta buida - + Please enter a save path Si us plau entra una ruta salvada - + Save path creation error Guardar ruta creació d'error - + Could not create the save path No es pot creat la ruta guardada - + Invalid file selection Seleció invàlida de fitxer - + You must select at least one file in the torrent Has de seleccionar mínimament un fitxer en el torrent - + File name Nom del fitxer - + Size Mida - + Progress Progrès - + Priority diff --git a/src/lang/qbittorrent_da.qm b/src/lang/qbittorrent_da.qm index aca088938f0cebaae0a8d7a42faf7c67ae6f7b9c..26cd52cdebcd94a4fa2924223585fce963ec4041 100644 GIT binary patch delta 9352 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 Options - Indstillinger + Indstillinger Main - Generelle + Generelle Save Path: - Destination: + Destination: Download Limit: - Begræns download til: + Begræns download til: Upload Limit: - Begræns upload til: + Begræns upload til: Max Connects: - Max forbindelser: + Max forbindelser: - + Port range: Porte: - + ... ... Disable - Slå fra + Slå fra connections - forbindelser + forbindelser Proxy - Proxy + Proxy - + Proxy Settings Proxy indstillinger @@ -216,39 +216,39 @@ Copyright © 2006 by Christophe Dumez<br> Server IP: - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - Proxy serveren kræver godkendelse + Proxy serveren kræver godkendelse - + Authentication Godkendelse User Name: - Brugernavn: + Brugernavn: - + Password: Kodeord: Enable connection through a proxy server - Opret forbindelse gennem en proxy server + Opret forbindelse gennem en proxy server @@ -263,12 +263,12 @@ Copyright © 2006 by Christophe Dumez<br> Scanned Dir: - Scannet mappe: + Scannet mappe: Enable directory scan (auto add torrent files inside) - Tilkobl scanning af mappe (auto starter fundne torrent filer) + Tilkobl scanning af mappe (auto starter fundne torrent filer) @@ -278,35 +278,35 @@ Copyright © 2006 by Christophe Dumez<br> Share ratio: - Delingsforhold: + Delingsforhold: - + Activate IP Filtering Aktiver IP Filtrering - + Filter Settings Filter Indstillinger - + Start IP Fra IP - + End IP Til IP - + Origin Oprindelse - + Comment Kommentar @@ -316,24 +316,24 @@ Copyright © 2006 by Christophe Dumez<br> Anvend - + IP Filter - IP Filter + IP Filter - + Add Range Tilføj Adresser - + Remove Range Fjern Adresser ipfilter.dat Path: - Sti til ipfilter.dat: + Sti til ipfilter.dat: @@ -343,42 +343,42 @@ Copyright © 2006 by Christophe Dumez<br> Go to systray when minimizing window - Minimer til systray + Minimer til systray - + Misc - Diverse + Diverse Localization - Lokal-indstillinger + Lokal-indstillinger - + Language: Sprog: Behaviour - Opførsel + Opførsel - + KiB/s KB/s 1 KiB DL = - 1 KB DL = + 1 KB DL = KiB UP max. - KB UP maks. + KB UP maks. @@ -386,14 +386,14 @@ Copyright © 2006 by Christophe Dumez<br> Fjern automatisk færdige downloads - + Preview program Smugkig program Audio/Video player: - Medieafspiller: + Medieafspiller: @@ -403,218 +403,412 @@ Copyright © 2006 by Christophe Dumez<br> Always display systray messages - Vis altid systray meddelelser + Vis altid systray meddelelser Display systray messages only when window is hidden - Vis kun systray meddelelser når vinduet er skjult + Vis kun systray meddelelser når vinduet er skjult Never display systray messages - Vis aldrig systray meddelelser + Vis aldrig systray meddelelser DHT configuration - DHT konfiguration + DHT konfiguration DHT port: - DHT port: + DHT port: Language - Sprog + Sprog - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Bemærk:</b> Ændringer træder først i kraft efter genstart af qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Note til oversættere:</b> Hvis qBittorrent ikke er tilgængeligt på dit sprog, <br/>og du skulle have lyst til at oversætte det til dit modersmål, <br/>kontakt mig da venligst, gerne på engelsk (chris@qbittorrent.org). + <b>Note til oversættere:</b> Hvis qBittorrent ikke er tilgængeligt på dit sprog, <br/>og du skulle have lyst til at oversætte det til dit modersmål, <br/>kontakt mig da venligst, gerne på engelsk (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Vis dialogboksen for ny torrent når jeg tilføjer en + Vis dialogboksen for ny torrent når jeg tilføjer en Default save path - Standart mappe + Standart mappe Disable DHT (Trackerless) - Afbryd DHT (Trackerless) + Afbryd DHT (Trackerless) Disable Peer eXchange (PeX) - Afbryd Peer eXchange (PeX) + Afbryd Peer eXchange (PeX) Go to systray when closing main window - Luk ikke, men minimer til systray + Luk ikke, men minimer til systray - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + Indstillinger + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + til + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + Brugernavn: + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -683,51 +877,51 @@ Copyright © 2006 by Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' lagt til download listen. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' fortsat. (hurtig fortsættelse) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' findes allerede i download listen. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Kan ikke dekode torrent filen: '%1' - + This file is either corrupted or this isn't a torrent. Denne fil er enten korrupt eller ikke en torrent. - + Couldn't listen on any of the given ports. Kunne ikke lytte på de opgivne porte. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Downloader '%1', vent venligst... @@ -816,7 +1010,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Åbn Torrent Filer @@ -826,17 +1020,17 @@ Copyright © 2006 by Christophe Dumez<br> Denne fil er enten korrupt eller ikke en torrent. - + &Yes &Ja - + &No &Nej - + Are you sure you want to delete the selected item(s) in download list? Er du sikker på at du vil slette det markerede fra download listen? @@ -851,12 +1045,12 @@ Copyright © 2006 by Christophe Dumez<br> Downloader... - + Torrent Files Torrent Filer - + Are you sure? -- qBittorrent Er du sikker? -- qBittorrent @@ -947,12 +1141,12 @@ Changelog: Pauset - + Preview process already running Smugkig kører allerede - + There is already another preview process running. Please close the other one first. En anden Smugkigs proces kører allerede. @@ -964,7 +1158,7 @@ Luk venglist denne først. Overførsler - + Download finished Download afsluttet @@ -990,17 +1184,17 @@ Luk venglist denne først. qBittorrent %1 - + Connection status: Forbindelses status: - + Offline Offline - + No peers found... Ingen kilder fundet... @@ -1065,18 +1259,18 @@ Luk venglist denne først. qBittorrent %1 startet. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL hastighed: %1 KB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UP hastighed: %1 KB/s @@ -1100,12 +1294,12 @@ Luk venglist denne først. Gået i stå - + Are you sure you want to quit? Er du sikker på at du vil afslutte? - + '%1' was removed. 'xxx.avi' was removed. '%1' blev fjernet. @@ -1147,12 +1341,12 @@ Luk venglist denne først. Lytter på port: %1 - + All downloads were paused. Alle downloads blev sat på pause. - + '%1' paused. xxx.avi paused. '%1' blev sat på pause. @@ -1164,52 +1358,52 @@ Luk venglist denne først. Forbinder... - + All downloads were resumed. Alle downloads fortsættes. - + '%1' resumed. e.g: xxx.avi resumed. '%1' fortsat. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 er hentet færdig. - + I/O Error i.e: Input/Output Error I/O Fejl - + 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 Der opstod en fejl under forsøget på at skrive %1. Disken er måske fuld, downloaden er sat på pause - + Connection Status: Forbindelses Status: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Bag en Firewall? - + No incoming connections... Ingen indkommende forbindelser... @@ -1241,144 +1435,181 @@ Luk venglist denne først. Downloader '%1', vent venligst... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Der opstod en fejl (fuld disk?), '%1' sat på pause. - + Search Søg - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Downloads - + Finished Færdig - + Are you sure you want to delete the selected item(s) in finished list? - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -1611,24 +1842,24 @@ Are you sure you want to quit qBittorrent? Sandt - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -1642,17 +1873,17 @@ Are you sure you want to quit qBittorrent? Søg - + Delete Slet - + Rename - + Refresh @@ -1662,118 +1893,133 @@ Are you sure you want to quit qBittorrent? Opret - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent Er du sikker? -- qBittorrent - + &Yes &Ja - + &No &Nej - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -1781,13 +2027,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -1795,68 +2041,68 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Navn - + Size i.e: file size Størrelse - + Seeders i.e: Number of full sources Seedere - + Leechers i.e: Number of partial sources Leechere - + Search engine Søgemaskine - + Empty search pattern Tomt søge kriterie - + Please type a search pattern first Indtast venligst et søge kriterie først No search engine selected - Der er ikke valgt nogen søgemaskine + Der er ikke valgt nogen søgemaskine You must select at least one search engine. - Du skal vælge mindst en søgemaskine. + Du skal vælge mindst en søgemaskine. - + Results Resultater - + Searching... Søger... Search plugin update -- qBittorrent - Søge plugin opdatering -- qBittorrent + Søge plugin opdatering -- qBittorrent @@ -1864,7 +2110,7 @@ Are you sure you want to quit qBittorrent? Changelog: - Søge plugin kan opdateres, ønsker du at opdatere det? + Søge plugin kan opdateres, ønsker du at opdatere det? Ændringslog: @@ -1872,73 +2118,68 @@ Changelog: &Yes - &Ja + &Ja &No - &Nej + &Nej Search plugin update - Søge plugin opdatering + Søge plugin opdatering qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Beklager, opdaterings-serveren er midlertidigt utilgængelig. + Beklager, opdaterings-serveren er midlertidigt utilgængelig. Your search plugin is already up to date. - Dit søge plugin er allerede opdateret fuldt ud. + Dit søge plugin er allerede opdateret fuldt ud. - + Search Engine Søgemaskine - + Search has finished Søgningen er færdig - + An error occured during search... Der opstod en fejl under søgningen... - + Search aborted Søgning afbrudt - + Search returned no results Søgningen gav intet resultat - + Results i.e: Search results Resultater - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. - + + Unknown + Ukendt @@ -2020,17 +2261,17 @@ Changelog: Tilføj ny torrent - + Save path: Gem i: - + ... ... - + Torrent content: Indhold af torrent: @@ -2050,22 +2291,22 @@ Changelog: Valgt - + Download in correct order (slower but good for previewing) Download i korrekt rækkefølge (langsommere, men godt for smugkig) - + Add to download list in paused state Tilføj til download listen som sat på pause - + Add Tilføj - + Cancel Annuller @@ -2080,22 +2321,22 @@ Changelog: Vælg - + Ignored - + Normal - + High - + Maximum @@ -2161,15 +2402,15 @@ Changelog: ... - ... + ... Create - Opret + Opret - + Cancel Annuller @@ -2204,50 +2445,110 @@ Changelog: <center>Kommentar:</center> - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) - - - - - Destination torrent file: - - - - + Web seeds urls (optional): + + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... + + createtorrent - + Select destination torrent file Vælg destinations torrent fil - + Torrent Files Torrent FIler @@ -2257,22 +2558,22 @@ Changelog: Vælg input mapper eller fil - + No destination path set - Ingen destionations sti sat + Ingen destionations sti sat - + Please type a destination path first - Indtast venligst en destinations sti først + Indtast venligst en destinations sti først - + No input path set Der er ikke sat nogen sti til input - + Please type an input path first Indtast venligst en input sti først @@ -2282,12 +2583,12 @@ Changelog: Stien til input findes ikke - + Torrent creation Torrent oprettelse - + Torrent was created successfully: Torrent blev oprettet succesfuldt: @@ -2297,41 +2598,51 @@ Changelog: Indtast venligst en gyldig sti til input først - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -2454,69 +2765,253 @@ Changelog: + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + Navn + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + Slå fra + + + + Uninstall + + + + + engineSelectDlg + + + True + Sandt + + + + False + Falsk + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + Søge plugin opdatering + + + + Sorry, update server is temporarily unavailable. + Beklager, opdaterings-serveren er midlertidigt utilgængelig. + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes B - + KiB kibibytes (1024 bytes) KB - + MiB mebibytes (1024 kibibytes) MB - + GiB gibibytes (1024 mibibytes) GB - + TiB tebibytes (1024 gibibytes) TB - + Unknown Ukendt - + Unknown Unknown (size) Ukendt - + < 1m < 1 minute < 1 m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -2525,32 +3020,32 @@ Changelog: options_imp - + Range Start IP Første IP i rækken - + Start IP: Første IP: - + Range End IP Sidste IP i rækken - + End IP: Sidste IP: - + IP Range Comment IP Række Kommentar - + Comment: Kommentar: @@ -2558,55 +3053,78 @@ Changelog: to <min port> to <max port> - til + til - + Choose your favourite preview program Vælg dit foretrukne smugkig program - + Invalid IP Ugyldig IP - + This IP is invalid. Denne IP er ugyldig. - + Options were saved successfully. Indstillingerne blev gemt. - + Choose scan directory Vælg mappe til scan - + Choose an ipfilter.dat file Vælg en ipfilter.dat fil - + Choose a save directory Vælg en standart mappe - + I/O Error Input/Output Error I/O Fejl - + Couldn't open %1 in read mode. Kunne ikke åbne %1 til læsning. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -2681,22 +3199,22 @@ Changelog: Nuværende Session - + OK OK - + Unknown Ukendt - + Files contained in current torrent: Filer i torrent: - + Size Størrelse @@ -2721,62 +3239,62 @@ Changelog: Her kan du vælge hvike filer i denne torrent du ønsker og hente. - + Tracker Tracker - + Trackers: Trackere: - + None - Unreachable? Ingen - Kan ikke nås? - + Errors: Fejl: - + Progress Hentet - + Main infos Generel Info - + Current tracker: Nuværende tracker: - + Total uploaded: Sendt ialt: - + Total downloaded: Hentet ialt: - + Total failed: Fejlet ialt: - + Torrent content Indhold af torrent - + Download in correct order (slower but good for previewing) Hent i rækkefølge (langsommere, men godt for smugkig) @@ -2786,204 +3304,219 @@ Changelog: Delings Ratio: - + Save path: Gem til: - + Torrent infos - + Creator: - + Torrent hash: - + Comment: Kommentar: - + Current session - + Share ratio: Delingsforhold: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name Fil navn - + Priority - + qBittorrent qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message Intet - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search Søg Search Engines - Søgemaskiner + Søgemaskiner - + Search Pattern: Søg Efter: - + Stop Stop - + Status: Status: - + Stopped Stoppet - + Results: Resultater: - + Download - + Clear Ryd resultater Update search plugin - Opdater søge plugin + Opdater søge plugin + + + + Search engines... + @@ -3042,57 +3575,57 @@ Changelog: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -3105,17 +3638,17 @@ Changelog: Sandt - + Unable to decode torrent file: Kan ikke dekode torrent filen: - + This file is either corrupted or this isn't a torrent. Denne fil er enten korrupt eller ikke en torrent. - + Choose save path Gem til denne mappe @@ -3125,52 +3658,52 @@ Changelog: Falsk - + Empty save path Ingen mappe - + Please enter a save path Vælg venligst en mappe som der skal hentes til - + Save path creation error Fejl ved oprettelse af mappe - + Could not create the save path Kunne ikke oprette mappe svarende til den indtastede sti - + Invalid file selection Valg af filer ugyldigt - + You must select at least one file in the torrent Du skal vælge mindst en fil per torrent - + File name Fil navn - + Size Størrelse - + Progress Hentet - + Priority diff --git a/src/lang/qbittorrent_de.qm b/src/lang/qbittorrent_de.qm index c198ca5e7034b75937436703f0bca8fe90c1d1b1..8ccfeee73c245246fb87415ec6ec9160b8ff5137 100644 GIT binary patch delta 15420 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 G)&B)%k-G8# delta 10038 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 OqCSlXzISQ8@_zy89jqe& diff --git a/src/lang/qbittorrent_de.ts b/src/lang/qbittorrent_de.ts index eb6cfda27..b0f57a370 100644 --- a/src/lang/qbittorrent_de.ts +++ b/src/lang/qbittorrent_de.ts @@ -185,47 +185,47 @@ Copyright (c) 2006 Christophe Dumez<br> Optionen -- qBittorrent - + Options - Optionen + Optionen - + Main - Main + Main - + Scanned Dir: - Dursuchtes Verzeichnis: + Dursuchtes Verzeichnis: - + ... ... - + Save Path: - Speicher-Pfad: + Speicher-Pfad: - + Download Limit: - Download Begrenzung: + Download Begrenzung: - + Upload Limit: - Upload Begrenzung: + Upload Begrenzung: - + Max Connects: - Maximale Verbindungen: + Maximale Verbindungen: - + Port range: Port Bereich: @@ -235,14 +235,14 @@ Copyright (c) 2006 Christophe Dumez<br> Kb/s - + Disable - Deaktivieren + Deaktivieren - + connections - Verbindungen + Verbindungen @@ -250,22 +250,22 @@ Copyright (c) 2006 Christophe Dumez<br> zu - + Enable directory scan (auto add torrent files inside) - Aktiviere Verzeichnis Abfrage (fügt gefundene torrent Dateien automatisch hinzu) + Aktiviere Verzeichnis Abfrage (fügt gefundene torrent Dateien automatisch hinzu) - + Proxy - Proxy + Proxy - + Enable connection through a proxy server - Ermögliche Verbindungen über einen Proxy Server + Ermögliche Verbindungen über einen Proxy Server - + Proxy Settings Proxy Einstellungen @@ -275,39 +275,39 @@ Copyright (c) 2006 Christophe Dumez<br> Server IP: - + 0.0.0.0 0.0.0.0 - + Port: Port: - + Proxy server requires authentication - Proxy Server benötigt Authentifizierung + Proxy Server benötigt Authentifizierung - + Authentication Authentifizierung - + User Name: - Benutzer: + Benutzer: - + Password: Kennwort: - + Language - Sprache + Sprache @@ -335,9 +335,9 @@ Copyright (c) 2006 Christophe Dumez<br> Verbindungs-Einstellungen - + Share ratio: - Share Verhältnis: + Share Verhältnis: @@ -345,12 +345,12 @@ Copyright (c) 2006 Christophe Dumez<br> KB UP max. - + Activate IP Filtering Aktiviere IP Filter - + Filter Settings Filter Einstellungen @@ -360,12 +360,12 @@ Copyright (c) 2006 Christophe Dumez<br> ipfilter.dat URL oder PATH: - + Origin Ursprung - + Comment Kommentar @@ -375,19 +375,19 @@ Copyright (c) 2006 Christophe Dumez<br> Anwenden - + Add Range Bereich hinzufügen - + Remove Range Bereich entfernen - + ipfilter.dat Path: - ipfilter.dat Pfad: + ipfilter.dat Pfad: @@ -400,29 +400,29 @@ Copyright (c) 2006 Christophe Dumez<br> Beenden bestätigen - + Go to systray when minimizing window - In den SysTray minimieren + In den SysTray minimieren - + Misc Sonstige - + Localization - Lokalisation + Lokalisation - + Language: Sprache: - + Behaviour - Verhalten + Verhalten @@ -440,9 +440,9 @@ Copyright (c) 2006 Christophe Dumez<br> OSD nie anzeigen - + KiB UP max. - KB UP max. + KB UP max. @@ -460,69 +460,69 @@ Copyright (c) 2006 Christophe Dumez<br> Abgeschlossene Downloads automatisch beseitigen - + Preview program Vorschau Programm - + Audio/Video player: - Audio/Video Player: + Audio/Video Player: - + KiB/s Kb/s - + 1 KiB DL = - 1 KiB DL = + 1 KiB DL = - + DHT configuration - DHT Konfiguration + DHT Konfiguration - + DHT port: - DHT Port: + DHT Port: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Hinweis</b> Änderung werden erst beim nächsten Start von qBittorrent aktiv. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Hinweis für Übersetzer</b> Falls qBittorrent nicht in Ihrer Sprache erhältich ist <br>und Sie es in Ihre Muttersprache übersetzen wollen, so setzen Sie sich bitte mit mir in Verbindung (chris@qbittorrent.org). + <b>Hinweis für Übersetzer</b> Falls qBittorrent nicht in Ihrer Sprache erhältich ist <br>und Sie es in Ihre Muttersprache übersetzen wollen, so setzen Sie sich bitte mit mir in Verbindung (chris@qbittorrent.org). - + IP Filter - IP Filter + IP Filter - + Start IP Start IP - + End IP End IP - + Display a torrent addition dialog everytime I add a torrent - Immer Dialog zum hinzufügen eines Torrents öffnen, wenn ich einen Torrent hinzufüge + Immer Dialog zum hinzufügen eines Torrents öffnen, wenn ich einen Torrent hinzufüge - + Default save path - Vorgegebener Speicher Pfad + Vorgegebener Speicher Pfad @@ -530,185 +530,464 @@ Copyright (c) 2006 Christophe Dumez<br> Systray Nachrichten - + Always display systray messages - Systray Nachrichten immer anzeigen + Systray Nachrichten immer anzeigen - + Display systray messages only when window is hidden - Systray Nachrichten nur anzeigen wenn das Fenster nicht sichtbar ist + Systray Nachrichten nur anzeigen wenn das Fenster nicht sichtbar ist - + Never display systray messages - Systray Nachrichten nie anzeigen + Systray Nachrichten nie anzeigen - + Disable DHT (Trackerless) - Deaktiviere DHT (ohne Tracker) + Deaktiviere DHT (ohne Tracker) - + Disable Peer eXchange (PeX) - Deaktiviere Peer eXchange (PeX) + Deaktiviere Peer eXchange (PeX) - + Go to systray when closing main window - In den SysTray minimieren, wenn das Hauptfenster geschlossen wird + In den SysTray minimieren, wenn das Hauptfenster geschlossen wird - + Connection Verbindung - + Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) - + DHT (trackerless) - DHT (Trackerlos) + DHT (Trackerlos) - + Torrent addition - Torrent hinzufügen + Torrent hinzufügen - + Main window - Hauptfenster + Hauptfenster - + Systray messages - Systray Nachrichten + Systray Nachrichten - + Directory scan - Verzeichnis durchsuchen + Verzeichnis durchsuchen - + Style (Look 'n Feel) - Aussehen (Look 'n Feel) + Aussehen (Look 'n Feel) - + Plastique style (KDE like) Plastique Stil (wie KDE) - + Cleanlooks style (GNOME like) - Cleanlooks Stil (wie GNOME) + Cleanlooks Stil (wie GNOME) - + Motif style (default Qt style on Unix systems) - Motif Stil (standartmäßiger Qt Stil auf Unix Systemen) + Motif Stil (standartmäßiger Qt Stil auf Unix Systemen) - + CDE style (Common Desktop Environment like) CDE Stil (wie Common Desktop Environment) - + MacOS style (MacOSX only) - MacOS Stil (nur MacOSX) + MacOS Stil (nur MacOSX) - + Exit confirmation when the download list is not empty - Beenden bestätigen, wenn die Download Liste nicht leer ist + Beenden bestätigen, wenn die Download Liste nicht leer ist - + Disable systray integration - Deaktiviere die Einbindung in den Systray + Deaktiviere die Einbindung in den Systray - + WindowsXP style (Windows XP only) - WindowsXP Stil (nur Windows XP) + WindowsXP Stil (nur Windows XP) - + Server IP or url: - Server IP oder URL: + Server IP oder URL: - + Proxy type: - Proxy Typ: + Proxy Typ: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Betroffene Verbindungen - + Use proxy for connections to trackers Benutze den Proxy für die Verbindung zu Trackern - + Use proxy for connections to regular peers Benutze den Proxy für die Verbindung zu den normalen Quellen - + Use proxy for connections to web seeds Benutze den Proxy für die Verbindung zu Web Seeds - + Use proxy for DHT messages Benutze den Proxy für DHT Nachrichten - + Encryption - Verschlüsselung + Verschlüsselung - + Encryption state: - Verschlüsselungsstatus: + Verschlüsselungsstatus: - + Enabled Aktiviert - + Forced Erzwungen - + Disabled Deaktiviert + + + Preferences + Einstellungen + + + + General + Allgemein + + + + User interface settings + Benutzer-Interface Einstellungen + + + + Visual style: + Visueller Stil: + + + + Cleanlooks style (Gnome like) + Cleanlooks Stil (wie in Gnome) + + + + Motif style (Unix like) + Motif Stil (Unixartig) + + + + Ask for confirmation on exit when download list is not empty + Beenden bestötigen, wenn Download-Liste nicht leer + + + + Display current speed in title bar + Zeige derzeitige Geschwindigkeit in der Titel Leiste + + + + System tray icon + Symbol im Infobereich der Taskleiste + + + + Disable system tray icon + Deaktiviere Bild im Infobereich der Taskleiste + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + In den Infobereich der Tasklleiste schliessen + + + + Minimize to tray + In den Infobereich der Taskleiste minimieren + + + + Show notification balloons in tray + Zeige Benachrichtigungs Ballons im Infobereich der Taskleiste + + + + Media player: + Media player: + + + + Downloads + Downloads + + + + Put downloads in this folder: + Lege Downloads in diesen Ordner: + + + + Pre-allocate all files + Allen Dateien Speicherplatz im vorhinein zuweisen + + + + When adding a torrent + Sobald ein Torrent hinzugefügt wird + + + + Display torrent content and some options + Zeige Torrent Inhalt und einige Optionen + + + + Do not start download automatically + The torrent will be added to download list in pause state + Download nicht automatisch starten + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Beobachte Ordner + + + + Automatically download torrents present in this folder: + Lade Torrents in diesem Ordner automatisch: + + + + Listening port + Port auf dem gelauscht wird + + + + to + i.e: 1200 to 1300 + bis + + + + Enable UPnP port mapping + Aktiviere UPnP Port Mapping + + + + Enable NAT-PMP port mapping + Aktiviere NAP-PMP Port Mapping + + + + Global bandwidth limiting + Globale bandbreiten Limitierung + + + + Upload: + Upload: + + + + Download: + Download: + + + + Type: + Typ: + + + + (None) + (Keine) + + + + Proxy: + Proxy: + + + + Username: + Benutzername: + + + + Bittorrent + Biittorrent + + + + Connections limit + Verbindungsbeschränkung + + + + Global maximum number of connections: + Globale maximale Anzahl der Verbindungen: + + + + Maximum number of connections per torrent: + Maximale Anzahl der Verbindungen pro Torrent: + + + + Maximum number of upload slots per torrent: + Maximale Anzahl der Upload-Slots pro Torrent: + + + + Additional Bittorrent features + Weitere Bittorrent Funktionen + + + + Enable DHT network (decentralized) + Aktiviere DHT Netzwerk (dezentralisiert) + + + + Enable Peer eXchange (PeX) + Aktiviere Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Aktiviere Lokale Peer Auffindung + + + + Encryption: + Verschlüssellung: + + + + Share ratio settings + Share Verhältnis Einstellungen + + + + Desired ratio: + Gewünschtes Verhältnis: + + + + Filter file path: + Pfad zur Filter-Datei: + + + + transfer lists refresh interval: + Aktualisierungsinterval der Übetragungslisten: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Aktualisierungsintervall für RSS Feeds: + + + + minutes + Minuten + + + + Maximum number of articles per feed: + Maximale Anzahl von Artikeln pro Feed: + + + + File system + Datei System + + + + Remove finished torrents when their ratio reaches: + Entferne beendete Torrents bei einem Verhältnis von: + + + + System default + + DownloadingTorrents @@ -716,115 +995,115 @@ Copyright (c) 2006 Christophe Dumez<br> Name i.e: file name - Name + Name Size i.e: file size - + Größe Progress i.e: % downloaded - + Fortschritt DL Speed i.e: Download speed - DL Geschwindigkeit + DL Geschwindigkeit UP Speed i.e: Upload speed - UP Geschwindigkeit + UP Geschwindigkeit Seeds/Leechs i.e: full/partial sources - Seeder/Leecher + Seeder/Leecher Ratio - Verhältnis + Verhältnis ETA i.e: Estimated Time of Arrival / Time left - + voraussichtliche Ankunftszeit qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 gestartet. + qBittorrent %1 gestartet. Be careful, sharing copyrighted material without permission is against the law. - ACHTUNG! Die Verbreitung von urheberrechlich geschütztem Material ist gegen das Gesetz. + Vorsicht! Die Verbreitung von urheberrechlich geschütztem Material ist gesetzeswidrig. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>wurde geblockt</i> + <font color='red'>%1</font> <i>wurde geblockt</i> - + Fast resume data was rejected for torrent %1, checking again... - Fast-Resume Daten wurden zurückgewiesen für torrent %1, prüfe nochmal... + Fast-Resume Daten für den Torrent %1 wurden zurückgewiesen, prüfe nochmal... - + Url seed lookup failed for url: %1, message: %2 - URL Seed Lookup fehlgeschlagen für URL: %1, Begründung: %2 + URL Seed Lookup für die URL: %1 ist fehlgeschlagen, Begründung: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' wurde der Download Liste hinzugefügt. + '%1' zur Download Liste hinzugefügt. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' wird fortgesetzt. (Schnelles Fortsetzen) + '%1' wird fortgesetzt. (Schnelles Fortsetzen) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' befindet sich bereits in der Download Liste. + '%1' befindet sich bereits in der Download Liste. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Kann Torrent Datei '%1' nicht dekodieren + Kann Torrent Datei '%1' nicht dekodieren - + This file is either corrupted or this isn't a torrent. - + Diese Datei ist entweder beschädigt, oder sie ist kein Torrent. - + Couldn't listen on any of the given ports. - Konnte nicht auf den angegebenen Ports lauschen. + Konnte nicht auf den angegebenen Ports lauschen. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Lade '%1', bitte warten... + Lade '%1', bitte warten... @@ -838,7 +1117,7 @@ Copyright (c) 2006 Christophe Dumez<br> FinishedTorrents - + Finished Beendet @@ -920,7 +1199,7 @@ Copyright (c) 2006 Christophe Dumez<br> :: By Christophe Dumez :: Copyright (c) 2006 - + qBittorrent qBittorrent @@ -945,12 +1224,12 @@ Copyright (c) 2006 Christophe Dumez<br> UP Geschwindigkeit: - + Open Torrent Files Öffne Torrent Dateien - + Torrent Files Torrent Dateien @@ -996,12 +1275,12 @@ Copyright (c) 2006 Christophe Dumez<br> Torrent Datei kann nicht dekodiert werden: - + This file is either corrupted or this isn't a torrent. Diese Datei ist entweder beschädigt, oder kein torrent. - + Are you sure? -- qBittorrent Sind Sie sicher? -- qBittorrent @@ -1011,12 +1290,12 @@ Copyright (c) 2006 Christophe Dumez<br> Wollen Sie wirklich alle Dateien aus der Download Liste löschen? - + &Yes &Ja - + &No &Nein @@ -1026,7 +1305,7 @@ Copyright (c) 2006 Christophe Dumez<br> Download Liste gelöscht. - + Are you sure you want to delete the selected item(s) in download list? Wollen Sie wirklich die ausgewählten Elemente aus der Download Liste löschen? @@ -1099,7 +1378,7 @@ Copyright (c) 2006 Christophe Dumez<br> <b>qBittorrent</b><br>DL Geschwindigkeit: - + Finished Beendet @@ -1148,7 +1427,7 @@ Copyright (c) 2006 Christophe Dumez<br> Konnte nicht auf den angegebenen Ports lauschen. - + Couldn't listen on any of the given ports. Konnte nicht auf den angegebenen Ports lauschen. @@ -1370,12 +1649,12 @@ Changelog: Pausiert - + Preview process already running Vorschau Prozess läuft bereits - + There is already another preview process running. Please close the other one first. Ein anderer Vorschau Prozess läuft zu Zeit. @@ -1420,7 +1699,7 @@ Bitte schliessen Sie diesen zuerst. Wollen Sie wirklich die ausgewählten Elemente aus der Download Liste und von der Festplatte löschen? - + Download finished Download abgeschlossen @@ -1442,58 +1721,58 @@ Bitte schliessen Sie diesen zuerst. qBittorrent %1 - + Connection status: Verbindungs Status: - + Offline Offline - + No peers found... Keine Peers gefunden... - + Name i.e: file name Name - + Size i.e: file size Größe - + Progress i.e: % downloaded Verlauf - + DL Speed i.e: Download speed DL Geschwindigkeit - + UP Speed i.e: Upload speed UP Geschwindigkeit - + Seeds/Leechs i.e: full/partial sources Seeder/Leecher - + ETA i.e: Estimated Time of Arrival / Time left voraussichtliche Ankunftszeit @@ -1511,19 +1790,19 @@ Bitte schliessen Sie diesen zuerst. Leecher - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 gestartet. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL Geschwindigkeit: %1 KB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UP Geschwindigkeit: %1 KiB/s @@ -1547,36 +1826,36 @@ Bitte schliessen Sie diesen zuerst. Angehalten - + Are you sure you want to quit? Wollen Sie wirklich beenden? - + '%1' was removed. 'xxx.avi' was removed. '%1' wurde entfernt. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' wurde der Download Liste hinzugefügt. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' wird fortgesetzt. (Schnelles Fortsetzen) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' befindet sich bereits in der Download Liste. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Kann Torrent Datei '%1' nicht dekodieren @@ -1594,12 +1873,12 @@ Bitte schliessen Sie diesen zuerst. Lausche auf Port: %1 - + All downloads were paused. Alle Downloads wurden angehalten. - + '%1' paused. xxx.avi paused. '%1' angehalten. @@ -1611,30 +1890,30 @@ Bitte schliessen Sie diesen zuerst. Verbinde... - + All downloads were resumed. Alle Downloads wurden fortgesetzt. - + '%1' resumed. e.g: xxx.avi resumed. '%1' fortgesetzt. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 vollständig heruntergeladen. - + I/O Error i.e: Input/Output Error I/O Error - + 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 Es ist ein Fehler beim lesen oder schreiben von %1 aufgetreten. Die Festplatte ist vermutlich voll. Der Download wurde angehalten @@ -1646,23 +1925,23 @@ Bitte schliessen Sie diesen zuerst. Ein Fehler ist aufgetreten (Festplatte voll?), '%1' angehalten. - + Connection Status: Verbindungs-Status: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Hinter einer Firewall/Router? - + No incoming connections... Keine eingehenden Verbindungen... @@ -1688,62 +1967,62 @@ Bitte schliessen Sie diesen zuerst. Ergebnisse - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Lade '%1', bitte warten... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Ein Fehler ist aufgetreten (Festplatte voll?), '%1' angehalten. - + Search Suche - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent lauscht auf Port: %1 - + DHT support [ON], port: %1 DHT Unterstützung [Aktiviert], port: %1 - + DHT support [OFF] DHT Unterstützung [Deaktiviert] - + PeX support [ON] PeX Unterstützung [Aktiviert] - + PeX support [OFF] PeX Unterstützung [Deaktiviert] - + The download list is not empty. Are you sure you want to quit qBittorrent? Die Download Liste ist nicht leer. Möchten sie qBittorrent wirklich beenden? - + Downloads Downloads @@ -1753,54 +2032,54 @@ Möchten sie qBittorrent wirklich beenden? Wollen Sie wirklich die ausgewählten Elemente aus der Beendet Liste und von der Festplatte löschen? - + Are you sure you want to delete the selected item(s) in finished list? Wollen Sie wirklich die ausgewählten Elemente aus der Beendet Liste löschen? - + UPnP support [ON] UPNP Unterstützung [Aktiviert] - + Be careful, sharing copyrighted material without permission is against the law. ACHTUNG! Die Verbreitung von urheberrechlich geschütztem Material ist gegen das Gesetz. - + Encryption support [ON] Verschlüsselung Unterstützung [Aktiviert] - + Encryption support [FORCED] Verschlüsselung Unterstützung [Erzwungen] - + Encryption support [OFF] Verschlüsselungs-Unterstützung [Deaktiviert] - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <font color='red'>%1</font> <i>wurde geblockt</i> - + Ratio Verhältnis - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1812,58 +2091,95 @@ Möchten sie qBittorrent wirklich beenden? Alt+3, Strg+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error URL Download Fehler - + Couldn't download file at url: %1, reason: %2. Konnte Datei von URL: %1 nicht laden, Begründung: %2. - + Fast resume data was rejected for torrent %1, checking again... Fast-Resume Daten wurden zurückgewiesen für torrent %1, prüfe nochmal... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Sind Sie sicher, daß Sie die ausgewählten Einträge aus der Download Liste und von der Festplatte löschen möchten? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Sind Sie sicher, daß Sie die ausgewählten Einträge aus der Beendet Liste und von der Festplatte löschen möchten? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' wurde endgültig gelöscht. - + Url seed lookup failed for url: %1, message: %2 URL Seed Lookup fehlgeschlagen für URL: %1, Begründung: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Strg+F + + + + UPnP support [OFF] + UPnP Unterstützung [AUS] + + + + NAT-PMP support [ON] + NAT-PMP Unterstützung [AN] + + + + NAT-PMP support [OFF] + NAT-PMP Unterstützung [AUS] + + + + Local Peer Discovery [ON] + Lokale Peer Auffindung [AN] + + + + Local Peer Discovery support [OFF] + Unterstützung für Lokale Peer Auffindung [AUS] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' wurde entfernt, weil das von Ihnen eingestellte maximale Verhältnis erreicht wurde. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) @@ -1879,7 +2195,7 @@ Möchten sie qBittorrent wirklich beenden? Log: - + Total DL Speed: Gesamte DL Geschwindigkeit: @@ -1889,7 +2205,7 @@ Möchten sie qBittorrent wirklich beenden? Kb/s - + Total UP Speed: Gesamte UP Geschwindigkeit: @@ -2069,7 +2385,7 @@ Möchten sie qBittorrent wirklich beenden? Leeren - + KiB/s KB/s @@ -2089,7 +2405,7 @@ Möchten sie qBittorrent wirklich beenden? "Such"-Plugin updaten - + Session ratio: Sitzungs Verhältniss: @@ -2124,7 +2440,7 @@ Möchten sie qBittorrent wirklich beenden? Einen Fehler melden - + Downloads Downloads @@ -2139,12 +2455,12 @@ Möchten sie qBittorrent wirklich beenden? Setze Download Begrenzung - + Log Log - + IP filter IP Filter @@ -2177,24 +2493,24 @@ Möchten sie qBittorrent wirklich beenden? Wahr - + Ignored Ignoriert - + Normal Normal (priority) Normal - + High High (priority) Hoch - + Maximum Maximum (priority) Maximum @@ -2216,17 +2532,17 @@ Möchten sie qBittorrent wirklich beenden? Suche - + Delete Löschen - + Rename Umbenennen - + Refresh Aktualisieren @@ -2236,70 +2552,75 @@ Möchten sie qBittorrent wirklich beenden? Erstellen - + Delete selected streams Lösche ausgewählte Streams - + Refresh RSS streams Aktualisiere RSS Streams - + Add a new RSS stream neuen RSS Stream hinzufügen - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>News:</b> <i>(Doppelklick um den Link im Webbrowser zu öffnen)</i> - + Add RSS stream RSS Stream hinzufügen - + Refresh all streams Aktualisiere alle Streams - + RSS streams: RSS Streams: - + 2 2 + + + Mark all as read + Markiere alle als gelesen + RSSImp - + Please type a rss stream url Bitte eine RSS Stream Adresse eingeben - + Stream URL: Stream URL: - + Please choose a new name for this stream Bitte wählen sie einen neuen Namen für diesen Stream - + New stream name: Neuer Stream Name: - + Are you sure? -- qBittorrent Sind Sie sicher? -- qBittorrent @@ -2309,12 +2630,12 @@ Möchten sie qBittorrent wirklich beenden? Möchten sie den Stream wirklich aus der Liste löschen? - + &Yes &Ja - + &No &Nein @@ -2329,40 +2650,50 @@ Möchten sie qBittorrent wirklich beenden? keine Beschreibung verfügbar - + Are you sure you want to delete this stream from the list? Möchten sie den Stream wirklich aus der Liste löschen? - + Description: Beschreibung: - + url: URL: - + Last refresh: Letzte Aktualisierung: - + qBittorrent qBittorrent - + This rss feed is already in the list. Dieser RSS-Feed ist bereits in der Liste. + + + Date: + Datum: + + + + Author: + Autor: + RssItem - + No description available Keine Beschreibung vorhanden @@ -2370,13 +2701,13 @@ Möchten sie qBittorrent wirklich beenden? RssStream - + %1 ago 10min ago vor %1 - + Never Niemals @@ -2384,150 +2715,155 @@ Möchten sie qBittorrent wirklich beenden? SearchEngine - + Name i.e: file name Name - + Size i.e: file size Größe - + Seeders i.e: Number of full sources Seeder - + Leechers i.e: Number of partial sources Leecher - + Search engine Suchmaschine - + Empty search pattern Leere Suchanfrage - + Please type a search pattern first Bitte geben Sie zuerst eine Suchanfrage ein - + No search engine selected - Keine Suchmaschine ausgewählt + Keine Suchmaschine ausgewählt - + You must select at least one search engine. - Sie müssen mindestens eine Suchmaschine auswählen. + Sie müssen mindestens eine Suchmaschine auswählen. - + Results Ergebnisse - + Searching... Suche... - + Search plugin update -- qBittorrent - "Such"-Plugin update -- qBittorrent + "Such"-Plugin update -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Es liegt eine neuere Version des "Such"-Plugins bereit. Möchten sie updaten? + Es liegt eine neuere Version des "Such"-Plugins bereit. Möchten sie updaten? Changelog: - + &Yes - &Ja + &Ja - + &No - &Nein + &Nein - + Search plugin update - Such-Plugin update + Such-Plugin update - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Update Server vorübergehend nicht erreichbar. + Update Server vorübergehend nicht erreichbar. - + Your search plugin is already up to date. - "Such"-Plugin ist schon auf dem neuesten Stand. + "Such"-Plugin ist schon auf dem neuesten Stand. - + Search Engine Suchmaschine - + Search has finished Suche abgeschlossen - + An error occured during search... Während der Suche ist ein Fehler aufgetreten ... - + Search aborted Suche abgebrochen - + Search returned no results Suche lieferte keine Ergebnisse - + Results i.e: Search results Ergebnisse - + Search plugin download error - Such-Plugin Download Fehler + Such-Plugin Download Fehler - + Couldn't download search plugin update at url: %1, reason: %2. - Konnte Such-Plugin Update nicht von URL: %1 laden, Begründung: %2. + Konnte Such-Plugin Update nicht von URL: %1 laden, Begründung: %2. + + + + Unknown + Unbekannt @@ -2639,17 +2975,17 @@ Changelog: Dialog zum hinzufügen eines Torrent - + Save path: Speicher-Pfad: - + ... ... - + Torrent content: Torrent Inhalt: @@ -2669,22 +3005,22 @@ Changelog: Ausgewählt - + Download in correct order (slower but good for previewing) In richtiger Reihenfolge herunterladen (langsamer, aber besser zum Vorschauen) - + Add to download list in paused state Der Download Liste im Pause-Modus hinzufügen - + Add Hinzufügen - + Cancel Abbrechen @@ -2704,22 +3040,22 @@ Changelog: Auswählen - + Ignored Ignoriert - + Normal Normal - + High Hoch - + Maximum Maximum @@ -2783,9 +3119,9 @@ Changelog: Erstelle Torrent Datei - + Destination torrent file: - Ziel-Torrent Datei: + Ziel-Torrent Datei: @@ -2798,17 +3134,17 @@ Changelog: Kommentar: - + ... - ... + ... - + Create - Erstellen + Erstellen - + Cancel Abbrechen @@ -2848,45 +3184,120 @@ Changelog: <center>Kommentar:</center> - + Torrent file creation Torrent-Datei Erstellung - + Input files or directories: - Eingangs-Dateien oder -Verzeichnisse: + Eingangs-Dateien oder -Verzeichnisse: - + Announce urls (trackers): Announce URLs (Tracker): - + Comment (optional): Kommentar (optional): - + Private (won't be distributed on trackerless network / DHT if enabled) - Privat (wird nicht im Trackerlosen Netzwerk / DHT verbreitet, wenn aktiviert) + Privat (wird nicht im Trackerlosen Netzwerk / DHT verbreitet, wenn aktiviert) - + Web seeds urls (optional): Web Seeds URLs (optional): + + + File or folder to add to the torrent: + Datei oder Ordner die dem Torrent hinzugefügt werden: + + + + Add a file + Datei hinzufügen + + + + Add a folder + Ordner hinzufügen + + + + Piece size: + Größe der Stücke: + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + Privat (wird nicht an das DHT Netzwerk verteilt) + + + + Start seeding after creation + Beginne Seeding nach Erstellung + + + + Create and save... + Erstellen und speichern... + createtorrent - + Select destination torrent file Ziel-Torrent Datei auswählen - + Torrent Files Torrent Dateien @@ -2896,22 +3307,22 @@ Changelog: Eingangs-Datei oder -Verzeichnis wählen - + No destination path set - Kein Ziel-Pfad gesetzt + Kein Ziel-Pfad gesetzt - + Please type a destination path first - Bitte geben Sie zuerst einen Zielpfad ein + Bitte geben Sie zuerst einen Zielpfad ein - + No input path set Kein Eingangs-Pfad gesetzt - + Please type an input path first Bitte geben Sie zuerst einen Eingangspfad an @@ -2926,12 +3337,12 @@ Changelog: Bitte geben Sie einen gültigen Eingangs-Pfad an - + Torrent creation Torrent Erstellung - + Torrent was created successfully: Torrent erfolgreich erstellt: @@ -2941,41 +3352,56 @@ Changelog: Bitte geben Sie zuerst einen gültigen Eingangs Pfad ein - + Select a folder to add to the torrent Ordner wählen um ihn dem Torrent hinzuzufügen - + Select files to add to the torrent - Dateien wählen um sie dem Torrent hinzuzufügen + Dateien wählen um sie dem Torrent hinzuzufügen - + Please type an announce URL Bitte Announce URL eingeben - + Torrent creation was unsuccessful, reason: %1 Torrent Erstellung nicht erfolgreich, Grund: %1 - + Announce URL: Tracker URL Announce URL: - + Please type a web seed url Bitte Web Seed URL eingeben - + Web seed URL: Web Seed URL: + + + Select a file to add to the torrent + Datei wählen um sie dem Torrent hinzuzufügen + + + + No tracker path set + Pfad zu Tracker nicht gesetzt + + + + Please set at least one tracker + Bitte geben Sie mindestens einen Tracker an + downloadFromURL @@ -3020,112 +3446,327 @@ Changelog: Search - Suche + Suche Total DL Speed: - Gesamte DL Geschwindigkeit: + Gesamte DL Geschwindigkeit: KiB/s - + KiB/s Session ratio: - Sitzungs Verhältniss: + Sitzungs Verhältniss: Total UP Speed: - Gesamte UP Geschwindigkeit: + Gesamte UP Geschwindigkeit: Log - Log + Log IP filter - IP Filter + IP Filter Start - Start + Start Pause - Anhalten + Anhalten Delete - Löschen + Löschen Clear - Leeren + Leeren Preview file - Vorschau Datei + Vorschau Datei Set upload limit - + Upload Begrenzung einstellen Set download limit - Setze Download Begrenzung + Download Begrenzung einstellen Delete Permanently - Endgültig löschen + Endgültig löschen Torrent Properties - Torrent Eigenschaften + Torrent Eigenschaften + + + + engineSelect + + + Search plugins + Suchplugins + + + + Installed search engines: + Installierte Suchmaschinen: + + + + Name + Name + + + + Url + URL + + + + Enabled + Aktiviert + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Sie können neue Suchmaschinen Plugins hier herunterladen: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Intalliere ein neue + + + + Check for updates + Auf Updates prüfen + + + + Close + Schließen + + + + Enable + Aktivieren + + + + Disable + Deaktivieren + + + + Uninstall + Deinstallieren + + + + engineSelectDlg + + + True + Wahr + + + + False + Falsch + + + + Uninstall warning + Deinstallations Warnung + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Einige Plugins konnten nicht deinstalliert werden, da sie ein fester Bestandteil von qBitttorrent sind. + Nur Plugins, die sie selber installiert haben können wieder entfernt werden. +Die Plugins wurden jedoch deaktiviert. + + + + Uninstall success + Deinstallation erfolgreich + + + + All selected plugins were uninstalled successfuly + Alle ausgewählten Plugins wurden erfolgreich deinstalliert + + + + Select search plugins + Wähle Suchplugin + + + + qBittorrent search plugins + qBittorrent Suchplugins + + + + Search plugin install + Suchplugin installieren + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Eine neuere Version des Suchmaschinen Plugins %1 ist bereits installiert. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Das Suchmaschinen Plugin %1 wurde erfolgreich geupdated. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Das Suchmaschinen Plugin wurde erfolgreich installiert. + + + + Search plugin update + Such-Plugin update + + + + Sorry, update server is temporarily unavailable. + Update Server vorübergehend nicht erreichbar. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Das Suchplugin %1 wurde erfolgreich geupdated. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Update des Suchplugins %1 fehlgeschlagen. + + + + All your plugins are already up to date. + Alle Plugins sind auf dem neuesten Stand. + + + + All selected plugins were uninstalled successfully + Alle ausgewählten Plugins wurden erfolgreich deinstalliert + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 Suchmaschinen Plugin konnte nich aktualisiert werden, behalte alte Version. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1 Suchmaschinen Plugin konnte nicht installiert werden. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1 Suchmaschinen Plugin wurder erfolgreich geupdated. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1 Suchmaschinen Plugin wurde erfolgreich installiert. + + + + Search engine plugin archive could not be read. + Konnte Suchmaschinen Plugin Archiv nicht lesen. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Installation des Suchmaschinen Plugins %1 fehlgeschlagen. + + + + New search engine plugin URL + Neue Suchmaschinen Plugin URL + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KB - + MiB mebibytes (1024 kibibytes) MB - + GiB gibibytes (1024 mibibytes) GB - + TiB tebibytes (1024 gibibytes) TB @@ -3149,36 +3790,36 @@ Changelog: d - + Unknown Unbekannt - + Unknown Unknown (size) Unbekannt - + < 1m < 1 minute < 1 Minute - + %1m e.g: 10minutes %1 Min - + %1h%2m e.g: 3hours 5minutes %1 Std %2 Min - + %1d%2h%3m e.g: 2days 10hours 2minutes %1 Tage %2 Std %3 Min @@ -3232,12 +3873,12 @@ Changelog: ist fehlerhaft. - + Range Start IP Bereich Start IP - + Start IP: Start IP: @@ -3252,78 +3893,101 @@ Changelog: Diese IP ist fehlerhaft. - + Range End IP Bereich End IP - + End IP: End IP: - + IP Range Comment IP Bereich Kommentar - + Comment: Kommentar: - + to <min port> to <max port> - bis + bis - + Choose your favourite preview program Wählen Sie ihr bevorzugtes Vorschau Programm - + Invalid IP Ungültige IP - + This IP is invalid. Diese IP ist ungültig. - + Options were saved successfully. Optionen wurden erfolgreich gespeichert. - + Choose scan directory Verzeichnis zum scannen auswählen - + Choose an ipfilter.dat file ipfilter.dat Datei auswählen - + Choose a save directory Verzeichnis zum Speichern auswählen - + I/O Error Input/Output Error - + Couldn't open %1 in read mode. Kein Lesezugriff auf %1. + + pluginSourceDlg + + + Plugin source + Plugin Quelle + + + + Search plugin source: + Such Plugin Quelle: + + + + Local file + Lokale Datei + + + + Web link + Web Link + + preview @@ -3388,7 +4052,7 @@ Changelog: Torrent Eigenschaften - + OK OK @@ -3483,7 +4147,7 @@ Changelog: Torrent Inhalt - + Files contained in current torrent: Dateien im aktuellen Torrent: @@ -3538,7 +4202,7 @@ Changelog: MB - + Unknown Unbekannt @@ -3553,12 +4217,12 @@ Changelog: Unvollständig: - + Tracker Tracker - + Trackers: Tracker: @@ -3578,7 +4242,7 @@ Changelog: Sie können hier präzise wählen, welche Dateien aus dem aktuellen Torrent downgeloadet werden. - + Size Grösse @@ -3588,7 +4252,7 @@ Changelog: Ausgewählt - + None - Unreachable? Keine - Unerreichbar? @@ -3603,17 +4267,17 @@ Changelog: Wahr - + Errors: Fehler: - + Progress Fortschritt - + Main infos Haupt-Informationen @@ -3623,27 +4287,27 @@ Changelog: Anzahl der Peers: - + Current tracker: Derzeitiger Tracker: - + Total uploaded: Gesamter Upload: - + Total downloaded: Gesamter Download: - + Total failed: Insgesamt fehlgeschlagen: - + Torrent content Torrent Inhalt @@ -3653,7 +4317,7 @@ Changelog: Optionen - + Download in correct order (slower but good for previewing) In richtiger Reihenfolge herunterladen (langsamer, aber besser zum Vorschauen) @@ -3673,132 +4337,132 @@ Changelog: Leecher: - + Save path: Speicher-Pfad: - + Torrent infos Torrent Infos - + Creator: Ersteller: - + Torrent hash: Torrent Prüfsumme: - + Comment: Kommentar: - + Current session Derzeitige Sitzung - + Share ratio: Share Verhältnis: - + Trackers Tracker - + New tracker neuer Tracker - + New tracker url: neue Tracker URL: - + Priorities: Prioritäten: - + Normal: normal priority. Download order is dependent on availability Normal: Normale Priorität. Die Download Reihenfolge hängt von der Verfügbarkeit ab - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Hoch: höher als normal. Bevorzugte Teile werden Teilen gleicher Verfügbarkeit vorgezogen, jedoch nicht Teilen mit einer besseren Verfügbarkeit - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximum: Höchste Priorität, die Verfügbarkeit wird nicht beachtet, das Teil wird allen anderen Teilen mit niedrigerer Priorität bevorzugt - + File name Dateiname - + Priority Priorität - + qBittorrent qBittorrent - + Trackers list can't be empty. die Tracker Liste kann nicht leer sein. - + Ignored: file is not downloaded at all Ignoriert: Datei wird nicht heruntergeladen - + Ignored Ignoriert - + Normal Normal - + Maximum Maximum - + High Hoch - + Url seeds URL Seeds - + New url seed: Neue URL Seeds: - + This url seed is already in the list. Dieser URL Seed ist bereits in der Liste. @@ -3808,74 +4472,90 @@ Changelog: Fest verdrahtete URL Seeds können nicht gelöscht werden. - + None i.e: No error message Keine - + New url seed New HTTP source Neuer URL Seed - + The following url seeds are available for this torrent: Die folgenden URL Seeds sind für diesen Torrent nicht erhältlich: + + + Priorities error + Prioritätsfehler + + + + Error, you can't filter all the files in a torrent. + Fehler, Sie können nicht alle Dateien in einem Torrent filtern. + + search_engine - + Search Suche - + Search Engines - Such-Maschinen + Such-Maschinen - + Search Pattern: Suchanfrage: - + Stop Stop - + Status: Status: - + Stopped Angehalten - + Results: Ergebnisse: - + Download Lade - + Clear Leeren - + Update search plugin - "Such"-Plugin updaten + "Such"-Plugin updaten + + + + Search engines... + Suchmaschinen... @@ -3934,57 +4614,57 @@ Changelog: subDownloadThread - + Host is unreachable Host ist unerreichbar - + File was not found (404) Datei nicht gefunden (404) - + Connection was denied Verbindung verweigert - + Url is invalid URL ist ungültig - + Connection forbidden (403) Verbindung verboten (403) - + Connection was not authorized (401) Verbindung war nicht authorisiert (401) - + Content has moved (301) Inhalt wurde verschoben (301) - + Connection failure Verbindungs-Fehler - + Connection was timed out Verbidung wurde unterbrochen - + Incorrect network interface Falsches Netzwerk Interface - + Unknown error Unbekannter Fehler @@ -3997,17 +4677,17 @@ Changelog: Wahr - + Unable to decode torrent file: Torrent Datei kann nicht dekodiert werden: - + This file is either corrupted or this isn't a torrent. Diese Datei ist entweder beschädigt, oder kein Torrent. - + Choose save path Wählen Sie den Speicher-Pfad @@ -4017,52 +4697,52 @@ Changelog: Falsch - + Empty save path Leerer Speicher-Pfad - + Please enter a save path Bitte geben Sie einen Speicher-Pfad ein - + Save path creation error Fehler beim erstellen des Speicher-Pfades - + Could not create the save path Speicher-Pfad konnte nicht erstellt werden - + Invalid file selection Ungültige Datei Auswahl - + You must select at least one file in the torrent Sie müssen mindestens eine Datei aus dem Torrent selektieren - + File name Dateiname - + Size Größe - + Progress Verlauf - + Priority Priorität diff --git a/src/lang/qbittorrent_el.qm b/src/lang/qbittorrent_el.qm index a2f93717eaef1f2e091a2a92ca05e954b0e4bd8a..6f2da103d763ece79ee3c2453334b2ca0584dc26 100644 GIT binary patch delta 14889 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 PWfMElBmIB8;uZcEt_Ebo delta 9534 zcmbuDd0Z4%w#QF(^}ZpC3IbXnDky>*E{Gd~D=NkfNi??5LPzYzrcu$vCW>34s9d+0 zXyR@ZQ792{2^z$V#wBVr%S_^!=uDEAG09|1CeB3Puc`~gOy-aGd44|l?dq<&_uR9e zDn7|yFXg>S$FqYke)q=4%MoF9Gj^Q*ESbpqJrVW5pY#vc6iTG&5B4F_9R{BxihcTZuS4Cv%X(IYh&EWO$>VJC%SiT@G;@ry`(RSmvH>QB~zS4sWd$KX#ss$&#BN18s5 zh}5gds~ODjp^7vk62MP<)Mym;RhUDX$*Iu7X41@h2Ru)j9UAawAGO^T<|=$$;Z+}X zxb@%+XfKI$e|QLb$aH8w__~)mpM=DE6LtQe12}*>f7=aoQEVtA)bFC62^WbBQ>kBY z33z}~Z|x*92GFpQ``~jleA79wT;ZQ+MDII9CM);_m;inWJ_p_fm(r*%OTYsPy;muH zYc`SDNaJs2fr$#|D|}nw4IeEgg-JAF8U(b=rin{m0e8^EOYeeLY4Ylg;6op+(F&)~ z6vsmN))Jbs=@+n^GKMdM{jIksKjM6(MaV2g>gpx6oS zqLrnegFn;eO==?lgCy?7g8uiZ_9JW*kWAkm!2JP?9@Zri1qN__emB6~oG_#We9Q?K zACi}Xp5^+xaAVLJE-eO5({du0vG;9oJC|`LoT$})Zo?;^5VdZ@ZH#OS-sJYJolg{O zA}8$-aW+}HaiBAEPDt)er*EQwxxs8V(Q zS3XggMm6YsXE0Nh>BPce|MoFFS(RV>4pI0r)x79Q;1$(;*p=EwDV(KRVnc|v6;(@f zZW9UZR4ewc0mrL0|9lR7QQ^0$BgR^yi04)3f)G&=*Hj-Sd$CYtsOnBO!Y(pPb=NP2 zsC|Iymxcy#Ca<1+7hJ~&1`6P3eAv(Zh@vcf7xh|j9pBrvn5e@$e8ys^zQeElb6?dE zb#(ELK{!aqv%K?txPGU0{L2gB6P;G_OBOo7dVaME`$V_q*Lu}|!-ooft<0}{jEUse z1whi6$^6A(J&;rq`D-yH;QRd7Lsk&Qw&A~C@pmwd|E?W!N9^nBpq(&H>{sge4zPXK zXmy_J^j9!I|pShi8J1)!r>5PZ7oUR{Q8uxL4s9K6Y!R z-nk!M-YpqC0G6ruAKwFhp*~pp6S7;Bx;z%w-IEm-D%_>;g8CgJGGg~%)aSDQjN}@t z{=kFq>@m%&zEzBcdocB_RY$=q>W@pHs-7D4|HK=?Uh419#(}dmelJ61Js)aXrox+h zm1;VTs31z%pouBJLex84ld$O#I7>4mZ6~-*GrIB|_`t_LnVQM$MP%?Z3jgI}UvF=X zy;~|#-`SenU$H>njT-Oz>EL_1rH22FJ^4%Yv!rXgEI{3rcObGchfq5)eqHz)God)lC71BnJ& zwQa^CEC&r&xJBVNJ`V1$?emxIM1xmp2lRCk4e6pCdiGOrp~55Dp;zDoL+)uahZdra z_1Dfg35_KeYv&>F)6hlQ`4I;Y|0x>nA}uyf>95eGeR14wT<_B^y%|T8s@JY8hLff) z*6yzP9IVpr{puR{PwmlPpyFY(v<;_UKxGTo$~GN7TzlCj`WM~2{m|gp3A)u+H-kUu*1VrXG%ilZ zGA@8_9eXeq{9Lzz_x?ik%y8WsnVrESx*cWTp!8aGhucDs38QpJR193F@O$0qVrXRI z7~Qof+&A&O?rtUonWWZzH9rL$ukUO_m`ysMkNpuPe9~Qgat9|$xKTgUi~FXm)Q=WR z!9V+$aa2FnTlIiw>MQzZEaSjh{WEp2+0-BOS*^g#bp67R_FyfD4Kx3)U)0A#^lW$i zi=KAqL;UnhH{Ayh>o)~$C7Kql-_&+BI9Y%AmTzynR^ue#o*r)nK7$}A!aq6&)RK>e_#dwY3Q|c5>fV4LsIVw@K1)Mlr$oH zgdw?&13cT42fg1J?yGMS z<;5#3QTVCh@7W!Q=ENHQy%Q&!^GCy@8*nb?E+e1!h{(0uX#H^k_@y!Wy*Q%$B4eLN zkwkMR8#Df>0e>)Neu)FPGmP0uL12Y3=TQjwCm#z=8VjPKA+KkHalyA(&~wGO^br;+ zY++nw8w_qTZVM{~-!tw%l}I$N&{#1Lwwza`@Gr(A?;RkTA89-`?=CpcSaWPUSZVxY zIPPB%YP?%I0xUEB&#eZcBCUybm4JOr{GoS1W-=7n5&sL*O<`eJU}34k_k3K$D@;{b zZ0foWDqVEO6#pDdvgna%)E?OI#kr<56$E{0u_<#N%I@OMCfRh0OH7N#LXgFGOtLAw z1txC{1oWOYmGndZP^>jAZ}B`k97y%H6JX5v#lF$E+6;}c+h02VzB* zuqoBx1xwVkpA&5ev2-Y{2i*!QE#BTYAK{CKmcBjSA=>D$47?W)p0kXIe@L|HZA*Il zI-<=lS)Q$k0zbD*PrOL9WuPTnI^k=hEcRWA;1Nr1SEzog-jcTo_ic4p7L{7TQ;L_Qp!fL9++^+H1M;GfuWG(Q@PK2Vj}yqjrmlwp%P82cX<; zf6nr7IaKx3{k<<5iFNoU)FUsy9; zy@+t>%FX6+>)~y~j_@Q-c;R{6j z###4`!UFpaSSweT5bYml6%S4auUo6j(Br*5*m~*lui!7%d)MKV2S!@|o`>HL9JBt| z6B;`3z4c!od_r`vul3gi*#2OZ^|2lIANM0KJv`MfYx@DBBmMon8IQpue*4Zq1C@XF ztM~vat}5|6seYSC4Dq`VKNoz<@6tE1L`O&aeY_tgJ^G>F$0uO2>aKqGa{ocmRJ~mO zK-K4bJf`ydsuT+xOZ59`7)(?1se|bF2)4Dwj6f}ah`+$Ut0(-^;!ovqu_4o2vQYoo zY=(au)}c6nE%$$h9q7xNpj3&LfHpb^}1Bqp$gdjS*^J+c18?lQ@X^kzs5ep z)^#1qO1d5uHSt|JmYfj4j-Co)`RxsXw(M-jZ};iaO|ND@^%~7KCJYxXy%%y~ZJ#m~ zn^>B_%KL|p?Z&Ui-j(pLO6a)~L2?0q6_8{Vl^?p{CgxjFSrNZegr#jy>_W1`dWRb;sXmI8!nt-wNfN zqc|GSqySTQVYDMzNJ$e02&{NQkQh1qMOB9&egn=Yr3@$!n~G50ll-L}>bBcFcJ}g! zHgek9Im+!z5YeM+nZYh-hdJ^*cDJ}TZ9dm79eKc)ybkg2Ncx8ul9i+w#G;I=YOSe5 ziagCitJ+y2C)o4sSsr1Q10lyQujndj$7(r#6#phWSQZvc>EtFC;-Uzv9D|7G_;P$Y z!?yJc4~~-akpN}PgFf8$xrGk5y+E+BQ~koZC>Hlo6ze`Nilwv*W;e&pXC22+Vm}AB z5Ic^~NJ91WGYIw^bQ737~pGBznc~g4Nxty~c zIfcH&!Y*bl=JHtg8G-Diy?wNtt9?22N%p)1Yaf*=8UB|F<0-y^-A`)WAu2u3ZY!`0 zo}zraU=y7__HEcFhOOG3o6aD?OX zw{=a&Hc7Q#nD1~R+CD0Pjj;_01w*p9Z%pL?M<%7jG_H%C%qlJB8k7 zqLch3IS3k9LQG^F4s$|Qh?D`&!*)=QtSGtqL1B_T>!Gkih@cB>acnDAcgoPCKb%f( z1#E}`x7&_bXsi(E5~TJ?up{1!JdQbbVWjjM8}MNpG(ER_gtK`sE@8Q=h6YWNLkg)u z?s9wySE@;3@k>iM_DImPS>8@V+QJtO@gnl0fTG@j9Dfwo^@yEX*z}2uTgKQH2t!>? zCo)w*^PDTL^j_AO!tii8PIG~;XX6q=+gMYOhq53%+8Km+Gpn=oWm{O%@;RbmML&-H zvZI%Onq!W`(|k#Ge`RMeXXSI8)OU&>ullD-oLE}UaSPb2J-I|j&H+nW$~W{2Q@upeBv1>RlC@lvJRRW7^8vJl2y^t{Z=G6Fl(NE87<-l`B=<)MvRzq)1n zie~olpWrJ2Bhv+!TPSqr`4lP++|Wgp6xLJ>ef>(6Y;NgXFnp8DCaEY+N*CtX7Q{Uf zi)C$E&6aKM&LXx{h}>&?xy)X0{=?8n9bBa`+c(y>3vvdNx{&h-=o8rCBzyuDplO%T zk)2ajXdh_@X+DtVfpgfi7WYVc^F1#hi8Q66=Bu&UV?)`qVkawd zV;1FN0|yn*VD{J*GRuXl9ExdX(o;z@2TpX`oCSF{#3I^x7t&x-{LF#E$XUYNWQV6Q zy*T9G1lv5DBTsf*By7}Sw~(hKzgQt@raOM1&6&+Yj|vkJbd7h+aUs~;NL0v@cICEw zUuA;#du-@zkfoxta@~%C!EbMP-vBO_ZEFbb4?X;*;x+T207pJr zB{W-c=otj5E;Uac;`jS{b9?~u(Ea@(oQYlP7%DD(`!>gZJa|>yawtW`gd>$qS9zmT zx>N?SQ#EYx^vw1jGg`a0W2J=qUq>|YwW=f)H<>wB^<@z=J4LmBy2uSv8zIhc_Xd2lEheB9G^|I%?J(%7?2B8O_@FkTJHbaT6NHDfuEpa5?jenomwF_1H-Epe9&6RfEBQ z%Cjw4a;;aKdE#50VIk&_qjE1h_+}W|{3v$vt^OSc4s{jgWji~0p0xN+6(V0_$ILsz z<&cZ7y@T+oL!%izt6cEvy3(p=xfil;6GejU@{q zDD^K-QkHKxjYiNmAUH2UiBgN}8|NEKb_D`f`sPVv?@NBtXe*Tm3|`IDoS+nh#&n1L zA1C#`(Y8Xgxv1bxm0lhL5M2eB&z?HNunR?E<;7rbK=JQ%A96a8ldsgYOQl$P@lg-? zrC%BcX(UXRez~Q$8p)*+=fAXgVVLaYq6Ib9Vau~TtIIL6d+)#9xs}{=ND^1eDNt#Vn)Wj!+jDL6 z97sgs`AeUxFcWQHHIpM*;rS3YF`<=TYlKC!zL))NvcMi(b$S>4e>5cP4O#(DKu^-h zRu8cuy!_37cD&Nd4(WYYlco~zo}uIKs46SZRUqkU&hPfa?E9K-NNV0f_p}$+T%XRRc5IfqqA3l>bfL=^s1pt?&@lA-c62;XjubS(_vRaR3=S@tUwY3XDd7Z8A-%a%6w~CU zJsbP=#=vNNbtkJ>ki*0`{s@k)1wyVPJKNs8Czci8OL_0vZ19ubΡυθμίσεις -- qBittorrent - + Options - Ρυθμίσεις + Ρυθμίσεις - + Main - Κύρια + Κύρια - + Save Path: - Αποθήκευση σε: + Αποθήκευση σε: - + Download Limit: - Όριο Κατεβάσματος: + Όριο Κατεβάσματος: - + Upload Limit: - Όριο Ανεβάσματος: + Όριο Ανεβάσματος: - + Max Connects: - Μέγ. Συνδέσεις: + Μέγ. Συνδέσεις: - + Port range: Εύρος Θύρας: - + ... ... @@ -267,14 +267,14 @@ Copyright © 2006 από τον Christophe Dumez<br> Kb/s - + Disable - Απενεργοποίηση + Απενεργοποίηση - + connections - συνδέσεις + συνδέσεις @@ -282,12 +282,12 @@ Copyright © 2006 από τον Christophe Dumez<br> προς - + Proxy - Proxy + Proxy - + Proxy Settings Ρυθμίσεις Proxy @@ -297,44 +297,44 @@ Copyright © 2006 από τον Christophe Dumez<br> IP Εξυπηρετητή: - + 0.0.0.0 0.0.0.0 - + Port: Θύρα: - + Proxy server requires authentication - Ο εξυπηρετητής Proxy ζητά πιστοποίηση + Ο εξυπηρετητής Proxy ζητά πιστοποίηση - + Authentication Πιστοποίηση - + User Name: - Όνομα Χρήστη: + Όνομα Χρήστη: - + Password: Κωδικός: - + Enable connection through a proxy server - Ενεργοποίηση σύνδεσης μέσω εξυπηρετητή proxy + Ενεργοποίηση σύνδεσης μέσω εξυπηρετητή proxy - + Language - Γλώσσα + Γλώσσα @@ -372,14 +372,14 @@ Copyright © 2006 από τον Christophe Dumez<br> Οι ρυθμίσεις γλώσσας θα αλλάξουν μετά την επανεκίννηση. - + Scanned Dir: - Σαρωμένοι Φάκελοι: + Σαρωμένοι Φάκελοι: - + Enable directory scan (auto add torrent files inside) - Ενεργοποίηση σάρωσης φακέλου (αυτόματη προσθήκη αρχείων τορεντ) + Ενεργοποίηση σάρωσης φακέλου (αυτόματη προσθήκη αρχείων τορεντ) @@ -402,9 +402,9 @@ Copyright © 2006 από τον Christophe Dumez<br> Ρυθμίσεις Σύνδεσης - + Share ratio: - Ποσοστό μοιράσματος: + Ποσοστό μοιράσματος: @@ -417,12 +417,12 @@ Copyright © 2006 από τον Christophe Dumez<br> Μέγ. KB Up. - + Activate IP Filtering Ενεργοποίηση Φιλτραρίσματος ΙΡ - + Filter Settings Ρυθμίσεις Φίλτρου @@ -432,22 +432,22 @@ Copyright © 2006 από τον Christophe Dumez<br> ipfilter.dat Διεύθυνση ή διαδρομή: - + Start IP Αρχή ΙΡ - + End IP Τέλος ΙΡ - + Origin Καταγωγή - + Comment Σχόλιο @@ -457,17 +457,17 @@ Copyright © 2006 από τον Christophe Dumez<br> Εφαρμογή - + IP Filter - Φίλτρο ΙΡ + Φίλτρο ΙΡ - + Add Range Προσθήκη Εύρους - + Remove Range Αφαίρεση Εύρους @@ -477,9 +477,9 @@ Copyright © 2006 από τον Christophe Dumez<br> Καταλανικά - + ipfilter.dat Path: - ipfilter.dat διαδρομή: + ipfilter.dat διαδρομή: @@ -492,29 +492,29 @@ Copyright © 2006 από τον Christophe Dumez<br> Ερώτηση για επιβεβαίωση κατά την έξοδο - + Go to systray when minimizing window - Εμφάνιση στην μπάρα συστήματος κατά την ελαχιστοποίηση παραθύρου + Εμφάνιση στην μπάρα συστήματος κατά την ελαχιστοποίηση παραθύρου - + Misc Άλλα - + Localization - Ρυθμίσεις Τοποθεσίας + Ρυθμίσεις Τοποθεσίας - + Language: Γλώσσα: - + Behaviour - Συμπεριφορά + Συμπεριφορά @@ -537,19 +537,19 @@ Copyright © 2006 από τον Christophe Dumez<br> Απόκρυψη OSD - + KiB/s KiB/s - + 1 KiB DL = - 1 KiB Κατ.= + 1 KiB Κατ.= - + KiB UP max. - KiB ανέβ. μέγ. + KiB ανέβ. μέγ. @@ -567,44 +567,44 @@ Copyright © 2006 από τον Christophe Dumez<br> Αυτόματη εκκαθάριση ολοκληρωμένων κατεβασμάτων - + Preview program Πρόγραμμα προεπισκόπησης - + Audio/Video player: - Αναπαραγωγή Ήχου/Βίντεο: + Αναπαραγωγή Ήχου/Βίντεο: - + DHT configuration - Ρυθμίσεις DHT + Ρυθμίσεις DHT - + DHT port: - Θύρα DHT: + Θύρα DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Σημείωση:</b> Οι αλλαγές θα εφαρμοσθούν μετά την επανεκίννηση του qBittorrent. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Σημείωση Μεταφραστών:</b> Αν το qBittorrent δεν είναι διαθέσιμο στη γλώσσα σας, <br/> και αν θα θέλατε να το μεταφράσετε στη μητρική σας γλώσσα, <br/>παρακαλώ επικοινωνήστε μαζί μου (chris@qbittorrent.org). + <b>Σημείωση Μεταφραστών:</b> Αν το qBittorrent δεν είναι διαθέσιμο στη γλώσσα σας, <br/> και αν θα θέλατε να το μεταφράσετε στη μητρική σας γλώσσα, <br/>παρακαλώ επικοινωνήστε μαζί μου (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - Εμφάνιση διαλόγου προσθήκης τορεντ κάθε φορά που προσθέτω ένα τορεντ + Εμφάνιση διαλόγου προσθήκης τορεντ κάθε φορά που προσθέτω ένα τορεντ - + Default save path - Προεπιλεγμένη διαδρομή αποθήκευσης + Προεπιλεγμένη διαδρομή αποθήκευσης @@ -612,185 +612,464 @@ Copyright © 2006 από τον Christophe Dumez<br> Μηνύματα Μπάρας Εργασιών - + Always display systray messages - Εμφάνιση πάντοτε μηνυμάτων στη μπάρα εργασιών + Εμφάνιση πάντοτε μηνυμάτων στη μπάρα εργασιών - + Display systray messages only when window is hidden - Εμφάνιση μηνυμάτων στη μπάρα εργασιών μόνο όταν το παράθυρο είναι κρυμμένο + Εμφάνιση μηνυμάτων στη μπάρα εργασιών μόνο όταν το παράθυρο είναι κρυμμένο - + Never display systray messages - Μη εμφάνιση μηνυμάτων στη μπάρα εργασιών + Μη εμφάνιση μηνυμάτων στη μπάρα εργασιών - + Disable DHT (Trackerless) - Απενεργοποίηση DHT (Χωρίς Ιχνηλάτη) + Απενεργοποίηση DHT (Χωρίς Ιχνηλάτη) - + Disable Peer eXchange (PeX) - Απενεργοποίηση Μοιράσματος Συνδέσεων (PeX) + Απενεργοποίηση Μοιράσματος Συνδέσεων (PeX) - + Go to systray when closing main window - Εμφάνιση στην μπάρα συστήματος στο κλείσιμο κυρίως παραθύρου + Εμφάνιση στην μπάρα συστήματος στο κλείσιμο κυρίως παραθύρου - + Connection Σύνδεση - + Peer eXchange (PeX) - Μοίρασμα Συνδέσεων (PeX) + Μοίρασμα Συνδέσεων (PeX) - + DHT (trackerless) - DHT (Χωρίς Ιχνηλάτη) + DHT (Χωρίς Ιχνηλάτη) - + Torrent addition - Προσθήκη τορεντ + Προσθήκη τορεντ - + Main window - Κυρίως παράθυρο + Κυρίως παράθυρο - + Systray messages - Μηνύματα μπάρας εργασιών + Μηνύματα μπάρας εργασιών - + Directory scan - Σάρωση φακέλου + Σάρωση φακέλου - + Style (Look 'n Feel) - Στυλ (Look 'n Feel) + Στυλ (Look 'n Feel) - + Plastique style (KDE like) Πλαστικό στυλ (KDE like) - + Cleanlooks style (GNOME like) - "Καθαρό" στυλ (GNOME like) + "Καθαρό" στυλ (GNOME like) - + Motif style (default Qt style on Unix systems) - Στυλ μοτίβ (προκαθορισμένο στυλ του Qt σε Unix συστήματα) + Στυλ μοτίβ (προκαθορισμένο στυλ του Qt σε Unix συστήματα) - + CDE style (Common Desktop Environment like) Στυλ CDE (Common Desktop Environment like) - + MacOS style (MacOSX only) - Στυλ MacOS (μόνο MacOSX) + Στυλ MacOS (μόνο MacOSX) - + Exit confirmation when the download list is not empty - Επιβεβαίωση εξόδου όταν η λίστα κατεβάσματος δεν είναι άδεια + Επιβεβαίωση εξόδου όταν η λίστα κατεβάσματος δεν είναι άδεια - + Disable systray integration - Απενεργοποίηση εμφάνισης στη μπάρα εργασιών + Απενεργοποίηση εμφάνισης στη μπάρα εργασιών - + WindowsXP style (Windows XP only) - Στυλ WindowsXP (μόνο WindowsXP) + Στυλ WindowsXP (μόνο WindowsXP) - + Server IP or url: - IP ή url Διαμοιραστή: + IP ή url Διαμοιραστή: - + Proxy type: - Τύπος Proxy: + Τύπος Proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Επηρεασμένες συνδέσεις - + Use proxy for connections to trackers Χρήση proxy για σύνδεση με ιχνηλάτες - + Use proxy for connections to regular peers Χρήση proxy για σύνδεση με όλους τους χρήστες - + Use proxy for connections to web seeds Χρήση proxy για σύνδεση με διαμοιραστές διαδικτύου - + Use proxy for DHT messages Χρήση proxy για μηνύματα DHT - + Encryption - Κρυπτογράφηση + Κρυπτογράφηση - + Encryption state: - Κατάσταση κρυπτογράφησης: + Κατάσταση κρυπτογράφησης: - + Enabled Ενεργοποιημένο - + Forced Αναγκαστικά - + Disabled Απενεργοποιημένο + + + Preferences + Προτιμήσεις + + + + General + Γενικά + + + + User interface settings + Ρυθμίσεις interface χρήστη + + + + Visual style: + Στυλ: + + + + Cleanlooks style (Gnome like) + Στυλ cleanlooks (Gnome like) + + + + Motif style (Unix like) + Στυλ motif (Unix like) + + + + Ask for confirmation on exit when download list is not empty + Επιβεβαίωση εξόδου όταν η λίστα κατεβάσματος έχει περιεχόμενα + + + + Display current speed in title bar + Ένδειξη τρέχουσας ταχύτητας στην μπάρα τίτλου + + + + System tray icon + Εικόνα μπάρας εργασιών + + + + Disable system tray icon + Απενεργοποίηση εικόνας μπάρας εργασιών + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Κλείσιμο στη μπάρα εργασιών + + + + Minimize to tray + Ελαχιστοποίηση στη μπάρα εργασιών + + + + Show notification balloons in tray + Εμφάνιση μπαλονιών ειδοποιήσεων στη μπάρα εργασιών + + + + Media player: + Media player: + + + + Downloads + Κατέβασματα + + + + Put downloads in this folder: + Προσθήκη κατεβασμένων σε αυτό το φάκελο: + + + + Pre-allocate all files + Πρώιμη τοποθέτηση όλων των αρχείων + + + + When adding a torrent + Όταν προστίθεται κάποιο τορεντ + + + + Display torrent content and some options + Εμφάνιση περιεχομένων τορεντ και μερικών ρυθμίσεων + + + + Do not start download automatically + The torrent will be added to download list in pause state + Μη αυτόματη εκκίνηση κατεβάσματος + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Παρακολούθηση φακέλου + + + + Automatically download torrents present in this folder: + Αυτόματο κατέβασμα τορεντ που βρίσκονται σε αυτό το φάκελο: + + + + Listening port + Θύρα ακρόασης + + + + to + i.e: 1200 to 1300 + ως + + + + Enable UPnP port mapping + Ενεργοποίηση χαρτογράφησης θυρών UPnP + + + + Enable NAT-PMP port mapping + Ενεργοποίηση χαρτογράφησης θυρών NAT-PMP + + + + Global bandwidth limiting + Συνολικό όριο σύνδεσης + + + + Upload: + Ανέβασμα: + + + + Download: + Κατέβασμα: + + + + Type: + Είδος: + + + + (None) + (Κανένα) + + + + Proxy: + Proxy: + + + + Username: + Όνομα χρήστη: + + + + Bittorrent + Bittorrent + + + + Connections limit + Όριο συνδέσεων + + + + Global maximum number of connections: + Συνολικός αριθμός μεγίστων συνδέσεων: + + + + Maximum number of connections per torrent: + Μέγιστος αριθμός συνδέσεων ανά τορεντ: + + + + Maximum number of upload slots per torrent: + Μέγιστες θυρίδες ανεβάσματος ανά τορεντ: + + + + Additional Bittorrent features + Πρόσθετα χαρακτηριστικά Bittorrent + + + + Enable DHT network (decentralized) + Ενεργοποίηση δικτύου DHT (αποκεντροποιημένο) + + + + Enable Peer eXchange (PeX) + Ενεργοποίηση Μοιράσματος Συνδέσεων (PeX) + + + + Enable Local Peer Discovery + Ενεργοποίηση Ανακάλυψης Νέων Συνδέσεων + + + + Encryption: + Κρυπτογράφηση: + + + + Share ratio settings + Ρυθμίσεις ποσοστού μοιράσματος + + + + Desired ratio: + Επιθυμητή αναλογία: + + + + Filter file path: + Διαδρομή αρχείου φίλτρου: + + + + transfer lists refresh interval: + χρονικό διάστημα ανανέωσης λιστών μεταφοράς: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + χρονικό διάστημα ανανέωσης παροχών RSS: + + + + minutes + λεπτά + + + + Maximum number of articles per feed: + Μέγιστος αριθμός άρθρων ανά τροφοδοσία: + + + + File system + Σύστημα αρχείων + + + + Remove finished torrents when their ratio reaches: + Αφαίρεση τελειωμένων τορεντ όταν η αναλογία τους φτάσει στο: + + + + System default + + DownloadingTorrents @@ -798,115 +1077,115 @@ Copyright © 2006 από τον Christophe Dumez<br> Name i.e: file name - + Όνομα Size i.e: file size - Μέγεθος + Μέγεθος Progress i.e: % downloaded - Πρόοδος + Πρόοδος DL Speed i.e: Download speed - DL Ταχύτητα + DL Ταχύτητα UP Speed i.e: Upload speed - UP Ταχύτητα + UP Ταχύτητα Seeds/Leechs i.e: full/partial sources - Διαμοιραστές/Συνδέσεις + Διαμοιραστές/Συνδέσεις Ratio - Αναλογία + Αναλογία ETA i.e: Estimated Time of Arrival / Time left - Χρόνος που απομένει + Χρόνος που απομένει qBittorrent %1 started. e.g: qBittorrent v0.x started. - Εκκινήθηκε το qBittorrent %1. + Εκκινήθηκε το qBittorrent %1. Be careful, sharing copyrighted material without permission is against the law. - Προσοχή, η διακίνηση υλικού προστατευόμενου από πνευματικά δικαιώματα χωρίς άδεια είναι παράνομη. + Προσοχή, η διακίνηση υλικού προστατευόμενου από πνευματικά δικαιώματα χωρίς άδεια είναι παράνομη. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>αποκλείστηκε</i> + <font color='red'>%1</font> <i>αποκλείστηκε</i> - + Fast resume data was rejected for torrent %1, checking again... - Γρήγορη συνέχεια κατεβάσματος αρχείων απορρίφθηκε για το τορεντ %1, επανέλεγχος... + Γρήγορη συνέχεια κατεβάσματος αρχείων απορρίφθηκε για το τορεντ %1, επανέλεγχος... - + Url seed lookup failed for url: %1, message: %2 - Αποτυχία ελέγχου url μοιράσματος για το url: %1, μήνυμα: %2 + Αποτυχία ελέγχου url μοιράσματος για το url: %1, μήνυμα: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - Το '%1' προστέθηκε στη λίστα κατεβάσματος. + Το '%1' προστέθηκε στη λίστα κατεβάσματος. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - Το '%1' ξανάρχισε. (γρήγορη επανασύνδεση) + Το '%1' ξανάρχισε. (γρήγορη επανασύνδεση) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - Το '%1' είναι ήδη στη λίστα κατεβάσματος. + Το '%1' είναι ήδη στη λίστα κατεβάσματος. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Αδύνατο να αποκωδικοποιηθεί το αρχείο τορεντ: '%1' + Αδύνατο να αποκωδικοποιηθεί το αρχείο τορεντ: '%1' - + This file is either corrupted or this isn't a torrent. - Το αρχείο είτε είναι κατεστραμμένο, ή δεν ειναι ενα τορεντ. + Το αρχείο είτε είναι κατεστραμμένο, ή δεν ειναι ενα τορεντ. - + Couldn't listen on any of the given ports. - Δεν "ακροάστηκα" καμία σπό τις δωσμένες θύρες. + Δεν "ακροάστηκα" καμία σπό τις δωσμένες θύρες. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Κατέβασμα του '%1', παρακαλώ περιμένετε... + Κατέβασμα του '%1', παρακαλώ περιμένετε... @@ -986,7 +1265,7 @@ Copyright © 2006 από τον Christophe Dumez<br> GUI - + Open Torrent Files Άνοιγμα Αρχείων τορεντ @@ -1011,17 +1290,17 @@ Copyright © 2006 από τον Christophe Dumez<br> Σίγουρα θέλετε να διαγράψετε όλα τα αρχεία στην λίστα κατεβάσματος? - + &Yes &Ναι - + &No &Όχι - + Are you sure you want to delete the selected item(s) in download list? Είστε σίγουρος οτι θέλετε να διαγράψετε το(α) επιλεγμλένα αντικείμενο(α) από την λίστα κατεβάσματος? @@ -1041,7 +1320,7 @@ Copyright © 2006 από τον Christophe Dumez<br> kb/s - + Finished Τελείωσε @@ -1096,7 +1375,7 @@ Copyright © 2006 από τον Christophe Dumez<br> Δεν μπόρεσε να δημιουργηθεί η κατηγορία: - + Torrent Files Αρχεία Τορεντ @@ -1168,12 +1447,12 @@ Copyright © 2006 από τον Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Είστε σίγουρος? -- qBittorrent @@ -1466,12 +1745,12 @@ Changelog: Παύση - + Preview process already running Προεπισκόπηση ήδη ανοικτή - + There is already another preview process running. Please close the other one first. Υπάρχει ήδη άλλη προεπισκόπηση ανοιχτή. @@ -1516,7 +1795,7 @@ Please close the other one first. Είστε σίγουρος/η οτι θέλετε να διαγράψετε το(α) επιλεγμένο(α) αντικείμενο(α) από τη λίστα κατεβάσματος και το σκληρό δίσκο? - + Download finished Το κατέβασμα τελείωσε @@ -1538,17 +1817,17 @@ Please close the other one first. qBittorrent %1 - + Connection status: Κατάσταση Σύνδεσης: - + Offline Offline - + No peers found... Δεν βρέθηκαν συνδέσεις... @@ -1613,13 +1892,13 @@ Please close the other one first. Εκκινήθηκε το qBittorrent %1. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Ταχύτητα Κατεβάσματος: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Ταχύτητα Ανεβάσματος: %1 KiB/s @@ -1643,12 +1922,12 @@ Please close the other one first. Αποτυχία λειτουργίας - + Are you sure you want to quit? Είστε σίγουρος/η οτι θέλετε να κλείσετε την εφαρμογή? - + '%1' was removed. 'xxx.avi' was removed. Το '%1' αφαιρέθηκε. @@ -1690,12 +1969,12 @@ Please close the other one first. Ακρόαση στη θύρα: %1 - + All downloads were paused. Όλα τα κατεβάσματα είναι σε παύση. - + '%1' paused. xxx.avi paused. '%1' σε παύση. @@ -1707,30 +1986,30 @@ Please close the other one first. Σύνδεση... - + All downloads were resumed. Όλα τα κατεβάσματα ξανάρχισαν. - + '%1' resumed. e.g: xxx.avi resumed. Το '%1' ξανάρχισε. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. Έχει τελειώσει το κατέβασμα του '%1'. - + I/O Error i.e: Input/Output Error I/O Λάθος - + 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 Ένα σφάλμα προέκυψε κατά την προσπάθεια ανάγνωσης ή εγγραφής του %1. Ο δίσκος είναι πιθανόν πλήρης, το κατέβασμα είναι σε παύση @@ -1742,23 +2021,23 @@ Please close the other one first. Ένα σφάλμα προέκυψε (δίσκος πλήρης?), το '%1' είναι σε παύση. - + Connection Status: Κατάσταση Σύνδεσης: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Σε τοίχο προστασίας (firewall)? - + No incoming connections... Καμία εισερχόμενη σύνδεση... @@ -1790,66 +2069,66 @@ Please close the other one first. Κατέβασμα του '%1', παρακαλώ περιμένετε... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Ένα σφάλμα προέκυψε (δίσκος πλήρης?), το '%1' είναι σε παύση. - + Search Εύρεση - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 Το qBittorrent χρησιμοποιεί τη θύρα: %1 - + DHT support [ON], port: %1 Υποστήριξη DHT [ΝΑΙ], θύρα: %1 - + DHT support [OFF] Υποστήριξη DHT [ΟΧΙ] - + PeX support [ON] Υποστήριξη PeX [ΝΑΙ] - + PeX support [OFF] Υποστήριξη PeX [ΟΧΙ] - + The download list is not empty. Are you sure you want to quit qBittorrent? Η λίστα κατεβάσματος δεν είναι άδεια. Σίγουρα θέλετε να κλείσετε το qBittorrent? - + Downloads Κατέβασματα - + Are you sure you want to delete the selected item(s) in finished list? Είστε σίγουρος οτι θέλετε να διαγράψετε το(α) επιλεγμλένα αντικείμενο(α) από την λίστα των ολοκληρωμένων? - + UPnP support [ON] Υποστήριξη UPnP [ΝΑΙ] @@ -1859,17 +2138,17 @@ Are you sure you want to quit qBittorrent? Προσοχή, η διακίνηση υλικού προστατευόμενου από πνευματικά δικαιώματα χωρίς άδεια είναι παράνομη. - + Encryption support [ON] Υποστήριξη κρυπτογράφησης [ΝΑΙ] - + Encryption support [FORCED] Υποστήριξη κρυπτογράφησης [ΑΝΑΓΚΑΣΤΙΚΑ] - + Encryption support [OFF] Υποστήριξη κρυπτογράφησης [ΟΧΙ] @@ -1885,13 +2164,13 @@ Are you sure you want to quit qBittorrent? Αναλογία - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1903,18 +2182,18 @@ Are you sure you want to quit qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Σφάλμα κατεβάσματος url - + Couldn't download file at url: %1, reason: %2. Αδύνατο κατέβασμα αρχείου από το url: %1,αιτία: %2. @@ -1924,17 +2203,17 @@ Are you sure you want to quit qBittorrent? Γρήγορη συνέχεια κατεβάσματος αρχείων απορρίφθηκε για το τορεντ %1, επανέλεγχος... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Είστε σίγουρος οτι θέλετε να διαγράψετε το(α) επιλεγμλένα αντικείμενο(α) από την λίστα κατεβάσματος και από το σκληρό δίσκο? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Είστε σίγουρος οτι θέλετε να διαγράψετε το(α) επιλεγμλένα αντικείμενο(α) από το σκληρό δίσκο? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' διαγράφηκε για πάντα. @@ -1945,16 +2224,53 @@ Are you sure you want to quit qBittorrent? Αποτυχία ελέγχου url μοιράσματος για το url: %1, μήνυμα: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Υποστήριξη UPnP [ΟΧΙ] + + + + NAT-PMP support [ON] + Υποστήριξη NAT-PMP [NAI] + + + + NAT-PMP support [OFF] + Υποστήριξη NAT-PMP [OXI] + + + + Local Peer Discovery [ON] + Ανακάλυψη Τοπικών Συνδέσεων [ΝΑΙ] + + + + Local Peer Discovery support [OFF] + Ανακάλυψη Τοπικών Συνδέσεων [ΟΧΙ] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + Το '%1' αφαιρέθηκε επειδή η αναλογία του έφτασε τη μέγιστη τιμή που θέσατε. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) @@ -2283,24 +2599,24 @@ Are you sure you want to quit qBittorrent? Σωστό - + Ignored Αγνοείται - + Normal Normal (priority) Κανονική - + High High (priority) Υψηλή - + Maximum Maximum (priority) Μέγιστη @@ -2322,17 +2638,17 @@ Are you sure you want to quit qBittorrent? Αναζήτηση - + Delete Διαγραφή - + Rename Μςτονομασία - + Refresh Ανανέωση @@ -2342,118 +2658,133 @@ Are you sure you want to quit qBittorrent? Δημιουργία - + Delete selected streams Διαγραφή επιλεγμένων τροφοδοτήσεων - + Refresh RSS streams Ανανέωση RSS τροφοδοτήσεων - + Add a new RSS stream Προσθήκη μιας νέας τροφοδότησης RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Νέα:</b> <i>(διπλό κλικ για άνοιγμα της σελίδας στον περιηγητή σας)</i> - + Add RSS stream Προσθήκη τροφοδότησης RSS - + Refresh all streams Ανανέωση όλων των τροφοδοτήσεων - + RSS streams: Τροφοδοτήσεις RSS: - + 2 2 + + + Mark all as read + Μαρκάρισμα ως όλων αναγνωσθέντων + RSSImp - + Please type a rss stream url Παρακαλώ εισάγετε ένα url τροφοδοσίας rss - + Stream URL: URL τροφοδοσίας: - + Please choose a new name for this stream Παρακαλώ επιέξτε ένα νέο όνομα για αυτήν την τροφοδοσία - + New stream name: Νέο όνομα τροφοδοσίας: - + Are you sure? -- qBittorrent Είστε σίγουρος? -- qBittorrent - + &Yes &Ναι - + &No &Όχι - + Are you sure you want to delete this stream from the list? Είστε σίγουρος οτι θέλετε να διαγράψετε αυτή τη τροφοδοσία από τη λίστα? - + Description: Περιγραφή: - + url: url: - + Last refresh: Τελευταία ανανέωση: - + qBittorrent qBittorrent - + This rss feed is already in the list. Αυτή η τροφοδοσία rss είναι ήδη στη λίστα. + + + Date: + Ημερομηνία: + + + + Author: + Δημιουργός: + RssItem - + No description available Δεν υπάρχει διαθέσιμη περιγραφή @@ -2461,13 +2792,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1 πριν - + Never Ποτέ @@ -2475,150 +2806,155 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Όνομα - + Size i.e: file size Μέγεθος - + Seeders i.e: Number of full sources Διαμοιραστές - + Leechers i.e: Number of partial sources Συνδέσεις - + Search engine Μηχανή αναζήτησης - + Empty search pattern Κενό πρότυπο εύρεσης - + Please type a search pattern first Παρακαλώ εισάγετε ένα σχέδιο εύρεσης πρώτα - + No search engine selected - Δεν έχει επιλεγεί μηχανή αναζήτησης + Δεν έχει επιλεγεί μηχανή αναζήτησης - + You must select at least one search engine. - Πρέπει να επιλέξετε τουλάχιστο μια μηχανή αναζήτησης. + Πρέπει να επιλέξετε τουλάχιστο μια μηχανή αναζήτησης. - + Results Αποτελέσματα - + Searching... Αναζήτηση... - + Search plugin update -- qBittorrent - Αναβάθμιση plugin αναζήτησης -- qBittorrent + Αναβάθμιση plugin αναζήτησης -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Plugin αναζήτησης μπορεί να αναβαθμιστεί, θέλετε να το αναβαθμίσετε; + Plugin αναζήτησης μπορεί να αναβαθμιστεί, θέλετε να το αναβαθμίσετε; Κατάλογος αλλαγών: - + &Yes - &Ναι + &Ναι - + &No - &Όχι + &Όχι - + Search plugin update - Αναβάθμιση plugin αναζήτησης + Αναβάθμιση plugin αναζήτησης - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Λυπούμαστε, ο εξηπυρετητής αναβάθμισης δεν είναι προσωρινά διαθέσιμος. + Λυπούμαστε, ο εξηπυρετητής αναβάθμισης δεν είναι προσωρινά διαθέσιμος. - + Your search plugin is already up to date. - Το plugin αναζήτησης είναι ήδη αναβαθμισμένο. + Το plugin αναζήτησης είναι ήδη αναβαθμισμένο. - + Search Engine Μηχανή Αναζήτησης - + Search has finished Η αναζήτηση τελείωσε - + An error occured during search... Σφάλμα κατά την εύρεση... - + Search aborted Αναζήτηση διεκόπη - + Search returned no results Η αναζήτηση δεν έφερε αποτελέσματα - + Results i.e: Search results Αποτελέσματα - + Search plugin download error - Σφάλμα κατά το κατέβασμα plugin αναζήτησης + Σφάλμα κατά το κατέβασμα plugin αναζήτησης - + Couldn't download search plugin update at url: %1, reason: %2. - Αδύνατο κατέβασμα plugin αναζήτησης από το url: %1,αιτία: %2. + Αδύνατο κατέβασμα plugin αναζήτησης από το url: %1,αιτία: %2. + + + + Unknown + Άγνωστο @@ -2730,17 +3066,17 @@ Changelog: Διάλογος προσθήκης τορεντ - + Save path: Αποθήκευση σε: - + ... ... - + Torrent content: Περιεχόμενο τορεντ: @@ -2760,22 +3096,22 @@ Changelog: Επιλεγμένο(α) - + Download in correct order (slower but good for previewing) Κατέβασμα στη σωστή σειρά (πιο αργό αλλα καλό για προεπισκόπηση) - + Add to download list in paused state Προσθήκη στη λίστα κατεβάσματος σε κατάσταση παύσης - + Add Προσθήκη - + Cancel Ακύρωση @@ -2795,22 +3131,22 @@ Changelog: Επιλογή - + Ignored Αγνοήθηκε - + Normal Κανονικό - + High Υψηλό - + Maximum Μέγιστο @@ -2874,9 +3210,9 @@ Changelog: Δημιουργία Αρχείου Τορεντ - + Destination torrent file: - Προορισμός αρχείου τορεντ: + Προορισμός αρχείου τορεντ: @@ -2889,17 +3225,17 @@ Changelog: Σχόλια: - + ... - ... + ... - + Create - Δημιουργία + Δημιουργία - + Cancel Ακύρωση @@ -2939,45 +3275,120 @@ Changelog: <center>Σχόλιο:</center> - + Torrent file creation Δημιουργία αρχείου τορεντ - + Input files or directories: - Είσοδος αρχείων ή φακέλων: + Είσοδος αρχείων ή φακέλων: - + Announce urls (trackers): Url ανακοίνωσης (ιχνηλάτες): - + Comment (optional): Σχόλιο (προαιρετικό): - + Private (won't be distributed on trackerless network / DHT if enabled) - Πριβέ (δεν θα διανεμηθεί σε δίκτυο χωρίς ιχνηλάτη / αν έχει ενεργοποιηθεί DHT) + Πριβέ (δεν θα διανεμηθεί σε δίκτυο χωρίς ιχνηλάτη / αν έχει ενεργοποιηθεί DHT) - + Web seeds urls (optional): Url δικτυακού μοιράσματος (προαιρετικά): + + + File or folder to add to the torrent: + Αρχείο ή φάκελος να προστεθεί στο τορεντ: + + + + Add a file + Προσθήκη αρχείου + + + + Add a folder + Προσθήκη φακέλου + + + + Piece size: + Μέγεθος κομματιού: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Ιδιωτικό (αν ενεργοποιηθεί, δε θα διανεμηθεί σε δίκτυο DHT) + + + + Start seeding after creation + Εκκίνηση μοιράσματος μετά τη δημιουργία + + + + Create and save... + Δημιουργία και αποθήκευση... + createtorrent - + Select destination torrent file Επιλέξτε προορισμό αρχείου τορεντ - + Torrent Files Αρχεία Τορεντ @@ -2987,22 +3398,22 @@ Changelog: Επιλέξτε αρχείο ή κατηγορία εισόδου - + No destination path set - Δεν έχει ρυθμιστεί η διαδρομή φακέλου + Δεν έχει ρυθμιστεί η διαδρομή φακέλου - + Please type a destination path first - Παρακαλώ πληκτρολογήστε έναν προορισμό διαδρομής πρώτα + Παρακαλώ πληκτρολογήστε έναν προορισμό διαδρομής πρώτα - + No input path set Δεν έχει ρυθμιστεί διαδρομή εισόδου - + Please type an input path first Παρακαλώ πληκτρολογήστε μία διαδρομή εισόδου πρώτα @@ -3017,12 +3428,12 @@ Changelog: Παρακαλώ πληκτρολογήστε έναν έγκυρο προορισμό διαδρομής πρώτα - + Torrent creation Δημιουργία τορεντ - + Torrent was created successfully: Τόρεντ δημιουργήθηκε επιτυχώς: @@ -3032,41 +3443,56 @@ Changelog: Παρακαλώ πληκτρολογήστε μία έγκυρη διαδρομή εισόδου πρώτα - + Select a folder to add to the torrent Επιλέξτε ένα φάκελο για να προστεθεί το τορεντ - + Select files to add to the torrent - Επιλέξτε αρχεία να προστεθούν στο τορεντ + Επιλέξτε αρχεία να προστεθούν στο τορεντ - + Please type an announce URL Παρακαλώ πληκτρολογήστε ένα URL ανακοίνωσης - + Torrent creation was unsuccessful, reason: %1 Η δημιουργία τορεντ ήταν ανεπιτυχής. αιτία: %1 - + Announce URL: Tracker URL URL ιχνηλάτη (ανακοίνωσης): - + Please type a web seed url Παρακαλώ πληκτρολογήστε ένα url δικτυακού μοιράσματος - + Web seed URL: URL δικτυακού μοιράσματος: + + + Select a file to add to the torrent + Επιλέξτε ένα αρχείο να προστεθεί στο τορεντ + + + + No tracker path set + Καμία διαδρομή ιχνηλάτη δεν έχει ρυθμιστεί + + + + Please set at least one tracker + Παρακαλώ εισάγετε τουλάχιστο ένα ιχνηλάτη + downloadFromURL @@ -3111,112 +3537,327 @@ Changelog: Search - + Αναζήτηση Total DL Speed: - Συνολική DL Ταχύτητα: + Συνολική DL Ταχύτητα: KiB/s - KiB/s + KiB/s Session ratio: - Ποσοστό συνεδρίας: + Ποσοστό συνεδρίας: Total UP Speed: - Συνολική UP Ταχύτητα: + Συνολική UP Ταχύτητα: Log - Αρχείο + Αρχείο IP filter - Φίλτρο ΙΡ + Φίλτρο ΙΡ Start - Έναρξη + Έναρξη Pause - Παύση + Παύση Delete - + Διαγραφή Clear - + Εκκαθάριση Preview file - Προεπισκόπηση αρχείου + Προεπισκόπηση αρχείου Set upload limit - Ρύθμιση ορίου ανεβάσματος + Ρύθμιση ορίου ανεβάσματος Set download limit - Ρύθμιση ορίου κατεβάσματος + Ρύθμιση ορίου κατεβάσματος Delete Permanently - Οριστική Διαγραφή + Οριστική Διαγραφή Torrent Properties - Ιδιότητες τορεντ + Ιδιότητες τορεντ + + + + engineSelect + + + Search plugins + Plugin αναζήτησης + + + + Installed search engines: + Εγκατεστημένες μηχανές αναζήτησης: + + + + Name + Όνομα + + + + Url + Url + + + + Enabled + Ενεργοποιημένο + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Μπορείτε να βρείτε νέα plugin αναζήτησης εδώ: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Εγκατάσταση ενός καινούριου + + + + Check for updates + Έλεγχος για αναβαθμίσεις + + + + Close + Κλείσιμο + + + + Enable + Ενεργοποίηση + + + + Disable + Απενεργοποίηση + + + + Uninstall + Απεγκατάσταση + + + + engineSelectDlg + + + True + Σωστό + + + + False + Λάθος + + + + Uninstall warning + Προειδοποίηση απεγκατάστασης + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Μερικά plugin δεν μπόρεσαν να απεγκατασταθούν διότι συμπεριλαμβάνονται στο qBittorrent. + Μόνο αυτά που προσθέσατε μόνος σας μπορούν να απεγκατασταθούν. +Ωστόσο, αυτά τα plugin απενεργοποιήθηκαν. + + + + Uninstall success + Επιτυχής απεγκατάσταση + + + + All selected plugins were uninstalled successfuly + Όλα τα επιλεγμένα plugin απεγκαταστήθηκαν επιτυχώς + + + + Select search plugins + Επιλέξτε plugin αναζήτησης + + + + qBittorrent search plugins + plugin αναζήτησης του qBittorrent + + + + Search plugin install + Εγκατάσταση plugin αναζήτησης + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Μια πιο πρόσφατη έκδοση plugin αναζήτησης %1 έχει ήδη εγκατασταθεί. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Το plugin αναζήτησης %1 αναβαθμίστηκε επιτυχώς. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Το plugin αναζήτησης %1 εγκαταστήθηκε επιτυχώς. + + + + Search plugin update + Αναβάθμιση plugin αναζήτησης + + + + Sorry, update server is temporarily unavailable. + Λυπούμαστε, ο εξυπηρετητής αναβάθμισης δεν είναι προσωρινά διαθέσιμος. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Το plugin αναζήτησης %1 αναβαθμίστηκε επιτυχώς. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Λυπούμαστε, η αναβάθμιση του plugin αναζήτησης %1 απέτυχε. + + + + All your plugins are already up to date. + Όλα τα plugin σας είναι ήδη αναβαθμισμένα. + + + + All selected plugins were uninstalled successfully + Όλα τα επιλεγμένα plugin απεγκαταστάθηκαν επιτυχώς + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Το plugin αναζήτησης %1 δεν ήταν δυνατό να αναβαθμιστεί, παραμένει η παλιά έκδοση. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Το plugin αναζήτησης %1 δεν ήταν δυνατό να εγκατασταθεί. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Το plugin αναζήτησης %1 αναβαθμίστηκε επιτυχώς. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Το plugin αναζήτησης %1 εγκαταστάθηκε επιτυχώς. + + + + Search engine plugin archive could not be read. + Το αρχείο του plugin αναζήτησης δεν ήταν δυνατό να διαβαστεί. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Λυπούμαστε, η εγκατάσταση του plugin αναζήτησης %1 απέτυχε. + + + + New search engine plugin URL + Νέο URL plugin αναζήτησης + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB/s - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3240,7 +3881,7 @@ Changelog: μ - + Unknown Άγνωστος @@ -3257,31 +3898,31 @@ Changelog: μ - + Unknown Unknown (size) Άγνωστο - + < 1m < 1 minute < 1λ - + %1m e.g: 10minutes %1λ - + %1h%2m e.g: 3hours 5minutes %1ώ%2λ - + %1d%2h%3m e.g: 2days 10hours 2minutes %1μ%2ώ%3λ @@ -3340,12 +3981,12 @@ Changelog: είναι κακοσχηματισμένη. - + Range Start IP Εύρος Αρχής ΙΡ - + Start IP: Αρχή ΙΡ: @@ -3360,78 +4001,101 @@ Changelog: Η ΙΡ είναι λάθος. - + Range End IP Εύρος Τέλους ΙΡ - + End IP: Τέλος ΙΡ: - + IP Range Comment Σχόλιο Εύρους ΙΡ - + Comment: Σχόλιο: - + to <min port> to <max port> - έως + έως - + Choose your favourite preview program Επιλέξτε το αγαπημένο σας πρόγραμμα προεπισκόπησης - + Invalid IP Άκυρο IP - + This IP is invalid. Αυτό το IP είναι άκυρο. - + Options were saved successfully. Οι επιλογές αποθηκεύτηκαν επιτυχώς. - + Choose scan directory Επιλέξτε φάκελο αναζήτησης - + Choose an ipfilter.dat file Επιλέξτε ένα αρχείο ipfilter.dat - + Choose a save directory Επιλέξτε φάκελο αποθήκευσης - + I/O Error Input/Output Error I/O Σφάλμα - + Couldn't open %1 in read mode. Αδύνατο το άνοιγμα του %1 σε λειτουργία ανάγνωσης. + + pluginSourceDlg + + + Plugin source + Πηγή plugin + + + + Search plugin source: + Πηγή plugin αναζήτησης: + + + + Local file + Τοπικό αρχείο + + + + Web link + Web σύνδεσμος + + preview @@ -3541,7 +4205,7 @@ Changelog: Περιεχόμενο τορεντ - + OK OK @@ -3591,7 +4255,7 @@ Changelog: Προσδιορίζει - + Unknown Άγνωστο @@ -3606,12 +4270,12 @@ Changelog: Μερικό: - + Files contained in current torrent: Αρχεία που περιέχονται στο παρόν τορεντ: - + Size Μέγεθος @@ -3646,32 +4310,32 @@ Changelog: Σωστό - + Tracker Ιχνηλάτης - + Trackers: Ιχνηλάτες: - + None - Unreachable? Κανένα - Απροσπέλαστο? - + Errors: Λάθη: - + Progress Πρόοδος - + Main infos Γενικές πληροφορίες @@ -3681,27 +4345,27 @@ Changelog: Αριθμός διαμοιραστών: - + Current tracker: Τρέχων ιχνηλάτης: - + Total uploaded: Σύνολο ανεβασμένων: - + Total downloaded: Σύνολο κατεβασμένων: - + Total failed: Σύνολο αποτυχημένων: - + Torrent content Περιεχόμενο τορεντ @@ -3711,7 +4375,7 @@ Changelog: Επιλογές - + Download in correct order (slower but good for previewing) Κατέβασμα στη σωστή σειρά (πιο αργό αλλα καλό για προεπισκόπηση) @@ -3731,132 +4395,132 @@ Changelog: Συνδέσεις: - + Save path: Αποθήκευση σε: - + Torrent infos Πληροφορίες τορεντ - + Creator: Δημιουργός: - + Torrent hash: Τορεντ hash: - + Comment: Σχόλιο: - + Current session Τρέχουσα συνεδρία - + Share ratio: Ποσοστό μοιράσματος: - + Trackers Ιχνηλάτες - + New tracker Νέος ιχνηλάτης - + New tracker url: Url νέου ιχνηλάτη: - + Priorities: Προτεραιότητες: - + Normal: normal priority. Download order is dependent on availability Κανονική: κανονική προτεραιότητα. Η σειρά κατεβάσματος εξαρτάται από τη διαθεσιμότητα - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Υψηλή: υψηλότερη από τη κανονική προτεραιότητα. Τα κομμάτια προτιμόνται από άλλα με την ίδια διαθεσιμότητα, αλλά όχι από κομμάτια με χαμηλότερη διαθεσιμότητα - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Μέγιστη: μέγιστη προτεραιότητα, η διαθεσιμότητα παραβλέπεται, το κομμάτι προτιμάται από κάθε άλλο κομμάτι με χαμηλότερη προτεραιότητα - + File name Όνομα αρχείου - + Priority Προτεραιότητα - + qBittorrent qBittorrent - + Trackers list can't be empty. Η λίστα των ιχνηλατών δεν γίνεται να είναι άδεισ. - + Ignored: file is not downloaded at all Αγνοέιται: το αρχείο δεν κατεβάζεται καθόλου - + Ignored Αγνοείται - + Normal Κανονικό - + Maximum Μέγιστο - + High Υψηλό - + Url seeds Url μοιράσματα - + New url seed: Νέο url μοιράσματος: - + This url seed is already in the list. Αυτό το url μοιράσματος είναι ήδη στη λίστα. @@ -3866,74 +4530,89 @@ Changelog: "Hard-coded" url μοιράσματος δεν μπορούν να διαγραφούν. - + None i.e: No error message Κανένα - + New url seed New HTTP source Νέο url μοιράσματος - + The following url seeds are available for this torrent: Τα ακόλουθα url μοιράσματος είναι διαθέσιμα για αυτό το τορεντ: + + + Priorities error + Σφάλμα προτεραιοτήτων + + + + Error, you can't filter all the files in a torrent. + Σφάλμα, δεν μπορείτε να φιλτράρετε όλα τα αρχεία σε ένα τορεντ. + search_engine - + Search Αναζήτηση - + Search Engines - Μηχανές Αναζήτησης + Μηχανές Αναζήτησης - + Search Pattern: Πρότυπο εύρεσης: - + Stop Σταμάτησε - + Status: Κατάσταση: - + Stopped Σταμάτησε - + Results: Αποτελέσματα: - + Download Κατέβασμα - + Clear Εκκαθάριση - + Update search plugin - Αναβάθμιση plugin αναζήτησης + Αναβάθμιση plugin αναζήτησης + + + + Search engines... + Μηχανές αναζήτησης... @@ -3992,57 +4671,57 @@ Changelog: subDownloadThread - + Host is unreachable Ο φορέας δεν βρέθηκε - + File was not found (404) Το αρχείο δε βρέθηκε (404) - + Connection was denied Άρνηση σύνδεσης - + Url is invalid Άκυρο url - + Connection forbidden (403) Απαγόρευση σύνδεσης (403) - + Connection was not authorized (401) Η σύνδεση δεν εγκρίθηκε (401) - + Content has moved (301) Το περιεχόμενο έχει μετακινηθεί (301) - + Connection failure Σφάλμα σύνδεσης - + Connection was timed out Τέλος χρόνου σύνδεσης - + Incorrect network interface Λανθασμένο interface δικτύου - + Unknown error Άγνωστο σφάλμα @@ -4055,17 +4734,17 @@ Changelog: Σωστό - + Unable to decode torrent file: Αδύνατο να αποκωδικοποιηθεί το αρχείο τορεντ: - + This file is either corrupted or this isn't a torrent. Το αρχείο είτε είναι κατεστραμμένο, ή δεν ειναι ενα τορεντ. - + Choose save path Επιλέξτε διαδρομή αποθήκευσης @@ -4075,52 +4754,52 @@ Changelog: Λάθος - + Empty save path Κενή διαδρομή αποθήκευσης - + Please enter a save path Παρακαλώ εισάγετε μία διαδρομή αποθήκευσης - + Save path creation error Σφάλμα δημιουργίας διαδρομής αποθήκευσης - + Could not create the save path Δεν μπόρεσε να δημιουργηθεί η διαδρομή αποθήκευσης - + Invalid file selection Άκυρη επιλογή αρχείου - + You must select at least one file in the torrent Πρέπει να επιλέξετε τουλάχιστο ένα αρχείο του τορεντ - + File name Όνομα αρχείου - + Size Μέγεθος - + Progress Πρόοδος - + Priority Προτεραιότητα diff --git a/src/lang/qbittorrent_en.qm b/src/lang/qbittorrent_en.qm index a9fc263ffb1c7097adbf8a1c617a9b34c4198a12..94eef5645dd351e37bfaa2d978acfdbfbc73a88b 100644 GIT binary patch delta 8694 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 Xob7DRCd7vox0VMqRNh}^tP=enRmX@x delta 6367 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 HD|r6_lHZZB diff --git a/src/lang/qbittorrent_en.ts b/src/lang/qbittorrent_en.ts index 395b682ad..956361781 100644 --- a/src/lang/qbittorrent_en.ts +++ b/src/lang/qbittorrent_en.ts @@ -146,430 +146,449 @@ Copyright © 2006 by Christophe Dumez<br> - - Options - - - - - Main - - - - - Save Path: - - - - - Download Limit: - - - - - Upload Limit: - - - - - Max Connects: - - - - + Port range: - + ... - - Disable - - - - - connections - - - - - Proxy - - - - + Proxy Settings - + 0.0.0.0 - + Port: - - Proxy server requires authentication - - - - + Authentication - - User Name: - - - - + Password: - - Enable connection through a proxy server - - - - - Scanned Dir: - - - - - Enable directory scan (auto add torrent files inside) - - - - - Share ratio: - - - - + Activate IP Filtering - + Filter Settings - + Start IP - + End IP - + Origin - + Comment - - IP Filter - - - - + Add Range - + Remove Range - - ipfilter.dat Path: - - - - - Go to systray when minimizing window - - - - - Misc - - - - - Localization - - - - + Language: - - Behaviour - - - - + KiB/s - - 1 KiB DL = - - - - - KiB UP max. - - - - + Preview program - - Audio/Video player: - - - - - Always display systray messages - - - - - Display systray messages only when window is hidden - - - - - Never display systray messages - - - - - DHT configuration - - - - - DHT port: - - - - - Language - - - - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. - - <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - - - - - Display a torrent addition dialog everytime I add a torrent - - - - - Default save path - - - - - Disable DHT (Trackerless) - - - - - Disable Peer eXchange (PeX) - - - - - Go to systray when closing main window - - - - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + Misc + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -638,51 +657,51 @@ Copyright © 2006 by Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - + This file is either corrupted or this isn't a torrent. - + Couldn't listen on any of the given ports. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... @@ -737,48 +756,48 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files - + &Yes - + &No - + Are you sure you want to delete the selected item(s) in download list? - + Torrent Files - + Are you sure? -- qBittorrent - + Preview process already running - + There is already another preview process running. Please close the other one first. - + Download finished @@ -789,248 +808,285 @@ Please close the other one first. - + Connection status: - + Offline - + No peers found... - + qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s - + Are you sure you want to quit? - + '%1' was removed. 'xxx.avi' was removed. - + All downloads were paused. - + '%1' paused. xxx.avi paused. - + All downloads were resumed. - + '%1' resumed. e.g: xxx.avi resumed. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. - + I/O Error i.e: Input/Output Error - + 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 - + Connection Status: - + Online - + Firewalled? i.e: Behind a firewall/router? - + No incoming connections... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. - + Search - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Downloads - + Finished - + Are you sure you want to delete the selected item(s) in finished list? - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -1168,24 +1224,24 @@ Are you sure you want to quit qBittorrent? PropListDelegate - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -1199,133 +1255,148 @@ Are you sure you want to quit qBittorrent? - + Delete - + Rename - + Refresh - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent - + &Yes - + &No - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -1333,13 +1404,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -1347,146 +1418,88 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name - + Size i.e: file size - + Seeders i.e: Number of full sources - + Leechers i.e: Number of partial sources - + Search engine - + Empty search pattern - + Please type a search pattern first - - No search engine selected - - - - - You must select at least one search engine. - - - - + Results - + Searching... - - Search plugin update -- qBittorrent - - - - - Search plugin can be updated, do you want to update it? - -Changelog: - - - - - - &Yes - - - - - &No - - - - - Search plugin update - - - - - qBittorrent - - - - - Sorry, update server is temporarily unavailable. - - - - - Your search plugin is already up to date. - - - - + Search Engine - + Search has finished - + An error occured during search... - + Search aborted - + Search returned no results - + Results i.e: Search results - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. + + Unknown @@ -1516,57 +1529,57 @@ Changelog: - + Save path: - + ... - + Torrent content: - + Download in correct order (slower but good for previewing) - + Add to download list in paused state - + Add - + Cancel - + Ignored - + Normal - + High - + Maximum @@ -1625,17 +1638,7 @@ Changelog: createTorrentDialog - - ... - - - - - Create - - - - + Cancel @@ -1645,119 +1648,179 @@ Changelog: - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) - - - - - Destination torrent file: - - - - + Web seeds urls (optional): + + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... + + createtorrent - + Select destination torrent file - + Torrent Files - - No destination path set - - - - - Please type a destination path first - - - - + No input path set - + Please type an input path first - + Torrent creation - + Torrent was created successfully: - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -1880,69 +1943,253 @@ Changelog: + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + + + + + Uninstall + + + + + engineSelectDlg + + + True + + + + + False + + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + + + + + Sorry, update server is temporarily unavailable. + + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes - + KiB kibibytes (1024 bytes) - + MiB mebibytes (1024 kibibytes) - + GiB gibibytes (1024 mibibytes) - + TiB tebibytes (1024 gibibytes) - + Unknown - + Unknown Unknown (size) - + < 1m < 1 minute - + %1m e.g: 10minutes - + %1h%2m e.g: 3hours 5minutes - + %1d%2h%3m e.g: 2days 10hours 2minutes @@ -1951,88 +2198,105 @@ Changelog: options_imp - + Range Start IP - + Start IP: - + Range End IP - + End IP: - + IP Range Comment - + Comment: - - to - <min port> to <max port> - - - - + Choose your favourite preview program - + Invalid IP - + This IP is invalid. - + Options were saved successfully. - + Choose scan directory - + Choose an ipfilter.dat file - + Choose a save directory - + I/O Error Input/Output Error - + Couldn't open %1 in read mode. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -2097,283 +2361,288 @@ Changelog: - + OK - + Files contained in current torrent: - + Size - + Tracker - + Trackers: - + None - Unreachable? - + Errors: - + Progress - + Main infos - + Current tracker: - + Total uploaded: - + Total downloaded: - + Total failed: - + Torrent content - + Download in correct order (slower but good for previewing) - + Save path: - + Torrent infos - + Creator: - + Torrent hash: - + Comment: - + Current session - + Share ratio: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name - + Priority - + qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Unknown - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search - - Search Engines - - - - + Search Pattern: - + Stop - + Status: - + Stopped - + Results: - + Download - + Clear - - Update search plugin + + Search engines... @@ -2433,57 +2702,57 @@ Changelog: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -2491,67 +2760,67 @@ Changelog: torrentAdditionDialog - + Unable to decode torrent file: - + This file is either corrupted or this isn't a torrent. - + Choose save path - + Empty save path - + Please enter a save path - + Save path creation error - + Could not create the save path - + Invalid file selection - + You must select at least one file in the torrent - + File name - + Size - + Progress - + Priority diff --git a/src/lang/qbittorrent_es.qm b/src/lang/qbittorrent_es.qm index 3802f469946e6147e7013828267678e441ac3b0d..8bc4af4364c4682740fe409a0969360174414ad5 100644 GIT binary patch delta 14951 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 Y{d6jpoxV3F`1Gj~m2M5vN2yT!FLFa>*Z=?k delta 9885 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 - + AboutDlg @@ -18,7 +18,7 @@ Autor - + qBitorrent Author Autor de qBitorrent @@ -53,17 +53,17 @@ Francia - + chris@dchris.eu chris@dchris.eu - + http://dchris.eu http://dchris.eu - + Thanks To Gracias a @@ -83,7 +83,7 @@ <h3><b>qBittorrent</b></h3> - + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> @@ -94,7 +94,7 @@ Copyright © 2006 por Christophe Dumez<br> <br><u>Página web:</u><i>http://qbittorrent.sourceforge.net</i><br> - + qBittorrent Author Autor de qBittorrent @@ -185,550 +185,829 @@ Copyright © 2006 por Christophe Dumez<br> Opciones -- qBittorrent - + Options - Opciones + Opciones - + Main - Principal + Principal - + Save Path: - Ruta de Guardado: + Ruta de Guardado: - + Download Limit: - Límite de Descarga: + Límite de Descarga: - + Upload Limit: - Límite de Subida: + Límite de Subida: - + Max Connects: - Conexiones Máximas: + Conexiones Máximas: - + Port range: Rango de Puertos: - + ... ... - + Kb/s Kb/s - + Disable - Deshabilitar + Deshabilitar - + connections - conexiones + conexiones - + to hasta - + Proxy - Proxy + Proxy - + Proxy Settings Configuración del Proxy - + Server IP: IP del servidor: - + 0.0.0.0 0.0.0.0 - + Port: Puerto: - + Proxy server requires authentication - El servidor Proxy requiere autentificarse + El servidor Proxy requiere autentificarse - + Authentication Autenticación - + User Name: - Nombre de Usuario: + Nombre de Usuario: - + Password: Contraseña: - + Enable connection through a proxy server - Habilitar conexión a través de un Servidor Proxy + Habilitar conexión a través de un Servidor Proxy - + Language - Idioma + Idioma - + Please choose your preferred language in the following list: Por favor selecciona tu idioma preferido de la siguiente lista: - + Language settings will take effect after restart. La configuración del lenguaje tendrá efecto después de reiniciar. - + OK OK - + Cancel Cancelar - + Scanned Dir: - Directorio a Explorar: + Directorio a Explorar: - + Enable directory scan (auto add torrent files inside) - Habilitar exploración de directorio (auto agregar archivos torrent dentro) + Habilitar exploración de directorio (auto agregar archivos torrent dentro) - + Connection Settings Preferencias de la Conexión - + Share ratio: - Radio de Compartición: + Radio de Compartición: - + 1 KB DL = 1 KB de Descarga = - + KB UP max. KB de subida max. - + Activate IP Filtering Activar Filtro de IP - + Filter Settings Preferencias del Filtro - + ipfilter.dat URL or PATH: URL o Ruta de ipfilter.dat: - + Start IP IP de inicio - + End IP IP Final - + Origin Origen - + Comment Comentario - + Apply Aplicar - + IP Filter - Filtro de IP + Filtro de IP - + Add Range Agregar Rango - + Remove Range Eliminar Rango - + Catalan Catalán - + ipfilter.dat Path: - Ruta de ipfilter.dat: + Ruta de ipfilter.dat: - + Clear finished downloads on exit Borrar descargas terminadas al salir - + GUI Interfaz Gráfica - + Ask for confirmation on exit Pedir confirmación al salir - + Go to systray when minimizing window - Mandar a la barra de tareas al minimizar ventana + Mandar a la barra de tareas al minimizar ventana - + Misc Misceláneos - + Localization - Ubicación + Ubicación - + Language: Idioma: - + Behaviour - Comportamiento + Comportamiento - + OSD OSD - + Always display OSD Mostrar siempre OSD - + Display OSD only if window is minimized or iconified Muestra OSD solo si la ventana esta minimizada o iconificada - + Never display OSD No mostrar nunca OSD - + KiB/s KiB/s - + 1 KiB DL = - 1 KiB Descarga = + 1 KiB Descarga = - + KiB UP max. - KiB Subida máx. + KiB Subida máx. - + DHT (Trackerless): DHT (Trackerless): - + Disable DHT (Trackerless) support Desabilitar soporte DHT (Trackerless) - + Automatically clear finished downloads Limpiar automáticamente descargas finalizadas - + Preview program Previsualizar programa - + Audio/Video player: - Reproductor de Audio/Video: + Reproductor de Audio/Video: - + DHT configuration - Configuración DHT + Configuración DHT - + DHT port: - Puerto DHT: + Puerto DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Nota: </b> Los cambios se aplicarán después de reiniciar qBittorrent. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Nota de los traductores:</b> Si qBittorrent no está disponible en tu idioma,<br/>y si quisieras traducirlo a tu lengua natal,<br/>por favor contáctame (chris@qbittorrent.org). + <b>Nota de los traductores:</b> Si qBittorrent no está disponible en tu idioma,<br/>y si quisieras traducirlo a tu lengua natal,<br/>por favor contáctame (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - Desplegar un diálogo de agregar torrent cada que agregue un torrent + Desplegar un diálogo de agregar torrent cada que agregue un torrent - + Default save path - Ruta de guardado por defecto + Ruta de guardado por defecto - + Systray Messages Mensajes de Systray - + Always display systray messages - Siempre mostrar mensajes de bandeja de sistema + Siempre mostrar mensajes de bandeja de sistema - + Display systray messages only when window is hidden - Desplegar mensajes de la bandeja del sistema sólo cuando la ventana está oculta + Desplegar mensajes de la bandeja del sistema sólo cuando la ventana está oculta - + Never display systray messages - Nunca desplegar mensajes de la bandeja del sistema + Nunca desplegar mensajes de la bandeja del sistema - + Disable DHT (Trackerless) - Desactivar DHT (Sin Tracker) + Desactivar DHT (Sin Tracker) - + Disable Peer eXchange (PeX) - Desactivar Peer eXchange (PeX) + Desactivar Peer eXchange (PeX) - + Go to systray when closing main window - Enviar a la bandeja del sistema cuando se cierre la ventana principal + Enviar a la bandeja del sistema cuando se cierre la ventana principal - + Connection Conexión - + Peer eXchange (PeX) - Intercambio de peers (PeX) + Intercambio de peers (PeX) - + DHT (trackerless) - DHT (sin tracker) + DHT (sin tracker) - + Torrent addition - Agregar torrent + Agregar torrent - + Main window - Ventana principal + Ventana principal - + Systray messages - Mensajes de bandeja del sistema + Mensajes de bandeja del sistema - + Directory scan - Análisis de directorio + Análisis de directorio - + Style (Look 'n Feel) - Estilo (Apariencia) + Estilo (Apariencia) - + Plastique style (KDE like) Estilo Plastique (como KDE) - + Cleanlooks style (GNOME like) - Estilo Cleanlooks (como GNOME) + Estilo Cleanlooks (como GNOME) - + Motif style (default Qt style on Unix systems) - Estilo Motif (el estilo por defecto de Qt en sistemas Unix) + Estilo Motif (el estilo por defecto de Qt en sistemas Unix) - + CDE style (Common Desktop Environment like) Estilo CDE (como el Common Desktop Enviroment) - + MacOS style (MacOSX only) - Estilo MacOS (solo para MacOSX) + Estilo MacOS (solo para MacOSX) - + Exit confirmation when the download list is not empty - Confirmar salida cuando la lista de descargas no está vacía + Confirmar salida cuando la lista de descargas no está vacía - + Disable systray integration - Deshabilitar integración con la bandeja del sistema + Deshabilitar integración con la bandeja del sistema - + WindowsXP style (Windows XP only) - Estilo WindowsXP (solo para WindowsXP) + Estilo WindowsXP (solo para WindowsXP) - + Server IP or url: - IP o url del servidor: + IP o url del servidor: - + Proxy type: - Tipo de proxy: + Tipo de proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Conexiones afectadas - + Use proxy for connections to trackers Usar proxy para las conexiones a trackers - + Use proxy for connections to regular peers Usar proxy para las conexiones a peers regulares - + Use proxy for connections to web seeds Usar proxy para las conexiones a semillas de web - + Use proxy for DHT messages Usar proxy para mensajes DHT - + Encryption - Encriptado + Encriptado - + Encryption state: - Estado de encriptación: + Estado de encriptación: - + Enabled Habilitado - + Forced Forzado - + Disabled Deshabilitado + + + Preferences + Preferencias + + + + General + General + + + + User interface settings + Preferencias de interfaz de usuario + + + + Visual style: + Estilo visual: + + + + Cleanlooks style (Gnome like) + Estilo Cleanlooks (como Gnome) + + + + Motif style (Unix like) + Estilo Motif (como Unix) + + + + Ask for confirmation on exit when download list is not empty + Pedir confirmación al salir cuando la lista de descargas no esté vacía + + + + Display current speed in title bar + Mostrar velocidad actual en la barra de título + + + + System tray icon + Ícono de la bandeja del sistema + + + + Disable system tray icon + Deshabilitar ícono de la bandeja del sistema + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Mandar a la bandeja del sistema al cerrar + + + + Minimize to tray + Minimizar a la bandeja del sistema + + + + Show notification balloons in tray + Mostrar globos de notificación en la bandeja + + + + Media player: + Reproductor de medios: + + + + Downloads + Descargas + + + + Put downloads in this folder: + Poner las descargas en esta carpeta: + + + + Pre-allocate all files + Pre-localizar todos los archivos + + + + When adding a torrent + Al agregar un torrent + + + + Display torrent content and some options + Mostrar el contenido del torrent y algunas opciones + + + + Do not start download automatically + The torrent will be added to download list in pause state + No comenzar a descargar automáticamente + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Observación de carpetas + + + + Automatically download torrents present in this folder: + Automáticamente descargar los torrents presentes en esta carpeta: + + + + Listening port + Puerto de escucha + + + + to + i.e: 1200 to 1300 + hasta + + + + Enable UPnP port mapping + Habilitar mapeo de puertos UPnP + + + + Enable NAT-PMP port mapping + Habilitar mapeo de puertos NAT-PMP + + + + Global bandwidth limiting + Limite global de ancho de banda + + + + Upload: + Subida: + + + + Download: + Descarga: + + + + Type: + Tipo: + + + + (None) + (Ninguno) + + + + Proxy: + Proxy: + + + + Username: + Nombre de Usuario: + + + + Bittorrent + Bittorrent + + + + Connections limit + Límite de conexiones + + + + Global maximum number of connections: + Número global máximo de conexiones: + + + + Maximum number of connections per torrent: + Número máximo de conexinoes por torrent: + + + + Maximum number of upload slots per torrent: + Número máximo de slots de subida por torrent: + + + + Additional Bittorrent features + Funcionalidades adicionales de bittorrent + + + + Enable DHT network (decentralized) + Habilitar red DHT (descentralizada) + + + + Enable Peer eXchange (PeX) + Habilitar Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Habilitar descubrimiento local de peers + + + + Encryption: + Encripción: + + + + Share ratio settings + Preferencias de radio de compartición + + + + Desired ratio: + Radio deseado: + + + + Filter file path: + Ruta de archivos de filtro: + + + + transfer lists refresh interval: + Intervalo de actualización de listas de transferencia: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Intervalo de actualización de feeds de RSS: + + + + minutes + minutos + + + + Maximum number of articles per feed: + Número máximo de artículos por feed: + + + + File system + Sistema de archivos + + + + Remove finished torrents when their ratio reaches: + Eliminar torrents terminados cuando su radio llega a: + + + + System default + Por defecto del systema + DownloadingTorrents @@ -736,115 +1015,115 @@ Copyright © 2006 por Christophe Dumez<br> Name i.e: file name - Nombre + Nombre Size i.e: file size - Tamaño + Tamaño Progress i.e: % downloaded - Progreso + Progreso DL Speed i.e: Download speed - Velocidad de Descarga + Velocidad de Descarga UP Speed i.e: Upload speed - Velocidad de Subida + Velocidad de Subida Seeds/Leechs i.e: full/partial sources - Semillas/Leechs + Semillas/Leechs Ratio - Radio + Radio ETA i.e: Estimated Time of Arrival / Time left - Tiempo Restante Aproximado + Tiempo Restante Aproximado qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 iniciado. + qBittorrent %1 iniciado. Be careful, sharing copyrighted material without permission is against the law. - Ten cuidado, compartir material protegido sin permiso es ilegal. + Ten cuidado, compartir material protegido sin permiso es ilegal. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>ha sido bloqueado</i> + <font color='red'>%1</font> <i>ha sido bloqueado</i> - + Fast resume data was rejected for torrent %1, checking again... - Se negaron los datos para reinicio rápido del torrent: %1, verificando de nuevo... + Se negaron los datos para reinicio rápido del torrent: %1, verificando de nuevo... - + Url seed lookup failed for url: %1, message: %2 - Falló la búsqueda de semilla por Url para la url: %1, mensaje: %2 + Falló la búsqueda de semilla por Url para la url: %1, mensaje: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' agregado a la lista de descargas. + '%1' agregado a la lista de descargas. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' reiniciado. (reinicio rápido) + '%1' reiniciado. (reinicio rápido) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' ya está en la lista de descargas. + '%1' ya está en la lista de descargas. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Imposible decodificar el archivo torrent: '%1' + Imposible decodificar el archivo torrent: '%1' - + This file is either corrupted or this isn't a torrent. - Este archivo puede estar corrupto, o no ser un torrent. + Este archivo puede estar corrupto, o no ser un torrent. - + Couldn't listen on any of the given ports. - No se pudo escuchar en ninguno de los puertos brindados. + No se pudo escuchar en ninguno de los puertos brindados. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Descargando '%1', por favor espera... + Descargando '%1', por favor espera... @@ -858,7 +1137,7 @@ Copyright © 2006 por Christophe Dumez<br> FinishedTorrents - + Finished Terminado @@ -881,7 +1160,7 @@ Copyright © 2006 por Christophe Dumez<br> Progreso - + DL Speed i.e: Download speed Velocidad de Descarga @@ -899,24 +1178,24 @@ Copyright © 2006 por Christophe Dumez<br> Semillas/Leechs - + Status Estado - + ETA i.e: Estimated Time of Arrival / Time left Tiempo Restante Aproximado - + Finished i.e: Torrent has finished downloading Terminado - + None i.e: No error message Ninguno @@ -930,390 +1209,390 @@ Copyright © 2006 por Christophe Dumez<br> GUI - + started. iniciado. - + DL Speed: Velocidad de Descarga: - + kb/s kb/s - + UP Speed: Velocidad de Subida: - + Couldn't create the directory: No se pudo crear el directorio: - + Open Torrent Files Abrir archivos Torrent - + Torrent Files Archivos Torrent - + already in download list. <file> already in download list. ya está en la lista de descargas. - + MB MB - + kb/s kb/s - + Unknown Desconocido - + added to download list. agregado a la lista de descargas. - + resumed. (fast resume) Reiniciado (reiniciado rápido) - + Unable to decode torrent file: Imposible decodificar el archivo torrent: - + This file is either corrupted or this isn't a torrent. Este archivo puede estar corrupto, o no ser un torrent. - + Are you sure you want to delete all files in download list? ¿Seguro que quieres eliminar todos los archivos de la lista de descargas? - + &Yes &Sí - + &No &No - + Download list cleared. Lista de descargas borrada. - + Are you sure you want to delete the selected item(s) in download list? ¿Seguro que quieres borrar el o los elemento(s) seleccionados de la lista de descargas? - + removed. <file> removed. eliminado. - + paused en pausa - + All Downloads Paused. Todas las Descargas en Pausa. - + started iniciado - + All Downloads Resumed. Todas las Descargas Continuadas. - + paused. <file> paused. en pausa. - + resumed. <file> resumed. continuada. - + Finished Terminada - + Checking... Verificando... - + Connecting... Conectando... - + Downloading... Bajando... - + m minutes m - + h hours h - + d days d - + Listening on port: Escuchando en el puerto: - + Couldn't listen on any of the given ports No se pudo escuchar en ninguno de los puertos brindados - + qBittorrent qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent ¿Estás seguro? -- qBittorrent - + <b>qBittorrent</b><br>DL Speed: <b>qBittorrent</b><br>Velocidad de Descarga: - + :: By Christophe Dumez :: Copyright (c) 2006 :: Por Christophe Dumez :: Copyright (c) 2006 - + <b>Connection Status:</b><br>Online <b>Estado de la Conexión:</b><br>En línea - + <b>Connection Status:</b><br>Firewalled?<br><i>No incoming connections...</i> <b>Estado de la Conexión:</b><br>¿Con Firewall?<br><i>Sin conexiones entrantes...</i> - + <b>Connection Status:</b><br>Offline<br><i>No peers found...</i> <b>Estado de la Conexión:</b><br>Desconectado<br><i>No se encontraron nodos...</i> - + has finished downloading. se ha terminado de descargar. - + Couldn't listen on any of the given ports. red No se pudo escuchar en ninguno de los puertos brindados. - + Couldn't listen on any of the given ports. No se pudo escuchar en ninguno de los puertos brindados. - + None Ninguno - + Empty search pattern Patrón de búsqueda vacío - + Please type a search pattern first Por favor escriba un patrón de búsqueda primero - + No seach engine selected No seleccionaste motor de búsqueda - + You must select at least one search engine. Debes seleccionar al menos un motor de búsqueda. - + Searching... Buscando... - + Could not create search plugin. No se pudo crear el plugin de búsqueda. - + Stopped Detenido - + I/O Error Error de Entrada/Salida - + Couldn't create temporary file on hard drive. No se pudo crear archivo temporal en Disco Duro. - + Torrent file URL URL del archivo torrent - + Downloading using HTTP: Descargar usando HTTP: - + Torrent file URL: URL del archivo torrent: - + Are you sure you want to quit? -- qBittorrent ¿Seguro que quieres salir? -- qBittorrent - + Are you sure you want to quit qbittorrent? ¿Seguro que quieres salir de qbittorrent? - + Timed out Fuera de tiempo - + Error during search... Error durante la búsqueda... - + Failed to download: No se pudo descargar: - + KiB/s KiB/s - + KiB/s KiB/s - + A http download failed, reason: Una descarga http falló, razón: - + Stalled Detenida - + Search is finished La busqueda ha finalizado - + An error occured during search... Ocurrió un error durante la búsqueda... - + Search aborted Búsqueda abortada - + Search returned no results La búsqueda no devolvió resultados - + Search is Finished La búsqueda ha finalizado - + Search plugin update -- qBittorrent Actualizador de plugin de búsqueda -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: @@ -1324,139 +1603,139 @@ Log: - + Sorry, update server is temporarily unavailable. Lo siento, el servidor de actualización esta temporalmente no disponible. - + Your search plugin is already up to date. Tu plugin de búsqueda vuelve a estar actualizado. - + Results Resultados - + Name Nombre - + Size Tamaño - + Progress Progreso - + DL Speed Velocidad de Descarga - + UP Speed Velocidad de Subida - + Status Estado - + ETA Tiempo Restante Aproximado - + Seeders Seeders - + Leechers Leechers - + Search engine Motor de búsqueda - + Stalled state of a torrent whose DL Speed is 0 Detenida - + Preview process already running Previsualizar procesos activos - + There is already another preview process running. Please close the other one first. Hay otro proceso de previsualización corriendo. Por favor cierra el otro antes. - + Couldn't download Couldn't download <file> No se pudo descargar - + reason: Reason why the download failed Razón: - + Downloading Example: Downloading www.example.com/test.torrent Descargando - + Please wait... Por favor espere... - + Transfers Transferidos - + Are you sure you want to quit qBittorrent? ¿Seguro que deseas salir de qBittorrent? - + Are you sure you want to delete the selected item(s) in download list and in hard drive? ¿Seguro que deseas borrar el o los elementos seleccionados de la lista de descargas y del disco duro? - + Download finished Descarga terminada - + has finished downloading. <filename> has finished downloading. se ha terminado de descargar. - + Search Engine Motor de Búsqueda @@ -1467,489 +1746,526 @@ Por favor cierra el otro antes. qBittorrent %1 - + Connection status: Estado de la conexión: - + Offline Offline - + No peers found... No se encontraron peers... - + Name i.e: file name Nombre - + Size i.e: file size Tamaño - + Progress i.e: % downloaded Progreso - + DL Speed i.e: Download speed Velocidad de Descarga - + UP Speed i.e: Upload speed Velocidad de Subida - + Seeds/Leechs i.e: full/partial sources Semillas/Leechs - + ETA i.e: Estimated Time of Arrival / Time left Tiempo Restante Aproximado - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 iniciado. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Velocidad de Descarga: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Velocidad de subida: %1 KiB/s - + Finished i.e: Torrent has finished downloading Terminado - + Checking... i.e: Checking already downloaded parts... Verificando... - + Stalled i.e: State of a torrent whose download speed is 0kb/s Detenida - + Are you sure you want to quit? ¿Estás seguro de que deseas salir? - + '%1' was removed. 'xxx.avi' was removed. - '%1' fué removido. + '%1' fue removido. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' agregado a la lista de descargas. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' reiniciado. (reinicio rápido) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' ya está en la lista de descargas. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Imposible decodificar el archivo torrent: '%1' - + None i.e: No error message Ninguno - + Listening on port: %1 e.g: Listening on port: 1666 Escuchando en el puerto: %1 - + All downloads were paused. Todas las descargas en pausa. - + '%1' paused. xxx.avi paused. '%1' en pausa. - + Connecting... i.e: Connecting to the tracker... Conectando... - + All downloads were resumed. Todas las descargas reiniciadas. - + '%1' resumed. e.g: xxx.avi resumed. '%1' reiniciado. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 ha terminado de descargarse. - + I/O Error i.e: Input/Output Error Error de Entrada/Salida - + 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 - Un error ocurrió mientras se intentaba leer o escribir %1. El disco tal vez esté lleno, la descarga fué pausada + Un error ocurrió mientras se intentaba leer o escribir %1. El disco tal vez esté lleno, la descarga fue pausada - + An error occured (full fisk?), '%1' paused. e.g: An error occured (full fisk?), 'xxx.avi' paused. Un error ocurrió (¿disco lleno?), '%1' pausado. - + Connection Status: Estado de la conexión: - + Online En línea - + Firewalled? i.e: Behind a firewall/router? ¿Con firewall? - + No incoming connections... Sin conexiones entrantes... - + No search engine selected No se eligió ningún motor de búsqueda - + Search plugin update Actualización del plugin de búsqueda - + Search has finished Búsqueda terminada - + Results i.e: Search results Resultados - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Descargando '%1', por favor espera... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Un error ocurrió (¿disco lleno?), '%1' pausado. - + Search Buscar - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent está asignado al puerto: %1 - + DHT support [ON], port: %1 Soporte para DHT [encendido], puerto: %1 - + DHT support [OFF] Soporte para DHT [apagado] - + PeX support [ON] Soporte para PeX [encendido] - + PeX support [OFF] Soporte para PeX [apagado] - + The download list is not empty. Are you sure you want to quit qBittorrent? La lista de descargas no está vacía. ¿En verdad deseas salir de qBittorrent? - + Downloads Descargas - + Are you sure you want to delete the selected item(s) in finished list? ¿Estás seguro de que deseas borrar los íconos seleccionados en la lista de terminados? - + UPnP support [ON] Soporte para UPnP [encendido] - + Be careful, sharing copyrighted material without permission is against the law. Ten cuidado, compartir material protegido sin permiso es ilegal. - + Encryption support [ON] Soporte para encriptado [encendido] - + Encryption support [FORCED] Soporte para encriptado [forzado] - + Encryption support [OFF] Sopote para encriptado [apagado] - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <font color='red'>%1</font> <i>ha sido bloqueado</i> - + Ratio Radio - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - + Alt+3, Ctrl+F shortcut to switch to third tab (search) Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Error de descarga de Url - + Couldn't download file at url: %1, reason: %2. No se pudo descargar el archivo en la url: %1, razón: %2. - + Fast resume data was rejected for torrent %1, checking again... Se negaron los datos para reinicio rápido del torrent: %1, verificando de nuevo... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? ¿Estás seguro de que deseas borrar los elementos seleccionados de la lista de descargas y el disco duro? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? ¿Estás seguro de que deseas borrar los elementos selccionados de la lista de terminados y el disco duro? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - '%1' fué borrado permanentemente. + '%1' fue borrado permanentemente. - + Url seed lookup failed for url: %1, message: %2 Falló la búsqueda de semilla por Url para la url: %1, mensaje: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl + F + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' fue eliminado porque su radio llegó al valor máximo que estableciste. + + + + UPnP support [OFF] + Soporte para UPnP [Apagado] + + + + NAT-PMP support [ON] + Soporte para NAT-PMP [Encendido] + + + + NAT-PMP support [OFF] + Soporte para NAT-PMP[Apagado] + + + + Local Peer Discovery [ON] + Descubrimiento local de Peers [Encendido] + + + + Local Peer Discovery support [OFF] + Soporte para descubrimiento local de Peers [Apagado] + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) MainWindow - + qBittorrent :: By Christophe Dumez qBittorrent :: Por Christophe Dumez - + Log: Registro: - + Total DL Speed: Velocidad Total de Descarga: - + Kb/s Kb/s - + Total UP Speed: Velocidad Total de Subida: - + Name Nombre - + Size Tamaño - + % DL % Descargado - + DL Speed Velocidad de Descarga - + UP Speed Velocidad de Subida - + Status Estado - + ETA Tiempo Restante Aproximado - + &Options &Opciones @@ -2019,12 +2335,12 @@ Are you sure you want to quit qBittorrent? Documentación - + Connexion Status Estado de la Conexión - + Delete All Borrar Todas @@ -2034,62 +2350,62 @@ Are you sure you want to quit qBittorrent? Propiedades del Torrent - + Connection Status Estado de la Conexión - + Downloads Descargas - + Search Búsquedas - + Search Pattern: Patrón de Búsqueda: - + Status: Estado: - + Stopped Detenido - + Search Engines Motores de Búsqueda - + Results: Resultados: - + Stop Detenido - + Seeds Semillas - + Leechers Sepas - + Search Engine Motor de Búsqueda @@ -2099,17 +2415,17 @@ Are you sure you want to quit qBittorrent? Descargar de URL - + Download Descargar - + Clear Limpiar - + KiB/s KiB/s @@ -2119,22 +2435,22 @@ Are you sure you want to quit qBittorrent? Crear torrent - + Ratio: Radio: - + Update search plugin Actualizar plugin de búsqueda - + Session ratio: Media en sesión: - + Transfers Transferidos @@ -2174,12 +2490,12 @@ Are you sure you want to quit qBittorrent? Establece el límite de descarga - + Log Registro - + IP filter Filtro de IP @@ -2202,34 +2518,34 @@ Are you sure you want to quit qBittorrent? PropListDelegate - + False Falso - + True Verdadero - + Ignored Ignorado - + Normal Normal (priority) Normal - + High High (priority) Alta - + Maximum Maximum (priority) Máxima @@ -2238,7 +2554,7 @@ Are you sure you want to quit qBittorrent? QTextEdit - + Clear Limpiar @@ -2251,138 +2567,153 @@ Are you sure you want to quit qBittorrent? Buscar - + Delete Borrar - + Rename Renombrar - + Refresh Actualizar - + Create Crear - + Delete selected streams Borrar los flujos seleccionados - + Refresh RSS streams Actualizar los flujos de RSS - + Add a new RSS stream Agregar un nuevo flujo de RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Noticias: </b> <i>(da doble clic para abrir el vínculo en tu navegador)</i> - + Add RSS stream Agregar flujo RSS - + Refresh all streams Actualizar todos los flujos - + RSS streams: Flujos RSS: - + 2 2 + + + Mark all as read + Marcar todos como leídos + RSSImp - + Please type a rss stream url Por favor escribe una URL de flujo de RSS - + Stream URL: URL del flujo: - + Please choose a new name for this stream Por favor selecciona un nuevo nombre para este flujo - + New stream name: Nuevo nombre del flujo: - + Are you sure? -- qBittorrent ¿Estás seguro? -- qBittorrent - + &Yes &Sí - + &No &No - + Are you sure you want to delete this stream from the list? ¿Estás seguro de que deseas borrar este flujo de la lista? - + Description: Descripción: - + url: url: - + Last refresh: Última actualización: - + qBittorrent qBittorrent - + This rss feed is already in the list. Esta fuente de rss ya está en la lista. + + + Date: + Fecha: + + + + Author: + Autor: + RssItem - + No description available Sin descripción disponible @@ -2390,13 +2721,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago Hace %1 - + Never Nunca @@ -2404,231 +2735,236 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Nombre - + Size i.e: file size Tamaño - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + Search engine Motor de búsqueda - + Empty search pattern Patrón de búsqueda vacío - + Please type a search pattern first Por favor escriba un patrón de búsqueda primero - + No search engine selected - No se eligió ningún motor de búsqueda + No se eligió ningún motor de búsqueda - + You must select at least one search engine. - Debes seleccionar al menos un motor de búsqueda. + Debes seleccionar al menos un motor de búsqueda. - + Results Resultados - + Searching... Buscando... - + Search plugin update -- qBittorrent - Actualizador de plugin de búsqueda -- qBittorrent + Actualizador de plugin de búsqueda -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - El plugin de búsqueda puede ser actualizado, quieres actualizarlo? + El plugin de búsqueda puede ser actualizado, quieres actualizarlo? Log: - + &Yes - &Sí + &Sí - + &No - &No + &No - + Search plugin update - Actualización del plugin de búsqueda + Actualización del plugin de búsqueda - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Lo siento, el servidor de actualización esta temporalmente no disponible. + Lo siento, el servidor de actualización esta temporalmente no disponible. - + Your search plugin is already up to date. - Tu plugin de búsqueda vuelve a estar actualizado. + Tu plugin de búsqueda vuelve a estar actualizado. - + Search Engine Motor de Búsqueda - + Search has finished Búsqueda terminada - + An error occured during search... Ocurrió un error durante la búsqueda... - + Search aborted Búsqueda abortada - + Search returned no results La búsqueda no devolvió resultados - + Results i.e: Search results Resultados - + Search plugin download error - Error en la descarga del plugin de búsqueda + Error en la descarga del plugin de búsqueda - + Couldn't download search plugin update at url: %1, reason: %2. - No se pudo descargar la actualización del plugin de búsqueda en la url: %1, razón: %2. + No se pudo descargar la actualización del plugin de búsqueda en la url: %1, razón: %2. + + + + Unknown + Desconocido Ui - + I would like to thank the following people who volonteered to translate qBittorrent: Quiero agradecer a las siguientes personas que voluntariamente tradujeron qBittorrent: - + Please contact me if you would like to translate qBittorrent to your own language. Por favor contáctame si quisieras traducir qBittorrent a tu propio idioma. - + I would like to thank sourceforge.net for hosting qBittorrent project. Quiero agradecer a sourceforge.net por hospedar el proyecto qBittorrent. - + qBittorrent qBittorrent - + I would like to thank the following people who volunteered to translate qBittorrent: Quiero agradecer a las siguientes personas que voluntariamente tradujeron qBittorrent: - + <ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li> <ul><li>Quiero agradecer a sourceforge.net por hospedar el proyecto qBittorrent.</li> - + <li>I also like to thank Jeffery Fernandez (developer@jefferyfernandez.id.au), our RPM packager, for his great work.</li></ul> <li>Tambien quiero agradecer a Jeffery Fernandez (developer@jefferyfernandez.id.au), nuestro empaquetador de RPM, por su gran trabajo.</li></ul> - + Preview impossible Imposible previsualizar - + Sorry, we can't preview this file Lo siento, no podemos previsualizar este archivo - + Name Nombre - + Size Tamaño - + Progress Progreso - + No URL entered No se a entrado ninguna URL - + Please type at least one URL. Por favor entra al menos una URL. - + qBittorrent qBittorrent - + Please contact me if you would like to translate qBittorrent into your own language. Por favor contáctame si quieres traducir qBittorrent a tu propio idioma. @@ -2659,87 +2995,87 @@ Log: Diálogo de adición de torrent - + Save path: Ruta de guardado: - + ... ... - + Torrent content: Contenido del torrent: - + File name Nombre del archivo - + File size Tamaño del archivo - + Selected Seleccionado - + Download in correct order (slower but good for previewing) Descargar por orden (mas lento pero mejor para previsualizar) - + Add to download list in paused state Agregar a la lista de descargas en estado de pausa - + Add Agregar - + Cancel Cancelar - + select seleccionar - + Unselect Deseleccionar - + Select Seleccionar - + Ignored Ignorado - + Normal Normal - + High Alta - + Maximum Máxima @@ -2798,47 +3134,47 @@ Log: createTorrentDialog - + Create Torrent file Crear archivo Torrent - + Destination torrent file: - Archivo Torrent de destino: + Archivo Torrent de destino: - + Input file or directory: Archivo o directorio de entrada: - + Comment: Comentario: - + ... - ... + ... - + Create - Crear + Crear - + Cancel Cancelar - + Announce url (Tracker): URL de anuncio (tracker): - + Directory Directorio @@ -2848,154 +3184,244 @@ Log: Herramienta de Creación de Torrent - + <center>Destination torrent file:</center> <center>Archivo Torrent Destino:</center> - + <center>Input file or directory:</center> <center>Archivo o Directorio de Entrada:</center> - + <center>Announce url:<br>(One per line)</center> <center>URL Anunciada:<br>(Una por línia)</center> - + <center>Comment:</center> <center>Comentario:</center> - + Torrent file creation Creación de archivo torrent - + Input files or directories: - Archivos o directorios de entrada: + Archivos o directorios de entrada: - + Announce urls (trackers): Url's de anuncio (trackers): - + Comment (optional): Comentario (opcional): - + Private (won't be distributed on trackerless network / DHT if enabled) - Privado (no se distribuirá en una red sin trackers / DHT si se habilita) + Privado (no se distribuirá en una red sin trackers / DHT si se habilita) - + Web seeds urls (optional): Url's de semillas web (opcional): + + + File or folder to add to the torrent: + Archivo o carpeta a agregar al torrent: + + + + Add a file + Agregar un archivo + + + + Add a folder + Agregar una carpeta + + + + Piece size: + Tamaño de la pieza: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Privado (no se distribuirá por red DHT si se habilita) + + + + Start seeding after creation + Comenzar con las semillas después de la creación + + + + Create and save... + Crear y guardar... + createtorrent - + Select destination torrent file Selecciona destino para el archivo torrent - + Torrent Files Archivos Torrent - + Select input directory or file Selecciona directorio de entrara o archivo - + No destination path set - No hay una ruta de destino establecida + No hay una ruta de destino establecida - + Please type a destination path first - Por favor escribe una ruta de destino primero + Por favor escribe una ruta de destino primero - + No input path set Sin ruta de destino establecida - + Please type an input path first Por favor escribe una ruta de entrara primero - + Input path does not exist La ruta de entrada no existe - + Please type a correct input path first Por favor escribe una ruta de entrada correcta primero - + Torrent creation Crear Torrent - + Torrent was created successfully: El Torrent se creó con éxito: - + Please type a valid input path first Por favor digita una ruta de entrada válida primero - + Select a folder to add to the torrent Selecciona otra carpeta para agregar al torrent - + Select files to add to the torrent - Selecciona los archivos para agregar al torrent + Selecciona los archivos para agregar al torrent - + Please type an announce URL Por favor escribe una URL de anuncio - + Torrent creation was unsuccessful, reason: %1 La creación del torrent no ha sido exitosa, razón: %1 - + Announce URL: Tracker URL URL de anuncio: - + Please type a web seed url Por favor escribe una url de semilla web - + Web seed URL: URL de semilla web: + + + Select a file to add to the torrent + Selecciona otro archivo para agregar al torrent + + + + No tracker path set + No se estableció la ruta del tracker + + + + Please set at least one tracker + Por favor establece al menos un tracker + downloadFromURL @@ -3040,177 +3466,375 @@ Log: Search - + Buscar Total DL Speed: - Velocidad Total de Descarga: + Velocidad Total de Descarga: KiB/s - KiB/s + KiB/s Session ratio: - Media en sesión: + Media en sesión: Total UP Speed: - Velocidad Total de Subida: + Velocidad Total de Subida: Log - Registro + Registro IP filter - Filtro de IP + Filtro de IP Start - Comenzar + Comenzar Pause - Pausa + Pausa Delete - Borrar + Borrar Clear - Limpiar + Limpiar Preview file - Previsualizar archivo + Previsualizar archivo Set upload limit - Establece el límite de subida + Establece el límite de subida Set download limit - Establece el límite de descarga + Establece el límite de descarga Delete Permanently - Borrar permanentemente + Borrar permanentemente Torrent Properties - Propiedades del Torrent + Propiedades del Torrent + + + + engineSelect + + + Search plugins + Buscar plugins + + + + Installed search engines: + Motores de búsqueda instalados: + + + + Name + Nombre + + + + Url + Url + + + + Enabled + Habilitado + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Puedes obtener nuevos plugins de motores de búsqueda aquí <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Instalar uno nuevo + + + + Check for updates + Buscar actualizaciones + + + + Close + Cerrar + + + + Enable + Habilitar + + + + Disable + Deshabilitar + + + + Uninstall + Desinstalar + + + + engineSelectDlg + + + True + Verdadero + + + + False + Falso + + + + Uninstall warning + Alerta de desinstalación + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Algunos plugins no pudieron ser instalados porque están incluídos en qBittorrent. +Solamente los que has agregado por tí mismo pueden ser desinstalados. +De cualquier forma, esos plugins fueron deshabilitados. + + + + Uninstall success + Éxito de desinstalación + + + + Select search plugins + Selecciona los plugins de búsqueda + + + + qBittorrent search plugins + Plugins de búsqueda de qBittorrent + + + + Search plugin install + Instalar plugin de búsqueda + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Una versión más reciente del plugin de motor de búsqueda %1 ya está instalada. + + + + Search plugin update + Actualización del plugin de búsqueda + + + + Sorry, update server is temporarily unavailable. + Lo siento, el servidor de actualización esta temporalmente no disponible. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Lo lamento, la actualización del plugin de búsqueda %1 ha fallado. + + + + All your plugins are already up to date. + Todos tus plugins ya están actualizados. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + El plugin de motor de búsqueda %1 no pudo ser actualizado, manteniendo la versión antigua. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + El plugin de motor de búsqueda %1 no pudo ser instalado. + + + + All selected plugins were uninstalled successfully + Todos los plugins seleccionados fueron instalados exitosamente + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + El plugin de motor de búsqueda %1 fue actualizado exitosamente. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + El plugin de motor de búsqueda %1 fue instalado exitosamente. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + El plugin de búsqueda %1 fué actualizado exitosamente. + + + + Search engine plugin archive could not be read. + El archivo de plugin de motor de búsqueda no pudo ser leído. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Lo lamento, la instalación del plugin de búsqueda %1 ha fallado. + + + + New search engine plugin URL + URL del nuevo plugin de motor de búsqueda + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB - + m minutes m - + h hours h - + d days d - + Unknown Desconocido - + h hours h - + d days d - + Unknown Unknown (size) Desconocido - + < 1m < 1 minute <1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -3219,148 +3843,171 @@ Log: options_imp - + Options saved successfully! ¡Opciones guardadas exitosamente! - + Choose Scan Directory Selecciona el Directorio de Exploración - + Choose save Directory Selecciona el Directorio de Guardado - + Choose ipfilter.dat file Selecciona el archivo ipfilter.dat - + I/O Error Error de Entrada/Salida - + Couldn't open: No se pudo abrir: - + in read mode. en modo lectura. - + Invalid Line línea inválida - + Line Línea - + is malformed. está mal formado. - + Range Start IP IP de inicio de Rango - + Start IP: IP de inicio: - + Incorrect IP IP Incorrecta - + This IP is incorrect. Esta IP está incorrecta. - + Range End IP IP de fin de Rango - + End IP: IP Final: - + IP Range Comment Comentario del rango de IP - + Comment: Comentario: - + to <min port> to <max port> - hasta + hasta - + Choose your favourite preview program Escoge tu programa de previsualización favorito - + Invalid IP IP inválida - + This IP is invalid. Esta IP es inválida. - + Options were saved successfully. Opciones guardadas exitosamente. - + Choose scan directory Selecciona un directorio a inspeccionar - + Choose an ipfilter.dat file Selecciona un archivo ipfilter.dat - + Choose a save directory Selecciona un directorio para guardar - + I/O Error Input/Output Error Error de Entrada/Salida - + Couldn't open %1 in read mode. No se pudo abrir %1 en modo lectura. + + pluginSourceDlg + + + Plugin source + Fuente del plugin + + + + Search plugin source: + Fuente del plugin de búsqueda: + + + + Local file + Archivo local + + + + Web link + Vínculo web + + preview @@ -3425,494 +4072,509 @@ Log: Propiedades del Torrent - + Main Infos Información Principal - + File Name Nombre del Archivo - + Current Session Sesión Actual - + Total Uploaded: Total Subido: - + Total Downloaded: Total Descargado: - + upTotal Total Subido - + dlTotal Total Descargado - + Download state: Estado de la Descarga: - + Current Tracker: Tracker Actual: - + Number of Peers: Número de Nodos: - + dlState Estado de la Descarga - + tracker_URL URL del tracker - + nbPeers Nodos - + (Complete: 0.0%, Partial: 0.0%) (Completo: 0.0%, Parcial: 0.0%) - + Torrent Content Contenido del Torrent - + OK OK - + Cancel Cancelar - + Total Failed: Total Fallado: - + failed fallado - + Finished Terminado - + Queued for checking En cola para verificación - + Checking files Verificando archivos - + Connecting to tracker Conectando al tracker - + Downloading Metadata Descargando Metadatos - + Downloading Descargando - + Seeding Poniendo Semillas - + Allocating Localizando - + Unreachable? ¿Inaccesible? - + MB MB - + Unknown Desconocido - + Complete: Completo: - + Partial: Parcial: - + Tracker Tracker - + Trackers: Trackers: - + Files contained in current torrent: Archivos que contiene el torrent actual: - + Unselect Deseleccionar - + Select Seleccionar - + You can select here precisely which files you want to download in current torrent. Puedes seleccionar aquí qué archivos deseas descargar específicamente en el torrent actual. - + Size Tamaño - + Selected Seleccionado - + None - Unreachable? Nada - ¿Inaccesible? - + False Falso - + True Verdadero - + Errors: Errores: - + Progress Progreso - + Main infos Información Principal - + Number of peers: Numero de amigos: - + Current tracker: Pista actual: - + Total uploaded: Subida Total: - + Total downloaded: Descarga Total: - + Total failed: Fallos Totales: - + Torrent content Contenido del torrent - + Options Opciones - + Download in correct order (slower but good for previewing) Descargar por orden (mas lento pero mas bueno para previsualizar) - + Share Ratio: Grado de compartición: - + Seeders: Seeders: - + Leechers: Leechers: - + Save path: Ruta de guardado: - + Torrent infos Informaciones de torrent - + Creator: Creador: - + Torrent hash: Dispersión del torrent: - + Comment: Comentario: - + Current session Sesión actual - + Share ratio: Radio de Compartición: - + Trackers Trackers - + New tracker Nuevo tracker - + New tracker url: URL del nuevo tracker: - + Priorities: Prioridades: - + Normal: normal priority. Download order is dependent on availability Normal: prioridad normal. El orden de descarga depende de la disponibilidad - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Alta: más alta que la prioridad normal. Piezas se prefieren sobre piezas con la misma disponibilidad, pero no sobre piezas con menor disponibilidad - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Máxima: prioridad máxima, la disponibilidad no importa, la pieza se prefiere sobre cualquier otra pieza con menor disponibilidad - + File name Nombre del archivo - + Priority Prioridad - + qBittorrent qBittorrent - + Trackers list can't be empty. La lista de trackers no puede estar vacía. - + Ignored: file is not downloaded at all Ignorado: el archivo no se ha descargado en lo absoluto - + Ignored Ignorado - + Normal Normal - + Maximum Máxima - + High Alta - + Url seeds Semillas Url - + New url seed: Nueva semilla url: - + This url seed is already in the list. Esta semilla url ya está en la lista. - + Hard-coded url seeds cannot be deleted. Las semillas url por defecto no pueden ser borradas. - + None i.e: No error message Ninguno - + New url seed New HTTP source Nueva semilla url - + The following url seeds are available for this torrent: Las siguientes semillas url están disponibles para este torrent: + + + Priorities error + Error de propiedades + + + + Error, you can't filter all the files in a torrent. + Error, no puedes filtrar todos los archivos en un torrent. + search_engine - + Search Buscar - + Search Engines - Motores de Búsqueda + Motores de Búsqueda - + Search Pattern: Patrón de Búsqueda: - + Stop Detenido - + Status: Estado: - + Stopped Detenido - + Results: Resultados: - + Download Descargar - + Clear Limpiar - + Update search plugin - Actualizar plugin de búsqueda + Actualizar plugin de búsqueda + + + + Search engines... + Motores de búsqueda... @@ -3971,57 +4633,57 @@ Log: subDownloadThread - + Host is unreachable El host no se puede alcanzar - + File was not found (404) - El archivo no fué encontrado (404) + El archivo no fue encontrado (404) - + Connection was denied - La conexión fué negada + La conexión fue negada - + Url is invalid La url es inválida - + Connection forbidden (403) Conexión prohibida (403) - + Connection was not authorized (401) Conexión no autorizada (401) - + Content has moved (301) El contenido ha sido cambiado de lugar (301) - + Connection failure Falla de conexión - + Connection was timed out El tiempo de espera para la conexión se ha agotado - + Incorrect network interface Interfaz de red incorrecta - + Unknown error Error desconocido @@ -4029,77 +4691,77 @@ Log: torrentAdditionDialog - + True Verdadero - + Unable to decode torrent file: Imposible decodificar el archivo torrent: - + This file is either corrupted or this isn't a torrent. Este archivo puede estar corrupto, o no ser un torrent. - + Choose save path Selecciona la ruta de guardado - + False Falso - + Empty save path Ruta de guardado vacía - + Please enter a save path Por favor ingresa una ruta de guardado - + Save path creation error Error en la creación de ruta de guardado - + Could not create the save path No se pudo crear la ruta de guardado - + Invalid file selection Selección de archivo inválida - + You must select at least one file in the torrent Debes seleccionar al menos un arcihvo en el torrent - + File name Nombre del archivo - + Size Tamaño - + Progress Progreso - + Priority Prioridad diff --git a/src/lang/qbittorrent_fi.qm b/src/lang/qbittorrent_fi.qm index 1b6086cb9d37bcae65e8f74ff1fae4dfbe644c77..56235655b0c02358a0f382b2d7cc323683631def 100644 GIT binary patch delta 9175 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 Dialog - + ... ... - + Activate IP Filtering Käytä IP-suodatusta - + Add Range Lisää osoitealue Always display systray messages - Näytä aina + Näytä aina @@ -181,10 +181,10 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Audio/Video player: - Multimediatoistin: + Multimediatoistin: - + Authentication Sisäänkirjautuminen @@ -196,17 +196,17 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Behaviour - Käyttäytyminen + Käyttäytyminen - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. Muutokset tulevat voimaan seuraavalla käynnistyskerralla. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). @@ -214,14 +214,14 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Peruuta - + Comment Kommentti connections - yhteyttä + yhteyttä @@ -231,17 +231,17 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Default save path - Oletustallennuskansio + Oletustallennuskansio DHT configuration - DHT-asetukset + DHT-asetukset DHT port: - DHT-portti: + DHT-portti: @@ -251,7 +251,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Disable - Rajoittamaton + Rajoittamaton @@ -261,97 +261,97 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Display a torrent addition dialog everytime I add a torrent - Näytä torrentinlisäämisikkuna aina kun lisään torrentin + Näytä torrentinlisäämisikkuna aina kun lisään torrentin Display systray messages only when window is hidden - Näytä vain, kun ikkuna on pienennettynä + Näytä vain, kun ikkuna on pienennettynä Download Limit: - Latausnopeus: + Latausnopeus: Enable connection through a proxy server - Käytä välityspalvelinta + Käytä välityspalvelinta Enable directory scan (auto add torrent files inside) - Lisää torrentit seuraavasta kansiosta automaattisesti + Lisää torrentit seuraavasta kansiosta automaattisesti - + End IP Loppu - + Filter Settings Suotimen asetukset Go to systray when minimizing window - Pienennä ilmoitusalueen kuvakkeeseen + Pienennä ilmoitusalueen kuvakkeeseen - + IP Filter - IP-suodatin + IP-suodatin ipfilter.dat Path: - ipfilter.datin sijainti: + ipfilter.datin sijainti: - + KiB/s KiB/s KiB UP max. - KiB UP enint. + KiB UP enint. Language - Kieli + Kieli - + Language: Kieli: Localization - Kieliasetukset + Kieliasetukset Main - Perusasetukset + Perusasetukset Max Connects: - Yhteyksiä enint: + Yhteyksiä enint: - + Misc - Lisäasetukset + Lisäasetukset Never display systray messages - Älä näytä + Älä näytä @@ -361,7 +361,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Options - Asetukset + Asetukset @@ -369,59 +369,59 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Asetukset — qBittorrent - + Origin Lähde - + Password: Salasana: - + Port: Portti: - + Port range: Portit: - + Preview program Esikatseluohjelma Proxy - Välityspalvelin + Välityspalvelin Proxy server requires authentication - Välityspalvelin vaatii sisäänkirjautumisen + Välityspalvelin vaatii sisäänkirjautumisen - + Proxy Settings Välityspalvelinasetukset - + Remove Range Poista osoitealue Save Path: - Tallennuskansio: + Tallennuskansio: Scanned Dir: - Kansio: + Kansio: @@ -431,10 +431,10 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Share ratio: - Jakosuhde: + Jakosuhde: - + Start IP Alku @@ -446,188 +446,367 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Upload Limit: - Lähetysnopeus: + Lähetysnopeus: User Name: - Tunnus: + Tunnus: - + 0.0.0.0 0.0.0.0 1 KiB DL = - 1 KiB DL = + 1 KiB DL = - - Disable DHT (Trackerless) - - - - - Disable Peer eXchange (PeX) - - - - - Go to systray when closing main window - - - - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + Asetukset + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + Tunnus: + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -696,51 +875,51 @@ Tekijänoikeus © 2006 Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - + This file is either corrupted or this isn't a torrent. Tiedosto ei ole kelvollinen torrent-tiedosto. - + Couldn't listen on any of the given ports. Minkään annetun portin käyttäminen ei onnistunut. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... @@ -855,7 +1034,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Haun aika tapahtui virhe... - + Are you sure? -- qBittorrent Oletko varma? — qBittorrent @@ -865,7 +1044,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Haluatko varmasti poistaa kaikki tiedostot latauslistasta? - + Are you sure you want to delete the selected item(s) in download list? Haluatko varmasti poistaa valitut tiedostot latauslistasta? @@ -941,7 +1120,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Latausnopeus - + Download finished Lataus tuli valmiiksi @@ -972,7 +1151,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> ETA - + Finished Valmis @@ -1008,7 +1187,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Nimi - + &No &Ei @@ -1023,7 +1202,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Hakupalvelua ei ole valittu - + Open Torrent Files Avaa torrent-tiedostoja @@ -1049,7 +1228,7 @@ Tekijänoikeus © 2006 Christophe Dumez<br> Odota... - + Preview process already running Esikatselu on jo käynnissä @@ -1169,7 +1348,7 @@ Muutoshistoria: Tila - + There is already another preview process running. Please close the other one first. Esikatselu on jo käynnissä. @@ -1181,7 +1360,7 @@ Uutta esikatselua ei voi aloittaa. Tiedosto ei ole kelvollinen torrent-tiedosto. - + Torrent Files Torrent-tiedostot @@ -1206,7 +1385,7 @@ Uutta esikatselua ei voi aloittaa. Lähetysnopeus: - + &Yes &Kyllä @@ -1232,17 +1411,17 @@ Uutta esikatselua ei voi aloittaa. - + Connection status: - + Offline - + No peers found... @@ -1295,18 +1474,18 @@ Uutta esikatselua ei voi aloittaa. Lataajia - + qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s @@ -1330,12 +1509,12 @@ Uutta esikatselua ei voi aloittaa. Seisahtunut - + Are you sure you want to quit? - + '%1' was removed. 'xxx.avi' was removed. @@ -1347,12 +1526,12 @@ Uutta esikatselua ei voi aloittaa. Ei mikään - + All downloads were paused. - + '%1' paused. xxx.avi paused. @@ -1364,52 +1543,52 @@ Uutta esikatselua ei voi aloittaa. Yhdistetään... - + All downloads were resumed. - + '%1' resumed. e.g: xxx.avi resumed. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. - + I/O Error i.e: Input/Output Error I/O-virhe - + 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 - + Connection Status: - + Online - + Firewalled? i.e: Behind a firewall/router? - + No incoming connections... @@ -1420,139 +1599,176 @@ Uutta esikatselua ei voi aloittaa. Tulokset - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. - + Search Etsi - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Downloads - + Are you sure you want to delete the selected item(s) in finished list? - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -1795,24 +2011,24 @@ Are you sure you want to quit qBittorrent? Kyllä - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -1826,17 +2042,17 @@ Are you sure you want to quit qBittorrent? Etsi - + Delete Poista - + Rename - + Refresh @@ -1846,118 +2062,133 @@ Are you sure you want to quit qBittorrent? Luo - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent Oletko varma? — qBittorrent - + &Yes &Kyllä - + &No &Ei - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -1965,13 +2196,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -1979,68 +2210,63 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Nimi - + Size i.e: file size Koko - + Seeders i.e: Number of full sources Jakajia - + Leechers i.e: Number of partial sources Lataajia - + Search engine Hakupalvelu - + Empty search pattern Tyhjä hakulauseke - + Please type a search pattern first Kirjoita ensin hakulauseke - - - No search engine selected - - You must select at least one search engine. - Valitse ensin ainakin yksi hakupalvelu. + Valitse ensin ainakin yksi hakupalvelu. - + Results Tulokset - + Searching... Etsitään... Search plugin update -- qBittorrent - Hakuliitännäisen päivitys — qBittorrent + Hakuliitännäisen päivitys — qBittorrent @@ -2048,7 +2274,7 @@ Are you sure you want to quit qBittorrent? Changelog: - Hakuliitännäiseen on saatavilla päivitys. Haluatko päivittää sen? + Hakuliitännäiseen on saatavilla päivitys. Haluatko päivittää sen? Muutoshistoria: @@ -2056,72 +2282,57 @@ Muutoshistoria: &Yes - &Kyllä + &Kyllä &No - &Ei - - - - Search plugin update - - - - - qBittorrent - + &Ei Sorry, update server is temporarily unavailable. - Päivityspalvelin ei ole saavutettavissa. + Päivityspalvelin ei ole saavutettavissa. Your search plugin is already up to date. - Hakuliitännäinen on ajan tasalla. + Hakuliitännäinen on ajan tasalla. - + Search Engine Hakupalvelu - + Search has finished - + An error occured during search... Haun aika tapahtui virhe... - + Search aborted Haku keskeytetty - + Search returned no results Haku ei palauttanut tuloksia - + Results i.e: Search results Tulokset - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. + + Unknown @@ -2199,27 +2410,27 @@ Muutoshistoria: addTorrentDialog - + ... ... - + Add Lisää - + Add to download list in paused state Lisää latauslistaan pysäytettynä - + Cancel Peruuta - + Download in correct order (slower but good for previewing) Lataa lineaarisesti (hitaampi, mutta mahdollistaa aikaisemman esikatselun) @@ -2234,7 +2445,7 @@ Muutoshistoria: Koko - + Save path: Tallennuskansio: @@ -2254,7 +2465,7 @@ Muutoshistoria: Torrentinlisäämisikkuna - + Torrent content: Torrentin sisältö: @@ -2264,22 +2475,22 @@ Muutoshistoria: Poista valinta - + Ignored - + Normal - + High - + Maximum @@ -2340,10 +2551,10 @@ Muutoshistoria: ... - ... + ... - + Cancel Peruuta @@ -2370,7 +2581,7 @@ Muutoshistoria: Create - Luo + Luo @@ -2388,40 +2599,100 @@ Muutoshistoria: Torrentinluontityökalu - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) - - - - - Destination torrent file: - - - - + Web seeds urls (optional): + + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... + + createtorrent @@ -2431,12 +2702,12 @@ Muutoshistoria: Lähdekansio ei ole olemassa - + No destination path set - Kohdekansiota ei ole valittu + Kohdekansiota ei ole valittu - + No input path set Lähdekansiota ei ole asetettu @@ -2446,12 +2717,12 @@ Muutoshistoria: Anna kelvollinen lähdekansio - + Please type a destination path first - Anna ensin kohdekansio + Anna ensin kohdekansio - + Please type an input path first Anna ensin lähdekansio @@ -2461,7 +2732,7 @@ Muutoshistoria: Anna kelvollinen lähdekansio - + Select destination torrent file Valitse kohde-torrent-tiedosto @@ -2471,56 +2742,66 @@ Muutoshistoria: Valitse lähdekansio tai -tiedosto - + Torrent creation Torrentin luominen - + Torrent Files Torrent-tiedostot - + Torrent was created successfully: Torrent luotiin: - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -2643,10 +2924,194 @@ Muutoshistoria: Torrentin tiedot + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + Nimi + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + Rajoittamaton + + + + Uninstall + + + + + engineSelectDlg + + + True + Kyllä + + + + False + Ei + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + + + + + Sorry, update server is temporarily unavailable. + Päivityspalvelin ei ole saavutettavissa. + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes B @@ -2658,7 +3123,7 @@ Muutoshistoria: d - + GiB gibibytes (1024 mibibytes) GiB @@ -2676,7 +3141,7 @@ Muutoshistoria: h - + KiB kibibytes (1024 bytes) KiB @@ -2688,48 +3153,48 @@ Muutoshistoria: m - + MiB mebibytes (1024 kibibytes) MiB - + TiB tebibytes (1024 gibibytes) TiB - + Unknown tuntematon - + Unknown Unknown (size) tuntematon (koko) - + < 1m < 1 minute - + %1m e.g: 10minutes - + %1h%2m e.g: 3hours 5minutes - + %1d%2h%3m e.g: 2days 10hours 2minutes @@ -2753,12 +3218,12 @@ Muutoshistoria: Valitse hakukansio - + Choose your favourite preview program Valitse mieluinen esikatseluohjelma - + Comment: Kommentti: @@ -2768,7 +3233,7 @@ Muutoshistoria: Avaaminen epäonnistui: - + End IP: Loppu: @@ -2783,7 +3248,7 @@ Muutoshistoria: lukutilassa. - + Invalid IP Virheellinen IP @@ -2793,7 +3258,7 @@ Muutoshistoria: I/O-virhe - + IP Range Comment IP-alueen kommentti @@ -2803,17 +3268,17 @@ Muutoshistoria: Asetukset tallennettiin! - + Range End IP Alueen loppu - + Range Start IP Alueen alku - + Start IP: Alku: @@ -2823,7 +3288,7 @@ Muutoshistoria: Tämä IP on virheellinen. - + This IP is invalid. Tämä IP on virheellinen. @@ -2831,40 +3296,63 @@ Muutoshistoria: to <min port> to <max port> - + - + Options were saved successfully. - + Choose scan directory - + Choose an ipfilter.dat file - + Choose a save directory - + I/O Error Input/Output Error I/O-virhe - + Couldn't open %1 in read mode. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -2944,12 +3432,12 @@ Muutoshistoria: Session tiedot - + Current tracker: Nykyinen seurantapalvelin: - + Download in correct order (slower but good for previewing) Lataa lineaarisesti (hitaampi, mutta mahdollistaa aikaisemman esikatselun) @@ -2969,7 +3457,7 @@ Muutoshistoria: Tila: - + Errors: Virheet: @@ -2979,7 +3467,7 @@ Muutoshistoria: Tiedostonimi - + Files contained in current torrent: Torrentin tiedostot: @@ -2994,17 +3482,17 @@ Muutoshistoria: Lataajia: - + Main infos Perustiedot - + None - Unreachable? ei yhtään - + OK OK @@ -3014,7 +3502,7 @@ Muutoshistoria: Asetukset - + Progress Edistyminen @@ -3024,7 +3512,7 @@ Muutoshistoria: Tarkastusjonossa - + Save path: Tallennuskansio: @@ -3054,12 +3542,12 @@ Muutoshistoria: Jakosuhde: - + Size Koko - + Torrent content Torrentin sisältö @@ -3069,32 +3557,32 @@ Muutoshistoria: Torrentin tiedot - + Total downloaded: Ladattu yhteensä: - + Total failed: Epäonnistumisia yhteensä: - + Total uploaded: Lähetetty yhteensä: - + Tracker Seurantapalvelin - + Trackers: Seurantapalvelimet: - + Unknown Tuntematon @@ -3109,199 +3597,214 @@ Muutoshistoria: Voit valita tiedostot, jotka ladataan tästä torrentista. - + Torrent infos - + Creator: - + Torrent hash: - + Comment: Kommentti: - + Current session - + Share ratio: Jakosuhde: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name Tiedostonimi - + Priority - + qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message Ei mikään - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search Etsi Search Engines - Hakupalvelut + Hakupalvelut - + Search Pattern: Hakulauseke: - + Stop Pysäytä - + Status: Tila: - + Stopped Pysäytetty - + Results: Tulokset: - + Download Lataa - + Clear Tyhjennä Update search plugin - Päivitä hakuliitännäinen + Päivitä hakuliitännäinen + + + + Search engines... + @@ -3360,57 +3863,57 @@ Muutoshistoria: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -3418,17 +3921,17 @@ Muutoshistoria: torrentAdditionDialog - + Choose save path Valitse tallennuskansio - + Could not create the save path Tallennuskansion luominen ei onnistunut - + Empty save path Ei tallennuskansiota @@ -3438,22 +3941,22 @@ Muutoshistoria: Ei - + Invalid file selection Virheellinen tiedostovalinta - + Please enter a save path Tallennuskansio: - + Save path creation error Tallennuskansion luominen ei onnistunut - + This file is either corrupted or this isn't a torrent. Tiedosto ei ole kelvollinen torrent-tiedosto. @@ -3463,32 +3966,32 @@ Muutoshistoria: Kyllä - + Unable to decode torrent file: Torrent-tiedoston purkaminen ei onnistunut: - + You must select at least one file in the torrent Valitse ainakin yksi torrent-tiedosto - + File name Tiedostonimi - + Size Koko - + Progress Edistyminen - + Priority diff --git a/src/lang/qbittorrent_fr.qm b/src/lang/qbittorrent_fr.qm index 8de9f9fbd548d91de60533da5cbcb6f9807a3558..81e11b6fe5da31b3a925c522550531163235063d 100644 GIT binary patch delta 14551 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 diff --git a/src/lang/qbittorrent_fr.ts b/src/lang/qbittorrent_fr.ts index c8a87310f..835b00faa 100644 --- a/src/lang/qbittorrent_fr.ts +++ b/src/lang/qbittorrent_fr.ts @@ -287,40 +287,40 @@ Copyright © 2006 par Christophe Dumez<br> Options - Préférences + Préférences Main - Principal + Principal Save Path: - Dossier de sauvegarde : + Dossier de sauvegarde : Download Limit: - Limite Download : + Limite Download : Upload Limit: - Limite Upload : + Limite Upload : Max Connects: - Connects Max : + Connects Max : - + Port range: Rangée Ports : - + ... ... @@ -332,12 +332,12 @@ Copyright © 2006 par Christophe Dumez<br> Disable - Désactiver + Désactiver connections - connexions + connexions @@ -345,12 +345,7 @@ Copyright © 2006 par Christophe Dumez<br> à - - Proxy - - - - + Proxy Settings Paramètres Proxy @@ -360,44 +355,44 @@ Copyright © 2006 par Christophe Dumez<br> IP du serveur : - + 0.0.0.0 - + Port: Port : Proxy server requires authentication - Le serveur proxy nécessite une authentification + Le serveur proxy nécessite une authentification - + Authentication Authentification User Name: - Nom d'utilisateur : + Nom d'utilisateur : - + Password: Mot de passe : Enable connection through a proxy server - Activer la connexion à travers un serveur proxy + Activer la connexion à travers un serveur proxy Language - Langue + Langue @@ -417,12 +412,12 @@ Copyright © 2006 par Christophe Dumez<br> Scanned Dir: - Dossier surveillé : + Dossier surveillé : Enable directory scan (auto add torrent files inside) - Activer l'ajout auto des torrents dans un dossier + Activer l'ajout auto des torrents dans un dossier @@ -432,7 +427,7 @@ Copyright © 2006 par Christophe Dumez<br> Share ratio: - Ratio Partage : + Ratio Partage : @@ -450,12 +445,12 @@ Copyright © 2006 par Christophe Dumez<br> Filtre IP - + Activate IP Filtering Activer le filtrage d'IP - + Filter Settings Paramètres de filtrage @@ -475,22 +470,22 @@ Copyright © 2006 par Christophe Dumez<br> Url ou chemin de ipfilter.dat : - + Start IP IP Début - + End IP IP Fin - + Origin Origine - + Comment Commentaire @@ -500,24 +495,24 @@ Copyright © 2006 par Christophe Dumez<br> Appliquer - + IP Filter - Filtrage IP + Filtrage IP - + Add Range Ajouter Rangée - + Remove Range Supprimer Rangée ipfilter.dat Path: - Chemin ipfilter.dat : + Chemin ipfilter.dat : @@ -537,27 +532,27 @@ Copyright © 2006 par Christophe Dumez<br> Go to systray when minimizing window - Iconifier lors de la réduction de la fenêtre + Iconifier lors de la réduction de la fenêtre - + Misc Divers Localization - Traduction + Traduction - + Language: Langue : Behaviour - Comportement + Comportement @@ -575,19 +570,19 @@ Copyright © 2006 par Christophe Dumez<br> Ne jamais afficher d'OSD - + KiB/s Ko/s 1 KiB DL = - 1 Ko DL = + 1 Ko DL = KiB UP max. - Ko UP max. + Ko UP max. @@ -605,14 +600,14 @@ Copyright © 2006 par Christophe Dumez<br> Effacer automatiquement les téléchargements terminés - + Preview program Logiciel de prévisualisation Audio/Video player: - Lecteur audio/video : + Lecteur audio/video : @@ -622,213 +617,497 @@ Copyright © 2006 par Christophe Dumez<br> Always display systray messages - Toujours afficher les messages de notification + Toujours afficher les messages de notification Display systray messages only when window is hidden - Afficher les messages de notification lorsque la fenêtre n'est pas visible + Afficher les messages de notification lorsque la fenêtre n'est pas visible Never display systray messages - Ne jamais afficher les messages de notification + Ne jamais afficher les messages de notification DHT configuration - Configuration DHT + Configuration DHT DHT port: - Port DHT : + Port DHT : - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Remarque :</b> qBittorrent devra être relancé pour que les changements soient pris en compte. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b> Note pour les traducteurs :</b> Si qBittorrent n'est pas disponible dans votre langue, <br/> et si vous désirez participer à sa traduction, <br/> veuillez me contacter svp (chris@qbittorrent.org). + <b> Note pour les traducteurs :</b> Si qBittorrent n'est pas disponible dans votre langue, <br/> et si vous désirez participer à sa traduction, <br/> veuillez me contacter svp (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Afficher une fenêtre de paramétrage à chaque ajout de torrent + Afficher une fenêtre de paramétrage à chaque ajout de torrent Default save path - Répertoire de destination par défaut + Répertoire de destination par défaut Disable DHT (Trackerless) - Désactiver le DHT (sans tracker) + Désactiver le DHT (sans tracker) Disable Peer eXchange (PeX) - Désactiver l'échange de sources (PeX) + Désactiver l'échange de sources (PeX) Go to systray when closing main window - Iconifier lors de la fermeture de la fenêtre + Iconifier lors de la fermeture de la fenêtre - + Connection Connexion Peer eXchange (PeX) - Echange de sources (PeX) + Echange de sources (PeX) DHT (trackerless) - DHT (sans Tracker) + DHT (sans Tracker) Torrent addition - Ajout de torrent + Ajout de torrent Main window - Fenêtre principale + Fenêtre principale Systray messages - Messages de notification + Messages de notification Directory scan - Surveillance de dossier + Surveillance de dossier Style (Look 'n Feel) - Apparence (Look 'n Feel) + Apparence (Look 'n Feel) - + Plastique style (KDE like) Style Plastique (Type KDE) Cleanlooks style (GNOME like) - Style Cleanlooks (Type Gnome) + Style Cleanlooks (Type Gnome) Motif style (default Qt style on Unix systems) - Style Motif (Style Qt par défaut sur Unix) + Style Motif (Style Qt par défaut sur Unix) - + CDE style (Common Desktop Environment like) Style CDE (Type Common Desktop Environment) MacOS style (MacOSX only) - Style MacOS (Sur MacOSX uniquement) + Style MacOS (Sur MacOSX uniquement) Exit confirmation when the download list is not empty - Confirmation lors de la sortie si la liste de téléchargement n'est pas vide + Confirmation lors de la sortie si la liste de téléchargement n'est pas vide Disable systray integration - Désactiver l'intégration dans la barre des tâches + Désactiver l'intégration dans la barre des tâches WindowsXP style (Windows XP only) - Style WindowsXP (Sur Windows XP uniquement) + Style WindowsXP (Sur Windows XP uniquement) Server IP or url: - IP ou URL du serveur : + IP ou URL du serveur : Proxy type: - Type du Proxy : + Type du Proxy : - + HTTP - + SOCKS5 - + Affected connections Connexions concernées - + Use proxy for connections to trackers Utiliser le proxy pour les connexions aux trackers - + Use proxy for connections to regular peers Utiliser le proxy pour les connexions aux autres clients - + Use proxy for connections to web seeds Utiliser le proxy pour les connexions aux sources web - + Use proxy for DHT messages Utiliser le proxy pour les connexions DHT (sans tracker) Encryption - Cryptage + Cryptage Encryption state: - Etat du cryptage : + Etat du cryptage : - + Enabled Activé - + Forced Forcé - + Disabled Désactivé + + + Preferences + Préférences + + + + General + Général + + + + User interface settings + Paramètres de l'interface + + + + Visual style: + Style visuel : + + + + Cleanlooks style (Gnome like) + Style Cleanlooks (Type Gnome) + + + + Motif style (Unix like) + Style Motif (Type Unix) + + + + Ask for confirmation on exit when download list is not empty + Confirmation lors de la sortie si la liste de téléchargement n'est pas vide + + + + Display current speed in title bar + Afficher la vitesse de transfert actuelle dans la barre de titre + + + + System tray icon + Intégration dans la barre des tâches + + + + Disable system tray icon + Désactiver l'intégration dans la barre des tâches + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Iconifier lors de la fermeture + + + + Minimize to tray + Iconifier lors de la minimisation + + + + Show notification balloons in tray + Afficher les messages de notification dans la barre des tâches + + + + Media player: + Lecteur média : + + + + Downloads + Téléchargements + + + + Put downloads in this folder: + Mettre les fichiers téléchargés dans ce dossier : + + + + Pre-allocate all files + Pré-allouer l'espace disque pour tous les fichiers + + + + When adding a torrent + Lors de l'ajout d'un torrent + + + + Display torrent content and some options + Afficher le contenu du torrent et quelques paramètres + + + + Do not start download automatically + The torrent will be added to download list in pause state + Ne pas commencer le téléchargement automatiquement + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Surveillance de dossier + + + + Automatically download torrents present in this folder: + Télécharger automatiquement les torrents présents dans ce dossier : + + + + Listening port + Port d'écoute + + + + to + i.e: 1200 to 1300 + à + + + + Enable UPnP port mapping + Activer l'UPnP + + + + Enable NAT-PMP port mapping + Activer le NAT-PMP + + + + Global bandwidth limiting + Limitation globale de bande passante + + + + Upload: + Envoi : + + + + Download: + Téléchargement : + + + + Type: + Type : + + + + (None) + (Aucun) + + + + Proxy: + Serveur mandataire (proxy) : + + + + Username: + Nom d'utilisateur : + + + + Bittorrent + + + + + Connections limit + Limite de connections + + + + Global maximum number of connections: + Nombre global maximum de connexions : + + + + Maximum number of connections per torrent: + Nombre maximum de connexions par torrent : + + + + Maximum number of upload slots per torrent: + Nombre maximum de slots d'envoi par torrent : + + + + Additional Bittorrent features + Fonctionnalités Bittorrent additionnelles + + + + Enable DHT network (decentralized) + Activer le réseau DHT (décentralisé) + + + + Enable Peer eXchange (PeX) + Activer l'échange de sources (PeX) + + + + Enable Local Peer Discovery + Activer la recherche locale de sources + + + + Encryption: + Chiffrement : + + + + Share ratio settings + Paramètres du ratio de partage + + + + Desired ratio: + Ratio désiré : + + + + Remove torrents when their ratio reaches: + Supprimer les torrent + + + + Filter file path: + Chemin vers le fichier de filtrage : + + + + transfer lists refresh interval: + Intervalle de rafraîchissement des listes de transfert : + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + Intervalle de rafraîchissement des flux RSS : + + + + minutes + + + + + Maximum number of articles per feed: + Numbre maximum d'articles par flux : + + + + File system + Système de fichiers + + + + Remove finished torrents when their ratio reaches: + Supprimer les torrents terminés lorsque leur ratio atteint : + + + + System default + Par défaut + DownloadingTorrents @@ -836,115 +1115,115 @@ Copyright © 2006 par Christophe Dumez<br> Name i.e: file name - Nom + Nom Size i.e: file size - Taille + Taille Progress i.e: % downloaded - Progression + Progression DL Speed i.e: Download speed - Vitesse DL + Vitesse DL UP Speed i.e: Upload speed - Vitesse UP + Vitesse UP Seeds/Leechs i.e: full/partial sources - Seeds/Leechs + Seeds/Leechs Ratio - Ratio + Ratio ETA i.e: Estimated Time of Arrival / Time left - Restant + Restant qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 démarré. + qBittorrent %1 démarré. Be careful, sharing copyrighted material without permission is against the law. - Attention, partager des oeuvres sous copyright sans en avoir la permission est illégal. + Attention, partager des oeuvres sous copyright sans en avoir la permission est illégal. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>a été bloqué</i> + <font color='red'>%1</font> <i>a été bloqué</i> - + Fast resume data was rejected for torrent %1, checking again... - Le relancement rapide a échoué pour le torrent %1, revérification... + Le relancement rapide a échoué pour le torrent %1, revérification... - + Url seed lookup failed for url: %1, message: %2 - Le contact de la source HTTP a échoué à l'url : %1, message : %2 + Le contact de la source HTTP a échoué à l'url : %1, message : %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' a été ajouté à la liste de téléchargement. + '%1' a été ajouté à la liste de téléchargement. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' a été relancé. (relancement rapide) + '%1' a été relancé. (relancement rapide) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' est déjà présent dans la liste de téléchargement. + '%1' est déjà présent dans la liste de téléchargement. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Impossible de décoder le torrent : '%1' + Impossible de décoder le torrent : '%1' - + This file is either corrupted or this isn't a torrent. - Ce fichier est corrompu ou il ne s'agit pas d'un torrent. + Ce fichier est corrompu ou il ne s'agit pas d'un torrent. - + Couldn't listen on any of the given ports. - Impossible d'écouter sur les ports donnés. + Impossible d'écouter sur les ports donnés. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Téléchargement de '%1', veuillez patienter... + Téléchargement de '%1', veuillez patienter... @@ -1035,7 +1314,7 @@ Copyright © 2006 par Christophe Dumez<br> Impossible de trouver le dossier : ' - + Open Torrent Files Ouvrir fichiers torrent @@ -1070,7 +1349,7 @@ Copyright © 2006 par Christophe Dumez<br> Ce fichier est corrompu ou il ne s'agit pas d'un torrent. - + Are you sure? -- qBittorrent Etes vous sûr ? -- qBittorrent @@ -1080,17 +1359,17 @@ Copyright © 2006 par Christophe Dumez<br> Etes-vous sûr de vouloir enlever tous les fichiers de la liste de téléchargement ? - + &Yes &Oui - + &No &Non - + Are you sure you want to delete the selected item(s) in download list? Etes-vous sûr de vouloir enlever tous les fichiers sélectionnés de la liste de téléchargement ? @@ -1115,7 +1394,7 @@ Copyright © 2006 par Christophe Dumez<br> ko/s - + Finished Terminé @@ -1170,7 +1449,7 @@ Copyright © 2006 par Christophe Dumez<br> Impossible de créer le dossier : - + Torrent Files Fichiers Torrent @@ -1549,12 +1828,12 @@ Changemets: En pause - + Preview process already running Processus de prévisualisation inachevé - + There is already another preview process running. Please close the other one first. Il y a déjà un processus de prévisualisation en cours d'exécution. @@ -1589,7 +1868,7 @@ Veuillez d'abord le quitter. Transferts - + Download finished Téléchargement terminé @@ -1621,17 +1900,17 @@ Veuillez d'abord le quitter. qBittorrent %1 - + Connection status: Statut de la connexion : - + Offline Déconnecté - + No peers found... Aucune source trouvée... @@ -1696,18 +1975,18 @@ Veuillez d'abord le quitter. qBittorrent %1 démarré. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Vitesse DL : %1 Ko/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Vitesse UP : %1 Ko/s @@ -1731,12 +2010,12 @@ Veuillez d'abord le quitter. En attente - + Are you sure you want to quit? Etes vous certain de vouloir quitter ? - + '%1' was removed. 'xxx.avi' was removed. '%1' a été supprimé. @@ -1778,12 +2057,12 @@ Veuillez d'abord le quitter. En écoute sur le port: %1 - + All downloads were paused. Tous les téléchargements ont été mis en pause. - + '%1' paused. xxx.avi paused. '%1' a été mis en pause. @@ -1795,30 +2074,30 @@ Veuillez d'abord le quitter. Connexion... - + All downloads were resumed. Tous les téléchargements ont été relancés. - + '%1' resumed. e.g: xxx.avi resumed. '%1' a été relancé. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. Le téléchargement de %1 est terminé. - + I/O Error i.e: Input/Output Error Erreur E/S - + 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 Une erreur s'est produite lors de la lecture ou l'écriture de %1. Le disque dur est probablement plein, le téléchargement a été mis en pause @@ -1830,23 +2109,23 @@ Veuillez d'abord le quitter. Une erreur s'est produite (disque plein ?), '%1' a été mis en pause. - + Connection Status: Etat de la connexion : - + Online Connecté - + Firewalled? i.e: Behind a firewall/router? Derrière un pare-feu ou un routeur ? - + No incoming connections... Aucune connexion entrante... @@ -1878,56 +2157,56 @@ Veuillez d'abord le quitter. Téléchargement de '%1', veuillez patienter... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Une erreur s'est produite (disque plein ?), '%1' a été mis en pause. - + Search Recherche - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent écoute sur le port : %1 - + DHT support [ON], port: %1 Support DHT [ON], port : %1 - + DHT support [OFF] Support DHT [OFF] - + PeX support [ON] Support PeX [ON] - + PeX support [OFF] Support PeX [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? La liste de téléchargement n'est pas vide. Etes-vous certain de vouloir quitter qBittorrent ? - + Downloads Téléchargements @@ -1937,12 +2216,12 @@ Etes-vous certain de vouloir quitter qBittorrent ? Etes-vous certain de vouloir supprimer les torrents sélectionnés dans la liste de partage et sur le disque dur ? - + Are you sure you want to delete the selected item(s) in finished list? Etes-vous certain de vouloir supprimer les torrents sélectionnés de la liste de partage ? - + UPnP support [ON] Support UPnP [ON] @@ -1952,17 +2231,17 @@ Etes-vous certain de vouloir quitter qBittorrent ? Attention, partager des oeuvres sous copyright sans en avoir la permission est illégal. - + Encryption support [ON] Support cryptage [ON] - + Encryption support [FORCED] Support cryptage [Forcé] - + Encryption support [OFF] Support cryptage [OFF] @@ -1978,13 +2257,13 @@ Etes-vous certain de vouloir quitter qBittorrent ? Ratio - + Alt+1 shortcut to switch to first tab Alt+& - + Alt+2 shortcut to switch to second tab Alt+é @@ -1996,18 +2275,18 @@ Etes-vous certain de vouloir quitter qBittorrent ? Qt::CTRL+Qt::Key_F, Qt::Alt+Qt::Key_QuoteDbl - + Alt+4 shortcut to switch to fourth tab Alt+' - + Url download error Erreur téléchargement url - + Couldn't download file at url: %1, reason: %2. Impossible de télécharger le fichier à l'url : %1, raison : %2. @@ -2017,17 +2296,17 @@ Etes-vous certain de vouloir quitter qBittorrent ? Le relancement rapide a échoué pour le torrent %1, revérification... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Etes-vous certain de vouloir supprimer les fichiers sélectionnés depuis la liste de téléchargement ainsi que le disque dur ? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Etes-vous certain de vouloir supprimer les torrents sélectionnés dans la liste de partage et sur le disque dur ? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' a été supprimé de manière permanente. @@ -2038,17 +2317,54 @@ Etes-vous certain de vouloir quitter qBittorrent ? Le contact de la source HTTP a échoué à l'url : %1, message : %2 - + Alt+3 shortcut to switch to third tab Alt+" - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + Support UPNP [OFF] + + + + NAT-PMP support [ON] + Support NAT-PMP [ON] + + + + NAT-PMP support [OFF] + Support NAT-PMP [OFF] + + + + Local Peer Discovery [ON] + Découverte locale de sources [ON] + + + + Local Peer Discovery support [OFF] + Découverte locale de sources [OFF] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' a été supprimé car son ratio a atteint la limite que vous avez fixée. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2Ko/s, UP: %3Ko/s) + MainWindow @@ -2371,24 +2687,24 @@ Etes-vous certain de vouloir quitter qBittorrent ? Oui - + Ignored Ignoré - + Normal Normal (priority) Normale - + High High (priority) Haute - + Maximum Maximum (priority) Maximale @@ -2410,17 +2726,17 @@ Etes-vous certain de vouloir quitter qBittorrent ? Recherche - + Delete Supprimer - + Rename Renommer - + Refresh Rafraîchir @@ -2435,65 +2751,70 @@ Etes-vous certain de vouloir quitter qBittorrent ? Flux RSS : - + Delete selected streams Supprimer les flux sélectionnés - + Refresh RSS streams Rafraîchir les flux RSS - + Add a new RSS stream Ajouter un flux RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Articles :</b> <i>(double-clic pour ouvrir le lien dans votre navigateur)</i> - + Add RSS stream Ajouter un flux RSS - + Refresh all streams Rafraîchir tous les flux - + RSS streams: Flux RSS : - + 2 + + + Mark all as read + Tout marquer comme lu + RSSImp - + Please type a rss stream url Veuillez entrer l'url du flux RSS - + Stream URL: URL du flux : - + Please choose a new name for this stream Veuillez choisir un nouveau nom pour ce flux - + New stream name: Nouveau nom de flux : @@ -2503,7 +2824,7 @@ Etes-vous certain de vouloir quitter qBittorrent ? Aucune description disponible - + Are you sure? -- qBittorrent Etes vous sûr ? -- qBittorrent @@ -2513,12 +2834,12 @@ Etes-vous certain de vouloir quitter qBittorrent ? Etes-vous certain de vouloir supprimer ce flux de la liste ? - + &Yes &Oui - + &No &Non @@ -2533,40 +2854,50 @@ Etes-vous certain de vouloir quitter qBittorrent ? Aucune description disponible - + Are you sure you want to delete this stream from the list? Etes-vous certain de vouloir supprimer ce flux de la liste ? - + Description: Description : - + url: url : - + Last refresh: Dernier rafraîchissement : - + qBittorrent qBittorrent - + This rss feed is already in the list. Cette source RSS est déjà dans votre liste. + + + Date: + Date : + + + + Author: + Auteur : + RssItem - + No description available Aucune description disponible @@ -2574,13 +2905,13 @@ Etes-vous certain de vouloir quitter qBittorrent ? RssStream - + %1 ago 10min ago il y a %1 - + Never Jamais @@ -2588,68 +2919,68 @@ Etes-vous certain de vouloir quitter qBittorrent ? SearchEngine - + Name i.e: file name Nom - + Size i.e: file size Taille - + Seeders i.e: Number of full sources Sources complètes - + Leechers i.e: Number of partial sources Sources partielles - + Search engine Moteur de recherche - + Empty search pattern Motif de recherche vide - + Please type a search pattern first Veuillez entrer un motif de recherche d'abord No search engine selected - Aucun moteur de recherche sélectionné + Aucun moteur de recherche sélectionné You must select at least one search engine. - Vous devez sélectionner au moins un moteur de recherche. + Vous devez sélectionner au moins un moteur de recherche. - + Results Résultats - + Searching... Recherche en cours... Search plugin update -- qBittorrent - Mise à jour du greffon de recherche -- qBittorrent + Mise à jour du greffon de recherche -- qBittorrent @@ -2657,7 +2988,7 @@ Etes-vous certain de vouloir quitter qBittorrent ? Changelog: - Le greffon de recherche est ancien, voulez-vous procéder à la mise à jour ? + Le greffon de recherche est ancien, voulez-vous procéder à la mise à jour ? Changements: @@ -2665,60 +2996,60 @@ Changements: &Yes - &Oui + &Oui &No - &Non + &Non Search plugin update - Mise à jour du greffon de recherche + Mise à jour du greffon de recherche qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Désolé, le serveur de mise à jour est temporairement indisponible. + Désolé, le serveur de mise à jour est temporairement indisponible. Your search plugin is already up to date. - Votre greffon de recherche est déjà à jour. + Votre greffon de recherche est déjà à jour. - + Search Engine Moteur de recherche - + Search has finished Fin de la recherche - + An error occured during search... Une erreur s'est produite lors de la recherche... - + Search aborted La recherché a été interrompue - + Search returned no results La recherche n'a retourné aucun résultat - + Results i.e: Search results Résultats @@ -2726,12 +3057,17 @@ Changements: Search plugin download error - Erreur téléchargement du greffon de recherche + Erreur téléchargement du greffon de recherche Couldn't download search plugin update at url: %1, reason: %2. - Impossible de télécharger la mise à jour du greffon de recherche à l'url : %1, raison : %2. + Impossible de télécharger la mise à jour du greffon de recherche à l'url : %1, raison : %2. + + + + Unknown + Inconnu @@ -2838,17 +3174,17 @@ Changements: Dialogue d'ajout de torrent - + Save path: Répertoire de destination : - + ... ... - + Torrent content: Contenu du torrent : @@ -2868,22 +3204,22 @@ Changements: Sélectionné - + Download in correct order (slower but good for previewing) Télécharger dans l'ordre (plus lent mais idéal pour la prévisualisation) - + Add to download list in paused state Ajouter à la liste de téléchargement en état de pause - + Add Ajouter - + Cancel Annuler @@ -2903,22 +3239,22 @@ Changements: Sélectionner - + Ignored Ignoré - + Normal Normale - + High Haute - + Maximum Maximale @@ -2984,10 +3320,10 @@ Changements: Destination torrent file: - Fichier torrent créé : + Fichier torrent créé : - + Input file or directory: Fichier ou dossier à inclure : @@ -2999,15 +3335,15 @@ Changements: ... - ... + ... Create - Créer + Créer - + Cancel Annuler @@ -3047,17 +3383,17 @@ Changements: <center>Commentaire :</center> - + Torrent file creation Création d'un fichier torrent Input files or directories: - Fichiers ou dossiers à insérer : + Fichiers ou dossiers à insérer : - + Announce urls (trackers): Urls des trackers : @@ -3067,30 +3403,105 @@ Changements: Sources web - + Comment (optional): Commentaire (facultatif) : Private (won't be distributed on trackerless network / DHT if enabled) - Privé (ne sera pas partagé sur le réseau DHT si activé) + Privé (ne sera pas partagé sur le réseau DHT si activé) - + Web seeds urls (optional): Urls sources web (facultatif) : + + + File or folder to add to the torrent: + Fichier ou dossier à ajouter au torrent : + + + + Add a file + Ajouter un fichier + + + + Add a folder + Ajouter un dossier + + + + Piece size: + taille des morceaux : + + + + 32 KiB + 32 Ko + + + + 64 KiB + 64 Ko + + + + 128 KiB + 128 Ko + + + + 256 KiB + 256 Ko + + + + 512 KiB + 512 Ko + + + + 1 MiB + 1 Mo + + + + 2 MiB + 2 Mo + + + + 4 MiB + 4 Mo + + + + Private (won't be distributed on DHT network if enabled) + Privé (ne sera pas distribué sur le réseau DHT si activé) + + + + Start seeding after creation + Commencer le partage directement + + + + Create and save... + Créer et sauvegarder... + createtorrent - + Select destination torrent file Sélectionner le torrent à créer - + Torrent Files Fichiers Torrent @@ -3100,22 +3511,22 @@ Changements: Sélectionner le dossier ou le fichier à inclure - + No destination path set - Aucun chemin de destination défini + Aucun chemin de destination défini - + Please type a destination path first - Veuillez entrer un chemin de destination d'abord + Veuillez entrer un chemin de destination d'abord - + No input path set Aucun fichier inclu - + Please type an input path first Veuillez sélectionner un fichier ou un dossier à inclure d'abord @@ -3130,12 +3541,12 @@ Changements: Veuillez vérifier la chemin du fichier/dossier à inclure - + Torrent creation Création d'un torrent - + Torrent was created successfully: Le torrent a été créé avec succès : @@ -3150,17 +3561,17 @@ Changements: La création du torrent a réussi, - + Select a folder to add to the torrent Sélectionner un dossier à ajouter au torrent Select files to add to the torrent - Sélectionner des fichiers à ajouter au torrent + Sélectionner des fichiers à ajouter au torrent - + Please type an announce URL Veuillez entrer l'url du tracker @@ -3170,26 +3581,41 @@ Changements: URL du tracker : - + Torrent creation was unsuccessful, reason: %1 La création du torrent a échoué, raison : %1 - + Announce URL: Tracker URL URL du tracker : - + Please type a web seed url Veuillez entrer l'url de la source web - + Web seed URL: URL de la source web : + + + Select a file to add to the torrent + Sélectionner un fichier à ajouter au torrent + + + + No tracker path set + Aucun tracker spécifié + + + + Please set at least one tracker + Veuillez définir au moins un tracker + downloadFromURL @@ -3239,112 +3665,333 @@ Changements: Search - Recherche + Recherche Total DL Speed: - Vitesse DL totale : + Vitesse DL totale : KiB/s - Ko/s + Ko/s Session ratio: - Ratio session : + Ratio session : Total UP Speed: - Vitesse UP totale : + Vitesse UP totale : Log - Journal + Journal IP filter - Filtre IP + Filtre IP Start - Démarrer + Démarrer Pause - Pause + Pause Delete - Supprimer + Supprimer Clear - Vider + Vider Preview file - Prévisualiser fichier + Prévisualiser fichier Set upload limit - Définir limite d'upload + Définir limite d'upload Set download limit - Définir limite téléchargement + Définir limite téléchargement Delete Permanently - Supprimer depuis le disque + Supprimer depuis le disque Torrent Properties - Propriétés du Torrent + Propriétés du Torrent + + + + engineSelect + + + Search plugins + Greffons de recherche + + + + Installed search engines: + Moteurs de recherche installés : + + + + Name + Nom + + + + Url + Adresse + + + + Enabled + Activé + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + D'autres greffons de recherche sont disponibles à cette adresse: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Installer un nouveau + + + + Check for updates + Mettre à jour + + + + Close + Fermer + + + + Enable + Activer + + + + Disable + Désactiver + + + + Uninstall + Désinstaller + + + + engineSelectDlg + + + True + Oui + + + + False + Non + + + + Uninstall warning + Désinstallation + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Quelques greffons de recherche n'ont pas pu être désinstallés car ils sont inclus dans qBittorrent. + Seuls ceux que vous avez installés vous-même sont désinstallables. +Cependant, les greffons en question ont été désactivés. + + + + Uninstall success + Désinstallation réussie + + + + All selected plugins were uninstalled successfuly + Tous les greffons sélectionnés ont été désinstallés avec succès + + + + Select search plugins + Sélectionnez les greffons + + + + qBittorrent search plugins + Greffons de recherche de qBittorrent + + + + Search plugin install + Installation d'un greffon de recherche + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Une version plus récente du greffon %1 est déjà installée. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Le greffon %1 a été mis à jour avec succès. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Le greffon %1 a été installé avec succès. + + + + Search plugin update + Mise à jour du greffon de recherche + + + + Sorry, update server is temporarily unavailable. + Désolé, le serveur de mise à jour est temporairement indisponible. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Le greffon %1 a été mis à jour avec succès. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Désolé, la mise à jour du greffon %1 a échoué. + + + + All your plugins are already up to date. + Tous vos greffons de recherche sont déjà à jour. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Le greffon de recherche %1 n'a pas pu être mis à jour, l'ancienne version est conservée. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Le greffon de recherche %1 n'a pas pu être installé. + + + + All selected plugins were uninstalled successfully + Tous les greffons sélectionnés ont été désinstallés avec succès + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Le greffon %1 a été mis à jour avec succès. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Le greffon %1 a été installé avec succès. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + Le greffon %1 a été mis à jour avec succès. + + + + Search engine plugin archive could not be read. + L'archive contenant le greffon de recherche n'a pas pu être lue. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Désolé, l'installation du greffon de recherche %1 a échouée. + + + + New search engine plugin URL + Adresse du nouveau greffon de recherche + + + + URL: + Adresse : misc - + B bytes o - + KiB kibibytes (1024 bytes) Ko - + MiB mebibytes (1024 kibibytes) Mo - + GiB gibibytes (1024 mibibytes) Go - + TiB tebibytes (1024 gibibytes) To @@ -3368,7 +4015,7 @@ Changements: j - + Unknown Inconnu @@ -3385,31 +4032,31 @@ Changements: j - + Unknown Unknown (size) Inconnue - + < 1m < 1 minute < 1min - + %1m e.g: 10minutes %1min - + %1h%2m e.g: 3hours 5minutes %1h%2min - + %1d%2h%3m e.g: 2days 10hours 2minutes %1j%2h%3min @@ -3468,12 +4115,12 @@ Changements: est mal formée. - + Range Start IP IP de début dans la rangée - + Start IP: IP de début : @@ -3488,22 +4135,22 @@ Changements: Cette IP est incorrecte. - + Range End IP IP de fin dans la rangée - + End IP: IP de fin : - + IP Range Comment Commentaire de la rangée - + Comment: Commentaire : @@ -3511,55 +4158,78 @@ Changements: to <min port> to <max port> - à + à - + Choose your favourite preview program Sélectionner votre logiciel de prévisualisation préféré - + Invalid IP IP Incorrecte - + This IP is invalid. Cette adresse IP est incorrecte. - + Options were saved successfully. Préférences sauvegardées avec succès. - + Choose scan directory Choisir le dossier à surveiller - + Choose an ipfilter.dat file Choisir un fichier ipfilter.dat - + Choose a save directory Choisir un répertoire de sauvegarde - + I/O Error Input/Output Error Erreur E/S - + Couldn't open %1 in read mode. Impossible d'ouvrir %1 en lecture. + + pluginSourceDlg + + + Plugin source + Source du greffon + + + + Search plugin source: + Source du greffon de recherche : + + + + Local file + Fichier local + + + + Web link + Lien internet + + preview @@ -3669,7 +4339,7 @@ Changements: Contenu du Torrent - + OK @@ -3734,7 +4404,7 @@ Changements: Mo - + Unknown Inconnu @@ -3749,12 +4419,12 @@ Changements: Partiel : - + Files contained in current torrent: Fichiers contenus dans le torrent actuel : - + Size Taille @@ -3789,32 +4459,32 @@ Changements: Oui - + Tracker - + Trackers: Trackers : - + None - Unreachable? Aucun - indisponible ? - + Errors: Erreurs : - + Progress Progression - + Main infos Infos principales @@ -3824,27 +4494,27 @@ Changements: Nombre de sources : - + Current tracker: Tracker actuel : - + Total uploaded: Total uploadé : - + Total downloaded: Total téléchargé : - + Total failed: Total échoué : - + Torrent content Contenu du torrent @@ -3854,7 +4524,7 @@ Changements: Options - + Download in correct order (slower but good for previewing) Télécharger dans le bon ordre (plus lent mais bon pour la prévisualisation) @@ -3874,57 +4544,57 @@ Changements: Sources partielles : - + Save path: Répertoire de destination : - + Torrent infos Infos sur le torrent - + Creator: Auteur : - + Torrent hash: Hash du torrent : - + Comment: Commentaire : - + Current session Session courante - + Share ratio: Ratio partage : - + Trackers - + New tracker Nouveau tracker - + New tracker url: Nouvelle url de tracker : - + Priorities: Priorités : @@ -3934,67 +4604,67 @@ Changements: Ignoré : Le fichier n'est pas téléchargé du tout - + Normal: normal priority. Download order is dependent on availability Normale : priorité normale. L'ordre de téléchargement dépend de la disponibilité - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - Elevée : Priorité supérieure à la normale. Les morceaux sont préférés aux autres possédant la même disponibilité, mais pas par rapport à ceux qui ont une disponibilité plus faible + Haute : Priorité supérieure à la normale. Les morceaux sont préférés aux autres possédant la même disponibilité, mais pas par rapport à ceux qui ont une disponibilité plus faible - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximale : Priorité maximale. La disponibilité n'est pas prise en compte, le morceau est préféré à tous ceux qui ont une priorité inférieure - + File name Nom - + Priority Priorité - + qBittorrent qBittorrent - + Trackers list can't be empty. La liste des trackers ne peut pas être vide. - + Ignored: file is not downloaded at all Ignoré : le fichier n'est pas téléchargé du tout - + Ignored Ignoré - + Normal Normale - + Maximum Maximale - + High Haute - + Url seeds Sources HTTP @@ -4004,12 +4674,12 @@ Changements: La source - + New url seed: Nouvelle source HTTP : - + This url seed is already in the list. Cette source HTTP est déjà dans la liste. @@ -4019,74 +4689,89 @@ Changements: Les sources HTTP codées en dur ne peuvent pas être supprimées. - + None i.e: No error message Aucun - + New url seed New HTTP source Nouvelle source HTTP - + The following url seeds are available for this torrent: Les sources HTTP suivantes sont disponibles pour ce torrent : + + + Priorities error + Erreur de priorité + + + + Error, you can't filter all the files in a torrent. + Erreur, vous ne pouvez pas filtrer tous les fichiers du torrent. + search_engine - + Search Recherche Search Engines - Moteur de recherche + Moteur de recherche - + Search Pattern: Motif de recherche : - + Stop Stopper - + Status: Statut : - + Stopped Stoppé - + Results: Résultats : - + Download Télécharger - + Clear Vider Update search plugin - Mettre à jour le greffon de recherche + Mettre à jour le greffon de recherche + + + + Search engines... + Moteurs de recherche... @@ -4145,57 +4830,57 @@ Changements: subDownloadThread - + Host is unreachable L'hôte distant est injoignable - + File was not found (404) Fichier non trouvé (404) - + Connection was denied Connexion refusée - + Url is invalid Url invalide - + Connection forbidden (403) Connexion interdite (403) - + Connection was not authorized (401) La connexion n'a pas été autorisée (401) - + Content has moved (301) Le contenu a été déplacé (301) - + Connection failure Echec de la connexion - + Connection was timed out Délai de connexion dépassé - + Incorrect network interface Interface réseau incorrecte - + Unknown error Erreur inconnue @@ -4208,17 +4893,17 @@ Changements: Oui - + Unable to decode torrent file: Impossible de décoder le fichier torrent : - + This file is either corrupted or this isn't a torrent. Ce fichier est corrompu ou il ne s'agit pas d'un torrent. - + Choose save path Choix du répertoire de destination @@ -4228,52 +4913,52 @@ Changements: Non - + Empty save path Chemin de destination vide - + Please enter a save path Veuillez entrer un répertoire de destination - + Save path creation error Erreur lors de la création du répertoire de destination - + Could not create the save path Impossible de créer le répertoire de destination - + Invalid file selection Sélection de fichiers invalide - + You must select at least one file in the torrent Veuillez sélectionner au moins un fichier dans le torrent - + File name Nom - + Size Taille - + Progress Progression - + Priority Priorité diff --git a/src/lang/qbittorrent_hu.qm b/src/lang/qbittorrent_hu.qm index 68a02d776b5bea8da1d8e4b8e96db2bf6d6db7d6..ac780686440cb0c4f9a217b95ab0dac1a347bada 100644 GIT binary patch delta 13995 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 TIdOP-_ui){OK{J@o~r)?WFV-m delta 9201 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 diff --git a/src/lang/qbittorrent_hu.ts b/src/lang/qbittorrent_hu.ts index 84512afad..ab5163a86 100644 --- a/src/lang/qbittorrent_hu.ts +++ b/src/lang/qbittorrent_hu.ts @@ -156,428 +156,707 @@ Copyright © 2006 by Christophe Dumez<br> Options - Opciók + Opciók Main - + Save Path: - Mentés helye: + Mentés helye: Download Limit: - Letöltési korlát: + Letöltési korlát: Upload Limit: - Feltöltési korlát: + Feltöltési korlát: Max Connects: - Maximális kapcsolat: + Maximális kapcsolat: - + Port range: Port tartomány: - + ... ... Disable - Letiltva + Letiltva connections - kapcsolat + kapcsolat Proxy - Proxy + Proxy - + Proxy Settings Proxy beállítások - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - A proxy kiszolgáló megköveteli a hitelesítést + A proxy kiszolgáló megköveteli a hitelesítést - + Authentication Felhasználó User Name: - Név: + Név: - + Password: Jelszó: Enable connection through a proxy server - Kapcsolódás proxy kiszolgálón keresztül + Kapcsolódás proxy kiszolgálón keresztül Scanned Dir: - Megfigyelt mappa: + Megfigyelt mappa: Enable directory scan (auto add torrent files inside) - Mappa megfigyelése (torrentek hozzáadása automatikusan) + Mappa megfigyelése (torrentek hozzáadása automatikusan) Share ratio: - Megosztási arány: + Megosztási arány: - + Activate IP Filtering IP-szűrő használata - + Filter Settings Szűrő beállításai - + Start IP Kezdő IP - + End IP Végső IP - + Origin Forrás - + Comment Megjegyzés - + IP Filter - IP-szűrő + IP-szűrő - + Add Range Tartomány hozzáadása - + Remove Range Tartomány eltávolítása ipfilter.dat Path: - ipfilter.dat helye: + ipfilter.dat helye: Go to systray when minimizing window - Panelre helyezés minimalizáláskor + Panelre helyezés minimalizáláskor - + Misc Vegyes Localization - Honosítás + Honosítás - + Language: Nyelv: Behaviour - Ablakok + Ablakok - + KiB/s KByte/s 1 KiB DL = - 1 KByte DL = + 1 KByte DL = KiB UP max. - KByte UP max. + KByte UP max. - + Preview program Bemutató program Audio/Video player: - Audio/Video lejátszó: + Audio/Video lejátszó: Always display systray messages - Panel üzenetek megjelenítése + Panel üzenetek megjelenítése Display systray messages only when window is hidden - Panel üzenetek megjelenítése csak rejtett módban + Panel üzenetek megjelenítése csak rejtett módban Never display systray messages - Panel üzenetek tiltása + Panel üzenetek tiltása DHT configuration - DHT beállítása + DHT beállítása DHT port: - DHT port: + DHT port: Language - Nyelv + Nyelv - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Note:</b> A változások életbe lépéséhez újra kell indítanod a qBittorrentet. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Fordítási megjegyzés:</b> Ha a qBittorrent nem elérhető a nyelveden, <br/>és szeretnéd lefordítani, <br/>kérlek értesíts: (chris@qbittorrent.org). + <b>Fordítási megjegyzés:</b> Ha a qBittorrent nem elérhető a nyelveden, <br/>és szeretnéd lefordítani, <br/>kérlek értesíts: (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - "Torrent hozzáadása" ablak megnyitása minden új torrentnél + "Torrent hozzáadása" ablak megnyitása minden új torrentnél Default save path - Alapértelmezett letöltési könyvtár + Alapértelmezett letöltési könyvtár Disable DHT (Trackerless) - DHT letiltva + DHT letiltva Disable Peer eXchange (PeX) - PeX letiltva + PeX letiltva Go to systray when closing main window - Panelre helyezés a főablak bezárásakor + Panelre helyezés a főablak bezárásakor - + Connection Kapcsolatok Peer eXchange (PeX) - Ügyfél csere (PeX) + Ügyfél csere (PeX) DHT (trackerless) - DHT (tracker nélküli üzemmód) + DHT (tracker nélküli üzemmód) Torrent addition - Torrent hozzáadása + Torrent hozzáadása Main window - Főablak + Főablak Systray messages - Panel üzenetek + Panel üzenetek Directory scan - Mappa megfigyelése + Mappa megfigyelése Style (Look 'n Feel) - Kinézet + Kinézet - + Plastique style (KDE like) KDE Cleanlooks style (GNOME like) - Gnome + Gnome Motif style (default Qt style on Unix systems) - Qt-szerű + Qt-szerű - + CDE style (Common Desktop Environment like) Átlagos deszktop MacOS style (MacOSX only) - MacOS stílus (csak MacOSX-en) + MacOS stílus (csak MacOSX-en) Exit confirmation when the download list is not empty - Megerősítés kérése a kilépésről, ha vannak letöltések + Megerősítés kérése a kilépésről, ha vannak letöltések Disable systray integration - Panel integráció letiltása + Panel integráció letiltása WindowsXP style (Windows XP only) - Windwos XP (Csak XP-re) + Windwos XP (Csak XP-re) Server IP or url: - Kiszolgáló címe: + Kiszolgáló címe: Proxy type: - Proxy típusa: + Proxy típusa: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Proxy kapcsolatok - + Use proxy for connections to trackers Csatlakozás a trackerhez proxyn keresztül - + Use proxy for connections to regular peers Csatlakozás ügyfelekhez proxyn keresztül - + Use proxy for connections to web seeds Proxy használata web seedhez - + Use proxy for DHT messages Proxy a DHT üzenetekhez Encryption - Titkosítás + Titkosítás Encryption state: - Titkosítás állapota: + Titkosítás állapota: - + Enabled Engedélyez - + Forced Kényszerít - + Disabled Tilt + + + Preferences + Beállítások + + + + General + Általános + + + + User interface settings + Felület beállításai + + + + Visual style: + Kinézet: + + + + Cleanlooks style (Gnome like) + Letisztult felület (Gnome-szerű) + + + + Motif style (Unix like) + Unix-szerű minta + + + + Ask for confirmation on exit when download list is not empty + Megerősítés kérése a kilépésről aktív letöltéseknél + + + + Display current speed in title bar + Sebesség megjelenítése a címsoron + + + + System tray icon + Panel ikon + + + + Disable system tray icon + Panel ikon letiltása + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Panelre helyezés bezáráskor + + + + Minimize to tray + Panelre helyezés háttérben + + + + Show notification balloons in tray + Panel üzenetek megjelenítése + + + + Media player: + Media player: + + + + Downloads + Letöltések + + + + Put downloads in this folder: + Letöltések mappája: + + + + Pre-allocate all files + Fájlok helyének lefoglalása + + + + When adding a torrent + Torrent hozzáadása + + + + Display torrent content and some options + Torrent részleteinek megjelenítése + + + + Do not start download automatically + The torrent will be added to download list in pause state + Letöltés nélkül add a listához + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Mappa megfigyelése + + + + Automatically download torrents present in this folder: + Torrent automatikus letöltése ebből a könyvtárból: + + + + Listening port + Port beállítása + + + + to + i.e: 1200 to 1300 + - + + + + Enable UPnP port mapping + UPnP port átirányítás engedélyezése + + + + Enable NAT-PMP port mapping + NAT-PMP port átirányítás engedélyezése + + + + Global bandwidth limiting + Sávszélesség korlátozása + + + + Upload: + Feltöltés: + + + + Download: + Letöltés: + + + + Type: + Típus: + + + + (None) + (Nincs) + + + + Proxy: + ProxyÍ: + + + + Username: + Felhasználónév: + + + + Bittorrent + Bittorrent + + + + Connections limit + Kapcsolatok korlátozása + + + + Global maximum number of connections: + Kapcsolatok maximális száma: + + + + Maximum number of connections per torrent: + Kapcsolatok száma torrentenként: + + + + Maximum number of upload slots per torrent: + Feltöltési szálak száma torrentenként: + + + + Additional Bittorrent features + További Bittorrent jellemzők + + + + Enable DHT network (decentralized) + DHT hálózati működés engedélyezése + + + + Enable Peer eXchange (PeX) + Ügyfél csere engedélyezése (PeX) + + + + Enable Local Peer Discovery + Enable Local Peer Discovery + + + + Encryption: + Titkosítás: + + + + Share ratio settings + Megosztási arányok + + + + Desired ratio: + Megosztási arány: + + + + Filter file path: + Ip szűrő fájl helye: + + + + transfer lists refresh interval: + Átviteli lista frissítési időnöze: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + RSS csatornák firssítésének időköze: + + + + minutes + Perc + + + + Maximum number of articles per feed: + Hírek maximális száma csatornánként: + + + + File system + Fájlrendszer + + + + Remove finished torrents when their ratio reaches: + Torrent eltávolítása, ha elérte ezt az arányt: + + + + System default + + DownloadingTorrents @@ -585,115 +864,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - Név + Név Size i.e: file size - Méret + Méret Progress i.e: % downloaded - Folyamat + Folyamat DL Speed i.e: Download speed - + DL Speed UP Speed i.e: Upload speed - + UP Speed Seeds/Leechs i.e: full/partial sources - + Seeds/Leechs Ratio - Arány + Arány ETA i.e: Estimated Time of Arrival / Time left - Idő + Idő qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 elindítva. + qBittorrent %1 elindítva. Be careful, sharing copyrighted material without permission is against the law. - Csak óvatosan a megosztással. Nehogy megsértsd a szerzői jogokat!. + Csak óvatosan a megosztással. Nehogy megsértsd a szerzői jogokat!. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>blokkolva</i> + <font color='red'>%1</font> <i>blokkolva</i> - + Fast resume data was rejected for torrent %1, checking again... - Hibás ellenőrző adat ennél a torrentnél: %1, újraellenőrzés... + Hibás ellenőrző adat ennél a torrentnél: %1, újraellenőrzés... - + Url seed lookup failed for url: %1, message: %2 - Url forrás meghatározása sikertelen: %1, hibaüzenet: %2 + Url forrás meghatározása sikertelen: %1, hibaüzenet: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' felvéve a letöltési listára. + '%1' felvéve a letöltési listára. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' visszaállítva. (folytatás) + '%1' visszaállítva. (folytatás) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' már letöltés alatt. + '%1' már letöltés alatt. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Megfejthetetlen torrent: '%1' + Megfejthetetlen torrent: '%1' - + This file is either corrupted or this isn't a torrent. - Ez a fájl sérült, vagy nem is torrent. + Ez a fájl sérült, vagy nem is torrent. - + Couldn't listen on any of the given ports. - A megadott porok zártak. + A megadott porok zártak. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Letöltés alatt: '%1', kis türelmet... + Letöltés alatt: '%1', kis türelmet... @@ -779,7 +1058,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Torrent fájl megnyitása @@ -789,17 +1068,17 @@ Copyright © 2006 by Christophe Dumez<br> Ez a fájl sérült, vagy nem is torrent. - + &Yes &Igen - + &No &Nem - + Are you sure you want to delete the selected item(s) in download list? Biztos vagy benne, hogy törlöd a felsorlolt elemeket a letöltési listáról? @@ -814,12 +1093,12 @@ Copyright © 2006 by Christophe Dumez<br> Letöltés... - + Torrent Files Torrentek - + Are you sure? -- qBittorrent Egészen biztos? -- qBittorrent @@ -839,19 +1118,19 @@ Copyright © 2006 by Christophe Dumez<br> Leállítva - + Preview process already running Már van egy előzetes - + There is already another preview process running. Please close the other one first. Már folyamatban van egy előzetes. Kérlek előbb azt zárd be. - + Download finished Letöltés elkészült @@ -867,17 +1146,17 @@ Kérlek előbb azt zárd be. qBittorrent %1 - + Connection status: A kapcsolat állapota: - + Offline Offline - + No peers found... Nem találtam ügyfélt... @@ -930,18 +1209,18 @@ Kérlek előbb azt zárd be. qBittorrent %1 elindítva. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Letöltés: %1 KByte/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Feltöltés: %1 KByte/s @@ -959,12 +1238,12 @@ Kérlek előbb azt zárd be. Elakadt - + Are you sure you want to quit? Egészen biztos, hogy kilépsz? - + '%1' was removed. 'xxx.avi' was removed. '%1' eltávolítva. @@ -1000,12 +1279,12 @@ Kérlek előbb azt zárd be. Nincs - + All downloads were paused. Minden letöltés megszakítva. - + '%1' paused. xxx.avi paused. '%1' megállítva. @@ -1017,52 +1296,52 @@ Kérlek előbb azt zárd be. Csatlakozás... - + All downloads were resumed. Mindegyik letöltés elindítva. - + '%1' resumed. e.g: xxx.avi resumed. '%1' elindítva. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 letöltve. - + I/O Error i.e: Input/Output Error I/O Hiba - + 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 Hiba történ a(z) %1 írása/olvasása közben. Valószínűleg tele a lemez, így a letöltés megszakítva - + Connection Status: A kapcsolat állapota: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Tűzfal probléma? - + No incoming connections... Nincs kapcsolat... @@ -1073,61 +1352,61 @@ Kérlek előbb azt zárd be. Letöltés alatt: '%1', kis türelmet... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Hiba történt (megtelt a merevlemez?), '%1' megállítva. - + Search Keresés - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent ezen a porton figyel: %1 - + DHT support [ON], port: %1 DHT funkció [ON], port: %1 - + DHT support [OFF] DHT funkció [OFF] - + PeX support [ON] PeX [ON] - + PeX support [OFF] PeX [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? Letöltés folyamatban. Mégis leállítod a qBittorrentet? - + Downloads Letöltések - + Finished Feltöltések @@ -1137,12 +1416,12 @@ Mégis leállítod a qBittorrentet? Egészen biztos vagy benne, hogy törlöd a felsorolt elemeket a feltöltési listáról ÉS a merevlemezről? - + Are you sure you want to delete the selected item(s) in finished list? Biztos vagy benne, hogy törlöd a felsorolt elemeket a feltöltési listáról? - + UPnP support [ON] UPnP támogatás [ON] @@ -1152,17 +1431,17 @@ Mégis leállítod a qBittorrentet? Csak óvatosan a megosztással. Nehogy megsértsd a szerzői jogokat!. - + Encryption support [ON] Titkosítás [ON] - + Encryption support [FORCED] Titkosítás [KÉNYSZERÍTVE] - + Encryption support [OFF] Titkosítás [OFF] @@ -1178,13 +1457,13 @@ Mégis leállítod a qBittorrentet? Arány - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1196,18 +1475,18 @@ Mégis leállítod a qBittorrentet? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Url letöltés hiba - + Couldn't download file at url: %1, reason: %2. Nem sikerült letölteni url címről: %1, mert: %2. @@ -1217,17 +1496,17 @@ Mégis leállítod a qBittorrentet? Hibás ellenőrző adat ennél a torrentnél: %1, újraellenőrzés... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Egészen biztos vagy benne, hogy törlöd a felsorlolt elemeket a letöltési listáról ÉS a merevlemezről? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Egészen biztos vagy benne, hogy törlöd a felsorlolt elemeket a feltöltési listáról ÉS a merevlemezről? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' véglegesen törölve. @@ -1238,16 +1517,53 @@ Mégis leállítod a qBittorrentet? Url forrás meghatározása sikertelen: %1, hibaüzenet: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + UPnP támogatás [OFF] + + + + NAT-PMP support [ON] + NAT-PMP támogatás [ON] + + + + NAT-PMP support [OFF] + NAT-PMP támogatás [OFF] + + + + Local Peer Discovery [ON] + Local Peer Discovery [ON] + + + + Local Peer Discovery support [OFF] + Local Peer Discovery támogatás [OFF] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' eltávolítva, mivel elérte a kítűzött megosztási arányt. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) @@ -1431,24 +1747,24 @@ Mégis leállítod a qBittorrentet? PropListDelegate - + Ignored Mellőzve - + Normal Normal (priority) Átlagos - + High High (priority) Magas - + Maximum Maximum (priority) Maximális @@ -1462,85 +1778,90 @@ Mégis leállítod a qBittorrentet? Keresés - + Delete Törlés - + Rename Átnevezés - + Refresh Frissítés - + Delete selected streams Kijelölt csatornák törlése - + Refresh RSS streams RSS csatornák ellenőrzése - + Add a new RSS stream RSS hírcsatorna hozzáadása - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Hírek:</b> <i>(dupla kattintás a böngészőben való megtekintéshez)</i> - + Add RSS stream RSS csatorna hozzádása - + Refresh all streams Összes csatorna ellenőrzése - + RSS streams: Hírcsatornák: - + 2 2 + + + Mark all as read + Mind megjelölése olvasottnak + RSSImp - + Please type a rss stream url Kérlek add meg a csatorna url címét - + Stream URL: Csatorna címe: - + Please choose a new name for this stream Kérlek válassz új nevet a csatornának - + New stream name: Az új név: - + Are you sure? -- qBittorrent Egészen biztos? -- qBittorrent @@ -1550,12 +1871,12 @@ Mégis leállítod a qBittorrentet? Egészen biztos, hogy törlöd ezt a hírcsatornát a listáról? - + &Yes &Igen - + &No &Nem @@ -1570,40 +1891,50 @@ Mégis leállítod a qBittorrentet? Nincs leírás - + Are you sure you want to delete this stream from the list? Egészen biztos, hogy törlöd ezt a hírcsatornát a listáról? - + Description: Leírás: - + url: url: - + Last refresh: Utolsó frissítés: - + qBittorrent qBittorrent - + This rss feed is already in the list. - + Ez a hírcsatorna már felvéve. + + + + Date: + Dátum: + + + + Author: + Szerző: RssItem - + No description available Nem található leírás @@ -1611,82 +1942,82 @@ Mégis leállítod a qBittorrentet? RssStream - + %1 ago 10min ago %1 előtt - + Never - + Soha SearchEngine - + Name i.e: file name Név - + Size i.e: file size Méret - + Seeders i.e: Number of full sources Feltöltők - + Leechers i.e: Number of partial sources Letöltők - + Search engine Kereső oldal - + Empty search pattern Hiányzó kulcsszó - + Please type a search pattern first Kérlek adj meg kulcsszót a kereséshez No search engine selected - Nincs kereső kiválasztva + Nincs kereső kiválasztva You must select at least one search engine. - Válassz legalább egy keresőt. + Válassz legalább egy keresőt. - + Results Eredmény - + Searching... Keresés... Search plugin update -- qBittorrent - Keresőmodul frissítés -- qBittorrent + Keresőmodul frissítés -- qBittorrent @@ -1694,7 +2025,7 @@ Mégis leállítod a qBittorrentet? Changelog: - Elérhető egy frissebb keresőmodul. Szeretnéd most frissíteni? + Elérhető egy frissebb keresőmodul. Szeretnéd most frissíteni? Újdonságok: @@ -1702,60 +2033,60 @@ Changelog: &Yes - &Igen + &Igen &No - &Nem + &Nem Search plugin update - Kereső modul frissítése + Kereső modul frissítése qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - A kiszolgálő jelenleg nem elérhető. Bocs. + A kiszolgálő jelenleg nem elérhető. Bocs. Your search plugin is already up to date. - A legújabb keresőt használod. + A legújabb keresőt használod. - + Search Engine Keresőmotor - + Search has finished A keresés befejeződött - + An error occured during search... Hiba a keresés közben... - + Search aborted Keresés félbeszakítva - + Search returned no results Eredménytelen keresés - + Results i.e: Search results Találat @@ -1763,12 +2094,17 @@ Changelog: Search plugin download error - Hiba a kereső modul letöltésekor + Hiba a kereső modul letöltésekor Couldn't download search plugin update at url: %1, reason: %2. - Nem sikerült kereső modult letölteni innen: %1, mert: %2. + Nem sikerült kereső modult letölteni innen: %1, mert: %2. + + + + Unknown + Ismeretlen @@ -1797,57 +2133,57 @@ Changelog: Torrent hozzáadása - + Save path: Mentés helye: - + ... ... - + Torrent content: Torrent tartalma: - + Download in correct order (slower but good for previewing) Letöltés sorrendben. Előnézethez kiváló, de lassabb a letöltés - + Add to download list in paused state Letöltés nélkül add a listához - + Add Mehet - + Cancel Mégse - + Ignored Mellőzve - + Normal Átlagos - + High Magas - + Maximum Maximális @@ -1908,15 +2244,15 @@ Changelog: ... - ... + ... Create - Létrehozás + Létrehozás - + Cancel Mégsem @@ -1926,119 +2262,214 @@ Changelog: Torrent készítő - + Torrent file creation Torrent létrehozása Input files or directories: - Forrás fájl vagy könyvtár: + Forrás fájl vagy könyvtár: - + Announce urls (trackers): Gazda tracker (url): - + Comment (optional): Megjegyzés (esetleges): Private (won't be distributed on trackerless network / DHT if enabled) - Zárt (Nem jelenik meg a tracker nélküli DHT hálózaton) + Zárt (Nem jelenik meg a tracker nélküli DHT hálózaton) Destination torrent file: - Torrent fájl neve: + Torrent fájl neve: - + Web seeds urls (optional): Web seeds urls (esetleges): + + + Input file or directory: + Forrás fájl vagy könyvtár: + + + + File or folder to add to the torrent: + Fájl vagy könyvtár. A torrent tartalma: + + + + Add a file + Fájl hozzáadása + + + + Add a folder + Mappa hozzáadása + + + + Piece size: + Szelet mérete: + + + + 32 KiB + 32 KByte + + + + 64 KiB + 64 KByte + + + + 128 KiB + 128 KByte + + + + 256 KiB + 256 KByte + + + + 512 KiB + 512 KByte + + + + 1 MiB + 1 MByte + + + + 2 MiB + 2 MByte + + + + 4 MiB + 4 MByte + + + + Private (won't be distributed on DHT network if enabled) + Zárt (nem jelenik meg a DHT hálózaton) + + + + Start seeding after creation + Megosztás létrehozás után + + + + Create and save... + Létrehozás és mentés... + createtorrent - + Select destination torrent file Torrent helye - + Torrent Files Torrentek - + No destination path set - Nincs célmappa + Nincs célmappa - + Please type a destination path first - Kérlek add meg a torrent helyét + Kérlek add meg a torrent helyét - + No input path set Nincs forrásmappa - + Please type an input path first Kérlek adj meg forrásmappát - + Torrent creation Torrent létrehozása - + Torrent was created successfully: Torrent sikeresen elkészült:): - + Select a folder to add to the torrent Válassz egy könyvtárat a torrenthez Select files to add to the torrent - Válassz fájlt(okat) a torrenthez + Válassz fájlt(okat) a torrenthez - + Please type an announce URL Kérlek add meg a gazda címét (URL) - + Torrent creation was unsuccessful, reason: %1 Torrent készítése sikertelen:(, oka: %1 - + Announce URL: Tracker URL Gazda tracker (URL): - + Please type a web seed url Kérlek adj meg címet a web seedhez (url) - + Web seed URL: Web seed URL: + + + Select a file to add to the torrent + Válassz fájlt(okat) a torrenthez + + + + No tracker path set + Nincs tracker megadva + + + + Please set at least one tracker + Kérlek adj meg legalább egy trackert + downloadFromURL @@ -2083,147 +2514,345 @@ Changelog: Search - Keresés + Keresés Total DL Speed: - Bejövő sebesség: + Bejövő sebesség: KiB/s - KByte/s + KByte/s Session ratio: - Megosztási arány: + Megosztási arány: Total UP Speed: - Kimenő sebesség: + Kimenő sebesség: Log - Napló + Napló IP filter - IP szűrő + IP szűrő Start - Indítás + Indítás Pause - Szünet + Szünet Delete - Törlés + Törlés Clear - Törlés + Törlés Preview file - Minta fájl + Minta fájl Set upload limit - Feltöltési korlát megadása + Feltöltési korlát megadása Set download limit - Letöltési korlát megadása + Letöltési korlát megadása Delete Permanently - Végleges törlés + Végleges törlés Torrent Properties - + Torrent tulajdonságai + + + + engineSelect + + + Search plugins + Kereső modulok + + + + Installed search engines: + Telepített keresők: + + + + Name + Név + + + + Url + Url + + + + Enabled + Státusz + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Újabb kereső modulok elérhetőek itt : <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Új telepítése + + + + Check for updates + Frissítések ellenőrzése + + + + Close + Bezárás + + + + Enable + Enged + + + + Disable + Tilt + + + + Uninstall + Eltávolít + + + + engineSelectDlg + + + True + Engedve + + + + False + Tiltva + + + + Uninstall warning + Figyelemeztetés + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Néhány modult nem lehet eltávolítani, mivel a program részei. + Csak azokat lehet, amiket saját kezüleg telepítettél. +Viszont azok a modulok kikapcsolhatóak. + + + + Uninstall success + Sikeresen eltávolítva + + + + Select search plugins + Modul kiválasztása + + + + qBittorrent search plugins + qBittorrent kereső modulok + + + + Search plugin install + Kerső telepítése + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + A %1 kereső modul egy újabb verziója már telepítve van. + + + + Search plugin update + Kereső modul frissítése + + + + Sorry, update server is temporarily unavailable. + A kiszolgálő jelenleg nem elérhető. Bocs. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Bocs, nem sikerült frissíteni: %1. + + + + All your plugins are already up to date. + A legújabb kereső modulokat használod. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 keresőt nem lehet frissíteni, előző verzió megtartva. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1 kereső modul telepítése sikertelen. + + + + All selected plugins were uninstalled successfully + Kereső modul(ok) sikeresen eltávolítva + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1 kereső modul sikeresen frissítve. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1 kereső modul sikeresen telepítve. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + %1 kereső modul sikeresen frissítve. + + + + Search engine plugin archive could not be read. + Kereső modul beolvasása sikertelen. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Bocs, %1 kereső modul telepítése sikertelen. + + + + New search engine plugin URL + Új kereső modul címe + + + + URL: + URL: misc - + B bytes Byte - + KiB kibibytes (1024 bytes) KByte - + MiB mebibytes (1024 kibibytes) MByte - + GiB gibibytes (1024 mibibytes) GByte - + TiB tebibytes (1024 gibibytes) TByte - + Unknown Ismeretlen - + Unknown Unknown (size) Ismeretlen - + < 1m < 1 minute < 1perc - + %1m e.g: 10minutes %1perc - + %1h%2m e.g: 3hours 5minutes %1óra%2perc - + %1d%2h%3m e.g: 2days 10hours 2minutes %1nap%2óra%3perc @@ -2232,32 +2861,32 @@ Changelog: options_imp - + Range Start IP IP tartomány kezdete - + Start IP: Kezdő IP: - + Range End IP IP tartomány vége - + End IP: Végső IP: - + IP Range Comment Megjegyzés a tartományhoz - + Comment: Megjegyzés: @@ -2265,55 +2894,78 @@ Changelog: to <min port> to <max port> - - + - - + Choose your favourite preview program Válasz ki kedvenc bemutató programod - + Invalid IP Érvénytelen IP - + This IP is invalid. Ez az IP cím nemlétező. - + Options were saved successfully. Beállítások sikeresen elmentve. - + Choose scan directory Megfigyelt könyvtár beállítása - + Choose an ipfilter.dat file Ipfilter.dat fájl megnyitása - + Choose a save directory Letöltési könyvtár megadása - + I/O Error Input/Output Error I/O Hiba - + Couldn't open %1 in read mode. %1 olvasása sikertelen. + + pluginSourceDlg + + + Plugin source + Modul telepítés + + + + Search plugin source: + Kereső modul helye: + + + + Local file + Helyi fájl + + + + Web link + Webcím + + preview @@ -2378,212 +3030,212 @@ Changelog: Torrent tulajdonságai - + OK Ok - + Unknown Ismeretlen - + Files contained in current torrent: Az aktuális torrent tartalma: - + Size Méret - + Tracker Tracker - + Trackers: Trackerek: - + None - Unreachable? Nincs - Vagy csak elérhetetlen? - + Errors: Hiba: - + Progress Folyamat - + Main infos Main infó - + Current tracker: Aktuális tracker: - + Total uploaded: Összes feltöltés: - + Total downloaded: Összes letöltés: - + Total failed: Hibás adat: - + Torrent content Torrent tartalma - + Download in correct order (slower but good for previewing) Letöltés sorrendben. Előnézethez kiváló, de lassabb a letöltés - + Save path: Letöltés helye: - + Torrent infos Torrent infó - + Creator: Készítő program: - + Torrent hash: Torrent hash: - + Comment: Megjegyzés: - + Current session Eddigi forgalom - + Share ratio: Megosztási arány: - + Trackers Trackerek - + New tracker Új tracker - + New tracker url: Új tracker címe: - + Priorities: Prioritások: - + Normal: normal priority. Download order is dependent on availability Normál: Az alap prioritás. A letöltés sorrendje az elérhetőségen múlik - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Magas: Magasabb a normálnál. Azonos elérhetőségnél elsőbbséget élvez, de alacsonyabbnál nem - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximális: legmagasabb prioritás. Nem veszi figyelembe az elérhetőséget, elsőbbséget biztosít minden más darabbal szemben - + File name Fájl név - + Priority Prioritás - + qBittorrent qBittorrent - + Trackers list can't be empty. Nem hagyhatod üresen a trackerek listáját. - + Ignored: file is not downloaded at all Elutasítva: a fájl nincs letöltve - + Ignored Mellőzve - + Normal Átlagos - + Maximum Maximális - + High Magas - + Url seeds Url seed - + New url seed: Új url seed: - + This url seed is already in the list. Már letöltés alatt ez az url forrás. @@ -2593,74 +3245,89 @@ Changelog: Nem törölhető ez az url forrás! (Hard-coded). - + None i.e: No error message Nincs - + New url seed New HTTP source Új url forrás - + The following url seeds are available for this torrent: Ehhez a torrenthez az alábbi url seedek elérhetőek: + + + Priorities error + Priorities error + + + + Error, you can't filter all the files in a torrent. + Error, you can't filter all the files in a torrent. + search_engine - + Search Keresés Search Engines - Keresők + Keresők - + Search Pattern: Kulcsszó: - + Stop Állj - + Status: Állapot: - + Stopped Megállítva - + Results: Eredmény: - + Download Letöltés - + Clear Törlés Update search plugin - Kereső modul frissítése + Kereső modul frissítése + + + + Search engines... + Keresők... @@ -2719,57 +3386,57 @@ Changelog: subDownloadThread - + Host is unreachable Kiszolgáló nem elérhető - + File was not found (404) Fájl nem található (404) - + Connection was denied Hozzáférés megtagadva - + Url is invalid Érvénytelen cím - + Connection forbidden (403) Kapcsolódás letiltva (403) - + Connection was not authorized (401) Sikertelen hitelesítés kapcsolódáskor (401) - + Content has moved (301) Tartalom áthelyezve (301) - + Connection failure Kapcsolódás sikertelen - + Connection was timed out Idő túllépés - + Incorrect network interface Hibás hálózati csatlakozó - + Unknown error Ismeretlen hiba @@ -2777,67 +3444,67 @@ Changelog: torrentAdditionDialog - + Unable to decode torrent file: Hasznavehetetlen torrent fájl: - + This file is either corrupted or this isn't a torrent. Ez a fájl sérült, vagy nem is torrent. - + Choose save path Mentés helye - + Empty save path Mentés helye hiányos - + Please enter a save path Kérlek add meg a mentés helyét - + Save path creation error Járhatatlan ösvény - + Could not create the save path Nem sikerült létrehozni a letöltési könyvtárat. (Írásvédett?) - + Invalid file selection Választás hiánya - + You must select at least one file in the torrent Legalább egy fájlt ki kell választanod - + File name Fájlnév - + Size Méret - + Progress Folyamat - + Priority Elsőbbség diff --git a/src/lang/qbittorrent_it.qm b/src/lang/qbittorrent_it.qm index e1ee8a8bb0f176377e02fc937d0c1a1de8400196..278fd10eb0bf523ce15f006f578b8b563f41363f 100644 GIT binary patch delta 14792 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 Kfbn#;^8W!5f-fon delta 9814 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 IE+;Ae7lrhn(f|Me diff --git a/src/lang/qbittorrent_it.ts b/src/lang/qbittorrent_it.ts index b27be2982..005ebfef0 100644 --- a/src/lang/qbittorrent_it.ts +++ b/src/lang/qbittorrent_it.ts @@ -167,60 +167,60 @@ Copyright © 2006 by Christophe Dumez<br> Options - Opzioni + Opzioni Main - Principale + Principale Save Path: - Directory di salvataggio: + Directory di salvataggio: Download Limit: - Limite download: + Limite download: Upload Limit: - Limite upload: + Limite upload: Max Connects: - Connessioni massime: + Connessioni massime: - + Port range: Intervallo porte: - + ... ... Disable - Disabilita + Disabilita connections - connessioni + connessioni Proxy - Proxy + Proxy - + Proxy Settings Impostazioni proxy @@ -230,39 +230,39 @@ Copyright © 2006 by Christophe Dumez<br> Server IP: - + 0.0.0.0 0.0.0.0 - + Port: Porta: Proxy server requires authentication - Il server proxy richiede l'autenticazione + Il server proxy richiede l'autenticazione - + Authentication Autenticazione User Name: - Nome utente: + Nome utente: - + Password: Password: Enable connection through a proxy server - Abilita connessione attraverso un server proxy + Abilita connessione attraverso un server proxy @@ -277,12 +277,12 @@ Copyright © 2006 by Christophe Dumez<br> Scanned Dir: - Directory controllata: + Directory controllata: Enable directory scan (auto add torrent files inside) - Abilita scansione directory (aggiunge automaticamente i torrent nella directory) + Abilita scansione directory (aggiunge automaticamente i torrent nella directory) @@ -292,35 +292,35 @@ Copyright © 2006 by Christophe Dumez<br> Share ratio: - Rapporto di condivisione: + Rapporto di condivisione: - + Activate IP Filtering Attivare Filtraggio IP - + Filter Settings Impostazioni del filtro - + Start IP IP iniziale - + End IP IP finale - + Origin Origine - + Comment Commento @@ -330,44 +330,44 @@ Copyright © 2006 by Christophe Dumez<br> Applica - + IP Filter - Filtro IP + Filtro IP - + Add Range Aggiungi intervallo - + Remove Range Rimuovi intervallo ipfilter.dat Path: - Percorso di ipfilter.dat: + Percorso di ipfilter.dat: - + Misc Varie Localization - Localizzazione + Localizzazione - + Language: Lingua: Behaviour - Aspetto + Aspetto @@ -377,7 +377,7 @@ Copyright © 2006 by Christophe Dumez<br> Go to systray when minimizing window - Riduci alla systray quando si minimizza la finestra + Riduci alla systray quando si minimizza la finestra @@ -400,19 +400,19 @@ Copyright © 2006 by Christophe Dumez<br> Non mostrare mai l'OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP max. + KiB UP max. @@ -430,14 +430,14 @@ Copyright © 2006 by Christophe Dumez<br> Cancella automaticamente i download terminati - + Preview program Programma di anteprima Audio/Video player: - Player audio/video: + Player audio/video: @@ -447,218 +447,497 @@ Copyright © 2006 by Christophe Dumez<br> Always display systray messages - Mostra sempre i messaggi systray + Mostra sempre i messaggi systray Display systray messages only when window is hidden - Mostra i messaggi systray solo quando la finestra è nascosta + Mostra i messaggi systray solo quando la finestra è nascosta Never display systray messages - Non mostrare mai i messaggi systray + Non mostrare mai i messaggi systray DHT configuration - Configurazione DHT + Configurazione DHT DHT port: - Porta DHT: + Porta DHT: Language - Lingua + Lingua - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Nota:</b> Le modifiche verranno applicate al riavvio di qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Note per la traduzione:</b> Se qBittorrent non è disponibile nella tua lingua, e se sei <br/>disposto a tradurlo, per favore contattami (chris@qbittorrent.org). + <b>Note per la traduzione:</b> Se qBittorrent non è disponibile nella tua lingua, e se sei <br/>disposto a tradurlo, per favore contattami (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Mostra una finestra di dialogo ogni volta che aggiungo un torrent + Mostra una finestra di dialogo ogni volta che aggiungo un torrent Default save path - Directory di default + Directory di default Disable DHT (Trackerless) - Disabilita DHT (senza tracker) + Disabilita DHT (senza tracker) Disable Peer eXchange (PeX) - Disabilita Scambio Peer (PeX) + Disabilita Scambio Peer (PeX) Go to systray when closing main window - Riduci alla systray quando si chiude la finestra + Riduci alla systray quando si chiude la finestra - + Connection Connessione Peer eXchange (PeX) - Scambio Peer (PeX) + Scambio Peer (PeX) DHT (trackerless) - DHT (senza tracker) + DHT (senza tracker) Torrent addition - Aggiunta torrent + Aggiunta torrent Main window - Finestra principale + Finestra principale Systray messages - Messaggi systray + Messaggi systray Directory scan - Scansione directory + Scansione directory Style (Look 'n Feel) - Stile (Look 'n Feel) + Stile (Look 'n Feel) - + Plastique style (KDE like) Stile Plastique (KDE) Cleanlooks style (GNOME like) - Stile Cleanlooks (GNOME) + Stile Cleanlooks (GNOME) Motif style (default Qt style on Unix systems) - Stile Motif (stile Qt di default su sistemi Unix) + Stile Motif (stile Qt di default su sistemi Unix) - + CDE style (Common Desktop Environment like) Stile CDE (Common Desktop Environment) MacOS style (MacOSX only) - Stile MacOS (solo MacOSX) + Stile MacOS (solo MacOSX) Exit confirmation when the download list is not empty - Conferma l'uscita quando la lista dei download non è vuota + Conferma l'uscita quando la lista dei download non è vuota Disable systray integration - Disabilita l'integrazione con la systray + Disabilita l'integrazione con la systray WindowsXP style (Windows XP only) - Stile WindowsXP (solo Windows XP) + Stile WindowsXP (solo Windows XP) Server IP or url: - Server IP o url: + Server IP o url: Proxy type: - Tipo di proxy: + Tipo di proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Connessioni interessate - + Use proxy for connections to trackers Usa un proxy per le connessioni ai tracker - + Use proxy for connections to regular peers Usa un proxy per le connessioni ai peer regolari - + Use proxy for connections to web seeds Usa un proxy per connessioni ai seed web - + Use proxy for DHT messages Usa un proxy per i messaggi DHT Encryption - Cifratura + Cifratura Encryption state: - Stato cifratura: + Stato cifratura: - + Enabled Attivata - + Forced Forzata - + Disabled Disattivata + + + Preferences + Preferenze + + + + General + Generali + + + + User interface settings + Impostazioni interfaccia utente + + + + Visual style: + Stile grafico: + + + + Cleanlooks style (Gnome like) + Stile Cleanlooks (Gnome) + + + + Motif style (Unix like) + Stile Motif (Unix) + + + + Ask for confirmation on exit when download list is not empty + Chiedere conferma in uscita quando la lista dei download non è vuota + + + + Display current speed in title bar + Mostrare la velocità attuale nella barra del titolo + + + + System tray icon + Icona nella tray + + + + Disable system tray icon + Disabilitare icona nella tray + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Chiudere nella tray + + + + Minimize to tray + Minimizzare nella tray + + + + Show notification balloons in tray + Mostrare nuvolette di notifica nella tray + + + + Media player: + Player multimediale: + + + + Downloads + Download + + + + Put downloads in this folder: + Cartella dei download: + + + + Pre-allocate all files + Pre-allocare tutti i file + + + + When adding a torrent + All'aggiunta di un torrent + + + + Display torrent content and some options + Mostrare il contenuto del torrent ed alcune opzioni + + + + Do not start download automatically + The torrent will be added to download list in pause state + Non iniziare il download automaticamente + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Controllo cartella + + + + Automatically download torrents present in this folder: + Download automatico dei torrent presenti in questa cartella: + + + + Listening port + Porte di ascolto + + + + to + i.e: 1200 to 1300 + a + + + + Enable UPnP port mapping + Abilitare mappatura porte UPnP + + + + Enable NAT-PMP port mapping + Abilitare mappatura porte NAT-PMP + + + + Global bandwidth limiting + Limiti globali di banda + + + + Upload: + Upload: + + + + Download: + Download: + + + + Type: + Tipo: + + + + (None) + (Nessuno) + + + + Proxy: + Proxy: + + + + Username: + Nome utente: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limiti alle connessioni + + + + Global maximum number of connections: + Numero massimo globale di connessioni: + + + + Maximum number of connections per torrent: + Numero massimo di connessioni per torrent: + + + + Maximum number of upload slots per torrent: + Numero massimo di slot in upload per torrent: + + + + Additional Bittorrent features + Funzioni aggiuntive Bittorrent + + + + Enable DHT network (decentralized) + Abilitare rete DHT (decentralizzata) + + + + Enable Peer eXchange (PeX) + Abilitare scambio peer (PeX) + + + + Enable Local Peer Discovery + Abilitare scoperta peer locali + + + + Encryption: + Cifratura: + + + + Share ratio settings + Impostazioni rapporto di condivisione + + + + Desired ratio: + Rapporto desiderato: + + + + Filter file path: + Percorso file filtro: + + + + transfer lists refresh interval: + intervallo aggiornamento liste di trasferimento: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Intervallo aggiornamento feed RSS: + + + + minutes + minuti + + + + Maximum number of articles per feed: + Numero massimo di articoli per feed: + + + + File system + File system + + + + Remove finished torrents when their ratio reaches: + Rimuovere i torrent completati quando il rapporto raggiunge: + + + + System default + + DownloadingTorrents @@ -666,115 +945,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - Nome + Nome Size i.e: file size - Dimensione + Dimensione Progress i.e: % downloaded - + Avanzamento DL Speed i.e: Download speed - + Velocità DL UP Speed i.e: Upload speed - + Velocità UP Seeds/Leechs i.e: full/partial sources - Seeds/Leechs + Seeds/Leechs Ratio - Rapporto + Rapporto ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 avviato. + qBittorrent %1 avviato. Be careful, sharing copyrighted material without permission is against the law. - Attenzione, condividere materiale protetto da copyright senza il permesso è illegale. + Attenzione, condividere materiale protetto da copyright senza il permesso è illegale. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>è stato bloccato</i> + <font color='red'>%1</font> <i>è stato bloccato</i> - + Fast resume data was rejected for torrent %1, checking again... - Il recupero veloce del torrent %1 è stato rifiutato, altro tentativo in corso... + Il recupero veloce del torrent %1 è stato rifiutato, altro tentativo in corso... - + Url seed lookup failed for url: %1, message: %2 - Fallito seed per l'url: %1, messaggio: %2 + Fallito seed per l'url: %1, messaggio: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' è stato aggiunto alla lista dei download. + '%1' è stato aggiunto alla lista dei download. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' ripreso. (recupero veloce) + '%1' ripreso. (recupero veloce) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' è già nella lista dei download. + '%1' è già nella lista dei download. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Impossibile decifrare il file torrent: '%1' + Impossibile decifrare il file torrent: '%1' - + This file is either corrupted or this isn't a torrent. - Questo file è corrotto o non è un torrent. + Questo file è corrotto o non è un torrent. - + Couldn't listen on any of the given ports. - Impossibile mettersi in ascolto sulle porte scelte. + Impossibile mettersi in ascolto sulle porte scelte. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Download di '%1' in corso... + Download di '%1' in corso... @@ -842,7 +1121,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Apri file torrent @@ -857,22 +1136,22 @@ Copyright © 2006 by Christophe Dumez<br> Sei sicuro di voler cancellare tutti i file nella lista di download? - + &Yes &Sì - + &No &No - + Are you sure you want to delete the selected item(s) in download list? Sei sicuro di voler cancellare gli elementi selezionati dalla lista dei download? - + Finished In Upload @@ -922,7 +1201,7 @@ Copyright © 2006 by Christophe Dumez<br> Impossibile creare la directory: - + Torrent Files File torrent @@ -976,7 +1255,7 @@ Copyright © 2006 by Christophe Dumez<br> qBittorrent - + Are you sure? -- qBittorrent Sei sicuro? -- qBittorrent @@ -1167,12 +1446,12 @@ Changelog: In pausa - + Preview process already running Processo di anteprima già in esecuzione - + There is already another preview process running. Please close the other one first. C'è già un altro processo di anteprima avviato. @@ -1214,7 +1493,7 @@ Example: Downloading www.example.com/test.torrent Downloading - + Download finished Download completato @@ -1251,17 +1530,17 @@ Example: Downloading www.example.com/test.torrent qBittorrent %1 - + Connection status: Stato della connessione: - + Offline Offline - + No peers found... Nessun peer trovato... @@ -1326,18 +1605,18 @@ Example: Downloading www.example.com/test.torrent qBittorrent %1 avviato. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Velocità DL: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Velocità UP: %1 KiB/s @@ -1361,12 +1640,12 @@ Example: Downloading www.example.com/test.torrent In Stallo - + Are you sure you want to quit? Sei sicuro di voler uscire? - + '%1' was removed. 'xxx.avi' was removed. '%1' è stato rimosso. @@ -1408,12 +1687,12 @@ Example: Downloading www.example.com/test.torrent In ascolto sulla porta: %1 - + All downloads were paused. Tutti i download sono stati fermati. - + '%1' paused. xxx.avi paused. '%1' fermato. @@ -1425,52 +1704,52 @@ Example: Downloading www.example.com/test.torrent Connessione in corso... - + All downloads were resumed. Tutti i download sono stati ripresi. - + '%1' resumed. e.g: xxx.avi resumed. '%1' ripreso. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 è stato scaricato. - + I/O Error i.e: Input/Output Error Errore I/O - + 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 Errore di scrittura o di lettura con %1. Probabilmente il disco è pieno, il download è stato fermato - + Connection Status: Stato della connessione: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Dietro firewall? - + No incoming connections... Nessuna connession in entrata... @@ -1502,66 +1781,66 @@ Example: Downloading www.example.com/test.torrent Download di '%1' in corso... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. C'è stato un errore (disco pieno?), '%1' fermato. - + Search Ricerca - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent è in ascolto sulla porta: %1 - + DHT support [ON], port: %1 Supporto DHT [ON], porta: %1 - + DHT support [OFF] Supporto DHT [OFF] - + PeX support [ON] Supporto PeX [ON] - + PeX support [OFF] Supporto PeX [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? La lista dei download non è vuota. Sei sicuro di voler uscire da qBittorrent? - + Downloads In Download - + Are you sure you want to delete the selected item(s) in finished list? Sei sicuro di voler cancellare gli elementi selezionati dalla lista dei download completati? - + UPnP support [ON] Supporto UPnP [ON] @@ -1571,17 +1850,17 @@ Sei sicuro di voler uscire da qBittorrent? Attenzione, condividere materiale protetto da copyright senza il permesso è illegale. - + Encryption support [ON] Supporto cifratura [ON] - + Encryption support [FORCED] Supporto cifratura [FORZATO] - + Encryption support [OFF] Supporto cifratura [OFF] @@ -1597,13 +1876,13 @@ Sei sicuro di voler uscire da qBittorrent? Rapporto - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1615,18 +1894,18 @@ Sei sicuro di voler uscire da qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Errore download da url - + Couldn't download file at url: %1, reason: %2. Impossibile scaricare il file all'indirizzo: %1, motivo: %2. @@ -1636,17 +1915,17 @@ Sei sicuro di voler uscire da qBittorrent? Il recupero veloce del torrent %1 è stato rifiutato, altro tentativo in corso... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Sei sicuro di voler rimuovere gli elementi selezionati dalla lista dei download e dal disco? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Sei sicuro di voler rimuovere gli oggetti selezionati dalla lista dei download completati e dal disco? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' è stato cancellato permanentemente. @@ -1657,16 +1936,53 @@ Sei sicuro di voler uscire da qBittorrent? Fallito seed per l'url: %1, messaggio: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Supporto UPnP [OFF] + + + + NAT-PMP support [ON] + Supporto NAT-PMP [ON] + + + + NAT-PMP support [OFF] + Supporto NAT-PMP [OFF] + + + + Local Peer Discovery [ON] + Supporto scoperta peer locali [ON] + + + + Local Peer Discovery support [OFF] + Supporto scoperta peer locali [OFF] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' è stato rimosso perché il suo rapporto di condivisione ha raggiunto il massimo stabilito. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) @@ -1925,24 +2241,24 @@ Sei sicuro di voler uscire da qBittorrent? Vero - + Ignored - Ignorata + Ignora - + Normal Normal (priority) Normale - + High High (priority) Alta - + Maximum Maximum (priority) Massima @@ -1956,17 +2272,17 @@ Sei sicuro di voler uscire da qBittorrent? Ricerca - + Delete Cancella - + Rename Rinomina - + Refresh Aggiorna @@ -1976,70 +2292,75 @@ Sei sicuro di voler uscire da qBittorrent? Crea - + Delete selected streams Cancella i flussi selezionati - + Refresh RSS streams Aggiorna i flussi RSS - + Add a new RSS stream Aggiungi un nuovo flusso RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>News:</b> <i>(doppio-clic per aprire il link nel tuo browser web)</i> - + Add RSS stream Aggiungi flusso RSS - + Refresh all streams Aggiorna tutti i flussi - + RSS streams: Flussi RSS: - + 2 2 + + + Mark all as read + Segna tutti come letti + RSSImp - + Please type a rss stream url Per favore digitare l'url di un flusso rss - + Stream URL: URL del flusso: - + Please choose a new name for this stream Per favore scegliere un nuovo nome per questo flusso - + New stream name: Nuovo nome del flusso: - + Are you sure? -- qBittorrent Sei sicuro? -- qBittorrent @@ -2049,50 +2370,60 @@ Sei sicuro di voler uscire da qBittorrent? Sei sicuro di voler cancellare questo flusso dalla lista ? - + &Yes &Sì - + &No &No - + Are you sure you want to delete this stream from the list? Sei sicuro di voler cancellare questo flusso dalla lista? - + Description: Descrizione: - + url: url: - + Last refresh: Ultimo aggiornamento: - + qBittorrent qBittorrent - + This rss feed is already in the list. - + Questo feed rss è già nella lista. + + + + Date: + Data: + + + + Author: + Autore: RssItem - + No description available Descrizione non disponibile @@ -2100,82 +2431,82 @@ Sei sicuro di voler uscire da qBittorrent? RssStream - + %1 ago 10min ago %1 fa - + Never - + Mai SearchEngine - + Name i.e: file name Nome - + Size i.e: file size Dimensione - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + Search engine Motore di ricerca - + Empty search pattern Campo di ricerca vuoto - + Please type a search pattern first Per favore inserire prima un campo di ricerca No search engine selected - Nessun motore di ricerca selezionato + Nessun motore di ricerca selezionato You must select at least one search engine. - Selezionare almeno un motore di ricerca. + Selezionare almeno un motore di ricerca. - + Results Risultati - + Searching... Ricerca in corso... Search plugin update -- qBittorrent - Aggiornamento del plugin di ricerca -- qBittorrent + Aggiornamento del plugin di ricerca -- qBittorrent @@ -2183,7 +2514,7 @@ Sei sicuro di voler uscire da qBittorrent? Changelog: - Esiste una nuova versione del plugin di ricerca, vuoi aggiornarlo? + Esiste una nuova versione del plugin di ricerca, vuoi aggiornarlo? Changelog: @@ -2191,60 +2522,60 @@ Changelog: &Yes - &Sì + &Sì &No - &No + &No Search plugin update - Aggiornato il plugin di ricerca + Aggiornato il plugin di ricerca qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Spiacenti, il server è momentaneamente irraggiungibile. + Spiacenti, il server è momentaneamente irraggiungibile. Your search plugin is already up to date. - Il plugin di ricerca è già aggiornato. + Il plugin di ricerca è già aggiornato. - + Search Engine Motore di Ricerca - + Search has finished La ricerca è terminata - + An error occured during search... Si è verificato un errore durante la ricerca... - + Search aborted Ricerca annullata - + Search returned no results La ricerca non ha prodotto risultati - + Results i.e: Search results Risultati @@ -2252,12 +2583,17 @@ Changelog: Search plugin download error - Errore nel download del plugin di ricerca + Errore nel download del plugin di ricerca Couldn't download search plugin update at url: %1, reason: %2. - Impossibile aggiornare il plugin all'url: %1, motivo: %2. + Impossibile aggiornare il plugin all'url: %1, motivo: %2. + + + + Unknown + Sconosciuto @@ -2349,17 +2685,17 @@ Changelog: Dialogo per l'aggiunta di un torrent - + Save path: Directory di salvataggio: - + ... ... - + Torrent content: Contenuti del torrent: @@ -2379,22 +2715,22 @@ Changelog: Selezionato - + Download in correct order (slower but good for previewing) Scarica nell'ordine giusto (più lento ma migliore per le anteprime) - + Add to download list in paused state Aggiungi fra i download mettendolo in pausa - + Add Aggiungi - + Cancel Cancella @@ -2409,22 +2745,22 @@ Changelog: Seleziona - + Ignored - Ignorata + Ignora - + Normal Normale - + High Alta - + Maximum Massima @@ -2495,7 +2831,7 @@ Changelog: ... - ... + ... @@ -2505,10 +2841,10 @@ Changelog: Create - Crea + Crea - + Cancel Annulla @@ -2533,50 +2869,130 @@ Changelog: <center>Commenti</center> - + Torrent file creation Creazione file torrent Input files or directories: - File o directory da inserire: + File o directory da inserire: - + Announce urls (trackers): Url di annuncio (tracker): - + Comment (optional): Commento (facoltativo): Private (won't be distributed on trackerless network / DHT if enabled) - Privato (non sarà condiviso su rete senza tracker / DHT se abilitato) + Privato (non sarà condiviso su rete senza tracker / DHT se abilitato) Destination torrent file: - File torrent di destinazione: + File torrent di destinazione: - + Web seeds urls (optional): Url dei seed web (facoltativo): + + + Input file or directory: + File o directory da aggiungere: + + + + File or folder to add to the torrent: + File o cartella da aggiungere al torrent: + + + + Add a file + Aggiungi un file + + + + Add a folder + Aggiungi una cartella + + + + Piece size: + Dimensione pezzo: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Privato (non sarà condiviso su rete DHT se abilitata) + + + + Start seeding after creation + Iniziare a distribuire dopo la creazione + + + + Create and save... + Crea e salva... + createtorrent - + Select destination torrent file Scegliere la destinazione del file torrent - + Torrent Files File torrent @@ -2586,22 +3002,22 @@ Changelog: File o directory da aggiungere - + No destination path set - Nessuna directory di salvataggio definita + Nessuna directory di salvataggio definita - + Please type a destination path first - Per favore inserire prima una directory di salvataggio + Per favore inserire prima una directory di salvataggio - + No input path set - Nessuna percorso da inserire definito + Nessun percorso da inserire definito - + Please type an input path first Per favore scegliere prima un percorso da inserire @@ -2616,51 +3032,66 @@ Changelog: Per favore inserire un percorso da aggiungere corretto - + Torrent creation Creazione di un torrent - + Torrent was created successfully: Il torrent è stato creato correttamente: - + Select a folder to add to the torrent Selezionare una cartella da aggiungere al torrent Select files to add to the torrent - Selezionare i file da aggiungere al torrent + Selezionare i file da aggiungere al torrent - + Please type an announce URL Per favore digitare un URL di annuncio - + Torrent creation was unsuccessful, reason: %1 Creazione torrent fallita, motivo: %1 - + Announce URL: Tracker URL URL di annuncio: - + Please type a web seed url Per favore inserire l'url di un seed web - + Web seed URL: Url del seed web: + + + Select a file to add to the torrent + Selezionare un file da aggiungere al torrent + + + + No tracker path set + Nessun percorso del tracker definito + + + + Please set at least one tracker + Per favore impostare almeno un tracker + downloadFromURL @@ -2705,112 +3136,333 @@ Changelog: Search - Ricerca + Ricerca Total DL Speed: - Velocità totale download: + Velocità totale download: KiB/s - KiB/s + KiB/s Session ratio: - Rapporto di condivisione: + Rapporto di condivisione: Total UP Speed: - Velocità totale upload: + Velocità totale upload: Log - Log + Log IP filter - Filtro IP + Filtro IP Start - Avvia + Avvia Pause - Ferma + Ferma Delete - Cancella + Cancella Clear - Pulisci + Pulisci Preview file - Anteprima file + Anteprima file Set upload limit - Imposta limite di upload + Imposta limite di upload Set download limit - Imposta limite di download + Imposta limite di download Delete Permanently - Cancella permanentemente + Cancella permanentemente Torrent Properties - Proprietà del torrent + Proprietà del torrent + + + + engineSelect + + + Search plugins + Plugin di ricerca + + + + Installed search engines: + Motori di ricerca installati: + + + + Name + Nome + + + + Url + Url + + + + Enabled + Attivato + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Puoi ottenere altri plugin di ricerca qui: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Installane uno nuovo + + + + Check for updates + Controlla gli aggiornamenti + + + + Close + Chiudi + + + + Enable + Abilita + + + + Disable + Disabilita + + + + Uninstall + Disinstalla + + + + engineSelectDlg + + + True + Vero + + + + False + Falso + + + + Uninstall warning + Avviso di disinstallazione + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Alcuni plugin non possono essere disinstallati perché sono inclusi in qBittorrent. + Solo quelli aggiunti possono essere disinstallati. +Comunque, quei plugin sono stati disabilitati. + + + + Uninstall success + Disinstallazione riuscita + + + + All selected plugins were uninstalled successfuly + Tutti i plugin selezionati sono stati disinstallati con successo + + + + Select search plugins + Selezionare plugin di ricerca + + + + qBittorrent search plugins + Plugin di ricerca di qBittorrent + + + + Search plugin install + Installare plugin di ricerca + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Una versione più recente del plugin di ricerca %1 è già installata. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato aggiornato con successo. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato installato con successo. + + + + Search plugin update + Aggiornato il plugin di ricerca + + + + Sorry, update server is temporarily unavailable. + Spiacente, il server è momentaneamente non disponibile. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato aggiornato con successo. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Spiacente, l'aggiornamento del plugin di ricerca %1 è fallito. + + + + All your plugins are already up to date. + Tutti i plugin sono già aggiornati. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Non è stato possibile aggiornare %1, mantengo la versione attuale. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Non è stato possibile installare il plugin di ricerca %1. + + + + All selected plugins were uninstalled successfully + Tutti i plugin selezionati sono stati disinstallati con successo + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato aggiornato con successo. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato installato con successo. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + Il plugin di ricerca %1 è stato aggiornato con successo. + + + + Search engine plugin archive could not be read. + Non è stato possibile leggere l'archivio dei plugin dei motori di ricerca. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Spiacente, l'installazione del plugin di ricerca %1 è fallita. + + + + New search engine plugin URL + URL del nuovo plugin di ricerca + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -2828,7 +3480,7 @@ Changelog: gg - + Unknown Sconosciuto @@ -2845,31 +3497,31 @@ Changelog: h - + Unknown Unknown (size) Sconosciuta - + < 1m < 1 minute < 1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -2928,12 +3580,12 @@ Changelog: è malformata. - + Range Start IP Inizio intervallo IP - + Start IP: IP iniziale: @@ -2948,22 +3600,22 @@ Changelog: Questo IP non è corretto - + Range End IP Fine intervallo IP - + End IP: IP finale: - + IP Range Comment Commento intervallo IP - + Comment: Commento: @@ -2971,55 +3623,78 @@ Changelog: to <min port> to <max port> - a + a - + Choose your favourite preview program Scegliere il programma di anteprima preferito - + Invalid IP IP invalido - + This IP is invalid. Questo IP è invalido. - + Options were saved successfully. Le opzioni sono state salvate. - + Choose scan directory Scegliere una directory - + Choose an ipfilter.dat file Scegliere un file ipfilter.dat - + Choose a save directory Scegliere una directory di salvataggio - + I/O Error Input/Output Error Errore I/O - + Couldn't open %1 in read mode. Impossibile aprire %1 in lettura. + + pluginSourceDlg + + + Plugin source + Fonte del plugin + + + + Search plugin source: + Origine del plugin di ricerca: + + + + Local file + File locale + + + + Web link + Link web + + preview @@ -3099,7 +3774,7 @@ Changelog: Stato download: - + OK OK @@ -3144,7 +3819,7 @@ Changelog: Allocando - + Unknown Sconosciuto @@ -3159,12 +3834,12 @@ Changelog: Parziale: - + Files contained in current torrent: File contenuti nel torrent selezionato: - + Size Dimensione @@ -3189,32 +3864,32 @@ Changelog: Qui puoi scegliere quali file scaricare. - + Tracker Tracker - + Trackers: Tracker: - + None - Unreachable? Nessuno - Irraggiungibile? - + Errors: Errori: - + Progress Avanzamento - + Main infos Informazioni principali @@ -3224,27 +3899,27 @@ Changelog: Numero di peer: - + Current tracker: Tracker corrente: - + Total uploaded: Upload totale: - + Total downloaded: Download totale: - + Total failed: Fallimenti totali: - + Torrent content Contenuto del torrent @@ -3254,7 +3929,7 @@ Changelog: opzioni - + Download in correct order (slower but good for previewing) Scarica nell'ordine giusto (più lento ma migliore per le anteprime) @@ -3274,149 +3949,149 @@ Changelog: Leechers: - + Save path: Directory di salvataggio: - + Torrent infos Informazioni sul torrent - + Creator: Creatore: - + Torrent hash: Hash del torrent: - + Comment: Commento: - + Current session Sessione corrente - + Share ratio: Rapporto di condivisione: - + Trackers Tracker - + New tracker Nuovo tracker - + New tracker url: URL del nuovo tracker: - + Priorities: Priorità: - + Normal: normal priority. Download order is dependent on availability Normale: priorità normale. L'ordine dei download dipende dalla disponibilità - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Alta: più alta della priorità normale. Le parti sono preferite alle altre con la stessa disponibilità, ma non a quelle con minore disponibilità - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Massima: priorità massima, la disponibilità è ignorata, le parti sono preferite su tutte le altre con minore priorità - + File name Nome del file - + Priority Priorità - + qBittorrent qBittorrent - + Trackers list can't be empty. La lista dei tracker non può essere vuota. - + Ignored: file is not downloaded at all Ignorata: il file non viene scaricato - + Ignored Ignorata - + Normal Normale - + Maximum Massima - + High Alta - + Url seeds Url seed - + The following url seeds are available for this torrent: I seguenti url seed sono disponibili per questo torrent: - + None i.e: No error message Nessuno - + New url seed New HTTP source Nuovo url seed - + New url seed: Nuovo url seed: - + This url seed is already in the list. Questo url seed è già nella lista. @@ -3425,58 +4100,73 @@ Changelog: Hard-coded url seeds cannot be deleted. Gli url seed codificati non possono essere cancellati. + + + Priorities error + Errore di priorità + + + + Error, you can't filter all the files in a torrent. + Errore, non è possibile filtrare tutti i file in un torrent. + search_engine - + Search Ricerca Search Engines - Motori di ricerca + Motori di ricerca - + Search Pattern: Campo di ricerca: - + Stop Ferma - + Status: Stato: - + Stopped Fermato - + Results: Risultati: - + Download Download - + Clear Pulisci Update search plugin - Aggiorna plugin di ricerca + Aggiorna plugin di ricerca + + + + Search engines... + Motori di ricerca... @@ -3535,57 +4225,57 @@ Changelog: subDownloadThread - + Host is unreachable Host non raggiungibile - + File was not found (404) File non trovato (404) - + Connection was denied Connessione negata - + Url is invalid Url invalido - + Connection forbidden (403) Connessione vietata (403) - + Connection was not authorized (401) Connessione non autorizzata (401) - + Content has moved (301) Il contenuto è stato spostato (301) - + Connection failure Connessione fallita - + Connection was timed out Connessione scaduta - + Incorrect network interface Interfaccia di rete non corretta - + Unknown error Errore sconosciuto @@ -3598,17 +4288,17 @@ Changelog: Vero - + Unable to decode torrent file: Impossibile decodificare il file torrent: - + This file is either corrupted or this isn't a torrent. Questo file è corrotto o non è un torrent. - + Choose save path Scegliere una directory di salvataggio @@ -3618,52 +4308,52 @@ Changelog: Falso - + Empty save path Directory di salvataggio vuota - + Please enter a save path Inserire per favore una directory di salvataggio - + Save path creation error Errore nella creazione della directory di salvataggio - + Could not create the save path Impossibile creare la directory di salvataggio - + Invalid file selection Selezione file non valida - + You must select at least one file in the torrent Devi selezionare almeno un file nel torrent - + File name Nome del file - + Size Dimensione - + Progress Avanzamento - + Priority Priorità diff --git a/src/lang/qbittorrent_ja.qm b/src/lang/qbittorrent_ja.qm index 8cccaa85a3a4e589b01f4b18015f036e388aa70c..62a7d935243dfb4ba79ad1e831ae1643df947de9 100644 GIT binary patch delta 13370 zcma)?30zd=-pBv5?=y&qsHjH;1ynd9q7tbr;tC>&xZ}tSFfz>GECQAexum$uam%dx zsx6jF%ao>;%gxF*(`&Zed(%?urnY;_d(G_qoim4FSbBT&qu)6*=RD_m{?C7Z+IUp@ z^FO7&^j9oV?|i>=%lo~ePt4u*+Gm+WVf93mjKBPUxTbDIiu=H!M5-)s7Wf>vm?#c^ z>2ad|lfb`o#0@pU8@ehGph;si1zDeYp%zyZrsIZtwss(W^9Yj>T z3@j8`Lo|c`emma17CcJQ6R(5U0+i`Vb`=wm4JG*pa&QjGKivqfAo=&7fcr&$9H3lE zicuVqydU`#V~60wSPHOKe+^LCPh>tR zp1MP%TuzF8bHSHLapYz2l8;np@Po=ong>h4A(U_oD^M+^gmbari`8mzlyP3$O7nve*HqE&EAiiHpvy^y|=~XJ9*#KUlN-riHHi~NN9ps}h zH?3NK311weZCm9;9V*HH6kgP!k&b+f7k4;Euf@GV6mFt#p2dUV1$5^`8n{bhGF>3* z*iph{EC=%?y^@ZATO|_}eZco56XT(T5qinQi@m|IB5NemPIkxjLCMn_YJ5bUNOEXG z1UO6NE|LF|95&?^xF({pl&-MX7%95~8Rs(#W_O z;2defuhrlt>B!_B;92R&Hxr1u%$Ck@;5}VF3$SZv>B2Z)5mDDXX^n0OxL)K*=~DAZ zT>mCrR(=`g|CV&+-gV$D>9*UaiK6?8TqS)T`a;p)N{^0(y?4)*o{l&PUXq@h_!Ci& zXz7QU7`Mk9=|xK&xLx{%1!mskl=PY@o2X}=^uNA0AljadGWpbN;7M7>jtuylEc*6v zB4(hhzkCC@TbAm?3VT(^rY*tN^x7huwyi7pnQWFDE9*T#HtXxd;69m!_b0voC3C#1 zBI?si_Ru2eRG(VeS}9)G$1mF;|CT5wO5|9XFYraJY-2c960=*jl^-DXRoUK2e()FB zD+BSOzE0Ws_~qbtvg;WuiTVwaec!VmxK8%pNxQ+n$`$Y6{(is7BX&dNalPb8v5P>n zd}zik@R0oe!e~eexNTuMj0Hm-|%5!Bg^w_WToWbhvzF(SC53 zeC>1dhz3N7Oau)-ai7|C*QjlTa!3KzHj|6 zV7Yw%fG0uUCh@~jk^c-ZNhv?B#hxY&ke{}E4i?Ez*TsVM^0RM#2fiTxs2(q3wepV| zUIK^8KUoe@vvcJ)leFL(`46YCLiS}vr_pJM1AP?n`_F<`6)BHxMtF%)4B2`Q_MbdQ zkueb>Ox~o()<9IrpDHH2aGGdvg2)AmsT}Nh@DY(;2bj`XVP!`XrHoQk{Dy&2Din^R zkXXtl#e&9Xz^@c_&Uc80q$_-z=78mjW%X9@W5tT7{}QFj6{{e5AEjIKE4 zs}NvPe+_VGcabAS+C*+q?0OiwF!Y#WzYGp#SeW9)lX&5vN#l=9822y0PpJ|(k}9dvfD>)qI8+E|1qp6 zeU>u$5LTXkSUL2o$HCjmtW$p{y1!E7W6G?vkmUVmm1F(`C&7nR zgLD`;=eBCt{t_e=!&I&{N5NlI?(juKV+V>XQ+Xqo;QA4jH@O_VtXjBt1ktzz)!GlX zfe)*=pE3S8zsk2+24$G=H`SIA*NG2o|kgqdXZ;U z{@HVg@^q@#>LIDTeAW3FJePMub@kVm!CR_pGcd79gH>PGWP|mp-}b%_exU9iwVo(n zrA{!z(dF;(sR!J0;=?(0W~_r~vPYfe!-JFGQ)lyjVe(z|1V0`q7%uXvy1;-`t8jz5 z-~{%#@QAuJlILCZqAq=iri=tJktq)KgPxw?9`&*UEqF`4HDU)*QLcJx4`fh9OV!UE z!qyl0UQ)mE;vJ%?QR-t$5lp6zQ6IZ98(gP;ZS5KGAL=(UA-bve)bG5073tV`_1{m= z2N$Y;JXQz3tiH7!6Pz|qBkKtrnjWE1uEEw!_i2<{pk&j}i@c}lFnBo9xKvI2T0B4F zaZS?CM%e$1YnqhZMMN{>HR;(C!R?w+b1;FKziKkOVhd(vXvV$K8QiQXIEV*l{Zljj z3pkM3VVc=?tZeoQ&76h{;9-&92RJ82G~Vm5nmH#lwJQ!1mFP5!(-*=1OQve- zw^iYbCp9bY!=BEK(j5Ha9q@wY*#6gv%o5GtEtkL~&3E#PMDx~(d@sOKz2+xNEK%uL z&Akgtz!O@kUq@u|Xcb@G20zpqZ`Bf6_1ehfYhZ;o?yW@dG3~T}C}96(y|lCbf)|u6 z(pu6Zz|-3DdtJcq0xaL4b;m(e6$#p9_wZoFRP9Rh4e*e*!90q{maJ{uRSK49AB$cO z?$GWkN+X&drrrB0&m8T+5!mASUXf2~pMUFFTz{rLw9tncRrb;zKJ+*^O?z$qSnyfx z&5zyyf6~#O_%k%Ke@0fjq3#aO4KK+=+f8)amkzeX3YoYxQcF-40g+v~#7r9^LIsM$r z-{Jc^`UNZS+~PvLyEp-SQ(xOH5&T8JeEC_TCG+*Gs+PgLV)UCwb_MMscj~u=@5l9r z`bTVduHL8BKXnM@R{b#j{t?)t`UCps%uuTO&-90@wh%p})}J|)3l``<_zDwy=o$U_ zJ3PP9e^`Q*E=|&Z_E#C$Ao8&O%97Q%zOMf+qJd~xf&Mr4I(WdKQb2Oc)dtlmNML!M zA-ecwOl0|bL(I%e_~MKqcKz!_D>Nc=45=6I;d-56Sn_f3Yr}{ylZYPfZy1|&2Yktp z-{%C;%CUx-2V=kn!<@8tz{>^;zw%Yj7_58Jz#k121F>}t!wvSWxUXTkp{8;U_?BVu zW;g7AwZ*VZ^90fAGlsQeVc%;y8}{ivV430cnRM`J!`a(d@tXGy7q0(Iv{q;MxaShk zWB4Q-`NG;GhC2^K2P=$?r4is^<7VYz@TPHx zM^4np8h3c-6LImzr^n+tZlTei0j1_H8vXmQ(#_$rG=`SOI=zn)VM&U^{E_P5T`@V>)mEwtLLr5?^09>ZzFQ#fb%4-zTY(D5}x z%ikpt(f*u>g^~m{hAW_nlolLNUQ{qKjUUkzI%2k+JJcyTehS|0C2RA|Q(RtaJ2#he zUvwHUCc+lIxHtPTd!2oreS*EkIyTnMdp!7Tr@&kpx7F+_tzfF{UMxV6RO>fqMDFBD zJCE$Dr9s3{F4-tEIErErlWWW5c7=7v&&h3nP7e7wrR~otO+Ux0%eEEXE{qJ3gl@E> z)KypQu{j-rK$^DUvCgxzBiP+o5WlD+>>2hhdvjh`!C!)t>QLmsQaon6opF0hORetq zmR0Wmx$`5E8OkjU>@;>w@L5Hc-RTx&+G5KDwb4=znaNJ>kS$Q;nC*f4TZygQ-_T{9 z)ITCRUE&LCJ>B5zG{LF1(IVlM%0-FW=Y$AFF{Q5B8Y&Lqt~mBv2w@+4lNk0xb~pZg zi`@g!>|@WdH`vDE<(h&cY$ZEAWS!kcJIwR!R%W8J)NE(+tyUM4ZF8487g}9){8R$c z_ItWtl#B>(Rw4}j8eVlIxBx@Gpg4@%>2;L`bTObxg~Auv_HuuA&v6o;5&QHFcC5CQ zybXf98IP0kxXdAM4j8Jj?BCYsSqFQHeVTopeJ=Rc4p|k}(n_Yx>0-Rq7PH4H>~Py1 z3wz-7)Sp;KIdT7C9^rC(7x9gNWF-eaGpxmduj|+{Eb$_{3p2UNHsaGB@B|*oWtXrsS&o$k7e08j%jI+p zVCtM+rqt}{=V8ihb`Lg>S9VW@mA|yQ`5BoZQ(=;cT!**_?m+jB+zYXT26tr-LowcD zKgZjJ9RYXa#eViy@Fih|b#9NfO4t#`R?6+_*O9v#+nbAA62@isz2BEEIF`MzzE{{= zcs}T2gt2%9t!J zhttE%vobEL*^(IabJ`|93$OS<-`jqFzu%>Z=CQnc`lFe#PRuFjEx78;ZrMq(gPNRQ z%PF*YwdhE!A@6T~eK~g^AuHC19eV~lc9L~$_^sf7f@0KXSS;9vGN;{Qb@48e`ynB% zi<;ut`D`)82k%qH*G2Ubu4Hs7{ArRYj?=t$pzLbcmODo!{)AlW{WE1W@;*|Q1S|^ z&BeIPaLN3ZlvY^Xp{|I_NX+Q2r@=xTn9w3jCmUwjE~wg}rQRo^eg)DNY+orP1r~mEaGH$1IH%6)K5P-Ve(kG z3&GBVn;MqyvN>Hgj}6vnsYCxfYS zx_Gxx%I_{hmK#X|<1Ax>t7x?dn;Q<2_ab$0jY4Md2L>&X^+E76!j&Y`ur|7>8k9V& zNjW%bg@6fvj<(RtRI_Wc$z$Dof4@lnEiQWyBsQ`9)w`_sJ%75^V;%iuqfa~ox8CGGJo zliEOtR9nBy`-IYn39eC@jgX$k2r6DsSU9e#T3CdhvJf?qep7$S@zGC{QoM*M=@0vEfwq!6kenxaMKyQ~8d*O8%ltipIg za2KQ!C}#Z8_t_=BXhC~IbS5;^1!dYQaEKej57w??#;{kAb=_qzBBmb^k|ZRT6bEH= zz_Zs9vwg1^!Xo)1t8=c?V=H6ao;tY7I3%^T+~paO-L&x5-?9hT!y)ceneTGe)}?W^ z=?8r2O~T+y6T#X`nzISGhgMlW+d?6OOH1Z$&MlN)h*@GK!_-*eBD_tN0Dcf_0l|v} z);&0+XhWtdD47wKKLnAfbzD*<4@qsZeJ=L?uZQsY({*H}`yiq7kkQ1|1843KJ(iHR z1?Sf>PsnadE0G3l+{AE(5npf{M!uU9iNcIe+|RK$%V~PQ(kB=1uvUjiDt3(BIS<)+ zmATed<*i~I-l};>_2B0a*c>P{;q}~U{_&$EQVGMI+SJL%1X7UsCH21r-`)dh2;z{_ zfsrz8o~GDXW;J`fu0Y}}h96=5(L(-tmwlVfL_A#0C(qOSt&YlD(_(5dxozfTc6l;w zrF`~TjY*avF%C@*0)F2o-uIIln? zb8O+ZZVnMvHyD`kR^H~yu&@fadSu26&GyiFaE)0%`UX%ojio6V^L=dK8TNZ@!gIWO z7bvZz6p!y4+wm*C#gZv|>=edf_0%|F<#84v2D!|3+ajwaKEyVK1vBhd82S)<7en%n z^#pHGZ0ysxIKn!3g$Zs`=OQ=6CQP}^Txw<9+=(rnxt^mLf8}U}#1{k0%ZKgdVMq`Hp-cTYwH#S0i<3J;6x!3!zrzYsQaJpxtG!VY1Eb2t%&bVly+< zN>n{oR~olH$38M@(yV!5C2QgJ4&(l}*~TqvroY?5b43?=pbaodJdAY3T*g-@rErD3 z8e)fg_?=^(m&{C{Jj%c}48*E(|DP*ss$26irVPx_{lmriyN;7dd5fI&6Tl(96IG|l0f z>pb2cW6UGh7`VTep(jT}c0-qMgSs(p=vp8THBC6q-JNhfJF<o?Ndb4>-O1l0Z=O^$fPD_#gS+f4?m%v5l>?<~6#0Ly~&{QN)k54R=C4Zu|j?nndR!$#eEpE!_$Ao0b{R&b4*9{2Ci31aF%7B?NGgj1o z9`CLYj%X@D|Mu ziaJ7c58V3AUAe;Pef-Z(-y!Fg&9QKf4PCg;eR@SW?;5!ueBHRO<`iZ{G)Lm;{faNo z8C{UNH9t677cmacLmgRTvv?{PyR8Z#wS_z7Qc6DOqRlw~KpnZgW&v>(t7> z-5f71Jp&;XvgLo0`ZpGSRI*KM0!qQ5oG&z46(DKgb#I*N)b3IdU@x z`jd&=+~gj;al?p^TasXl?cC<0bo^kZ5yAC(rw6)AOu5yANY{S3;btn3V5KqXW~KrG z_x|1$9#3_en0zHJm>0}65}mH{-Xnxxlaku`y$gRsdXjkrZxbyNcK@rTLnWNo`ts<$ zA?Dep!3ml0`+qTH|9iLB*5r3PE~Htr@M^=>;F?W2LYs!EF?-N}a+GtU%j~K8CL6Y1 z35nE3u{~z7mYKcwHibCLy;zpOT`J2qwc35|vGS6HFg|#)6_Y-jIgR&CA>JuGiw}@U z^!a9md7+hiJdE*=uV|ETk@M&JQV}Ox_6|eRGkAYK6A;V{j^_wIA+2eVu=Q`7uz9O_ z!(-fbrzeoJiK$_z=?Pv|yJZbmH$NdpKY2m9hHogfNL(TcD^TK!ZJ|KcvSg&_&~WmO`FAYEx(KbqC8Gb$Gc2&imR}B6r*|gxl{7W7Ko><=xyX zLuP2qwz_RD6bwSAi~GVkcZiXS(X*Wg+1`LVYwkm>qE3>=m11qOe5^(e`(@IafD ztu3cnrozY;c~V#|8f{gG=I!*qxtaxyroXlXz48*xuNCQJZq`h>&DV6taW^o1aYaW1Tft^o9oDNgU|}CnVH`mOz!? ze)JPGE&>Hr1Q(s4k!ZQ2qq|B{xMw!^?FnhNR~mE`^KI_a&3(`!{I{h~rekqt-oxm+ zI%lLK@L4vWr7+bT>y6-EaCtfR)Nt-oPc)b9{npeffN~%Bx~n@i1xolv zf62l^i6!R$ax`s9)P%NfC8RbLD#3QV3U{Dp=Y&zbHo-Z3isax7e0ZEta?NKO@VTAx zj4hwMZd2|YnV`K;xRB&=7<$ zGKX`=7j@-cTC|QkJ8YP-k9aPM#yww-zFabpF}Cop&Bc+bNbsO({*4bjEa6r!jtL$W zuUNc`t6$>fihQh3J!w|Gf{)+9SfkGHLM2^o8(dL=lzhOkLWGn9R&cd9(Q!@CmoS-lu9l44+&7KT~^%uB~!o*P1W+ zE(TvLw9}XGU0C6);m>kxWj6G(_+BmA8g?hT7rd>vI{5SdTHjMSXcYAm(%^p3bSM0e z192zNVZkX9-;&6WVH^2_4fv-L*hM*ac}W3K4_W<~l3=5n>z{}VW<3dj^ zaJB(|($rZ&lfY{g{0ah!P?iNtjJ|w%li$)02e+eZh@Wa|%8HIphzRYqJEJFC3m)a> zZtBJTwlbcpU$wE9Jdc(R2#%>5V|7^3P~Zm;8#8`gLz#>-t+V);hi(*HT(}&ycZ|3Gvq z<`2gZkodH*q_`_LdFyUdPRl}wKXUVZjO^i<&~R#OcN<$C#tns+Xx^&k9Tfd3QZ_WX z`123mgxW8h1XqyLw5i<9ZIAl@v;B}HFKYdjjS|+8M-5N2?RV37qjb2-5K!zmb^5_r delta 8924 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 diff --git a/src/lang/qbittorrent_ja.ts b/src/lang/qbittorrent_ja.ts index 28087e67a..a06a11eac 100644 --- a/src/lang/qbittorrent_ja.ts +++ b/src/lang/qbittorrent_ja.ts @@ -156,60 +156,60 @@ Copyright © 2006 by Christophe Dumez<br> Options - オプション + オプション Main - メイン + メイン Save Path: - 保存パス: + 保存パス: Download Limit: - ダウンロード制限: + ダウンロード制限: Upload Limit: - アップロード制限: + アップロード制限: Max Connects: - 最大接続数: + 最大接続数: - + Port range: ポートの範囲: - + ... ... Disable - 無効にする + 無効にする connections - 個の接続 + 個の接続 Proxy - プロキシ + プロキシ - + Proxy Settings プロキシの設定 @@ -219,39 +219,39 @@ Copyright © 2006 by Christophe Dumez<br> サーバー IP: - + 0.0.0.0 0.0.0.0 - + Port: ポート: Proxy server requires authentication - プロキシ サーバーは認証を必要とします + プロキシ サーバーは認証を必要とします - + Authentication 認証 User Name: - ユーザー名: + ユーザー名: - + Password: パスワード: Enable connection through a proxy server - プロキシ サーバーを通じての接続を有効にする + プロキシ サーバーを通じての接続を有効にする @@ -266,45 +266,45 @@ Copyright © 2006 by Christophe Dumez<br> Scanned Dir: - スキャン済みディレクトリ: + スキャン済みディレクトリ: Enable directory scan (auto add torrent files inside) - ディレクトリ スキャンを有効にする (torrent ファイル内部の自動追加) + ディレクトリ スキャンを有効にする (torrent ファイル内部の自動追加) Share ratio: - 共有率: + 共有率: - + Activate IP Filtering IP フィルタをアクティブにする - + Filter Settings フィルタの設定 - + Start IP 開始 IP - + End IP 最終 IP - + Origin オリジン - + Comment コメント @@ -314,154 +314,154 @@ Copyright © 2006 by Christophe Dumez<br> 適用 - + IP Filter - IP フィルタ + IP フィルタ - + Add Range (sp)範囲の追加 - + Remove Range (sp)範囲の削除 ipfilter.dat Path: - ipfilter.dat のパス: + ipfilter.dat のパス: Go to systray when minimizing window - ウィンドウの最小化時にシステムトレイへ移動する + ウィンドウの最小化時にシステムトレイへ移動する - + Misc - その他 + Localization - 地方化 + 地方化 - + Language: 言語: Behaviour - 動作 + 動作 - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL =(sp) + 1 KiB DL =(sp) KiB UP max. - KiB UP 最大。 + KiB UP 最大。 - + Preview program プログラムのプレビュー Audio/Video player: - オーディオ/ビデオ プレーヤー: + オーディオ/ビデオ プレーヤー: Always display systray messages - 常にシステムトレイ メッセージを表示する + 常にシステムトレイ メッセージを表示する Display systray messages only when window is hidden - ウィンドウが隠れたときのみシステムトレイ メッセージを表示する + ウィンドウが隠れたときのみシステムトレイ メッセージを表示する Never display systray messages - システムトレイ メッセージを表示しない + システムトレイ メッセージを表示しない DHT configuration - DHT 構成 + DHT 構成 DHT port: - DHT ポート: + DHT ポート: Language - 言語 + 言語 - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>注意:</b> 変更は qBittorrent が再起動された後に適用されます。 <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>翻訳の注意:</b> qBittorrent がお使いの言語で利用できない場合、<br/>そして母国語に翻訳したい場合は、<br/>ご連絡ください (chris@qbittorrent.org)。 + <b>翻訳の注意:</b> qBittorrent がお使いの言語で利用できない場合、<br/>そして母国語に翻訳したい場合は、<br/>ご連絡ください (chris@qbittorrent.org)。 Display a torrent addition dialog everytime I add a torrent - Torrent を追加するごとに torrent の追加ダイアログを表示する + Torrent を追加するごとに torrent の追加ダイアログを表示する Default save path - 既定の保存パス + 既定の保存パス Disable DHT (Trackerless) - DHT (トラッカレス) を無効にする + DHT (トラッカレス) を無効にする Disable Peer eXchange (PeX) - eer eXchange (PeX) を無効にする + eer eXchange (PeX) を無効にする Go to systray when closing main window - メイン ウィンドウが閉じられるときにシステムトレイへ移動する + メイン ウィンドウが閉じられるときにシステムトレイへ移動する - + Connection 接続 Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) DHT (trackerless) - DHT (トラッカレス) + DHT (トラッカレス) @@ -486,138 +486,417 @@ Copyright © 2006 by Christophe Dumez<br> Torrent addition - Torrent の追加 + Torrent の追加 Main window - メイン ウィンドウ + メイン ウィンドウ Systray messages - システムトレイ メッセージ + システムトレイ メッセージ Directory scan - ディレクトリ スキャン + ディレクトリ スキャン Style (Look 'n Feel) - スタイル (外観) + スタイル (外観) - + Plastique style (KDE like) プラスチック スタイル (KDE 風) Cleanlooks style (GNOME like) - クリアルック スタイル (GNOME 風) + クリアルック スタイル (GNOME 風) Motif style (default Qt style on Unix systems) - Motif スタイル (既定の Unix システムでの Qt スタイル) + Motif スタイル (既定の Unix システムでの Qt スタイル) - + CDE style (Common Desktop Environment like) CDE スタイル (Common Desktop Environment 風) MacOS style (MacOSX only) - MacOS スタイル (MacOSX のみ) + MacOS スタイル (MacOSX のみ) Exit confirmation when the download list is not empty - ダウンロードの一覧が空ではないときに終了を確認する + ダウンロードの一覧が空ではないときに終了を確認する Disable systray integration - システムトレイ統合を無効にする + システムトレイ統合を無効にする WindowsXP style (Windows XP only) - WindowsXP スタイル (Windows XP のみ) + WindowsXP スタイル (Windows XP のみ) Server IP or url: - サーバーの IP または url: + サーバーの IP または url: Proxy type: - プロキシの種類: + プロキシの種類: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections 影響された接続 - + Use proxy for connections to trackers トラッカへの接続にプロキシを使用する - + Use proxy for connections to regular peers 通常のピアへの接続にプロキシを使用する - + Use proxy for connections to web seeds Web シードへの接続にプロキシを使用する - + Use proxy for DHT messages DHT メッセージへの接続にプロキシを使用する Encryption - 暗号化 + 暗号化 Encryption state: - 暗号化の状況: + 暗号化の状況: - + Enabled 有効 - + Forced 強制済み - + Disabled 無効 + + + Preferences + 環境設定 + + + + General + 一般 + + + + User interface settings + ユーザー インターフェイスの設定 + + + + Visual style: + 視覚スタイル: + + + + Cleanlooks style (Gnome like) + クリーンルック スタイル (Gnome 風) + + + + Motif style (Unix like) + モチーフ スタイル (Unix 風) + + + + Ask for confirmation on exit when download list is not empty + ダウンロードの一覧が空ではないときの終了時の確認を質問する + + + + Display current speed in title bar + タイトル バーに現在の速度を表示する + + + + System tray icon + システム トレイ アイコン + + + + Disable system tray icon + システム トレイ アイコンを無効にする + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + トレイへ閉じる + + + + Minimize to tray + トレイへ最小化する + + + + Show notification balloons in tray + トレイに通知バルーンを表示する + + + + Media player: + メディア プレーヤー: + + + + Downloads + ダウンロード + + + + Put downloads in this folder: + このフォルダにダウンロードを置く: + + + + Pre-allocate all files + すべてのファイルを前割り当てする + + + + When adding a torrent + Torrent の追加時 + + + + Display torrent content and some options + Torrent の内容といくつかのオプションを表示する + + + + Do not start download automatically + The torrent will be added to download list in pause state + 自動的にダウンロードを開始しない + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + フォルダの監視 + + + + Automatically download torrents present in this folder: + このフォルダに torrent プリセットを自動的にダウンロードする: + + + + Listening port + 傾聴するポート + + + + to + i.e: 1200 to 1300 + から + + + + Enable UPnP port mapping + UPnP ポート マップを有効にする + + + + Enable NAT-PMP port mapping + NAT-PMP ポート マップを有効にする + + + + Global bandwidth limiting + グローバル大域幅制限 + + + + Upload: + アップロード: + + + + Download: + ダウンロード: + + + + Type: + 種類: + + + + (None) + (なし) + + + + Proxy: + プロキシ: + + + + Username: + ユーザー名: + + + + Bittorrent + Bittorrent + + + + Connections limit + 接続制限 + + + + Global maximum number of connections: + グローバル最大接続数: + + + + Maximum number of connections per torrent: + Torrent あたりの最大接続数: + + + + Maximum number of upload slots per torrent: + Torrent あたりの最大アップロード スロット数: + + + + Additional Bittorrent features + Bittorrent の追加機能 + + + + Enable DHT network (decentralized) + DHT ネットワーク (分散) を有効にする + + + + Enable Peer eXchange (PeX) + Peer eXchange (PeX) を有効にする + + + + Enable Local Peer Discovery + ローカル ピア ディスカバリを有効にする + + + + Encryption: + 暗号化: + + + + Share ratio settings + 共有率の設定 + + + + Desired ratio: + 希望率: + + + + Filter file path: + フィルタのファイル パス: + + + + transfer lists refresh interval: + 転送の一覧の更新の間隔: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + RSS フィードの更新の間隔: + + + + minutes + + + + + Maximum number of articles per feed: + フィードあたりの最大記事数: + + + + File system + ファイル システム + + + + Remove finished torrents when their ratio reaches: + 率の達成時に完了済み torrent を削除する: + + + + System default + システム既定 + DownloadingTorrents @@ -625,115 +904,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - 名前 + 名前 Size i.e: file size - サイズ + サイズ Progress i.e: % downloaded - 進行状況 + 進行状況 DL Speed i.e: Download speed - DL 速度 + DL 速度 UP Speed i.e: Upload speed - UP 速度 + UP 速度 Seeds/Leechs i.e: full/partial sources - 速度/リーチ + 速度/リーチ Ratio - + ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 が開始されました。 + qBittorrent %1 が開始されました。 Be careful, sharing copyrighted material without permission is against the law. - ご用心ください、許可なしの著作権のある材料の共有は法律に違反しています。 + ご用心ください、許可なしの著作権のある材料の共有は法律に違反しています。 <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>はブロックされました</i> + <font color='red'>%1</font> <i>はブロックされました</i> - + Fast resume data was rejected for torrent %1, checking again... - 高速再開データは torrent %1 を拒絶しました、再びチェックしています... + 高速再開データは torrent %1 を拒絶しました、再びチェックしています... - + Url seed lookup failed for url: %1, message: %2 - 次の url の url シードの参照に失敗しました: %1、メッセージ: %2 + 次の url の url シードの参照に失敗しました: %1、メッセージ: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' がダウンロードの一覧に追加されました。 + '%1' がダウンロードの一覧に追加されました。 - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' が再開されました。 (高速再開) + '%1' が再開されました。 (高速再開) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' はすでにダウンロードの一覧にあります。 + '%1' はすでにダウンロードの一覧にあります。 - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Torrent ファイルをデコードすることができません: '%1' + Torrent ファイルをデコードすることができません: '%1' - + This file is either corrupted or this isn't a torrent. - このファイルは壊れているかこれは torrent ではないかのどちらかです。 + このファイルは壊れているかこれは torrent ではないかのどちらかです。 - + Couldn't listen on any of the given ports. - 所定のポートで記入できませんでした。 + 所定のポートで記入できませんでした。 - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - '%1' をダウンロードしています、お待ちください... + '%1' をダウンロードしています、お待ちください... @@ -819,7 +1098,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Torrent ファイルを開く @@ -829,17 +1108,17 @@ Copyright © 2006 by Christophe Dumez<br> このファイルは壊れているかこれは torrent ではないかのどちらかです。 - + &Yes はい(&Y) - + &No いいえ(&N) - + Are you sure you want to delete the selected item(s) in download list? ダウンロードの一覧にある選択されたアイテムを削除してもよろしいですか? @@ -854,12 +1133,12 @@ Copyright © 2006 by Christophe Dumez<br> ダウンロードしています.... - + Torrent Files Torrent ファイル - + Are you sure? -- qBittorrent よろしいですか? -- qBittorrent @@ -879,19 +1158,19 @@ Copyright © 2006 by Christophe Dumez<br> 一時停止済み - + Preview process already running プレビュー処理はすでに起動中です - + There is already another preview process running. Please close the other one first. すでに別のプレビュー処理が起動中です。 まず他の 1 つを閉じてください。 - + Download finished ダウンロードが完了しました @@ -907,17 +1186,17 @@ Please close the other one first. qBittorrent %1 - + Connection status: 接続状態: - + Offline オフライン - + No peers found... ピアが見つかりません... @@ -970,18 +1249,18 @@ Please close the other one first. qBittorrent %1 が開始されました。 - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL 速度: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UP 速度: %1 KiB/s @@ -999,12 +1278,12 @@ Please close the other one first. 失速しました - + Are you sure you want to quit? 終了してもよろしいですか? - + '%1' was removed. 'xxx.avi' was removed. '%1' は削除されました。 @@ -1040,12 +1319,12 @@ Please close the other one first. なし - + All downloads were paused. すべてのダウンロードが一時停止されました。 - + '%1' paused. xxx.avi paused. '%1' が停止されました。 @@ -1057,52 +1336,52 @@ Please close the other one first. 接続しています... - + All downloads were resumed. すべてのダウンロードが再開されました。 - + '%1' resumed. e.g: xxx.avi resumed. '%1' が再開されました。 - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 はダウンロードが完了しました。 - + I/O Error i.e: Input/Output Error I/O エラー - + 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 %1 の読み込みまたは書き込みを試行にエラーが発生しました。ディスクはおそらくいっぱいです、ダウンロードは一時停止されました - + Connection Status: 接続状態: - + Online オンライン - + Firewalled? i.e: Behind a firewall/router? ファイアウォールされましたか? - + No incoming connections... 次期接続がありません... @@ -1113,18 +1392,18 @@ Please close the other one first. '%1' をダウンロードしています、お待ちください... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. エラーが発生しました (ディスクいっぱい?)、'%1' が停止されました。 - + Search 検索 - + RSS RSS @@ -1139,18 +1418,18 @@ Please close the other one first. UPnP: WAN が検出されました! - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent は次のポートに拘束されています: %1 - + DHT support [ON], port: %1 DHT サポート [オン]、ポート: %1 - + DHT support [OFF] DHT サポート [オフ] @@ -1160,34 +1439,34 @@ Please close the other one first. UPnP サポート [オン]、ポート: %1 - + UPnP support [OFF] - UPnP サポート [オフ] + UPnP サポート [オフ] - + PeX support [ON] PeX サポート [オン] - + PeX support [OFF] PeX サポート [オフ] - + The download list is not empty. Are you sure you want to quit qBittorrent? ダウンロードの一覧は空ではありません。 qBittorrent を終了してもよろしいですか? - + Downloads ダウンロード - + Finished 完了しました @@ -1197,12 +1476,12 @@ qBittorrent を終了してもよろしいですか? 完了済みの一覧およびハード ドライブにある選択されたアイテムを削除してもよろしいですか? - + Are you sure you want to delete the selected item(s) in finished list? ダウンロードの一覧にある選択されたアイテムを削除してもよろしいですか? - + UPnP support [ON] UPnP サポート [オン] @@ -1212,17 +1491,17 @@ qBittorrent を終了してもよろしいですか? ご用心ください、許可なしの著作権のある材料の共有は法律に違反しています。 - + Encryption support [ON] 暗号化サポート [オン] - + Encryption support [FORCED] 暗号化サポート [強制済み] - + Encryption support [OFF] 暗号化サポート [オフ] @@ -1238,13 +1517,13 @@ qBittorrent を終了してもよろしいですか? - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1256,18 +1535,18 @@ qBittorrent を終了してもよろしいですか? Alt+3、Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Url のダウンロード エラー - + Couldn't download file at url: %1, reason: %2. 次の url にあるファイルをダウンロードできませんでした: %1、理由: %2。 @@ -1277,17 +1556,17 @@ qBittorrent を終了してもよろしいですか? 高速再開データは torrent %1 を拒絶しました、再びチェックしています... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? ダウンロードの一覧とハード ドライブから選択されたアイテムを削除してもよろしいですか? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? 完了済みの一覧とハード ドライブから選択されたアイテムを削除してもよろしいですか? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' は永久に削除されました。 @@ -1298,16 +1577,48 @@ qBittorrent を終了してもよろしいですか? 次の url の url シードの参照に失敗しました: %1、メッセージ: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' はその率が設定した最大値を達成したので削除されました。 + + + + NAT-PMP support [ON] + NAT-PMP サポート [オン] + + + + NAT-PMP support [OFF] + NAT-PMP サポート [オフ] + + + + Local Peer Discovery [ON] + ローカル ピア ディスカバリ [オン] + + + + Local Peer Discovery support [OFF] + ローカル ピア ディスカバリ [オフ] + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s、UP: %3KiB/s) @@ -1501,24 +1812,24 @@ qBittorrent を終了してもよろしいですか? True - + Ignored 無視済み - + Normal Normal (priority) 通常 - + High High (priority) - + Maximum Maximum (priority) 最大 @@ -1532,7 +1843,7 @@ qBittorrent を終了してもよろしいですか? 検索 - + RSS streams: RSS ストリーム: @@ -1542,17 +1853,17 @@ qBittorrent を終了してもよろしいですか? ニュース: - + Delete 削除 - + Rename 名前の変更 - + Refresh 更新 @@ -1567,60 +1878,65 @@ qBittorrent を終了してもよろしいですか? RSS ストリーム : - + Delete selected streams 選択されたストリームを削除します - + Refresh RSS streams RSS ストリームの更新 - + Add a new RSS stream 新しい RSS ストリームを追加します - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>ニュース:</b> <i>(お使いの web ブラウザでリンクを開くにはダブルクリックします)</i> - + Add RSS stream RSS ストリームの追加 - + Refresh all streams すべてのストリームの更新 - + 2 2 + + + Mark all as read + すべてを既読にする + RSSImp - + Please type a rss stream url rss ストリームの url を入力してください - + Stream URL: ストリームの URL: - + Please choose a new name for this stream このストリームの新しい名前を選択してください - + New stream name: 新しいストリーム名: @@ -1630,7 +1946,7 @@ qBittorrent を終了してもよろしいですか? 利用可能な説明がありません - + Are you sure? -- qBittorrent よろしいですか? -- qBittorrent @@ -1640,12 +1956,12 @@ qBittorrent を終了してもよろしいですか? 一覧からこのストリームを削除してもよろしいですか ? - + &Yes はい(&Y) - + &No いいえ(&N) @@ -1655,40 +1971,50 @@ qBittorrent を終了してもよろしいですか? 更新なし - + Are you sure you want to delete this stream from the list? 一覧からこのストリームを削除してもよろしいですか ? - + Description: 説明: - + url: url: - + Last refresh: 最後の更新: - + qBittorrent qBittorrent - + This rss feed is already in the list. この rss フィードはすでに一覧にあります。 + + + Date: + 日付: + + + + Author: + 作者: + RssItem - + No description available 説明が利用できません @@ -1696,13 +2022,13 @@ qBittorrent を終了してもよろしいですか? RssStream - + %1 ago 10min ago %1 前 - + Never しない @@ -1710,68 +2036,68 @@ qBittorrent を終了してもよろしいですか? SearchEngine - + Name i.e: file name 名前 - + Size i.e: file size サイズ - + Seeders i.e: Number of full sources シーダ - + Leechers i.e: Number of partial sources リーチャ - + Search engine 検索エンジン - + Empty search pattern 検索パターンを空にする - + Please type a search pattern first まず検索パターンを入力してください No search engine selected - 検索エンジンが選択されていません + 検索エンジンが選択されていません You must select at least one search engine. - 少なくとも 1 つの検索エンジンを選択する必要があります。 + 少なくとも 1 つの検索エンジンを選択する必要があります。 - + Results 結果 - + Searching... 検索しています... Search plugin update -- qBittorrent - 検索プラグイン更新 -- qBittorrent + 検索プラグイン更新 -- qBittorrent @@ -1779,7 +2105,7 @@ qBittorrent を終了してもよろしいですか? Changelog: - 検索プラグインは更新できます、更新しますか? + 検索プラグインは更新できます、更新しますか? 変更ログ: @@ -1787,60 +2113,60 @@ Changelog: &Yes - はい(&Y) + はい(&Y) &No - いいえ(&N) + いいえ(&N) Search plugin update - 検索プラグイン更新 + 検索プラグイン更新 qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - すみません、更新サーバーが一時的に利用不可能です。 + すみません、更新サーバーが一時的に利用不可能です。 Your search plugin is already up to date. - お使いの検索プラグインはすでに最新です。 + お使いの検索プラグインはすでに最新です。 - + Search Engine 検索エンジン - + Search has finished 検索は完了しました - + An error occured during search... 検索中にエラーが発生しました... - + Search aborted 検索が中止されました - + Search returned no results 検索結果がありません - + Results i.e: Search results 結果 @@ -1848,12 +2174,17 @@ Changelog: Search plugin download error - 検索プラグインのダウンロード エラー + 検索プラグインのダウンロード エラー Couldn't download search plugin update at url: %1, reason: %2. - 次の url にある検索プラグインの更新をダウンロードできませんでした: %1、理由: %2。 + 次の url にある検索プラグインの更新をダウンロードできませんでした: %1、理由: %2。 + + + + Unknown + 不明 @@ -1935,17 +2266,17 @@ Changelog: Torrent の追加ダイアログ - + Save path: 保存パス: - + ... ... - + Torrent content: Torrent の内容: @@ -1965,22 +2296,22 @@ Changelog: 選択済み - + Download in correct order (slower but good for previewing) 正しい順にダウンロードする (より遅いがプレビューにはふさわしい) - + Add to download list in paused state 一時停止済み状態でダウンロードの一覧に追加する - + Add 追加 - + Cancel キャンセル @@ -1995,22 +2326,22 @@ Changelog: 選択 - + Ignored 無視済み - + Normal 通常 - + High - + Maximum 最大 @@ -2076,15 +2407,15 @@ Changelog: ... - ... + ... Create - 作成 + 作成 - + Cancel キャンセル @@ -2119,17 +2450,17 @@ Changelog: <center>コメント:</center> - + Torrent file creation Torrent ファイルの作成 Input files or directories: - ファイルまたはディレクトリの入力: + ファイルまたはディレクトリの入力: - + Announce urls (trackers): アナウンス url (トラッカ): @@ -2139,35 +2470,110 @@ Changelog: URL シード (オプション): - + Comment (optional): コメント (オプション): Private (won't be distributed on trackerless network / DHT if enabled) - 非公開 (トラッカレス ネットワーク上に配布されません / 有効なら DHT) + 非公開 (トラッカレス ネットワーク上に配布されません / 有効なら DHT) Destination torrent file: - Torrent ファイルの作成先: + Torrent ファイルの作成先: - + Web seeds urls (optional): Web シードの url (オプション): + + + File or folder to add to the torrent: + Torrent に追加するファイルまたはフォルダ: + + + + Add a file + ファイルの追加 + + + + Add a folder + フォルダの追加 + + + + Piece size: + 一片のサイズ: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + プライベート (有効なら DHT ネットワークで再配布されます) + + + + Start seeding after creation + 作成後にシードを開始する + + + + Create and save... + 作成と保存... + createtorrent - + Select destination torrent file 作成先の torrent ファイルを選択します - + Torrent Files Torrent ファイル @@ -2179,20 +2585,20 @@ Changelog: No destination path set - 作成先のパスが設定されていません + 作成先のパスが設定されていません Please type a destination path first - まず保存先のパスを入力してくださいい + まず保存先のパスを入力してくださいい - + No input path set 入力パスが設定されていません - + Please type an input path first まず入力パスを入力してください @@ -2202,12 +2608,12 @@ Changelog: 入力パスが存在しません - + Torrent creation Torrent の作成 - + Torrent was created successfully: Torrent の作成に成功しました: @@ -2222,17 +2628,17 @@ Changelog: Torrent の作成に成功しました、理由: %1 - + Select a folder to add to the torrent Torrent に追加するフォルダを選択します Select files to add to the torrent - Torrent に追加するファイルを選択します + Torrent に追加するファイルを選択します - + Please type an announce URL アナウンス URL を入力してください @@ -2252,26 +2658,41 @@ Changelog: URL シード: - + Torrent creation was unsuccessful, reason: %1 Torrent の作成に成功しませんでした、理由: %1 - + Announce URL: Tracker URL アナウンス URL: - + Please type a web seed url Web シード の url を入力してください - + Web seed URL: Web シード の URL: + + + Select a file to add to the torrent + Torrent に追加するファイルを選択します + + + + No tracker path set + トラッカ パスが設定されてません + + + + Please set at least one tracker + 少なくとも 1 つのトラッカを設定してください + downloadFromURL @@ -2316,147 +2737,362 @@ Changelog: Search - 検索 + 検索 Total DL Speed: - 全体の DL 速度: + 全体の DL 速度: KiB/s - KiB/s + KiB/s Session ratio: - セッション率: + セッション率: Total UP Speed: - 全体の UP 速度: + 全体の UP 速度: Log - ログ + ログ IP filter - IP フィルタ + IP フィルタ Start - 開始 + 開始 Pause - 一時停止 + 一時停止 Delete - 削除 + 削除 Clear - クリア + クリア Preview file - ファイルのプレビュー + ファイルのプレビュー Set upload limit - アップロード制限の設定 + アップロード制限の設定 Set download limit - ダウンロード制限の設定 + ダウンロード制限の設定 Delete Permanently - 永久に削除 + 永久に削除 Torrent Properties - Torrent のプロパティ + Torrent のプロパティ + + + + engineSelect + + + Search plugins + 検索プラグイン + + + + Installed search engines: + インストールされている検索エンジン: + + + + Name + 名前 + + + + Url + Url + + + + Enabled + 有効 + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + ここで新しい検索エンジン プラグインを取得できます: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + 新しいもののインストール + + + + Check for updates + 更新のチェック + + + + Close + 閉じる + + + + Enable + 有効にする + + + + Disable + 無効にする + + + + Uninstall + アンインストール + + + + engineSelectDlg + + + True + True + + + + False + False + + + + Uninstall warning + アンインストールの警告 + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + 検索プラグインは qBittorrent に含まれているのでアンインストールできません。 + あなた自身で追加されたもののみアンインストールできます。 +しかし、それらのプラグインは無効になります。 + + + + Uninstall success + アンインストール成功 + + + + All selected plugins were uninstalled successfuly + すべての選択されたプラグインのアンインストールに成功しました + + + + Select search plugins + 検索プラグインの選択 + + + + qBittorrent search plugins + qBittorrent 検索プラグイン + + + + Search plugin install + 検索プラグインのインストール + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + %1 検索エンジン プラグインのより最近のバージョンはすでにインストールされています。 + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + %1 検索エンジン プラグインの更新に成功しました。 + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + %1 検索エンジン プラグインのインストールに成功しました。 + + + + Search plugin update + 検索プラグインの更新 + + + + Sorry, update server is temporarily unavailable. + すみません、更新サーバーが一時的に利用不可です。 + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + %1 検索プラグインの更新に成功しました。 + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + すみません、%1 検索プラグインの更新に失敗しました。 + + + + All your plugins are already up to date. + すべてのお使いのプラグインはすでに最新です。 + + + + All selected plugins were uninstalled successfully + すべての選択されたプラグインのアンインストールに成功しました + + + + Search engine plugin archive could not be read. + 検索エンジン プラグイン アーカイブは読み込めませんでした。 + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1 検索エンジン プラグインはインストールできませんでした。 + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 検索エンジン プラグインは更新できませんでした、古いバージョンを保持します。 + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1 検索エンジン プラグインの更新に成功しました。 + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1 検索エンジン プラグインのインストールに成功しました。 + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + すみません、%1 検索エンジン プラグインのインストールに失敗しました。 + + + + New search engine plugin URL + 新しい検索エンジン プラグインの URL + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB - + Unknown 不明 - + Unknown Unknown (size) 不明 - + < 1m < 1 minute < 1 分 - + %1m e.g: 10minutes %1 分 - + %1h%2m e.g: 3hours 5minutes %1 時間 %2 分 - + %1d%2h%3m e.g: 2days 10hours 2minutes %1 日 %2 時間 %3 分 @@ -2465,32 +3101,32 @@ Changelog: options_imp - + Range Start IP 範囲の開始 IP - + Start IP: 開始 IP: - + Range End IP 範囲の最終 IP - + End IP: 最終 IP: - + IP Range Comment IP 範囲のコメント - + Comment: コメント: @@ -2498,55 +3134,78 @@ Changelog: to <min port> to <max port> - から + から - + Choose your favourite preview program お気に入りのプレビュー プログラムを選択します - + Invalid IP 不正な IP - + This IP is invalid. この IP は不正です。 - + Options were saved successfully. オプションの保存に成功しました。 - + Choose scan directory スキャンするディレクトリを選択します - + Choose an ipfilter.dat file ipfilter.dat ファイルを選択します - + Choose a save directory 保存ディレクトリを選択します - + I/O Error Input/Output Error I/O エラー - + Couldn't open %1 in read mode. 読み込みモードで %1 を開くことができませんでした。 + + pluginSourceDlg + + + Plugin source + プラグイン ソース + + + + Search plugin source: + 検索エンジン ソース: + + + + Local file + ローカル ファイル + + + + Web link + Web リンク + + preview @@ -2616,22 +3275,22 @@ Changelog: ファイル名 - + OK OK - + Unknown 不明 - + Files contained in current torrent: 現在の torrent に含まれているファイル: - + Size サイズ @@ -2656,117 +3315,117 @@ Changelog: どのファイルを現在の torrent にダウンロードしたいかを正確にここで選択できます。 - + Tracker トラッカ - + Trackers: トラッカ: - + None - Unreachable? なし - アンリーチ可能ですか? - + Errors: エラー: - + Progress 進行状況 - + Main infos メイン情報 - + Current tracker: 現在のトラッカ: - + Total uploaded: 全体のアップロード済み: - + Total downloaded: 現在のダウンロード済み: - + Total failed: 現在の失敗済み: - + Torrent content Torrent の内容 - + Download in correct order (slower but good for previewing) 正しい順にダウンロードする (より遅いがプレビューにはふさわしい) - + Save path: 保存パス: - + Torrent infos Torrent 情報 - + Creator: 作成者: - + Torrent hash: Torrent ハッシュ: - + Comment: コメント: - + Current session 現在のセッション - + Share ratio: 共有率: - + Trackers トラッカ - + New tracker 新しいトラッカ - + New tracker url: 新しいトラッカの url: - + Priorities: 優先度: @@ -2776,77 +3435,77 @@ Changelog: 無視済み: ファイルはとにかくダウンロードされません - + Normal: normal priority. Download order is dependent on availability 通常: 通常の優先度です。ダウンロードの順序は利用性に依存します - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability 高: 通常より高い優先度です。部分は同じ利用性での部分を超えて優先されますが、より低い利用性での部分は超えません - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority 最大: 最大の優先度です、利用性は無視され、部分はすべてのより低い優先度でのその他の部分を超えて優先されます - + File name ファイル名 - + Priority 優先度 - + qBittorrent qBittorrent - + Trackers list can't be empty. トラッカの一覧を空にできません。 - + Ignored: file is not downloaded at all 無視済み: ファイルは全くダウンロードされませんでした - + Ignored 無視済み - + Normal 通常 - + Maximum 最大 - + High - + Url seeds Url シード - + New url seed: 新しい url シード: - + This url seed is already in the list. この url シードはすでに一覧にあります。 @@ -2856,74 +3515,89 @@ Changelog: ハードコードされた url シードが削除できません。 - + None i.e: No error message なし - + New url seed New HTTP source 新しい url シード - + The following url seeds are available for this torrent: 以下の url シードはこの torrent に利用可能です: + + + Priorities error + 優先度エラー + + + + Error, you can't filter all the files in a torrent. + エラーです、torrent のすべてのファイルをフィルタできません。 + search_engine - + Search 検索 Search Engines - 検索エンジン + 検索エンジン - + Search Pattern: 検索パターン: - + Stop 停止 - + Status: 状態: - + Stopped 停止されました - + Results: 結果: - + Download ダウンロード - + Clear クリア Update search plugin - 検索プラグインの更新 + 検索プラグインの更新 + + + + Search engines... + 検索エンジン... @@ -2982,57 +3656,57 @@ Changelog: subDownloadThread - + Host is unreachable ホストは達成できません - + File was not found (404) ファイルは見つかりませんでした (404) - + Connection was denied 接続は拒否されました - + Url is invalid Url は不正です - + Connection forbidden (403) 接続が禁止されました (403) - + Connection was not authorized (401) 接続は権限を許可されませんでした (401) - + Content has moved (301) 内容は移動しました (301) - + Connection failure 接続失敗 - + Connection was timed out 接続はタイムアウトしました - + Incorrect network interface 不正確なネットワーク インターフェイスです - + Unknown error 不明なエラーです @@ -3045,17 +3719,17 @@ Changelog: True - + Unable to decode torrent file: Torrent ファイルをデコードすることができません: - + This file is either corrupted or this isn't a torrent. このファイルは壊れているかこれは torrent ではないかのどちらかです。 - + Choose save path 保存パスの選択 @@ -3065,52 +3739,52 @@ Changelog: False - + Empty save path 空の保存パス - + Please enter a save path 保存パスを入力してください - + Save path creation error 保存パスの作成エラー - + Could not create the save path 保存パスを作成できませんでした - + Invalid file selection 不正なファイル選択 - + You must select at least one file in the torrent Torrent では少なくとも 1 つのファイルを選択する必要があります - + File name ファイル名 - + Size サイズ - + Progress 進行状況 - + Priority 優先度 diff --git a/src/lang/qbittorrent_ko.qm b/src/lang/qbittorrent_ko.qm index dc047dc00c3703a7a56dda6af6f96b3b72242a2c..8ed066c8d169184dbef1976459ea7c3f1c132baf 100644 GIT binary patch delta 13700 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 PQ60E*pU9Q6%OU @default - + MB MB @@ -26,7 +26,7 @@ 저자 - + qBitorrent Author 큐비토런트 제작자 @@ -61,7 +61,7 @@ 프랑스 - + Thanks To 도와주신 분들 @@ -81,7 +81,7 @@ <h3><b>큐비토런트</b></h3> - + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> @@ -92,7 +92,7 @@ Copyright © 2006 by Christophe Dumez<br> <br> <u>Home Page:</u> <i>http://qbittorrent.sourceforge.net</i><br> - + qBittorrent Author 큐비토런트 제작자 @@ -184,72 +184,72 @@ Copyright © 2006 by Christophe Dumez<br> 큐비토런트 - + Options - 환경설정 + 환경설정 - + Main - 주요설정 + 주요설정 - + Scanned Dir: - 스캔된 폴더: + 스캔된 폴더: - + ... ... - + Save Path: - 저장폴더 저장: + 저장폴더 저장: - + Download Limit: - 다운로드 속도 제한: + 다운로드 속도 제한: - + Upload Limit: - 업로드 속도 제한: + 업로드 속도 제한: - + Max Connects: - 최대 동시 연결: + 최대 동시 연결: - + Port range: 포트 영역: - + Kb/s Kb/s - + Disable - 사용하지 않기 + 사용하지 않기 - + connections - 연결 + 연결 - + to 연결 대상 - + Enable directory scan (auto add torrent files inside) 자동 자료목록 @@ -257,477 +257,756 @@ inside) 것입니다.) - + Proxy - 프록시 + 프록시 - + Enable connection through a proxy server - 프록시 서버를 통해 연결하기 + 프록시 서버를 통해 연결하기 - + Proxy Settings 프록시 설정 - + Server IP: 서버 주소: - + 0.0.0.0 0.0.0.0 - + Port: 포트: - + Proxy server requires authentication - 프록시 서버를 사용하기 위해서는 인증확인이 필요합니다 + 프록시 서버를 사용하기 위해서는 인증확인이 필요합니다 - + Authentication 인증 - + User Name: - 아이디: + 아이디: - + Password: 비밀번호: - + Language - 언어 + 언어 - + Please choose your preferred language in the following list: 사용할 언어를 선택하세요 - + Language settings will take effect after restart. 언어설정 변경 사항은 프로그램 재시작 시 적용 될것입니다. - + OK 확인 - + Cancel 취소 - + Enable directory scan (auto add torrent files inside) - 자동으로 목록 스캔하기(자동적으로 토렌트 파일 추가하기) + 자동으로 목록 스캔하기(자동적으로 토렌트 파일 추가하기) - + Please choose your preferred language in the following list: 사용할 언어를 선택하세요 : - + Connection Settings 연결설정 - + Share ratio: - 공유비율: + 공유비율: - + KB UP max. KB 최고 업로딩 속도. - + Activate IP Filtering IP 필터링 사용 - + Filter Settings 필터 설정 - + ipfilter.dat URL or PATH: ipfilter.dat 웹주소 또는 경로: - + Start IP 시작 IP - + End IP 끝 IP - + Origin 출처 - + Comment 설명 - + Apply 적용 - + IP Filter - IP 필터 + IP 필터 - + Add Range 범위 확장 - + Remove Range 범위 축소 - + ipfilter.dat Path: - ipfilter.dat 경로: + ipfilter.dat 경로: - + Clear finished downloads on exit 종료시 완료된 파일목록 삭제 - + Ask for confirmation on exit 종료시 확인 - + Go to systray when minimizing window - 최소화시 시스템 트레이에 아이콘 표시 + 최소화시 시스템 트레이에 아이콘 표시 - + Misc 기타 - + Localization - 변환 + 변환 - + Language: 언어: - + Behaviour - 동작 + 동작 - + OSD OSD(On Screen Display) - + Always display OSD OSD 항시 표시 - + Display OSD only if window is minimized or iconified 창이 최소화할때나 작업창 아이콘이 될때만 OSD 표시 - + Never display OSD OSD 표시하지 않기 - + 1 KiB DL = - 1 KiB 다운로드 = + 1 KiB 다운로드 = - + KiB UP max. - KIB 최대 업로드. + KIB 최대 업로드. - + DHT (Trackerless): DHT(트렉커 없음): - + Disable DHT (Trackerless) support DHT(트렉커 없음) 사용하지 않기 - + Automatically clear finished downloads 완료된 목록 자동으로 지우기 - + Preview program 미리보기 프로그램 - + Audio/Video player: - 음악 및 영상 재생기: + 음악 및 영상 재생기: - + KiB/s - + DHT configuration - DHT 설정 + DHT 설정 - + DHT port: - DHT 포트: + DHT 포트: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>참고:</b> 수정된 상항은 프로그램 재시작시 적용 될것입니다. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>번역자 노트:</b> 만약 큐비토렌트가 자신이 사용하는 언어로 번역되지 않았고, <br/>자신의 사용하는 언어로 번역/수정 작업에 참여하고 싶다면, <br/>저에게 email을 주십시오 (chris@qbittorrent.org). + <b>번역자 노트:</b> 만약 큐비토렌트가 자신이 사용하는 언어로 번역되지 않았고, <br/>자신의 사용하는 언어로 번역/수정 작업에 참여하고 싶다면, <br/>저에게 email을 주십시오 (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - 토렌트 추가시 '토렌트 추가 다이얼로그' 보이기 + 토렌트 추가시 '토렌트 추가 다이얼로그' 보이기 - + Default save path - 기본 저장 경로 + 기본 저장 경로 - + Systray Messages 시스템 트레이 아이템 - + Always display systray messages - 시스템 트레이 아이템 항시 보기 + 시스템 트레이 아이템 항시 보기 - + Display systray messages only when window is hidden - 프로그램 윈도우가 최소화시에만 시스템 트레이 아이템 보여주기 + 프로그램 윈도우가 최소화시에만 시스템 트레이 아이템 보여주기 - + Never display systray messages - 시스템 트레이 아이템 사용하지 않기 + 시스템 트레이 아이템 사용하지 않기 - + Disable DHT (Trackerless) - DHT(트렉커 없음) 사용하지 않기 + DHT(트렉커 없음) 사용하지 않기 - + Disable Peer eXchange (PeX) - 피어 익스체인지(Pex) 사용하지 않기 + 피어 익스체인지(Pex) 사용하지 않기 - + Go to systray when closing main window - 메인 창을 닫을 때 시스템 트레이에 아이템 보여주기 + 메인 창을 닫을 때 시스템 트레이에 아이템 보여주기 - + Connection 연결 - + Peer eXchange (PeX) - 피어 익스체인지(Pex) + 피어 익스체인지(Pex) - + DHT (trackerless) - DHT(트렉커 없음) + DHT(트렉커 없음) - + Torrent addition - 토렌트 추가 + 토렌트 추가 - + Main window - 메인 창 + 메인 창 - + Systray messages - 시스템 트레이 메세지 + 시스템 트레이 메세지 - + Directory scan - 디렉터리 스켄 + 디렉터리 스켄 - + Style (Look 'n Feel) - 스타일 (Look 'n Feel) + 스타일 (Look 'n Feel) - + Plastique style (KDE like) Plastique 스타일 (KDE 과 비슷) - + Cleanlooks style (GNOME like) - 깨끗한 스타일 (GNOME 와 비슷) + 깨끗한 스타일 (GNOME 와 비슷) - + Motif style (default Qt style on Unix systems) - Motif 스타일 (기본 Qt 스타일 on 유닉스 시스템) + Motif 스타일 (기본 Qt 스타일 on 유닉스 시스템) - + CDE style (Common Desktop Environment like) CDE 스타일 (Common Desktop Environment과 비슷) - + MacOS style (MacOSX only) - MacOS 스타일 (MacOSX 전용) + MacOS 스타일 (MacOSX 전용) - + Exit confirmation when the download list is not empty - 다운로드 리스트에 있는 파일이 남아 있을때 종료 확인하기 + 다운로드 리스트에 있는 파일이 남아 있을때 종료 확인하기 - + Disable systray integration - 시스템 트레이 아이템 사용하지 않기 + 시스템 트레이 아이템 사용하지 않기 - + WindowsXP style (Windows XP only) - WindowsXP 스타일 (Windows XP 전용) + WindowsXP 스타일 (Windows XP 전용) - + Server IP or url: - 서버 주소 (Server IP or url): + 서버 주소 (Server IP or url): - + Proxy type: - 프락시 종류 (Proxy type): + 프락시 종류 (Proxy type): - + HTTP - + SOCKS5 - + Affected connections 관련된 연결 - + Use proxy for connections to trackers 트렉커(tracker)에 연결하는데 프락시 사용 - + Use proxy for connections to regular peers 일반 사용자(peer)와 연결하는데 프락시 사용 - + Use proxy for connections to web seeds 웹 완전체(Web seed)와 연결하는데 프락시 사용 - + Use proxy for DHT messages DHT 메세지에 프락시 사용 - + Encryption - 암호화(Encryption) + 암호화(Encryption) - + Encryption state: - 암호화(Encryption) 상태: + 암호화(Encryption) 상태: - + Enabled 사용하기 - + Forced 강제 - + Disabled 사용하지 않기 + + + Preferences + 선호사항 설정 + + + + General + 일반 + + + + User interface settings + 사용자 인터페이스 정의 + + + + Visual style: + 시각 스타일: + + + + Cleanlooks style (Gnome like) + 깨끗한 스타일 (Gnome과 비슷) + + + + Motif style (Unix like) + 모티브 스타일 (Unix와 비슷) + + + + Ask for confirmation on exit when download list is not empty + 종료시 다운로드 목록에 파일이 남아있다면 종료 확인하기 + + + + Display current speed in title bar + 현재 속도를 타이틀 바에 표시하기 + + + + System tray icon + 시스템 트레이 이이콘 + + + + Disable system tray icon + 시스템 트레이 아이템 사용하지 않기 + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + 창을 닫은 후 시스템 트레이 이이콘으로 + + + + Minimize to tray + 최소화후 시스템 트레이 이이콘으로 + + + + Show notification balloons in tray + 트레이에서 알림창 띄우기 + + + + Media player: + 미디어 플레이어: + + + + Downloads + 다운로드 + + + + Put downloads in this folder: + 다운로드 된것을 다음 폴더에 보관함: + + + + Pre-allocate all files + 파일을 받기전에 디스크 용량 확보하기 + + + + When adding a torrent + 토렌트를 추가할때 + + + + Display torrent content and some options + 토렌트 내용과 선택사항을 보이기 + + + + Do not start download automatically + The torrent will be added to download list in pause state + 자동 다운로드 시작 사용하기 않기 + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + 폴더 감시 (Folder watching) + + + + Automatically download torrents present in this folder: + 이 폴더에 있는 토렌트 파일을 자동으로 다운받기: + + + + Listening port + 포트 연결 + + + + to + i.e: 1200 to 1300 + ~ + + + + Enable UPnP port mapping + UPnP 포트 맵핑 사용하기 + + + + Enable NAT-PMP port mapping + NAT-PMP 포트 맵핑 사용하기 + + + + Global bandwidth limiting + 전제 속도 제한하기 + + + + Upload: + 업로드: + + + + Download: + 다운로드: + + + + Type: + 종류: + + + + (None) + (없음) + + + + Proxy: + 프록시: + + + + Username: + 사용자 이름: + + + + Bittorrent + 비트토렌트 + + + + Connections limit + 연결 제한 + + + + Global maximum number of connections: + 최대 전체 연결수 + + + + Maximum number of connections per torrent: + 한 토렌트 파일에 사용할수 있는 최대 연결수: + + + + Maximum number of upload slots per torrent: + 한 토렌트 파일의 업로드에 사용할수 있는 최대 연결수: + + + + Additional Bittorrent features + 부과 비토렌트 사항 + + + + Enable DHT network (decentralized) + DHT 네트웍크 (분화됨, decentralized) 사용하기 + + + + Enable Peer eXchange (PeX) + 피어 익스체인지(Pex) 사용하기 + + + + Enable Local Peer Discovery + 로컬 네트웍크내 공유자 찾기 (Local Peer Discovery) 사용하기 + + + + Encryption: + 암호화(Encryption) + + + + Share ratio settings + 공유 비율(Radio) 설정 + + + + Desired ratio: + 원하는 할당비(Ratio): + + + + Filter file path: + 필터 파일 경로: + + + + transfer lists refresh interval: + 전송 목록을 업데이트 할 간격: + + + + ms + ms(milli second) + + + + RSS + + + + + RSS feeds refresh interval: + RSS 을 새로 고칠 시간 간격: + + + + minutes + + + + + Maximum number of articles per feed: + 하나의 소스당 최대 기사수: + + + + File system + 파일 시스템 + + + + Remove finished torrents when their ratio reaches: + 공유비율(Shared Ratio)에 도달했을때 완료된 파일을 목록에서 지우기: + + + + System default + + DownloadingTorrents @@ -735,115 +1014,115 @@ list: Name i.e: file name - 파일 이름 + 파일 이름 Size i.e: file size - 크기 + 크기 Progress i.e: % downloaded - 진행상황 + 진행상황 DL Speed i.e: Download speed - 다운로드 속도 + 다운로드 속도 UP Speed i.e: Upload speed - 업로드 속도 + 업로드 속도 Seeds/Leechs i.e: full/partial sources - 완전체 공유/부분 공유 + 완전체 공유/부분 공유 Ratio - 비율 + 비율 ETA i.e: Estimated Time of Arrival / Time left - 남은시간 + 남은시간 qBittorrent %1 started. e.g: qBittorrent v0.x started. - 큐비토런트 %1가 시작되었습니다. + 큐비토런트 %1가 시작되었습니다. Be careful, sharing copyrighted material without permission is against the law. - 허락없이 저작권이 있는 자료를 공유하는 것은 법에 저촉됩니다. + 허락없이 저작권이 있는 자료를 공유하는 것은 법에 저촉됩니다. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>은/는 막혔습니다</i> + <font color='red'>%1</font> <i>은/는 막혔습니다</i> - + Fast resume data was rejected for torrent %1, checking again... - 토렌트 %1는 빨리 이어받기가 사용될수 없습니다, 확인중입니다... + 토렌트 %1는 빨리 이어받기가 사용될수 없습니다, 확인중입니다... - + Url seed lookup failed for url: %1, message: %2 - 다음 Url 완전체(Url seed)의 검색이 실패하였습니다: %1, 관련내용: %2 + 다음 Url 완전체(Url seed)의 검색이 실패하였습니다: %1, 관련내용: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1'가 다운로드 목록에 추가되었습니다. + '%1'가 다운로드 목록에 추가되었습니다. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1'가 다시 시작되었습니다. (빠른 재개) + '%1'가 다시 시작되었습니다. (빠른 재개) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1'는/은 이미 다운로드 목록에 포함되어 있습니다. + '%1'는/은 이미 다운로드 목록에 포함되어 있습니다. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - 다음 파일을 디코드할수 없습니다: '%1' + 다음 파일을 디코드할수 없습니다: '%1' - + This file is either corrupted or this isn't a torrent. - 이 파일은 오류가 있거나 토런트 파일이 아닙니다. + 이 파일은 오류가 있거나 토런트 파일이 아닙니다. - + Couldn't listen on any of the given ports. - 설정하신 포트에 연결할수 없습니다. + 설정하신 포트에 연결할수 없습니다. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - '%1'을 다운 중입니다, 잠시 기다려 주세요... + '%1'을 다운 중입니다, 잠시 기다려 주세요... @@ -857,7 +1136,7 @@ list: FinishedTorrents - + Finished 완료됨 @@ -880,7 +1159,7 @@ list: 진행상황 - + DL Speed i.e: Download speed 다운로드 속도 @@ -898,18 +1177,18 @@ list: 완전체 공유/부분 공유 - + Status 상태 - + ETA i.e: Estimated Time of Arrival / Time left 남은시간 - + None i.e: No error message 없음 @@ -923,417 +1202,417 @@ list: GUI - + started. 시작. - + DL Speed: 다운로딩 속도: - + kb/s kb/s - + UP Speed: 업로딩 속도: - + Open Torrent Files 토런트 파일 열기 - + Torrent Files 토런트 파일 - + Couldn't create the directory: 폴더를 만들수가 없습니다: - + already in download list. <file> already in download list. 이미 다운로드 리스트에 포함되어 있습니다. - + MB MB - + kb/s kb/s - + Unknown 알수 없음 - + added to download list. 다운로드 목록에 포함하기. - + resumed. (fast resume) 다시 시작됨. (빠르게 재개) - + Unable to decode torrent file: 토런트 파일을 읽을 수가 없습니다: - + This file is either corrupted or this isn't a torrent. 이 파일은 오류가 있거나 토런트 파일이 아닙니다. - + Are you sure? 재확인해주십시요? - + Are you sure you want to delete all files in download list? 다운로드 목록에 있는 모든 파일을 지우고 싶으세요? - + &Yes &예 - + &No &아니요 - + Download list cleared. 다운로딩 목록이 깨끗히 정리되었습니다. - + Are you sure you want to delete the selected item(s) in download list? 다운로딩 목록에서 선택하신 모든 아이템을 삭제하시겠습니까? - + removed. <file> removed. 삭제됨. - + Listening on port: 이미 연결 된 포트: - + Couldn't listen on any of the given ports 설정하신 포트에 연결할수 없습니다 - + paused 멈춤 - + All Downloads Paused. 모든 다움로드가 멈추었습니다. - + started 시작됨 - + All Downloads Resumed. 모든 다운로드가 다시 시작되었습니다. - + paused. <file> paused. 멈춤. - + resumed. <file> resumed. 다시 시작됨. - + Finished 완료 - + Checking... 확인중... - + Connecting... 연결중... - + Downloading... 다운로딩 중... - + m minutes - + h hours - + d days - + This file is either corrupted or this isn't a torrent. 이 파일은 오류가 있거나 토런트 파일이 아닙니다. - + Are you sure you want to delete all files in download list? 다운로드 목록에 있는 모든 파일을 지우고 싶으세요? - + Are you sure you want to delete the selected item(s) in download list? 다운로딩 목록에서 선택하신 모든 아이템을 삭제하시겠습니까? - + qBittorrent 큐비토런트 - + :: By Christophe Dumez :: Copyright (c) 2006 개발자: 크리스토프 두메스 :: Copyright (c) 2006 - + qBittorrent 큐비토런트 - + Are you sure? -- qBittorrent 재확인해주십시요? -- 큐비토런트 - + <b>Connection Status:</b><br>Online 연결상태: 연결됨 - + <b>Connection Status:</b><br>Firewalled?<br><i>No incoming connections...</i> 연결상태: 방화벽을 사용중이십니까? <i>연결이 되지않고 있습니다...</i> - + <b>Connection Status:</b><br>Offline<br><i>No peers found...</i> 연결 상태: 오프라인 상태 <i>다른 사용자를 찾을수 없습니다.</i> - + <b>qBittorrent</b><br>DL Speed: 큐비토런트 다운로딩 속도: - + has finished downloading. 가 완료되었습니다. - + Couldn't listen on any of the given ports. 설정하신 포트에 연결할수 없습니다. - + None 없음 - + Empty search pattern 빈 검색 양식 - + Please type a search pattern first 검색 양식을 작성해주십시오 - + No seach engine selected 검색엔진이 선택되지 않았음 - + You must select at least one search engine. 적어도 하나 이상의 검색 엔진을 선택해야 합니다. - + Searching... 검색중... - + Could not create search plugin. 검색 플러그인을 생성할수 없음. - + Stopped 정지됨 - + I/O Error I/O 에러 - + Couldn't create temporary file on hard drive. 하드 드라이브에서 임시파일을 생성할수 없음. - + Torrent file URL 토렌트 파일 URL - + Downloading using HTTP: HTTP로 다운로딩 중: - + Torrent file URL: 토렌트 파일 URL: - + A http download failed... http로 부터 다운로드 실패... - + A http download failed, reason: http로 부터 다운로드 실패한 이유: - + Are you sure you want to quit? -- qBittorrent 종료하시겠습니까? -- 큐비토런트 - + Are you sure you want to quit qbittorrent? 정말로 큐비토런트를 종료하시겠습니까? - + Timed out 시간 초과 - + Error during search... 검색 중 에러 발생... - + Failed to download: 다운로드 실패: - + A http download failed, reason: http로 부터 다운로드 실패, 그 이유는 다음과 같습니다: - + Stalled 대기중 - + Search is finished 검색 완료 - + An error occured during search... 검색 중 오류 발생... - + Search aborted 검색이 중단됨 - + Search returned no results 검색 결과가 없음 - + Search is Finished 검색 종료 - + Search plugin update -- qBittorrent 검색 플로그인 업데이트 -- 큐비토런트 - + Search plugin can be updated, do you want to update it? Changelog: @@ -1344,144 +1623,144 @@ Changelog: - + Sorry, update server is temporarily unavailable. 죄송합니다. 현재 임시적으로 업데이트 서버가 접속이 불가능합니다. - + Your search plugin is already up to date. 현재 최신 검색 엔진 플로그인을 사용중에 있습니다. - + Results 결과 - + Name 파일 이름 - + Size 크기 - + Progress 진행상황 - + DL Speed 다운로드 속도 - + UP Speed 업로드 속도 - + Status 상태 - + ETA 남은시간 - + Seeders 완전체 공유자 - + Leechers 부분 공유 - + Search engine 검색 엔진 - + Stalled state of a torrent whose DL Speed is 0 대기중 - + Paused 정지됨 - + Preview process already running 미리보기가 진행중입니다 - + There is already another preview process running. Please close the other one first. 미리보기가 진행중입니다. 다른 미리보기를 닫아주세요. - + Couldn't download Couldn't download <file> 다운로드 실패 - + reason: Reason why the download failed 이유: - + Downloading Example: Downloading www.example.com/test.torrent 다운로딩 중 - + Please wait... 기다려주십시오... - + Transfers 전송 - + Are you sure you want to quit qBittorrent? 정말로 큐비토런트를 종료하시겠습니까? - + Are you sure you want to delete the selected item(s) in download list and in hard drive? 정말로 지금 선택하신 파일들을 다운로드 목록과 하드 드라이브에서 삭제하시겠습니까? - + Download finished 다운로드 완료 - + has finished downloading. <filename> has finished downloading. 가 완료되었습니다. - + Search Engine 검색 엔진 @@ -1492,483 +1771,520 @@ Please close the other one first. 큐비토런트 %1 - + Connection status: 연결 상태: - + Offline 오프라인 - + No peers found... 피어가 없습니다... - + Name i.e: file name 파일 이름 - + Size i.e: file size 크기 - + Progress i.e: % downloaded 진행상황 - + DL Speed i.e: Download speed 다운로드 속도 - + UP Speed i.e: Upload speed 업로드 속도 - + Seeds/Leechs i.e: full/partial sources 완전체 공유/부분 공유 - + ETA i.e: Estimated Time of Arrival / Time left 남은시간 - + Seeders i.e: Number of full sources 완전체 공유자 - + Leechers i.e: Number of partial sources 부분 공유 - + qBittorrent %1 started. e.g: qBittorrent v0.x started. 큐비토런트 %1가 시작되었습니다. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s 다운로딩 속도: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s 업로딩 속도: %1 KiB/s - + Finished i.e: Torrent has finished downloading 완료되었습니다 - + Checking... i.e: Checking already downloaded parts... 확인중... - + Stalled i.e: State of a torrent whose download speed is 0kb/s 대기중 - + Are you sure you want to quit? 정말로 종료하시겠습니까? - + '%1' was removed. 'xxx.avi' was removed. '%1' 가 삭제되었습니다. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1'가 다운로드 목록에 추가되었습니다. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1'가 다시 시작되었습니다. (빠른 재개) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1'는/은 이미 다운로드 목록에 포함되어 있습니다. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' 다음 파일을 디코드할수 없습니다: '%1' - + None i.e: No error message 없음 - + Listening on port: %1 e.g: Listening on port: 1666 이미 연결 된 포트: %1 - + All downloads were paused. 모든 다운로드가 멈추었습니다. - + '%1' paused. xxx.avi paused. '%1'가 정지 되었습니다. - + Connecting... i.e: Connecting to the tracker... 연결중... - + All downloads were resumed. 모든 다운로드가 다시 시작되었습니다. - + '%1' resumed. e.g: xxx.avi resumed. '%1' 가 다운로드를 다시 시작되었습니다. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1가 다운로드를 완료하였습니다. - + I/O Error i.e: Input/Output Error I/O 에러 - + 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 %1을 사용하려고 하던 중 오류가 발생했습니다. 디스크 용량이 꽉찼고 다운로드가 중지되었습니다 - + An error occured (full fisk?), '%1' paused. e.g: An error occured (full fisk?), 'xxx.avi' paused. 오류 발생 (디스크가 꽉찼습니까?), '%1'가 정지 되었습니다. - + Connection Status: 연결 상태: - + Online 온라인 - + Firewalled? i.e: Behind a firewall/router? 방화벽이 설치되어있습니까? - + No incoming connections... 받는 연결이 없습니다... - + No search engine selected 검색엔진이 선택되지 않았음 - + Search plugin update 검색 엔진 플러그인 업데이트 - + Search has finished 검색 완료 - + Results i.e: Search results 결과 - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... '%1'을 다운 중입니다, 잠시 기다려 주세요... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. 오류 발생 (디스크가 꽉찼습니까?), '%1'가 정지 되었습니다. - + Search 검색 - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 큐비토런트는 다음 포트을 사용하고 있습니다: %1 - + DHT support [ON], port: %1 DHT 지원 [사용함], 포트: %1 - + DHT support [OFF] DHT 지원 [사용안함] - + PeX support [ON] Pes 지원 [사용함] - + PeX support [OFF] Pes 지원 [사용안함] - + The download list is not empty. Are you sure you want to quit qBittorrent? 다운로드 리스트가 파일이 있습니다. 큐비토런트를 종료하시겠습니까? - + Downloads 다운로드 - + Are you sure you want to delete the selected item(s) in finished list? 현재 완료목록에서 선택된 파일을 지우시겠습니까? - + UPnP support [ON] UPnp 지원 [사용함] - + Be careful, sharing copyrighted material without permission is against the law. 허락없이 저작권이 있는 자료를 공유하는 것은 법에 저촉됩니다. - + Encryption support [ON] 암호화(Encryption) 지원 [사용함] - + Encryption support [FORCED] 암호화(Encryption) 지원 [강압적으로 사용] - + Encryption support [OFF] 암호화(Encryption) 지원 [사용안함] - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <font color='red'>%1</font> <i>은/는 막혔습니다</i> - + Ratio 비율 - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error Url 다운로드 오류 - + Couldn't download file at url: %1, reason: %2. 다음 주소(Url)에서 파일을 다운로드할수 없습니다: %1, 이유:%2. - + Fast resume data was rejected for torrent %1, checking again... 토렌트 %1는 빨리 이어받기가 사용될수 없습니다, 확인중입니다... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? 다운로드 목록에서 선택된 파일을 하드 드라이버에서도 지우시겠습니까? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? 완료 목록에서 선택된 파일을 하드 드라이버에서도 지우시겠습니까? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' 는 영구삭제 되었습니다. - + Url seed lookup failed for url: %1, message: %2 다음 Url 완전체(Url seed)의 검색이 실패하였습니다: %1, 관련내용: %2 - + Alt+3 shortcut to switch to third tab - + - + Ctrl+F shortcut to switch to search tab - + + + + + UPnP support [OFF] + UPnP 지원 [사용안함] + + + + NAT-PMP support [ON] + NAT-PMP 지원 [사용함] + + + + NAT-PMP support [OFF] + NAT-PMP 지원 [사용안함] + + + + Local Peer Discovery [ON] + Local Peer Discovery (로컬 네트웍크내 공유자 찾기) [사용함] + + + + Local Peer Discovery support [OFF] + Local Peer Discovery (로컬 네트웍크내 공유자 찾기) [사용안함] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + 사용자께거 지정하신 할당율에 도달하였기에 '%1'는(은) 목록에서 삭제되었습니다. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + 큐비토런트 버젼: %1 (DL: %2KiB/s, UP: %3KiB/s) MainWindow - + qBittorrent :: By Christophe Dumez 큐비토런트 :: 개발자: 크리스토프 두메스 - + Log: 로그: - + Total DL Speed: 총 다운로드 속도: - + Kb/s Kb/s - + Total UP Speed: 총 업로드 속도: - + Name 파일 이름 - + Size 크기 - + % DL % 상태 - + DL Speed 다운로드 속도 - + UP Speed 업로드 속도 - + Status 상태 - + ETA 남은시간 - + &Options &설정 @@ -2038,12 +2354,12 @@ Are you sure you want to quit qBittorrent? 참고자료 - + Connexion Status 연결 상태 - + Delete All 모두 삭제 @@ -2053,62 +2369,62 @@ Are you sure you want to quit qBittorrent? 토렌트 구성요소 - + Connection Status 연결 상태 - + Downloads 다운로드 - + Search 검색 - + Search Pattern: 검색 양식: - + Status: 상태: - + Stopped 정지됨 - + Search Engines 검색 엔진 - + Results: 결과: - + Stop 정지 - + Seeds 완전체 - + Leechers 부분 공유 - + Search Engine 검색 엔진 @@ -2118,12 +2434,12 @@ Are you sure you want to quit qBittorrent? URL로 다운로드 - + Download 다운로드 - + Clear 모두 지우기 @@ -2133,22 +2449,22 @@ Are you sure you want to quit qBittorrent? 토렌트 파일 생성 - + Ratio: 비율: - + Update search plugin 검색 엔진 업데이트 - + Session ratio: 세션 비율: - + Transfers 전송 @@ -2188,12 +2504,12 @@ Are you sure you want to quit qBittorrent? 다운로드 속도 제한하기 - + Log 로그 - + IP filter IP 필터 @@ -2216,34 +2532,34 @@ Are you sure you want to quit qBittorrent? PropListDelegate - + False 아님 - + True 맞음 - + Ignored 무시 - + Normal Normal (priority) 보통 - + High High (priority) 높음 - + Maximum Maximum (priority) 최고 @@ -2252,7 +2568,7 @@ Are you sure you want to quit qBittorrent? QTextEdit - + Clear 모두 지우기 @@ -2265,138 +2581,153 @@ Are you sure you want to quit qBittorrent? 검색 - + Delete 삭제 - + Rename 이름 바꾸기 - + Refresh 새로 고침 - + Create 생성하기 - + Delete selected streams 선택된 스트림 삭제하기 - + Refresh RSS streams RSS 스트림 새로고침 - + Add a new RSS stream 새 RSS 스트림 추가 - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>뉴스:</b> <i>(링크를 웹브라우저에서 열려면 더블 클릭하세요)</i> - + Add RSS stream RSS 스트림 추가 - + Refresh all streams 모든 스트림 새로고침 - + RSS streams: RSS 스트림: - + 2 2 + + + Mark all as read + 읽은 아이템 표식하기 + RSSImp - + Please type a rss stream url RSS 스트림 주소(url)를 입력하세요 - + Stream URL: 스트림 URL: - + Please choose a new name for this stream 이 스트림의 이름을 입력하세요 - + New stream name: 새 스트림 이름: - + Are you sure? -- qBittorrent 재확인 해주십시요? -- 큐비토런트 - + &Yes &예 - + &No &아니요 - + Are you sure you want to delete this stream from the list? 이 스트림을 리스트에서 지우시겠습니까? - + Description: 설명: - + url: - + Last refresh: 최근 새로고침: - + qBittorrent 큐비토런트 - + This rss feed is already in the list. 이 RSS 피드는 이미 리스트에 포함되어 있습니다. + + + Date: + 날짜: + + + + Author: + 작성자: + RssItem - + No description available 관련 자료가 없습니다 @@ -2404,13 +2735,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1분전 - + Never 전혀 사용안함 @@ -2418,231 +2749,236 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name 파일 이름 - + Size i.e: file size 크기 - + Seeders i.e: Number of full sources 완전체 공유자 - + Leechers i.e: Number of partial sources 부분 공유 - + Search engine 검색 엔진 - + Empty search pattern 검색 양식 지우기 - + Please type a search pattern first 검색 양식을 작성해주십시오 - + No search engine selected - 검색엔진이 선택되지 않았음 + 검색엔진이 선택되지 않았음 - + You must select at least one search engine. - 적어도 하나 이상의 검색 엔진을 선택해야 합니다. + 적어도 하나 이상의 검색 엔진을 선택해야 합니다. - + Results 결과 - + Searching... 검색중... - + Search plugin update -- qBittorrent - 검색 플로그인 업데이트 -- 큐비토런트 + 검색 플로그인 업데이트 -- 큐비토런트 - + Search plugin can be updated, do you want to update it? Changelog: - 검색 플로그인 업데이트가 준비 되었습니다, 지금 업데이트 하시겠습니까? + 검색 플로그인 업데이트가 준비 되었습니다, 지금 업데이트 하시겠습니까? Changelog: - + &Yes - &예 + &예 - + &No - &아니요 + &아니요 - + Search plugin update - 검색 엔진 플러그인 업데이트 + 검색 엔진 플러그인 업데이트 - + qBittorrent - 큐비토런트 + 큐비토런트 - + Sorry, update server is temporarily unavailable. - 죄송합니다. 현재 임시적으로 업데이트 서버가 접속이 불가능합니다. + 죄송합니다. 현재 임시적으로 업데이트 서버가 접속이 불가능합니다. - + Your search plugin is already up to date. - 님은 현재 최신 검색 엔진 플로그인을 사용중입니다. + 님은 현재 최신 검색 엔진 플로그인을 사용중입니다. - + Search Engine 검색 엔진 - + Search has finished 검색 완료 - + An error occured during search... 검색 중 오류 발생... - + Search aborted 검색이 중단됨 - + Search returned no results 검색 결과가 없음 - + Results i.e: Search results 결과 - + Search plugin download error - 검색 플러그인(plugin) 다운로드 오류 발생 + 검색 플러그인(plugin) 다운로드 오류 발생 - + Couldn't download search plugin update at url: %1, reason: %2. - 다음 url에서 검색 플러그인 (Plugin)을 다운로드 할수 없습니다: %1, 이유: %2. + 다음 url에서 검색 플러그인 (Plugin)을 다운로드 할수 없습니다: %1, 이유: %2. + + + + Unknown + 알려지지 않음 Ui - + I would like to thank the following people who volonteered to translate qBittorrent: 큐비토런트를 번역하는데 도움을 주신 다음 분들에게 다시 한번 감사드립니다: - + Please contact me if you would like to translate qBittorrent to your own language. 큐비토런드 번역에 도움을 주실 분은 저에게 연락해 주십시오. - + qBittorrent 큐비토런트 - + I would like to thank sourceforge.net for hosting qBittorrent project. 큐비토런트 프로잭트를 호스팅해준 소스포지(Sourceforge.net)에 다시 한번 감사드립니다. - + I would like to thank the following people who volunteered to translate qBittorrent: 큐비토런트를 번역하는데 도움을 주신 다음 분들에게 다시 한번 감사드립니다: - + <ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li> <ul><li>큐비토런트 프로잭트를 호스팅해준 소스포지(Sourceforge.net)에 다시 한번 감사드립니다.<li> - + <li>I also like to thank Jeffery Fernandez (developer@jefferyfernandez.id.au), our RPM packager, for his great work.</li></ul> <li>또한 RPM 패키지하는데 도움을 준 Fernandez (developer@jefferyfernandez.id.au)에게 감사드립니다.</li></ul> - + Preview impossible 미리보기 불가 - + Sorry, we can't preview this file 죄송합니다. 이 파일은 미리보기를 할수 없습니다 - + Name 파일 이름 - + Size 크기 - + Progress 진행상황 - + No URL entered 주소(URL)가 포함되지 않았습니다 - + Please type at least one URL. 적어도 하나의 주소(URL)를 적어주십시오. - + qBittorrent 큐비토런트 - + Please contact me if you would like to translate qBittorrent into your own language. 큐비토런트를 자신이 사용하는 언어로 번역하는데 관심이 있으시가면 제게 연락을 주십시오. @@ -2673,87 +3009,87 @@ Changelog: 토렌트 추가 다이얼로그 - + Save path: 저장 경로: - + ... ... - + Torrent content: 토렌트 내용: - + File name 파일 이름 - + File size 파일 크기 - + Selected 선택됨 - + Download in correct order (slower but good for previewing) 순차적으로 다운받기(느리지만 미리보기에 편합니다) - + Add to download list in paused state 정지 상태로 다운로드 목록에 추가하기 - + Add 추가 - + Cancel 취소 - + select 선택 - + Unselect 선택하지 않기 - + Select 선택 - + Ignored 무시 - + Normal 보통 - + High 높음 - + Maximum 최고 @@ -2812,47 +3148,47 @@ Changelog: createTorrentDialog - + Create Torrent file 토렌트 파일 만들기 - + Destination torrent file: - 토렌트 파일 저장 위치: + 토렌트 파일 저장 위치: - + Input file or directory: 변환 할 파일 또는 폴더 경로: - + Comment: 설명: - + ... - ... + ... - + Create - 생성하기 + 생성하기 - + Cancel 취소 - + Announce url (Tracker): 발표 되는 url(Tracker 주소): - + Directory 디렉터리 @@ -2862,154 +3198,244 @@ Changelog: 토렌트 파일 생성도구 - + <center>Destination torrent file:</center> <center>토렌트 파일 경로:</center> - + <center>Input file or directory:</center> <center>원본 파일 또는 폴더:</center> - + <center>Announce url:<br>(One per line)</center> <center>서버 url:<br>(한줄에 하나씩)</center> - + <center>Comment:</center> <center>설명:</center> - + Torrent file creation 토렌트 파일 만들기 - + Input files or directories: - 입력할 파일 또는 폴더 경로: + 입력할 파일 또는 폴더 경로: - + Announce urls (trackers): 발표 되는 url(Tracker 주소): - + Comment (optional): 의견(옵션): - + Private (won't be distributed on trackerless network / DHT if enabled) - 은거하기 (이 기능을 선택하시면 님의 컴퓨터는 trackerless network나 DHT에 알려지지 않을 것입니다) + 은거하기 (이 기능을 선택하시면 님의 컴퓨터는 trackerless network나 DHT에 알려지지 않을 것입니다) - + Web seeds urls (optional): 웹시드(Web seeds) url (옵션사항): + + + File or folder to add to the torrent: + 토렌트를 추가할 파일 또는 폴더: + + + + Add a file + 파일 추가 + + + + Add a folder + 폴더 추가 + + + + Piece size: + 조각 크기: + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + 개인적으로 사용하기 (이 기능을 사용하시면 귀하의 파일은 DHT 네트웍크에 배포되지 않을 것입니다) + + + + Start seeding after creation + 생성후 바로 배포 시작하기 + + + + Create and save... + 생성 후 저장하기... + createtorrent - + Select destination torrent file 토렌트 파일을 저장할 위치 지정 - + Torrent Files 토런트 파일 - + Select input directory or file 변환할 파일 위치 지정 - + No destination path set - 저장 경로가 없음 + 저장 경로가 없음 - + Please type a destination path first - 저장 경로를 설정해 주십시오 + 저장 경로를 설정해 주십시오 - + No input path set 변환할 파일 경로가 설정되지 않았습니다 - + Please type an input path first 파일 경로를 설정해 주십시오 - + Input path does not exist 변환할 파일 경로가 존재하지 않습니다 - + Please type a correct input path first 변환할 파일 경로를 재설정해 주십시오 - + Torrent creation 토렌트 생성 - + Torrent was created successfully: 토렌트가 성공적으로 생성되었습니다: - + Please type a valid input path first 먼저 변환 될 파일의 경로를 설정해 주십시오 - + Select a folder to add to the torrent 토텐트를 추가할 폴더를 지정해 주십시오 - + Select files to add to the torrent - 토렌트를 추가할 파일을 선택해 주십시오 + 토렌트를 추가할 파일을 선택해 주십시오 - + Please type an announce URL 발표되는 주소(announce URL)를 입력해 주십시오 - + Torrent creation was unsuccessful, reason: %1 토렌트 생성이 실패하였습니다, 이유: %1 - + Announce URL: Tracker URL 발표 되는 url(Tracker 주소): - + Please type a web seed url 웹에 있는 완전체의 주소(web seed url)를 입력해 주십시오 - + Web seed URL: 웹 시드 주소 (Web Seed URL): + + + Select a file to add to the torrent + 토렌트에 추가할 파일을 선택하십시오 + + + + No tracker path set + 트렉커(Tracker) 경로가 설정되지 않았습니다 + + + + Please set at least one tracker + 적어도 하나 이상의 트렉커(tracker)을 설정해 주십시오 + downloadFromURL @@ -3054,177 +3480,376 @@ Changelog: Search - 검색 + 검색 Total DL Speed: - 총 다운로드 속도: + 총 다운로드 속도: KiB/s - + Session ratio: - 세션 비율: + 세션 비율: Total UP Speed: - 총 업로드 속도: + 총 업로드 속도: Log - 로그 + 로그 IP filter - IP 필터 + IP 필터 Start - 시작 + 시작 Pause - 정지 + 정지 Delete - 삭제 + 삭제 Clear - 모두 지우기 + 모두 지우기 Preview file - 미리보기 + 미리보기 Set upload limit - 업로드 속도 제한하기 + 업로드 속도 제한하기 Set download limit - 다운로드 속도 제한하기 + 다운로드 속도 제한하기 Delete Permanently - 영구 삭제 + 영구 삭제 Torrent Properties - 토렌트 구성요소 + 토렌트 구성요소 + + + + engineSelect + + + Search plugins + 검색 엔진 플러그인 + + + + Installed search engines: + 설치된 검색엔진: + + + + Name + 이름 + + + + Url + + + + + Enabled + 사용하기 + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + 새 검색엔진 플러그인은 다음 링크에서 제공 받으실수 있습니다: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + 새것 설치하기 + + + + Check for updates + 업데이트 확인 + + + + Close + 닫기 + + + + Enable + 사용하기 + + + + Disable + 사용하지 않기 + + + + Uninstall + 제거하기 + + + + engineSelectDlg + + + True + 맞음 + + + + False + 아님 + + + + Uninstall warning + 언인스톨 경고 + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + 개중 몇의 검색엔진 플러그인은 큐비토런트에 포함이 되있기 때문에 제거 될수 없습니다. + 사용자가 직접 설치한 플러그인만이 제거 할수 있습니다. +하지만 큐비토런트에 포함된 검색플러그인들을 사용하지 않으시려면 "사용하지 않기"를 선택하시면 됩니다. + + + + + Uninstall success + 제거 완료 + + + + Select search plugins + 검색 플러그인을 선택하십시오 + + + + qBittorrent search plugins + 큐비토런트 검색엔진 + + + + Search plugin install + 검색 엔진 설치 + + + + qBittorrent + 큐비토런트 + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + 최신 버젼의 %1이 이미 설치되어있습니다. + + + + Search plugin update + 검색 엔진 플러그인 업데이트 + + + + Sorry, update server is temporarily unavailable. + 죄송합니다. 현재 임시적으로 업데이트 서버가 접속이 불가능합니다. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + 죄송하지만 검색엔진 %1의 업데이트가 실패하였습니다. + + + + All your plugins are already up to date. + 모든 검색엔진이 최신버젼입니다. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + 검색엔진 %1은 업데이트 될수 없습니다. 기존버젼을 유지하겠습니다. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + 검색엔진 %1은/는 설치될수 없습니다. + + + + All selected plugins were uninstalled successfully + 선택된 모든 플러그인들이 성공적으로 제거 되었습니다 + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + 검색엔진 %1이 성공적으로 업데이트 되었습니다. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + 검색엔진 %1이 성공적으로 설치 되었습니다. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + 검색엔진 %1이 성공적으로 업데이트 되었습니다. + + + + Search engine plugin archive could not be read. + 검색엔진 플러그인이 일혀지질 않습니다. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + 죄송하지만, 검색엔진 플로그인, %1,의 설치가 실패하였습니다. + + + + New search engine plugin URL + 새 검색엔진 플러그인 주소(URL) + + + + URL: + misc - + B bytes - + KiB kibibytes (1024 bytes) - + MiB mebibytes (1024 kibibytes) - + GiB gibibytes (1024 mibibytes) - + TiB tebibytes (1024 gibibytes) - + m minutes - + h hours - + d days - + Unknown 알수 없음 - + h hours - + d days - + Unknown Unknown (size) 알수 없음 - + < 1m < 1 minute < 1분 - + %1m e.g: 10minutes %1분 - + %1h%2m e.g: 3hours 5minutes %1시간%2분 - + %1d%2h%3m e.g: 2days 10hours 2minutes %1일%2시간%3분 @@ -3233,148 +3858,171 @@ Changelog: options_imp - + Options saved successfully! 환경설정 저장 완료! - + Choose Scan Directory 공유폴더 변경 - + Choose save Directory 저장폴더 변경 - + Choose ipfilter.dat file ipfilter.dat 파일 선택 - + I/O Error I/O 에러 - + Couldn't open: 다음 파일을 열수 없습니다: - + in read mode. 읽기전용. - + Invalid Line 잘못된 줄 - + Line - + is malformed. 이 잘못되었습니다. - + Range Start IP 시작하는 IP의 범위 - + Start IP: 시작 IP: - + Incorrect IP 잘못된 IP - + This IP is incorrect. 잘못된 IP입니다. - + Range End IP 끝나는 IP의 범위 - + End IP: 끝 IP: - + IP Range Comment IP 범위 설명 - + Comment: 설명: - + to <min port> to <max port> - ~ + ~ - + Choose your favourite preview program 미리보기를 할 프로그램을 선택해 주십시오 - + Invalid IP 유효하지 않은 IP - + This IP is invalid. 유효하지 않은 IP 입니다. - + Options were saved successfully. 환경설정이 성공적으로 저장되었습니다. - + Choose scan directory 스켄할 곳을 선택해주세요 - + Choose an ipfilter.dat file ipfilter.dat의 경로를 선택해주세요 - + Choose a save directory 파일을 저장할 경로를 선택해주세요 - + I/O Error Input/Output Error I/O 에러 - + Couldn't open %1 in read mode. %1을 읽기전용 모드로 열수 없습니다. + + pluginSourceDlg + + + Plugin source + 플러그인 소스 + + + + Search plugin source: + 검색엔진 플러그인 소스: + + + + Local file + 로컬 파일 + + + + Web link + 웹 링크 + + preview @@ -3440,454 +4088,469 @@ Changelog: 토렌트 구성요소 - + Main Infos 주요 정보 - + File Name 파일 이름 - + Current Session 현재 세션 - + Total Uploaded: 총 업로드량: - + Total Downloaded: 총 다운로드량: - + Download state: 다운로딩 상태: - + Current Tracker: 현재 서버: - + Number of Peers: 공유자수: - + Torrent Content 토렌트 내용 - + OK 확인 - + Cancel 취소 - + Total Failed: 총 실패: - + Finished 완료됨 - + Queued for checking 확인을 위해 대기중 - + Checking files 파일 확인중 - + Connecting to tracker 서버에 연결중 - + Downloading Metadata 자료설명을 받는중 - + Downloading 다운로딩 중 - + Seeding 공유중 - + Allocating 할당중 - + MB MB - + Unknown 알수 없음 - + Complete: 완전함: - + Partial: 부분적: - + Files contained in current torrent: 현 토렌트에 있는 파일들: - + Size 크기 - + Selected 선택됨 - + Unselect 선택되지 않음 - + Select 선택함 - + You can select here precisely which files you want to download in current torrent. 여기서 현재 토렌트 중 다운로드 받을 파일을 선택할수 있습니다. - + False 아님 - + True 맞음 - + Tracker 서버 - + Trackers: 서버목록: - + None - Unreachable? 없음 - 접근할수 없습니까? - + Errors: 에러: - + Progress 진행상황 - + Main infos 주요 정보 - + Number of peers: 전송자수: - + Current tracker: 현재 트레커: - + Total uploaded: 총 업로드양: - + Total downloaded: 총 다운로드양: - + Total failed: 총 실패수: - + Torrent content 토렌트 내용 - + Options 환경설정 - + Download in correct order (slower but good for previewing) 순차적으로 다운받기(늘리지만 미리보기하기에 좋음) - + Share Ratio: 공유 비율: - + Seeders: 완전체 공유자: - + Leechers: 부분 공유: - + Save path: 저장 경로: - + Torrent infos 토렌트 정보 - + Creator: 생성자: - + Torrent hash: 토렌트 헤쉬(Hash): - + Comment: 설명: - + Current session 현재 색션 - + Share ratio: 공유비율: - + Trackers 트렉커(Trackers) - + New tracker 새 트렉커 - + New tracker url: 새 트렉커 주소 (url): - + Priorities: 구성요소: - + Normal: normal priority. Download order is dependent on availability 보통: 보통 우선순위로 다운로드 순서는 자료의 유효성에 의 해 정해집니다 - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability 높음: 보통보다 높은 우선순위로 동등한 유효성을 지닌 우선순위 보통의 자료들보다 우선적으로 다운로드 됩니다. - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority 최고: 최고의 우선순위로 유효성에 상관없이 무조건 다른 우선순위 자료들보다 우선적으로 다운로드 됩니다. - + File name 파일 이름 - + Priority 우선순위 - + qBittorrent 큐비토런트 - + Trackers list can't be empty. 트렉커 리스트(Trackers List)를 비울수 없습니다. - + Ignored: file is not downloaded at all 무시: 무시된 파일은 전혀 다운로드 되지 않습니다 - + Ignored 무시 - + Normal 보통 - + Maximum 최고 - + High 높음 - + Url seeds Url 완전체(Url seeds) - + New url seed: 새 Url 완전체 (Url seed): - + This url seed is already in the list. 이 Url 완전체(Url seed)는 이미 리스트에 포함되어 있습니다. - + Hard-coded url seeds cannot be deleted. 직접적으로 입력된 url 완전체(Hard-Coded url seeds) 는 삭제될수 없습니다. - + None i.e: No error message 없음 - + New url seed New HTTP source 새 Url 완전체(seed) - + The following url seeds are available for this torrent: 다음 Url 완전체(seed)가 이 토렌트에 사용될수 있습니다. + + + Priorities error + 우선순위 설정 에러 + + + + Error, you can't filter all the files in a torrent. + 에러, 모든 파일을 필터할수는 없습니다. + search_engine - + Search 검색 - + Search Engines - 검색 엔진 + 검색 엔진 - + Search Pattern: 검색 양식: - + Stop 정지 - + Status: 상태: - + Stopped 정지됨 - + Results: 결과: - + Download 다운로드 - + Clear 모두 지우기 - + Update search plugin - 검색 plugin 업데이트 + 검색 plugin 업데이트 + + + + Search engines... + 검색 엔진... @@ -3946,57 +4609,57 @@ Changelog: subDownloadThread - + Host is unreachable 호스트에 도달할수 없습니다 - + File was not found (404) 파일을 찾을수 없습니다 (404) - + Connection was denied 연결이 부인되었습니다. - + Url is invalid 주소(Url)가 유효하지 않습니다 - + Connection forbidden (403) 연결이 금지되었습니다 (403) - + Connection was not authorized (401) 연결이 허가되지 않았습니다 (401) - + Content has moved (301) 내용이 이동되었습니다 (301) - + Connection failure 연결 실패 - + Connection was timed out 연결 시간이 초과하였습니다 - + Incorrect network interface 네트웍크 인터페이스(network interface)가 맞지 않습니다. - + Unknown error 알수 없는 오류 @@ -4004,77 +4667,77 @@ Changelog: torrentAdditionDialog - + True 맞음 - + Unable to decode torrent file: 토런트 파일을 해독 할 수가 없습니다: - + This file is either corrupted or this isn't a torrent. 이 파일은 오류가 있거나 토런트 파일이 아닙니다. - + Choose save path 저장 경로 선택 - + False 틀림 - + Empty save path 저장 경로 지우기 - + Please enter a save path 저장 경로를 지정해주십시오 - + Save path creation error 저장 경로 설정이 잘못되었습니다 - + Could not create the save path 저장 경로를 생성할수가 없습니다 - + Invalid file selection 부적당한 파일 선택 - + You must select at least one file in the torrent 토렌트에서 적어도 하나 이상의 파일을 선택해야 합니다 - + File name 파일 이름 - + Size 크기 - + Progress 진행상황 - + Priority 우선순위 diff --git a/src/lang/qbittorrent_nb.qm b/src/lang/qbittorrent_nb.qm index 41e1c8f96cf279216f019a2ca665c67e09f06525..73f906f2c286de618c1ffaa2e81c000ba4a33b73 100644 GIT binary patch delta 9365 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 N|I6_B{F4FV{{hhGhEf0k delta 9080 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


pQDI3|4IE{acYy36C zK75YwJTQ`%iT4-2ER_m&;!Cg-Px!L{?_qqp_2-rtp|7o$r;fHx@Sdc6no^?AGD|tYFD`{xp(|9ebd({BG~dJ#4|U zzU-T2^EkYS!)Ex9_SfVG&U!3jUB`~0InL%x?ms%<4h<)}=ny(S*HuZqMfYcJA->E)v&*-*{K<^(+L|jehqd_Q4o|*A z^VcChD*b)Fzhciu8_Y*BAK$GK^%oO;bBYvdUA%*fLBsA8Ds^*63I_m0nH#64wt8o? z*hXLd29&V*v@IF?qjm*0z?V%vjXc=(Mviv!y>#=rRVauR zHV3k2z0FZ7c3bd5RUNSe0W7{^D^MRcH|I~#YhT;>z{XeJl_!}*h z*qv@(1r@DbrtvxBbr=62!*UbH2V?2TIxp=lg%C$Z|T%xo8JB%4)U8vPF+R z$7{*a^5e_jc?s_iZGUdz-Ip&uyes?9Z2aM-3~ulDBtBvCr?)DM<3;uxjz0^|!8064 zT2f?RgksX){!k;R#ou@NJ9!S(sLW=uScM)iG&H^S?9klB3dds>z+%|CZ4))qVSB+% z(5^;jHA~_Dafz3R_j!IF51wB=ZAxYA6u#WupP_IlD;gAXf2ZQRxNWAySGzq>`oA?t BxsU(= diff --git a/src/lang/qbittorrent_nb.ts b/src/lang/qbittorrent_nb.ts index 728cfa37d..3e6a5ebe2 100644 --- a/src/lang/qbittorrent_nb.ts +++ b/src/lang/qbittorrent_nb.ts @@ -156,60 +156,60 @@ Copyright © 2006 av Christophe Dumez<br> Options - Alternativer + Alternativer Main - Oppsett + Oppsett Save Path: - Filsti for nedlastinger: + Filsti for nedlastinger: Download Limit: - Nedlastingsbegrensning: + Nedlastingsbegrensning: Upload Limit: - Opplastingsbegrensning: + Opplastingsbegrensning: Max Connects: - Maks tilkoblinger: + Maks tilkoblinger: - + Port range: Port-område: - + ... ... Disable - Deaktiver + Deaktiver connections - tilkoblinger + tilkoblinger Proxy - Mellomtjener + Mellomtjener - + Proxy Settings Mellomtjener oppsett @@ -219,39 +219,39 @@ Copyright © 2006 av Christophe Dumez<br> Tjener IP: - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - Mellomtjener krever autentisering + Mellomtjener krever autentisering - + Authentication Autentisering User Name: - Brukernavn: + Brukernavn: - + Password: Passord: Enable connection through a proxy server - Aktiver tilkobling gjennom en mellomtjener + Aktiver tilkobling gjennom en mellomtjener @@ -266,12 +266,12 @@ Copyright © 2006 av Christophe Dumez<br> Scanned Dir: - Gjennomsøkt mappe: + Gjennomsøkt mappe: Enable directory scan (auto add torrent files inside) - Aktiver mappesøk (legg til torrent filer funnet) + Aktiver mappesøk (legg til torrent filer funnet) @@ -281,35 +281,35 @@ Copyright © 2006 av Christophe Dumez<br> Share ratio: - Delingsforhold: + Delingsforhold: - + Activate IP Filtering Aktiver IP filtrering - + Filter Settings Filteroppsett - + Start IP Begynnelses IP - + End IP Slutt IP - + Origin Opphav - + Comment Kommentar @@ -319,24 +319,24 @@ Copyright © 2006 av Christophe Dumez<br> Bruk - + IP Filter - IP filter + IP filter - + Add Range Legg til område - + Remove Range Fjern område ipfilter.dat Path: - ipfilter.dat filsti: + ipfilter.dat filsti: @@ -346,27 +346,27 @@ Copyright © 2006 av Christophe Dumez<br> Go to systray when minimizing window - Flytt til systemkurven ved minimering + Flytt til systemkurven ved minimering - + Misc - Diverse + Diverse Localization - Lokalisering + Lokalisering - + Language: Språk: Behaviour - Oppførsel + Oppførsel @@ -389,19 +389,19 @@ Copyright © 2006 av Christophe Dumez<br> Vis aldri skjermmeldinger - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - maks KiB opplasting. + maks KiB opplasting. @@ -419,49 +419,49 @@ Copyright © 2006 av Christophe Dumez<br> Automatisk fjerning av fullførte nedlastninger - + Preview program Program for forhåndsvisning Audio/Video player: - Lyd/video avspiller: + Lyd/video avspiller: DHT configuration - DHT oppsett + DHT oppsett DHT port: - DHT port: + DHT port: Language - Språk + Språk - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Merk:</b> Du må starte om qBittorrent, før endringene trer i kraft. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Oversetting:</b> Hvis qBittorrent ikke er tilgjengelig i ditt språk, <br/>og du ønsker å oversette programmet, <br/>vennligst kontakt meg (chris@qbittorrent.org). + <b>Oversetting:</b> Hvis qBittorrent ikke er tilgjengelig i ditt språk, <br/>og du ønsker å oversette programmet, <br/>vennligst kontakt meg (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Spør meg hva jeg ønsker å gjøre hver gang jeg legger til en torrent + Spør meg hva jeg ønsker å gjøre hver gang jeg legger til en torrent Default save path - Standard filsti for lagring + Standard filsti for lagring @@ -471,183 +471,377 @@ Copyright © 2006 av Christophe Dumez<br> Always display systray messages - Vis alltid systemkurvmeldinger + Vis alltid systemkurvmeldinger Display systray messages only when window is hidden - Vis systemkurvmeldingene kun når hovedvinduet er skjult + Vis systemkurvmeldingene kun når hovedvinduet er skjult Never display systray messages - Ikke vis systemkurvmeldingene + Ikke vis systemkurvmeldingene Disable DHT (Trackerless) - Deaktiver DHT (Uten sporingstjener) + Deaktiver DHT (Uten sporingstjener) Disable Peer eXchange (PeX) - Deaktiver Peer eXchange (PeX) + Deaktiver Peer eXchange (PeX) Go to systray when closing main window - Flytt til systemkurven ved lukking + Flytt til systemkurven ved lukking - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + Innstillinger + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + til + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + Brukernavn: + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -716,51 +910,51 @@ Copyright © 2006 av Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' ble lagt til i nedlastingslisten. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' ble gjenopptatt (hurtig gjenopptaging) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' finnes allerede i nedlastingslisten. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Klarte ikke å dekode torrentfilen: '%1' - + This file is either corrupted or this isn't a torrent. Denne filen er enten ødelagt, eller det er ikke en torrent. - + Couldn't listen on any of the given ports. Klarte ikke å lytte på noen av de oppgitte portene. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Laster ned '%1'... @@ -849,7 +1043,7 @@ Copyright © 2006 av Christophe Dumez<br> GUI - + Open Torrent Files Åpne torrentfiler @@ -864,22 +1058,22 @@ Copyright © 2006 av Christophe Dumez<br> Ønsker du å slette alle filene in nedlastingslisten? - + &Yes &Ja - + &No &Nei - + Are you sure you want to delete the selected item(s) in download list? Ønsker du å slette valgt(e) element(er) i nedlastingslisten? - + Finished Ferdig @@ -929,7 +1123,7 @@ Copyright © 2006 av Christophe Dumez<br> Klarte ikke å opprette mappen: - + Torrent Files Torrentfiler @@ -983,7 +1177,7 @@ Copyright © 2006 av Christophe Dumez<br> qBittorrent - + Are you sure? -- qBittorrent Er du sikker? -- qBittorrent @@ -1174,12 +1368,12 @@ Endringer: Pauset - + Preview process already running Forhåndsvisningen kjører allerede - + There is already another preview process running. Please close the other one first. En annen forhåndsvisning kjører alt. @@ -1224,7 +1418,7 @@ Vennligst avslutt denne først. Ønsker du å slette valgte element(er) i nedlastningslisten, og fra lagringsenheten? - + Download finished Nedlastingen er fullført @@ -1251,17 +1445,17 @@ Vennligst avslutt denne først. qBittorrent %1 - + Connection status: Tilkoblingsstatus: - + Offline Frakoblet - + No peers found... Ingen tjenere funnet... @@ -1326,18 +1520,18 @@ Vennligst avslutt denne først. qBittorrent %1 er startet. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Nedlastingshastighet: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Opplastingshastighet: %1 KiB/s @@ -1361,12 +1555,12 @@ Vennligst avslutt denne først. Laster ikke ned - + Are you sure you want to quit? Ønsker du å avslutte qBittorrent? - + '%1' was removed. 'xxx.avi' was removed. '%1' ble fjernet. @@ -1408,12 +1602,12 @@ Vennligst avslutt denne først. Lytter på port: %1 - + All downloads were paused. Alle nedlastinger ble pauset. - + '%1' paused. xxx.avi paused. '%1' pauset. @@ -1425,30 +1619,30 @@ Vennligst avslutt denne først. Kobler til... - + All downloads were resumed. Alle nedlastinger ble gjenopptatt. - + '%1' resumed. e.g: xxx.avi resumed. '%1' gjenopptatt. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 er ferdig nedlastet. - + I/O Error i.e: Input/Output Error Lese/Skrive feil - + 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 Det oppsto en feil ved lesing eller skriving til %1. Disken er mest sannsynelig full, nedlastingen har blitt pauset @@ -1460,23 +1654,23 @@ Vennligst avslutt denne først. Det har oppstått en feil (full disk?), '%1' er pauset. - + Connection Status: Tilkoblingsstatus: - + Online Tilkoblet - + Firewalled? i.e: Behind a firewall/router? Beskyttet av en brannmur? - + No incoming connections... Ingen innkommende tilkoblinger... @@ -1508,139 +1702,176 @@ Vennligst avslutt denne først. Laster ned '%1'... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Det har oppstått en feil (full disk?), '%1' er pauset. - + Search Søk - + RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Downloads - + Are you sure you want to delete the selected item(s) in finished list? - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -1883,24 +2114,24 @@ Are you sure you want to quit qBittorrent? Ja - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -1914,17 +2145,17 @@ Are you sure you want to quit qBittorrent? Søk - + Delete Slett - + Rename - + Refresh @@ -1934,118 +2165,133 @@ Are you sure you want to quit qBittorrent? Opprett - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent Er du sikker? -- qBittorrent - + &Yes &Ja - + &No &Nei - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -2053,13 +2299,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -2067,68 +2313,68 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Navn - + Size i.e: file size Størrelse - + Seeders i.e: Number of full sources Delere - + Leechers i.e: Number of partial sources Nedlastere - + Search engine Søkemotor - + Empty search pattern Ingen søketekst - + Please type a search pattern first Skriv en tekst å søke etter først No search engine selected - Ingen søkemotor valgt + Ingen søkemotor valgt You must select at least one search engine. - Du må velge minst en søkemotor. + Du må velge minst en søkemotor. - + Results Resultater - + Searching... Søker... Search plugin update -- qBittorrent - Oppdatering av søkeprogramtillegg -- qBittorrent + Oppdatering av søkeprogramtillegg -- qBittorrent @@ -2136,79 +2382,74 @@ Are you sure you want to quit qBittorrent? Changelog: - Søkeprogramtillegget kan oppdateres, ønsker du å oppdatere det nå? + Søkeprogramtillegget kan oppdateres, ønsker du å oppdatere det nå? Endringer: &Yes - &Ja + &Ja &No - &Nei + &Nei Search plugin update - Oppdatering av søkeprogramtillegget + Oppdatering av søkeprogramtillegget qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Oppdateringstjeneren er midlertidig utilgjengelig. + Oppdateringstjeneren er midlertidig utilgjengelig. Your search plugin is already up to date. - Ditt søkeprogramtillegg er allerede oppdatert. + Ditt søkeprogramtillegg er allerede oppdatert. - + Search Engine Søkemotor - + Search has finished Søket er ferdig - + An error occured during search... Det oppstod en feil under søket... - + Search aborted Søket er avbrutt - + Search returned no results Søket ga ingen resultater - + Results i.e: Search results Resultater - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. + + Unknown @@ -2301,17 +2542,17 @@ Endringer: Legg til torrent - + Save path: Filsti for nedlasting: - + ... ... - + Torrent content: Torrent innhold: @@ -2331,22 +2572,22 @@ Endringer: Valgt for nedlasting - + Download in correct order (slower but good for previewing) Last ned i riktig rekkefølge (tregere, men tilpasset forhåndsvisningen) - + Add to download list in paused state Legg til i nedlastningslisten som pauset - + Add Legg til - + Cancel Avbryt @@ -2366,22 +2607,22 @@ Endringer: velg - + Ignored - + Normal - + High - + Maximum @@ -2447,15 +2688,15 @@ Endringer: ... - ... + ... Create - Opprett + Opprett - + Cancel Avbryt @@ -2490,50 +2731,110 @@ Endringer: <center>Kommentarer:</center> - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) - - - - - Destination torrent file: - - - - + Web seeds urls (optional): + + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... + + createtorrent - + Select destination torrent file Velg torrent-målfil - + Torrent Files Torrentfiler @@ -2543,22 +2844,22 @@ Endringer: Velg inndata eller mappe - + No destination path set - Ingen målsti er angitt + Ingen målsti er angitt - + Please type a destination path first - Velg en målsti først + Velg en målsti først - + No input path set Ingen filsti for inndata er valgt - + Please type an input path first Velg en filsti for inndata først @@ -2573,12 +2874,12 @@ Endringer: Vennligst skriv en gyldig filsti til inndataene først - + Torrent creation Torrentfilen blir opprettet - + Torrent was created successfully: Vellykket opprettelse av torrentfil: @@ -2588,41 +2889,51 @@ Endringer: Velg en gyldig filsti for inndata først - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -2745,34 +3056,218 @@ Endringer: + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + Navn + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + Deaktiver + + + + Uninstall + + + + + engineSelectDlg + + + True + Ja + + + + False + Nei + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + Oppdatering av søkeprogramtillegget + + + + Sorry, update server is temporarily unavailable. + Oppdateringstjeneren er midlertidig utilgjengelig. + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -2790,7 +3285,7 @@ Endringer: timer - + Unknown ukjent @@ -2807,31 +3302,31 @@ Endringer: dager - + Unknown Unknown (size) Ukjent - + < 1m < 1 minute < 1 min - + %1m e.g: 10minutes %1min - + %1h%2m e.g: 3hours 5minutes %1time(r) %2min - + %1d%2h%3m e.g: 2days 10hours 2minutes %1dag(er) %2time(r) %3min @@ -2890,12 +3385,12 @@ Endringer: er ugyldig. - + Range Start IP Områdets start IP - + Start IP: Start IP: @@ -2910,22 +3405,22 @@ Endringer: Denne IPen er ugyldig. - + Range End IP Områdets slutt IP - + End IP: Slutt IP: - + IP Range Comment IP område kommentarer - + Comment: Kommentar: @@ -2933,55 +3428,78 @@ Endringer: to <min port> to <max port> - til + til - + Choose your favourite preview program Velg program for forhåndsvisning - + Invalid IP Ugyldig IP - + This IP is invalid. Denne IP adressen er ugyldig. - + Options were saved successfully. Innstillingene ble lagret. - + Choose scan directory Velg mappe for gjennomsøking - + Choose an ipfilter.dat file Velg en ipfilter.dat fil - + Choose a save directory Velg mappe for lagring - + I/O Error Input/Output Error Lese/Skrive feil - + Couldn't open %1 in read mode. Klarte ikke å åpne %1 i lesemodus. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -3061,7 +3579,7 @@ Endringer: Nedlastningstilstand: - + OK OK @@ -3106,7 +3624,7 @@ Endringer: Tildeler - + Unknown Ukjent @@ -3121,12 +3639,12 @@ Endringer: Delvis: - + Files contained in current torrent: Filer i denne torrenten: - + Size Størrelse @@ -3151,32 +3669,32 @@ Endringer: Velg hvilke filer du ønsker å laste ned fra den gjeldende torrenten. - + Tracker Sporingstjener - + Trackers: Sporingstjenere: - + None - Unreachable? Ingen - Utilgjengelig? - + Errors: Feil: - + Progress Fremgang - + Main infos Hovedinformasjon @@ -3186,27 +3704,27 @@ Endringer: Antall nedlastere: - + Current tracker: Nåværende sporingstjener: - + Total uploaded: Totalt opplastet: - + Total downloaded: Totalt nedlastet: - + Total failed: Totalt antall feilet: - + Torrent content Torrentinnhold @@ -3216,7 +3734,7 @@ Endringer: Innstillinger - + Download in correct order (slower but good for previewing) Last ned i riktig rekkefølge (tregere, men tilpasset forhåndsvisningen) @@ -3236,204 +3754,219 @@ Endringer: Delingsforhold: - + Save path: Filsti for nedlastinger: - + Torrent infos - + Creator: - + Torrent hash: - + Comment: Kommentar: - + Current session - + Share ratio: Delingsforhold: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name Filnavn - + Priority - + qBittorrent qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message Ingen - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search Søk Search Engines - Søkemotorer + Søkemotorer - + Search Pattern: Søketekst: - + Stop Stopp - + Status: Status: - + Stopped Stoppet - + Results: Resultater: - + Download Last ned - + Clear Nullstill Update search plugin - Oppdater søkeprogramtillegget + Oppdater søkeprogramtillegget + + + + Search engines... + @@ -3492,57 +4025,57 @@ Endringer: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -3555,17 +4088,17 @@ Endringer: Ja - + Unable to decode torrent file: Klarte ikke å dekode torrentfilen: - + This file is either corrupted or this isn't a torrent. Denne filen er enten ødelagt, eller det er ikke en torrent. - + Choose save path Velg filsti for nedlasting @@ -3575,52 +4108,52 @@ Endringer: Nei - + Empty save path Ingen filsti oppgitt - + Please enter a save path Velg en filsti for nedlasting - + Save path creation error Feil ved oprettelsen av filsti - + Could not create the save path Kunne ikke opprette nedlastingsfilstien - + Invalid file selection Ugyldig valg av filer - + You must select at least one file in the torrent Du må velge minst en fil fra torrenten - + File name Filnavn - + Size Størrelse - + Progress - + Priority diff --git a/src/lang/qbittorrent_nl.qm b/src/lang/qbittorrent_nl.qm index 2da60e2f67f86c28a097d3f8d47a33a71cb4a850..8d0f905b6843d630aa0a3dacbdf7ec08ae8eb3ac 100644 GIT binary patch delta 14391 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 HwrKtjo9Npb delta 9366 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 Options - Instellingen + Instellingen Main - Algemeen + Algemeen Scanned Dir: - Gescande map: + Gescande map: - + ... ... Save Path: - Opslaan pad: + Opslaan pad: @@ -265,27 +265,27 @@ Copyright 2006 door Christophe Dumez<br> Download Limit: - Downloadlimiet: + Downloadlimiet: Upload Limit: - Uploadlimiet: + Uploadlimiet: Max Connects: - Maximale aantal verbindingen: + Maximale aantal verbindingen: - + Port range: Poort reeks: Share ratio: - Deelratio: + Deelratio: @@ -295,12 +295,12 @@ Copyright 2006 door Christophe Dumez<br> Disable - Uitschakelen + Uitschakelen connections - verbindingen + verbindingen @@ -320,30 +320,30 @@ Copyright 2006 door Christophe Dumez<br> Enable directory scan (auto add torrent files inside) - Mappen scannen inschakelen (torrent bestanden automatisch toevoegen) + Mappen scannen inschakelen (torrent bestanden automatisch toevoegen) - + IP Filter - IP Filter + IP Filter - + Activate IP Filtering IP filteren activeren - + Filter Settings Filterinstellingen - + Add Range Reeks toevoegen - + Remove Range Reeks verwijden @@ -353,37 +353,37 @@ Copyright 2006 door Christophe Dumez<br> ip[filter.dat URL of pad: - + Start IP Begin IP - + End IP Eind IP - + Origin Oorsprong - + Comment Commentaar Proxy - Proxy + Proxy Enable connection through a proxy server - Verbinden via een proxy server inschakelen + Verbinden via een proxy server inschakelen - + Proxy Settings Proxyinstellingen @@ -393,39 +393,39 @@ Copyright 2006 door Christophe Dumez<br> Server IP: - + 0.0.0.0 0.0.0.0 - + Port: Poort: - + Authentication Authenticatie User Name: - Gebruikersnaam: + Gebruikersnaam: - + Password: Wachtwoord: Proxy server requires authentication - Proxy server vereist authenticatie + Proxy server vereist authenticatie Language - Taal + Taal @@ -490,7 +490,7 @@ Copyright 2006 door Christophe Dumez<br> ipfilter.dat Path: - ipfilter.dat pad: + ipfilter.dat pad: @@ -505,27 +505,27 @@ Copyright 2006 door Christophe Dumez<br> Go to systray when minimizing window - Ga naar systeemvak bij venster minimaliseren + Ga naar systeemvak bij venster minimaliseren - + Misc Overig Localization - Taalinstellingen + Taalinstellingen - + Language: Taal: Behaviour - Gedrag + Gedrag @@ -548,19 +548,19 @@ Copyright 2006 door Christophe Dumez<br> OSD nooit weergeven - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP max. + KiB UP max. @@ -578,14 +578,14 @@ Copyright 2006 door Christophe Dumez<br> Verwijder automatish downloads die gereed zijn - + Preview program Kijk vooruit op het programma Audio/Video player: - Audio/Video Speler: + Audio/Video Speler: @@ -595,213 +595,492 @@ Copyright 2006 door Christophe Dumez<br> Always display systray messages - Altijd systeemvak berichten weergeven + Altijd systeemvak berichten weergeven Display systray messages only when window is hidden - Systeemvak berichten alleen weergeven als het venster verborgen is + Systeemvak berichten alleen weergeven als het venster verborgen is Never display systray messages - Systeemvak berichten nooit weergeven + Systeemvak berichten nooit weergeven DHT configuration - DHT configuratie + DHT configuratie DHT port: - DHT poort: + DHT poort: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Let op:</b> Veranderingen worden toegepast na herstarten van qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Vertalers opmerking:</b> Wanneer qBittorrent niet beschikbaar is in uw taal,<br/>en u zou willen vertalen in uw eigen taal,<br/>neem alstublieft contact op met chris@qbittorrent.org. + <b>Vertalers opmerking:</b> Wanneer qBittorrent niet beschikbaar is in uw taal,<br/>en u zou willen vertalen in uw eigen taal,<br/>neem alstublieft contact op met chris@qbittorrent.org. Display a torrent addition dialog everytime I add a torrent - Geef een torrent toevoegen dialoog weer elke keer als ik een torrent toevoeg + Geef een torrent toevoegen dialoog weer elke keer als ik een torrent toevoeg Default save path - Standaard oplag pad + Standaard oplag pad Disable DHT (Trackerless) - DHT (geen tracker) uitschakelen + DHT (geen tracker) uitschakelen Disable Peer eXchange (PeX) - Peer eXchange (PeX) uitschakelen + Peer eXchange (PeX) uitschakelen Go to systray when closing main window - Ga naar systeemvak bij venster sluiten + Ga naar systeemvak bij venster sluiten - + Connection Verbinding Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) DHT (trackerless) - DHT (geen tracker) + DHT (geen tracker) Torrent addition - Torrents toevoegen + Torrents toevoegen Main window - Hoofdvenster + Hoofdvenster Systray messages - Systeemvak berichten + Systeemvak berichten Directory scan - Map scannen + Map scannen Style (Look 'n Feel) - Stijl (Look 'n Feel) + Stijl (Look 'n Feel) - + Plastique style (KDE like) Plastique stijl (zoals KDE) Cleanlooks style (GNOME like) - Cleanlooks stijl (zoals GNOME) + Cleanlooks stijl (zoals GNOME) Motif style (default Qt style on Unix systems) - Motif stijl (standaard Qt stijl op Unix systemen) + Motif stijl (standaard Qt stijl op Unix systemen) - + CDE style (Common Desktop Environment like) CDE stijl (zoals Common Desktop Environment) MacOS style (MacOSX only) - MacOS stijl (alleen MacOSX) + MacOS stijl (alleen MacOSX) Exit confirmation when the download list is not empty - Toestemming vragen om af te sluiten als de downloadlijst niet leeg is + Toestemming vragen om af te sluiten als de downloadlijst niet leeg is Disable systray integration - Systeemvak integratie uitschakelen + Systeemvak integratie uitschakelen WindowsXP style (Windows XP only) - WindowsXP stijl (alleen Windows XP) + WindowsXP stijl (alleen Windows XP) Server IP or url: - Server IP of url: + Server IP of url: Proxy type: - Proxy type: + Proxy type: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Beïnvloedde verbindingen - + Use proxy for connections to trackers Proxy gebruiken voor verbindingen met tracker - + Use proxy for connections to regular peers Proxy gebruiken voor verbindingen met normale peers - + Use proxy for connections to web seeds Proxy gebruiken voor verbindingen met web seeds - + Use proxy for DHT messages Proxy gebruiken voor DHT berichten Encryption - Encryptie + Encryptie Encryption state: - Encryptie: + Encryptie: - + Enabled Ingeschakeld - + Forced Geforceerd - + Disabled Uitgeschakeld + + + Preferences + Voorkeuren + + + + General + Algemeen + + + + User interface settings + User interface instellingen + + + + Visual style: + Visuele stijl: + + + + Cleanlooks style (Gnome like) + Cleanlooks stijl (zoals Gnome) + + + + Motif style (Unix like) + Motif stijl (zoals Unix) + + + + Ask for confirmation on exit when download list is not empty + Toestemming vragen tijdens afsluiten als de downloadlijst niet leeg is + + + + Display current speed in title bar + Huidige snelheid weergeven in titelbalk + + + + System tray icon + Systeemvakicoon + + + + Disable system tray icon + Systeemvakicon uitschakelen + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Sluiten naar systeemvak + + + + Minimize to tray + Minimaliseren naar systeemvak + + + + Show notification balloons in tray + Notificaties weergeven in systeemvak + + + + Media player: + Mediaspeler: + + + + Downloads + Downloads + + + + Put downloads in this folder: + Downloads in deze map plaatsen: + + + + Pre-allocate all files + Schijfruimte vooraf toewijzen voor alle bestanden + + + + When adding a torrent + Tijdens torrent toevoegen + + + + Display torrent content and some options + Torrentinhoud en enkele opties weergeven + + + + Do not start download automatically + The torrent will be added to download list in pause state + Download niet automatisch starten + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Map in de gaten houden + + + + Automatically download torrents present in this folder: + Automatisch aanwezige torrents in deze map downloaden: + + + + Listening port + Luisterpoort + + + + to + i.e: 1200 to 1300 + tot + + + + Enable UPnP port mapping + UPnP port mapping inschakelen + + + + Enable NAT-PMP port mapping + NAT-PMP port mapping inschakelen + + + + Global bandwidth limiting + Globaal bandbreedtelimiet + + + + Upload: + Upload: + + + + Download: + Download: + + + + Type: + Type: + + + + (None) + (Geen) + + + + Proxy: + Proxy: + + + + Username: + Gebruikersnaam: + + + + Bittorrent + Bittorrent + + + + Connections limit + Verbindingslimiet + + + + Global maximum number of connections: + Globaal verbindingslimiet: + + + + Maximum number of connections per torrent: + Verbindingslimiet per torrent: + + + + Maximum number of upload slots per torrent: + Maximum aantal uploads per torrent: + + + + Additional Bittorrent features + Extra Bittorrent mogelijkheden + + + + Enable DHT network (decentralized) + DHT (gedecentraliseerd) netwerk inschakelen + + + + Enable Peer eXchange (PeX) + Peer eXchange (PeX) inschakelen + + + + Enable Local Peer Discovery + Local Peer Discovery inschakelen + + + + Encryption: + Encryptie: + + + + Share ratio settings + Deel ratio instellingen + + + + Desired ratio: + Gewenste ratio: + + + + Filter file path: + Filterbestand pad: + + + + transfer lists refresh interval: + Overdrachtlijsten vernieuwingsinterval: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + RSS feeds vernieuwingsinterval: + + + + minutes + minuten + + + + Maximum number of articles per feed: + Maximum aantal artikelen per feed: + + + + File system + Bestandssysteem + + + + Remove finished torrents when their ratio reaches: + Complete torrents verwijderen bij een ratio van: + + + + System default + + DownloadingTorrents @@ -870,51 +1149,51 @@ Copyright 2006 door Christophe Dumez<br> <font color='red'>%1</font> <i>is geblokkeerd</i> - + Fast resume data was rejected for torrent %1, checking again... Snelle vervatting voor torrent %1 mislukt. Bezig met opnieuw controleren... - + Url seed lookup failed for url: %1, message: %2 Url seed raadpleging mislukt voor url: %1, bericht: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' toegevoegd aan de downloadlijst. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' hervat. (snelle hervatting) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' staat al in de downloadlijst. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Torrentbestand kan niet worden gedecodeerd: '%1' - + This file is either corrupted or this isn't a torrent. Dit bestand is beschadigd of is geen torrent. - + Couldn't listen on any of the given ports. Kan niet luisteren op de aangegeven poorten. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Bezig met downloaden van '%1', even geduld alstublieft... @@ -1007,7 +1286,7 @@ Copyright 2006 door Christophe Dumez<br> gestart. - + qBittorrent qBittorrent @@ -1027,12 +1306,12 @@ Copyright 2006 door Christophe Dumez<br> UP snelheid: - + Open Torrent Files Open Torrent bestanden - + Torrent Files Torrent bestanden @@ -1078,7 +1357,7 @@ Copyright 2006 door Christophe Dumez<br> Dit bestand is corrupt of is geen torrent. - + Are you sure? -- qBittorrent Weet u het zeker? -- qBittorrent @@ -1088,12 +1367,12 @@ Copyright 2006 door Christophe Dumez<br> Weet u zeker dat u alle bestanden uit de downloadlijst wilt verwijderen? - + &Yes &Ja - + &No &Nee @@ -1103,7 +1382,7 @@ Copyright 2006 door Christophe Dumez<br> Downloadlijst leeg gemaakt. - + Are you sure you want to delete the selected item(s) in download list? Weet u zeker dat u de geselecteerde bestanden uit de downloadlijst wilt verwijderen? @@ -1187,7 +1466,7 @@ Copyright 2006 door Christophe Dumez<br> /s - + Finished Klaar @@ -1412,12 +1691,12 @@ Changelog: Gepauzeerd - + Preview process already running Vooruitkijk proccess is al bezig - + There is already another preview process running. Please close the other one first. Er is al een ander vooruitkijk proccess actief. @@ -1453,7 +1732,7 @@ Stop het eerste proccess eerst. Overdrachten - + Download finished Download afgerond @@ -1485,17 +1764,17 @@ Stop het eerste proccess eerst. qBittorrent %1 - + Connection status: Verbindingsstatus: - + Offline Offline - + No peers found... Geen peers gevonden... @@ -1560,13 +1839,13 @@ Stop het eerste proccess eerst. qBittorrent %1 gestart. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL snelheid: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UP snelheid: %1 KiB/s @@ -1590,12 +1869,12 @@ Stop het eerste proccess eerst. Stilstaand - + Are you sure you want to quit? Weet u zeker dat u wilt afsluiten? - + '%1' was removed. 'xxx.avi' was removed. '%1' is verwijderd. @@ -1637,12 +1916,12 @@ Stop het eerste proccess eerst. Aan het luisteren op poort: %1 - + All downloads were paused. Alle downloads gepauzeerd. - + '%1' paused. xxx.avi paused. '%1' gepauzeerd. @@ -1654,52 +1933,52 @@ Stop het eerste proccess eerst. Verbinding maken... - + All downloads were resumed. Alle downloads hervat. - + '%1' resumed. e.g: xxx.avi resumed. '%1' hervat. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 is klaar met downloaden. - + I/O Error i.e: Input/Output Error I/O Fout - + 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 Een fout is opgetreden tijdens het lezen of schrijven van %1. De schijf is waarschijnlijk vol, de download is gepauzeerd - + Connection Status: Verbindingsstatus: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Geblokkeerd? - + No incoming connections... Geen inkomende verbindingen... @@ -1731,140 +2010,177 @@ Stop het eerste proccess eerst. Bezig met downloaden van '%1', even geduld alstublieft... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Er is een fout opgetreden (schijf vol?), '%1' gepauzeerd. - + Search Zoeken - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent is verbonden aan poort: %1 - + DHT support [ON], port: %1 DHT ondersteuning [AAN], poort: %1 - + DHT support [OFF] DHT ondersteuning [UIT] - + PeX support [ON] PeX ondersteuning [AAN] - + PeX support [OFF] PeX ondersteuning [UIT] - + The download list is not empty. Are you sure you want to quit qBittorrent? De downloadlijst is niet leeg. Weet u zeker dat u qBittorrent wilt afsluiten? - + Downloads Downloads - + Are you sure you want to delete the selected item(s) in finished list? Weet u zeker dat u de geselecteerde item(s) wilt verwijderen van de voltooidlijst? - + UPnP support [ON] UPnP ondersteuning [AAN] - + Encryption support [ON] Encryptie ondersteuning [AAN] - + Encryption support [FORCED] Encryptie ondersteuning [GEFORCEERD] - + Encryption support [OFF] Encryptie ondersteuning [UIT] - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Url download fout - + Couldn't download file at url: %1, reason: %2. Kon bestand niet downloaden vanaf url: %1, reden: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Weet u zeker dat u de geselecteerde item(s) wilt verwijderen van de downloadlijst en de harde schijf? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Weet u zeker dat u de geselecteerde item(s) wilt verwijderen van de voltooidlijst en de harde schijf? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' is permanent verwijderd. - + Alt+3 shortcut to switch to third tab Alt+3 - + Ctrl+F shortcut to switch to search tab Ctrl+F + + + UPnP support [OFF] + UPnP ondersteuning [UIT] + + + + NAT-PMP support [ON] + NAT-PMP ondersteuning [AAN] + + + + NAT-PMP support [OFF] + NAT-PMP ondersteuning [UIT] + + + + Local Peer Discovery [ON] + Local Peer Discovery [AAN] + + + + Local Peer Discovery support [OFF] + Local Peer Discovery ondersteuning [UIT] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' is verwijderd omdat de ratio de maximale ingestelde waarde heeft bereikt. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + MainWindow @@ -2182,24 +2498,24 @@ Weet u zeker dat u qBittorrent wilt afsluiten? Waar - + Ignored Genegeerd - + Normal Normal (priority) Normaal - + High High (priority) Hoog - + Maximum Maximum (priority) Maximum @@ -2221,17 +2537,17 @@ Weet u zeker dat u qBittorrent wilt afsluiten? Zoeken - + Delete Verwijderen - + Rename Hernoemen - + Refresh Vernieuwen @@ -2241,118 +2557,133 @@ Weet u zeker dat u qBittorrent wilt afsluiten? Maken - + Delete selected streams Geselecteerde stream verwijderen - + Refresh RSS streams Vernieuw RRS streams - + Add a new RSS stream Voeg een nieuwe RSS stream toe - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Nieuws:</b> <i>(dubbel-klik om de link in uw webbrowser te openen)</i> - + Add RSS stream RSS stream toevoegen - + Refresh all streams Alle streams vernieuwen - + RSS streams: RSS streams: - + 2 2 + + + Mark all as read + Alles markeren als gelezen + RSSImp - + Please type a rss stream url Geef alstublieft een rss stream url - + Stream URL: Stream URL: - + Please choose a new name for this stream Kies een nieuwe naam voor deze stream - + New stream name: Nieuwe stream naam: - + Are you sure? -- qBittorrent Weet u het zeker? -- qBittorrent - + &Yes &Ja - + &No &Nee - + Are you sure you want to delete this stream from the list? Weet u zeker dat u deze stream van de lijst wilt verwijderen? - + Description: Omschrijving: - + url: url: - + Last refresh: Laatste vernieuwing: - + qBittorrent qBittorrent - + This rss feed is already in the list. Deze rss feed staat al in de lijst. + + + Date: + Datum: + + + + Author: + Auteur: + RssItem - + No description available Geen omschrijving beschikbaar @@ -2360,13 +2691,13 @@ Weet u zeker dat u qBittorrent wilt afsluiten? RssStream - + %1 ago 10min ago %1 geleden - + Never Nooit @@ -2374,68 +2705,68 @@ Weet u zeker dat u qBittorrent wilt afsluiten? SearchEngine - + Name i.e: file name Naam - + Size i.e: file size Grootte - + Seeders i.e: Number of full sources Uploaders - + Leechers i.e: Number of partial sources Downloaders - + Search engine Zoekmachine - + Empty search pattern Leeg zoekpatroon - + Please type a search pattern first Type alstublieft eerst een zoekpatroon No search engine selected - Geen zoekmachine gekozen + Geen zoekmachine gekozen You must select at least one search engine. - U moet tenminste een zoekmachine kiezen. + U moet tenminste een zoekmachine kiezen. - + Results Resultaten - + Searching... Zoeken... Search plugin update -- qBittorrent - Zoeken plugin update -- qBittorrent + Zoeken plugin update -- qBittorrent @@ -2443,7 +2774,7 @@ Weet u zeker dat u qBittorrent wilt afsluiten? Changelog: - Zoeken plugin kan bijgewerkt worden, wilt u het bijwerken? + Zoeken plugin kan bijgewerkt worden, wilt u het bijwerken? Changelog: @@ -2451,60 +2782,60 @@ Changelog: &Yes - &Ja + &Ja &No - &Nee + &Nee Search plugin update - Zoekplugin update + Zoekplugin update qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Sorry, update server is tijdelijk niet bereikbaar. + Sorry, update server is tijdelijk niet bereikbaar. Your search plugin is already up to date. - Uw zoeken plugin is al bijgewerkt. + Uw zoeken plugin is al bijgewerkt. - + Search Engine Zoekmachine - + Search has finished Zoeken is klaar - + An error occured during search... Een fout trad op tijdens zoeken... - + Search aborted Zoeken afgebroken - + Search returned no results Zoeken gaf geen resultaten - + Results i.e: Search results Resultaten @@ -2512,12 +2843,17 @@ Changelog: Search plugin download error - Zoeken plugin download fout + Zoeken plugin download fout Couldn't download search plugin update at url: %1, reason: %2. - Kon zoeken plugin update niet downloaden met url: %1, reden: %2. + Kon zoeken plugin update niet downloaden met url: %1, reden: %2. + + + + Unknown + Onbekend @@ -2619,17 +2955,17 @@ Changelog: Torrent toevoegen dialoog - + Save path: Opslag pad: - + ... ... - + Torrent content: Torrent inhoud: @@ -2649,22 +2985,22 @@ Changelog: Geselecteerd - + Download in correct order (slower but good for previewing) Download in juiste volgorde (langzamer maar goed voor vooruitblikken) - + Add to download list in paused state Aan download lijst toevoegen in pauze stand - + Add Toevoegen - + Cancel Annuleren @@ -2679,22 +3015,22 @@ Changelog: Selecteren - + Ignored Genegeerd - + Normal Normaal - + High Hoog - + Maximum Maximum @@ -2760,15 +3096,15 @@ Changelog: ... - ... + ... Create - Maken + Maken - + Cancel Annuleren @@ -2803,50 +3139,125 @@ Changelog: <center>Opmerkingen:</center> - + Torrent file creation Torrentbestand maken Input files or directories: - Bronbestanden of mappen: + Bronbestanden of mappen: - + Announce urls (trackers): Announce urls (trackers): - + Comment (optional): Commentaar (optioneel): Private (won't be distributed on trackerless network / DHT if enabled) - Privé (wordt niet verdeeld op trackerloze netwerken / DHT wanneer ingeschakeld) + Privé (wordt niet verdeeld op trackerloze netwerken / DHT wanneer ingeschakeld) Destination torrent file: - Bestemming torrentbestand: + Bestemming torrentbestand: - + Web seeds urls (optional): Web seeds urls (optioneel): + + + File or folder to add to the torrent: + Bestand of map om toe te voegen aan de torrent: + + + + Add a file + Bestand toevoegen + + + + Add a folder + Map toevoegen + + + + Piece size: + Stukgrootte: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Privé (wordt niet verdeeld op het DHT netwerk indien ingeschakeld) + + + + Start seeding after creation + Begin met delen na creatie + + + + Create and save... + Aanmaken en opslaan... + createtorrent - + Select destination torrent file Kies torrent doelbestand - + Torrent Files Torrent bestanden @@ -2856,22 +3267,22 @@ Changelog: Kies bron map of bestand - + No destination path set - Geen doel pad gekozen + Geen doel pad gekozen - + Please type a destination path first - Geef alstublieft eerst een doel pad + Geef alstublieft eerst een doel pad - + No input path set Geen bron pad gekozen - + Please type an input path first Geef alstublieft eerst een doel pad @@ -2886,12 +3297,12 @@ Changelog: Geef alstublieft eerst een geldig bron pad - + Torrent creation Torrent maken - + Torrent was created successfully: Torrent was succesvol gemaakt: @@ -2901,41 +3312,56 @@ Changelog: Geef alstublieft eerst een geldig invoer pad - + Select a folder to add to the torrent Selecteer een map om toe te voegen aan de torrent Select files to add to the torrent - Selecteer bestanden om toe te voegen aan de torrent + Selecteer bestanden om toe te voegen aan de torrent - + Please type an announce URL Type een announce URL - + Torrent creation was unsuccessful, reason: %1 Fout tijdens het maken van torrent, reden: %1 - + Announce URL: Tracker URL Announce URL: - + Please type a web seed url Type een web seed url - + Web seed URL: Web seed URL: + + + Select a file to add to the torrent + Selecteer een bestand om toe te voegen aan de torrent + + + + No tracker path set + Geen tracker pad gekozen + + + + Please set at least one tracker + Kies op zijn minst één tracker + downloadFromURL @@ -3058,34 +3484,255 @@ Changelog: Torrent eigenschappen + + engineSelect + + + Search plugins + Zoekplugins + + + + Installed search engines: + Geïnstalleerde zoekplugins: + + + + Name + Naam + + + + Url + Url + + + + Enabled + Ingeschakeld + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + U kan hier nieuwe zoekplugins krijgen: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Installeer een nieuwe + + + + Check for updates + Controleer op updates + + + + Close + Sluiten + + + + Enable + Inschakelen + + + + Disable + Uitschakelen + + + + Uninstall + Deïnstalleren + + + + engineSelectDlg + + + True + Waar + + + + False + Onwaar + + + + Uninstall warning + Deïnstallatie waarschuwing + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Niet alle plugins konden worden gedeïnstalleerd omdat ze bij qBittorrent horen. +Alleen de door u toegevoegde plugins kunnen worden gedeïnstalleerd. +De plugins zijn uitgeschakeld. + + + + Uninstall success + Deïnstallatie succesvol + + + + All selected plugins were uninstalled successfuly + Alle gekozen plugins zijn succesvol gedeïnstalleerd + + + + Select search plugins + Kies zoekplugins + + + + qBittorrent search plugins + qBittorrent zoekplugins + + + + Search plugin install + Zoekplugins installatie + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Een nieuwere versie van %1 zoekmachineplugin is al geïnstalleerd. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + %1 zoekmachineplugin is succesvol vernieuwd. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + %1 zoekmachineplugin is succesvol geïnstalleerd. + + + + Search plugin update + Zoekplugin update + + + + Sorry, update server is temporarily unavailable. + Sorry, updateserver is tijdelijk niet bereikbaar. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + %1 zoekplugin is succesvol vernieuwd. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Sorry, %1 zoekplugin update mislukt. + + + + All your plugins are already up to date. + Uw plugins zijn al het nieuwst. + + + + All selected plugins were uninstalled successfully + Alle gekozen plugins zijn succesvol gedeïnstalleerd + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 zoekmachineplugin kon niet worden vernieuwd. Oude versie wordt behouden. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1 zoekmachineplugin kon niet worden geïnstalleerd. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1 zoekmachineplugin is succesvol vernieuwd. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1 zoekmachineplugin is succesvol geïnstalleerd. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + %1 zoekplugin is succesvol vernieuwd. + + + + Search engine plugin archive could not be read. + Zoekmachineplugin bestand kon niet worden gelezen. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + %1 zoekplugin installatie mislukt. + + + + New search engine plugin URL + Nieuwe zoekmachineplugin URL + + + + URL: + URL: + + misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3109,7 +3756,7 @@ Changelog: d - + Unknown Onbekend @@ -3126,31 +3773,31 @@ Changelog: d - + Unknown Unknown (size) Onbekend - + < 1m < 1 minute < 1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1u%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2u%3m @@ -3209,12 +3856,12 @@ Changelog: is onjuist geformuleerd. - + Range Start IP Reeks Begin IP - + Start IP: Begin IP: @@ -3229,22 +3876,22 @@ Changelog: Dit IP is incorrect. - + Range End IP Reeks Einde IP - + End IP: Einde IP: - + IP Range Comment IP Reeks Opmerkingen - + Comment: Opmerkingen: @@ -3252,55 +3899,78 @@ Changelog: to <min port> to <max port> - naar + naar - + Choose your favourite preview program Kies uw favoriete vooruitblik programma - + Invalid IP Ongeldig IP - + This IP is invalid. Dit IP is ongeldig. - + Options were saved successfully. Opties zijn succesvol opgeslagen. - + Choose scan directory Kies scanmap - + Choose an ipfilter.dat file Kies een ipfilter.dat bestand - + Choose a save directory Kies een opslagmap - + I/O Error Input/Output Error I/O Fout - + Couldn't open %1 in read mode. Kon %1 niet openen om te lezen. + + pluginSourceDlg + + + Plugin source + Pluginbron + + + + Search plugin source: + Zoekpluginbron: + + + + Local file + Lokaal bestand + + + + Web link + Weblink + + preview @@ -3366,7 +4036,7 @@ selecteer alstublieft een er van: Torrent eigenschappen - + OK OK @@ -3411,12 +4081,12 @@ selecteer alstublieft een er van: Bestandsnaam - + Tracker Tracker - + Trackers: Trackers: @@ -3426,7 +4096,7 @@ selecteer alstublieft een er van: Huidige tracker: - + Errors: Fouten: @@ -3436,7 +4106,7 @@ selecteer alstublieft een er van: Torrent inhoud - + Files contained in current torrent: Bestanden in de huidige torrent: @@ -3456,7 +4126,7 @@ selecteer alstublieft een er van: U kan hier precies selecteren welke bestanden uit de huidige torrent u wilt downloaden. - + Size Grootte @@ -3506,12 +4176,12 @@ selecteer alstublieft een er van: Locatie toekennen - + None - Unreachable? Geen - Onbereikbaar? - + Unknown Onbekend @@ -3536,12 +4206,12 @@ selecteer alstublieft een er van: Waar - + Progress Voortgang - + Main infos Hoofdinformatie @@ -3551,27 +4221,27 @@ selecteer alstublieft een er van: Aantal peers: - + Current tracker: Huidige tracker: - + Total uploaded: Totaal geüpload: - + Total downloaded: Totaal gedownload: - + Total failed: Totaal gefaald: - + Torrent content Torrent inhoud @@ -3581,7 +4251,7 @@ selecteer alstublieft een er van: Instellingen - + Download in correct order (slower but good for previewing) Download in juiste volgorde (langzamer maar goed voor vooruitblikken) @@ -3601,204 +4271,219 @@ selecteer alstublieft een er van: Downloaders: - + Save path: Opslag pad: - + Torrent infos Torrent informatie - + Creator: Maker: - + Torrent hash: Torrent hash: - + Comment: Opmerkingen: - + Current session Huidige sessie - + Share ratio: Deelratio: - + Trackers Trackers - + New tracker Nieuwe tracker - + New tracker url: Nieuwe tracker url: - + Priorities: Prioriteiten: - + Normal: normal priority. Download order is dependent on availability Normaal: normale prioriteit. Downloadvolgorde is afhankelijk van beschikbaarheid - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Hoog: hoger dan normale prioriteit. Stukken worden geprefereerd over stukken met dezelfde beschikbaarheid maar niet over stukken met lagere beschikbaarheid - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximum: maximale prioriteit, beschikbaarheid doet er niet toe, het stuk wordt geprefereerd over elk ander stuk met lagere prioriteit - + File name Bestandsnaam - + Priority Prioriteit - + qBittorrent qBittorrent - + Trackers list can't be empty. Trackerlijst kan niet leeg zijn. - + Ignored: file is not downloaded at all Genegeerd: bestand wordt niet gedownload - + Ignored Genegeerd - + Normal Normaal - + Maximum Maximum - + High Hoog - + Url seeds Url seeds - + New url seed: Nieuwe url seed: - + This url seed is already in the list. Deze url seed staat al in de lijst. - + None i.e: No error message Geen - + New url seed New HTTP source Nieuwe url seed - + The following url seeds are available for this torrent: De volgende url seeds zijn beschikbaar voor deze torrent: + + + Priorities error + Prioriteitsfout + + + + Error, you can't filter all the files in a torrent. + Fout: je kan niet alle bestanden filteren in een torrent. + search_engine - + Search Zoeken Search Engines - Zoekmachines + Zoekmachines - + Search Pattern: Zoekpatroon: - + Stop Stop - + Status: Status: - + Stopped Gestopt - + Results: Resultaten: - + Download Download - + Clear Wissen Update search plugin - Zoeken plugin bijwerken + Zoeken plugin bijwerken + + + + Search engines... + Zoekmachines... @@ -3857,57 +4542,57 @@ selecteer alstublieft een er van: subDownloadThread - + Host is unreachable Host is onbereikbaar - + File was not found (404) Bestand niet gevonden (404) - + Connection was denied Verbinding niet toegestaan - + Url is invalid Url is ongeldig - + Connection forbidden (403) Verbinding verboden (403) - + Connection was not authorized (401) Verbinding niet geauthoriseerd (401) - + Content has moved (301) Inhoud is verplaatst (301) - + Connection failure Verbindingsfout - + Connection was timed out Verbinding verlopen - + Incorrect network interface Verkeerde netwerkinterface - + Unknown error Onbekende fout @@ -3920,17 +4605,17 @@ selecteer alstublieft een er van: Waar - + Unable to decode torrent file: Torrentfile kan niet gedecodeerd worden: - + This file is either corrupted or this isn't a torrent. Dit bestand is corrupt of is geen torrent. - + Choose save path Kies opslag pad @@ -3940,52 +4625,52 @@ selecteer alstublieft een er van: Onwaar - + Empty save path Leeg opslag pad - + Please enter a save path Geef alstublieft een opslag pad - + Save path creation error Opslag pad aanmaak fout - + Could not create the save path Kon het opslag pad niet aanmaken - + Invalid file selection Ongeldige bestand selectie - + You must select at least one file in the torrent U moet tenminste een bestand in de torrent selecteren - + File name Bestandsnaam - + Size Grootte - + Progress Voortgang - + Priority Prioriteit diff --git a/src/lang/qbittorrent_pl.qm b/src/lang/qbittorrent_pl.qm index ccab1b02d1bb85b007ef74c969e4720eaf889ad0..ade53a74382c8f68553df2b61012e7a38ab4c101 100644 GIT binary patch delta 14913 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 vqaHrxBNj>x) zk!lVF)T0?L){;7J2pE)kGemWQ%n78PmIEy;B=x+P!M&t@N)5gnqQ)XKS7w9ELo%Q5ArM9Cc>VZ;M8Xvk$Eoj}9m zR)8}p=e=FvCCXiKi%1_!W4FEr&Xl>C@=`y+{T1-<;2rQ&B0~ar0~|x+`@n35Dw%;N zsBpUt58k24@0Jr8RWdVWdSyN#^W6|l8Y-Fv0Zl__>hiT<1xU2>_f1>`FSc?3;SF8%Cu4GzRkFQROSVlcc|JA0V74KU*ZC* zY4!T+;5pj1RYer_Fa`Hwz^JqI$G>2rXgz(kAMZ!cpu4Z6fiDOa%Qd1HQ4lj%fOUd+ z`7Q-0<^y4b8!yK86Y`VbG_fxVC3~MGYNHoQ&U7Sd8z*f3-~-SjZ0XvGsGUi8=8-yZ zjqv=0SfV(S%y}};2q!HCMDcBf^9y6Z1HzSSnc!{V<}*`?+7D8+O)LdhaRzX4L(%)E zT0~inV$_A+;Ce-=3j-&JGUq93m%NPoXB7()i^1;|bp|+V$9$P<70axnaDPp)yy9b` zP9G>%?R%K0vq7=#hu6SVnY$Fv>HkP1Mk!v4Jp-;&{5dOtfy7S~pV$y~UAic4ShB%W ziXYFPC+ZrhR86}9W-DW2MDVmS;fLYiKb3t{j}Ue9DO25xiMlURmMn(qyT7EI`Nc`1 z9#KliC@iE$k<#@iEf`cTZG=zs?5bSW=m2Lan-rL*=Mm*20Tq%(uffVkB>H3?S8j-g zq`ht_FXs*YhOs=%Y;Uc^P7D#U=y<1%lB*sr^4 z*FJc8zbW8;aHneDsi(nPssro4CrU|F9Zbf3$`qN)Wge3GvFc^LnW(=>^_uN(V6N(_ z58>H=VLOLKZKYX7^t@Q z&ml^!P*?tp0aCZA0~=?9SJcaw*pc$5s+)Lb9J*Bf*y=~Y6EZ&zahOi#2$^p6LFF2v zVNa-!ok0{0`!K}ey=6A4PsCwi!!M}M+k%Myw2#zp_HRQpVxIclsY>t(P3%J%;OCn5 z1qjQLTA6cYz8qpkyk_Xr=8~GB@irU zmFBYnct7W~%sZO970VF+xqY>YL2$y{TiUk8<541~YukSYXBxX(+r6=fC@(`h?BE=5 zx3(y{k!aj1t!Lc};1#Wx-;a-yIalj%yBPP+Y8UK-1}CVsO>b=jS7{&qQw4ZR%Sv7c zztgfi1w{FCwVRcJABhS+)IMI?n`lzL_Nh%@g4?x6Izf<0f7U*yU_^znGRw3tErCV~ zpVhwI9q&!bV9*F2|MVL)7M)ZUA48xcw+3o@v!7JHtn273ehU zV2W8E>NH!R%GpC?x^z*4kQrwm(p3?bm zB8CLz6!Q1-8i~WeIt@@$&x)M42 z=}SITgD3T+pJD+u*?L=gEVxx)aW5Xc9HQ$3y*CjW3b_BSum1`I){6S&_b^cHO#K?` zXz(@t6A9~y<_r3LFQ$Pf^@lTH%lWrL^mNiccX2 zy8$X)@Qxv6CQMRiG>m^5Hmq|P@_B<=KhsdU0A;uSu0b+gL$+aI0R(Ay(jb|lv4bIy z1OXc>3@e7Ce`q{rSQ&X8@!$BZVbxQch#nkZ*b=D+?S{R79|OKgh3einGr zIAt1ExFT2P0%O_7w{U;ZSQRsf=%Ey2eTRPFS>uWoSBO^T8dujWCt5YwxcV1NylS;^ z^QiVjtCNk}q7QRV?UXr72Gs4&w<~BxIV=cNPYJn(fWGRuz@dwpPDj0OCfqB-ISMd7yQvw*zFaf z4JS=A4tEE?HO)@DOtdl0WaBH`G{t1!od)hPRrZDIH+^q%ZpC}dZd$nB44yJA*X<$N z{ETT`M;+0Y1XEKUqHW6((*dIo{4`*?@&i`3wYTZo%{!pa^q0w!)hpj5dSalt>52yoJZ;{rc@P&LnYa5?L_2z$xBIJzp4@GI zW;_PiN#>(XE5L>3;DOoTH|7(Y(BnNd+x*5aKNIchVE*hKIOQ(8`CBJ`-}R39_8@3z zcU$vMS3dwt%s&r-?RURt{>6^>_w=w>64!t$EtZFGz-jmVkENZ_OZ4(zq0h{ z^Z?P`ftKNqeh03yj6M1gc*inv6IA-lEKB*0{Y3jRErF6>z{8ej&OigtF0vfH3Kj3~ zX*sQW7CdTsJ!L-8fmF*IUnYYeTHfCWlOCL6dH)5N?BF5GXO-VkA{~m5F6dC6%+;1J z)?9&!oiB^Y8%ZJN$Se@<) zb~5(U;OlLU3+zz4WTuVlHMJjQlbdR&L6|{Ka!~_`RE?_P!=DqsRN%f5*R|vzFZo+! zi^{gov-+Jr(Q92`7i+D)%GPPvAL6zOGg;TyM=D){nr+OE8-|T~zm{+NJmB_=HGVHX zwma?RKGEtEopvkk-7Y(xSv}>IqTN;DaM{_0GwoPP{0vsp{#0;vhnEFqG!?V5p7Fu+ z9d{@MJ?k5*?Ci$c5f2LrcYYrILVep4YJ<5Dh7 zhozcVC}MP%G-rjZrz-dow}^NEvAx4H*=V|d5nfiww*@kuV^k(`kmUxXR_Fd;Wy4UA#~dC>A8PHS0y zOs3!FaHmXj*z9hRyQC6T=+rH|EP?SCcvf zZ>GJX5c1gkiCvg4JCYS%h-MbMnjOg2C&-Geb@~zDqRn0Ba=NWH(eClMJ#6Edwn5b> zlfc%F{wdIwisAhYSYWjj7u?gT!=;bX zD-u|PwUZ{-;q=)(LBsfkLc2Wf#ZW1-4c5T336J4wwrS}IQ`e$U+MDMT)FdJ0 zm{b@L?g+P9%);kHI+7BAh__L6tUM3Xw(@-)Vl(TPA+9<1#_+Pelbd16iJ^n9+ z=-fRe=L|h-5jFdMmngTo#JP6SUu%PgZOL#Eu>l36&Whmix#j1g!#7H=A5&>{RoGG3 z()8SQgltw@Ka?#iemi(^+ByZ>T-wAcHi&V?e0RCk>1h0Q$g>VJt_0`I>@KJWb91rI zJBF)xx?nSQB=(F(-gd(XJo|-$q&28?JPc~x9$y-pIlF(bZ1w~pox2+k_jy=n1&kBQ z>Q$1Gr0-kSD+N)x+cnQo;SZ%DR!~;Y&YkbGX?J}4?uEP-+C^VOtzEQ=HoMp7a7mK0 zgbQ7R}z*((G;_pTJW>S;VYxDgRl-6CN`KHSESGA)T0 zwE7ncZB|QVX9iZ)+#rZ#V>yXQDYaOkO)9s%A;44Vp0^gRKBCe;R~OTomrO1K6A$ho0jDWyul5AzFbhUv#V3t`9qPxbE_u`eX68DoD8-kjMhYCUuF~!jeXOpcBP)C|l0~ll zS!m1pw{IKU;u88+&tezXEyO;B7O{Kwj%;sJUs$J?eF_Fz*l_D0hvE^z=2OG~}~ zmDa;-!Rt0}_joM+Zia6WB{9b(^($BbHxT!AU!}+Guc(BN)bdtW&gvmmtGGL{_7AhM zJ!u?Nb^iq1Ii1Kxb3vYyoMCPdRTL@?;|fK$NA!D~A1 zcmuDV#f4&xwZ31g&DoP1T&;98wHm6*d8|L$p_h_6{%{;ms#hX zk3|TTlnw=Fu&c+~1#D0;SGo^5(l13M@72(e;hhxz7JeIlUt2#PJ&FTm#)rJ(fv$MF z%QH$Sid$!bic9rwcQh*vpYT&nS}A7gTlbI4se55*e7whv5{_6Qyb=cUo? zvFgrcNnsB3V*1>SsUEA#>$DwKXzaMpw)#x8qZU4j9_vp$7PYv?oQVv+4o8x_7(3rwcW6 zV&A^umgOxQ``5vA=0CKlU4Lmk+3-P*?&xSI=M=vV-E{NTWD<3s3X z!*}~Z6=`h#fH>Ca@KEglO6C8vlEbOif%olod7C^5Pq=r6cEH@9`7XHmmy)pUPW(h` z`J|%ey{vRof

tLwL)=)*Q}cJI}=i&mKt>SkI$NgWZpnX@w1J^7d}*cvBqnWJk+8 zpa`~P`@o(VW88kH&DG1-y8H2lcAN61NYWO&w7sL0uReakKc~OcowRO>TX$_!B~3LS zA2_8j_J%K^dHXBv+z@chM+5gQVbbX%!Q>aeRvK2e7BhCVDK1+I>-#e^KM+ZTy7>Ns zADi%FjRvVd3iX4(?vL!OzE8&@UzkioOZtGNl_{({8^q~gKDm^%kQQw;S0t - + @default @@ -223,40 +223,40 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Options - Opcje + Opcje Main - Główne + Główne Save Path: - Katalog docelowy: + Katalog docelowy: Download Limit: - Limit pobierania: + Limit pobierania: Upload Limit: - Limit wysyłania: + Limit wysyłania: Max Connects: - Maksymalnie połączeń: + Maksymalnie połączeń: - + Port range: Zakres portu: - + ... ... @@ -268,12 +268,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Disable - Wyłączony + Wyłączony connections - połączeń + połączeń @@ -283,10 +283,10 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Proxy - Proxy + Proxy - + Proxy Settings Ustawienia Proxy @@ -296,44 +296,44 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> IP serwera: - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - Serwer proxy wymaga autentykacji + Serwer proxy wymaga autentykacji - + Authentication Autentykacja User Name: - Użytkownik: + Użytkownik: - + Password: Hasło: Enable connection through a proxy server - Włącz połączenie przez serwer proxy + Włącz połączenie przez serwer proxy Language - Język + Język @@ -373,12 +373,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Scanned Dir: - Przeszukany katalog: + Przeszukany katalog: Enable directory scan (auto add torrent files inside) - Włącz aktualizację katalogu (automatyczne dodawanie plików torrent) + Włącz aktualizację katalogu (automatyczne dodawanie plików torrent) @@ -403,7 +403,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Share ratio: - Współczynnik udostępniania: + Współczynnik udostępniania: @@ -416,12 +416,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> KB UP max. - + Activate IP Filtering Włącz filtrowanie IP - + Filter Settings Ustawienia filtru @@ -431,22 +431,22 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> ipfilter.dat URL lub ścieżka: - + Start IP Początkowe IP - + End IP Końcowe IP - + Origin Pochodzenie - + Comment Komentarz @@ -456,17 +456,17 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Zastosuj - + IP Filter - Filtr IP + Filtr IP - + Add Range Dodaj zakres - + Remove Range Usuń zakres @@ -478,7 +478,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> ipfilter.dat Path: - ipfilter.dat ścieżka: + ipfilter.dat ścieżka: @@ -493,27 +493,27 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Go to systray when minimizing window - Minimalizuj okno do tray-a + Minimalizuj okno do tray-a - + Misc Różne Localization - Lokalizacja + Lokalizacja - + Language: Język: Behaviour - Zachowanie + Zachowanie @@ -536,19 +536,19 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Nigdy nie wyświetlaj OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP max. + KiB UP max. @@ -566,44 +566,44 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Automatycznie usuń zakończone - + Preview program Otwórz za pomocą Audio/Video player: - Odtwarzacz multimedialny: + Odtwarzacz multimedialny: DHT configuration - Konfiguracja DHT + Konfiguracja DHT DHT port: - Port DHT: + Port DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Uwaga:</b> Zmiany zostaną zastosowane przy następnym uruchomieniu aplikacji. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Informacja dla tłumaczy:</b> Jeżeli qBittorent nie jest dostępny w Twoim języku, <br/> a jesteś zainteresowany tłumaczeniem, <br/> skontaktuj się ze mną (chris@qbittorrent.org). + <b>Informacja dla tłumaczy:</b> Jeżeli qBittorent nie jest dostępny w Twoim języku, <br/> a jesteś zainteresowany tłumaczeniem, <br/> skontaktuj się ze mną (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Wyświetl dodatkowe informacje podczas dodawania nowego pliku torrent + Wyświetl dodatkowe informacje podczas dodawania nowego pliku torrent Default save path - Domyślny katalog zapisu + Domyślny katalog zapisu @@ -613,183 +613,462 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Always display systray messages - Zawsze wyświetlaj wiadomości w pasku zadań + Zawsze wyświetlaj wiadomości w pasku zadań Display systray messages only when window is hidden - Wyświetlaj wiadomości w pasku zadań gdy okno aplikacji jest zminimalizowane + Wyświetlaj wiadomości w pasku zadań gdy okno aplikacji jest zminimalizowane Never display systray messages - Nigdy nie wyświetlaj wiadomości w pasku zadań + Nigdy nie wyświetlaj wiadomości w pasku zadań Disable DHT (Trackerless) - Wyłącz DHT (Trackerless) + Wyłącz DHT (Trackerless) Disable Peer eXchange (PeX) - Wyłącz Peer eXchange (PeX) + Wyłącz Peer eXchange (PeX) Go to systray when closing main window - Minimalizuj do paska systemowego przy zamykaniu okna aplikacji + Minimalizuj do paska systemowego przy zamykaniu okna aplikacji - + Connection Połączenie Peer eXchange (PeX) - Wymiana Peerów (PeX) + Wymiana Peerów (PeX) DHT (trackerless) - DHT (beztrackerowy) + DHT (beztrackerowy) Torrent addition - Dołączony torrent + Dołączony torrent Main window - Główne okno + Główne okno Systray messages - Wiadomości w tacce systemowej + Wiadomości w tacce systemowej Directory scan - Skan katalogu + Skan katalogu Style (Look 'n Feel) - Styl (Look 'n Feel) + Styl (Look 'n Feel) - + Plastique style (KDE like) Styl Plastique (jak KDE) Cleanlooks style (GNOME like) - Styl Cleanlooks (jak GNOME) + Styl Cleanlooks (jak GNOME) Motif style (default Qt style on Unix systems) - Styl Motif (domyślny Qt w systemach Unix) + Styl Motif (domyślny Qt w systemach Unix) - + CDE style (Common Desktop Environment like) Styl CDE (jak Common Desktop Environment) MacOS style (MacOSX only) - Styl MacOS (tylko MacOSX) + Styl MacOS (tylko MacOSX) Exit confirmation when the download list is not empty - Potwierdź wyjście gdy lista pobierania nie jest pusta + Potwierdź wyjście gdy lista pobierania nie jest pusta Disable systray integration - Wyłącz integrację z tacką systemową + Wyłącz integrację z tacką systemową WindowsXP style (Windows XP only) - Styl WindowsXP (tylko Windows XP) + Styl WindowsXP (tylko Windows XP) Server IP or url: - IP serwera lub url: + IP serwera lub url: Proxy type: - Typ Proxy: + Typ Proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Wymuszone połączenia - + Use proxy for connections to trackers Użyj proxy do połączenia z trackerami - + Use proxy for connections to regular peers Użyj proxy do połączenia z peerami - + Use proxy for connections to web seeds Użyj proxy do połączenia z seedami web - + Use proxy for DHT messages Użyj proxy do wiadomości DHT Encryption - Szyfrowanie + Szyfrowanie Encryption state: - Stan szyfrowania: + Stan szyfrowania: - + Enabled Włączone - + Forced Wymuszone - + Disabled Wyłączone + + + Preferences + Preferencje + + + + General + Główne + + + + User interface settings + Ustawienia interfejsu użytkownika + + + + Visual style: + Styl wizualny: + + + + Cleanlooks style (Gnome like) + Styl Cleanlooks (jak Gnome) + + + + Motif style (Unix like) + Styl Motif (jak Unix) + + + + Ask for confirmation on exit when download list is not empty + Pytaj o potwierdzenie wyjścia jeśli lista pobierania nie jest pusta + + + + Display current speed in title bar + Pokaż aktualną prędkość na pasku tytułu + + + + System tray icon + Ikona w trayu + + + + Disable system tray icon + Wyłącz ikonę w trayu + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Zamknij do traya + + + + Minimize to tray + Minimalizuj do traya + + + + Show notification balloons in tray + Pokaż balony powiadomień w trayu + + + + Media player: + Odtwarzacz mediów: + + + + Downloads + Pobierania + + + + Put downloads in this folder: + Umieść pobierania w tym folderze: + + + + Pre-allocate all files + Rezerwuj miejsce na dysku + + + + When adding a torrent + Gdy dodajesz torrent + + + + Display torrent content and some options + Pokaż zawartość torrenta i kilka opcji + + + + Do not start download automatically + The torrent will be added to download list in pause state + Nie uruchamiaj automatycznie pobierań + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Folder obserwacji + + + + Automatically download torrents present in this folder: + Automatycznie pobierz torrenty umieszczone w tym folderze: + + + + Listening port + Port nasłuchu + + + + to + i.e: 1200 to 1300 + do + + + + Enable UPnP port mapping + Włącz mapowanie portu UPnP + + + + Enable NAT-PMP port mapping + Włącz mapowanie portu NAT-PMP + + + + Global bandwidth limiting + Globalne ograniczenie przepustowości łącza + + + + Upload: + Wysyłanie: + + + + Download: + Pobieranie: + + + + Type: + Typ: + + + + (None) + (Nic) + + + + Proxy: + Proxy: + + + + Username: + Nazwa użytkownika: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limit połączeń + + + + Global maximum number of connections: + Maksymalna ilość połączeń: + + + + Maximum number of connections per torrent: + Maksymalna ilość połączeń na torrent: + + + + Maximum number of upload slots per torrent: + Maksymalna ilość slotów wysyłania na torrent: + + + + Additional Bittorrent features + Dodatkowe cechy Bittorrenta + + + + Enable DHT network (decentralized) + Włącz sieć DHT (rozproszona) + + + + Enable Peer eXchange (PeX) + Włącz Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Włącz Local Peer Discovery + + + + Encryption: + Szyfrowanie: + + + + Share ratio settings + Ustawienia wskaźnika Share ratio + + + + Desired ratio: + Pożądane ratio: + + + + Filter file path: + Filtr ścieżki pliku: + + + + transfer lists refresh interval: + okres odświeżania listy transferu: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Okres odświeżania nagłówków RSS: + + + + minutes + minut + + + + Maximum number of articles per feed: + Maksymalna ilość wiadomości w nagłówku: + + + + File system + System pliku + + + + Remove finished torrents when their ratio reaches: + Usuń zakończone torrenty gdy ratio osiągnie: + + + + System default + + DownloadingTorrents @@ -797,115 +1076,115 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Name i.e: file name - Nazwa + Nazwa Size i.e: file size - Rozmiar + Rozmiar Progress i.e: % downloaded - Postęp + Postęp DL Speed i.e: Download speed - Prędkość DL + Prędkość DL UP Speed i.e: Upload speed - Prędkość UP + Prędkość UP Seeds/Leechs i.e: full/partial sources - Seeds/Leechs + Seeds/Leechs Ratio - Ratio + Ratio ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 uruchomiony. + qBittorrent %1 uruchomiony. Be careful, sharing copyrighted material without permission is against the law. - Bądź ostrożny, wymiana plików chronionych prawami autorskimi jest niezgodna z prawem. + Bądź ostrożny, wymiana plików chronionych prawami autorskimi jest niezgodna z prawem. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <kolor czcionki='red'>%1</czcionka> <i>był zablokowany</i> + <kolor czcionki='red'>%1</czcionka> <i>był zablokowany</i> - + Fast resume data was rejected for torrent %1, checking again... - Szybkie wznowienie danych zostało odrzucone przez torrent %1, sprawdzam ponownie... + Szybkie wznowienie danych zostało odrzucone przez torrent %1, sprawdzam ponownie... - + Url seed lookup failed for url: %1, message: %2 - Błąd wyszukiwania url seeda dla url:%1, wiadomość: %2 + Błąd wyszukiwania url seeda dla url:%1, wiadomość: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' dodany do listy pobierania. + '%1' dodany do listy pobierania. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' wznowiony. (szybkie wznawianie) + '%1' wznowiony. (szybkie wznawianie) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' jest już na liście pobierania. + '%1' jest już na liście pobierania. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Problem z odczytem pliku torrent: '%1' + Problem z odczytem pliku torrent: '%1' - + This file is either corrupted or this isn't a torrent. - Plik jest uszkodzony lub nie jest plikiem torrent. + Plik jest uszkodzony lub nie jest plikiem torrent. - + Couldn't listen on any of the given ports. - Nie można nasłuchiwać na żadnym z podanych portów. + Nie można nasłuchiwać na żadnym z podanych portów. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Pobieranie '%1', proszę czekać... + Pobieranie '%1', proszę czekać... @@ -919,7 +1198,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> FinishedTorrents - + Finished Zakończono @@ -1011,12 +1290,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Prędkość UP: - + Open Torrent Files Otwórz pliki Torrent - + Torrent Files Pliki Torrent @@ -1057,7 +1336,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Problem z odkodowaniem pliku torrent: - + This file is either corrupted or this isn't a torrent. Plik jest uszkodzony lub nie jest plikiem torrent. @@ -1067,12 +1346,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> Czy chcesz usunać wszystkie pliki z listy pobierania? - + &Yes &Tak - + &No &Nie @@ -1082,7 +1361,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> List pobierania wyczyszczona. - + Are you sure you want to delete the selected item(s) in download list? Czy chcesz usunąć wybrane elementy z listy pobierania? @@ -1130,7 +1409,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> wznowiony. - + Finished Ukończone @@ -1173,12 +1452,12 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Jesteś pewny? -- qBittorrent @@ -1219,7 +1498,7 @@ Wszystkie prawa zastrzeżone © 2006 Christophe Dumez<br> zakończył sciąganie. - + Couldn't listen on any of the given ports. Nie można nasłuchiwać na żadnym z podanych portów. @@ -1453,12 +1732,12 @@ Changelog: Zatrzymany - + Preview process already running Podgląd jest już uruchomiony - + There is already another preview process running. Please close the other one first. Podgląd jest już uruchomiony. @@ -1503,7 +1782,7 @@ Zamknij najpierw okno podglądu. Czy na pewno chcesz usunąć wybrany element z listy i z dysku? - + Download finished Pobieranie zakończone @@ -1525,58 +1804,58 @@ Zamknij najpierw okno podglądu. qBittorent %1 - + Connection status: Status połączenia: - + Offline Niepołączony - + No peers found... Nie znaleziono peerów... - + Name i.e: file name Nazwa - + Size i.e: file size Rozmiar - + Progress i.e: % downloaded Postęp - + DL Speed i.e: Download speed Prędkość DL - + UP Speed i.e: Upload speed Prędkość UP - + Seeds/Leechs i.e: full/partial sources Seeds/Leechs - + ETA i.e: Estimated Time of Arrival / Time left ETA @@ -1594,19 +1873,19 @@ Zamknij najpierw okno podglądu. Leechers - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 uruchomiony. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Prędkość DL: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Prędkość UP: %1 KiB/ @@ -1630,36 +1909,36 @@ Zamknij najpierw okno podglądu. Zablokowany - + Are you sure you want to quit? Czy na pewno chcesz zakończyć aplikację? - + '%1' was removed. 'xxx.avi' was removed. '%1' został usunięty. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' dodany do listy pobierania. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' wznowiony. (szybkie wznawianie) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' jest już na liście pobierania. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Problem z odczytem pliku torrent: '%1' @@ -1677,12 +1956,12 @@ Zamknij najpierw okno podglądu. Nasłuchuje na porcie: %1 - + All downloads were paused. Wszystkie zadania pobierania wstrzymane. - + '%1' paused. xxx.avi paused. '%1' wstrzymany. @@ -1694,30 +1973,30 @@ Zamknij najpierw okno podglądu. Łączenie... - + All downloads were resumed. Wszystkie zadania pobierania wzniowione. - + '%1' resumed. e.g: xxx.avi resumed. '%1' wznowiony. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 został pobrany. - + I/O Error i.e: Input/Output Error Błąd We/Wy - + 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 Wystąpił błąd podczas próby odczytu lub zapisu %1. Prawdopodobnie brak miejsca na dysku, zadania pobierania zostały wstrzymane @@ -1729,23 +2008,23 @@ Zamknij najpierw okno podglądu. Wystąpił błąd (brak miejsca?), '%1' wstrzymany. - + Connection Status: Status połączenia: - + Online Połączony - + Firewalled? i.e: Behind a firewall/router? Zablokowany? - + No incoming connections... Brak połączeń przychodzących... @@ -1771,62 +2050,62 @@ Zamknij najpierw okno podglądu. Wyniki - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Pobieranie '%1', proszę czekać... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Wystąpił błąd (brak miejsca?), '%1' wstrzymany. - + Search Szukaj - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - e.g: qBittorrent jest podłączony do portu: 1666 + qBittorrent jest podłączony do portu: %1 - + DHT support [ON], port: %1 Wsparcie DHT [WŁ], port: %1 - + DHT support [OFF] Wsparcie DHT [WYŁ] - + PeX support [ON] Wsparcie PeX [WŁ] - + PeX support [OFF] Wsparcie pEx [WYŁ] - + The download list is not empty. Are you sure you want to quit qBittorrent? Lista pobierania nie jest pusta. Czy napewno zamknąć qBittorrent? - + Downloads Pobieranie @@ -1836,54 +2115,54 @@ Czy napewno zamknąć qBittorrent? Czy napewno usunąć wybrane pozycje z listy zakończonych z twardego dysku? - + Are you sure you want to delete the selected item(s) in finished list? Czy napewno usunąć wybrane pozycje z listy zakończonych? - + UPnP support [ON] Wsparcie UPnP [WŁ] - + Be careful, sharing copyrighted material without permission is against the law. Bądź ostrożny, wymiana plików chronionych prawami autorskimi jest niezgodna z prawem. - + Encryption support [ON] Wsparcie szyfrowania [WŁ] - + Encryption support [FORCED] Wsparcie szyfrowania [WYMUSZONE] - + Encryption support [OFF] Wsparcie szyfrowania [WYŁ] - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <kolor czcionki='red'>%1</czcionka> <i>był zablokowany</i> - + Ratio Ratio - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1895,59 +2174,96 @@ Czy napewno zamknąć qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Błąd pobierania URL - + Couldn't download file at url: %1, reason: %2. Nie można pobrać pliku z url: %1, powód: %2. - + Fast resume data was rejected for torrent %1, checking again... Szybkie wznowienie danych zostało odrzucone przez torrent %1, sprawdzam ponownie... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Czy chcesz usunąć wybrane elementy z listy pobierania i z twardego dysku? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Czy chcesz usunąć wybrane elementy z listy ukończonych i z twardego dysku? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' został całkowicie usunięty. - + Url seed lookup failed for url: %1, message: %2 Błąd wyszukiwania url seeda dla url:%1, wiadomość: %2 - + Alt+3 shortcut to switch to third tab Alt+3 - + Ctrl+F shortcut to switch to search tab Ctrl+F + + + UPnP support [OFF] + Obsługa UPnP [WYŁ] + + + + NAT-PMP support [ON] + Obsługa NAT-PMP [WŁ] + + + + NAT-PMP support [OFF] + Obsługa NAT-PMP [WYŁ] + + + + Local Peer Discovery [ON] + Local Peer Discovery [WŁ] + + + + Local Peer Discovery support [OFF] + Obsługa Local Peer Discovery [WYŁ] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' został usunięty ponieważ ratio osiągnęło ustawioną wartość. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + MainWindow @@ -1962,7 +2278,7 @@ Czy napewno zamknąć qBittorrent? Log: - + Total DL Speed: Całkowita prędkość DL: @@ -1972,7 +2288,7 @@ Czy napewno zamknąć qBittorrent? Kb/s - + Total UP Speed: Całkowita prędkość UP: @@ -2102,7 +2418,7 @@ Czy napewno zamknąć qBittorrent? Status połączenia - + Downloads Ściąganie...Pobieranie @@ -2172,7 +2488,7 @@ Czy napewno zamknąć qBittorrent? Wyczyść - + KiB/s KiB/s @@ -2192,7 +2508,7 @@ Czy napewno zamknąć qBittorrent? Aktualizacja wtyczki wyszukiwania - + Session ratio: Ratio sesji: @@ -2237,12 +2553,12 @@ Czy napewno zamknąć qBittorrent? Ustaw limit pobierania - + Log Log - + IP filter Filtr IP @@ -2275,24 +2591,24 @@ Czy napewno zamknąć qBittorrent? Tak - + Ignored Ignorowany - + Normal Normal (priority) Normalny - + High High (priority) Wysoki - + Maximum Maximum (priority) Maksymalny @@ -2314,17 +2630,17 @@ Czy napewno zamknąć qBittorrent? Szukaj - + Delete Skasuj - + Rename Zmień nazwę - + Refresh Odśwież @@ -2334,70 +2650,75 @@ Czy napewno zamknąć qBittorrent? Utwórz - + Delete selected streams Usuń wybrane strumienie - + Refresh RSS streams Odśwież strumień RSS - + Add a new RSS stream Dodaj nowy strumień RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>News:</b> <i>(kliknij dwa razy aby otworzyć link w przeglądarce)</i> - + Add RSS stream Dodaj strumień RSS - + Refresh all streams Odśwież wszystkie strumienie - + RSS streams: Strumienie RSS: - + 2 2 + + + Mark all as read + Zaznacz wszystko do odczytu + RSSImp - + Please type a rss stream url Sprecyzuj typ url strumienia rss - + Stream URL: Strumień URL: - + Please choose a new name for this stream Wybierz nową nazwę dla tego strumienia - + New stream name: Nowa nazwa strumienia: - + Are you sure? -- qBittorrent Jesteś pewny? -- qBittorrent @@ -2407,12 +2728,12 @@ Czy napewno zamknąć qBittorrent? Jesteś pewien że chcesz usunąć ten strumień z listy? - + &Yes &Tak - + &No &Nie @@ -2427,40 +2748,50 @@ Czy napewno zamknąć qBittorrent? żaden opis niedostępny - + Are you sure you want to delete this stream from the list? Jesteś pewien że chcesz usunąć ten strumień z listy? - + Description: Opis: - + url: url: - + Last refresh: Ostatnie odświeżanie: - + qBittorrent qBittorrent - + This rss feed is already in the list. Ten kanał informacyjny rss feed już jest na liście. + + + Date: + Data: + + + + Author: + Autor: + RssItem - + No description available Opis niedostępny @@ -2468,13 +2799,13 @@ Czy napewno zamknąć qBittorrent? RssStream - + %1 ago 10min ago %1 temu - + Never Nigdy @@ -2482,151 +2813,156 @@ Czy napewno zamknąć qBittorrent? SearchEngine - + Name i.e: file name Nazwa - + Size i.e: file size Rozmiar - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + Search engine Wyszukiwarka - + Empty search pattern Pusty wzorzec wyszukiwania - + Please type a search pattern first Proszę podać wzorzec wyszukiwania - + No search engine selected - Nie wybrano wyszukiwarki + Nie wybrano wyszukiwarki - + You must select at least one search engine. - Musisz wybrać przynajmniej jedną wyszukiwarkę. + Musisz wybrać przynajmniej jedną wyszukiwarkę. - + Results Wyniki - + Searching... Wyszukiwanie... - + Search plugin update -- qBittorrent - Aktualizacja wtyczki wyszukującej -- qBittorrent + Aktualizacja wtyczki wyszukującej -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Dostępna jest nowa wersja wtyczki wyszukiwania, czy chcesz ją zaktualizować? + Dostępna jest nowa wersja wtyczki wyszukiwania, czy chcesz ją zaktualizować? Zmiany: - + &Yes - &Tak + &Tak - + &No - &Nie + &Nie - + Search plugin update - Aktualizacja wtyczki wyszukiwania + Aktualizacja wtyczki wyszukiwania - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Przepraszamy, serwer aktualizacji jest tymczasowo niedostępny. + Przepraszamy, serwer aktualizacji jest tymczasowo niedostępny. - + Your search plugin is already up to date. - Posiadasz najnowszą wersję wtyczki wyszukiwania. + Posiadasz najnowszą wersję wtyczki wyszukiwania. - + Search Engine Wyszukiwarka - + Search has finished Wyszukiwanie zakończone - + An error occured during search... Wystąpił błąd podczas wyszukiwania... - + Search aborted Wyszukiwanie przerwane - + Search returned no results Nic nie znaleziono - + Results i.e: Search results Wyniki - + Search plugin download error - Błąd pobierania wtyczki wyszukiwarki + Błąd pobierania wtyczki wyszukiwarki - + Couldn't download search plugin update at url: %1, reason: %2. - Nie można pobrać aktualizacji wtyczki wyszukiwarki z url: %1, powód: %2. + Nie można pobrać aktualizacji wtyczki wyszukiwarki z url: %1, powód: %2. + + + + Unknown + Nieznany @@ -2738,17 +3074,17 @@ Zmiany: Dodatkowe informacje o pliku torrent - + Save path: Katalog docelowy: - + ... ... - + Torrent content: Zawartość torrent-a: @@ -2768,22 +3104,22 @@ Zmiany: Zaznaczony - + Download in correct order (slower but good for previewing) Pobierz w ustalonej kolejności (wolniejsze ale lepsze przy korzystaniu z opcji podglądu) - + Add to download list in paused state Dodaj tylko do listy pobierania (bez rozpoczynania pobierania) - + Add Dodaj - + Cancel Anuluj @@ -2803,22 +3139,22 @@ Zmiany: Wybierz - + Ignored Ignorowany - + Normal Normalny - + High Wysoki - + Maximum Maksymalny @@ -2884,10 +3220,10 @@ Zmiany: Destination torrent file: - Docelowy plik torrent: + Docelowy plik torrent: - + Input file or directory: Katalog lub plik źródłowy: @@ -2899,15 +3235,15 @@ Zmiany: ... - ... + ... Create - Utwórz + Utwórz - + Cancel Anuluj @@ -2947,45 +3283,120 @@ Zmiany: <center>Komentarz:</center> - + Torrent file creation Tworzenie pliku torrent Input files or directories: - Wejściowe pliki lub katalogi: + Wejściowe pliki lub katalogi: - + Announce urls (trackers): Zapowiedziane url (trackery): - + Comment (optional): Komentarz (opcja): Private (won't be distributed on trackerless network / DHT if enabled) - Prywatny (nie będzie rozprowadzany w sieci beztrackerowej / jeżeli DHT włączone) + Prywatny (nie będzie rozprowadzany w sieci beztrackerowej / jeżeli DHT włączone) - + Web seeds urls (optional): Web seeds urls (opcjonalnie): + + + File or folder to add to the torrent: + Plik lub folder dodany do torrenta: + + + + Add a file + Dodaj plik + + + + Add a folder + Dodaj folder + + + + Piece size: + Rozmiar części: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Prywatny (gdy włączony nie będzie rozprowadzany w sieci DHT) + + + + Start seeding after creation + Uruchom seedowanie po utworzeniu + + + + Create and save... + Tworzenie i zapisywanie... + createtorrent - + Select destination torrent file Wybierz plik docelowy - + Torrent Files Pliki Torrent @@ -2995,22 +3406,22 @@ Zmiany: Wybierz katalog lub plik źródłowy - + No destination path set - Katalog docelowy nie ustawiony + Katalog docelowy nie ustawiony - + Please type a destination path first - Proszę podać katalog docelowy + Proszę podać katalog docelowy - + No input path set Katalog źródłowy nie zdefiniowany - + Please type an input path first Proszę podać katalog żródłowy @@ -3025,12 +3436,12 @@ Zmiany: Proszę podać poprawną ścieżkę źródłową - + Torrent creation Tworzenie torrent-a - + Torrent was created successfully: Utworzono plik torrent: @@ -3040,41 +3451,56 @@ Zmiany: Prosze podać prawidłowy katalog źródłowy - + Select a folder to add to the torrent Wybież folder który dodasz do torrenta Select files to add to the torrent - Wybież plik który dodasz do torrenta + Wybież plik który dodasz do torrenta - + Please type an announce URL Sprecyzuj adres URL trackera - + Torrent creation was unsuccessful, reason: %1 Nie udało się stworzyć torrenta , powód: %1 - + Announce URL: Tracker URL Adres URL trackera: - + Please type a web seed url Sprecyzuj typ web seed url - + Web seed URL: Web seed URL: + + + Select a file to add to the torrent + Wybierz plik który chcesz dodać do torrenta + + + + No tracker path set + Nie ustawiono ścieżki trackera + + + + Please set at least one tracker + Ustaw przynajmniej jeden tracker + downloadFromURL @@ -3119,112 +3545,327 @@ Zmiany: Search - Szukaj + Szukaj Total DL Speed: - Całkowita prędkość DL: + Całkowita prędkość DL: KiB/s - KiB/s + KiB/s Session ratio: - Ratio sesji: + Ratio sesji: Total UP Speed: - Całkowita prędkość UP: + Całkowita prędkość UP: Log - Log + Log IP filter - Filtr IP + Filtr IP Start - Start + Start Pause - Wstrzymaj + Wstrzymaj Delete - Skasuj + Skasuj Clear - Wyczyść + Wyczyść Preview file - Podgląd pliku + Podgląd pliku Set upload limit - Ustaw limit wysyłania + Ustaw limit wysyłania Set download limit - Ustaw limit pobierania + Ustaw limit pobierania Delete Permanently - Usuń całkowicie + Usuń całkowicie Torrent Properties - Właściwości Torrent-a + Właściwości Torrent-a + + + + engineSelect + + + Search plugins + Wtyczki wyszukiwania + + + + Installed search engines: + Zainstalowane silniki wyszukiwania: + + + + Name + Nazwa + + + + Url + Url + + + + Enabled + Włączone + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Tutaj możesz pobrać nowe silniki wtyczek wyszukiwania: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Zainstaluj nową + + + + Check for updates + Sprawdź aktualizację + + + + Close + Zamknij + + + + Enable + Włącz + + + + Disable + Wyłącz + + + + Uninstall + Odinstaluj + + + + engineSelectDlg + + + True + Tak + + + + False + Nie + + + + Uninstall warning + Ostrzeżenie deinstalacji + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Niektóre wtyczki nie mogą zostać usunięte, ponieważ są częścią qBittorenta. +Tylko te, które dodałeś możesz usunąć. +Jednak tamte wtyczki były wyłączone. + + + + Uninstall success + Deinstalacja zakończona + + + + All selected plugins were uninstalled successfuly + Wszystkie wybrane wtyczki zostały usunięte + + + + Select search plugins + Wybierz wtyczkę wyszukiwania + + + + qBittorrent search plugins + wtyczka wyszukiwania qbittorrent + + + + Search plugin install + Instalacja wtyczki wyszukiwania + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Obecnie posiadasz zainstalowanych więcej silników wtyczek wyszukiwania %1. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Wtyczka silnika wyszukiwania %1 zaktualizowana poprawnie. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Wtyczka silnika wyszukiwania %1 zainstalowana poprawnie. + + + + Search plugin update + Aktualizacja wtyczki wyszukiwania + + + + Sorry, update server is temporarily unavailable. + Sorry, czasowo niedostępny serwer aktualizacji. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Aktualizacja wtyczki wyszukiwania %1 zakończona powodzeniem. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Sorry, błąd aktualizacji wtyczki wyszukiwania %1. + + + + All your plugins are already up to date. + Wszystkie twoje wtyczki są aktualne. + + + + All selected plugins were uninstalled successfully + Wszystkie wybrane wtyczki zostały zainstalowane + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Nie można zaktualizować wtyczki silnika wyszukiwarki %1, pozostaje stara wersja. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Wtyczka silnika wyszukiwarki %1 nie może być zainstalowana. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Pomyślnie zaktualizowano wtyczkę silnika wyszukiwarki %1. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Pomyślnie zainstalowano wtyczkę silnika wyszukiwarki %1. + + + + Search engine plugin archive could not be read. + Nie można odczytać archiwum wtyczki silnika wyszukiwarki. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Błąd instalacji wtyczki silnika %1. + + + + New search engine plugin URL + URL nowej wtyczki silnika wyszukiwarki + + + + URL: + URL: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3248,7 +3889,7 @@ Zmiany: d - + Unknown Nieznany @@ -3265,31 +3906,31 @@ Zmiany: d - + Unknown Unknown (size) Nieznany - + < 1m < 1 minute < 1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -3348,12 +3989,12 @@ Zmiany: is malformed. - + Range Start IP Zakres początkowy IP - + Start IP: Początkowe IP: @@ -3368,22 +4009,22 @@ Zmiany: To jest nieprawidłowe IP. - + Range End IP Końcowy zakres IP - + End IP: Końcowe IP: - + IP Range Comment Komentarz zakresu IP - + Comment: Komentarz: @@ -3391,55 +4032,78 @@ Zmiany: to <min port> to <max port> - do + do - + Choose your favourite preview program Wybierz program którym zawsze chcesz otwierać dany typ plików - + Invalid IP Niepoprawny adres IP - + This IP is invalid. Ten adres IP jest niepoprawny. - + Options were saved successfully. Ustawienia zapisane. - + Choose scan directory Wybierz katalog przeszukiwania - + Choose an ipfilter.dat file Wybierz plik ipfilter.dat - + Choose a save directory Wybierz katalog docelowy - + I/O Error Input/Output Error Błąd We/Wy - + Couldn't open %1 in read mode. Nie można otworzyć %1 w trybie odczytu. + + pluginSourceDlg + + + Plugin source + Źródło wtyczki + + + + Search plugin source: + Szukaj źródła wtyczki: + + + + Local file + Plik lokalny + + + + Web link + Adres strony + + preview @@ -3549,7 +4213,7 @@ Zmiany: Zawartość Torrent-a - + OK OK @@ -3599,7 +4263,7 @@ Zmiany: Uzyskiwanie - + Unknown Nieznany @@ -3614,12 +4278,12 @@ Zmiany: Częściowo: - + Files contained in current torrent: Pliki w torrencie: - + Size Rozmiar @@ -3654,32 +4318,32 @@ Zmiany: Tak - + Tracker Tracker - + Trackers: Trackery: - + None - Unreachable? Brak - Nieosiągalny? - + Errors: Błędy: - + Progress Postęp - + Main infos Główne informacje @@ -3689,27 +4353,27 @@ Zmiany: Liczna peer-ów: - + Current tracker: Aktualny tracker: - + Total uploaded: Ogółem wysłanych: - + Total downloaded: Ogółem pobranych: - + Total failed: Ogółem błędnych: - + Torrent content Zawartość torrent-a @@ -3719,7 +4383,7 @@ Zmiany: Opcje - + Download in correct order (slower but good for previewing) Pobierz w ustalonej kolejności (wolniejsze ale lepsze przy korzystaniu z opcji podglądu) @@ -3739,132 +4403,132 @@ Zmiany: Leechers: - + Save path: Katalog zapisu: - + Torrent infos Informacja o torrencie - + Creator: Kreator: - + Torrent hash: Torrent hash: - + Comment: Komentarz: - + Current session Bieżąca sesja - + Share ratio: Współczynnik udostępniania: - + Trackers Trackery - + New tracker Nowy tracker - + New tracker url: URL nowego trackera: - + Priorities: Pierwszeństwa: - + Normal: normal priority. Download order is dependent on availability Normalny: normalny priorytet. Kolejność pobierania zależy od dostępności - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Wysoki: wysoki priorytet. Części są ważniejsze od tych z taką samą dostępnością, lecz nie od części z niższą dostępnością - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maksymalny: maksymalny priorytet, dostępność jest zlekceważona, części są ważniejsze od tych z niższym priorytetem - + File name Nazwa pliku - + Priority Priorytet - + qBittorrent qBittorrent - + Trackers list can't be empty. Lista trackerów nie może być pusta. - + Ignored: file is not downloaded at all Ignorowany: plik nie jest pobierany - + Ignored Ignorowany - + Normal Normalny - + Maximum Maksymalny - + High Wysoki - + Url seeds Url seeda - + New url seed: Nowy url seeda: - + This url seed is already in the list. Ten url seeda już jest na liście. @@ -3874,74 +4538,89 @@ Zmiany: Nie można usunąć ustalony url seeda. - + None i.e: No error message Brak - + New url seed New HTTP source Nowy url seeda - + The following url seeds are available for this torrent: Dla tego torrenta dostępne są następujące url seeda: + + + Priorities error + Błąd priorytetu + + + + Error, you can't filter all the files in a torrent. + Błąd, nie można filtrować wszystkich plików torrencie. + search_engine - + Search Szukaj - + Search Engines - Wyszukiwarki + Wyszukiwarki - + Search Pattern: Wzorzec wyszukiwania: - + Stop Stop - + Status: Status: - + Stopped Zatrzymany - + Results: Rezultat: - + Download Pobierz - + Clear Wyczyść - + Update search plugin - Aktualizacja wtyczki wyszukiwania + Aktualizacja wtyczki wyszukiwania + + + + Search engines... + Wyszukaj silniki wyszukiwania... @@ -4000,57 +4679,57 @@ Zmiany: subDownloadThread - + Host is unreachable Host jest niedostępny - + File was not found (404) Nie znaleziono pliku (404) - + Connection was denied Połączenie odrzucone - + Url is invalid Błędny URL - + Connection forbidden (403) Niedozwolone połączenie (403) - + Connection was not authorized (401) Nieautoryzowane połączenie (401) - + Content has moved (301) Zawatrość została przeniesiona (301) - + Connection failure Brak połączenia - + Connection was timed out Upłynął czas połączenia - + Incorrect network interface Niepoprawny interfejs sieci - + Unknown error Nieznany błąd @@ -4063,17 +4742,17 @@ Zmiany: Tak - + Unable to decode torrent file: Problem z odkodowaniem pliku torrent: - + This file is either corrupted or this isn't a torrent. Plik jest uszkodzony lub nie jest plikiem torrent. - + Choose save path Wybierz katalog docelowy @@ -4083,52 +4762,52 @@ Zmiany: Nie - + Empty save path Niepoprawny katalog docelowy - + Please enter a save path Podaj katalog docelowy - + Save path creation error Błąd tworzenia katalogu docelowego - + Could not create the save path Nie można założyć katalogu docelowego - + Invalid file selection Wybrano niepoprawny plik - + You must select at least one file in the torrent Musisz wybrać przynajmniej jeden plik z pliku torrent - + File name Nazwa pliku - + Size Rozmiar - + Progress Postęp - + Priority Priorytet diff --git a/src/lang/qbittorrent_pt.qm b/src/lang/qbittorrent_pt.qm index e7ba12ada1f3343fc11147eba273b0f4c060b5cc..26e1bb9c59df57514d3885f2872dde35d5647277 100644 GIT binary patch delta 14663 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

    #{I~q^(T-gyb zMuD5dbWj6B@Hu2;2UXZTCA&N7E6pHP1M=mDucujO5IA5uA!DAmRaSi(iRh^^f1nD)+pSW}uPCJv;-T zpb4p1Gt%a?VK~NJD5%Dyy-`XQd+@%5F(~0g4ir;0e-I7NWKzd9%_2ECS6y%}8f@Nd zp<8q*a0yT2@stV^qF@7Nw)ng*&X)L^iQ|s1bF^YFpKRYoTOf67&6r~S!OURP1=b%- zma*Q4ULD$1C`mZC@~%3pJJE`KE{u(YM2a0A9{q~_R3Po}9=XZf%ml)BsMwpSQ3+BK zygkm?xFcSFbF+o-9N8E}=6R9YA}6AWQb5CrBzuZq91y3{cd}P%WM>+126AMq;hDLC zoTF1@9r+9>vX~4%W#t9rxo(MuHk0|obL3s#FErG&W1k%RSnI&kf9@Fb*@6Sz{d~CK z#*f&Bi=_`g;)M?{GDHRcr+&LHs4i^bu;C^4N6n7mFMr(0Lpib&$5$QkAL@R4?(cym zC)&yrtN+8uSt+xym!`CtB=Qfw`UZ~Sj(!cYiXIzIrkpdJo@%612c9th`w6sAKIF0F Mo(X{`PgW`Z4{3T9O#lD@ delta 9730 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%0D)?ZVv_)q<#x~vzO{T zY{6WAz&0;KFeJfSd~*l+*uk!m%(UOo#x$l&u7RWVl>%Gyd{`iN z!D$s6zhqS4o5gk^yrxBddL(T;EO%2;PX_{DE}1+5W?`e|skdi-jl(BOsp_eaQc#>( zZg;^8E6U^9wN0%81&@acLL?g%6B*H@n!Y(CnSSYJ_Tkd^_`K{Nfg#C?L5p_^sDo>s zZhWNR*;Av87(D*@=W-D6lKWpue$##_`O-ke<>b!bncyq;xU0&_Q9dg9peZ!~qutYN zWp;4cjA7kq2-1zWD;{-!-pUOjczp6Xi_d+{RUx!U?kMPLZjV^yak9B9!?(^^uId%p z)NIF~gz}k{hfni>ZQ$*8Orcm|t?AlAoSG+Qv6U-(v!QHHpwFs(g0(+n<7JJ<50`)& zi)RdXmpsAC()}sI@JzFuu|r&yRX$Pbq+C*)5_AqU*3dT-0#{f6A_O-cJPxkw$@Z?R zlFl}V*L7p!`hINF`c_@zs2JPIbxBTdewvZnZu3?Kxz+kux1E_@Jc&TAZHq}XL&ZeE@xG*Ev;MV6Gh{D9KfHRQ@|gVH`JCU^tR#M*Re zwK96MH=c@RN#zl2N}q6+aUkBG24nH}d9W@E(IZL*E2ZnW;w6fA1a3?|*ECKl%{%e< z=g}u00le6ouX461nDTeLQuBPdcQ;gj7MdEK!L{J;{KgtY7r-|_Mehf?6JDMPAiH8P7!XD_WtQpvcw@%#ThvcA3l}lUx)OaXsxz7oYFv! z9)rQbBRZ8*o+kF6;z`f4x@>IP0kIef-MFH{?JLJv&dTe8Eup}@2_rb0;@i+MdRzC}2OIVur~7y`Ru$dQ^V z&l|R4c2wZ_mS`ciRf}pM)!(KZH?WEhv4N~@?+R?!j=u%&-<7IjTlc)ep5A+`dmega z6)eur7yrYdQ4;KKAT}~#1aBjMb#4rF+y9FojA!TP$6_W=W`T_4D~gPzc#5RC^zIRtDvZ?osT(ajThn-T8DmL#96afg#PbMI;+^k+Y= zi)4wAA4L{^#-pmL7N_P;j^*SXjX}KG}{XeGtd3WRP=) zPkv5z{>jcAvU1&3PMfQvulWGul}~%hxkj=f3*8tmm7G4WJqm>}i55fd=3`c|q=`H% z@bHpz%iU6&#-pfo;6l|8?|ws~%ZB?X4#RaKct z*o3nk`2po2e&Ux45l?KM;LT^fo=OX9tgmuY7gMZNJ~tmwkYjST%9YsR^5R%|k9b?( ze4HIQ9>(q*k7mP9{N&F;{pW?K*_Gaw<1D`6CgFpp+`Z&K56P3lEJ=grStEIn8v-<) z)TI_);c#JknB{Pl{pCc;`ky>yiIGMIKCwwh0cKs=TCdBoms_hHC@_Kiw|1ylpVvB= zgvRQ|`qrM)yDIIu-UWMNY{B z1V54eFXMNIzpz4SJEz;rZBX&wNAnc6@wwPQuhZ=W|Ij~V;W$ZU?tq!d!4j$A|2Z4) zT_sBEnnS1UIO#y(Eh%iwN96+%pWK_1MQ-`9kc{;B!(0g)$>$f|*tkH=joDa)`O;;# ziI_NB4vW&?d-}6yFQ&7_@Am7Sf-cXyx?DvY`#d)>@4LLp6ymC76$xjzo@p02@otHb zoBRjEq@bD0k$WA!;hBW)))W*GMe<*#hP&O<#f~mRqNBUa)-@kZ#mIRmhMFZ*cUzGnWL_?sfBmi-M->h&?M%}! zI`a8}i+Pz1m>MNEkCC15cUn(l-%!daj_x<|qIoS1{Oeq_O2}k&FGsP|3t@o^AB Thanks to - + Agradecimentos para @@ -156,40 +156,40 @@ Copyright ©2007 por Christophe Dumez<br> Options - Opções + Opções Main - Principal + Principal Save Path: - Salvar em: + Salvar em: Download Limit: - Limite de Download: + Limite de Download: Upload Limit: - Limite de Upload: + Limite de Upload: Max Connects: - Conexões Máximas: + Conexões Máximas: - + Port range: Range da porta: - + ... ... @@ -201,20 +201,20 @@ Copyright ©2007 por Christophe Dumez<br> Disable - Desabilitar + Desabilitar connections - conexões + conexões Proxy - Proxy + Proxy - + Proxy Settings Configurações de Proxy @@ -224,39 +224,39 @@ Copyright ©2007 por Christophe Dumez<br> Ip do servidor: - + 0.0.0.0 0.0.0.0 - + Port: Porta: Proxy server requires authentication - Servidor proxy requer autenticação + Servidor proxy requer autenticação - + Authentication Autenticação User Name: - Usuário: + Usuário: - + Password: Senha: Enable connection through a proxy server - Habilitar conexão por um servidor proxy + Habilitar conexão por um servidor proxy @@ -271,12 +271,12 @@ Copyright ©2007 por Christophe Dumez<br> Scanned Dir: - Diretório varrido: + Diretório varrido: Enable directory scan (auto add torrent files inside) - Habilitar varredura de diretório (adicionar automaticamente arquivos torrent) + Habilitar varredura de diretório (adicionar automaticamente arquivos torrent) @@ -286,7 +286,7 @@ Copyright ©2007 por Christophe Dumez<br> Share ratio: - Taxa de Compartilhamento: + Taxa de Compartilhamento: @@ -299,32 +299,32 @@ Copyright ©2007 por Christophe Dumez<br> KB UP máx. - + Activate IP Filtering Ativar filtragem de IP - + Filter Settings Configurações do Filtro - + Start IP Iniciar IP - + End IP Finalizar IP - + Origin Origem - + Comment Comentário @@ -334,24 +334,24 @@ Copyright ©2007 por Christophe Dumez<br> Aplicar - + IP Filter - Filtro de IP + Filtro de IP - + Add Range Adicionar a escala - + Remove Range Remover a escala ipfilter.dat Path: - Caminho do ipfilter.dat: + Caminho do ipfilter.dat: @@ -366,27 +366,27 @@ Copyright ©2007 por Christophe Dumez<br> Go to systray when minimizing window - Ir para systray quando minimizado + Ir para systray quando minimizado - + Misc Miscelânea Localization - Localização + Localização - + Language: Língua: Behaviour - Comportamento + Comportamento @@ -409,19 +409,19 @@ Copyright ©2007 por Christophe Dumez<br> Nunca mostrar OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP máx. + KiB UP máx. @@ -429,14 +429,14 @@ Copyright ©2007 por Christophe Dumez<br> Limpar automaticamente downloads concluídos - + Preview program Previsualizar programa Audio/Video player: - Tocador de Áudio/Vídeo: + Tocador de Áudio/Vídeo: @@ -446,218 +446,497 @@ Copyright ©2007 por Christophe Dumez<br> Always display systray messages - Sempre mostrar mensagens no systray + Sempre mostrar mensagens no systray Display systray messages only when window is hidden - Mostrar mensagens do systray somente quando a janela estiver escondida + Mostrar mensagens do systray somente quando a janela estiver escondida Never display systray messages - Nunca mostrar mensagens do systray + Nunca mostrar mensagens do systray DHT configuration - Configuração DHT + Configuração DHT DHT port: - Porta DHT: + Porta DHT: Language - Línguagem + Línguagem - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Atenção:</b> Mudanças somente serão aplicadas depois que o qBittorrent for reiniciado. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Atenção tradutores:</b> se o qBittorrent não está disponível no seu idioma, <br/>e você gostaria de traduzir na sua língua nativa, <br/> por favor entre em contato comigo (chris@qbittorrent.org). + <b>Atenção tradutores:</b> se o qBittorrent não está disponível no seu idioma, <br/>e você gostaria de traduzir na sua língua nativa, <br/> por favor entre em contato comigo (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Mostrar diálogo de adição de torrent sempre que adiciono um novo torrent + Mostrar diálogo de adição de torrent sempre que adiciono um novo torrent Default save path - Caminho padrão de salvamento + Caminho padrão de salvamento Disable DHT (Trackerless) - Desabilitar DHT (Traqueamento) + Desabilitar DHT (Traqueamento) Disable Peer eXchange (PeX) - Desabilitar Peer eXchange (PeX) + Desabilitar Peer eXchange (PeX) Go to systray when closing main window - Ir para o systray quando fechar janela principal + Ir para o systray quando fechar janela principal - + Connection Conexão Peer eXchange (PeX) - Troca de Pares (PeX) + Troca de Pares (PeX) DHT (trackerless) - DHT (trackerless) + DHT (trackerless) Torrent addition - Adição de Torrent + Adição de Torrent Main window - Janela principal + Janela principal Systray messages - Mensagens de Systray + Mensagens de Systray Directory scan - Varredura de diretório + Varredura de diretório Style (Look 'n Feel) - Estilo (Aparência) + Estilo (Aparência) - + Plastique style (KDE like) Estilo Plastique (tipo KDE) Cleanlooks style (GNOME like) - Estilo Cleanlooks (tipo GNOME) + Estilo Cleanlooks (tipo GNOME) Motif style (default Qt style on Unix systems) - Estilo Motif (Estilo padrão do Qt no Unix) + Estilo Motif (Estilo padrão do Qt no Unix) - + CDE style (Common Desktop Environment like) Estilo CDE (Tipo ambiente Desktop comum) MacOS style (MacOSX only) - Estilo MacOS (somente para MacOSX) + Estilo MacOS (somente para MacOSX) Exit confirmation when the download list is not empty - Confirmar sair quando a lista de downloads não estiver vazia + Confirmar sair quando a lista de downloads não estiver vazia Disable systray integration - Desabilitar integração com systray + Desabilitar integração com systray WindowsXP style (Windows XP only) - Estilo WindowsXP (somente Windows XP) + Estilo WindowsXP (somente Windows XP) Server IP or url: - Ip do servidor ou a Url: + Ip do servidor ou a Url: Proxy type: - Tipo de Proxy: + Tipo de Proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Conexões afetadas - + Use proxy for connections to trackers Usar proxy para conexões em trackers - + Use proxy for connections to regular peers Usar proxy para conexões em pares regulares - + Use proxy for connections to web seeds Usar proxy para conexões em pares da web - + Use proxy for DHT messages Usar proxy para mensagens DHT Encryption - Encriptação + Encriptação Encryption state: - Estado da encriptação: + Estado da encriptação: - + Enabled Habilitado - + Forced Forçado - + Disabled Desabilitado + + + Preferences + Preferências + + + + General + Gerais + + + + User interface settings + Configurações visuais de usuário + + + + Visual style: + Estilo visual: + + + + Cleanlooks style (Gnome like) + Estilo Cleanlooks (Gnome) + + + + Motif style (Unix like) + Estilo Motif (Unix) + + + + Ask for confirmation on exit when download list is not empty + Pedir confirmação ao sair quando a lista de downloads não está vazia + + + + Display current speed in title bar + Exibir velocidade atual na barra de titulo + + + + System tray icon + Ícone do sistema + + + + Disable system tray icon + Desabilitar ícone do sistema + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Fechar na bandeja + + + + Minimize to tray + Minimizar para a bandeja + + + + Show notification balloons in tray + Mostrar balões de notificação no systray + + + + Media player: + Tocador de media: + + + + Downloads + Downloads + + + + Put downloads in this folder: + Colocar downloads nesta pasta: + + + + Pre-allocate all files + Pré-alocar todos arquivos + + + + When adding a torrent + Adicionando um torrent + + + + Display torrent content and some options + Mostrar conteúdo torrent e as opções + + + + Do not start download automatically + The torrent will be added to download list in pause state + Não iniciar downloads automáticamente + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Varredura de pasta + + + + Automatically download torrents present in this folder: + Baixar automaticamente torrents presentes nesta pasta: + + + + Listening port + Escutando porta + + + + to + i.e: 1200 to 1300 + a + + + + Enable UPnP port mapping + Habilitar mapeamento de porta UPnP + + + + Enable NAT-PMP port mapping + Habilitar mapeamento de porta NAT-PMP + + + + Global bandwidth limiting + Limite global de banda + + + + Upload: + Upload: + + + + Download: + Download: + + + + Type: + Tipo: + + + + (None) + (Nenhum) + + + + Proxy: + Proxy: + + + + Username: + Usuário: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limites de conexão + + + + Global maximum number of connections: + Número máximo global de conexões: + + + + Maximum number of connections per torrent: + Número máximo global de conexões por torrent: + + + + Maximum number of upload slots per torrent: + Número máximo de slots de upload por torrent: + + + + Additional Bittorrent features + Características Bittorrent adicionais + + + + Enable DHT network (decentralized) + Habilitar DHT (decentralizado) + + + + Enable Peer eXchange (PeX) + Habilitar Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Habilitar Peer Discovery Local + + + + Encryption: + Encriptação: + + + + Share ratio settings + Configurações de taxa de compartilhamento + + + + Desired ratio: + Taxa designada: + + + + Filter file path: + Caminho do arquivo do filtro: + + + + transfer lists refresh interval: + Intervalo de atualização da lista de transferência: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Intervalo de atualização dos RSS feeds: + + + + minutes + minutos + + + + Maximum number of articles per feed: + Número máximo de artigos por feed: + + + + File system + Sistema de arquivo + + + + Remove finished torrents when their ratio reaches: + Remover torrents finalizados quando sua taxa atingir: + + + + System default + + DownloadingTorrents @@ -665,115 +944,115 @@ Copyright ©2007 por Christophe Dumez<br> Name i.e: file name - Nome + Nome Size i.e: file size - Tamanho + Tamanho Progress i.e: % downloaded - Progresso + Progresso DL Speed i.e: Download speed - Velocidade de download + Velocidade de download UP Speed i.e: Upload speed - Velocidade de Upload + Velocidade de Upload Seeds/Leechs i.e: full/partial sources - Seeds/Leechs + Seeds/Leechs Ratio - Taxa + Taxa ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 iniciado. + qBittorrent %1 iniciado. Be careful, sharing copyrighted material without permission is against the law. - Esteja ciente, compartilhar material protejido sem permissão é contra a lei. + Esteja ciente, compartilhar material protejido sem permissão é contra a lei. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>foi bloqueado</i> + <font color='red'>%1</font> <i>foi bloqueado</i> - + Fast resume data was rejected for torrent %1, checking again... - Resumo rápido rejeitado para o torrent %1, tente novamente... + Resumo rápido rejeitado para o torrent %1, tente novamente... - + Url seed lookup failed for url: %1, message: %2 - Url falhou para: %1, mensagem: %2 + Url falhou para: %1, mensagem: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' adicionado a lista de download. + '%1' adicionado a lista de download. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' continuando. (continue rápido) + '%1' continuando. (continue rápido) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' já está na lista de download. + '%1' já está na lista de download. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Incapaz de decodificar arquivo torrent: '%1' + Incapaz de decodificar arquivo torrent: '%1' - + This file is either corrupted or this isn't a torrent. - + Este arquivo encontra-se corrompido ou não é um torrent. - + Couldn't listen on any of the given ports. - Não foi possível escutar pelas portas dadas. + Não foi possível escutar pelas portas dadas. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - baixando '%1', por favor espere... + baixando '%1', por favor espere... @@ -859,7 +1138,7 @@ Copyright ©2007 por Christophe Dumez<br> GUI - + Open Torrent Files Abrir Arquivos Torrent @@ -879,17 +1158,17 @@ Copyright ©2007 por Christophe Dumez<br> Tem certeza que deseja apagar todos os arquivos na lista de downloads? - + &Yes &Sim - + &No &Não - + Are you sure you want to delete the selected item(s) in download list? Tem certeza que deseja apagar o(s) arquivo(s) selecionado(s) na lista de downloads? @@ -904,7 +1183,7 @@ Copyright ©2007 por Christophe Dumez<br> iniciado - + Finished Concluído @@ -959,7 +1238,7 @@ Copyright ©2007 por Christophe Dumez<br> Não pode criar o diretório: - + Torrent Files Arquivos Torrent @@ -1013,12 +1292,12 @@ Copyright ©2007 por Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Tem certeza? -- qBittorrent @@ -1249,12 +1528,12 @@ Registro de mudanças: Pausado - + Preview process already running Processo de pré-visualização já está rodando - + There is already another preview process running. Please close the other one first. Há um outro processo de pré-visualização rodando. @@ -1272,7 +1551,7 @@ Por favor feche o outro primeiro. Transferências - + Download finished Download finalizado @@ -1309,17 +1588,17 @@ Por favor feche o outro primeiro. qBittorrent %1 - + Connection status: Estado da conexão: - + Offline Offline - + No peers found... Peers não encontrados... @@ -1384,13 +1663,13 @@ Por favor feche o outro primeiro. qBittorrent %1 iniciado. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Velocidade de download: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Velocidade de Upload: %1 KiB/s @@ -1414,12 +1693,12 @@ Por favor feche o outro primeiro. Parado - + Are you sure you want to quit? Você tem certeza que quer sair? - + '%1' was removed. 'xxx.avi' was removed. '%1' foi deletado. @@ -1461,12 +1740,12 @@ Por favor feche o outro primeiro. Escutando a porta: %1 - + All downloads were paused. Todos os downloads pausados. - + '%1' paused. xxx.avi paused. '%1' pausado. @@ -1478,30 +1757,30 @@ Por favor feche o outro primeiro. Conectando... - + All downloads were resumed. Todos os downloads foram resumidos. - + '%1' resumed. e.g: xxx.avi resumed. '%1' resumido. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 download finalizado. - + I/O Error i.e: Input/Output Error Erro de Entrada/Saída - + 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 Ocorreu um erro quando tentava ler ou escrever %1. Provavelmente o seu disco está cheio, o download foi pausado @@ -1513,23 +1792,23 @@ Por favor feche o outro primeiro. Ocorreu um erro (disco cheio?), '%1' pausado. - + Connection Status: Estado da conexão: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Sob firewall? - + No incoming connections... Sem conexão... @@ -1561,66 +1840,66 @@ Por favor feche o outro primeiro. baixando '%1', por favor espere... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Ocorreu um erro (disco cheio?), '%1' pausado. - + Search Busca - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent escuta a porta: %1 - + DHT support [ON], port: %1 Suporte DHT [Ligado], porta: %1 - + DHT support [OFF] Suporte DHT [Desligado] - + PeX support [ON] Suporte PeX [Ligado] - + PeX support [OFF] Suporte PeX [Desligado] - + The download list is not empty. Are you sure you want to quit qBittorrent? A lista de download não está vazia. Deseja mesmo sair do qBittorrent? - + Downloads Downloads - + Are you sure you want to delete the selected item(s) in finished list? Quer mesmo deletar os ítems selecionados na lista de finalizados? - + UPnP support [ON] Suporte UPnP [Ligado] @@ -1630,17 +1909,17 @@ Deseja mesmo sair do qBittorrent? Esteja ciente, compartilhar material protejido sem permissão é contra a lei. - + Encryption support [ON] Suporte a encriptação [Ligado] - + Encryption support [FORCED] Suporte a encriptação [FORÇADO] - + Encryption support [OFF] Suporte a encriptação [Desligado] @@ -1656,13 +1935,13 @@ Deseja mesmo sair do qBittorrent? Taxa - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1674,18 +1953,18 @@ Deseja mesmo sair do qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Erro no download da URL - + Couldn't download file at url: %1, reason: %2. Não pude baixar arquivo em: %1, motivo: %2. @@ -1695,17 +1974,17 @@ Deseja mesmo sair do qBittorrent? Resumo rápido rejeitado para o torrent %1, tente novamente... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Quer mesmo deletar o(s) arquivo(s) selecionado(s) da lista e do seu HD ? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Quer mesmo deletar o(s) arquivo(s) selecionado(s) da lista finalizada e do seu HD ? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' foi removido permanentemente. @@ -1716,16 +1995,53 @@ Deseja mesmo sair do qBittorrent? Url falhou para: %1, mensagem: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Suporte UPnP [desligado] + + + + NAT-PMP support [ON] + Suporte NAT-PMP [ligado] + + + + NAT-PMP support [OFF] + Suporte NAT-PMP [desligado] + + + + Local Peer Discovery [ON] + Peer discovery [ligado] + + + + Local Peer Discovery support [OFF] + Peer discovery [desligado] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' foi removido sua taxa atingiu o valor máximo que você configurou. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (Down: %2Kb/s, Up: %3kb/s) @@ -2023,7 +2339,7 @@ Deseja mesmo sair do qBittorrent? Options - Opções + Opções @@ -2039,24 +2355,24 @@ Deseja mesmo sair do qBittorrent? Verdadeiro - + Ignored Ignorado - + Normal Normal (priority) Normal - + High High (priority) Alta - + Maximum Maximum (priority) Máxima @@ -2078,17 +2394,17 @@ Deseja mesmo sair do qBittorrent? Busca - + Delete Apagar - + Rename Renomear - + Refresh Atualizar @@ -2098,70 +2414,75 @@ Deseja mesmo sair do qBittorrent? Criar - + Delete selected streams Deletar streams selecionadas - + Refresh RSS streams Atualizar RSS streams - + Add a new RSS stream Adicionar um novo stream de RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Info:</b> <i>(clique-duplo para abrir o link no seu browser)</i> - + Add RSS stream Adicionar stream RSS - + Refresh all streams Atualizar todos streams - + RSS streams: streams RSS: - + 2 - 2 + 2 + + + + Mark all as read + Marcar todos como lido RSSImp - + Please type a rss stream url Digite uma url de stream rss - + Stream URL: Stream URL: - + Please choose a new name for this stream Escolha um novo nome para esse stream - + New stream name: Novo nome do stream: - + Are you sure? -- qBittorrent Tem certeza? -- qBittorrent @@ -2171,50 +2492,60 @@ Deseja mesmo sair do qBittorrent? Quer mesmo deletar este stream da lista ? - + &Yes &Sim - + &No &Não - + Are you sure you want to delete this stream from the list? Quer mesmo deletar este stream da lista ? - + Description: Descrição: - + url: url: - + Last refresh: Última atualização: - + qBittorrent - qBittorrent + qBittorrent - + This rss feed is already in the list. - + Este rss feed já está na lista. + + + + Date: + Data: + + + + Author: + Autor: RssItem - + No description available Nenhuma descrição disponível @@ -2222,82 +2553,82 @@ Deseja mesmo sair do qBittorrent? RssStream - + %1 ago 10min ago %1 atrás - + Never - + Nunca SearchEngine - + Name i.e: file name Nome - + Size i.e: file size Tamanho - + Seeders i.e: Number of full sources Semeadores - + Leechers i.e: Number of partial sources Leechers - + Search engine Mecanismo de busca - + Empty search pattern Padrão de busca vazio - + Please type a search pattern first Por favor digite um padrão de busca primeiro No search engine selected - Nenhum mecanismo de busca selecionado + Nenhum mecanismo de busca selecionado You must select at least one search engine. - Você deve selecionar pelo menos um mecanismo de busca. + Você deve selecionar pelo menos um mecanismo de busca. - + Results Resultados - + Searching... Buscando... Search plugin update -- qBittorrent - Atualização do plugin de busca -- qBittorrent + Atualização do plugin de busca -- qBittorrent @@ -2305,67 +2636,67 @@ Deseja mesmo sair do qBittorrent? Changelog: - Plugin de busca pode ser atualizado, deseja atualizá-lo? + Plugin de busca pode ser atualizado, deseja atualizá-lo? Log de mudanças: &Yes - &Sim + &Sim &No - &Não + &Não Search plugin update - Atualização de plugin de busca + Atualização de plugin de busca qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Desculpe, servidor de atualizações está temporariamente indisponível. + Desculpe, servidor de atualizações está temporariamente indisponível. Your search plugin is already up to date. - Seu plugin de busca já está atualizado. + Seu plugin de busca já está atualizado. - + Search Engine Mecanismo de Busca - + Search has finished Busca finalizada - + An error occured during search... Um erro ocorreu durante a busca... - + Search aborted Busca abortada - + Search returned no results A busca não retornou resultados - + Results i.e: Search results Resultados @@ -2373,12 +2704,17 @@ Log de mudanças: Search plugin download error - Erro no download do plugin de busca + Erro no download do plugin de busca Couldn't download search plugin update at url: %1, reason: %2. - Não pude baixar a atualização do plugin de busca na url: %1, motivo: %2. + Não pude baixar a atualização do plugin de busca na url: %1, motivo: %2. + + + + Unknown + Desconhecido @@ -2589,17 +2925,17 @@ Copyright ©2007 por Christophe Dumez<br> Dialogo de adicionar torrent - + Save path: Caminho de salvamento: - + ... ... - + Torrent content: Conteúdo do torrent: @@ -2619,22 +2955,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecionado - + Download in correct order (slower but good for previewing) Baixar em ordem (lento mas bom para pré-visualizar) - + Add to download list in paused state Adicionar a lista de download em pausa - + Add Adicionar - + Cancel Cancelar @@ -2649,22 +2985,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecionar - + Ignored Ignorado - + Normal Normal - + High Alto - + Maximum Máximo @@ -2730,10 +3066,10 @@ Copyright ©2007 por Christophe Dumez<br> Destination torrent file: - Arquivo torrent de destino: + Arquivo torrent de destino: - + Input file or directory: Entre com arquivo ou diretório: @@ -2745,15 +3081,15 @@ Copyright ©2007 por Christophe Dumez<br> ... - ... + ... Create - Criar + Criar - + Cancel Cancelar @@ -2793,45 +3129,120 @@ Copyright ©2007 por Christophe Dumez<br> <center>Comentário:</center> - + Torrent file creation Criando arquivo Torrent Input files or directories: - Insira arquivos ou diretórios: + Insira arquivos ou diretórios: - + Announce urls (trackers): Urls (trackers): - + Comment (optional): Comentário (opcional): Private (won't be distributed on trackerless network / DHT if enabled) - Privado (Não pode ser distribuido na rede trackerless / se DHT habilitado) + Privado (Não pode ser distribuido na rede trackerless / se DHT habilitado) - + Web seeds urls (optional): Urls de compartilhadores web (opcional): + + + File or folder to add to the torrent: + Arquivo ou pasta para adicionar ao torrent: + + + + Add a file + Adicionar um arquivo + + + + Add a folder + Adicionar uma pasta + + + + Piece size: + Tamanho: + + + + 32 KiB + 32kb + + + + 64 KiB + 64kb + + + + 128 KiB + 128kb + + + + 256 KiB + 256kb + + + + 512 KiB + 512kb + + + + 1 MiB + 1mb + + + + 2 MiB + 2mb + + + + 4 MiB + 4mb + + + + Private (won't be distributed on DHT network if enabled) + Privado (não distribuir em DHT se habilitado) + + + + Start seeding after creation + Iniciar compartilhamento depois de criar + + + + Create and save... + Criar e salvar... + createtorrent - + Select destination torrent file Selecione o arquivo torrent de destino - + Torrent Files Arquivos Torrent @@ -2841,22 +3252,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecione o diretório ou arquivo de entrada - + No destination path set - Nenhum caminho de destino selecionado + Nenhum caminho de destino selecionado - + Please type a destination path first - Digite primeiro um caminho de destino + Digite primeiro um caminho de destino - + No input path set Nenhum caminho de entrada selecionado - + Please type an input path first Digite primeiro um caminho de entrada @@ -2871,12 +3282,12 @@ Copyright ©2007 por Christophe Dumez<br> Digite primeiro um caminho de entrada correto - + Torrent creation Criação de torrent - + Torrent was created successfully: Torrent foi criado com sucesso: @@ -2886,41 +3297,56 @@ Copyright ©2007 por Christophe Dumez<br> Por favor insira um caminho válido primeiro - + Select a folder to add to the torrent Selecione uma pasta para adicionar ao torrent Select files to add to the torrent - Selecione arquivos para adicionar ao torrent + Selecione arquivos para adicionar ao torrent - + Please type an announce URL Digite uma url anunciada - + Torrent creation was unsuccessful, reason: %1 A criação do torrent não foi possível, motivo: %1 - + Announce URL: Tracker URL Url anunciada: - + Please type a web seed url Digite uma url de compartilhador web - + Web seed URL: Url de compartilhador web: + + + Select a file to add to the torrent + Selecione um arquivo para adicionar ao torrent + + + + No tracker path set + Nenhum tracker setado + + + + Please set at least one tracker + Por favor, adicione ao menos um tracker + downloadFromURL @@ -2965,112 +3391,298 @@ Copyright ©2007 por Christophe Dumez<br> Search - Busca + Busca Total DL Speed: - Velocidade total de Download: + Velocidade total de Download: KiB/s - KiB/s + Kb/s Session ratio: - Taxa da sessão: + Taxa da sessão: Total UP Speed: - Velocidade total de Upload: + Velocidade total de Upload: Log - Log + Log IP filter - Filtro IP + Filtro IP Start - Iniciar + Iniciar Pause - Pausar + Pausar Delete - Apagar + Apagar Clear - Limpar + Limpar Preview file - Arquivo de pré-visualização + Arquivo de pré-visualização Set upload limit - Setar limite de upload + Setar limite de upload Set download limit - Setar limite de download + Setar limite de download Delete Permanently - Apagar permanentemente + Apagar permanentemente Torrent Properties - Propriedades do Torrent + Propriedades do Torrent + + + + engineSelect + + + Search plugins + Plugins de busca + + + + Installed search engines: + Plugins de busca instalados: + + + + Name + Nome + + + + Url + Url + + + + Enabled + Habilitado + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Você pode encontrar novos plugins de busca aqui: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Instalar um novo + + + + Check for updates + Verificar atualizações + + + + Close + Fechar + + + + Enable + Habilitar + + + + Disable + Desabilitar + + + + Uninstall + Desinstalar + + + + engineSelectDlg + + + True + Verdadeiro + + + + False + Falso + + + + Uninstall warning + Aviso de desinstalação + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Muitos plugins não podem ser desinstalados por serem padrão do qBittorrent. + Apenas aqueles que você instalou podem ser desinstalados. +Portanto os plugins foram desabilitados. + + + + Uninstall success + Desinstalado com sucesso + + + + Select search plugins + Selecionar plugins de busca + + + + qBittorrent search plugins + Plugins de busca qBittorrent + + + + Search plugin install + Instalação de plugin de busca + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Uma versão mais recente de plugin de busca %1 já está instalado. + + + + Search plugin update + Atualização de plugin de busca + + + + Sorry, update server is temporarily unavailable. + Desculpe, servidor de atualizações está temporariamente indisponível. + + + + All your plugins are already up to date. + Todos os plugins já estão atuais. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 esse aí não pôde ser atualizado, vai ficar o véio. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Plugin de busca %1 não pode ser instalado. + + + + All selected plugins were uninstalled successfully + Plugins selecionados desinstalados com sucesso + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Plugin de busca %1 atualizado com sucesso. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Plugin de busca %1 instalado com sucesso. + + + + Search engine plugin archive could not be read. + Arquivo de plugin de busca não pode ser lido. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Sinto muito mas a instalação do plugin de busca %1 falhou. + + + + New search engine plugin URL + Url de novo plugin de busca + + + + URL: + Url: misc - + B bytes B - + KiB kibibytes (1024 bytes) Kib - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3088,7 +3700,7 @@ Copyright ©2007 por Christophe Dumez<br> h - + Unknown Desconhecido @@ -3105,31 +3717,31 @@ Copyright ©2007 por Christophe Dumez<br> d - + Unknown Unknown (size) Desconhecido - + < 1m < 1 minute < 1 minuto - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -3188,12 +3800,12 @@ Copyright ©2007 por Christophe Dumez<br> está corrompido. - + Range Start IP IP do começo da escala - + Start IP: Iniciar IP: @@ -3208,22 +3820,22 @@ Copyright ©2007 por Christophe Dumez<br> Este IP está incorreto. - + Range End IP IP do fim da escala - + End IP: Finalizar IP: - + IP Range Comment Comentário Range de IP - + Comment: Comentário: @@ -3231,55 +3843,78 @@ Copyright ©2007 por Christophe Dumez<br> to <min port> to <max port> - a + a - + Choose your favourite preview program Selecione seu programa preferido para pré-visualizar - + Invalid IP IP inválido - + This IP is invalid. Este IP é inválido. - + Options were saved successfully. Opções salvas com sucesso. - + Choose scan directory Selecione diretório para varredura - + Choose an ipfilter.dat file Selecione um arquivo ipfilter.dat - + Choose a save directory Selecione um diretório de salvamento - + I/O Error Input/Output Error Erro de Entrada/Saída - + Couldn't open %1 in read mode. Não posso abrir %1 no modo de leitura. + + pluginSourceDlg + + + Plugin source + Fonte do plugin + + + + Search plugin source: + Busca de plugin de busca: + + + + Local file + Arquivo local + + + + Web link + Link da net + + preview @@ -3389,7 +4024,7 @@ Copyright ©2007 por Christophe Dumez<br> Conteúdo do Torrent - + OK OK @@ -3439,7 +4074,7 @@ Copyright ©2007 por Christophe Dumez<br> Alocando - + Unknown Desconhecido @@ -3454,12 +4089,12 @@ Copyright ©2007 por Christophe Dumez<br> Parcial: - + Files contained in current torrent: Arquivos contidos no torrent atual: - + Size Tamanho @@ -3494,57 +4129,57 @@ Copyright ©2007 por Christophe Dumez<br> Verdadeiro - + Tracker Rastreador - + Trackers: Rastreadores: - + None - Unreachable? Nenhum - Inatingível? - + Errors: Erros: - + Progress Progresso - + Main infos Informações principais - + Current tracker: Rastreador atual: - + Total uploaded: Total de Upload: - + Total downloaded: Total baixado: - + Total failed: Total falhado: - + Torrent content Conteúdo torrent @@ -3554,7 +4189,7 @@ Copyright ©2007 por Christophe Dumez<br> Opções - + Download in correct order (slower but good for previewing) Baixar em ordem correta (lento mas bom para pré-visualizar) @@ -3574,132 +4209,132 @@ Copyright ©2007 por Christophe Dumez<br> Leechers: - + Save path: Caminho de salvamento: - + Torrent infos Infos do Torrent - + Creator: Criador: - + Torrent hash: Mistura do Torrent: - + Comment: Comentário: - + Current session Sessão atual - + Share ratio: Taxa de Compartilhamento: - + Trackers Rastreadores - + New tracker Novo rastreador - + New tracker url: Novo url de rastreador: - + Priorities: Prioridades: - + Normal: normal priority. Download order is dependent on availability Normal: prioridade normal. Ordem de download é dependente da disponibilidade - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Alta: Maior que a prioridade normal. As partes são preferidas sobre partes com a mesma disponibilidade, mas não em excesso das com disponibilidade mais baixa - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Máxima: prioridade máxima, disponibilidade é desconsiderada, a parte é preferida mais que outra parte com prioridade baixa - + File name Nome do arquivo - + Priority Prioridade - + qBittorrent qBittorrent - + Trackers list can't be empty. Lista de rastreadores não pode estar vazia. - + Ignored: file is not downloaded at all Ignorado: arquivo não foi baixado completamente - + Ignored Ignorado - + Normal Normal - + Maximum Máxima - + High Alta - + Url seeds Url de compartilhadores - + New url seed: Nova url de compartilhador: - + This url seed is already in the list. Essa url de compartilhador já está na lista. @@ -3709,74 +4344,89 @@ Copyright ©2007 por Christophe Dumez<br> Url de compartilhador no código-fonte não pode ser deletada. - + None i.e: No error message Nenhum - + New url seed New HTTP source Nova url de compartilhador - + The following url seeds are available for this torrent: As urls a seguir estão disponíveis para este torrent: + + + Priorities error + Erro de prioridades + + + + Error, you can't filter all the files in a torrent. + Erro, você não pode filtrar todos arquivos no torrent. + search_engine - + Search Busca Search Engines - Mecanismos de Busca + Mecanismos de Busca - + Search Pattern: Padrão de busca: - + Stop Parar - + Status: Estado: - + Stopped Parado - + Results: Resultados: - + Download Download - + Clear Limpar Update search plugin - Atualizar plugin de busca + Atualizar plugin de busca + + + + Search engines... + Máquinas de busca... @@ -3835,57 +4485,57 @@ Copyright ©2007 por Christophe Dumez<br> subDownloadThread - + Host is unreachable O host é inalcançável - + File was not found (404) Arquivo não encontrado (404) - + Connection was denied Conexão foi negada - + Url is invalid Url é inválida - + Connection forbidden (403) Conexão proibida (403) - + Connection was not authorized (401) Conexão não foi autorizada (401) - + Content has moved (301) Conteúdo foi movido (301) - + Connection failure Conexão falhou - + Connection was timed out Conexão esgotou o tempo - + Incorrect network interface Relação da rede incorreta - + Unknown error Erro desconhecido @@ -3898,17 +4548,17 @@ Copyright ©2007 por Christophe Dumez<br> Verdadeiro - + Unable to decode torrent file: Incapaz de decodificar o arquivo torrent: - + This file is either corrupted or this isn't a torrent. Este arquivo está corrompido ou não é um arquivo torrent. - + Choose save path Escolha um caminho de salvamento @@ -3918,52 +4568,52 @@ Copyright ©2007 por Christophe Dumez<br> Falso - + Empty save path Caminho de salvamento vazio - + Please enter a save path Por favor digite um caminho de salvamento - + Save path creation error Erro ao criar caminho de salvamento - + Could not create the save path Não foi possível criar caminho de salvamento - + Invalid file selection Seleção de arquivo inválida - + You must select at least one file in the torrent Você deve selecionar um arquivo no torrent - + File name Nome do arquivo - + Size Tamanho - + Progress Progresso - + Priority Prioridade diff --git a/src/lang/qbittorrent_pt_BR.qm b/src/lang/qbittorrent_pt_BR.qm index e7ba12ada1f3343fc11147eba273b0f4c060b5cc..26e1bb9c59df57514d3885f2872dde35d5647277 100644 GIT binary patch delta 14663 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
      #{I~q^(T-gyb zMuD5dbWj6B@Hu2;2UXZTCA&N7E6pHP1M=mDucujO5IA5uA!DAmRaSi(iRh^^f1nD)+pSW}uPCJv;-T zpb4p1Gt%a?VK~NJD5%Dyy-`XQd+@%5F(~0g4ir;0e-I7NWKzd9%_2ECS6y%}8f@Nd zp<8q*a0yT2@stV^qF@7Nw)ng*&X)L^iQ|s1bF^YFpKRYoTOf67&6r~S!OURP1=b%- zma*Q4ULD$1C`mZC@~%3pJJE`KE{u(YM2a0A9{q~_R3Po}9=XZf%ml)BsMwpSQ3+BK zygkm?xFcSFbF+o-9N8E}=6R9YA}6AWQb5CrBzuZq91y3{cd}P%WM>+126AMq;hDLC zoTF1@9r+9>vX~4%W#t9rxo(MuHk0|obL3s#FErG&W1k%RSnI&kf9@Fb*@6Sz{d~CK z#*f&Bi=_`g;)M?{GDHRcr+&LHs4i^bu;C^4N6n7mFMr(0Lpib&$5$QkAL@R4?(cym zC)&yrtN+8uSt+xym!`CtB=Qfw`UZ~Sj(!cYiXIzIrkpdJo@%612c9th`w6sAKIF0F Mo(X{`PgW`Z4{3T9O#lD@ delta 9730 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%0D)?ZVv_)q<#x~vzO{T zY{6WAz&0;KFeJfSd~*l+*uk!m%(UOo#x$l&u7RWVl>%Gyd{`iN z!D$s6zhqS4o5gk^yrxBddL(T;EO%2;PX_{DE}1+5W?`e|skdi-jl(BOsp_eaQc#>( zZg;^8E6U^9wN0%81&@acLL?g%6B*H@n!Y(CnSSYJ_Tkd^_`K{Nfg#C?L5p_^sDo>s zZhWNR*;Av87(D*@=W-D6lKWpue$##_`O-ke<>b!bncyq;xU0&_Q9dg9peZ!~qutYN zWp;4cjA7kq2-1zWD;{-!-pUOjczp6Xi_d+{RUx!U?kMPLZjV^yak9B9!?(^^uId%p z)NIF~gz}k{hfni>ZQ$*8Orcm|t?AlAoSG+Qv6U-(v!QHHpwFs(g0(+n<7JJ<50`)& zi)RdXmpsAC()}sI@JzFuu|r&yRX$Pbq+C*)5_AqU*3dT-0#{f6A_O-cJPxkw$@Z?R zlFl}V*L7p!`hINF`c_@zs2JPIbxBTdewvZnZu3?Kxz+kux1E_@Jc&TAZHq}XL&ZeE@xG*Ev;MV6Gh{D9KfHRQ@|gVH`JCU^tR#M*Re zwK96MH=c@RN#zl2N}q6+aUkBG24nH}d9W@E(IZL*E2ZnW;w6fA1a3?|*ECKl%{%e< z=g}u00le6ouX461nDTeLQuBPdcQ;gj7MdEK!L{J;{KgtY7r-|_Mehf?6JDMPAiH8P7!XD_WtQpvcw@%#ThvcA3l}lUx)OaXsxz7oYFv! z9)rQbBRZ8*o+kF6;z`f4x@>IP0kIef-MFH{?JLJv&dTe8Eup}@2_rb0;@i+MdRzC}2OIVur~7y`Ru$dQ^V z&l|R4c2wZ_mS`ciRf}pM)!(KZH?WEhv4N~@?+R?!j=u%&-<7IjTlc)ep5A+`dmega z6)eur7yrYdQ4;KKAT}~#1aBjMb#4rF+y9FojA!TP$6_W=W`T_4D~gPzc#5RC^zIRtDvZ?osT(ajThn-T8DmL#96afg#PbMI;+^k+Y= zi)4wAA4L{^#-pmL7N_P;j^*SXjX}KG}{XeGtd3WRP=) zPkv5z{>jcAvU1&3PMfQvulWGul}~%hxkj=f3*8tmm7G4WJqm>}i55fd=3`c|q=`H% z@bHpz%iU6&#-pfo;6l|8?|ws~%ZB?X4#RaKct z*o3nk`2po2e&Ux45l?KM;LT^fo=OX9tgmuY7gMZNJ~tmwkYjST%9YsR^5R%|k9b?( ze4HIQ9>(q*k7mP9{N&F;{pW?K*_Gaw<1D`6CgFpp+`Z&K56P3lEJ=grStEIn8v-<) z)TI_);c#JknB{Pl{pCc;`ky>yiIGMIKCwwh0cKs=TCdBoms_hHC@_Kiw|1ylpVvB= zgvRQ|`qrM)yDIIu-UWMNY{B z1V54eFXMNIzpz4SJEz;rZBX&wNAnc6@wwPQuhZ=W|Ij~V;W$ZU?tq!d!4j$A|2Z4) zT_sBEnnS1UIO#y(Eh%iwN96+%pWK_1MQ-`9kc{;B!(0g)$>$f|*tkH=joDa)`O;;# ziI_NB4vW&?d-}6yFQ&7_@Am7Sf-cXyx?DvY`#d)>@4LLp6ymC76$xjzo@p02@otHb zoBRjEq@bD0k$WA!;hBW)))W*GMe<*#hP&O<#f~mRqNBUa)-@kZ#mIRmhMFZ*cUzGnWL_?sfBmi-M->h&?M%}! zI`a8}i+Pz1m>MNEkCC15cUn(l-%!daj_x<|qIoS1{Oeq_O2}k&FGsP|3t@o^AB Thanks to - + Agradecimentos para @@ -156,40 +156,40 @@ Copyright ©2007 por Christophe Dumez<br> Options - Opções + Opções Main - Principal + Principal Save Path: - Salvar em: + Salvar em: Download Limit: - Limite de Download: + Limite de Download: Upload Limit: - Limite de Upload: + Limite de Upload: Max Connects: - Conexões Máximas: + Conexões Máximas: - + Port range: Range da porta: - + ... ... @@ -201,20 +201,20 @@ Copyright ©2007 por Christophe Dumez<br> Disable - Desabilitar + Desabilitar connections - conexões + conexões Proxy - Proxy + Proxy - + Proxy Settings Configurações de Proxy @@ -224,39 +224,39 @@ Copyright ©2007 por Christophe Dumez<br> Ip do servidor: - + 0.0.0.0 0.0.0.0 - + Port: Porta: Proxy server requires authentication - Servidor proxy requer autenticação + Servidor proxy requer autenticação - + Authentication Autenticação User Name: - Usuário: + Usuário: - + Password: Senha: Enable connection through a proxy server - Habilitar conexão por um servidor proxy + Habilitar conexão por um servidor proxy @@ -271,12 +271,12 @@ Copyright ©2007 por Christophe Dumez<br> Scanned Dir: - Diretório varrido: + Diretório varrido: Enable directory scan (auto add torrent files inside) - Habilitar varredura de diretório (adicionar automaticamente arquivos torrent) + Habilitar varredura de diretório (adicionar automaticamente arquivos torrent) @@ -286,7 +286,7 @@ Copyright ©2007 por Christophe Dumez<br> Share ratio: - Taxa de Compartilhamento: + Taxa de Compartilhamento: @@ -299,32 +299,32 @@ Copyright ©2007 por Christophe Dumez<br> KB UP máx. - + Activate IP Filtering Ativar filtragem de IP - + Filter Settings Configurações do Filtro - + Start IP Iniciar IP - + End IP Finalizar IP - + Origin Origem - + Comment Comentário @@ -334,24 +334,24 @@ Copyright ©2007 por Christophe Dumez<br> Aplicar - + IP Filter - Filtro de IP + Filtro de IP - + Add Range Adicionar a escala - + Remove Range Remover a escala ipfilter.dat Path: - Caminho do ipfilter.dat: + Caminho do ipfilter.dat: @@ -366,27 +366,27 @@ Copyright ©2007 por Christophe Dumez<br> Go to systray when minimizing window - Ir para systray quando minimizado + Ir para systray quando minimizado - + Misc Miscelânea Localization - Localização + Localização - + Language: Língua: Behaviour - Comportamento + Comportamento @@ -409,19 +409,19 @@ Copyright ©2007 por Christophe Dumez<br> Nunca mostrar OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP máx. + KiB UP máx. @@ -429,14 +429,14 @@ Copyright ©2007 por Christophe Dumez<br> Limpar automaticamente downloads concluídos - + Preview program Previsualizar programa Audio/Video player: - Tocador de Áudio/Vídeo: + Tocador de Áudio/Vídeo: @@ -446,218 +446,497 @@ Copyright ©2007 por Christophe Dumez<br> Always display systray messages - Sempre mostrar mensagens no systray + Sempre mostrar mensagens no systray Display systray messages only when window is hidden - Mostrar mensagens do systray somente quando a janela estiver escondida + Mostrar mensagens do systray somente quando a janela estiver escondida Never display systray messages - Nunca mostrar mensagens do systray + Nunca mostrar mensagens do systray DHT configuration - Configuração DHT + Configuração DHT DHT port: - Porta DHT: + Porta DHT: Language - Línguagem + Línguagem - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Atenção:</b> Mudanças somente serão aplicadas depois que o qBittorrent for reiniciado. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Atenção tradutores:</b> se o qBittorrent não está disponível no seu idioma, <br/>e você gostaria de traduzir na sua língua nativa, <br/> por favor entre em contato comigo (chris@qbittorrent.org). + <b>Atenção tradutores:</b> se o qBittorrent não está disponível no seu idioma, <br/>e você gostaria de traduzir na sua língua nativa, <br/> por favor entre em contato comigo (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Mostrar diálogo de adição de torrent sempre que adiciono um novo torrent + Mostrar diálogo de adição de torrent sempre que adiciono um novo torrent Default save path - Caminho padrão de salvamento + Caminho padrão de salvamento Disable DHT (Trackerless) - Desabilitar DHT (Traqueamento) + Desabilitar DHT (Traqueamento) Disable Peer eXchange (PeX) - Desabilitar Peer eXchange (PeX) + Desabilitar Peer eXchange (PeX) Go to systray when closing main window - Ir para o systray quando fechar janela principal + Ir para o systray quando fechar janela principal - + Connection Conexão Peer eXchange (PeX) - Troca de Pares (PeX) + Troca de Pares (PeX) DHT (trackerless) - DHT (trackerless) + DHT (trackerless) Torrent addition - Adição de Torrent + Adição de Torrent Main window - Janela principal + Janela principal Systray messages - Mensagens de Systray + Mensagens de Systray Directory scan - Varredura de diretório + Varredura de diretório Style (Look 'n Feel) - Estilo (Aparência) + Estilo (Aparência) - + Plastique style (KDE like) Estilo Plastique (tipo KDE) Cleanlooks style (GNOME like) - Estilo Cleanlooks (tipo GNOME) + Estilo Cleanlooks (tipo GNOME) Motif style (default Qt style on Unix systems) - Estilo Motif (Estilo padrão do Qt no Unix) + Estilo Motif (Estilo padrão do Qt no Unix) - + CDE style (Common Desktop Environment like) Estilo CDE (Tipo ambiente Desktop comum) MacOS style (MacOSX only) - Estilo MacOS (somente para MacOSX) + Estilo MacOS (somente para MacOSX) Exit confirmation when the download list is not empty - Confirmar sair quando a lista de downloads não estiver vazia + Confirmar sair quando a lista de downloads não estiver vazia Disable systray integration - Desabilitar integração com systray + Desabilitar integração com systray WindowsXP style (Windows XP only) - Estilo WindowsXP (somente Windows XP) + Estilo WindowsXP (somente Windows XP) Server IP or url: - Ip do servidor ou a Url: + Ip do servidor ou a Url: Proxy type: - Tipo de Proxy: + Tipo de Proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Conexões afetadas - + Use proxy for connections to trackers Usar proxy para conexões em trackers - + Use proxy for connections to regular peers Usar proxy para conexões em pares regulares - + Use proxy for connections to web seeds Usar proxy para conexões em pares da web - + Use proxy for DHT messages Usar proxy para mensagens DHT Encryption - Encriptação + Encriptação Encryption state: - Estado da encriptação: + Estado da encriptação: - + Enabled Habilitado - + Forced Forçado - + Disabled Desabilitado + + + Preferences + Preferências + + + + General + Gerais + + + + User interface settings + Configurações visuais de usuário + + + + Visual style: + Estilo visual: + + + + Cleanlooks style (Gnome like) + Estilo Cleanlooks (Gnome) + + + + Motif style (Unix like) + Estilo Motif (Unix) + + + + Ask for confirmation on exit when download list is not empty + Pedir confirmação ao sair quando a lista de downloads não está vazia + + + + Display current speed in title bar + Exibir velocidade atual na barra de titulo + + + + System tray icon + Ícone do sistema + + + + Disable system tray icon + Desabilitar ícone do sistema + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Fechar na bandeja + + + + Minimize to tray + Minimizar para a bandeja + + + + Show notification balloons in tray + Mostrar balões de notificação no systray + + + + Media player: + Tocador de media: + + + + Downloads + Downloads + + + + Put downloads in this folder: + Colocar downloads nesta pasta: + + + + Pre-allocate all files + Pré-alocar todos arquivos + + + + When adding a torrent + Adicionando um torrent + + + + Display torrent content and some options + Mostrar conteúdo torrent e as opções + + + + Do not start download automatically + The torrent will be added to download list in pause state + Não iniciar downloads automáticamente + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Varredura de pasta + + + + Automatically download torrents present in this folder: + Baixar automaticamente torrents presentes nesta pasta: + + + + Listening port + Escutando porta + + + + to + i.e: 1200 to 1300 + a + + + + Enable UPnP port mapping + Habilitar mapeamento de porta UPnP + + + + Enable NAT-PMP port mapping + Habilitar mapeamento de porta NAT-PMP + + + + Global bandwidth limiting + Limite global de banda + + + + Upload: + Upload: + + + + Download: + Download: + + + + Type: + Tipo: + + + + (None) + (Nenhum) + + + + Proxy: + Proxy: + + + + Username: + Usuário: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limites de conexão + + + + Global maximum number of connections: + Número máximo global de conexões: + + + + Maximum number of connections per torrent: + Número máximo global de conexões por torrent: + + + + Maximum number of upload slots per torrent: + Número máximo de slots de upload por torrent: + + + + Additional Bittorrent features + Características Bittorrent adicionais + + + + Enable DHT network (decentralized) + Habilitar DHT (decentralizado) + + + + Enable Peer eXchange (PeX) + Habilitar Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Habilitar Peer Discovery Local + + + + Encryption: + Encriptação: + + + + Share ratio settings + Configurações de taxa de compartilhamento + + + + Desired ratio: + Taxa designada: + + + + Filter file path: + Caminho do arquivo do filtro: + + + + transfer lists refresh interval: + Intervalo de atualização da lista de transferência: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Intervalo de atualização dos RSS feeds: + + + + minutes + minutos + + + + Maximum number of articles per feed: + Número máximo de artigos por feed: + + + + File system + Sistema de arquivo + + + + Remove finished torrents when their ratio reaches: + Remover torrents finalizados quando sua taxa atingir: + + + + System default + + DownloadingTorrents @@ -665,115 +944,115 @@ Copyright ©2007 por Christophe Dumez<br> Name i.e: file name - Nome + Nome Size i.e: file size - Tamanho + Tamanho Progress i.e: % downloaded - Progresso + Progresso DL Speed i.e: Download speed - Velocidade de download + Velocidade de download UP Speed i.e: Upload speed - Velocidade de Upload + Velocidade de Upload Seeds/Leechs i.e: full/partial sources - Seeds/Leechs + Seeds/Leechs Ratio - Taxa + Taxa ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 iniciado. + qBittorrent %1 iniciado. Be careful, sharing copyrighted material without permission is against the law. - Esteja ciente, compartilhar material protejido sem permissão é contra a lei. + Esteja ciente, compartilhar material protejido sem permissão é contra a lei. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>foi bloqueado</i> + <font color='red'>%1</font> <i>foi bloqueado</i> - + Fast resume data was rejected for torrent %1, checking again... - Resumo rápido rejeitado para o torrent %1, tente novamente... + Resumo rápido rejeitado para o torrent %1, tente novamente... - + Url seed lookup failed for url: %1, message: %2 - Url falhou para: %1, mensagem: %2 + Url falhou para: %1, mensagem: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' adicionado a lista de download. + '%1' adicionado a lista de download. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' continuando. (continue rápido) + '%1' continuando. (continue rápido) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' já está na lista de download. + '%1' já está na lista de download. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Incapaz de decodificar arquivo torrent: '%1' + Incapaz de decodificar arquivo torrent: '%1' - + This file is either corrupted or this isn't a torrent. - + Este arquivo encontra-se corrompido ou não é um torrent. - + Couldn't listen on any of the given ports. - Não foi possível escutar pelas portas dadas. + Não foi possível escutar pelas portas dadas. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - baixando '%1', por favor espere... + baixando '%1', por favor espere... @@ -859,7 +1138,7 @@ Copyright ©2007 por Christophe Dumez<br> GUI - + Open Torrent Files Abrir Arquivos Torrent @@ -879,17 +1158,17 @@ Copyright ©2007 por Christophe Dumez<br> Tem certeza que deseja apagar todos os arquivos na lista de downloads? - + &Yes &Sim - + &No &Não - + Are you sure you want to delete the selected item(s) in download list? Tem certeza que deseja apagar o(s) arquivo(s) selecionado(s) na lista de downloads? @@ -904,7 +1183,7 @@ Copyright ©2007 por Christophe Dumez<br> iniciado - + Finished Concluído @@ -959,7 +1238,7 @@ Copyright ©2007 por Christophe Dumez<br> Não pode criar o diretório: - + Torrent Files Arquivos Torrent @@ -1013,12 +1292,12 @@ Copyright ©2007 por Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Tem certeza? -- qBittorrent @@ -1249,12 +1528,12 @@ Registro de mudanças: Pausado - + Preview process already running Processo de pré-visualização já está rodando - + There is already another preview process running. Please close the other one first. Há um outro processo de pré-visualização rodando. @@ -1272,7 +1551,7 @@ Por favor feche o outro primeiro. Transferências - + Download finished Download finalizado @@ -1309,17 +1588,17 @@ Por favor feche o outro primeiro. qBittorrent %1 - + Connection status: Estado da conexão: - + Offline Offline - + No peers found... Peers não encontrados... @@ -1384,13 +1663,13 @@ Por favor feche o outro primeiro. qBittorrent %1 iniciado. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Velocidade de download: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Velocidade de Upload: %1 KiB/s @@ -1414,12 +1693,12 @@ Por favor feche o outro primeiro. Parado - + Are you sure you want to quit? Você tem certeza que quer sair? - + '%1' was removed. 'xxx.avi' was removed. '%1' foi deletado. @@ -1461,12 +1740,12 @@ Por favor feche o outro primeiro. Escutando a porta: %1 - + All downloads were paused. Todos os downloads pausados. - + '%1' paused. xxx.avi paused. '%1' pausado. @@ -1478,30 +1757,30 @@ Por favor feche o outro primeiro. Conectando... - + All downloads were resumed. Todos os downloads foram resumidos. - + '%1' resumed. e.g: xxx.avi resumed. '%1' resumido. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 download finalizado. - + I/O Error i.e: Input/Output Error Erro de Entrada/Saída - + 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 Ocorreu um erro quando tentava ler ou escrever %1. Provavelmente o seu disco está cheio, o download foi pausado @@ -1513,23 +1792,23 @@ Por favor feche o outro primeiro. Ocorreu um erro (disco cheio?), '%1' pausado. - + Connection Status: Estado da conexão: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Sob firewall? - + No incoming connections... Sem conexão... @@ -1561,66 +1840,66 @@ Por favor feche o outro primeiro. baixando '%1', por favor espere... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Ocorreu um erro (disco cheio?), '%1' pausado. - + Search Busca - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent escuta a porta: %1 - + DHT support [ON], port: %1 Suporte DHT [Ligado], porta: %1 - + DHT support [OFF] Suporte DHT [Desligado] - + PeX support [ON] Suporte PeX [Ligado] - + PeX support [OFF] Suporte PeX [Desligado] - + The download list is not empty. Are you sure you want to quit qBittorrent? A lista de download não está vazia. Deseja mesmo sair do qBittorrent? - + Downloads Downloads - + Are you sure you want to delete the selected item(s) in finished list? Quer mesmo deletar os ítems selecionados na lista de finalizados? - + UPnP support [ON] Suporte UPnP [Ligado] @@ -1630,17 +1909,17 @@ Deseja mesmo sair do qBittorrent? Esteja ciente, compartilhar material protejido sem permissão é contra a lei. - + Encryption support [ON] Suporte a encriptação [Ligado] - + Encryption support [FORCED] Suporte a encriptação [FORÇADO] - + Encryption support [OFF] Suporte a encriptação [Desligado] @@ -1656,13 +1935,13 @@ Deseja mesmo sair do qBittorrent? Taxa - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1674,18 +1953,18 @@ Deseja mesmo sair do qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Erro no download da URL - + Couldn't download file at url: %1, reason: %2. Não pude baixar arquivo em: %1, motivo: %2. @@ -1695,17 +1974,17 @@ Deseja mesmo sair do qBittorrent? Resumo rápido rejeitado para o torrent %1, tente novamente... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Quer mesmo deletar o(s) arquivo(s) selecionado(s) da lista e do seu HD ? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Quer mesmo deletar o(s) arquivo(s) selecionado(s) da lista finalizada e do seu HD ? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' foi removido permanentemente. @@ -1716,16 +1995,53 @@ Deseja mesmo sair do qBittorrent? Url falhou para: %1, mensagem: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Suporte UPnP [desligado] + + + + NAT-PMP support [ON] + Suporte NAT-PMP [ligado] + + + + NAT-PMP support [OFF] + Suporte NAT-PMP [desligado] + + + + Local Peer Discovery [ON] + Peer discovery [ligado] + + + + Local Peer Discovery support [OFF] + Peer discovery [desligado] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' foi removido sua taxa atingiu o valor máximo que você configurou. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (Down: %2Kb/s, Up: %3kb/s) @@ -2023,7 +2339,7 @@ Deseja mesmo sair do qBittorrent? Options - Opções + Opções @@ -2039,24 +2355,24 @@ Deseja mesmo sair do qBittorrent? Verdadeiro - + Ignored Ignorado - + Normal Normal (priority) Normal - + High High (priority) Alta - + Maximum Maximum (priority) Máxima @@ -2078,17 +2394,17 @@ Deseja mesmo sair do qBittorrent? Busca - + Delete Apagar - + Rename Renomear - + Refresh Atualizar @@ -2098,70 +2414,75 @@ Deseja mesmo sair do qBittorrent? Criar - + Delete selected streams Deletar streams selecionadas - + Refresh RSS streams Atualizar RSS streams - + Add a new RSS stream Adicionar um novo stream de RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Info:</b> <i>(clique-duplo para abrir o link no seu browser)</i> - + Add RSS stream Adicionar stream RSS - + Refresh all streams Atualizar todos streams - + RSS streams: streams RSS: - + 2 - 2 + 2 + + + + Mark all as read + Marcar todos como lido RSSImp - + Please type a rss stream url Digite uma url de stream rss - + Stream URL: Stream URL: - + Please choose a new name for this stream Escolha um novo nome para esse stream - + New stream name: Novo nome do stream: - + Are you sure? -- qBittorrent Tem certeza? -- qBittorrent @@ -2171,50 +2492,60 @@ Deseja mesmo sair do qBittorrent? Quer mesmo deletar este stream da lista ? - + &Yes &Sim - + &No &Não - + Are you sure you want to delete this stream from the list? Quer mesmo deletar este stream da lista ? - + Description: Descrição: - + url: url: - + Last refresh: Última atualização: - + qBittorrent - qBittorrent + qBittorrent - + This rss feed is already in the list. - + Este rss feed já está na lista. + + + + Date: + Data: + + + + Author: + Autor: RssItem - + No description available Nenhuma descrição disponível @@ -2222,82 +2553,82 @@ Deseja mesmo sair do qBittorrent? RssStream - + %1 ago 10min ago %1 atrás - + Never - + Nunca SearchEngine - + Name i.e: file name Nome - + Size i.e: file size Tamanho - + Seeders i.e: Number of full sources Semeadores - + Leechers i.e: Number of partial sources Leechers - + Search engine Mecanismo de busca - + Empty search pattern Padrão de busca vazio - + Please type a search pattern first Por favor digite um padrão de busca primeiro No search engine selected - Nenhum mecanismo de busca selecionado + Nenhum mecanismo de busca selecionado You must select at least one search engine. - Você deve selecionar pelo menos um mecanismo de busca. + Você deve selecionar pelo menos um mecanismo de busca. - + Results Resultados - + Searching... Buscando... Search plugin update -- qBittorrent - Atualização do plugin de busca -- qBittorrent + Atualização do plugin de busca -- qBittorrent @@ -2305,67 +2636,67 @@ Deseja mesmo sair do qBittorrent? Changelog: - Plugin de busca pode ser atualizado, deseja atualizá-lo? + Plugin de busca pode ser atualizado, deseja atualizá-lo? Log de mudanças: &Yes - &Sim + &Sim &No - &Não + &Não Search plugin update - Atualização de plugin de busca + Atualização de plugin de busca qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Desculpe, servidor de atualizações está temporariamente indisponível. + Desculpe, servidor de atualizações está temporariamente indisponível. Your search plugin is already up to date. - Seu plugin de busca já está atualizado. + Seu plugin de busca já está atualizado. - + Search Engine Mecanismo de Busca - + Search has finished Busca finalizada - + An error occured during search... Um erro ocorreu durante a busca... - + Search aborted Busca abortada - + Search returned no results A busca não retornou resultados - + Results i.e: Search results Resultados @@ -2373,12 +2704,17 @@ Log de mudanças: Search plugin download error - Erro no download do plugin de busca + Erro no download do plugin de busca Couldn't download search plugin update at url: %1, reason: %2. - Não pude baixar a atualização do plugin de busca na url: %1, motivo: %2. + Não pude baixar a atualização do plugin de busca na url: %1, motivo: %2. + + + + Unknown + Desconhecido @@ -2589,17 +2925,17 @@ Copyright ©2007 por Christophe Dumez<br> Dialogo de adicionar torrent - + Save path: Caminho de salvamento: - + ... ... - + Torrent content: Conteúdo do torrent: @@ -2619,22 +2955,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecionado - + Download in correct order (slower but good for previewing) Baixar em ordem (lento mas bom para pré-visualizar) - + Add to download list in paused state Adicionar a lista de download em pausa - + Add Adicionar - + Cancel Cancelar @@ -2649,22 +2985,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecionar - + Ignored Ignorado - + Normal Normal - + High Alto - + Maximum Máximo @@ -2730,10 +3066,10 @@ Copyright ©2007 por Christophe Dumez<br> Destination torrent file: - Arquivo torrent de destino: + Arquivo torrent de destino: - + Input file or directory: Entre com arquivo ou diretório: @@ -2745,15 +3081,15 @@ Copyright ©2007 por Christophe Dumez<br> ... - ... + ... Create - Criar + Criar - + Cancel Cancelar @@ -2793,45 +3129,120 @@ Copyright ©2007 por Christophe Dumez<br> <center>Comentário:</center> - + Torrent file creation Criando arquivo Torrent Input files or directories: - Insira arquivos ou diretórios: + Insira arquivos ou diretórios: - + Announce urls (trackers): Urls (trackers): - + Comment (optional): Comentário (opcional): Private (won't be distributed on trackerless network / DHT if enabled) - Privado (Não pode ser distribuido na rede trackerless / se DHT habilitado) + Privado (Não pode ser distribuido na rede trackerless / se DHT habilitado) - + Web seeds urls (optional): Urls de compartilhadores web (opcional): + + + File or folder to add to the torrent: + Arquivo ou pasta para adicionar ao torrent: + + + + Add a file + Adicionar um arquivo + + + + Add a folder + Adicionar uma pasta + + + + Piece size: + Tamanho: + + + + 32 KiB + 32kb + + + + 64 KiB + 64kb + + + + 128 KiB + 128kb + + + + 256 KiB + 256kb + + + + 512 KiB + 512kb + + + + 1 MiB + 1mb + + + + 2 MiB + 2mb + + + + 4 MiB + 4mb + + + + Private (won't be distributed on DHT network if enabled) + Privado (não distribuir em DHT se habilitado) + + + + Start seeding after creation + Iniciar compartilhamento depois de criar + + + + Create and save... + Criar e salvar... + createtorrent - + Select destination torrent file Selecione o arquivo torrent de destino - + Torrent Files Arquivos Torrent @@ -2841,22 +3252,22 @@ Copyright ©2007 por Christophe Dumez<br> Selecione o diretório ou arquivo de entrada - + No destination path set - Nenhum caminho de destino selecionado + Nenhum caminho de destino selecionado - + Please type a destination path first - Digite primeiro um caminho de destino + Digite primeiro um caminho de destino - + No input path set Nenhum caminho de entrada selecionado - + Please type an input path first Digite primeiro um caminho de entrada @@ -2871,12 +3282,12 @@ Copyright ©2007 por Christophe Dumez<br> Digite primeiro um caminho de entrada correto - + Torrent creation Criação de torrent - + Torrent was created successfully: Torrent foi criado com sucesso: @@ -2886,41 +3297,56 @@ Copyright ©2007 por Christophe Dumez<br> Por favor insira um caminho válido primeiro - + Select a folder to add to the torrent Selecione uma pasta para adicionar ao torrent Select files to add to the torrent - Selecione arquivos para adicionar ao torrent + Selecione arquivos para adicionar ao torrent - + Please type an announce URL Digite uma url anunciada - + Torrent creation was unsuccessful, reason: %1 A criação do torrent não foi possível, motivo: %1 - + Announce URL: Tracker URL Url anunciada: - + Please type a web seed url Digite uma url de compartilhador web - + Web seed URL: Url de compartilhador web: + + + Select a file to add to the torrent + Selecione um arquivo para adicionar ao torrent + + + + No tracker path set + Nenhum tracker setado + + + + Please set at least one tracker + Por favor, adicione ao menos um tracker + downloadFromURL @@ -2965,112 +3391,298 @@ Copyright ©2007 por Christophe Dumez<br> Search - Busca + Busca Total DL Speed: - Velocidade total de Download: + Velocidade total de Download: KiB/s - KiB/s + Kb/s Session ratio: - Taxa da sessão: + Taxa da sessão: Total UP Speed: - Velocidade total de Upload: + Velocidade total de Upload: Log - Log + Log IP filter - Filtro IP + Filtro IP Start - Iniciar + Iniciar Pause - Pausar + Pausar Delete - Apagar + Apagar Clear - Limpar + Limpar Preview file - Arquivo de pré-visualização + Arquivo de pré-visualização Set upload limit - Setar limite de upload + Setar limite de upload Set download limit - Setar limite de download + Setar limite de download Delete Permanently - Apagar permanentemente + Apagar permanentemente Torrent Properties - Propriedades do Torrent + Propriedades do Torrent + + + + engineSelect + + + Search plugins + Plugins de busca + + + + Installed search engines: + Plugins de busca instalados: + + + + Name + Nome + + + + Url + Url + + + + Enabled + Habilitado + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Você pode encontrar novos plugins de busca aqui: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Instalar um novo + + + + Check for updates + Verificar atualizações + + + + Close + Fechar + + + + Enable + Habilitar + + + + Disable + Desabilitar + + + + Uninstall + Desinstalar + + + + engineSelectDlg + + + True + Verdadeiro + + + + False + Falso + + + + Uninstall warning + Aviso de desinstalação + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Muitos plugins não podem ser desinstalados por serem padrão do qBittorrent. + Apenas aqueles que você instalou podem ser desinstalados. +Portanto os plugins foram desabilitados. + + + + Uninstall success + Desinstalado com sucesso + + + + Select search plugins + Selecionar plugins de busca + + + + qBittorrent search plugins + Plugins de busca qBittorrent + + + + Search plugin install + Instalação de plugin de busca + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Uma versão mais recente de plugin de busca %1 já está instalado. + + + + Search plugin update + Atualização de plugin de busca + + + + Sorry, update server is temporarily unavailable. + Desculpe, servidor de atualizações está temporariamente indisponível. + + + + All your plugins are already up to date. + Todos os plugins já estão atuais. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 esse aí não pôde ser atualizado, vai ficar o véio. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Plugin de busca %1 não pode ser instalado. + + + + All selected plugins were uninstalled successfully + Plugins selecionados desinstalados com sucesso + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Plugin de busca %1 atualizado com sucesso. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Plugin de busca %1 instalado com sucesso. + + + + Search engine plugin archive could not be read. + Arquivo de plugin de busca não pode ser lido. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Sinto muito mas a instalação do plugin de busca %1 falhou. + + + + New search engine plugin URL + Url de novo plugin de busca + + + + URL: + Url: misc - + B bytes B - + KiB kibibytes (1024 bytes) Kib - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3088,7 +3700,7 @@ Copyright ©2007 por Christophe Dumez<br> h - + Unknown Desconhecido @@ -3105,31 +3717,31 @@ Copyright ©2007 por Christophe Dumez<br> d - + Unknown Unknown (size) Desconhecido - + < 1m < 1 minute < 1 minuto - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -3188,12 +3800,12 @@ Copyright ©2007 por Christophe Dumez<br> está corrompido. - + Range Start IP IP do começo da escala - + Start IP: Iniciar IP: @@ -3208,22 +3820,22 @@ Copyright ©2007 por Christophe Dumez<br> Este IP está incorreto. - + Range End IP IP do fim da escala - + End IP: Finalizar IP: - + IP Range Comment Comentário Range de IP - + Comment: Comentário: @@ -3231,55 +3843,78 @@ Copyright ©2007 por Christophe Dumez<br> to <min port> to <max port> - a + a - + Choose your favourite preview program Selecione seu programa preferido para pré-visualizar - + Invalid IP IP inválido - + This IP is invalid. Este IP é inválido. - + Options were saved successfully. Opções salvas com sucesso. - + Choose scan directory Selecione diretório para varredura - + Choose an ipfilter.dat file Selecione um arquivo ipfilter.dat - + Choose a save directory Selecione um diretório de salvamento - + I/O Error Input/Output Error Erro de Entrada/Saída - + Couldn't open %1 in read mode. Não posso abrir %1 no modo de leitura. + + pluginSourceDlg + + + Plugin source + Fonte do plugin + + + + Search plugin source: + Busca de plugin de busca: + + + + Local file + Arquivo local + + + + Web link + Link da net + + preview @@ -3389,7 +4024,7 @@ Copyright ©2007 por Christophe Dumez<br> Conteúdo do Torrent - + OK OK @@ -3439,7 +4074,7 @@ Copyright ©2007 por Christophe Dumez<br> Alocando - + Unknown Desconhecido @@ -3454,12 +4089,12 @@ Copyright ©2007 por Christophe Dumez<br> Parcial: - + Files contained in current torrent: Arquivos contidos no torrent atual: - + Size Tamanho @@ -3494,57 +4129,57 @@ Copyright ©2007 por Christophe Dumez<br> Verdadeiro - + Tracker Rastreador - + Trackers: Rastreadores: - + None - Unreachable? Nenhum - Inatingível? - + Errors: Erros: - + Progress Progresso - + Main infos Informações principais - + Current tracker: Rastreador atual: - + Total uploaded: Total de Upload: - + Total downloaded: Total baixado: - + Total failed: Total falhado: - + Torrent content Conteúdo torrent @@ -3554,7 +4189,7 @@ Copyright ©2007 por Christophe Dumez<br> Opções - + Download in correct order (slower but good for previewing) Baixar em ordem correta (lento mas bom para pré-visualizar) @@ -3574,132 +4209,132 @@ Copyright ©2007 por Christophe Dumez<br> Leechers: - + Save path: Caminho de salvamento: - + Torrent infos Infos do Torrent - + Creator: Criador: - + Torrent hash: Mistura do Torrent: - + Comment: Comentário: - + Current session Sessão atual - + Share ratio: Taxa de Compartilhamento: - + Trackers Rastreadores - + New tracker Novo rastreador - + New tracker url: Novo url de rastreador: - + Priorities: Prioridades: - + Normal: normal priority. Download order is dependent on availability Normal: prioridade normal. Ordem de download é dependente da disponibilidade - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Alta: Maior que a prioridade normal. As partes são preferidas sobre partes com a mesma disponibilidade, mas não em excesso das com disponibilidade mais baixa - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Máxima: prioridade máxima, disponibilidade é desconsiderada, a parte é preferida mais que outra parte com prioridade baixa - + File name Nome do arquivo - + Priority Prioridade - + qBittorrent qBittorrent - + Trackers list can't be empty. Lista de rastreadores não pode estar vazia. - + Ignored: file is not downloaded at all Ignorado: arquivo não foi baixado completamente - + Ignored Ignorado - + Normal Normal - + Maximum Máxima - + High Alta - + Url seeds Url de compartilhadores - + New url seed: Nova url de compartilhador: - + This url seed is already in the list. Essa url de compartilhador já está na lista. @@ -3709,74 +4344,89 @@ Copyright ©2007 por Christophe Dumez<br> Url de compartilhador no código-fonte não pode ser deletada. - + None i.e: No error message Nenhum - + New url seed New HTTP source Nova url de compartilhador - + The following url seeds are available for this torrent: As urls a seguir estão disponíveis para este torrent: + + + Priorities error + Erro de prioridades + + + + Error, you can't filter all the files in a torrent. + Erro, você não pode filtrar todos arquivos no torrent. + search_engine - + Search Busca Search Engines - Mecanismos de Busca + Mecanismos de Busca - + Search Pattern: Padrão de busca: - + Stop Parar - + Status: Estado: - + Stopped Parado - + Results: Resultados: - + Download Download - + Clear Limpar Update search plugin - Atualizar plugin de busca + Atualizar plugin de busca + + + + Search engines... + Máquinas de busca... @@ -3835,57 +4485,57 @@ Copyright ©2007 por Christophe Dumez<br> subDownloadThread - + Host is unreachable O host é inalcançável - + File was not found (404) Arquivo não encontrado (404) - + Connection was denied Conexão foi negada - + Url is invalid Url é inválida - + Connection forbidden (403) Conexão proibida (403) - + Connection was not authorized (401) Conexão não foi autorizada (401) - + Content has moved (301) Conteúdo foi movido (301) - + Connection failure Conexão falhou - + Connection was timed out Conexão esgotou o tempo - + Incorrect network interface Relação da rede incorreta - + Unknown error Erro desconhecido @@ -3898,17 +4548,17 @@ Copyright ©2007 por Christophe Dumez<br> Verdadeiro - + Unable to decode torrent file: Incapaz de decodificar o arquivo torrent: - + This file is either corrupted or this isn't a torrent. Este arquivo está corrompido ou não é um arquivo torrent. - + Choose save path Escolha um caminho de salvamento @@ -3918,52 +4568,52 @@ Copyright ©2007 por Christophe Dumez<br> Falso - + Empty save path Caminho de salvamento vazio - + Please enter a save path Por favor digite um caminho de salvamento - + Save path creation error Erro ao criar caminho de salvamento - + Could not create the save path Não foi possível criar caminho de salvamento - + Invalid file selection Seleção de arquivo inválida - + You must select at least one file in the torrent Você deve selecionar um arquivo no torrent - + File name Nome do arquivo - + Size Tamanho - + Progress Progresso - + Priority Prioridade diff --git a/src/lang/qbittorrent_ro.qm b/src/lang/qbittorrent_ro.qm index 516fbe549a48c73e1244195521df99f37c69ca05..c94d7205e56caa626eb22e167f5e56ae91b70e4b 100644 GIT binary patch delta 14864 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 SPH4H!%%+^^8R>q)qx@eTq6|F% delta 9861 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 diff --git a/src/lang/qbittorrent_ro.ts b/src/lang/qbittorrent_ro.ts index 6441986af..b6a14d912 100644 --- a/src/lang/qbittorrent_ro.ts +++ b/src/lang/qbittorrent_ro.ts @@ -154,42 +154,42 @@ Copyright © 2006 by Christophe Dumez<br> Opţiuni -- qBittorrent - + Options - Opţiuni + Opţiuni - + Main - Principal + Principal - + Save Path: - Calea de salvare: + Calea de salvare: - + Download Limit: - Limita de Download: + Limita de Download: - + Upload Limit: - Limita de Upload: + Limita de Upload: - + Max Connects: - Numărul maxim de conectări: + Numărul maxim de conectări: - + Port range: Domeniul portului: - + ... ... @@ -199,22 +199,22 @@ Copyright © 2006 by Christophe Dumez<br> Kb/s - + Disable - Dezactivat + Dezactivat - + connections - conectări + conectări - + Proxy - Proxy + Proxy - + Proxy Settings Setările Proxy @@ -224,39 +224,39 @@ Copyright © 2006 by Christophe Dumez<br> IP-ul Serverului: - + 0.0.0.0 0.0.0.0 - + Port: Portul: - + Proxy server requires authentication - Serverul Proxy cere autentificare + Serverul Proxy cere autentificare - + Authentication Autentificare - + User Name: - Numele utilizatorului: + Numele utilizatorului: - + Password: Parola: - + Enable connection through a proxy server - Activarea conectării prin Proxy Server + Activarea conectării prin Proxy Server @@ -269,14 +269,14 @@ Copyright © 2006 by Christophe Dumez<br> Anulare - + Scanned Dir: - Directoriul Scanat: + Directoriul Scanat: - + Enable directory scan (auto add torrent files inside) - Activarea Scanarea Direcoriului(Automat adauga torrentele din directoriu) + Activarea Scanarea Direcoriului(Automat adauga torrentele din directoriu) @@ -284,9 +284,9 @@ Copyright © 2006 by Christophe Dumez<br> Setările conectării - + Share ratio: - Raţia de Share: + Raţia de Share: @@ -299,32 +299,32 @@ Copyright © 2006 by Christophe Dumez<br> KB UP max. - + Activate IP Filtering Activarea IP Filtrare - + Filter Settings Setările Filtrului - + Start IP IP de start - + End IP IP de oprire - + Origin Origine - + Comment Comentarii @@ -334,24 +334,24 @@ Copyright © 2006 by Christophe Dumez<br> Aplicare - + IP Filter - Filtru IP + Filtru IP - + Add Range Adaugă domeniu - + Remove Range Sterge domeniu - + ipfilter.dat Path: - ipfilter.dat Cale: + ipfilter.dat Cale: @@ -364,29 +364,29 @@ Copyright © 2006 by Christophe Dumez<br> Intreabă confirmare la eşire - + Go to systray when minimizing window - Ascunde in SysTray la minimizare + Ascunde in SysTray la minimizare - + Misc Diferite - + Localization - Localizare + Localizare - + Language: Limba: - + Behaviour - Interfaţa + Interfaţa @@ -409,19 +409,19 @@ Copyright © 2006 by Christophe Dumez<br> Nici o data nu afiseaza OSD - + KiB/s KiB/s - + 1 KiB DL = - 1 KiB DL = + 1 KiB DL = - + KiB UP max. - KiB Up max. + KiB Up max. @@ -439,49 +439,49 @@ Copyright © 2006 by Christophe Dumez<br> Automat şterge descărcările finişate - + Preview program Program de preview - + Audio/Video player: - Audio/Video player: + Audio/Video player: - + DHT configuration - Configurarea DHT + Configurarea DHT - + DHT port: - Portul DHT: + Portul DHT: - + Language - Limba + Limba - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Notă:</b> Schimbările vor fi aplicate după restartarea qBittorrent. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Notă pentru translatori:</b> Dacă qBittorrent nu este tradus in limba dvs, <br/>şi dacă doriti să traduceţi in limba dvs,<br/>vă rog să mă contactaţi (chris@qbittorrent.org). + <b>Notă pentru translatori:</b> Dacă qBittorrent nu este tradus in limba dvs, <br/>şi dacă doriti să traduceţi in limba dvs,<br/>vă rog să mă contactaţi (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - Arată dialogul de adăugare fiecaredată cînd adaug un torrent + Arată dialogul de adăugare fiecaredată cînd adaug un torrent - + Default save path - Calea de salvare + Calea de salvare @@ -489,185 +489,464 @@ Copyright © 2006 by Christophe Dumez<br> Mesajele din systray - + Always display systray messages - Întotdeauna arată mesajele din systray + Întotdeauna arată mesajele din systray - + Display systray messages only when window is hidden - Afişează mesajele din systray numai cînd fereastra este ascunsă + Afişează mesajele din systray numai cînd fereastra este ascunsă - + Never display systray messages - Niciodată nu afişa mesajele din systray + Niciodată nu afişa mesajele din systray - + Disable DHT (Trackerless) - Dezactiveaza DHT + Dezactiveaza DHT - + Disable Peer eXchange (PeX) - Dezactiveaza Peer eXchange (PeX) + Dezactiveaza Peer eXchange (PeX) - + Go to systray when closing main window - Trec in systray la inchiderea ferestrei + Trec in systray la inchiderea ferestrei - + Connection Conectare - + Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) - + DHT (trackerless) - DHT (trackerless) + DHT (trackerless) - + Torrent addition - Adaugarea torrentului + Adaugarea torrentului - + Main window - Fereastra principala + Fereastra principala - + Systray messages - Mesage din systray + Mesage din systray - + Directory scan - Scanarea directoriului + Scanarea directoriului - + Style (Look 'n Feel) - Stilul + Stilul - + Plastique style (KDE like) Stil plastic (ca in KDE) - + Cleanlooks style (GNOME like) - Stril cleanlooks (ca în GNOME) + Stril cleanlooks (ca în GNOME) - + Motif style (default Qt style on Unix systems) - Stil motif ( stil Qt pe alte UNIX sisteme) + Stil motif ( stil Qt pe alte UNIX sisteme) - + CDE style (Common Desktop Environment like) Stil CDE (Common Desktop Environment like) - + MacOS style (MacOSX only) - Stil MacOS (disponibil numai pentru MacOSX) + Stil MacOS (disponibil numai pentru MacOSX) - + Exit confirmation when the download list is not empty - Confirmare la eşire cînd lista de descărcare nu este vidă + Confirmare la eşire cînd lista de descărcare nu este vidă - + Disable systray integration - Dezactiverea integrării in systray + Dezactiverea integrării in systray - + WindowsXP style (Windows XP only) - Stil WindowsXP (numai pentru WindowsXP) + Stil WindowsXP (numai pentru WindowsXP) - + Server IP or url: - IP-ul Serverului sau URL: + IP-ul Serverului sau URL: - + Proxy type: - Tipul de proxy: + Tipul de proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Conectări afectate - + Use proxy for connections to trackers Foloseşte proxy pentru conectare la tracker-i - + Use proxy for connections to regular peers Foloseşte proxy pentru conectare la peer-i - + Use proxy for connections to web seeds Foloseşte proxy la conectare cu web seeds - + Use proxy for DHT messages Foloseşte proxy pentru DHT mesage - + Encryption - Criptare + Criptare - + Encryption state: - Starea codificării: + Starea codificării: - + Enabled Activată - + Forced Forţată - + Disabled Dezactivată + + + Preferences + Preferinţe + + + + General + General + + + + User interface settings + Setările interfaţei grafice + + + + Visual style: + Stilul vizual: + + + + Cleanlooks style (Gnome like) + Stilul Cleanlooks(ca în Gnome) + + + + Motif style (Unix like) + Stilul Motif(ca în Unix) + + + + Ask for confirmation on exit when download list is not empty + Întreabă confirmare la ieşire cînd lista de descărcare nu este vidă + + + + Display current speed in title bar + Afişează viteza curentă în bara de titlu + + + + System tray icon + Imagine în system tray + + + + Disable system tray icon + Dezactivează imagine în system tray + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Închide în tray + + + + Minimize to tray + Minimizează în tray + + + + Show notification balloons in tray + Arată notificări în tray + + + + Media player: + Media player: + + + + Downloads + Descărcări + + + + Put downloads in this folder: + Pune descărcările în acest dosar: + + + + Pre-allocate all files + Pre alocă toate fişierele + + + + When adding a torrent + Cînd adaugi un torrent + + + + Display torrent content and some options + Afişează conţinutul torrentului şi unele opţiuni + + + + Do not start download automatically + The torrent will be added to download list in pause state + Nu porni descărcarea automat + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Monitorizează directoriul + + + + Automatically download torrents present in this folder: + Descarcă automat torrentele prezente în acest dosar: + + + + Listening port + Port-ul de ascultare + + + + to + i.e: 1200 to 1300 + la + + + + Enable UPnP port mapping + Activează UPnP mapare port + + + + Enable NAT-PMP port mapping + Activează NAT-PMP mapare port + + + + Global bandwidth limiting + Limită globală de bandwidth + + + + Upload: + Încărcat: + + + + Download: + Descărcat: + + + + Type: + Tipul: + + + + (None) + (Nimic) + + + + Proxy: + Proxy: + + + + Username: + Numele de utilizator: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limită de conectare + + + + Global maximum number of connections: + Numărul global maxim de conectări: + + + + Maximum number of connections per torrent: + Numărul maxim de conectări pentru torrent: + + + + Maximum number of upload slots per torrent: + Numărul maxim de sloturi de încărcare pentru un torrent: + + + + Additional Bittorrent features + Funcţii adiţionale + + + + Enable DHT network (decentralized) + Activează reţeaua DHT(decentralizat) + + + + Enable Peer eXchange (PeX) + Activează Peer eXchange(PeX) + + + + Enable Local Peer Discovery + Activează căutarea locală de Peer-i + + + + Encryption: + Codificare: + + + + Share ratio settings + Setările de Share ratio + + + + Desired ratio: + Desired ratio: + + + + Filter file path: + Filtrează cale de fisiere: + + + + transfer lists refresh interval: + Intervalul de reînnoire al litei de transferuri: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Intervalul de reînnoire al listei RSS: + + + + minutes + minute + + + + Maximum number of articles per feed: + Numărul maxim de articole pentru flux: + + + + File system + Sistem de fişiere + + + + Remove finished torrents when their ratio reaches: + Şterge torrent-urile finişate cînd ratio lor ajunge la: + + + + System default + + DownloadingTorrents @@ -736,51 +1015,51 @@ Copyright © 2006 by Christophe Dumez<br> <font color='red'>%1</font> <i>a fost blocat</i> - + Fast resume data was rejected for torrent %1, checking again... Resumarea rapidă a fost respinsă pentru torrent-ul %1, verific încă o dată... - + Url seed lookup failed for url: %1, message: %2 Conectarea la seed a eşuat pentru : %1, mesajul : %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' adăugat la lista de descărcare. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' resumat. (resumare rapidă) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' este de acum in lista de descărcare. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Nu pot decodifica torrent-ul : '%1' - + This file is either corrupted or this isn't a torrent. Acest fişier este deteriorat sau nu este torrent. - + Couldn't listen on any of the given ports. Nu pot asculta pe orice port dat. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Descarc '%1', vă rugăm să aşteptaţi... @@ -869,7 +1148,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Deschide Fişiere Torrent @@ -889,17 +1168,17 @@ Copyright © 2006 by Christophe Dumez<br> Sunteţi siguri să ştergeţi toate fişierele din lista de download? - + &Yes &Yes - + &No &No - + Are you sure you want to delete the selected item(s) in download list? Sunteţi siguri să ştergeţi itemii selectaţi din lista download? @@ -914,7 +1193,7 @@ Copyright © 2006 by Christophe Dumez<br> început - + Finished Finişat @@ -969,7 +1248,7 @@ Copyright © 2006 by Christophe Dumez<br> Nu pot crea directoriul: - + Torrent Files Fişiere Torrent @@ -1023,12 +1302,12 @@ Copyright © 2006 by Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Sunteţi siguri? -- qBittorrent @@ -1265,12 +1544,12 @@ Changelog: Pauzat - + Preview process already running Procesul de preview de acum este pornit - + There is already another preview process running. Please close the other one first. De acum alt proces de preview este pornit. @@ -1315,7 +1594,7 @@ Vă rugăm să-l opriţi. Doriti să ştergeţi item(ii) selectaţi? - + Download finished Descărcarea terminată @@ -1342,17 +1621,17 @@ Vă rugăm să-l opriţi. qBittorrent %1 - + Connection status: Starea conectării: - + Offline Deconectat - + No peers found... Nici un peer nu a fost găsit... @@ -1399,13 +1678,13 @@ Vă rugăm să-l opriţi. Seederi - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Viteza DL: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Viteza IP: %1 KiB/s @@ -1429,12 +1708,12 @@ Vă rugăm să-l opriţi. Oprit - + Are you sure you want to quit? Doriti să ieşiţi ? - + '%1' was removed. 'xxx.avi' was removed. '%1' a fost şters. @@ -1446,12 +1725,12 @@ Vă rugăm să-l opriţi. Nimic - + All downloads were paused. Toate descărcările au fost pauzate. - + '%1' paused. xxx.avi paused. '%1' pauzat. @@ -1463,52 +1742,52 @@ Vă rugăm să-l opriţi. Conectare... - + All downloads were resumed. Toate descărcările au fost reluate. - + '%1' resumed. e.g: xxx.avi resumed. '%1' reluat. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 a fost terminat de descărcat. - + I/O Error i.e: Input/Output Error Eroare de intrare/eşire - + 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 O eroare a fost detectată la citire sau scriere în %1. Discul probabil este plin, descărcarea a fost pauzată - + Connection Status: Starea conectării: - + Online Conectat - + Firewalled? i.e: Behind a firewall/router? Firewalled? - + No incoming connections... Nu sunt conectări din exterior... @@ -1519,140 +1798,177 @@ Vă rugăm să-l opriţi. Rezultate - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Eroare a fost detectată(discul plin?), '%1' pauzad. - + Search Caută - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent foloseşte portul: %1 - + DHT support [ON], port: %1 Suport DHT[Activat], port: %1 - + DHT support [OFF] Suport DHT[Dezactivat] - + PeX support [ON] Suport PeX[Activat] - + PeX support [OFF] Suport PeX[Dezactivat] - + The download list is not empty. Are you sure you want to quit qBittorrent? Lista de descărcare nu este vidă. Doriţi să ieşiţi din qBittorrent? - + Downloads Descărcări - + Are you sure you want to delete the selected item(s) in finished list? Doriţi să ştergeţi itemii selectaţi ? - + UPnP support [ON] Suport UPnP[Activat] - + Encryption support [ON] Suport de codificate[Activat] - + Encryption support [FORCED] Suport de codificare[Forţat] - + Encryption support [OFF] Suport de codificare [Dezactivat] - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Eroare la descărcare URL - + Couldn't download file at url: %1, reason: %2. Nu pot descărca fisierul de pe url: %1, motivul: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Doriţi să ştergeţi itemii selectaţi din listă si de pe hard disk ? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Doriţi să ştergeţi itemii selectaţi din listă si de pe hard disk ? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' a fost şters pentru totdeauna. - + Alt+3 shortcut to switch to third tab Alt+3 - + Ctrl+F shortcut to switch to search tab Ctrl+F + + + UPnP support [OFF] + suport de UPnP[Dezactivat] + + + + NAT-PMP support [ON] + suport NAT-PMP[Activat] + + + + NAT-PMP support [OFF] + suport NAT-PMP[Dezactivat] + + + + Local Peer Discovery [ON] + Căutare peer locali[Activat] + + + + Local Peer Discovery support [OFF] + Căutarea peer locali[Dezactivat] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' a fost şters deoarece ratio lui a ajuns la valoarea maximă setată de dvs. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + MainWindow @@ -1955,24 +2271,24 @@ Doriţi să ieşiţi din qBittorrent? Adevărat - + Ignored Ignorat - + Normal Normal (priority) Normal - + High High (priority) Înaltă - + Maximum Maximum (priority) Maximală @@ -1994,17 +2310,17 @@ Doriţi să ieşiţi din qBittorrent? Caută - + Delete Şterge - + Rename Redenumeşte - + Refresh Reînnoieşte @@ -2014,118 +2330,133 @@ Doriţi să ieşiţi din qBittorrent? Crează - + Delete selected streams Şterge itemul selectat - + Refresh RSS streams Reînnoieşte firul RSS - + Add a new RSS stream Adaugă un nou fir RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Noutăţi:</b> <i>(dubli click pentru a deschide)</i> - + Add RSS stream Adaugă RSS fir - + Refresh all streams Reînnoieşte toate firele - + RSS streams: Fire RSS: - + 2 2 + + + Mark all as read + Marchează toate ca citite + RSSImp - + Please type a rss stream url Introduceţi adresa URL la RSS fir - + Stream URL: Adresa URL: - + Please choose a new name for this stream Alegeţi un nume nou la acest fir - + New stream name: Numele nou: - + Are you sure? -- qBittorrent Sunteţi siguri? -- qBittorrent - + &Yes &Yes - + &No &No - + Are you sure you want to delete this stream from the list? Doriţi să ştergeţi acest fir din listă ? - + Description: Descriere: - + url: URL: - + Last refresh: Ultima reînnoire: - + qBittorrent qBittorrent - + This rss feed is already in the list. Acest RSS este deacum în listă. + + + Date: + Data: + + + + Author: + Autor: + RssItem - + No description available Descrierea nu este disponobilă @@ -2133,13 +2464,13 @@ Doriţi să ieşiţi din qBittorrent? RssStream - + %1 ago 10min ago %1 în urmă - + Never Niciodată @@ -2147,150 +2478,155 @@ Doriţi să ieşiţi din qBittorrent? SearchEngine - + Name i.e: file name Nume - + Size i.e: file size Capacitate - + Seeders i.e: Number of full sources Seederi - + Leechers i.e: Number of partial sources Licheri - + Search engine Motorul de căutare - + Empty search pattern Şablonul de căutat este vid - + Please type a search pattern first Vă rugăm să completaţi şablonul de căutare - + No search engine selected - Nici un motor de căutare nu este selectat + Nici un motor de căutare nu este selectat - + You must select at least one search engine. - Trebuie să selectaţi cel puţin un motor de căutare. + Trebuie să selectaţi cel puţin un motor de căutare. - + Results Rezultate - + Searching... Căutare... - + Search plugin update -- qBittorrent - Cautarea plugin înoire -- qBittorent + Cautarea plugin înoire -- qBittorent - + Search plugin can be updated, do you want to update it? Changelog: - Cautarea plugin pentru înoire, doriţi să înoiţi? + Cautarea plugin pentru înoire, doriţi să înoiţi? Changelog: - + &Yes - &Yes + &Yes - + &No - &No + &No - + Search plugin update - Reînnoirea plugin-ului de căutare + Reînnoirea plugin-ului de căutare - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Ne cerem ertare, serverul este temporar inaccesibil. + Ne cerem ertare, serverul este temporar inaccesibil. - + Your search plugin is already up to date. - Plugin-ul cautat este de acum înnoit. + Plugin-ul cautat este de acum înnoit. - + Search Engine Motor de Căutare - + Search has finished Căutarea a fost terminată - + An error occured during search... Eroare în timpul căutării... - + Search aborted Cautarea abordată - + Search returned no results Cautarea nu a returnat rezultate - + Results i.e: Search results Rezultate - + Search plugin download error - Eroare la descărcarea plugin-ului de căutare + Eroare la descărcarea plugin-ului de căutare - + Couldn't download search plugin update at url: %1, reason: %2. - Nu pot descărca plugin-ul de căutare reînoit prin url: %1, motivul: %2. + Nu pot descărca plugin-ul de căutare reînoit prin url: %1, motivul: %2. + + + + Unknown + Necunoscut @@ -2382,17 +2718,17 @@ Changelog: Dialogul de adăugare a torrentului - + Save path: Calea de salvare: - + ... ... - + Torrent content: Conţinutul torrent-ului: @@ -2412,22 +2748,22 @@ Changelog: Selectat - + Download in correct order (slower but good for previewing) Descarcă în ordine corectă (mai încet dar bun pentru preview) - + Add to download list in paused state Adauga în lista de descărcare în stare de pauză - + Add Adaugă - + Cancel Anulare @@ -2442,22 +2778,22 @@ Changelog: Deselectează - + Ignored Ignorat - + Normal Normal - + High Înalt - + Maximum Maximal @@ -2521,9 +2857,9 @@ Changelog: Crează fişier Torrent - + Destination torrent file: - Destinaţia fişierului torrent: + Destinaţia fişierului torrent: @@ -2536,17 +2872,17 @@ Changelog: Comentarii: - + ... - ... + ... - + Create - Crează + Crează - + Cancel Anulare @@ -2586,45 +2922,120 @@ Changelog: <center>Comentariu:</center> - + Torrent file creation Locaţia de creare a torrent-ului - + Input files or directories: - Fişiere sau directorii de intrare: + Fişiere sau directorii de intrare: - + Announce urls (trackers): URL-uri de anunţare (tracke-ri): - + Comment (optional): Comentariu(opţional): - + Private (won't be distributed on trackerless network / DHT if enabled) - Privat (nu va fi distribui prin reţea DHT daca este activată) + Privat (nu va fi distribui prin reţea DHT daca este activată) - + Web seeds urls (optional): Web sedări(opţional): + + + File or folder to add to the torrent: + Fişier sau directoriu pentru a adăuga torentul: + + + + Add a file + Adaugă un fişier + + + + Add a folder + Adaugă un directoriu + + + + Piece size: + Dimensiunea bucăţii: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Privat(nu va fi distribuit prin reţeaua DHT dacă este activată) + + + + Start seeding after creation + Începe sedarea după creare + + + + Create and save... + Crează şi salvează... + createtorrent - + Select destination torrent file Selectează fişierul de destinare - + Torrent Files Fişiere Torrent @@ -2634,22 +3045,22 @@ Changelog: Selectează directoriul sau fişierul de intrare - + No destination path set - Nu este setată calea de destinaţie + Nu este setată calea de destinaţie - + Please type a destination path first - Vă rugăm să arătaţi calea de destinaţie + Vă rugăm să arătaţi calea de destinaţie - + No input path set Nu sunt selectate fişiere de intrare - + Please type an input path first Vă rugăm să arătaţi calea de intrare @@ -2664,12 +3075,12 @@ Changelog: Vă rugăm să introduceţi corect calea de intrare - + Torrent creation Crearea torentului - + Torrent was created successfully: Torrentul a fost creat cu success: @@ -2679,41 +3090,56 @@ Changelog: Introduceţi o cale validă - + Select a folder to add to the torrent Seletaţi directoriul pentru a fi adăugat în torrent fişier - + Select files to add to the torrent - Selectaţi fişierele pentru a fi adăugate în torrent + Selectaţi fişierele pentru a fi adăugate în torrent - + Please type an announce URL Introduceţi URL-ul de anunţare - + Torrent creation was unsuccessful, reason: %1 Crearea torrent-ului a eşuat, motivul: %1 - + Announce URL: Tracker URL URL-ul de anunţare: - + Please type a web seed url Introduceţi URL-ul de web seed - + Web seed URL: Web seed URL: + + + Select a file to add to the torrent + Selectaţi un fişier pentru al adăuga la torrent + + + + No tracker path set + Calea la tracker nu este setată + + + + Please set at least one tracker + Vă rugăm să setaţi cel puţin un tracker + downloadFromURL @@ -2836,34 +3262,220 @@ Changelog: Proprietăţile Torrentului + + engineSelect + + + Search plugins + Plugin-uri de căutare + + + + Installed search engines: + Motoare de căutare instalare: + + + + Name + Nume + + + + Url + Url + + + + Enabled + Activată + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Puteţi obţine motoare de căutare noi aici : <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Instalez un nou + + + + Check for updates + Verifică pentru veriuni mai noi + + + + Close + Închide + + + + Enable + Activează + + + + Disable + Dezactivat + + + + Uninstall + Dezinstalează + + + + engineSelectDlg + + + True + Adevărat + + + + False + Fals + + + + Uninstall warning + Avertizare de dezinstalare + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Unele plug-inuri nu pot fi dezinstalate deoarece sunt incluse în qBittorrent. +Numai acele adăugate de dvs. pot fi dezinstalate. + + + + + Uninstall success + Dezinstalare cu success + + + + Select search plugins + Alege motorul de căutare + + + + qBittorrent search plugins + Plugin-urilie de căutare al qBittorrent + + + + Search plugin install + Caută plugin-ul instalat + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + O versiune mai recentă de al motorului de căutare %1 este de acum instalată. + + + + Search plugin update + Reînnoirea plugin-ului de căutare + + + + Sorry, update server is temporarily unavailable. + Ne cerem ertare, serverul este temporar inaccesibil. + + + + All your plugins are already up to date. + Totate plugin-urile dvs sunt deacum reînnoite. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + %1 motorul de căutare nu a putut fi reînnoit, folosesc versiunea veche. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + motorul de căutare %1 nu poate fi instalat. + + + + All selected plugins were uninstalled successfully + Toate plugin-urile selectate sunt dezinstalate cu success + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + motorul de căutare %1 a fost reînnoit cu success. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + motorul de căutare %1 a fost instalat cu success. + + + + Search engine plugin archive could not be read. + Arhiva cu motorul de căutare nu poate fi citită. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Instalarea motorului de căutare %1 a eşuat. + + + + New search engine plugin URL + Adresa noului motor de căutare URL + + + + URL: + URL: + + misc - + B bytes B - + KiB kibibytes (1024 bytes) Kib - + MiB mebibytes (1024 kibibytes) Mib - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -2881,7 +3493,7 @@ Changelog: h - + Unknown Necunoscut @@ -2898,31 +3510,31 @@ Changelog: d - + Unknown Unknown (size) Necunoscut - + < 1m < 1 minute < 1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1ore %2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1 zile %2 ore %3m @@ -2981,12 +3593,12 @@ Changelog: este neformată. - + Range Start IP Domeniul de Start IP - + Start IP: IP-ul de start: @@ -3001,78 +3613,101 @@ Changelog: Acest IP este incorrect. - + Range End IP Domeniul de sfirşit IP - + End IP: IP-ul de sfirşit: - + IP Range Comment Comentarii la domeniul de IP - + Comment: Comentarii: - + to <min port> to <max port> - la + la - + Choose your favourite preview program Alegeţi programul dvs. favorit pentru preview - + Invalid IP IP greşit - + This IP is invalid. Acest IP este valid. - + Options were saved successfully. Opţiunile salvate cu success. - + Choose scan directory Selectează directoriul de scanare - + Choose an ipfilter.dat file Selectează fişierul ipfilter.dat - + Choose a save directory Selectează directoriul de salvare - + I/O Error Input/Output Error Eroare de intrare/eşire - + Couldn't open %1 in read mode. Nu pot deschide %1 în mod de citire. + + pluginSourceDlg + + + Plugin source + Sursa plugin-ului + + + + Search plugin source: + Caută sursa plugin-ului: + + + + Local file + Fişier local + + + + Web link + Legătură web + + preview @@ -3182,7 +3817,7 @@ Changelog: Conţinutul torrentului - + OK OK @@ -3232,7 +3867,7 @@ Changelog: Alocarea - + Unknown Necunoscut @@ -3247,12 +3882,12 @@ Changelog: Parţial: - + Files contained in current torrent: Fişiere conţinute in Torrentul curent: - + Size Capacitate @@ -3287,32 +3922,32 @@ Changelog: Adevărat - + Tracker Tracker - + Trackers: Trackere: - + None - Unreachable? Nimic-Neaccesibil? - + Errors: Erori: - + Progress Progress - + Main infos Info. principala @@ -3322,27 +3957,27 @@ Changelog: Numarul de peers: - + Current tracker: Tracker-ul curent: - + Total uploaded: Total încărcat: - + Total downloaded: Total descărcat: - + Total failed: Total eronat: - + Torrent content Conţinutul torentului @@ -3352,7 +3987,7 @@ Changelog: Opţiuni - + Download in correct order (slower but good for previewing) Descarcă în ordine corectă (mai încet dar bun pentru preview) @@ -3372,204 +4007,219 @@ Changelog: Leecheri: - + Save path: Calea de salvare: - + Torrent infos Informaţie despre torrent - + Creator: Creator: - + Torrent hash: Hash-ul torrentului: - + Comment: Comentarii: - + Current session Sesiunea curentă - + Share ratio: Raţia de Share: - + Trackers Trackeri - + New tracker Tracker nou - + New tracker url: URL-ul trackerului nou: - + Priorities: Priorităţi: - + Normal: normal priority. Download order is dependent on availability Normal: prioritate normală. Ordinea de descărcare depinde de avaibilitate - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Inaltă: mai sus ca prioritatea normală - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximală: prioritatea maximală - + File name Numele fişierului - + Priority Prioritate - + qBittorrent qBittorrent - + Trackers list can't be empty. Lista de trackeri nu poate fi vidă. - + Ignored: file is not downloaded at all Ignorat: fişierul nu este descărcat tot - + Ignored Ignorat - + Normal Normal - + Maximum Maximum - + High Înaltă - + Url seeds Sedări URL - + New url seed: Nou URL de sedări: - + This url seed is already in the list. Acest URL este deacum în listă. - + None i.e: No error message Nimic - + New url seed New HTTP source Nou URL de sedări - + The following url seeds are available for this torrent: Următoarele sedări URL sunt accesibile pentru acest torrent: + + + Priorities error + Eroare de prorităţi + + + + Error, you can't filter all the files in a torrent. + Eroare, nu puteţi filtra toate fişierele în un torrent. + search_engine - + Search Caută - + Search Engines - Motoare de Căutare + Motoare de Căutare - + Search Pattern: Şablonul Căutării: - + Stop Oprit - + Status: Stare: - + Stopped Oprit - + Results: Rezultate: - + Download Descarcă - + Clear Curăţă - + Update search plugin - Înnoirea plugin-ului cautat + Înnoirea plugin-ului cautat + + + + Search engines... + Motoare de căutare... @@ -3628,57 +4278,57 @@ Changelog: subDownloadThread - + Host is unreachable Calculatorul nu poate fi accesat - + File was not found (404) Fişierul nu a fost găsit(404) - + Connection was denied Conectarea a fost interzisă - + Url is invalid Adresa URL nu este validă - + Connection forbidden (403) Conectarea respinsă(403) - + Connection was not authorized (401) Conectare neautorizată(401) - + Content has moved (301) Conţinutul a fost mutat(301) - + Connection failure Conectarea eşuată - + Connection was timed out Timpul de conectare expirat - + Incorrect network interface Interfaţa de reţea incorectă - + Unknown error Eroare necunoscută @@ -3691,17 +4341,17 @@ Changelog: Adevărat - + Unable to decode torrent file: Nu pot decoda fişierul torrent: - + This file is either corrupted or this isn't a torrent. Acest fişier este deteriorat sau nu este torrent. - + Choose save path Alegeţi calea de salvare @@ -3711,52 +4361,52 @@ Changelog: Fals - + Empty save path Calea de salvare vidă - + Please enter a save path Vă rugăm să introduceţi calea de salvare - + Save path creation error Salvează calea care crează erori - + Could not create the save path Nu pot crea calea de salvare - + Invalid file selection Selecţia fişierului invalidă - + You must select at least one file in the torrent Trebuie să selectaţi cel puţin un fişier din torrent - + File name Numele fişierului - + Size Capacitate - + Progress Progress - + Priority Prioritate diff --git a/src/lang/qbittorrent_ru.qm b/src/lang/qbittorrent_ru.qm index 1d8d90a7ed2aab7ed94bf75d60e494906f198636..9e5addd2cf51f77b38ebd4a0a9ae795d8c6ebf23 100644 GIT binary patch delta 15205 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 delta 9803 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 K@FicGru<)gIMtB= diff --git a/src/lang/qbittorrent_ru.ts b/src/lang/qbittorrent_ru.ts index 607992169..e2f6c79f1 100644 --- a/src/lang/qbittorrent_ru.ts +++ b/src/lang/qbittorrent_ru.ts @@ -198,40 +198,40 @@ Copyright © 2006 by Christophe Dumez<br> Options - Опции + Опции Main - Главная + Главная Save Path: - Путь для сохранения: + Путь для сохранения: Download Limit: - Ограничение скачивания: + Ограничение скачивания: Upload Limit: - Предел загрузки: + Предел загрузки: Max Connects: - Максимально соединений: + Максимально соединений: - + Port range: Диапазон портов: - + ... ... @@ -243,12 +243,12 @@ Copyright © 2006 by Christophe Dumez<br> Disable - Отключить + Отключить connections - соединения + соединения @@ -258,10 +258,10 @@ Copyright © 2006 by Christophe Dumez<br> Proxy - Прокси + Прокси - + Proxy Settings Настройки прокси @@ -271,44 +271,44 @@ Copyright © 2006 by Christophe Dumez<br> IP сервера: - + 0.0.0.0 0.0.0.0 - + Port: Порт: Proxy server requires authentication - Прокси-сервер требует аутентификации + Прокси-сервер требует аутентификации - + Authentication Аутентификация User Name: - Имя пользователя: + Имя пользователя: - + Password: Пароль: Enable connection through a proxy server - Включить соединение через прокси-сервер + Включить соединение через прокси-сервер Language - Язык + Язык @@ -333,12 +333,12 @@ Copyright © 2006 by Christophe Dumez<br> Scanned Dir: - Просканированные папки: + Просканированные папки: Enable directory scan (auto add torrent files inside) - Включить сканирование папок (автоматическое добавление torrent файлов в нее) + Включить сканирование папок (автоматическое добавление torrent файлов в нее) @@ -348,7 +348,7 @@ Copyright © 2006 by Christophe Dumez<br> Share ratio: - Степень разделенности: + Степень разделенности: @@ -361,32 +361,32 @@ Copyright © 2006 by Christophe Dumez<br> КБ ЗАГР. макс. - + Activate IP Filtering Включить фильтр по IP - + Filter Settings Настройки фильтра - + Start IP Начальный IP - + End IP Конечный IP - + Origin Происхождение - + Comment Комментарий @@ -396,24 +396,24 @@ Copyright © 2006 by Christophe Dumez<br> Применить - + IP Filter - Фильтр по IP + Фильтр по IP - + Add Range Добавить диапазон - + Remove Range Удалить диапазон ipfilter.dat Path: - Путь к ipfilter.dat: + Путь к ipfilter.dat: @@ -428,27 +428,27 @@ Copyright © 2006 by Christophe Dumez<br> Go to systray when minimizing window - Сворачивать в системный трей + Сворачивать в системный трей - + Misc Разное Localization - Локализация + Локализация - + Language: Язык: Behaviour - Поведение + Поведение @@ -471,19 +471,19 @@ Copyright © 2006 by Christophe Dumez<br> Никогда не показывать OSD - + KiB/s КиБ/с 1 KiB DL = - 1 КиБ Скач. = + 1 КиБ Скач. = KiB UP max. - КиБ Загр. макс. + КиБ Загр. макс. @@ -501,44 +501,44 @@ Copyright © 2006 by Christophe Dumez<br> Автоматически удалять законченные скачивания - + Preview program Программа для предпросмотра Audio/Video player: - Аудио/Видео проигрыватель: + Аудио/Видео проигрыватель: DHT configuration - Настройки DHT + Настройки DHT DHT port: - Порт DHT: + Порт DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Заметьте:</b> Изменения вступят в силу только после перезапуска qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Примечание для переводчиков:</b> Если qBittorrent еще не переведен на ваш язык, <br/>и вы хотите перевести его на свой родной язык, <br/>пожалуйста, свяжитесь со мной (chris@qbittorrent.org). + <b>Примечание для переводчиков:</b> Если qBittorrent еще не переведен на ваш язык, <br/>и вы хотите перевести его на свой родной язык, <br/>пожалуйста, свяжитесь со мной (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Показывать окно добавления torrent-а каждый раз при добавлении torrent-а + Показывать окно добавления torrent-а каждый раз при добавлении torrent-а Default save path - Путь сохранения по умолчанию + Путь сохранения по умолчанию @@ -548,183 +548,462 @@ Copyright © 2006 by Christophe Dumez<br> Always display systray messages - Всегда показывать сообщения в трее + Всегда показывать сообщения в трее Display systray messages only when window is hidden - Показывать сообщения в трее только когда окно свернуто + Показывать сообщения в трее только когда окно свернуто Never display systray messages - Не отображать сообщения в трее + Не отображать сообщения в трее Disable DHT (Trackerless) - Выключить DHT (Без трэкеров) + Выключить DHT (Без трэкеров) Disable Peer eXchange (PeX) - Выключить обмен пирами (PeX) + Выключить обмен пирами (PeX) Go to systray when closing main window - Сворачивать в трей при закрытии окна + Сворачивать в трей при закрытии окна - + Connection Подключение Peer eXchange (PeX) - Обмен Пирами (PeX) + Обмен Пирами (PeX) DHT (trackerless) - DHT (Без трэкеров) + DHT (Без трэкеров) Torrent addition - Добавление торрента + Добавление торрента Main window - Главное окно + Главное окно Systray messages - Сообщения в трее + Сообщения в трее Directory scan - Сканирование папки + Сканирование папки Style (Look 'n Feel) - Стиль (Смотри и чувствуй) + Стиль (Смотри и чувствуй) - + Plastique style (KDE like) Стиль пластик (как KDE) Cleanlooks style (GNOME like) - Свободный стиль (как в GNOME) + Свободный стиль (как в GNOME) Motif style (default Qt style on Unix systems) - Стиль Motif (по умолчанию в Qt на Unix-подобных системах) + Стиль Motif (по умолчанию в Qt на Unix-подобных системах) - + CDE style (Common Desktop Environment like) Стиль CDE (как Окружение Общего Рабочего Стола) MacOS style (MacOSX only) - Стиль MacOS (только на MacOSX) + Стиль MacOS (только на MacOSX) Exit confirmation when the download list is not empty - Подтверждение выхода, когда список закачек не пуст + Подтверждение выхода, когда список закачек не пуст Disable systray integration - Выключает интеграцию в системный трей + Выключает интеграцию в системный трей WindowsXP style (Windows XP only) - Стиль WindowsXP (только WindowsXP) + Стиль WindowsXP (только WindowsXP) Server IP or url: - IP сервера или его URL: + IP сервера или его URL: Proxy type: - Тип прокси: + Тип прокси: - + HTTP HTTP - + SOCKS5 Сервер SOCKS5 - + Affected connections Принимаемые подключения - + Use proxy for connections to trackers Использовать прокси для подключения к трекерам - + Use proxy for connections to regular peers Использовать прокси для подключения к обычным пирам - + Use proxy for connections to web seeds Использовать прокси для подключения к веб раздачам - + Use proxy for DHT messages Использовать прокси для сообщений DHT Encryption - Шифрование + Шифрование Encryption state: - Состояние шифрования: + Состояние шифрования: - + Enabled Включено - + Forced Принудительно - + Disabled Выключено + + + Preferences + Предпочтения + + + + General + Общие + + + + User interface settings + Настройки интерфейса пользователя + + + + Visual style: + Визуальный стиль: + + + + Cleanlooks style (Gnome like) + Свободный стиль (как в GNOME) + + + + Motif style (Unix like) + Стиль Motif (на Unix-подобных системах) + + + + Ask for confirmation on exit when download list is not empty + Спрашивать о подтверждении выхода, если список закачек не пустой + + + + Display current speed in title bar + Отображать текущую скорость в полосе заголовка + + + + System tray icon + Иконка системного трея + + + + Disable system tray icon + Убрать иконку системного трея + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Свернуть в трей при закрытии + + + + Minimize to tray + Свернуть в трей + + + + Show notification balloons in tray + Показывать всплывающие сообщения в трее + + + + Media player: + Медиа проигрыватель: + + + + Downloads + Закачки + + + + Put downloads in this folder: + Расположить закачки в этой папке: + + + + Pre-allocate all files + Резервировать место для всего файла + + + + When adding a torrent + При добавлении торента + + + + Display torrent content and some options + Отображать содержимое торрента и некоторые настройки + + + + Do not start download automatically + The torrent will be added to download list in pause state + Не начинать загрузку автоматически + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Просматривать папку + + + + Automatically download torrents present in this folder: + Автоматически скачивает торренты, существующие в данной папке: + + + + Listening port + Прослушивать порт + + + + to + i.e: 1200 to 1300 + до + + + + Enable UPnP port mapping + Включить распределение портов UPnP + + + + Enable NAT-PMP port mapping + Включить распределение портов NAT-PMP + + + + Global bandwidth limiting + Общее ограничение сети + + + + Upload: + Отдача: + + + + Download: + Загрузка: + + + + Type: + Тип: + + + + (None) + (нет) + + + + Proxy: + Прокси: + + + + Username: + Имя пользователя: + + + + Bittorrent + Bittorrent + + + + Connections limit + Ограничение соединений + + + + Global maximum number of connections: + Общее ограничение на число соединений: + + + + Maximum number of connections per torrent: + Максимальное число соединений на торрент: + + + + Maximum number of upload slots per torrent: + Максимальное количество слотов отдачи на торрент: + + + + Additional Bittorrent features + Дополнительные особенности Bittorrent + + + + Enable DHT network (decentralized) + Включить DHT сеть (децентрализованную) + + + + Enable Peer eXchange (PeX) + Включить Обмен пирами - Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Включить обнаружение локальных пиров + + + + Encryption: + Шифрование: + + + + Share ratio settings + Настройки соотношения раздачи + + + + Desired ratio: + Предпочитаемое соотношение: + + + + Filter file path: + Фильтр пути файла: + + + + transfer lists refresh interval: + интервал обновления списков передачи: + + + + ms + мс + + + + RSS + RSS + + + + RSS feeds refresh interval: + Интервал обновления RSS ячеек: + + + + minutes + минут + + + + Maximum number of articles per feed: + Максимальное число статей на ячейку: + + + + File system + Файловая система + + + + Remove finished torrents when their ratio reaches: + Удалять законченные торренты когда их соотношение раздачи достигнет: + + + + System default + + DownloadingTorrents @@ -732,115 +1011,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - Имя + Имя Size i.e: file size - Размер + Размер Progress i.e: % downloaded - + Состояние DL Speed i.e: Download speed - Скорость скач + Скорость скач UP Speed i.e: Upload speed - Скорость загр + Скорость загр Seeds/Leechs i.e: full/partial sources - Раздающих/Качающих + Раздающих/Качающих Ratio - Соотношение + Соотношение ETA i.e: Estimated Time of Arrival / Time left - + Ост. время qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 запущен. + qBittorrent %1 запущен. Be careful, sharing copyrighted material without permission is against the law. - Осторожнее, раздача материалов защищенных авторскими правами, преследуется по закону. + Осторожнее, раздача материалов защищенных авторскими правами, преследуется по закону. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>был заблокирован</i> + <font color='red'>%1</font> <i>был заблокирован</i> - + Fast resume data was rejected for torrent %1, checking again... - Быстрое восстановление данных для торрента %1 было невозможно, проверка заново... + Быстрое восстановление данных для торрента %1 было невозможно, проверка заново... - + Url seed lookup failed for url: %1, message: %2 - Поиск раздающего Url не удался: %1, сообщение: %2 + Поиск раздающего Url не удался: %1, сообщение: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' добавлен в список закачек. + '%1' добавлен в список закачек. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' запущен. (быстрый запуск) + '%1' запущен. (быстрый запуск) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' уже присутствует в списке закачек. + '%1' уже присутствует в списке закачек. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Не удалось раскодировать torrent файл: '%1' + Не удалось раскодировать torrent файл: '%1' - + This file is either corrupted or this isn't a torrent. - Этот файл либо поврежден, либо не torrent типа. + Этот файл либо поврежден, либо не torrent типа. - + Couldn't listen on any of the given ports. - Невозможно прослушать ни один из заданных портов. + Невозможно прослушать ни один из заданных портов. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Скачивание '%1', подождите... + Скачивание '%1', подождите... @@ -935,7 +1214,7 @@ Copyright © 2006 by Christophe Dumez<br> начат. - + qBittorrent qBittorrent @@ -955,12 +1234,12 @@ Copyright © 2006 by Christophe Dumez<br> Скорость Загр.: - + Open Torrent Files Открыть файлы Torrent - + Torrent Files Файлы Torrent @@ -1006,7 +1285,7 @@ Copyright © 2006 by Christophe Dumez<br> Этот файл либо поврежден, либо не torrent типа. - + Are you sure? -- qBittorrent Вы уверены? -- qBittorrent @@ -1016,12 +1295,12 @@ Copyright © 2006 by Christophe Dumez<br> Вы уверены что хотите удалить все файлы из списка закачек? - + &Yes &Да - + &No &Нет @@ -1031,7 +1310,7 @@ Copyright © 2006 by Christophe Dumez<br> Список закачек очищен. - + Are you sure you want to delete the selected item(s) in download list? Вы уверены что хотите удалить выделенные пункты из списка закачек? @@ -1115,7 +1394,7 @@ Copyright © 2006 by Christophe Dumez<br> - + Finished Закончено @@ -1360,12 +1639,12 @@ Changelog: Пауза - + Preview process already running Процесс предпросмотра уже работает - + There is already another preview process running. Please close the other one first. Есть уже другой процесс предпросмотра. @@ -1410,7 +1689,7 @@ Please close the other one first. Вы действительно хотите удалить выбранный(-е) элемент(ы) из списка скачек и с жесткого диска? - + Download finished Скачивание завершено @@ -1432,17 +1711,17 @@ Please close the other one first. qBittorrent %1 - + Connection status: Состояние связи: - + Offline Не в сети - + No peers found... Не найдено пиров... @@ -1507,13 +1786,13 @@ Please close the other one first. qBittorrent %1 запущен. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Скорость скач.: %1 KiB/с - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Скорость загр.: %1 KiB/с @@ -1537,12 +1816,12 @@ Please close the other one first. Простаивает - + Are you sure you want to quit? Вы действительно хотите выйти? - + '%1' was removed. 'xxx.avi' was removed. '%1' был удален. @@ -1584,12 +1863,12 @@ Please close the other one first. Прослушивание порта: %1 - + All downloads were paused. Все закачки были приостановлены. - + '%1' paused. xxx.avi paused. '%1' приостановлен. @@ -1601,30 +1880,30 @@ Please close the other one first. Подключение... - + All downloads were resumed. Все закачки были запущены. - + '%1' resumed. e.g: xxx.avi resumed. '%1' запущена. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. скачивание %1 завершено. - + I/O Error i.e: Input/Output Error Ошибка ввода/вывода - + 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 При попытке чтения/записи %1 произошла ошибка. Возможно, на диске не хватает места, закачка приостановлена @@ -1636,23 +1915,23 @@ Please close the other one first. Произошла ошибка (нет места?), '%1' остановлен. - + Connection Status: Состояние связи: - + Online В сети - + Firewalled? i.e: Behind a firewall/router? Файерволл? - + No incoming connections... Нет входящих соединений... @@ -1684,66 +1963,66 @@ Please close the other one first. Скачивание '%1', подождите... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Произошла ошибка (нет места?), '%1' остановлен. - + Search Поиск - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent прикреплен на порт: %1 - + DHT support [ON], port: %1 Поддержка DHT [Вкл], порт: %1 - + DHT support [OFF] Поддержка DHT [Выкл] - + PeX support [ON] Поддержка PeX [Вкл] - + PeX support [OFF] Поддержка PeX [Выкл] - + The download list is not empty. Are you sure you want to quit qBittorrent? Список закачек не пуст. Вы хотите выйти из qBittorrent? - + Downloads Закачки - + Are you sure you want to delete the selected item(s) in finished list? Вы уверены что хотите удалить выделенные пункты из списка завершенных? - + UPnP support [ON] Поддержка UPnP [Вкл] @@ -1753,17 +2032,17 @@ Are you sure you want to quit qBittorrent? Осторожнее, раздача материалов защищенных авторскими правами, преследуется по закону. - + Encryption support [ON] Поддержка шифрования [Вкл] - + Encryption support [FORCED] Поддержка шифрования [Принудительно] - + Encryption support [OFF] Поддержка шифрования [Выкл] @@ -1779,13 +2058,13 @@ Are you sure you want to quit qBittorrent? Соотношение - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1797,18 +2076,18 @@ Are you sure you want to quit qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Ошибка URL скачивания - + Couldn't download file at url: %1, reason: %2. Невозможно скачать файл по URL: %1, причина: %2. @@ -1818,17 +2097,17 @@ Are you sure you want to quit qBittorrent? Быстрое восстановление данных для торрента %1 было невозможно, проверка заново... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Вы действительно хотите удалить выбранный(-е) элемент(ы) из списка скачек и с жесткого диска? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Вы действительно хотите удалить выбранный(-е) элемент(ы) из списка законченных скачек и с жесткого диска? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' был удален. @@ -1839,16 +2118,53 @@ Are you sure you want to quit qBittorrent? Поиск раздающего Url не удался: %1, сообщение: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Поддержка UPnP [Выкл] + + + + NAT-PMP support [ON] + Поддержка NAT-PMP [Вкл] + + + + NAT-PMP support [OFF] + Поддержка NAT-PMP [Выкл] + + + + Local Peer Discovery [ON] + Обнаружение локальных пиров [Вкл] + + + + Local Peer Discovery support [OFF] + Обнаружение локальных пиров [Выкл] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' был удален, так как его соотношение достигло максимально установленного вами. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (Скач: %2КиБ/с, Загр: %3КиБ/с) @@ -2167,24 +2483,24 @@ Are you sure you want to quit qBittorrent? Да - + Ignored Игнорировано - + Normal Normal (priority) Обычный - + High High (priority) Высокий - + Maximum Maximum (priority) Максимальный @@ -2206,17 +2522,17 @@ Are you sure you want to quit qBittorrent? Поиск - + Delete Удалить - + Rename Переименовать - + Refresh Обновить @@ -2226,118 +2542,133 @@ Are you sure you want to quit qBittorrent? Создать - + Delete selected streams Удалить выбранные потоки - + Refresh RSS streams Обновить RSS потоки - + Add a new RSS stream Добавить новый RSS поток - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Новости:</b> <i>(двойной клик откроет ссылку в вашем браузере)</i> - + Add RSS stream Добавить RSS поток - + Refresh all streams Обновить все потоки - + RSS streams: RSS потоки: - + 2 2 + + + Mark all as read + Отметить все как прочитанные + RSSImp - + Please type a rss stream url Введите URL RSS потока - + Stream URL: URL потока: - + Please choose a new name for this stream Выберите новое имя для потока - + New stream name: Новое имя потока: - + Are you sure? -- qBittorrent Вы уверены? -- qBittorrent - + &Yes &Да - + &No &Нет - + Are you sure you want to delete this stream from the list? Вы уверены что хотите удалить этот поток из списка? - + Description: Описание: - + url: URL: - + Last refresh: Последнее обновление: - + qBittorrent qBittorrent - + This rss feed is already in the list. Эта RSS ячейка уже в списке. + + + Date: + Дата: + + + + Author: + Автор: + RssItem - + No description available Описание недоступно @@ -2345,13 +2676,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1 назад - + Never Никогда @@ -2359,68 +2690,68 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name Имя - + Size i.e: file size Размер - + Seeders i.e: Number of full sources Раздающие - + Leechers i.e: Number of partial sources Скачивающие - + Search engine Поисковый сервис - + Empty search pattern Очистить шаблон поиска - + Please type a search pattern first Пожалуйста, наберите сначала шаблон поиска No search engine selected - Не выбран движок для поиска + Не выбран движок для поиска You must select at least one search engine. - Вы должны выбрать по меньшей мере один поисковый двигатель. + Вы должны выбрать по меньшей мере один поисковый двигатель. - + Results Результаты - + Searching... Поиск... Search plugin update -- qBittorrent - Обновление поискового плагина -- qBittorrent + Обновление поискового плагина -- qBittorrent @@ -2428,7 +2759,7 @@ Are you sure you want to quit qBittorrent? Changelog: - Поиковый плагин может быть обновлен, вы хотите обновить его? + Поиковый плагин может быть обновлен, вы хотите обновить его? Список изменений: @@ -2436,60 +2767,60 @@ Changelog: &Yes - &Да + &Да &No - &Нет + &Нет Search plugin update - Проверить наличие обновлений для плагинов + Проверить наличие обновлений для плагинов qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Извините, сервер обновлений временно недоступен. + Извините, сервер обновлений временно недоступен. Your search plugin is already up to date. - Ваш поисковый плагин не нуждается в обновлении. + Ваш поисковый плагин не нуждается в обновлении. - + Search Engine Поисковый движок - + Search has finished Поиск завершен - + An error occured during search... Во время поиска произошла ошибка... - + Search aborted Поиск прерван - + Search returned no results Поиск не дал результатов - + Results i.e: Search results Результаты @@ -2497,12 +2828,17 @@ Changelog: Search plugin download error - Ошибка скачивания плагина + Ошибка скачивания плагина Couldn't download search plugin update at url: %1, reason: %2. - Невозможно скачать обновления поискового плагина по ссылке: %1, причина: %2. + Невозможно скачать обновления поискового плагина по ссылке: %1, причина: %2. + + + + Unknown + Неизвестно @@ -2609,17 +2945,17 @@ Changelog: Окно добавления torrentа - + Save path: Путь сохранения: - + ... ... - + Torrent content: Содержимое torrentа: @@ -2639,22 +2975,22 @@ Changelog: Выбрано - + Download in correct order (slower but good for previewing) Загрузить в правильном порядке (медленнее, но удобнее для предпросмотра) - + Add to download list in paused state Добавить в список закачек в приостановленном состоянии - + Add Добавить - + Cancel Отмена @@ -2674,22 +3010,22 @@ Changelog: Выбрать - + Ignored Игнорировано - + Normal Обычный - + High Высокий - + Maximum Максимальный @@ -2760,15 +3096,15 @@ Changelog: ... - ... + ... Create - Создать + Создать - + Cancel Отмена @@ -2803,50 +3139,125 @@ Changelog: <center>Комментарий:</center> - + Torrent file creation Создание Torrent файла Input files or directories: - Входные файлы или папки: + Входные файлы или папки: - + Announce urls (trackers): Ссылка анонсирования (трэкеров): - + Comment (optional): Комментарий (необязателен): Private (won't be distributed on trackerless network / DHT if enabled) - Закрытый (не будет передаваться через безтрекерную сеть / DHT при включении) + Закрытый (не будет передаваться через безтрекерную сеть / DHT при включении) Destination torrent file: - Имя Torrent файла назначения: + Имя Torrent файла назначения: - + Web seeds urls (optional): Ссылки на веб раздачи (необязательно): + + + File or folder to add to the torrent: + Файл или папка для добавления в торрент: + + + + Add a file + Добавить файл + + + + Add a folder + Добавить папку + + + + Piece size: + Размер кусочка: + + + + 32 KiB + 32 КиБ + + + + 64 KiB + 64 КиБ + + + + 128 KiB + 128 КиБ + + + + 256 KiB + 256 КиБ + + + + 512 KiB + 512 КиБ + + + + 1 MiB + 1 МиБ + + + + 2 MiB + 2 МиБ + + + + 4 MiB + 4 МиБ + + + + Private (won't be distributed on DHT network if enabled) + Закрытый (не будет передаваться через безтрекерную сеть / DHT при включении) + + + + Start seeding after creation + Начать раздавать после создания + + + + Create and save... + Создать и сохранить... + createtorrent - + Select destination torrent file Выберите torrent файл назначения - + Torrent Files Файлы Torrent @@ -2856,22 +3267,22 @@ Changelog: Выберите входной файл или папку - + No destination path set - Не установлен путь назначения + Не установлен путь назначения - + Please type a destination path first - Пожалуйста, сначала введите путь назначения + Пожалуйста, сначала введите путь назначения - + No input path set Не установлен входной путь - + Please type an input path first Пожалуйста, сначала введите путь назначения @@ -2886,12 +3297,12 @@ Changelog: Пожалуйста, сначала введите правильный входной путь - + Torrent creation Создание Torrent'а - + Torrent was created successfully: Torrent успешно создан: @@ -2901,41 +3312,56 @@ Changelog: Пожалуйста, введите сначала правильный путь входа - + Select a folder to add to the torrent Выберите папку для добавления торрента Select files to add to the torrent - Выберите файлы для добавления в торрент + Выберите файлы для добавления в торрент - + Please type an announce URL Введите ссылку анонсирования - + Torrent creation was unsuccessful, reason: %1 Создание торрента не завершено, причина: %1 - + Announce URL: Tracker URL Анонсирующий URL: - + Please type a web seed url Введите URL веб раздачи - + Web seed URL: URL веб раздачи: + + + Select a file to add to the torrent + Выберите файл для добавления в торрент + + + + No tracker path set + Нет пути трекера + + + + Please set at least one tracker + Пожалуйста, пропишите хотя бы один трекер + downloadFromURL @@ -2980,112 +3406,327 @@ Changelog: Search - Поиск + Поиск Total DL Speed: - Общая скорость скач.: + Общая скорость скач.: KiB/s - КиБ/с + КиБ/с Session ratio: - Сеансовый коэффициент: + Сеансовое соотношение: Total UP Speed: - Общая скорость загр.: + Общая скорость загр.: Log - Лог + Лог IP filter - Фильтр по IP + Фильтр по IP Start - Начать + Начать Pause - Приостановить + Приостановить Delete - Удалить + Удалить Clear - Очистить + Очистить Preview file - + Просмотреть файл Set upload limit - Установить предел загрузки + Установить предел загрузки Set download limit - Установить предел скачивания + Установить предел скачивания Delete Permanently - Удалить навсегда + Удалить навсегда Torrent Properties - + Свойства торрента + + + + engineSelect + + + Search plugins + Плагины поиска + + + + Installed search engines: + Установленные плагины поиска: + + + + Name + Имя + + + + Url + Ссылка + + + + Enabled + Включено + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Здесь вы можете скачать новые плагины поиска: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Установить новый + + + + Check for updates + Проверить обновления + + + + Close + Закрыть + + + + Enable + Включить + + + + Disable + Отключить + + + + Uninstall + Удалить + + + + engineSelectDlg + + + True + Да + + + + False + Нет + + + + Uninstall warning + Предупреждение об удалении + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Некоторые плагины не могут быть удалены, так как включены в qBittorrent. +Удалены могут быть лишь те, что вы установили сами. +Но все равно, эти плагины будут отключены. + + + + Uninstall success + Удаление произведено + + + + All selected plugins were uninstalled successfuly + Все выбранные плагины успешно удалены + + + + Select search plugins + Выбрать поисковые движки + + + + qBittorrent search plugins + Плагин поиска qBittorrent + + + + Search plugin install + Установка поискового плагина + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Самая последняя версия поискового движка %1 уже установлена. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Плагин поискового движка %1 был успешно обновлен. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Плагин поискового движка %1 был успешно установлен. + + + + Search plugin update + Обновление поисковых плагинов + + + + Sorry, update server is temporarily unavailable. + Извините, сервер обновлений временно недоступен. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Поисковый движок %1 был успешно обновлен. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Извините, произошла ошибка при обновлении поискового плагина %1. + + + + All your plugins are already up to date. + Все ваши плагины имеют последнии версии. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Плагин поискового движка %1 не может быть обновлен, осталась старая версия. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Плагин поискового движка %1 не может быть установлен. + + + + All selected plugins were uninstalled successfully + Все выбранные плагины были успешно удалены + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Плагин поискового движка %1 был успешно обновлен. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Плагин поискового движка %1 был успешно установлен. + + + + Search engine plugin archive could not be read. + Архив плагина поискового движка не может буть прочитан. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Извините, установка поискового плагина %1 не удалась. + + + + New search engine plugin URL + URL нового плагина поискового движка + + + + URL: + URL: misc - + B bytes Б - + KiB kibibytes (1024 bytes) КиБ - + MiB mebibytes (1024 kibibytes) МиБ - + GiB gibibytes (1024 mibibytes) ГиБ - + TiB tebibytes (1024 gibibytes) ТиБ @@ -3109,7 +3750,7 @@ Changelog: д - + Unknown Неизвестно @@ -3126,31 +3767,31 @@ Changelog: д - + Unknown Unknown (size) Неизвестно - + < 1m < 1 minute < 1м - + %1m e.g: 10minutes %1м - + %1h%2m e.g: 3hours 5minutes %1ч%2м - + %1d%2h%3m e.g: 2days 10hours 2minutes %1д%2ч%3м @@ -3209,12 +3850,12 @@ Changelog: поврежден. - + Range Start IP Начальный IP диапазона - + Start IP: Начальный IP: @@ -3229,22 +3870,22 @@ Changelog: Этот IP некорректен. - + Range End IP Конечный IP диапазона - + End IP: Конечный IP: - + IP Range Comment Комментарий к диапазону IP - + Comment: Комментарий: @@ -3252,55 +3893,78 @@ Changelog: to <min port> to <max port> - кому + кому - + Choose your favourite preview program Выберите вашу любимую программу для предпросмотра - + Invalid IP Неверный IP - + This IP is invalid. Этот IP неправилен. - + Options were saved successfully. Настройки были успешно сохранены. - + Choose scan directory Выберите директорию для сканирования - + Choose an ipfilter.dat file Выберите файл ipfilter.dat - + Choose a save directory Выберите путь сохранения - + I/O Error Input/Output Error Ошибка ввода/вывода - + Couldn't open %1 in read mode. Невозможно открыть %1 в режиме чтения. + + pluginSourceDlg + + + Plugin source + Код плагина + + + + Search plugin source: + Код поискового плагина: + + + + Local file + Локальный файл + + + + Web link + Веб ссылка + + preview @@ -3385,12 +4049,12 @@ Changelog: Число пэров: - + Tracker Трэкер - + Trackers: Трэкеры: @@ -3400,7 +4064,7 @@ Changelog: Текущий трэкер: - + Errors: Ошибки: @@ -3430,12 +4094,12 @@ Changelog: Содержимое Torrent - + Files contained in current torrent: Файлы, содержащиеся в текущем torrent-е: - + Size Размер @@ -3460,7 +4124,7 @@ Changelog: Здесь вы можете выбрать заранее, какие файлы вы хотите скачать из текущего torrent-а. - + OK OK @@ -3505,12 +4169,12 @@ Changelog: Нахождение - + None - Unreachable? Нет - Недостигаемо? - + Unknown Неизвестно @@ -3535,12 +4199,12 @@ Changelog: Да - + Progress Прогресс - + Main infos Основное инфо @@ -3550,27 +4214,27 @@ Changelog: Число пэров: - + Current tracker: Текущий трэкер: - + Total uploaded: Всего загружено: - + Total downloaded: Всего скачено: - + Total failed: Всего неудачно: - + Torrent content Содержимое Torrent-a @@ -3580,9 +4244,9 @@ Changelog: Опции - + Download in correct order (slower but good for previewing) - Загруить в правильном порядке + Загрузить в правильном порядке @@ -3600,132 +4264,132 @@ Changelog: Личеры: - + Save path: Путь сохранения: - + Torrent infos Информация торрента - + Creator: Создатель: - + Torrent hash: Хэш торрента: - + Comment: Комментарий: - + Current session Текущая сессия - + Share ratio: Соотношение раздачи: - + Trackers Трэкеры - + New tracker Новый трекер - + New tracker url: URL нового трекера: - + Priorities: Приоритеты: - + Normal: normal priority. Download order is dependent on availability Обычный: обычный приоритет. Порядок скачивания зависит от степени доступности - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Высокий: приоритет выше обычного. Кусочки скачиваются раньше, чем нормальные при одной доступности, но не раньше более доступных - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Максимум: максимальный приоритет, доступность игнорируется, скачиваются в первую очередь при любой доступности - + File name Имя файла - + Priority Приоритет - + qBittorrent qBittorrent - + Trackers list can't be empty. Список трекеров не может быть пуст. - + Ignored: file is not downloaded at all Игнорирован: файл не будет скачан - + Ignored Проигнорирован - + Normal Обычный - + Maximum Максимум - + High Высокий - + Url seeds URL раздающих - + New url seed: URL нового раздающего: - + This url seed is already in the list. Этот URL раздающего уже в списке. @@ -3735,74 +4399,89 @@ Changelog: Прописанные в коде URL раздающих не могут быть удалены. - + None i.e: No error message Нет - + New url seed New HTTP source Новый URL раздачи - + The following url seeds are available for this torrent: Для данного торрента доступны следующие URL раздач: + + + Priorities error + Ошибка приоритетов + + + + Error, you can't filter all the files in a torrent. + Ошибка, вы не можете отфильтровать все файлы в торренте. + search_engine - + Search Поиск Search Engines - Поисковики + Поисковики - + Search Pattern: Шаблон поиска: - + Stop Остановить - + Status: Состояние: - + Stopped Остановлено - + Results: Результаты: - + Download Скачать - + Clear Очистить Update search plugin - Обновить плагин поиска + Обновить плагин поиска + + + + Search engines... + Поисковые движки... @@ -3861,57 +4540,57 @@ Changelog: subDownloadThread - + Host is unreachable Хост недоступен - + File was not found (404) Файл не был найден (404) - + Connection was denied Подключение было отклонено - + Url is invalid URL некорректен - + Connection forbidden (403) Подключение запрещено (403) - + Connection was not authorized (401) Соединение не авторизовано (401) - + Content has moved (301) Содержимое было перенесено (301) - + Connection failure Соединение не установлено - + Connection was timed out Тайм-аут соединения - + Incorrect network interface Неправильный интерфейс сети - + Unknown error Неизвестная ошибка @@ -3924,17 +4603,17 @@ Changelog: Да - + Unable to decode torrent file: Невозможно декодировать torrent файл: - + This file is either corrupted or this isn't a torrent. Этот файл либо поврежден, либо не torrent типа. - + Choose save path Выберите путь сохранения @@ -3944,52 +4623,52 @@ Changelog: Нет - + Empty save path Очистить путь сохранения - + Please enter a save path Пожалуйста, введите путь сохранения - + Save path creation error Ошибка создания пути сохранения - + Could not create the save path Невозможно создать путь сохранения - + Invalid file selection Неправильное выделение файлов - + You must select at least one file in the torrent Вы должны выбрать по меньшей мере один файл в торренте - + File name Имя файла - + Size Размер - + Progress Состояние - + Priority Приоритет diff --git a/src/lang/qbittorrent_sk.qm b/src/lang/qbittorrent_sk.qm index 7ed135fd26c9f1aa7a944c2b27e9ace156ab890e..5e3d0bb2ddb8463d19dd818ac3d1b06f1ffa8509 100644 GIT binary patch delta 15250 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 b8#8jH%fr4so(>P|%)VZ%550GMyz2h}BU6$e delta 10076 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úzsko - + Thanks To Poďakovanie @@ -153,528 +153,807 @@ Copyright © 2006 by Christophe Dumez<br> Options - Nastavenia + Nastavenia Main - Hlavný + Hlavný Save Path: - Cesta pre uloženie: + Cesta pre uloženie: Download Limit: - Limit sťahovania: + Limit sťahovania: Upload Limit: - Limit nahrávania: + Limit nahrávania: Max Connects: - Maximum spojení: + Maximum spojení: - + Port range: Rozsah portov: - + ... ... - + Kb/s Kb/s Disable - Vypnúť + Vypnúť connections - spojení + spojení Proxy - Proxy + Proxy - + Proxy Settings Nastavenia proxy - + Server IP: IP servera: - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - Proxy server vyžaduje autentfikáciu + Proxy server vyžaduje autentfikáciu - + Authentication Autentifikácia User Name: - Používateľské meno: + Používateľské meno: - + Password: Heslo: Enable connection through a proxy server - Použi spojenie pomocou proxy servera + Použi spojenie pomocou proxy servera Language - Jazyk + Jazyk - + Please choose your preferred language in the following list: Zvote si preferovan jazyk zo zoznamu: - + OK OK - + Cancel Storno - + Language settings will take effect after restart. Nastavenia jazyka sa prejavia po retarte programu. Scanned Dir: - Prezeraný adresár: + Prezeraný adresár: Enable directory scan (auto add torrent files inside) - Zapnúť prehľadávanie adresárov (automatické pridávanie torrent súborov) + Zapnúť prehľadávanie adresárov (automatické pridávanie torrent súborov) - + Connection Settings Nastavenia spojenia Share ratio: - Pomer zdieľania: + Pomer zdieľania: - + 1 KB DL = 1 KB DL = - + KB UP max. KB UP max. - + Activate IP Filtering Aktivovať filtrovanie IP - + Filter Settings Nastavenie filtra - + Start IP Počiatočná IP - + End IP Koncová IP - + Origin Zdroj - + Comment Komentár - + Apply Použi - + IP Filter - IP filter + IP filter - + Add Range Pridať rozsah - + Remove Range Odstrániť rozsah ipfilter.dat Path: - Cesta k ipfilter.dat: + Cesta k ipfilter.dat: - + Clear finished downloads on exit Vyčisti dokončené sťahovania pri skončení programu - + Ask for confirmation on exit Potvrdenie skončenia programu Go to systray when minimizing window - Minimalizovať medzi ikony (systray) + Minimalizovať medzi ikony (systray) - + Misc Rozličné Localization - Lokalizácia + Lokalizácia - + Language: Jazyk: Behaviour - Správanie + Správanie - + OSD OSD - + Always display OSD Vždy zobrazuj OSD - + Display OSD only if window is minimized or iconified Zobrazuj OSD iba keď je okno minimalizované alebo ikonifikované - + Never display OSD Nikdy nezobrazuj OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP max. + KiB UP max. - + DHT (Trackerless): DHT (bez trackera): - + Disable DHT (Trackerless) support Vypnúť podporu DHT (bez trackera) - + Automatically clear finished downloads Automaticky vyčistiť skončené sťahovania - + Preview program Program pre náhľad Audio/Video player: - Audio/Video prehrávač: + Audio/Video prehrávač: DHT configuration - Konfigurácia DHT + Konfigurácia DHT DHT port: - Port DHT: + Port DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Pozn.:</b> Zmeny sa prejavia po reštarte qBittorrent. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Poznámka pre prekladateľov:</b> Ak nie je qBittorrent dostupný vo vašom jazyku <br/>a chceli by ste ho preložiť, <br/>kontaktujte ma prosím (chris@qbittorrent.org). + <b>Poznámka pre prekladateľov:</b> Ak nie je qBittorrent dostupný vo vašom jazyku <br/>a chceli by ste ho preložiť, <br/>kontaktujte ma prosím (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Zobraziť dialóg pre pridanie torrentu zakaždým, keď pridám torrent + Zobraziť dialóg pre pridanie torrentu zakaždým, keď pridám torrent Default save path - Predvolená cesta pre uloženie + Predvolená cesta pre uloženie - + Systray Messages Systray správy Always display systray messages - Vždy zobrazovať systray správy + Vždy zobrazovať systray správy Display systray messages only when window is hidden - Zobrazovať systray správy iba keď je okno skryté + Zobrazovať systray správy iba keď je okno skryté Never display systray messages - Nikdy nezobrazovať systray správy + Nikdy nezobrazovať systray správy Disable DHT (Trackerless) - Vypnúť DHT (bez trackera) + Vypnúť DHT (bez trackera) Disable Peer eXchange (PeX) - Vypnúť Peer eXchange (PeX) + Vypnúť Peer eXchange (PeX) Go to systray when closing main window - Minimalizovať do systray pri zatvorení hlavného okna + Minimalizovať do systray pri zatvorení hlavného okna - + Connection Spojenie Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) DHT (trackerless) - DHT (bez trackera) + DHT (bez trackera) Torrent addition - Pridanie torrentu + Pridanie torrentu Main window - Hlavné okno + Hlavné okno Exit confirmation when the download list is not empty - Potvrdenie skončenia v prípade, že zoznam sťahovaní nie je prázdny + Potvrdenie skončenia v prípade, že zoznam sťahovaní nie je prázdny Disable systray integration - Vypnúť integráciu s oznamovacou oblasťou (systray) + Vypnúť integráciu s oznamovacou oblasťou (systray) Systray messages - Správy v oznamovacej oblasti (systray) + Správy v oznamovacej oblasti (systray) Directory scan - Sken adresárov + Sken adresárov Style (Look 'n Feel) - Štýl (vzhľad a správanie) + Štýl (vzhľad a správanie) - + Plastique style (KDE like) Plastický štýl (ako KDE) Cleanlooks style (GNOME like) - Čistý vzhľad (ako GNOME) + Čistý vzhľad (ako GNOME) Motif style (default Qt style on Unix systems) - Štýl Motif (štandardný štýl Qt na unixových systémoch) + Štýl Motif (štandardný štýl Qt na unixových systémoch) - + CDE style (Common Desktop Environment like) Štýl CDE (ako Common Desktop Environment) MacOS style (MacOSX only) - Štýl MacOS (iba pre MacOSX) + Štýl MacOS (iba pre MacOSX) WindowsXP style (Windows XP only) - Štýl WindowsXP (iba pre Windows XP) + Štýl WindowsXP (iba pre Windows XP) Server IP or url: - IP alebo url servera: + IP alebo url servera: Proxy type: - Typ proxy: + Typ proxy: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections Ovplyvnené spojenia - + Use proxy for connections to trackers Používať proxy pre spojenia s trackermi - + Use proxy for connections to regular peers Používať proxy pre spojenia s obyčajnými rovesníkmi - + Use proxy for connections to web seeds Používať proxy pre spojenia k web seedom - + Use proxy for DHT messages Používať proxy pre DHT správy Encryption - Kryptovanie + Kryptovanie Encryption state: - Stav kryptovania: + Stav kryptovania: - + Enabled Zapnuté - + Forced Vynútené - + Disabled Vypnuté + + + Preferences + Nastavenia + + + + General + Všeobecné + + + + User interface settings + Nastavenia používateľského rozhrania + + + + Visual style: + Vizuálny štýl: + + + + Cleanlooks style (Gnome like) + Čistý vzhľad (ako GNOME) + + + + Motif style (Unix like) + Štýl Motif (ako Unix) + + + + Ask for confirmation on exit when download list is not empty + Potvrdenie skončenia v prípade, že zoznam sťahovaní nie je prázdny + + + + Display current speed in title bar + Zobraziť aktuálnu rýchlosť sťahovania v titulnom pruhu + + + + System tray icon + Ikona v oznamovacej oblasti (systray) + + + + Disable system tray icon + Vypnúť ikonu v oznamovacej oblasti (systray) + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Zatvoriť do oznamovacej oblasti (systray) + + + + Minimize to tray + Minimalizovať do oznamovacej oblasti (systray) + + + + Show notification balloons in tray + Zobrazovať bublinové upozornenia v oblasti upozornení (systray) + + + + Media player: + Prehrávač multimédií: + + + + Downloads + Sťahovania + + + + Put downloads in this folder: + Sťahovať do tohoto priečinka: + + + + Pre-allocate all files + Dopredu alokovať všetky súbory + + + + When adding a torrent + Pri pridávaní torrentu + + + + Display torrent content and some options + Zobraziť obsah torrentu a nejaké voľby + + + + Do not start download automatically + The torrent will be added to download list in pause state + Nezačínať sťahovanie automaticky + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Sledovanie priečinkov + + + + Automatically download torrents present in this folder: + Automaticky sťahovať torrenty z tohto priečinka: + + + + Listening port + Port na počúvanie + + + + to + i.e: 1200 to 1300 + + + + + Enable UPnP port mapping + Zapnúť mapovanie portov UPnP + + + + Enable NAT-PMP port mapping + Zapnúť mapovanie portov NAT-PMP + + + + Global bandwidth limiting + Globálny limit pásma + + + + Upload: + Nahrávanie: + + + + Download: + Sťahovanie: + + + + Type: + Typ: + + + + (None) + (žiadne) + + + + Proxy: + Proxy: + + + + Username: + Meno používateľa: + + + + Bittorrent + Bittorrent + + + + Connections limit + Limit spojení + + + + Global maximum number of connections: + Maximálny globálny počet spojení: + + + + Maximum number of connections per torrent: + Maximálny počet spojení na torrent: + + + + Maximum number of upload slots per torrent: + Maximálny počet slotov pre nahrávanie na torrent: + + + + Additional Bittorrent features + Ďalšie možnosti Bittorrent + + + + Enable DHT network (decentralized) + Zapnúť sieť DHT (decentralizovaná) + + + + Enable Peer eXchange (PeX) + Zapnúť Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Zapnúť Local Peer Discovery + + + + Encryption: + Kryptovanie: + + + + Share ratio settings + Nastavenia pomeru zdieľania + + + + Desired ratio: + Požadovaný pomer: + + + + Filter file path: + Cesta k súboru filtov: + + + + transfer lists refresh interval: + interval obnovovania zoznamu prenosov: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Interval obnovovania RSS kanálov: + + + + minutes + minút + + + + Maximum number of articles per feed: + Maximálny počet článkov na kanál: + + + + File system + Súborový systém + + + + Remove finished torrents when their ratio reaches: + Odstrániť dokončené torrenty keď ich pomer dosiahne: + + + + System default + + DownloadingTorrents @@ -682,115 +961,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - + Názov Size i.e: file size - + Veľkosť Progress i.e: % downloaded - Priebeh + Priebeh DL Speed i.e: Download speed - + Rýchlosť sťahovania UP Speed i.e: Upload speed - + Rýchlosť nahrávania Seeds/Leechs i.e: full/partial sources - Seederi/Leecheri + Seederi/Leecheri Ratio - Pomer + Pomer ETA i.e: Estimated Time of Arrival / Time left - + Odh. čas qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 spustený. + qBittorrent %1 spustený. Be careful, sharing copyrighted material without permission is against the law. - Buďte opatrní, zdieľanie materiálu chráneného autorskými právami bez povolenia je protizákonné. + Buďte opatrní, zdieľanie materiálu chráneného autorskými právami bez povolenia je protizákonné. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>bol zablokovaný</i> + <font color='red'>%1</font> <i>bol zablokovaný</i> - + Fast resume data was rejected for torrent %1, checking again... - Rýchle obnovenie torrentu torrent %1 bolo odmietnuté, skúšam znova... + Rýchle obnovenie torrentu torrent %1 bolo odmietnuté, skúšam znova... - + Url seed lookup failed for url: %1, message: %2 - Vyhľadanie url seedu zlyhalo pre url: %1, správa: %2 + Vyhľadanie url seedu zlyhalo pre url: %1, správa: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' bol pridaný do zoznamu na sťahovanie. + „%1“ bol pridaný do zoznamu na sťahovanie. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' bol obnovený. (rýchle obnovenie) + „%1“ bol obnovený. (rýchle obnovenie) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' sa už nachádza v zozname sťahovaných. + „%1“ sa už nachádza v zozname sťahovaných. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Nebol omožné dekodovať torrent súbor: '%1' + Nebol omožné dekodovať torrent súbor: „%1“ - + This file is either corrupted or this isn't a torrent. - + Tento súbor je buď poškodený alebo to nie je torrent. - + Couldn't listen on any of the given ports. - Nepodarilo sa počúvať na žiadnom zo zadaných portov. + Nepodarilo sa počúvať na žiadnom zo zadaných portov. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Sťahuje sa '%1', čakajte prosím... + Sťahuje sa „%1“, čakajte prosím... @@ -834,13 +1113,13 @@ Copyright © 2006 by Christophe Dumez<br> Seederi/Leecheri - + Finished i.e: Torrent has finished downloading Skončené - + Finished Skončené @@ -853,331 +1132,331 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Otvoriť torrent súbory - + Unknown Nezne - + This file is either corrupted or this isn't a torrent. Tento súbor je buď poškodený alebo to nie je torrent. - + Are you sure you want to delete all files in download list? Určite chcete zmazať všetky súbory v zozname sťahovaných? - + &Yes &Áno - + &No &Nie - + Are you sure you want to delete the selected item(s) in download list? Určite chcete zmazať vybrané položky v zozname sťahovaných? - + paused pozastaven - + started spusten - + Finished hotovo - + Checking... kontroluje sa... - + Connecting... pripája sa... - + Downloading... sťahuje sa... - + Download list cleared. Zoznam sťahovanch vyčistený. - + All Downloads Paused. Všetky sťahovania pozastavené. - + All Downloads Resumed. Všetky sťahovania znovu spustené. - + DL Speed: Rchlos sahovania: - + started. spustené. - + UP Speed: Rýchlosť nahrávania: - + Couldn't create the directory: Nebolo možné vytvoriť adresár: - + Torrent Files Torrent súbory - + already in download list. u sa nachza v zozname sahovanch. - + added to download list. pridaný do zoznamu sťahovaných. - + resumed. (fast resume) znovu spustené. (rýchle znovuspustenie) - + Unable to decode torrent file: Nemohol som dekódovať torrent súbor: - + removed. odstren. - + paused. pozastaven. - + resumed. znovu spusten. - + Listening on port: Počúvam na porte: - + qBittorrent qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Ste si istý? -- qBittorrent - + <b>qBittorrent</b><br>DL Speed: <b>qBittorrent</b><br>DL Speed: - + <b>Connection Status:</b><br>Online <b>Stav spojenia:</b><br>Online - + <b>Connection Status:</b><br>Firewalled?<br><i>No incoming connections...</i> <b>Stav spojenia:</b><br>Za firewallom?<br><i>Žiadne prichzajúce spojenia...</i> - + <b>Connection Status:</b><br>Offline<br><i>No peers found...</i> <b>Stav spojenia:</b><br>Offline<br><i>Neboli nájdení rovesníci...</i> - + has finished downloading. skončilo sťahovanie. - + Couldn't listen on any of the given ports. Nepodarilo sa počúvať na žiadnom zo zadaných portov. - + None Žiadny - + Empty search pattern Prázdny vyhľadávací vzor - + Please type a search pattern first Prosím, najprv zadajte vyhľadávací vzor - + No seach engine selected Nebol zvolený vyhľadávač - + You must select at least one search engine. Musíte zvoliť aspoň jeden vyhľadávač. - + Searching... Hľadá sa... - + Could not create search plugin. Nemohol som vytvori plugin pre vyhadanie. - + Stopped Zastaven - + Torrent file URL URL torrent súboru - + Torrent file URL: URL torrent súboru: - + Are you sure you want to quit? -- qBittorrent Určite chcete ukončiť program? -- qBittorrent - + Are you sure you want to quit qbittorrent? Určite chcete ukončiť qBittorrent? - + Timed out as vypral - + Error during search... Chyba pos hadania... - + KiB/s KiB/s - + KiB/s KiB/s - + Stalled Zastaven - + removed. <file> removed. odstránený. - + already in download list. <file> already in download list. už sa nacháza v zozname sťahovaných. - + paused. <file> paused. pozastavené. - + resumed. <file> resumed. znovu spustené. - + Search is finished Vyhľadávanie skočilo - + An error occured during search... Počas vyhľadávania sa vyskytla chyba... - + Search aborted Vyhľadávanie preušené - + Search returned no results Vyhľadávanie nevrátilo žiadne výsledky - + Search plugin update -- qBittorrent Aktualizácia zásuvného modulu vyhľadávania -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: @@ -1187,149 +1466,149 @@ Changelog: Záznam zmien: - + Sorry, update server is temporarily unavailable. Je mi ľúto, aktualizačný server je dočasne nedostupný. - + Your search plugin is already up to date. Váš vyhľadávací zásuvný modul je aktuálny. - + Results Výsledky - + Name Názov - + Size Veľkosť - + Progress Priebeh - + DL Speed rýchlosť sťahovania - + UP Speed rýchlosť nahrávania - + Status Stav - + ETA Odhadovaný čas - + Seeders Seederi - + Leechers Leecheri - + Search engine Vyhľadávač - + Stalled state of a torrent whose DL Speed is 0 Bez pohybu - + Paused Pozastavený - + Transfers Prenosy - + Preview process already running Proces náhľadu už beží - + There is already another preview process running. Please close the other one first. Iný proces náhľadu už beží. Najskôr ho prosím zatvorte. - + Couldn't download Couldn't download <file> Nemohol som stiahnuť - + reason: Reason why the download failed dôvod: - + Downloading Example: Downloading www.example.com/test.torrent Sťahujem - + Please wait... Čakajte prosím... - + Are you sure you want to quit qBittorrent? Ste si istý, že chcete zatvoriť qBittorrent? - + Are you sure you want to delete the selected item(s) in download list and in hard drive? Ste si istý, že chcete zmazať vybrané položky v zozname sťahovaných a na pevnom disku? - + Download finished Sťahovanie dokončené - + has finished downloading. <filename> has finished downloading. skončilo sťahovanie. - + Search Engine Vyhľadávač - + I/O Error V/V Chyba @@ -1340,479 +1619,516 @@ Najskôr ho prosím zatvorte. qBittorrent %1 - + Connection status: Stav spojenia: - + Offline Offline - + No peers found... Neboli nájdení rovesníci... - + Name i.e: file name Názov - + Size i.e: file size Veľkosť - + Progress i.e: % downloaded Priebeh - + DL Speed i.e: Download speed Rýchlosť sťahovania - + UP Speed i.e: Upload speed Rýchlosť nahrávania - + Seeds/Leechs i.e: full/partial sources Seederi/Leecheri - + ETA i.e: Estimated Time of Arrival / Time left Odhadované - + Seeders i.e: Number of full sources Seederi - + Leechers i.e: Number of partial sources Leecheri - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 spustený. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Rýchlosť sťahovania: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Rýchlosť nahrávania: %1 KiB/s - + Finished i.e: Torrent has finished downloading Skončené - + Checking... i.e: Checking already downloaded parts... kontroluje sa... - + Stalled i.e: State of a torrent whose download speed is 0kb/s Bez pohybu - + Are you sure you want to quit? Ste si istý, že chcete skončiť? - + '%1' was removed. 'xxx.avi' was removed. - '%1' bol odstránený. + „%1“ bol odstránený. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' bol pridaný do zoznamu na sťahovanie. + „%1“ bol pridaný do zoznamu na sťahovanie. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' bol obnovený. (rýchle obnovenie) + „%1“ bol obnovený. (rýchle obnovenie) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' sa už nachádza v zozname sťahovaných. + „%1“ sa už nachádza v zozname sťahovaných. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Nebol omožné dekodovať torrent súbor: '%1' + Nebol omožné dekodovať torrent súbor: „%1“ - + None i.e: No error message Žiadna - + Listening on port: %1 e.g: Listening on port: 1666 Počúvam na porte: %1 - + All downloads were paused. Všetky sťahovania pozastavené. - + '%1' paused. xxx.avi paused. - '%1' pozastavené. + „%1“ pozastavené. - + Connecting... i.e: Connecting to the tracker... pripája sa... - + All downloads were resumed. Všetky sťahovania obnovené. - + '%1' resumed. e.g: xxx.avi resumed. - '%1' obnovené. + „%1“ obnovené. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 je stiahnutý. - + I/O Error i.e: Input/Output Error V/V Chyba - + 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 Vyskytla sa chyba pri pokuse o čítanie alebo zapisovanie do %1. Disk je pravdepodobne plný, sťahovanie bolo pozastavené - + An error occured (full fisk?), '%1' paused. e.g: An error occured (full fisk?), 'xxx.avi' paused. - Vyskytla sa chyba (plný disk?), '%1' pozastavené. + Vyskytla sa chyba (plný disk?), „%1“ pozastavené. - + Connection Status: Stav spojenia: - + Online Online - + Firewalled? i.e: Behind a firewall/router? Za firewallom? - + No incoming connections... Žiadne prichádzajúce spojenia... - + No search engine selected Nebol zvolený žiadny vyhľadávač - + Search plugin update Aktualizácia zásuvného modulu vyhľadávača - + Search has finished Hľadanie skončené - + Results i.e: Search results Výsledky - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Sťahuje sa '%1', čakajte prosím... + Sťahuje sa „%1“;, čakajte prosím... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. - Vyskytla sa chyba (plný disk?), '%1' pozastavené. + Vyskytla sa chyba (plný disk?), „%1“ pozastavené. - + Search Vyhľadávanie - + RSS - + Downloads Sťahovania - + The download list is not empty. Are you sure you want to quit qBittorrent? Zoznam sťahovaní nie je prázdny. Ste si istý, že chcete ukončiť qBittorrent? - + Are you sure you want to delete the selected item(s) in finished list? Ste si istý, že chcete zmazať vybrané položky zo zoznamu dokončených? - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent sa viaže (bind) na port: %1 - + DHT support [ON], port: %1 Podpora DHT [zapnutá], port: %1 - + DHT support [OFF] Podpora DHT [vypnutá] - + UPnP support [ON] Podpora UPnP [zapnutá] - + PeX support [ON] Podpora PeX [zapnutá] - + PeX support [OFF] Podpora PeX [vypnutá] - + Be careful, sharing copyrighted material without permission is against the law. Buďte opatrní, zdieľanie materiálu chráneného autorskými právami bez povolenia je protizákonné. - + Encryption support [ON] Podpora kryptovania [zapnuté] - + Encryption support [FORCED] Podpora kryptovania [vynútené] - + Encryption support [OFF] Podpora kryptovania [vypnuté] - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <font color='red'>%1</font> <i>bol zablokovaný</i> - + Ratio Pomer - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - + Alt+3, Ctrl+F shortcut to switch to third tab (search) Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Chyba sťahovania url - + Couldn't download file at url: %1, reason: %2. Nebolo možné stiahnuť súbor z url: %1, dôvod: %2. - + Fast resume data was rejected for torrent %1, checking again... Rýchle obnovenie torrentu torrent %1 bolo odmietnuté, skúšam znova... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Ste si istý, že chcete zmazať vybrané položky zo zoznamu sťahovaných a z pevného disku? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Ste si istý, že chcete zmazať vybrané položky zo zoznamu dokončených a z pevného disku? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - '%1' bol permanentne odstránený. + „%1“ bol permanentne odstránený. - + Url seed lookup failed for url: %1, message: %2 Vyhľadanie url seedu zlyhalo pre url: %1, správa: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + Podpora UPnP [vypnutá] + + + + NAT-PMP support [ON] + Podpora NAT-PMP [zapnutá] + + + + NAT-PMP support [OFF] + Podpora NAT-PMP [vypnutá] + + + + Local Peer Discovery [ON] + Local Peer Discovery [zapnutá] + + + + Local Peer Discovery support [OFF] + Podpora Local Peer Discovery support [vypnutá] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + „%1“ bol odstránený, pretože jeho pomer dosiahol maximálnu hodonotu, ktorú ste nastavili. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) MainWindow - + Log: Záznam: - + Total DL Speed: Celková rýchlosť sťahovania: - + Total UP Speed: Celková rýchlosť nahrávania: - + Name Nov - + Size Vekos - + % DL sahovania - + DL Speed rchlos sahovania - + UP Speed rchlos nahrania - + Status Status - + ETA Odhadovan s - + &Options &Nastavenia @@ -1882,7 +2198,7 @@ Ste si istý, že chcete ukončiť qBittorrent? Dokumentácia - + Delete All Zmazať všetky @@ -1892,62 +2208,62 @@ Ste si istý, že chcete ukončiť qBittorrent? Vlastnosti torrentu - + Connection Status Stav spojenia - + Downloads Sťahovania - + Search Vyhľadávanie - + Search Pattern: Vyhľadávací vzor: - + Status: Stav: - + Stopped Zastavený - + Search Engines Vyhľadávače - + Results: Výsledky: - + Stop Zastaviť - + Seeds Seedy - + Leechers Leecheri - + Search Engine Vyhad @@ -1957,17 +2273,17 @@ Ste si istý, že chcete ukončiť qBittorrent? Stiahnuť z URL - + Download Stiahnuť - + Clear Vyčistiť - + KiB/s KiB/s @@ -1977,17 +2293,17 @@ Ste si istý, že chcete ukončiť qBittorrent? Vytvoriť torrent - + Update search plugin Aktualizovať vyhľadávací zásuvný modul - + Session ratio: Pomer: - + Transfers Prenosy @@ -2027,12 +2343,12 @@ Ste si istý, že chcete ukončiť qBittorrent? Nastaviť limit sťahovania - + Log Záznam - + IP filter IP filter @@ -2055,34 +2371,34 @@ Ste si istý, že chcete ukončiť qBittorrent? PropListDelegate - + False Nie - + True Áno - + Ignored Ignorovaný - + Normal Normal (priority) Normálna - + High High (priority) Vysoká - + Maximum Maximum (priority) Maximálna @@ -2091,7 +2407,7 @@ Ste si istý, že chcete ukončiť qBittorrent? QTextEdit - + Clear Vyčisti @@ -2104,138 +2420,153 @@ Ste si istý, že chcete ukončiť qBittorrent? Vyhľadávanie - + Delete selected streams Zmazať vybrané streamy - + Refresh RSS streams Obnoviť RSS streamy - + Add a new RSS stream Pridať nový RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Novinky:</b> <i>(dvojitým kliknutím otvoríte odkaz vo webovom prehliadači)</i> - + Delete Zmazať - + Rename Premenovať - + Refresh Obnoviť - + Add RSS stream Pridať RSS stream - + Refresh all streams Obnoviť všetky streamy - + RSS streams: RSS streamy: - + 2 2 + + + Mark all as read + Označiť všetky ako prečítané + RSSImp - + Are you sure? -- qBittorrent Ste si istý? -- qBittorrent - + Are you sure you want to delete this stream from the list ? Ste si istý, že chcete zmazať tento stream zo zoznamu? - + &Yes &Áno - + &No &Nie - + Please choose a new name for this stream Prosím, zvoľte nový názov pre tento stream - + New stream name: Nový názov streamu: - + Please type a rss stream url Prosím, napíšte URL RSS streamu - + Stream URL: URL streamu: - + Are you sure you want to delete this stream from the list? Ste si istý, že chcete zmazať tento stream zo zoznamu? - + Description: Popis: - + url: url: - + Last refresh: Posledné obnovenie: - + qBittorrent qBittorrent - + This rss feed is already in the list. - Tento RSS feed už je v zozname. + Tento RSS kanál už je v zozname. + + + + Date: + Dátum: + + + + Author: + Autor: RssItem - + No description available Popis nie je dostupný @@ -2243,13 +2574,13 @@ Ste si istý, že chcete ukončiť qBittorrent? RssStream - + %1 ago 10min ago pred %1 min - + Never Nikdy @@ -2257,220 +2588,225 @@ Ste si istý, že chcete ukončiť qBittorrent? SearchEngine - + Name i.e: file name Názov - + Size i.e: file size Veľkosť - + Seeders i.e: Number of full sources Seederi - + Leechers i.e: Number of partial sources Leecheri - + Search engine Vyhľadávač - + Empty search pattern Prázdny vyhľadávací vzor - + Please type a search pattern first Prosím, najprv zadajte vyhľadávací vzor - + No search engine selected - Nebol zvolený žiadny vyhľadávač + Nebol zvolený žiadny vyhľadávač - + You must select at least one search engine. - Musíte zvoliť aspoň jeden vyhľadávač. + Musíte zvoliť aspoň jeden vyhľadávač. - + Results Výsledky - + Searching... Hľadá sa... - + Search plugin update -- qBittorrent - Aktualizácia zásuvného modulu vyhľadávania -- qBittorrent + Aktualizácia zásuvného modulu vyhľadávania -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Je možné aktualizovať vyhľadávací zásuvný modul. Chete ho aktualizovať? + Je možné aktualizovať vyhľadávací zásuvný modul. Chete ho aktualizovať? Záznam zmien: - + &Yes - &Áno + &Áno - + &No - &Nie + &Nie - + Search plugin update - Aktualizácia zásuvného modulu vyhľadávača + Aktualizácia zásuvného modulu vyhľadávača - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Je mi ľúto, aktualizačný server je dočasne nedostupný. + Je mi ľúto, aktualizačný server je dočasne nedostupný. - + Your search plugin is already up to date. - Váš vyhľadávací zásuvný modul je aktuálny. + Váš vyhľadávací zásuvný modul je aktuálny. - + Search Engine Vyhľadávač - + Search has finished Hľadanie skončené - + An error occured during search... Počas vyhľadávania sa vyskytla chyba... - + Search aborted Vyhľadávanie preušené - + Search returned no results Vyhľadávanie nevrátilo žiadne výsledky - + Results i.e: Search results Výsledky - + Search plugin download error - Chyba pri sťahovaní zásuvného modulu vyhľadávania + Chyba pri sťahovaní zásuvného modulu vyhľadávania - + Couldn't download search plugin update at url: %1, reason: %2. - Nebolo možné stiahnuť zásuvný modul vyhľadávania z url: %1, dôvod: %2. + Nebolo možné stiahnuť zásuvný modul vyhľadávania z url: %1, dôvod: %2. + + + + Unknown + Neznámy Ui - + Please contact me if you would like to translate qBittorrent to your own language. Prosím, kontaktujte ma, ak chcete preložiť qBittorrent do vlastného jazyka. - + qBittorrent qBittorrent - + I would like to thank the following people who volunteered to translate qBittorrent: Rád by som poďakoval nasledovným dobrovoľníkom, ktorí preložili qBittorrent: - + <ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li> lt;ul><li>R by som pokoval serveru sourceforge.net za hosting projektu qBittorrent.</li> - + <li>I also like to thank Jeffery Fernandez (developer@jefferyfernandez.id.au), our RPM packager, for his great work.</li></ul> lt;li>Tie by som r pokoval Jefferymu Fernandezovi (developer@jefferyfernandez.id.au), nu tvorcovi RPM balkov, za jeho skvel pru.</li></ul> - + Preview impossible Náhľad nemožný - + Sorry, we can't preview this file Prepáčte, tento súbor sa nedá otvoriť ako náhľad - + Name Názov - + Size Veľkosť - + Progress Priebeh - + No URL entered Nebolo zadané URL - + Please type at least one URL. Prosím, napíšte aspoň jedno URL. - + qBittorrent qBittorrent - + Please contact me if you would like to translate qBittorrent into your own language. Prosím, kontaktujte ma ak chcete preložiť qBittorrent do vášho jazyka. @@ -2501,87 +2837,87 @@ Záznam zmien: Dialóg pre pridanie torrentu - + Save path: Cesta pre uloženie: - + ... ... - + Torrent content: Obsah torrentu: - + File name Názov súboru - + File size Veľkosť súboru - + Selected Vybrané - + Download in correct order (slower but good for previewing) Stiahnuť v správnom poradí (pomalšie ale lepšie pre náhľad) - + Add to download list in paused state Pridať do zoznamu sťahovaných v stave pozastavený - + Add Pridať - + Cancel Storno - + select vybrať - + Unselect nevybrať - + Select Vybrať - + Ignored Ignorovaný - + Normal Normálna - + High Vysoká - + Maximum Maximálna @@ -2640,52 +2976,52 @@ Záznam zmien: createTorrentDialog - + Dialog Dial - + Create Torrent file Vytvoriť Torrent súbor Destination torrent file: - Cieľový torrent sbor: + Cieľový torrent sbor: - + Input file or directory: Vstupn sbor alebo adres: - + Comment: Koment: ... - ... + ... Create - Vytvoriť + Vytvoriť - + Cancel Storno - + Announce url (Tracker): Announce url (Tracker): - + Directory Adresár @@ -2695,154 +3031,244 @@ Záznam zmien: Nástroj na vytvorenie Torrentu - + <center>Destination torrent file:</center> <center>Cieľový torrent súbor:</center> - + <center>Input file or directory:</center> <center>Vstupný súbor alebo adresár:</center> - + <center>Announce url:<br>(One per line)</center> <center>Oznamujúce url:<br>(jedna na riadok)</center> - + <center>Comment:</center> <center>Komentár:</center> - + Torrent file creation Vytvorenie Torrent súboru Input files or directories: - Vstupné súbory alebo adresáre: + Vstupné súbory alebo adresáre: - + Announce urls (trackers): Announce url (trackery): - + Comment (optional): Komentár (voliteľné): Private (won't be distributed on trackerless network / DHT if enabled) - Súkromný (ak je voľba zapnutá, nebude distribuovaný na sieti bez trackera / DHT) + Súkromný (ak je voľba zapnutá, nebude distribuovaný na sieti bez trackera / DHT) - + Web seeds urls (optional): URL web seedov (voliteľné): + + + File or folder to add to the torrent: + Súbor alebo priečinok, ktorý sa má pridať do torrentu: + + + + Add a file + Pridať súbor + + + + Add a folder + Pridať priečinok + + + + Piece size: + Veľkosť časti: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Súkromný (ak je zapnuté, nebude sa šíriť pomocou siete DHT) + + + + Start seeding after creation + Začasť seedovanie po vytvorení + + + + Create and save... + Vytvoriť a uložiť... + createtorrent - + Select destination torrent file Vybrať cieľový torrent súbor - + Torrent Files Torrent súbory - + Select input directory or file Vyberte vstupný adresár alebo súbor - + No destination path set - Nebola nastavená cieľová cesta + Nebola nastavená cieľová cesta - + Please type a destination path first - Napíšte prosím najprv cieľovú cestu + Napíšte prosím najprv cieľovú cestu - + No input path set Nebola zadaná vstupná cesta - + Please type an input path first Napíšte prosím najprv vstupnú cestu - + Input path does not exist Vstupná cesta neexistuje - + Please type a correct input path first Prosím, napíšte správnu vstupnú cestu - + Torrent creation Vytvorenie torrentu - + Torrent was created successfully: Torrent bol úspešne vytvorený: - + Please type a valid input path first Prosím, najprv napíšte platnú cestu pre vstup - + Select a folder to add to the torrent Vyberte adresár, ktorý sa má pridať do torrentu Select files to add to the torrent - Vyberte súbory, ktoré sa majú pridať do torrentu + Vyberte súbory, ktoré sa majú pridať do torrentu - + Please type an announce URL Prosím, napíšte announce URL - + Torrent creation was unsuccessful, reason: %1 Torrent nebol vytvorený, dôvod: %1 - + Announce URL: Tracker URL Announce URL: - + Please type a web seed url Prosím, napíšte web seed URL - + Web seed URL: Web seed URL: + + + Select a file to add to the torrent + Vyberte súbor, ktorý sa má pridať do torrentu + + + + No tracker path set + Nebola nastavená cesta k trackeru + + + + Please set at least one tracker + Prosím, nastavte aspoň jeden tracker + downloadFromURL @@ -2887,216 +3313,431 @@ Záznam zmien: Search - Vyhľadávanie + Vyhľadávanie Total DL Speed: - Celková rýchlosť sťahovania: + Celková rýchlosť sťahovania: KiB/s - KiB/s + KiB/s Session ratio: - Pomer: + Pomer relácie: Total UP Speed: - Celková rýchlosť nahrávania: + Celková rýchlosť nahrávania: Log - Záznam + Záznam IP filter - IP filter + IP filter Start - Spustiť + Spustiť Pause - Pozastaviť + Pozastaviť Delete - Zmazať + Zmazať Clear - + Vyčistiť Preview file - Náhľad súboru + Náhľad súboru Set upload limit - Nastaviť limit nahrávania + Nastaviť limit nahrávania Set download limit - Nastaviť limit sťahovania + Nastaviť limit sťahovania Delete Permanently - Trvalo zmazať + Trvalo zmazať Torrent Properties - Vlastnosti torrentu + Vlastnosti torrentu + + + + engineSelect + + + Search plugins + Zásuvné moduly vyhľadávania + + + + Installed search engines: + Nainštalované vyhľadávače: + + + + Name + Názov + + + + Url + Url + + + + Enabled + Zapnuté + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Nové vyhľadávače môžete získať tu: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Nainštalovať nový + + + + Check for updates + Skontrolovať aktualizácie + + + + Close + Zatvoriť + + + + Enable + Zapnúť + + + + Disable + Vypnúť + + + + Uninstall + Odinštalovať + + + + engineSelectDlg + + + True + Pravda + + + + False + Nepravda + + + + Uninstall warning + Upozornenie o odstránení + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Niektoré zásuvné moduly nebolo možné odstrániť, pretože sú súčasťou aplikácie qBittorrent. + Iba tie, ktoré ste sami pridali je možné odstrániť. +Tieto moduly však boli vypnuté. + + + + Uninstall success + Odstránenie prebehlo úspešne + + + + All selected plugins were uninstalled successfuly + Všetky zvolené zásuvné moduly boli úspešne odstránené + + + + Select search plugins + Zvoliť zásuvné moduly vyhľadávačov + + + + qBittorrent search plugins + Zásuvné moduly vyhľadávania qBittorrent + + + + Search plugin install + Inštalácia zásuvného modulu vyhľadávača + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Novšia verzia zásuvného modulu vyhľadávača %1 je už nainštalovaná. + + + + %1 search engine plugin was successfuly updated. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 bol úspešne aktualizovaný. + + + + %1 search engine plugin was successfuly installed. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 bol úspešne nainštalovaný. + + + + Search plugin update + Aktualizácia zásuvného modulu vyhľadávača + + + + Sorry, update server is temporarily unavailable. + Je mi ľúto, aktualizačný server je dočasne nedostupný. + + + + %1 search plugin was successfuly updated. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 bol úspešne aktualizovaný. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Je mi ľúto, aktualizácia zásuvného modulu vyhľadávača %1 zlyhala. + + + + All your plugins are already up to date. + Všetky vaše vyhľadávacie zásuvné moduly sú už aktuálne. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 nebolo možné aktualizovať, zachovávam starú verziu. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 nebolo možné nainštalovať. + + + + All selected plugins were uninstalled successfully + Všetky zvolené zásuvné moduly boli úspešne odinštalované + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 bol úspešne aktualizovaný. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Zásuvný modul vyhľadávača %1 bol úspešne nainštalovaný. + + + + Search engine plugin archive could not be read. + Nebolo možné prečítať archív zásuvného modulu vyhľadávača. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Je mi ľúto, aktualizácia zásuvného modulu vyhľadávača %1 zlyhala. + + + + New search engine plugin URL + URL zásuvného modulu nového vyhľadávača + + + + URL: + URL: misc - + B B - + KiB KiB - + MiB MiB - + GiB GiB - + TiB TiB - + m m - + h h - + Unknown Neznámy - + h h - + d d - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB - + m minutes m - + h hours h - + d days d - + h hours h - + Unknown Unknown (size) Neznáma - + < 1m < 1 minute < 1m - + %1m e.g: 10minutes %1m - + %1h%2m e.g: 3hours 5minutes %1h%2m - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d%2h%3m @@ -3105,97 +3746,97 @@ Záznam zmien: options_imp - + Options saved successfully! Nastavenia úspešne uložené! - + Choose Scan Directory Vyberte adresár, ktorý sa bude prehliadať - + Choose save Directory Vyberte adresár, kde sa bude ukladať - + Choose ipfilter.dat file Vyberte ipfilter.dat súbor - + I/O Error V/V Chyba - + Couldn't open: Nemohol som otvoriť: - + in read mode. na čítanie. - + Invalid Line neplatný riadok - + Line riadok - + is malformed. je v zlom tvare. - + Range Start IP Počiatočná IP rozsahu - + Start IP: Počiatočná IP: - + Incorrect IP Nesprávna IP - + This IP is incorrect. Táto IP je nesprávna. - + Range End IP Koncová IP rozsahu - + End IP: Koncová IP: - + IP Range Comment Komentár k IP rozsahu - + Comment: Komentár: - + to a @@ -3203,55 +3844,78 @@ Záznam zmien: to <min port> to <max port> - + - + Choose your favourite preview program Zvoľte si obľúbený program pre náhľad - + Invalid IP Neplatná IP - + This IP is invalid. Táto IP je neplatná. - + Options were saved successfully. Nastavenia úspešne uložené. - + Choose scan directory Zvoliť adresár pre prezeranie - + Choose an ipfilter.dat file Vyberte súbor ipfilter.dat - + Choose a save directory Vyberte adresár, kde sa bude ukladať - + I/O Error Input/Output Error V/V Chyba - + Couldn't open %1 in read mode. Nebolo možné otvoriť %1 v režime pre čítanie. + + pluginSourceDlg + + + Plugin source + Zdroj zásuvného modulu + + + + Search plugin source: + Zdroj zásuvného modulu vyhľadávača: + + + + Local file + Lokálny súbor + + + + Web link + Webový odkaz + + preview @@ -3316,444 +3980,459 @@ Záznam zmien: Vlastnosti torrentu - + Main Infos Hlavninfo - + File Name Názov súboru - + Current Session Súčasná relácia - + Total Uploaded: Celkovo nahran: - + Total Downloaded: Celkovo stiahnut: - + Download state: Stav sťahovania: - + Current Tracker: Ssn tracker: - + Number of Peers: Pot rovesnov: - + Torrent Content Obsah torrentu - + OK OK - + Total Failed: Celkov pot zlyhan: - + Finished Skončené - + Queued for checking Zaradené frontu pre kontrolu - + Checking files Kontrolujem súbory - + Connecting to tracker Pripájam sa k trackeru - + Downloading Metadata Sťahujem metadáta - + Downloading Sťahujem - + Seeding Seedujem - + Allocating Alokujem - + Unknown Neznámy - + Complete: Dokončené: - + Partial: Čiastočne: - + Files contained in current torrent: Súbory obsiahnuté v súčasnom torrente: - + Size Veľkosť - + Selected Vybrané - + Unselect Odobrať - + Select Vybrať - + You can select here precisely which files you want to download in current torrent. Tu môžete presne vybrať, ktoré súbory zo súčasného torrentu chcete stiahnuť. - + False Nie - + True no - + Tracker Tracker - + Trackers: Trackery: - + None - Unreachable? Žiadne - Nedostupné? - + Errors: Chyby: - + Progress Priebeh - + Main infos Hlavné info - + Number of peers: Počet rovesníkov: - + Current tracker: Súčasný tracker: - + Total uploaded: Celkovo nahrané: - + Total downloaded: Celkovo stiahnuté: - + Total failed: Celkovo zlyhalo: - + Torrent content Obsah torrentu - + Seeders: Seederi: - + Leechers: Leecheri: - + Share Ratio: Pomer zdieľania: - + Options Nastavenia - + Download in correct order (slower but good for previewing) Stiahnuť v správnom poradí (pomalšie ale lepšie pre náhľad) - + Save path: Cesta pre uloženie: - + Torrent infos Info o torrente - + Creator: Tvorca: - + Torrent hash: Haš torrentu: - + Comment: Komentár: - + Current session Súčasná relácia - + Share ratio: Pomer zdieľania: - + Trackers Trackery - + Priorities: Priority: - + Normal: normal priority. Download order is dependent on availability Normálna: normálna priorita. Poradie sťahovania záleží na dostupnosti - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Vysoká: vyššia priorita ako normálna. Kúsky sa uprednostňujú pred kúskami s rovnakou dostupnosťou, ale nie pred kúskami s nižšou dostupnosťou - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximálna: maximálna priorita, na dostupnosť sa neberie ohľad, kúsky sú uprednostňované pred inými kúskami s nižšou prioritou - + File name Názov súboru - + Priority Priorita - + New tracker Nový tracker - + New tracker url: URL nového trackera: - + qBittorrent qBittorrent - + Trackers list can't be empty. Zoznam trackerov nemôže byť prázdny. - + Ignored: file is not downloaded at all Ignorované: súbor sa vôbec nesťahuje - + Ignored Ignorované - + Normal Normálna - + Maximum Maximálna - + High Vysoká - + Url seeds Url seedy - + New url seed: Nový URL seed: - + This url seed is already in the list. Tento URL seed je už v zozname. - + Hard-coded url seeds cannot be deleted. Napevno zadané URL seedy nie je možné zmazať. - + None i.e: No error message Žiadna - + New url seed New HTTP source Nový URL seed - + The following url seeds are available for this torrent: Pre tento torrent sú dostupné nasledovné url seedy: + + + Priorities error + Chyba priorít + + + + Error, you can't filter all the files in a torrent. + Chyba, nemôžete filtrovať všetky súbory v torrente. + search_engine - + Search Vyhľadávanie - + Search Engines - Vyhľadávače + Vyhľadávače - + Search Pattern: Vyhľadávací vzor: - + Stop Zastaviť - + Status: Stav: - + Stopped Zastavený - + Results: Výsledky: - + Download Stiahnuť - + Clear Vyčistiť - + Update search plugin - Aktualizovať zásuvný modul vyhľadávania + Aktualizovať zásuvný modul vyhľadávania + + + + Search engines... + Vyhľadávače... @@ -3812,57 +4491,57 @@ Záznam zmien: subDownloadThread - + Host is unreachable Hostiteľ je nedostupný - + File was not found (404) Súbor nebol nájdený (404) - + Connection was denied Spojenie bolo odmietnuté - + Url is invalid URL je neplatné - + Connection forbidden (403) Spojenie zakázané (403) - + Connection was not authorized (401) Spojenie nebolo autorizované (401) - + Content has moved (301) Obsah sa presunul (301) - + Connection failure Chyba spojenia - + Connection was timed out Časový limit spojenia vypršal - + Incorrect network interface Nesprávne sieťové rozhranie - + Unknown error Neznáma chyba @@ -3870,77 +4549,77 @@ Záznam zmien: torrentAdditionDialog - + True Áno - + Unable to decode torrent file: Nemohol som dekódovať torrent súbor: - + This file is either corrupted or this isn't a torrent. - Tento súbor je bud poškodený alebo nie je torrent. + Tento súbor je buď poškodený alebo nie je torrent. - + Choose save path Zvoľte cestu pre uloženie - + False Nie - + Empty save path Prázdna cesta pre uloženie - + Please enter a save path Prosím, zadajte cestu pre uloženie - + Save path creation error Chyba pri vytváraní cesty pre uloženie - + Could not create the save path Nemohol som vytvoriť cestu pre uloženie - + Invalid file selection Neplatný výber súboru - + You must select at least one file in the torrent Musíte vybrať aspoň jeden súbor z torrentu - + File name Názov súboru - + Size Veľkosť - + Progress Priebeh - + Priority Priorita diff --git a/src/lang/qbittorrent_sv.qm b/src/lang/qbittorrent_sv.qm index b15852e553d4ef59b1dac6d796da6361ecdff30c..7292328ebaf30cfa6d4f269ddb1af368050a4915 100644 GIT binary patch delta 15268 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 delta 10444 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 - + AboutDlg @@ -47,11 +47,6 @@ France Frankrike - - - Thanks To - Tack till - Translation @@ -98,20 +93,12 @@ Studerar datorvetenskap - + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> <br> <u>Home Page:</u> <i>http://www.qbittorrent.org</i><br> - En bittorrent-klient som använder Qt4 och libtorrent, programmerad i C++.<br><br>Copyright © 2006 Christophe Dumez<br><br> <u>Webbsida:</u> <i>http://www.qbittorrent.org</i><br> - - - - A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> -<br> -Copyright © 2006 by Christophe Dumez<br> -<br> <u>Home Page:</u> <i>http://www.qbittorrent.org</i><br> - En bittorrent-klient som använder Qt4 och libtorrent, programmerad i C++.<br> + En bittorrent-klient som använder Qt4 och libtorrent, programmerad i C++.<br> <br> Copyright © 2006 Christophe Dumez<br> <br> <u>Webbsida:</u> <i>http://www.qbittorrent.org</i><br> @@ -121,6 +108,14 @@ Copyright © 2006 Christophe Dumez<br> Thanks to Tack till + + + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> +<br> +Copyright © 2006 by Christophe Dumez<br> +<br> <u>Home Page:</u> <i>http://www.qbittorrent.org</i><br> + + BandwidthAllocationDialog @@ -162,430 +157,456 @@ Copyright © 2006 Christophe Dumez<br> Inställningar -- qBittorrent - - Options - Inställningar - - - - Main - Allmänt - - - - Save Path: - Plats att spara filer: - - - - Download Limit: - Hämtningsgräns: - - - - Upload Limit: - Sändningsgräns: - - - - Max Connects: - Max anslutningar: - - - + Port range: Portintervall: - + ... ... - - Disable - Inaktivera - - - - connections - anslutningar - - - - Proxy - Proxy - - - + Proxy Settings Proxyinställningar - + 0.0.0.0 0.0.0.0 - + Port: Port: - - Proxy server requires authentication - Proxyservern kräver autentisering - - - + Authentication Autentisering - - User Name: - Användarnamn: - - - + Password: Lösenord: - - Enable connection through a proxy server - Aktivera anslutning genom en proxyserver - - - - Scanned Dir: - Avsökningskatalog: - - - - Enable directory scan (auto add torrent files inside) - Aktivera katalogavsökning (lägg automatiskt till torrent-filer) - - - - Share ratio: - Utdelningsförhållande: - - - + Activate IP Filtering Aktivera IP-filtrering - + Filter Settings Filterinställningar - + Start IP Start-IP - + End IP Slut-IP - + Origin Ursprung - + Comment Kommentar - - IP Filter - IP-filter - - - + Add Range Lägg till intervall - + Remove Range Ta bort intervall - - ipfilter.dat Path: - Sökväg till ipfilter.dat: - - - - Go to systray when minimizing window - Gå till aktivitetsfältet vid minimering av fönster - - - + Misc Diverse - - Localization - Lokalanpassning - - - + Language: Språk: - - Behaviour - Beteende - - - + KiB/s KiB/s - - 1 KiB DL = - 1 KiB hämtning = - - - - KiB UP max. - KiB sändning max. - - - + Preview program Förhandsvisningsprogram - - Audio/Video player: - Ljud-/videospelare: - - - - DHT configuration - DHT-konfiguration - - - - DHT port: - DHT-port: - - - - Language - Språk - - - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Observera:</b> Ändringar kommer att verkställas efter att qBittorrent har startats om. - - <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Notering för översättare:</b> Om qBittorrent inte finns tillgänglig på ditt språk, <br/>och du vill översätta det till ditt modersmål, <br/>kontakta mig (chris@qbittorrent.org). - - - - Display a torrent addition dialog everytime I add a torrent - Visa en dialogruta varje gång jag lägger till en torrent-fil - - - - Default save path - Standardsökväg för sparning - - - - Always display systray messages - Visa alltid meddelanden i aktivitetsfältet - - - - Display systray messages only when window is hidden - Visa endast meddelanden i aktivitetsfältet när fönstret är dolt - - - - Never display systray messages - Visa aldrig meddelanden i aktivitetsfältet - - - - Disable DHT (Trackerless) - Inaktivera DHT (Trackerlös) - - - - Disable Peer eXchange (PeX) - Inaktivera Peer eXchange (PeX) - - - - Go to systray when closing main window - Gå till aktivitetsfältet när huvudfönstret stängs - - - + Connection Anslutning - - Peer eXchange (PeX) - Peer eXchange (PeX) - - - - DHT (trackerless) - DHT (trackerlös) - - - - Torrent addition - Lägg till torrent - - - - Main window - Huvudfönster - - - - Systray messages - Meddelanden i aktivtetsfältet - - - - Directory scan - Katalogavsökning - - - - Style (Look 'n Feel) - Stil (utseende och känsla) - - - + Plastique style (KDE like) Plastisk stil (KDE-liknande) - - Cleanlooks style (GNOME like) - Cleanlook-stil (GNOME-liknande) - - - - Motif style (default Qt style on Unix systems) - Motif-stil (standard Qt-stil på Unix-system) - - - + CDE style (Common Desktop Environment like) CDE-stil (Common Desktop Environment-liknande) - - MacOS style (MacOSX only) - MacOS-stil (endast MacOS X) - - - - Exit confirmation when the download list is not empty - Bekräfta avslut när hämtningslistan inte är tom - - - - Disable systray integration - Inaktivera integration i aktivtetsfältet - - - - WindowsXP style (Windows XP only) - Windows XP-stil (endast Windows XP) - - - - Server IP or url: - Server-IP eller url: - - - - Proxy type: - Proxytyp: - - - + HTTP HTTP - + SOCKS5 SOCKS 5 - + Affected connections Berörda anslutningar - + Use proxy for connections to trackers - Använd proxy för anslutningar till trackers + Använd proxy för anslutningar till bevakare - + Use proxy for connections to regular peers - Använd proxy för anslutningar till vanliga parter + Använd proxy för anslutningar till vanliga klienter - + Use proxy for connections to web seeds Använd proxy för anslutningar till webbdistributörer - + Use proxy for DHT messages Använd proxy för DHT-meddelanden - - Encryption - Kryptering - - - - Encryption state: - Krypteringstillstånd: - - - + Enabled Aktiverad - + Forced Tvingad - + Disabled Inaktiverad + + + Preferences + Inställningar + + + + General + Allmänt + + + + User interface settings + Inställningar för användargränssnitt + + + + Visual style: + Visuell stil: + + + + Cleanlooks style (Gnome like) + Cleanlooks-stil (Gnome-liknande) + + + + Motif style (Unix like) + Motif-stil (Unix-liknande) + + + + Ask for confirmation on exit when download list is not empty + Fråga efter bekräftelse vid avslut när hämtningslistan inte är tom + + + + Display current speed in title bar + Visa aktuell hastighet i titellisten + + + + System tray icon + Ikon i aktivitetsfältet + + + + Disable system tray icon + Inaktivera ikon i aktivitetsfältet + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Stäng till aktivitetsfält + + + + Minimize to tray + Minimera till aktivitetsfält + + + + Show notification balloons in tray + Visa notifieringsballongtext i aktivitetsfält + + + + Media player: + Mediaspelare: + + + + Downloads + Hämtningar + + + + Put downloads in this folder: + Lägg hämtningar i denna mapp: + + + + Pre-allocate all files + Förallokera alla filer + + + + When adding a torrent + När en torrent läggs till + + + + Display torrent content and some options + Visa torrent-innehåll och några alternativ + + + + Do not start download automatically + The torrent will be added to download list in pause state + Starta inte hämtningen automatiskt + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Mappbevakning + + + + Automatically download torrents present in this folder: + Hämta automatiskt torrent-filer som finns i denna mapp: + + + + Listening port + Lyssningsport + + + + to + +i.e: 1200 to 1300 + till + + + + Enable UPnP port mapping + Aktivera UPnP-portmappning + + + + Enable NAT-PMP port mapping + Aktivera NAT-PMP-portmappning + + + + Global bandwidth limiting + Allmän bandbreddsbegränsning + + + + Upload: + Sändning: + + + + Download: + Hämtning: + + + + Type: + Typ: + + + + (None) + (Ingen) + + + + Proxy: + Proxy: + + + + Username: + Användarnamn: + + + + Bittorrent + Bittorrent + + + + Connections limit + Gräns för anslutningar + + + + Global maximum number of connections: + Allmänt maximalt antal anslutningar: + + + + Maximum number of connections per torrent: + Maximalt antal anslutningar per torrent: + + + + Maximum number of upload slots per torrent: + Maximalt antal sändningsplatser per torrent: + + + + Additional Bittorrent features + Ytterligare Bittorrent-funktioner + + + + Enable DHT network (decentralized) + Aktivera DHT-nätverk (decentraliserat) + + + + Enable Peer eXchange (PeX) + Aktivera Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Aktivera identifiering av lokala klienter + + + + Encryption: + Kryptering: + + + + Share ratio settings + Inställningar för utdelningsförhållande + + + + Desired ratio: + Önskat förhållande: + + + + Filter file path: + Sökväg för filterfil: + + + + transfer lists refresh interval: + Uppdateringsintervall för överföringslistor: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + Uppdateringsintervall för RSS-kanaler: + + + + minutes + minuter + + + + Maximum number of articles per feed: + Maximalt antal inlägg per RSS-kanal: + + + + File system + Filsystem + + + + Remove finished torrents when their ratio reaches: + Ta bort färdiga torrent-filer när deras förhållande når: + + + + System default + + + + + to + i.e: 1200 to 1300 + till + DownloadingTorrents @@ -593,115 +614,115 @@ Copyright © 2006 Christophe Dumez<br> Name i.e: file name - Namn + Namn Size i.e: file size - Storlek + Storlek Progress i.e: % downloaded - Förlopp + Förlopp DL Speed i.e: Download speed - Hämtningshastighet + Hämtningshastighet UP Speed i.e: Upload speed - Sändningshastighet + Sändningshastighet Seeds/Leechs i.e: full/partial sources - Dist/Repr + Dist/Repr Ratio - Förhållande + Förhållande ETA i.e: Estimated Time of Arrival / Time left - Färdig om + Färdig om qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 startad. + qBittorrent %1 startad. Be careful, sharing copyrighted material without permission is against the law. - Var försiktig, dela ut upphovsrättsskyddat material utan tillåtelse är ett lagbrott. + Var försiktig med att dela ut upphovsrättsskyddat material utan tillåtelse. Det är ett lagbrott. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>blockerades</i> + <font color='red'>%1</font> <i>blockerades</i> - + Fast resume data was rejected for torrent %1, checking again... - Snabb återupptagning av data nekades för torrent-filen %1, kontrollerar igen... + Snabb återupptagning av data nekades för torrent-filen %1, kontrollerar igen... - + Url seed lookup failed for url: %1, message: %2 - Uppslagning av url misslyckades för: %1, meddelande: %2 + Uppslagning av url misslyckades för: %1, meddelande: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - \"%1\" lades till i hämtningslistan. + "%1" lades till i hämtningslistan. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - \"%1\" återupptogs. (snabbt läge) + "%1" återupptogs. (snabbt läge) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - \"%1\" finns redan i hämtningslistan. + "%1" finns redan i hämtningslistan. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Kunde inte avkoda torrent-fil: \"%1\" + Kunde inte avkoda torrent-fil: "%1" - + This file is either corrupted or this isn't a torrent. - Denna fil är antingen skadad eller så är den inte en torrent-fil. + Denna fil är antingen skadad eller så är den inte en torrent-fil. - + Couldn't listen on any of the given ports. - Kunde inte lyssna på någon av de angivna portarna. + Kunde inte lyssna på någon av de angivna portarna. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Hämtar \"%1\", vänta... + Hämtar "%1", var god vänta... @@ -714,11 +735,6 @@ Copyright © 2006 Christophe Dumez<br> FinishedTorrents - - - Finished - Färdig - Name @@ -758,59 +774,49 @@ Copyright © 2006 Christophe Dumez<br> GUI - + Open Torrent Files Öppna Torrent-filer - - This file is either corrupted or this isn't a torrent. - Denna fil är antingen skadad eller så är den inte en torrent-fil. - - - + &Yes &Ja - + &No &Nej - + Are you sure you want to delete the selected item(s) in download list? Är du säker på att du vill ta bort de markerade post(erna) i hämtningslistan? - + Torrent Files Torrent-filer - + Are you sure? -- qBittorrent Är du säker? -- qBittorrent - - Couldn't listen on any of the given ports. - Kunde inte lyssna på någon av de angivna portarna. - - - + Preview process already running Förhandsvisningsprocess kör redan - + There is already another preview process running. Please close the other one first. Det finns redan en annan förhandsvisningsprocess. Stäng den först. - + Download finished Hämtningen är färdig @@ -821,377 +827,289 @@ Stäng den först. qBittorrent %1 - + Connection status: Anslutningsstatus: - + Offline Frånkopplad - + No peers found... - Inga parter hittades... + Inga klienter hittades... - - Name - i.e: file name - Namn - - - - Size - i.e: file size - Storlek - - - - Progress - i.e: % downloaded - Förlopp - - - - DL Speed - i.e: Download speed - Hämtningshastighet - - - - UP Speed - i.e: Upload speed - Sändningshastighet - - - - Seeds/Leechs - i.e: full/partial sources - Dist/Repr - - - - ETA - i.e: Estimated Time of Arrival / Time left - Färdig om - - - - qBittorrent %1 started. - e.g: qBittorrent v0.x started. - qBittorrent %1 startad. - - - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Hämtning: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Sändning: %1 KiB/s - + Are you sure you want to quit? Är du säker på att du vill avsluta? - + '%1' was removed. 'xxx.avi' was removed. - \"%1\" togs bort. + "%1" togs bort. - - '%1' added to download list. - '/home/y/xxx.torrent' was added to download list. - \"%1\" lades till i hämtningslistan. - - - - '%1' resumed. (fast resume) - '/home/y/xxx.torrent' was resumed. (fast resume) - \"%1\" återupptogs. (snabbt läge) - - - - '%1' is already in download list. - e.g: 'xxx.avi' is already in download list. - \"%1\" finns redan i hämtningslistan. - - - - Unable to decode torrent file: '%1' - e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Kunde inte avkoda torrent-fil: \"%1\" - - - + All downloads were paused. Alla hämtningar har pausats. - + '%1' paused. xxx.avi paused. - \"%1\" pausad. + "%1" pausad. - + All downloads were resumed. Alla hämtningar har återupptagits. - + '%1' resumed. e.g: xxx.avi resumed. - \"%1\" återupptogs. + "%1" återupptogs. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 har hämtats färdigt. - + I/O Error i.e: Input/Output Error In/Ut-fel - + 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 Ett fel inträffade vid försök att läsa eller skriva %1. Disken är antagligen full, hämtningen har pausats - + Connection Status: Anslutningsstatus: - + Online Ansluten - + Firewalled? i.e: Behind a firewall/router? Brandvägg? - + No incoming connections... Inga inkommande anslutningar... - - Downloading '%1', please wait... - e.g: Downloading 'xxx.torrent', please wait... - Hämtar \"%1\", vänta... - - - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. - Ett fel inträffade (full disk?), \"%1\" pausad. + Ett fel inträffade (full disk?), "%1" har pausats. - + Search Sök - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent är bunden till port: %1 - + DHT support [ON], port: %1 DHT-stöd [PÅ], port: %1 - + DHT support [OFF] DHT-stöd [AV] - + PeX support [ON] PeX-stöd [PÅ] - + PeX support [OFF] PeX-stöd [AV] - + The download list is not empty. Are you sure you want to quit qBittorrent? Hämtningslistan är inte tom. Är du säker på att du vill avsluta qBittorrent? - + Downloads Hämtningar - + Finished - Färdig + Färdiga - + Are you sure you want to delete the selected item(s) in finished list? Är du säker på att du vill ta bort de markerade färdiga objekt(en) i listan? - + UPnP support [ON] UPnP-stöd [PÅ] - - Be careful, sharing copyrighted material without permission is against the law. - Var försiktig, dela ut upphovsrättsskyddat material utan tillåtelse är ett lagbrott. - - - + Encryption support [ON] Krypteringsstöd [PÅ] - + Encryption support [FORCED] Krypteringsstöd [TVINGAD] - + Encryption support [OFF] Krypteringsstöd [AV] - - <font color='red'>%1</font> <i>was blocked</i> - x.y.z.w was blocked - <font color='red'>%1</font> <i>blockerades</i> - - - - Ratio - Förhållande - - - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - - Alt+3, Ctrl+F - shortcut to switch to third tab (search) - Alt+3, Ctrl+F - - - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Fel vid url-hämtning - + Couldn't download file at url: %1, reason: %2. Kunde inte hämta fil från url:en: %1, anledning: %2. - - Fast resume data was rejected for torrent %1, checking again... - Snabb återupptagning av data nekades för torrent-filen %1, kontrollerar igen... - - - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Är du säker på att du vill ta bort de markerade objekt(en) från hämtningslistan och från hårddisken? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Är du säker på att du vill ta bort de markerade färdiga objekt(en) från listan och från hårddisken? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - \"%1\" togs bort permanent. - - - - Url seed lookup failed for url: %1, message: %2 - Uppslagning av url misslyckades för: %1, meddelande: %2 - - - - Alt+3 - shortcut to switch to third tab - Alt+3 + "%1" togs bort permanent. + Alt+3 + shortcut to switch to third tab + Alt+3 + + + Ctrl+F shortcut to switch to search tab - + Ctrl+F + + + + UPnP support [OFF] + UPnP-stöd [AV] + + + + NAT-PMP support [ON] + NAT-PMP-stöd [PÅ] + + + + NAT-PMP support [OFF] + NAT-PMP-stöd [AV] + + + + Local Peer Discovery [ON] + Identifiering av lokala klienter [PÅ] + + + + Local Peer Discovery support [OFF] + Stöd för identifiering av lokala klienter [AV] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + "%1" togs bort därför att dess förhållande nådde det maximala värdet du ställde in. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (Ned: %2 KiB/s, Upp: %3 KiB/s) MainWindow - - - Total DL Speed: - Total hämtningshastighet: - - - - Total UP Speed: - Total sändningshastighet: - - - - &Options - I&nställningar - &Edit @@ -1262,21 +1180,11 @@ Are you sure you want to quit qBittorrent? Download from URL Hämta från url - - - KiB/s - KiB/s - Create torrent Skapa torrent - - - Session ratio: - Sessionsratio: - Preview file @@ -1302,11 +1210,6 @@ Are you sure you want to quit qBittorrent? Report a bug Rapportera ett fel - - - Downloads - Hämtningar - Set upload limit @@ -1322,16 +1225,6 @@ Are you sure you want to quit qBittorrent? Documentation Dokumentation - - - Log - Logg - - - - IP filter - IP-filter - Set global download limit @@ -1351,24 +1244,24 @@ Are you sure you want to quit qBittorrent? PropListDelegate - + Ignored Ignoreras - + Normal Normal (priority) Normal - + High High (priority) Hög - + Maximum Maximum (priority) Maximal @@ -1382,138 +1275,148 @@ Are you sure you want to quit qBittorrent? Sök - + Delete Ta bort - + Rename Byt namn - + Refresh Uppdatera - + Delete selected streams Ta bort markerade kanaler - + Refresh RSS streams Uppdatera RSS-kanaler - + Add a new RSS stream Lägg till en ny RSS-kanal - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Nyheter:</b> <i>(dubbelklicka för att öppna länken i din webbläsare)</i> - + Add RSS stream Lägg till RSS-kanal - + Refresh all streams Uppdatera alla kanaler - + RSS streams: RSS-kanaler: - + 2 2 + + + Mark all as read + Markera alla som lästa + RSSImp - + Please type a rss stream url Ange en url för en RSS-kanal - + Stream URL: URL för kanal: - + Please choose a new name for this stream Välj ett nytt namn för den här kanalen - + New stream name: Nytt kanalnamn: - + Are you sure? -- qBittorrent Är du säker? -- qBittorrent - - Are you sure you want to delete this stream from the list ? - Är du säker på att du vill ta bort den här kanalen från listan? - - - + &Yes &Ja - + &No &Nej - + Are you sure you want to delete this stream from the list? Är du säker på att du vill ta bort den här kanalen från listan? - + Description: Beskrivning: - + url: url: - + Last refresh: Senast uppdaterad: - + qBittorrent - qBittorrent + qBittorrent - + This rss feed is already in the list. - + Den här kanalen finns redan i listan. + + + + Date: + Datum: + + + + Author: + Upphovsman: RssItem - + No description available Ingen beskrivning tillgänglig @@ -1521,268 +1424,104 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1 sedan - + Never - + Aldrig SearchEngine - - Name - - - - - - - - - - - - - - -i.e: file name - Namn - - - - Size - - - - - - - - - - - - - - -i.e: file size - Storlek - - - - Seeders - - - - - - - - - - - - - - -i.e: Number of full sources - Distributörer - - - - Leechers - - - - - - - - - - - - - - -i.e: Number of partial sources - Reciprokörer - - - + Search engine Sökmotor - + Empty search pattern Tomt sökmönster - + Please type a search pattern first Ange ett sökmönster först - - No search engine selected - Ingen sökmotor vald - - - - You must select at least one search engine. - Du måste välja minst en sökmotor. - - - + Results Resultat - + Searching... Söker... - - Search plugin update -- qBittorrent - Uppdatering av sökinstick -- qBittorrent - - - - Search plugin can be updated, do you want to update it? - -Changelog: - - Sökinsticksmodulen kan uppdateras. Vill du uppdatera den? - -Ändringslogg: - - - - &Yes - &Ja - - - - &No - &Nej - - - - Search plugin update - Uppdatering av sökinstick - - - - qBittorrent - qBittorrent - - - - Sorry, update server is temporarily unavailable. - Tyvärr, uppdateringsservern är inte tillgänglig för tillfället. - - - - Your search plugin is already up to date. - Din sökinsticksmodul är redan uppdaterad. - - - + Search Engine Sökmotor - + Search has finished Sökningen är färdig - + An error occured during search... Ett fel inträffade under sökningen... - + Search aborted Sökningen avbröts - + Search returned no results Sökningen returnerade inga resultat - - Results - - - - - - - - - - - - - - - - - - -i.e: Search results - Resultat - - - - Search plugin download error - Hämtningsfel för sökinsticksmodul - - - - Couldn't download search plugin update at url: %1, reason: %2. - Kunde inte hämta uppdatering för sökinsticksmodul från url:en: %1, anledning: %2. - - - + Name i.e: file name Namn - + Size i.e: file size Storlek - + Seeders i.e: Number of full sources Distributörer - + Leechers i.e: Number of partial sources Reciprokörer - + Results i.e: Search results Resultat + + + Unknown + Okänt + about @@ -1810,57 +1549,57 @@ i.e: Search results Lägg till torrent-fil - + Save path: Sökväg att spara i: - + ... ... - + Torrent content: Innehåll: - + Download in correct order (slower but good for previewing) Hämta i korrekt ordning (långsammare men bra för förhandsvisning) - + Add to download list in paused state Lägg till i hämtningslistan i pausat tillstånd - + Add Lägg till - + Cancel Avbryt - + Ignored Ignoreras - + Normal Normal - + High Hög - + Maximum Maximal @@ -1870,12 +1609,12 @@ i.e: Search results Tracker authentication - Autentisering för tracker + Autentisering för bevakare Tracker: - Tracker: + Bevakare: @@ -1919,17 +1658,7 @@ i.e: Search results createTorrentDialog - - ... - ... - - - - Create - Skapa - - - + Cancel Avbryt @@ -1939,119 +1668,179 @@ i.e: Search results Verktyg för att skapa torrent - + Torrent file creation Skapa torrent-fil - - Input files or directories: - Ange filer eller kataloger: - - - + Announce urls (trackers): - Annonserings-url:er (trackers): + Annonserings-url:er (bevakare): - + Comment (optional): Kommentar (valfritt): - - Private (won't be distributed on trackerless network / DHT if enabled) - Privat (kommer inte att distributeras på trackerlösa nätverk / DHT om aktiverad) - - - - Destination torrent file: - Destination för torrent-fil: - - - + Web seeds urls (optional): Url:er för webbdistribution (valfritt): + + + File or folder to add to the torrent: + Fil eller mapp att lägga till i torrent: + + + + Add a file + Lägg till en fil + + + + Add a folder + Lägg till en mapp + + + + Piece size: + Delstorlek: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if enabled) + Privat (kommer inte att distribueras på DHT-nätverk om aktiverat) + + + + Start seeding after creation + Börja distribuera efter den skapats + + + + Create and save... + Skapa och spara... + createtorrent - + Select destination torrent file Välj mål för torrent-fil - + Torrent Files Torrent-filer - - No destination path set - Ingen målsökväg inställd - - - - Please type a destination path first - Ange en målsökväg först - - - + No input path set Ingen sökväg inställd för indata - + Please type an input path first Ange en sökväg för indata först - + Torrent creation Skapa torrent - + Torrent was created successfully: Torrentfilen skapades: - + Select a folder to add to the torrent Välj en mapp att lägga till i torrent-filen - - Select files to add to the torrent - Välj filer att lägga till i torrent-filen - - - + Please type an announce URL Ange en annonserings-url - + Torrent creation was unsuccessful, reason: %1 Skapandet av torrent-fil misslyckades, anledning: %1 - + Announce URL: Tracker URL Annonserings-url: - + Please type a web seed url Ange en url för webbdistribution - + Web seed URL: Url för webbdistribution: + + + Select a file to add to the torrent + Välj en fil att lägga till i torrent + + + + No tracker path set + Ingen sökväg för bevakare inställd + + + + Please set at least one tracker + Ställ åtminstone in en bevakare + downloadFromURL @@ -2096,147 +1885,333 @@ i.e: Search results Search - Sök + Sök Total DL Speed: - Total hämtningshastighet: + Total hämtningshastighet: KiB/s - KiB/s + KiB/s Session ratio: - Sessionsratio: + Sessionsförhållande: Total UP Speed: - Total sändningshastighet: + Total sändningshastighet: Log - Logg + Logg IP filter - IP-filter + IP-filter Start - Starta + Starta Pause - Gör paus + Gör paus Delete - Ta bort + Ta bort Clear - Töm + Töm Preview file - Förhandsvisa fil + Förhandsvisa fil Set upload limit - Ställ in sändningsgräns + Ställ in sändningsgräns Set download limit - Ställ in hämtningsgräns + Ställ in hämtningsgräns Delete Permanently - Ta bort permanent + Ta bort permanent Torrent Properties - + Egenskaper för torrent + + + + engineSelect + + + Search plugins + Sökinsticksmoduler + + + + Installed search engines: + Installerade sökmotorer: + + + + Name + Namn + + + + Url + Url + + + + Enabled + Aktiverad + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Du kan hämta nya sökmotorinstick här: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Installera ett nytt instick + + + + Check for updates + Leta efter uppdateringar + + + + Close + Stäng + + + + Enable + Aktivera + + + + Disable + Inaktivera + + + + Uninstall + Avinstallera + + + + engineSelectDlg + + + True + Sant + + + + False + Falskt + + + + Uninstall warning + Varning vid avinstallation + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Vissa insticksmoduler kunde inte avinstalleras därför att de är inkluderade i qBittorrent. +Endast de som du själv har lagt till kan avinstalleras. +Dock har dessa insticksmoduler blivit inaktiverade. + + + + Uninstall success + Avinstallation lyckades + + + + Select search plugins + Välj sökinsticksmoduler + + + + qBittorrent search plugins + Sökinsticksmoduler för qBittorrent + + + + Search plugin install + Installation av sökinsticksmoduler + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + En senare version av sökmotorinsticket %1 är redan installerat. + + + + Search plugin update + Uppdatering av sökinstick + + + + Sorry, update server is temporarily unavailable. + Tyvärr, uppdateringsservern är inte tillgänglig för tillfället. + + + + All your plugins are already up to date. + Alla dina insticksmoduler är redan uppdaterade. + + + + All selected plugins were uninstalled successfully + Alla markerade insticksmoduler avinstallerades + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Insticksmodulen för sökmotorn %1 kunde inte uppdateras, behåller gammal version. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Insticksmodulen för sökmotorn %1 kunde inte installeras. + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Insticksmodulen för sökmotorn %1 uppdaterades. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Insticksmodulen för sökmotorn %1 installerades. + + + + Search engine plugin archive could not be read. + Insticksmodularkivet för sökmotorn kunde inte läsas. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Tyvärr, installationen av sökinsticket %1 misslyckades. + + + + New search engine plugin URL + Url för nytt sökmotorinstick + + + + URL: + Url: misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB - + Unknown Okänd - + Unknown Unknown (size) Okänd - + < 1m < 1 minute < 1 min - + %1m e.g: 10minutes %1 min - + %1h%2m e.g: 3hours 5minutes %1h %2min - + %1d%2h%3m e.g: 2days 10hours 2minutes %1d %2h %3min @@ -2245,88 +2220,105 @@ i.e: Search results options_imp - + Range Start IP Intervall start-IP - + Start IP: Start-IP: - + Range End IP Intervall slut-IP - + End IP: Slut-IP: - + IP Range Comment Kommentar om IP-intervall - + Comment: Kommentar: - - to - <min port> to <max port> - till - - - + Choose your favourite preview program Välj ditt favoritprogram för förhandsvisning - + Invalid IP Ogiltigt IP - + This IP is invalid. Detta IP är ogiltigt. - + Options were saved successfully. Inställningarna har sparats. - + Choose scan directory Välj en avsökningskatalog - + Choose an ipfilter.dat file Välj en ipfilter.dat-fil - + Choose a save directory Välj en katalog att spara i - + I/O Error Input/Output Error In/Ut-fel - + Couldn't open %1 in read mode. Kunde inte öppna %1 i läsläge. + + pluginSourceDlg + + + Plugin source + Insticksmodulkälla + + + + Search plugin source: + Sök insticksmodulkälla: + + + + Local file + Lokal fil + + + + Web link + Webblänk + + preview @@ -2391,315 +2383,289 @@ i.e: Search results Egenskaper om torrent - + OK OK - + Unknown Okänd - + Files contained in current torrent: Filer i aktuell torrent: - + Size Storlek - + Tracker - Tracker + Bevakare - + Trackers: - Trackers: + Bevakare: - + None - Unreachable? Ingen - Ej nåbar? - + Errors: Fel: - + Progress Förlopp - + Main infos Information - + Current tracker: Aktuell bevakare: - + Total uploaded: Totalt skickat: - + Total downloaded: Totalt hämtat: - + Total failed: Totalt misslyckade: - + Torrent content Torrent-innehåll - + Download in correct order (slower but good for previewing) Hämta i korrekt ordning (långsammare men bra för förhandsvisning) - + Save path: Sökväg att spara i: - + Torrent infos Torrent-information - + Creator: Skapare: - + Torrent hash: Torrent-hash: - + Comment: Kommentar: - + Current session Aktuell session - + Share ratio: Utdelningsförhållande: - + Trackers - Trackers + Bevakare - + New tracker - Ny tracker + Ny bevakare - + New tracker url: - Url för ny tracker: + Url för ny bevakare: - + Priorities: Prioriteringar: - + Normal: normal priority. Download order is dependent on availability Normal: normal prioritet. Hämtningsordningen är beroende av tillgänglighet - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Hög: högre än normal prioritet. Delarna föredras över delar med samma tillgänglighet, men inte över delar med lägre tillgänglighet - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Maximal: maximal prioritet, tillgänglighet används inte, delen föredras över alla andra delar med lägre prioritet - + File name Filnamn - + Priority Prioritet - + qBittorrent qBittorrent - + Trackers list can't be empty. - Listan över trackers får inte vara tom. + Listan över bevakare får inte vara tom. - + Ignored: file is not downloaded at all Ignoreras: filen hämtas inte alls - + Ignored Ignoreras - + Normal Normal - + Maximum Maximal - + High Hög - + Url seeds Url-distributioner - + New url seed: Ny url-distribution: - + This url seed is already in the list. Den här url-distributionen finns redan i listan. - - Hard-coded url seeds cannot be deleted. - Hårdkodade url-distributioner kan inte tas bort. - - - - None - - - - - - - - - - - - - - - - - - - - -i.e: No error message - Ingen - - - + New url seed New HTTP source Ny url-distribution - + The following url seeds are available for this torrent: Följande url-distributioner finns tillgängliga för denna torrent: - + None i.e: No error message Ingen + + + Priorities error + Prioriteringsfel + + + + Error, you can't filter all the files in a torrent. + Fel, du kan inte filtrera alla filerna i en torrent. + search_engine - + Search Sök - - Search Engines - Sökmotorer - - - + Search Pattern: Sökmönster: - + Stop Stoppa - + Status: Status: - + Stopped Stoppad - + Results: Resultat: - + Download Hämta - + Clear Töm - - Update search plugin - Uppdatera sökinstick + + Search engines... + Sökmotorer... @@ -2758,57 +2724,57 @@ i.e: No error message subDownloadThread - + Host is unreachable Värden är inte nåbar - + File was not found (404) Filen kunde inte hittas (404) - + Connection was denied Anslutningen nekades - + Url is invalid Url:en är ogiltig - + Connection forbidden (403) - Anslutningen förbjöds (403) + Anslutningen tillåts inte (403) - + Connection was not authorized (401) Anslutningen var inte auktoriserad (401) - + Content has moved (301) Innehållet har flyttats (301) - + Connection failure Anslutningsfel - + Connection was timed out Tidsgränsen för anslutningen överstegs - + Incorrect network interface Felaktigt nätverksgränssnitt - + Unknown error Okänt fel @@ -2816,67 +2782,67 @@ i.e: No error message torrentAdditionDialog - + Unable to decode torrent file: Kunde inte avkoda torrent-fil: - + This file is either corrupted or this isn't a torrent. Denna fil är antingen skadad eller så är den inte en torrent-fil. - + Choose save path Välj sökväg att spara i - + Empty save path Tom sökväg för att spara i - + Please enter a save path Ange en sökväg att spara i - + Save path creation error Fel vid skapandet av sökväg - + Could not create the save path Kunde inte skapa sökväg att spara i - + Invalid file selection Ogiltig filmarkering - + You must select at least one file in the torrent Du måste välja åtminstone en fil i torrent-filen - + File name Filnamn - + Size Storlek - + Progress Förlopp - + Priority Prioritet diff --git a/src/lang/qbittorrent_tr.qm b/src/lang/qbittorrent_tr.qm index d501fed732deae5f1828ff4a142371e51bef85cd..3d8df4470751188e7141fcd0dbebb87af29e1549 100644 GIT binary patch delta 9390 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 WO>eQ+AQR0vRsJsxXW0{93jPBZ_H=Fl delta 9132 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 Options - Ayarlar + Ayarlar Main - Ana + Ana Save Path: - Kayıt Yolu: + Kayıt Yolu: Download Limit: - Download Limiti: + Download Limiti: Upload Limit: - Upload Limiti: + Upload Limiti: Max Connects: - Max Bağlantı: + Max Bağlantı: - + Port range: Port aralığı: - + ... ... @@ -269,12 +269,12 @@ Telif Hakkı © 2006 Christophe Dumez<br> Disable - Etkisizleştir + Etkisizleştir connections - bağlantı + bağlantı @@ -284,10 +284,10 @@ Telif Hakkı © 2006 Christophe Dumez<br> Proxy - Proxy + Proxy - + Proxy Settings Proxy Ayarları @@ -297,44 +297,44 @@ Telif Hakkı © 2006 Christophe Dumez<br> Sunucu Adresi: - + 0.0.0.0 0.0.0.0 - + Port: Port: Proxy server requires authentication - Proxy sunucusu kimlik denetimi gerektiriyor + Proxy sunucusu kimlik denetimi gerektiriyor - + Authentication Kimlik Denetimi User Name: - Kullanıcı Adı: + Kullanıcı Adı: - + Password: Şifre: Enable connection through a proxy server - Proxy sunucusu üzerinden bağlantı kurmayı etkinleştir + Proxy sunucusu üzerinden bağlantı kurmayı etkinleştir Language - Dil + Dil @@ -374,12 +374,12 @@ Telif Hakkı © 2006 Christophe Dumez<br> Scanned Dir: - Taranmış Klasör: + Taranmış Klasör: Enable directory scan (auto add torrent files inside) - Klasör taramayı etkinleştir (otomatik torrent dosyası ekleme) + Klasör taramayı etkinleştir (otomatik torrent dosyası ekleme) @@ -404,7 +404,7 @@ Telif Hakkı © 2006 Christophe Dumez<br> Share ratio: - Paylaşım oranı: + Paylaşım oranı: @@ -417,12 +417,12 @@ Telif Hakkı © 2006 Christophe Dumez<br> KB UP max. - + Activate IP Filtering IP Filtrelemeyi Etkinleştir - + Filter Settings Filtre Ayarları @@ -432,22 +432,22 @@ Telif Hakkı © 2006 Christophe Dumez<br> ipfilter.dat URL veya KLASÖR: - + Start IP Başlangıç IP - + End IP Bitiş IP - + Origin Merkez - + Comment Yorum @@ -457,17 +457,17 @@ Telif Hakkı © 2006 Christophe Dumez<br> Uygula - + IP Filter - IP Filtresi + IP Filtresi - + Add Range Aralık Ekle - + Remove Range Aralığı Kaldır @@ -479,7 +479,7 @@ Telif Hakkı © 2006 Christophe Dumez<br> ipfilter.dat Path: - ipfilter.dat KLASÖR: + ipfilter.dat KLASÖR: @@ -494,27 +494,27 @@ Telif Hakkı © 2006 Christophe Dumez<br> Go to systray when minimizing window - Pencereyi sistem çubuğuna küçült + Pencereyi sistem çubuğuna küçült - + Misc - Çeşitli + Çeşitli Localization - Yerelleştirme + Yerelleştirme - + Language: Dil: Behaviour - Davranış + Davranış @@ -537,19 +537,19 @@ Telif Hakkı © 2006 Christophe Dumez<br> OSD yi asla gösterme - + KiB/s KiB/s 1 KiB DL = - 1 KiB DL = + 1 KiB DL = KiB UP max. - KiB UP max. + KiB UP max. @@ -567,44 +567,44 @@ Telif Hakkı © 2006 Christophe Dumez<br> Tamamlanan downloadları otomatik temizle - + Preview program Önizleme programı Audio/Video player: - Ses/Video oynatıcısı: + Ses/Video oynatıcısı: DHT configuration - DHT ayarları + DHT ayarları DHT port: - DHT portu: + DHT portu: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Not:</b> Değişiklikler qBittorrent yeniden başlatıldıktan sonra etkili olacaktır. <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>Çevirmenlerin notu:</b> Eğer qBittorrent dilinizde mevcut değilse,<br/>ve eğer anadilinize çevirmek istiyorsanız, <br/>lütfen iletişime geçin (chris@qbittorrent.org). + <b>Çevirmenlerin notu:</b> Eğer qBittorrent dilinizde mevcut değilse,<br/>ve eğer anadilinize çevirmek istiyorsanız, <br/>lütfen iletişime geçin (chris@qbittorrent.org). Display a torrent addition dialog everytime I add a torrent - Her torrent eklendiğinde torrent ekleme penceresini görüntüle + Her torrent eklendiğinde torrent ekleme penceresini görüntüle Default save path - Varsayılan kayıt yolu + Varsayılan kayıt yolu @@ -614,183 +614,377 @@ Telif Hakkı © 2006 Christophe Dumez<br> Always display systray messages - Her zaman systray mesajlarını göster + Her zaman systray mesajlarını göster Display systray messages only when window is hidden - Systray mesajlarını sadece pencere gizlenmişken göster + Systray mesajlarını sadece pencere gizlenmişken göster Never display systray messages - Systray mesajlarını asla gösterme + Systray mesajlarını asla gösterme Disable DHT (Trackerless) - DHT yi etkisizleştir (Trackersız) + DHT yi etkisizleştir (Trackersız) Disable Peer eXchange (PeX) - Peer eXchange i (PeX) etkisizleştir + Peer eXchange i (PeX) etkisizleştir Go to systray when closing main window - Ana pencereyi kapatınca systray e küçült + Ana pencereyi kapatınca systray e küçült - + Connection - - Peer eXchange (PeX) - - - - - DHT (trackerless) - - - - - Torrent addition - - - - - Main window - - - - - Exit confirmation when the download list is not empty - - - - - Disable systray integration - - - - - Systray messages - - - - - Directory scan - - - - - Style (Look 'n Feel) - - - - + Plastique style (KDE like) - - Cleanlooks style (GNOME like) - - - - - Motif style (default Qt style on Unix systems) - - - - + CDE style (Common Desktop Environment like) - - MacOS style (MacOSX only) - - - - - WindowsXP style (Windows XP only) - - - - - Server IP or url: - - - - - Proxy type: - - - - + HTTP - + SOCKS5 - + Affected connections - + Use proxy for connections to trackers - + Use proxy for connections to regular peers - + Use proxy for connections to web seeds - + Use proxy for DHT messages - - Encryption - - - - - Encryption state: - - - - + Enabled - + Forced - + Disabled + + + Preferences + Seçenekler + + + + General + + + + + User interface settings + + + + + Visual style: + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + Ask for confirmation on exit when download list is not empty + + + + + Display current speed in title bar + + + + + System tray icon + + + + + Disable system tray icon + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + + + + + Minimize to tray + + + + + Show notification balloons in tray + + + + + Media player: + + + + + Downloads + Downloadlar + + + + Put downloads in this folder: + + + + + Pre-allocate all files + + + + + When adding a torrent + + + + + Display torrent content and some options + + + + + Do not start download automatically + The torrent will be added to download list in pause state + + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + + + + + Automatically download torrents present in this folder: + + + + + Listening port + + + + + to + i.e: 1200 to 1300 + + + + + Enable UPnP port mapping + + + + + Enable NAT-PMP port mapping + + + + + Global bandwidth limiting + + + + + Upload: + + + + + Download: + + + + + Type: + + + + + (None) + + + + + Proxy: + + + + + Username: + Kullanıcı adı: + + + + Bittorrent + + + + + Connections limit + + + + + Global maximum number of connections: + + + + + Maximum number of connections per torrent: + + + + + Maximum number of upload slots per torrent: + + + + + Additional Bittorrent features + + + + + Enable DHT network (decentralized) + + + + + Enable Peer eXchange (PeX) + + + + + Enable Local Peer Discovery + + + + + Encryption: + + + + + Share ratio settings + + + + + Desired ratio: + + + + + Filter file path: + + + + + transfer lists refresh interval: + + + + + ms + + + + + RSS + + + + + RSS feeds refresh interval: + + + + + minutes + + + + + Maximum number of articles per feed: + + + + + File system + + + + + Remove finished torrents when their ratio reaches: + + + + + System default + + DownloadingTorrents @@ -859,51 +1053,51 @@ Telif Hakkı © 2006 Christophe Dumez<br> - + Fast resume data was rejected for torrent %1, checking again... - + Url seed lookup failed for url: %1, message: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' download listesine eklendi. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' devam ettirildi. (fast resume) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' zaten download listesinde var. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Torrent dosyası çözümlenemiyor: '%1' - + This file is either corrupted or this isn't a torrent. Bu dosya bozuk ya da torrent dosyası değil. - + Couldn't listen on any of the given ports. Verilen portların hiçbiri dinlenemedi. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Download ediliyor '%1', lütfen bekleyin... @@ -992,7 +1186,7 @@ Telif Hakkı © 2006 Christophe Dumez<br> GUI - + Open Torrent Files Torrent Dosyasını Aç @@ -1017,17 +1211,17 @@ Telif Hakkı © 2006 Christophe Dumez<br> Download listesindeki bütün dosyaları silmek istediğinizden emin misiniz? - + &Yes &Evet - + &No &Hayır - + Are you sure you want to delete the selected item(s) in download list? Download listesindeki seçili öğeleri silmek istediğinize emin misiniz? @@ -1047,7 +1241,7 @@ Telif Hakkı © 2006 Christophe Dumez<br> kb/s - + Finished Tamamlandı @@ -1102,7 +1296,7 @@ Telif Hakkı © 2006 Christophe Dumez<br> Klasör yaratılamıyor: - + Torrent Files Torrent Dosyaları @@ -1174,12 +1368,12 @@ Telif Hakkı © 2006 Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Emin misiniz? -- qBittorrent @@ -1462,12 +1656,12 @@ Changelog: Duraklatıldı - + Preview process already running Önizleme işlemi zaten çalışıyor - + There is already another preview process running. Please close the other one first. Zaten başka bir önizleme işlemi çalışıyor. @@ -1512,7 +1706,7 @@ Lütfen önce diğerini kapatın. Seçilenleri download listesinden ve sabit diskinizden silmek istediğinize emin misiniz? - + Download finished Download bitti @@ -1534,17 +1728,17 @@ Lütfen önce diğerini kapatın. qBittorrent %1 - + Connection status: Bağlantı durumu: - + Offline Çevrimdışı - + No peers found... Kullanıcı bulunamadı... @@ -1609,13 +1803,13 @@ Lütfen önce diğerini kapatın. qBittorrent %1 başladı. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s DL hızı: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s UP hızı: %1 KiB/s @@ -1639,12 +1833,12 @@ Lütfen önce diğerini kapatın. Hız kaybetti - + Are you sure you want to quit? Çıkmak istediğinize emin misiniz? - + '%1' was removed. 'xxx.avi' was removed. '%1' silindi. @@ -1686,12 +1880,12 @@ Lütfen önce diğerini kapatın. Port dinleniyor: %1 - + All downloads were paused. Bütün downloadlar duraklatıldı. - + '%1' paused. xxx.avi paused. '%1' duraklatıldı. @@ -1703,52 +1897,52 @@ Lütfen önce diğerini kapatın. Bağlanılıyor... - + All downloads were resumed. Bütün downloadlar devam ettirildi. - + '%1' resumed. e.g: xxx.avi resumed. '%1' devam ettirildi. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. %1 downloadu tamamlandı. - + I/O Error i.e: Input/Output Error I/O Hatası - + 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 %1 okunmaya veya yazılmaya çalışılırken bir hata oluştu. Disk muhtemelen dolu, download duraklatıldı - + Connection Status: Bağlantı Durumu: - + Online Çevrimiçi - + Firewalled? i.e: Behind a firewall/router? Firewall açık mı? - + No incoming connections... Gelen bağlantı yok... @@ -1780,139 +1974,176 @@ Lütfen önce diğerini kapatın. Download ediliyor '%1', lütfen bekleyin... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Bir hata oluştu (dolu disk?), '%1' duraklatıldı. - + Search Arama - + RSS - + Downloads Downloadlar - + The download list is not empty. Are you sure you want to quit qBittorrent? - + Are you sure you want to delete the selected item(s) in finished list? - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 - + DHT support [ON], port: %1 - + DHT support [OFF] - + PeX support [ON] - + PeX support [OFF] - + UPnP support [ON] - + Encryption support [ON] - + Encryption support [FORCED] - + Encryption support [OFF] - + Alt+1 shortcut to switch to first tab - + Alt+2 shortcut to switch to second tab - + Alt+4 shortcut to switch to fourth tab - + Url download error - + Couldn't download file at url: %1, reason: %2. - + Are you sure you want to delete the selected item(s) from download list and from hard drive? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. - + Alt+3 shortcut to switch to third tab - + Ctrl+F shortcut to switch to search tab + + + UPnP support [OFF] + + + + + NAT-PMP support [ON] + + + + + NAT-PMP support [OFF] + + + + + Local Peer Discovery [ON] + + + + + Local Peer Discovery support [OFF] + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + + MainWindow @@ -2230,24 +2461,24 @@ Are you sure you want to quit qBittorrent? Evet - + Ignored - + Normal Normal (priority) - + High High (priority) - + Maximum Maximum (priority) @@ -2269,17 +2500,17 @@ Are you sure you want to quit qBittorrent? Arama - + Delete Sil - + Rename - + Refresh @@ -2289,118 +2520,133 @@ Are you sure you want to quit qBittorrent? Oluştur - + Delete selected streams - + Refresh RSS streams - + Add a new RSS stream - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> - + Add RSS stream - + Refresh all streams - + RSS streams: - + 2 2 + + + Mark all as read + + RSSImp - + Please type a rss stream url - + Stream URL: - + Please choose a new name for this stream - + New stream name: - + Are you sure? -- qBittorrent Emin misiniz? -- qBittorrent - + &Yes &Evet - + &No &Hayır - + Are you sure you want to delete this stream from the list? - + Description: - + url: - + Last refresh: - + qBittorrent qBittorrent - + This rss feed is already in the list. + + + Date: + + + + + Author: + + RssItem - + No description available @@ -2408,13 +2654,13 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago - + Never @@ -2422,68 +2668,68 @@ Are you sure you want to quit qBittorrent? SearchEngine - + Name i.e: file name İsim - + Size i.e: file size Boyut - + Seeders i.e: Number of full sources Seeders - + Leechers i.e: Number of partial sources Leechers - + Search engine Arama motoru - + Empty search pattern Boş arama sorgusu - + Please type a search pattern first Lütfen önce bir arama sorgusu girin No search engine selected - Arama motoru seçildi + Arama motoru seçildi You must select at least one search engine. - En az bir arama motoru seçmelisiniz. + En az bir arama motoru seçmelisiniz. - + Results Sonuçlar - + Searching... Aranıyor... Search plugin update -- qBittorrent - Arama plugini güncellemesi -- qBittorrent + Arama plugini güncellemesi -- qBittorrent @@ -2491,7 +2737,7 @@ Are you sure you want to quit qBittorrent? Changelog: - Arama plugini güncellenebilir, güncellemek ister misiniz? + Arama plugini güncellenebilir, güncellemek ister misiniz? Changelog: @@ -2499,73 +2745,68 @@ Changelog: &Yes - &Evet + &Evet &No - &Hayır + &Hayır Search plugin update - Eklenti güncellemesi ara + Eklenti güncellemesi ara qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - Üzgünüz, güncelleme sunucusu geçici olarak servis dışı. + Üzgünüz, güncelleme sunucusu geçici olarak servis dışı. Your search plugin is already up to date. - Arama plugini zaten güncel durumda. + Arama plugini zaten güncel durumda. - + Search Engine Arama Motoru - + Search has finished Arama bitti - + An error occured during search... Arama yapılırken bir hata oluştu... - + Search aborted Arama iptal edildi - + Search returned no results Arama sonuç bulamadı - + Results i.e: Search results Sonuçlar - - Search plugin download error - - - - - Couldn't download search plugin update at url: %1, reason: %2. - + + Unknown + Bilinmeyen @@ -2677,17 +2918,17 @@ Changelog: Torrent ekleme penceresi - + Save path: Kayıt yolu: - + ... ... - + Torrent content: Torrent içeriği: @@ -2707,22 +2948,22 @@ Changelog: Seçildi - + Download in correct order (slower but good for previewing) Doğru düzende download (yavaş ama önizleme için ideal) - + Add to download list in paused state Download listesine duraklatılmış halde ekle - + Add Ekle - + Cancel İptal @@ -2742,22 +2983,22 @@ Changelog: Seç - + Ignored - + Normal - + High - + Maximum @@ -2823,10 +3064,10 @@ Changelog: Destination torrent file: - Kaynak torrent dosyası: + Kaynak torrent dosyası: - + Input file or directory: Girdi dosyası veya klasör: @@ -2838,15 +3079,15 @@ Changelog: ... - ... + ... Create - Oluştur + Oluştur - + Cancel İptal @@ -2886,45 +3127,110 @@ Changelog: <center>Yorum:</center> - + Torrent file creation - - Input files or directories: - - - - + Announce urls (trackers): - + Comment (optional): - - Private (won't be distributed on trackerless network / DHT if enabled) + + Web seeds urls (optional): - - Web seeds urls (optional): + + File or folder to add to the torrent: + + + + + Add a file + + + + + Add a folder + + + + + Piece size: + + + + + 32 KiB + + + + + 64 KiB + + + + + 128 KiB + + + + + 256 KiB + + + + + 512 KiB + + + + + 1 MiB + + + + + 2 MiB + + + + + 4 MiB + + + + + Private (won't be distributed on DHT network if enabled) + + + + + Start seeding after creation + + + + + Create and save... createtorrent - + Select destination torrent file Kaynak Torrent dosyasını seç - + Torrent Files Torrent Dosyaları @@ -2934,22 +3240,22 @@ Changelog: Girdi klasörü veya dosyası seç - + No destination path set - Kaynak yolu seçilmemiş + Kaynak yolu seçilmemiş - + Please type a destination path first - Lütfen önce bir kaynak yolu seçin + Lütfen önce bir kaynak yolu seçin - + No input path set Girdi yolu seçilmedi - + Please type an input path first LLütfen önce bir kayıt yolu seçin @@ -2964,12 +3270,12 @@ Changelog: Lütfen önce düzgün bir girdi yolu seçin - + Torrent creation Torrent oluşturumu - + Torrent was created successfully: Torrent başarıyla oluşturuldu: @@ -2979,41 +3285,51 @@ Changelog: Lütfen önce geçerli bir kayıt yolu seçin - + Select a folder to add to the torrent - - Select files to add to the torrent - - - - + Please type an announce URL - + Torrent creation was unsuccessful, reason: %1 - + Announce URL: Tracker URL - + Please type a web seed url - + Web seed URL: + + + Select a file to add to the torrent + + + + + No tracker path set + + + + + Please set at least one tracker + + downloadFromURL @@ -3136,34 +3452,218 @@ Changelog: Torrent Özellikleri + + engineSelect + + + Search plugins + + + + + Installed search engines: + + + + + Name + İsim + + + + Url + + + + + Enabled + + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + Install a new one + + + + + Check for updates + + + + + Close + + + + + Enable + + + + + Disable + Etkisizleştir + + + + Uninstall + + + + + engineSelectDlg + + + True + Evet + + + + False + Hayır + + + + Uninstall warning + + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + Uninstall success + + + + + Select search plugins + + + + + qBittorrent search plugins + + + + + Search plugin install + + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + Search plugin update + Eklenti güncellemesi ara + + + + Sorry, update server is temporarily unavailable. + Üzgünüz, güncelleme sunucusu geçici olarak servis dışı. + + + + All your plugins are already up to date. + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + + + + + All selected plugins were uninstalled successfully + + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + + + + + Search engine plugin archive could not be read. + + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + + + + + New search engine plugin URL + + + + + URL: + + + misc - + B bytes B - + KiB kibibytes (1024 bytes) KiB - + MiB mebibytes (1024 kibibytes) MiB - + GiB gibibytes (1024 mibibytes) GiB - + TiB tebibytes (1024 gibibytes) TiB @@ -3187,7 +3687,7 @@ Changelog: g - + Unknown Bilinmeyen @@ -3204,31 +3704,31 @@ Changelog: g - + Unknown Unknown (size) Bilinmeyen - + < 1m < 1 minute < 1d - + %1m e.g: 10minutes %1d - + %1h%2m e.g: 3hours 5minutes %1sa%2d - + %1d%2h%3m e.g: 2days 10hours 2minutes %1gü%2sa%3d @@ -3287,12 +3787,12 @@ Changelog: bozulmuş. - + Range Start IP IP Başlangıç Aralığı - + Start IP: Başlangıç IP: @@ -3307,22 +3807,22 @@ Changelog: Bu IP Adresi yanlıştır. - + Range End IP IP Bitiş Aralığı - + End IP: Bitiş IP: - + IP Range Comment IP Aralığı Yorumu - + Comment: Yorum: @@ -3330,55 +3830,78 @@ Changelog: to <min port> to <max port> - dan + dan - + Choose your favourite preview program Favori önizleme programınızı seçin - + Invalid IP Geçersiz IP - + This IP is invalid. Bu IP geçersizdir. - + Options were saved successfully. Ayarlar başarıyla kaydedildi. - + Choose scan directory Taranacak klasörü seç - + Choose an ipfilter.dat file Bir ipfilter.dat dosyası seç - + Choose a save directory Bir kayıt klasörü seçin - + I/O Error Input/Output Error I/O Hatası - + Couldn't open %1 in read mode. %1 okuma modunda açılamadı. + + pluginSourceDlg + + + Plugin source + + + + + Search plugin source: + + + + + Local file + + + + + Web link + + + preview @@ -3488,7 +4011,7 @@ Changelog: Torrent İçeriği - + OK TAMAM @@ -3538,7 +4061,7 @@ Changelog: Ayrılıyor - + Unknown Bilinmeyen @@ -3553,12 +4076,12 @@ Changelog: Kısmi: - + Files contained in current torrent: Şimdiki torrentteki dosya içeriği: - + Size Boyut @@ -3593,32 +4116,32 @@ Changelog: Evet - + Tracker Tracker - + Trackers: Trackerlar: - + None - Unreachable? Yok - Erişilemez? - + Errors: Hata(lar): - + Progress İlerleme - + Main infos Genel bilgiler @@ -3628,27 +4151,27 @@ Changelog: Kullanıcı sayısı: - + Current tracker: Şimdiki tracker: - + Total uploaded: Toplam upload: - + Total downloaded: Toplam download: - + Total failed: Toplam başarısız: - + Torrent content Torrent içeriği @@ -3658,7 +4181,7 @@ Changelog: Ayarlar - + Download in correct order (slower but good for previewing) Doğru düzende download (yavaş ama önizleme için ideal) @@ -3678,204 +4201,219 @@ Changelog: Leechers: - + Save path: Kayıt yolu: - + Torrent infos - + Creator: - + Torrent hash: - + Comment: Yorum: - + Current session - + Share ratio: Paylaşım oranı: - + Trackers - + New tracker - + New tracker url: - + Priorities: - + Normal: normal priority. Download order is dependent on availability - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - + File name Dosya adı - + Priority - + qBittorrent qBittorrent - + Trackers list can't be empty. - + Ignored: file is not downloaded at all - + Ignored - + Normal - + Maximum - + High - + Url seeds - + New url seed: - + This url seed is already in the list. - + None i.e: No error message Yok - + New url seed New HTTP source - + The following url seeds are available for this torrent: + + + Priorities error + + + + + Error, you can't filter all the files in a torrent. + + search_engine - + Search Arama Search Engines - Arama Motorları + Arama Motorları - + Search Pattern: Arama Sorgusu: - + Stop Dur - + Status: Durum: - + Stopped Durdu - + Results: Sonuçlar: - + Download Download - + Clear Temizle Update search plugin - Arama pluginini güncelle + Arama pluginini güncelle + + + + Search engines... + @@ -3934,57 +4472,57 @@ Changelog: subDownloadThread - + Host is unreachable - + File was not found (404) - + Connection was denied - + Url is invalid - + Connection forbidden (403) - + Connection was not authorized (401) - + Content has moved (301) - + Connection failure - + Connection was timed out - + Incorrect network interface - + Unknown error @@ -3997,17 +4535,17 @@ Changelog: Evet - + Unable to decode torrent file: Torrent dosyası çözülemiyor: - + This file is either corrupted or this isn't a torrent. Bu dosya bozuk ya da torrent dosyası değil. - + Choose save path Kayıt klasörünü seçin @@ -4017,52 +4555,52 @@ Changelog: Hayır - + Empty save path Boş kayıt klasörü - + Please enter a save path Lütfen bir kayıt klasörü seçin - + Save path creation error Kayıt klasörü oluşturulmasında hata - + Could not create the save path Kayıt klasörü oluşturulamıyor - + Invalid file selection Geçersiz dosya seçimi - + You must select at least one file in the torrent Torrent te en az bir dosya seçmek zorundasınız - + File name Dosya adı - + Size Boyut - + Progress İlerleme - + Priority diff --git a/src/lang/qbittorrent_uk.qm b/src/lang/qbittorrent_uk.qm index ded6d2d0cf34b62586ed8d619891afa27eca4bc9..f97dd7de1f9d15590058294949cdf54b421fb64d 100644 GIT binary patch delta 15670 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 delta 10025 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 diff --git a/src/lang/qbittorrent_uk.ts b/src/lang/qbittorrent_uk.ts index e64e630e8..05b63b10a 100644 --- a/src/lang/qbittorrent_uk.ts +++ b/src/lang/qbittorrent_uk.ts @@ -1,5 +1,5 @@ - + @default @@ -90,7 +90,7 @@ Франція - + Thanks To Подяки @@ -196,42 +196,42 @@ Copyright © 2006 by Christophe Dumez<br> Опції -- qBittorrent - + Options - Опції + Опції - + Main - Головні + Головні - + Save Path: - Шлях збереження: + Шлях збереження: - + Download Limit: - Ліміт прийому: + Ліміт прийому: - + Upload Limit: - Ліміт віддачі: + Ліміт віддачі: - + Max Connects: - Макс. з'єднань: + Макс. з'єднань: - + Port range: Діапазон портів: - + ... ... @@ -241,22 +241,22 @@ Copyright © 2006 by Christophe Dumez<br> Кб/с - + Disable - Заборонити + Заборонити - + connections - з'єднання + з'єднання - + Proxy - Проксі + Проксі - + Proxy Settings Налаштування проксі @@ -266,44 +266,44 @@ Copyright © 2006 by Christophe Dumez<br> IP сервера: - + 0.0.0.0 0.0.0.0 - + Port: Порт: - + Proxy server requires authentication - Проксі-сервер вимагає аутентифікації + Проксі-сервер вимагає аутентифікації - + Authentication Аутентифікація - + User Name: - Ім'я користувача: + Ім'я користувача: - + Password: Пароль: - + Enable connection through a proxy server - Дозволити з'єднання через проксі-сервер + Дозволити з'єднання через проксі-сервер - + Language - Мова + Мова @@ -326,14 +326,14 @@ Copyright © 2006 by Christophe Dumez<br> Налаштування мови вступлять у дію після перезапуску. - + Scanned Dir: - Просканована директорія: + Просканована директорія: - + Enable directory scan (auto add torrent files inside) - Дозволити сканування директорії (автоматично додавати torrent-файли, що знаходяться всередині) + Дозволити сканування директорії (автоматично додавати torrent-файли, що знаходяться всередині) @@ -341,9 +341,9 @@ Copyright © 2006 by Christophe Dumez<br> Налаштування з'єднання - + Share ratio: - Коефіцієнт розподілу: + Коефіцієнт розподілу: @@ -356,32 +356,32 @@ Copyright © 2006 by Christophe Dumez<br> КБ UP макс. - + Activate IP Filtering Активувати фільтрацію по IP - + Filter Settings Налаштування фільтру - + Start IP Початковий IP - + End IP Кінцевий IP - + Origin Джерело - + Comment Коментарій @@ -391,24 +391,24 @@ Copyright © 2006 by Christophe Dumez<br> Примінити - + IP Filter - IP-фільтр + IP-фільтр - + Add Range Додати діапазон - + Remove Range Видалити діапазон - + ipfilter.dat Path: - Шлях до ipfilter.dat: + Шлях до ipfilter.dat: @@ -421,29 +421,29 @@ Copyright © 2006 by Christophe Dumez<br> Питати підтвердження при виході - + Go to systray when minimizing window - Мінімізувати в системний трей + Мінімізувати в системний трей - + Misc Різне - + Localization - Локалізація + Локалізація - + Language: Мова: - + Behaviour - Поведінка + Поведінка @@ -466,19 +466,19 @@ Copyright © 2006 by Christophe Dumez<br> Ніколи не показувати OSD - + KiB/s КіБ/с - + 1 KiB DL = - 1 КіБ DL = + 1 КіБ DL = - + KiB UP max. - КіБ UP макс. + КіБ UP макс. @@ -496,44 +496,44 @@ Copyright © 2006 by Christophe Dumez<br> Автоматично очищати закінчені завантаження - + Preview program Програма перегляду - + Audio/Video player: - Аудіо/Відео плеєр: + Аудіо/Відео плеєр: - + DHT configuration - Конфігурація DHT + Конфігурація DHT - + DHT port: - Порт DHT: + Порт DHT: - + <b>Note:</b> Changes will be applied after qBittorrent is restarted. <b>Увага:</b>Зміни вступлять у дію після перезапуску qBittorrent. - + <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - <b>До перекладачів:</b> Якщо qBittorrent не доступний на вашій мові, <br/>і ви хочете перекласти його, <br/>будь-ласка зв'яжіться зі мною (chris@qbittorrent.org). + <b>До перекладачів:</b> Якщо qBittorrent не доступний на вашій мові, <br/>і ви хочете перекласти його, <br/>будь-ласка зв'яжіться зі мною (chris@qbittorrent.org). - + Display a torrent addition dialog everytime I add a torrent - Показувати діалог при додаванні торренту + Показувати діалог при додаванні торренту - + Default save path - Шлях збереження за замовчанням + Шлях збереження за замовчанням @@ -541,185 +541,464 @@ Copyright © 2006 by Christophe Dumez<br> Повідомлення в системному треї - + Always display systray messages - Завжди показувати повіомлення в системному треї + Завжди показувати повіомлення в системному треї - + Display systray messages only when window is hidden - Показувати повідомлення в системному треї лише коли вікно приховане + Показувати повідомлення в системному треї лише коли вікно приховане - + Never display systray messages - Ніколи не показувати повідомлення в системному треї + Ніколи не показувати повідомлення в системному треї - + Disable DHT (Trackerless) - Відключити DHT (Безтрекерний режим) + Відключити DHT (Безтрекерний режим) - + Disable Peer eXchange (PeX) - Відключити Peer eXchange (PeX) + Відключити Peer eXchange (PeX) - + Go to systray when closing main window - Згортати до системного трею при закритті головного вікна + Згортати до системного трею при закритті головного вікна - + Connection З'єднання - + Peer eXchange (PeX) - Peer eXchange (PeX) + Peer eXchange (PeX) - + DHT (trackerless) - DHT (безтрекерний) + DHT (безтрекерний) - + Torrent addition - Додавання торренту + Додавання торренту - + Main window - Головне вікно + Головне вікно - + Systray messages - Повідомлення системного трею + Повідомлення системного трею - + Directory scan - Сканування директорії + Сканування директорії - + Style (Look 'n Feel) - Стиль (зовнішній вигляд) + Стиль (зовнішній вигляд) - + Plastique style (KDE like) Стиль Plastique (KDE-подібний) - + Cleanlooks style (GNOME like) - Стиль Cleanlooks (GNOME-подібний) + Стиль Cleanlooks (GNOME-подібний) - + Motif style (default Qt style on Unix systems) - Стиль Motif (Стиль Qt по замовчанню на системах Unix) + Стиль Motif (Стиль Qt по замовчанню на системах Unix) - + CDE style (Common Desktop Environment like) Стиль CDE (Common Desktop Environment-подібний) - + MacOS style (MacOSX only) - Стиль MacOS (лише MacOSX) + Стиль MacOS (лише MacOSX) - + Exit confirmation when the download list is not empty - Підтвердження виходу якщо список завантажень не порожній + Підтвердження виходу якщо список завантажень не порожній - + Disable systray integration - Відключити інтеграцію до системного трею + Відключити інтеграцію до системного трею - + WindowsXP style (Windows XP only) - Стиль WindowsXP (лише Windows XP) + Стиль WindowsXP (лише Windows XP) - + Server IP or url: - IP сервера або url: + IP сервера або url: - + Proxy type: - Тип проксі: + Тип проксі: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections З'єднання, на які це вплине - + Use proxy for connections to trackers Використовувати проксі при з'єднанні з трекерами - + Use proxy for connections to regular peers Використовувати проксі при з'єднанні із звичайними пірами - + Use proxy for connections to web seeds Використовувати проксі при з'єднанні з web-роздачами - + Use proxy for DHT messages Використовувати проксі для DHT повідомлень - + Encryption - Шифрування + Шифрування - + Encryption state: - Стан шифрування: + Стан шифрування: - + Enabled Увімкнено - + Forced Примусовий - + Disabled Вимкнено + + + Preferences + Налаштування + + + + General + Загальні + + + + User interface settings + Налаштування інтерфейсу + + + + Visual style: + Візуальний стиль: + + + + Cleanlooks style (Gnome like) + Стиль Cleanlooks (Gnome-подібний) + + + + Motif style (Unix like) + Стиль Motif (Unix-подібний) + + + + Ask for confirmation on exit when download list is not empty + Питати підтвердження при виході, коли список завантажень не порожній + + + + Display current speed in title bar + Показувати поточну швидкість в заголовку вікна + + + + System tray icon + Іконка в системному треї + + + + Disable system tray icon + Відключити іконку в системному треї + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + Закривати до трею + + + + Minimize to tray + Мінімізувати до трею + + + + Show notification balloons in tray + Показувати сповіщення в треї + + + + Media player: + Медіа плеєр: + + + + Downloads + Завантаження + + + + Put downloads in this folder: + Класти завантаження в цю папку: + + + + Pre-allocate all files + Попередньо виділяти місце для всіх файлів + + + + When adding a torrent + Під час додавання торренту + + + + Display torrent content and some options + Показувати вміст торренту та деякі опції + + + + Do not start download automatically + The torrent will be added to download list in pause state + Не починати завантаження автоматично + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + Спостерігати за папкою + + + + Automatically download torrents present in this folder: + Автоматично завантажувати торренти, присутні у цій папці: + + + + Listening port + Прослуховування порту + + + + to + i.e: 1200 to 1300 + до + + + + Enable UPnP port mapping + Увімкнути відображення портів UPnP + + + + Enable NAT-PMP port mapping + Увімкнути відображення портів NAT-PMP + + + + Global bandwidth limiting + Глобальний ліміт пропускної здатності + + + + Upload: + Віддача: + + + + Download: + Прийом: + + + + Type: + Тип: + + + + (None) + (Ніякого) + + + + Proxy: + Проксі: + + + + Username: + Ім'я користувача: + + + + Bittorrent + Bittorrent + + + + Connections limit + Ліміт кількості з'єднань + + + + Global maximum number of connections: + Глобальне максимальне число з'єднань: + + + + Maximum number of connections per torrent: + Максимальне число з'єднань для одного торрента: + + + + Maximum number of upload slots per torrent: + Максимальне число слотів віддачі для одного торрента: + + + + Additional Bittorrent features + Додаткові можливості Bittorrent'а + + + + Enable DHT network (decentralized) + Увімкнути мережу DHT (децентралізовану) + + + + Enable Peer eXchange (PeX) + Увімкнути Peer eXchange (PeX) + + + + Enable Local Peer Discovery + Увімкнути локальний пошук пірів + + + + Encryption: + Шифрування: + + + + Share ratio settings + Налаштування коефіціентів розподілення + + + + Desired ratio: + Бажаний коефіціент: + + + + Filter file path: + Фільтр шляхів до файлу: + + + + transfer lists refresh interval: + інтервал оновлення списків передачі: + + + + ms + мс + + + + RSS + RSS + + + + RSS feeds refresh interval: + Інтервал оновлення RSS-фідів: + + + + minutes + хвилин + + + + Maximum number of articles per feed: + Максимальне число записів у одному фіді: + + + + File system + Файлова система + + + + Remove finished torrents when their ratio reaches: + Видаляти закінчені торренти, коли їхній коефіціент розподілу досягає: + + + + System default + + DownloadingTorrents @@ -727,115 +1006,115 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - Ім'я + Ім'я Size i.e: file size - Розмір + Розмір Progress i.e: % downloaded - Прогрес + Прогрес DL Speed i.e: Download speed - + Швидкість зкачкування UP Speed i.e: Upload speed - + Швидкість закачування Seeds/Leechs i.e: full/partial sources - Сідерів/Лічерів + Сідерів/Лічерів Ratio - + Коефіціент ETA i.e: Estimated Time of Arrival / Time left - ETA + ETA qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1 запущено. + qBittorrent %1 запущено. Be careful, sharing copyrighted material without permission is against the law. - Будьте обережні, ділення захищеним матеріалом без дозволу є протизаконним. + Будьте обережні, розповсюдження захищеного матеріалу без дозволу є протизаконним. <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>було заблоковано</i> + <font color='red'>%1</font> <i>було заблоковано</i> - + Fast resume data was rejected for torrent %1, checking again... - Було відмовлено у швидкому відновленні данних для torrent'у %1, перевіряю знову... + Було відмовлено у швидкому відновленні данних для torrent'у %1, перевіряю знову... - + Url seed lookup failed for url: %1, message: %2 - Пошук url роздачі невдалий для url: %1, повідомлення: %2 + Пошук url роздачі невдалий для url: %1, повідомлення: %2 - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. - '%1' додано до списку завантажень. + '%1' додано до списку завантажень. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1' відновлено. (швидке відновлення) + '%1' відновлено. (швидке відновлення) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. - '%1' вже є у списку завантажень. + '%1' вже є у списку завантажень. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' - Неможливо декодувати торрент-файл: '%1' + Неможливо декодувати торрент-файл: '%1' - + This file is either corrupted or this isn't a torrent. - Цей файл пошкоджено, або він не є torrent-файлом. + Цей файл пошкоджено, або він не є торрент-файлом. - + Couldn't listen on any of the given ports. - Не можу слухати по жодному з вказаних портів. + Не можу слухати по жодному з вказаних портів. - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... - Завантажую '%1', будь-ласка зачекайте... + Завантажуєсться '%1', будь-ласка зачекайте... @@ -849,7 +1128,7 @@ Copyright © 2006 by Christophe Dumez<br> FinishedTorrents - + Finished Закінчено @@ -915,7 +1194,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files Відкрити Torrent-файли @@ -925,7 +1204,7 @@ Copyright © 2006 by Christophe Dumez<br> Невідомо - + This file is either corrupted or this isn't a torrent. Цей файл пошкоджено, або він не є torrent-файлом. @@ -935,17 +1214,17 @@ Copyright © 2006 by Christophe Dumez<br> Ви впевнені що хочете видалити всі файли зі списку завантажень? - + &Yes &Так - + &No &Ні - + Are you sure you want to delete the selected item(s) in download list? Ви впевнені що хочете видалити вибрані файли зі списку завантажень? @@ -960,7 +1239,7 @@ Copyright © 2006 by Christophe Dumez<br> почато - + Finished Закінчено @@ -1015,7 +1294,7 @@ Copyright © 2006 by Christophe Dumez<br> Неможливо створити директорію: - + Torrent Files Torrent файли @@ -1087,12 +1366,12 @@ Copyright © 2006 by Christophe Dumez<br> qBittorrent - + qBittorrent qBittorrent - + Are you sure? -- qBittorrent Ви впевнені? -- qBittorrent @@ -1128,7 +1407,7 @@ Copyright © 2006 by Christophe Dumez<br> завантажено. - + Couldn't listen on any of the given ports. Не можу слухати по жодному з вказаних портів. @@ -1370,12 +1649,12 @@ Changelog: Призупинено - + Preview process already running Процес перегляду вже запущений - + There is already another preview process running. Please close the other one first. Вже запущений інший процес перегляду. @@ -1420,7 +1699,7 @@ Please close the other one first. Ви впевнені, що хочете видалити вибрані завантаження зі списку та з вінчестера? - + Download finished Завантаження завершено @@ -1442,58 +1721,58 @@ Please close the other one first. qBittorrent %1 - + Connection status: Статус з'єднання: - + Offline Офлайн - + No peers found... Не знайдено пірів... - + Name i.e: file name Ім'я - + Size i.e: file size Розмір - + Progress i.e: % downloaded Прогрес - + DL Speed i.e: Download speed Швидкість прийому - + UP Speed i.e: Upload speed Швидкість віддачі - + Seeds/Leechs i.e: full/partial sources Сідерів/Лічерів - + ETA i.e: Estimated Time of Arrival / Time left ETA @@ -1511,19 +1790,19 @@ Please close the other one first. Лічери - + qBittorrent %1 started. e.g: qBittorrent v0.x started. qBittorrent %1 запущено. - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s Швидкість прийому: %1 КіБ/с - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s Швидкість віддачі: %1 КіБ/с @@ -1547,36 +1826,36 @@ Please close the other one first. Заглохло - + Are you sure you want to quit? Ви впевнені, що хочете вийти? - + '%1' was removed. 'xxx.avi' was removed. '%1' було видалено. - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1' додано до списку завантажень. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) '%1' відновлено. (швидке відновлення) - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1' вже є у списку завантажень. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' Неможливо декодувати торрент-файл: '%1' @@ -1594,12 +1873,12 @@ Please close the other one first. Прослуховую порт: %1 - + All downloads were paused. Всі завантаження були призупинені. - + '%1' paused. xxx.avi paused. '%1' призупинено. @@ -1611,30 +1890,30 @@ Please close the other one first. З'єднуюсь... - + All downloads were resumed. Всі завантаження було відновлено. - + '%1' resumed. e.g: xxx.avi resumed. '%1' відновлено. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. Завантаження '%1' закінчилось. - + I/O Error i.e: Input/Output Error Помилка вводу/виводу - + 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 Сталася помилка під час запису чи зчитування %1. Можливо диск заповнено, завантаження було призупинено @@ -1646,23 +1925,23 @@ Please close the other one first. Сталася помилка (заповнено диск?), '%1' призупинено. - + Connection Status: Статус з'єднання: - + Online Онлайн - + Firewalled? i.e: Behind a firewall/router? Захищено фаєрволом? - + No incoming connections... Немає вхідних з'єднань... @@ -1688,177 +1967,214 @@ Please close the other one first. Результати - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... Завантажую '%1', будь-ласка зачекайте... - + An error occured (full disk?), '%1' paused. e.g: An error occured (full disk?), 'xxx.avi' paused. Сталася помилка (заповнено диск?), '%1' призупинено. - + Search Пошук - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent прив'язаний до порту: %1 - + DHT support [ON], port: %1 Підтримка DHT (Увімкнена), порт: %1 - + DHT support [OFF] Підтримка DHT (Вимкнена) - + PeX support [ON] Підтримка PeX (Увімкнена) - + PeX support [OFF] Підтримка PeX (Вимкнена) - + The download list is not empty. Are you sure you want to quit qBittorrent? Список завантажень не порожній. Ви впевнені, що хочете вийти з qBittorrent? - + Downloads Завантаження - + Are you sure you want to delete the selected item(s) in finished list? Ви впевнені що хочете видалити вибрані пункти зі списку завершених завантажень? - + UPnP support [ON] Підтримка UNnP (Увімкнена) - + Be careful, sharing copyrighted material without permission is against the law. Будьте обережні, ділення захищеним матеріалом без дозволу є протизаконним. - + Encryption support [ON] Підтримка шифрування (Увімкнена) - + Encryption support [FORCED] Підтримка шифрування (Примусова) - + Encryption support [OFF] Підтримка шифрування (Вимкнена) - + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked <font color='red'>%1</font> <i>було заблоковано</i> - + Ratio КоеКоефіціент - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 - + Alt+3, Ctrl+F shortcut to switch to third tab (search) Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error Помилка завантаження url - + Couldn't download file at url: %1, reason: %2. Неможливо завантажити файл з url: %1, причина: %2. - + Fast resume data was rejected for torrent %1, checking again... Було відмовлено у швидкому відновленні данних для torrent'у %1, перевіряю знову... - + Are you sure you want to delete the selected item(s) from download list and from hard drive? Ви впевнені що хочете видалити вибрані пункти зі списку завантажень та зі жорсткого диску? - + Are you sure you want to delete the selected item(s) from finished list and from hard drive? Ви впевнені що хочете видалити вибрані пункти зі списку завершених завантажень та зі жорсткого диску? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1' було назавжди видалено. - + Url seed lookup failed for url: %1, message: %2 Пошук url роздачі невдалий для url: %1, повідомлення: %2 - + Alt+3 shortcut to switch to third tab - Alt+3 + Alt+3 - + Ctrl+F shortcut to switch to search tab - + + + + + UPnP support [OFF] + Підтримка UPnP [Вимкнено] + + + + NAT-PMP support [ON] + Підтримка NAT-PMP [Увімкнено] + + + + NAT-PMP support [OFF] + Підтримка NAT-PMP [Вимкнено] + + + + Local Peer Discovery [ON] + Пошук Локальних Пірів [Увімкнено] + + + + Local Peer Discovery support [OFF] + Пошук Локальних Пірів [Вимкнено] + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + '%1' було видалено, тому що його коефіціент досяг максимального значення встановленого вами. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (Прийом: %2КіБ/с, Віддача: %3КіБ/с) @@ -1869,7 +2185,7 @@ Are you sure you want to quit qBittorrent? Лог: - + Total DL Speed: Загальна DL швидкість: @@ -1879,7 +2195,7 @@ Are you sure you want to quit qBittorrent? Кб/с - + Total UP Speed: Загальна UP швидкість: @@ -1919,7 +2235,7 @@ Are you sure you want to quit qBittorrent? ETA - + &Options &Опції @@ -2004,7 +2320,7 @@ Are you sure you want to quit qBittorrent? Статус з'єднання - + Downloads Завантаження @@ -2074,7 +2390,7 @@ Are you sure you want to quit qBittorrent? Очистити - + KiB/s КіБ/с @@ -2094,7 +2410,7 @@ Are you sure you want to quit qBittorrent? Оновити пошуковий плагін - + Session ratio: Коефіціент сесії: @@ -2139,12 +2455,12 @@ Are you sure you want to quit qBittorrent? Встановити ліміт прийому - + Log Лог - + IP filter Фільтер IP @@ -2177,24 +2493,24 @@ Are you sure you want to quit qBittorrent? Так - + Ignored Ігнорувати - + Normal Normal (priority) Нормальний - + High High (priority) Високий - + Maximum Maximum (priority) Максимальний @@ -2216,17 +2532,17 @@ Are you sure you want to quit qBittorrent? Пошук - + Delete Видалити - + Rename Переіменувати - + Refresh Обновити @@ -2236,123 +2552,138 @@ Are you sure you want to quit qBittorrent? Створити - + Delete selected streams Видалити вибрані потоки - + Refresh RSS streams Обновити потоки RSS - + Add a new RSS stream Додати новий потік RSS - + <b>News:</b> <i>(double-click to open the link in your web browser)</i> <b>Новини:</b> <i>(подвійний клік відкриє посилання у вашому броузері)</i> - + Add RSS stream Додать потік RSS - + Refresh all streams Обновити всі потоки - + RSS streams: Потоки RSS: - + 2 2 + + + Mark all as read + Позначити всі як прочитані + RSSImp - + Please type a rss stream url Будь-ласка, введіть url потоку rss - + Stream URL: URL потоку: - + Please choose a new name for this stream Будь-ласка, виберіть нове ім'я для цього потоку - + New stream name: Нове ім'я потоку: - + Are you sure? -- qBittorrent Ви впевнені? -- qBittorrent - + Are you sure you want to delete this stream from the list ? Ви впевнені що хочете видалити цей потік зі списку? - + &Yes &Так - + &No &Ні - + Are you sure you want to delete this stream from the list? Ви впевнені що хочете видалити цей потік зі списку? - + Description: Опис: - + url: url: - + Last refresh: Останнє обновлення: - + qBittorrent qBittorrent - + This rss feed is already in the list. - + Цей rss-стрічка вже є в списку. + + + + Date: + Дата: + + + + Author: + Автор: RssItem - + No description available Опис відсутній @@ -2360,164 +2691,169 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1 тому - + Never - + Ніколи SearchEngine - + Name i.e: file name Ім'я - + Size i.e: file size Розмір - + Seeders i.e: Number of full sources Сідери - + Leechers i.e: Number of partial sources Лічери - + Search engine Пошуковик - + Empty search pattern Пустий шаблон пошуку - + Please type a search pattern first Будь-ласка, спочатку введіть шаблон пошуку - + No search engine selected - Не вибрано пошуковик + Не вибрано пошуковик - + You must select at least one search engine. - Ви повинні вибрати хоча б один пошуковик. + Ви повинні вибрати хоча б один пошуковик. - + Results Результати - + Searching... Шукаю... - + Search plugin update -- qBittorrent - Оновлення пошукового плагіну -- qBittorrent + Оновлення пошукового плагіну -- qBittorrent - + Search plugin can be updated, do you want to update it? Changelog: - Пошуковий плагін може бути оновлений, ви хочете його оновити? + Пошуковий плагін може бути оновлений, ви хочете його оновити? Список змін: - + &Yes - &Так + &Так - + &No - &Ні + &Ні - + Search plugin update - Оновити пошуковий плагін + Оновити пошуковий плагін - + qBittorrent - qBittorrent + qBittorrent - + Sorry, update server is temporarily unavailable. - Пробачте, сервер оновлень тимчасово недоступний. + Пробачте, сервер оновлень тимчасово недоступний. - + Your search plugin is already up to date. - Ви вже маєте останню версію пошукового плагіну. + Ви вже маєте останню версію пошукового плагіну. - + Search Engine Пошуковик - + Search has finished Пошук закінчено - + An error occured during search... Під час пошуку сталася помилка... - + Search aborted Пошук скасовано - + Search returned no results Пошук не дав результів - + Results i.e: Search results Результати - + Search plugin download error - Помилка при завантаженні пошукового плагіну + Помилка при завантаженні пошукового плагіну - + Couldn't download search plugin update at url: %1, reason: %2. - Неможливо завантажити пошуковий плагін з url: %1, причина: %2. + Неможливо завантажити пошуковий плагін з url: %1, причина: %2. + + + + Unknown + Невідомо @@ -2619,17 +2955,17 @@ Changelog: Діалог додавання торренту - + Save path: Шлях збереження: - + ... ... - + Torrent content: Вміст торренту: @@ -2649,22 +2985,22 @@ Changelog: Вибрано - + Download in correct order (slower but good for previewing) Завантажувати в правильному порядку (повільніше, але краще для перегляду) - + Add to download list in paused state Додати до списку завантажень у призупиненому стані - + Add Додати - + Cancel Відміна @@ -2684,22 +3020,22 @@ Changelog: Вибрати - + Ignored Проігноровано - + Normal Нормально - + High Високий - + Maximum Максимальний @@ -2763,9 +3099,9 @@ Changelog: Створити torrent-файл - + Destination torrent file: - Цільовий torrent-файл: + Цільовий torrent-файл: @@ -2778,17 +3114,17 @@ Changelog: Коментарій: - + ... - ... + ... - + Create - Створити + Створити - + Cancel Відміна @@ -2828,45 +3164,120 @@ Changelog: <center>Комментарій:</center> - + Torrent file creation Створення torrent-файлу - + Input files or directories: - Вхідні файли чи директорії: + Вхідні файли чи директорії: - + Announce urls (trackers): urls анонсу (трекери): - + Comment (optional): Коментарій (необов'язково): - + Private (won't be distributed on trackerless network / DHT if enabled) - Приватно (якщо увімкнено, не буде передаватись через безтрекерну мережу / DHT) + Приватно (якщо увімкнено, не буде передаватись через безтрекерну мережу / DHT) - + Web seeds urls (optional): Urls web-роздачі (необов'язково): + + + File or folder to add to the torrent: + Файл або папка для додавання в торрент: + + + + Add a file + Додати файл + + + + Add a folder + Додати папку + + + + Piece size: + Розмір частини: + + + + 32 KiB + 32 КіБ + + + + 64 KiB + 64 КіБ + + + + 128 KiB + 128 КіБ + + + + 256 KiB + 256 КіБ + + + + 512 KiB + 512 КіБ + + + + 1 MiB + 1 МіБ + + + + 2 MiB + 2 МіБ + + + + 4 MiB + 4 МіБ + + + + Private (won't be distributed on DHT network if enabled) + Приватно (не буде передаватись через мережу DHT, якщо увімкнено) + + + + Start seeding after creation + Почати роздачу одразу після створення + + + + Create and save... + Створити і зберегти... + createtorrent - + Select destination torrent file Виберіть цільовий torrent-файл - + Torrent Files Torrent файли @@ -2876,22 +3287,22 @@ Changelog: Виберіть вхідну директорію чи файл - + No destination path set - Не задано шлях призначення + Не задано шлях призначення - + Please type a destination path first - Будь-ласка, спочатку введіть шлях призначення + Будь-ласка, спочатку введіть шлях призначення - + No input path set Не задано вхідний шлях - + Please type an input path first Будь-ласка, спочатку введіть вхідний шлях @@ -2906,12 +3317,12 @@ Changelog: Будь-ласка, спочатку введіть правильний вхідний шлях - + Torrent creation Створення торренту - + Torrent was created successfully: Торрент було успішно створено: @@ -2921,41 +3332,56 @@ Changelog: Будь-ласка, спочатку введіть правильний вхідний шлях - + Select a folder to add to the torrent Виберіть папку для додавання в torrent - + Select files to add to the torrent - Виберіть файли для додавання в torrent + Виберіть файли для додавання в torrent - + Please type an announce URL Будб-ласка, введіть URL анонсу - + Torrent creation was unsuccessful, reason: %1 Створення torrent'у було невдалим, причина: %1 - + Announce URL: Tracker URL URL анонсу: - + Please type a web seed url Будб-ласка, введіть url web-роздачі - + Web seed URL: URL web-роздачі: + + + Select a file to add to the torrent + Виберіть файл для додавання в торрент + + + + No tracker path set + Не встановлено шлях трекера + + + + Please set at least one tracker + Будь-ласка, встановіть хоча б один трекер + downloadFromURL @@ -3000,112 +3426,310 @@ Changelog: Search - Пошук + ПошукПошук Total DL Speed: - Загальна DL швидкість: + Загальна швидкість зкачування: KiB/s - КіБ/с + КіБ/с Session ratio: - Коефіціент сесії: + Коефіціент сесії: Total UP Speed: - Загальна UP швидкість: + Загальна швидкість закачування: Log - Лог + Лог IP filter - Фільтер IP + Фільтр IP Start - Почати + Почати Pause - Призупинити + Призупинити Delete - Видалити + Видалити Clear - Очистити + Очистити Preview file - + Файл попереднього перегляду Set upload limit - Встановити ліміт віддачі + Встановити ліміт закачування Set download limit - Встановити ліміт прийому + Встановити ліміт зкачування Delete Permanently - + Видалити назавжди Torrent Properties - + Властивості торенту + + + + engineSelect + + + Search plugins + Пошукові плагіни + + + + Installed search engines: + Встановлені пошуковики: + + + + Name + Ім'я + + + + Url + Url + + + + Enabled + Увімкнено + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + Ви можете отримати нові пошукові плагіни тут: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + Встановити новий + + + + Check for updates + Перевірити оновлення + + + + Close + Закрити + + + + Enable + Дозволити + + + + Disable + Заборонити + + + + Uninstall + Видалити + + + + engineSelectDlg + + + True + Так + + + + False + Ні + + + + Uninstall warning + Попередження про видалення + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + Деякі плагіни не можуть бути видалені, тому що вони є частиною qBittorrent. +Можна видалити лише ті плагіни, які ви встановили власноруч. +Тим не менше, ті плагіни вимкнено. + + + + Uninstall success + Видалення успішне + + + + Select search plugins + Вибрати пошукові плагіни + + + + qBittorrent search plugins + Пошукові плагіни qBittorrent + + + + Search plugin install + Встановити пошуковий плагін + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + Більш нова версія пошукового плагіну %1 вже є встановлена. + + + + Search plugin update + Оновити пошуковий плагін + + + + Sorry, update server is temporarily unavailable. + Пробачте, сервер оновлень тимчасово недоступний. + + + + Sorry, %1 search plugin update failed. + %1 is the name of the search engine + Вибачте, не вдалося оновити пошуковий плагін %1. + + + + All your plugins are already up to date. + Всі ваші плагіни мають останню версію. + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine + Пошуковий плагін не може бути оновлено, залишено стару версію. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + Неможливо встановити пошуковий плагін %1. + + + + All selected plugins were uninstalled successfully + Всі вибрані пошукові плагіни було успішно видалено + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + Пошуковий плагін %1 було успішно оновлено. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + Пошуковий плагін %1 було успішно встановлено. + + + + %1 search plugin was successfully updated. + %1 is the name of the search engine + Пошуковий плагін %1 було успішно оновлено. + + + + Search engine plugin archive could not be read. + Архів пошукового плагіну не може бути прочитаний. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + Вибачте, встановлення пошукового плагіну %1 невдале. + + + + New search engine plugin URL + Новий URL пошукового плагіну + + + + URL: + URL: misc - + B bytes Б - + KiB kibibytes (1024 bytes) КіБ - + MiB mebibytes (1024 kibibytes) МіБ - + GiB gibibytes (1024 mibibytes) ГіБ - + TiB tebibytes (1024 gibibytes) ТіБ @@ -3129,7 +3753,7 @@ Changelog: д - + Unknown Невідомо @@ -3146,31 +3770,31 @@ Changelog: д - + Unknown Unknown (size) Невідомо - + < 1m < 1 minute < 1хв - + %1m e.g: 10minutes %1хв - + %1h%2m e.g: 3hours 5minutes %1г%2хв - + %1d%2h%3m e.g: 2days 10hours 2minutes %1д%2г%3хв @@ -3229,12 +3853,12 @@ Changelog: сформована неправильно. - + Range Start IP Початокова IP-адреса діапазону - + Start IP: Початкова IP-адреса: @@ -3249,78 +3873,101 @@ Changelog: Цей IP невірний. - + Range End IP Кінцева IP-адреса - + End IP: Кінцева IP-адреса діапазону: - + IP Range Comment Коментарій для діапазону IP-адрес - + Comment: Коментарій: - + to <min port> to <max port> - до + до - + Choose your favourite preview program Виберіть вашу улюблену програму перегляду - + Invalid IP Неправильний IP - + This IP is invalid. Цей IP неправильний. - + Options were saved successfully. Опції були успішно збережені. - + Choose scan directory Виберіть ддиректорію для сканування - + Choose an ipfilter.dat file Виберіть файл ipfilter.dat - + Choose a save directory Виберіть директорію для збереження - + I/O Error Input/Output Error Помилка вводу/виводу - + Couldn't open %1 in read mode. Не вдалося відкрити %1 у режимі читання. + + pluginSourceDlg + + + Plugin source + Джерело плагіну + + + + Search plugin source: + Джерело пошукового плагіну: + + + + Local file + Локальний файл + + + + Web link + Веб-посилання + + preview @@ -3430,7 +4077,7 @@ Changelog: Вміст Torrent'у - + OK OK @@ -3480,7 +4127,7 @@ Changelog: Виділяю - + Unknown Невідомо @@ -3495,12 +4142,12 @@ Changelog: Частково: - + Files contained in current torrent: Файли в поточному torrent'і: - + Size Розмір @@ -3535,32 +4182,32 @@ Changelog: Так - + Tracker Трекер - + Trackers: Трекери: - + None - Unreachable? Немає - Недосяжний? - + Errors: Помилки: - + Progress Прогрес - + Main infos Головна інформація @@ -3570,27 +4217,27 @@ Changelog: Кількість пірів: - + Current tracker: Поточний трекер: - + Total uploaded: Загалом закачано: - + Total downloaded: Загалом зкачано: - + Total failed: Загалом невдало: - + Torrent content Вміст Torrent'у @@ -3600,7 +4247,7 @@ Changelog: Опції - + Download in correct order (slower but good for previewing) Завантажувати в правильному порядку (повільніше, але краще для перегляду) @@ -3620,209 +4267,224 @@ Changelog: Лічери: - + Save path: Шлях збереження: - + Torrent infos Інформація torrent'у - + Creator: Автор: - + Torrent hash: Хеш torrent'у: - + Comment: Коментарій: - + Current session Поточна сесія - + Share ratio: Коефіцієнт розподілу: - + Trackers Трекери - + New tracker Новий трекер - + New tracker url: Url нового трекера: - + Priorities: Пріорітети: - + Normal: normal priority. Download order is dependent on availability Нормальний: нормальний пріорітет. Порядок завантажень залежить від доступності - + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability Високий: вище, ніж нормальний пріорітет. Ці частини переважають над частинами з такою ж доступністю, але не над менш доступними частинами - + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority Максимальний: максимальний пріоритет, доступність нехтується, ця частина переважає над будь-якою іншою з нижчим пріоритетом - + File name Ім'я файлу - + Priority Пріоритет - + qBittorrent qBittorrent - + Trackers list can't be empty. Список трекерів не може бути порожнім. - + Ignored: file is not downloaded at all Ігнорувати: файл взагалі не завантажується - + Ignored Ігнорувати - + Normal Нормальний - + Maximum Максимальний - + High Високий - + Url seeds Url роздачі - + New url seed: Новий url роздачі: - + This url seed is already in the list. Цей url роздачі вже існує в списку. - + Hard-coded url seeds cannot be deleted. Жорстко запрограмовані url роздачі не можуть бути видалені. - + None i.e: No error message Немає - + New url seed New HTTP source Новий url роздачі - + The following url seeds are available for this torrent: Наступні url роздачі доступні для цього torrent'а: + + + Priorities error + Помилка пріоритетів + + + + Error, you can't filter all the files in a torrent. + Помилка, ви не можете відфільтрувати всі файли в торренті. + search_engine - + Search Пошук - + Search Engines - Пошуковики + Пошуковики - + Search Pattern: Шаблон пошуку: - + Stop Зупинити - + Status: Статус: - + Stopped Зупинено - + Results: Результати: - + Download Завантажити - + Clear Очистити - + Update search plugin - Оновити пошуковий плагін + Оновити пошуковий плагін + + + + Search engines... + Пошуковики... @@ -3881,57 +4543,57 @@ Changelog: subDownloadThread - + Host is unreachable Хост недоступний - + File was not found (404) Файл не знайдено (404) - + Connection was denied Відмовлено у з'єднанні - + Url is invalid Неправильний URL - + Connection forbidden (403) З'єднання заборонено (403) - + Connection was not authorized (401) З'єднання не авторизовано (401) - + Content has moved (301) Контент переміщено (301) - + Connection failure Відмовлено у з'єднанні - + Connection was timed out Вичерпано час на з'єднання - + Incorrect network interface Неправильний мережевий інтерфейс - + Unknown error Невідома помилка @@ -3944,17 +4606,17 @@ Changelog: Так - + Unable to decode torrent file: Неможливо декодувати torrent-файл: - + This file is either corrupted or this isn't a torrent. Цей файл пошкоджено, або він не є torrent-файлом. - + Choose save path Виберіть шлях збереження @@ -3964,52 +4626,52 @@ Changelog: Ні - + Empty save path Пустий шлях збереження - + Please enter a save path Будь-ласка, введіть шлях збереження - + Save path creation error Помилка при створенні шляху збереження - + Could not create the save path Неможливо створити шлях збереження - + Invalid file selection Невірно вибрано файл - + You must select at least one file in the torrent Ви маєте вибрати хоча б один файл в торренті - + File name Ім'я файлу - + Size Розмір - + Progress Прогрес - + Priority Пріоритет diff --git a/src/lang/qbittorrent_zh.qm b/src/lang/qbittorrent_zh.qm index cf4f88047e13f65083ab8ee20a09b17044a399f6..d7f2f3cc71d3503e0d153fafeccbfaa81e0c1db5 100644 GIT binary patch delta 12224 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
        JaB5FCpt;`tYU5Ei7FhLhfcg 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 - A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> + A bittorrent client using Qt4 and libtorrent, programmed in +C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> -<br> <u>Home Page:</u> <i>http://qbittorrent.sourceforge.net</i><br> +<br> <u>Home Page:</u> +<i>http://qbittorrent.sourceforge.net</i><br> bittorrent的用户使用由C++语言编写的Qt4和libtorrent. Copyright © 2006 by Christophe Dumez @@ -90,14 +92,17 @@ Copyright © 2006 by Christophe Dumez - A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> + A bittorrent client using Qt4 and libtorrent, programmed in +C++.<br> <br> Copyright © 2006 by Christophe Dumez<br> -<br> <u>Home Page:</u> <i>http://www.qbittorrent.org</i><br> - bittorrent的用户使用由C++语言编写的Qt4和libtorrent.<br> +<br> <u>Home Page:</u> +<i>http://www.qbittorrent.org</i><br> + bittorrent的用户使用由C++语言编写的Qt4和libtorrent.<br> <br> Copyright © 2006 by Christophe Dumez<br> -<br> <u>主页:</u> <i>http://qbittorrent.sourceforge.net</i><br> +<br> <u>主页:</u> +<i>http://qbittorrent.sourceforge.net</i><br> @@ -134,6 +139,14 @@ Copyright © 2006 by Christophe Dumez<br> Thanks to 感谢 + + + A bittorrent client using Qt4 and libtorrent, programmed in C++.<br> +<br> +Copyright © 2006 by Christophe Dumez<br> +<br> <u>Home Page:</u> <i>http://www.qbittorrent.org</i><br> + + BandwidthAllocationDialog @@ -177,52 +190,52 @@ Copyright © 2006 by Christophe Dumez<br> Options - 选项 + 选项 Main - 常规 + 常规 Save Path: - 保存到: + 保存到: Download Limit: - 下载限制: + 下载限制: Upload Limit: - 上传限制: + 上传限制: Max Connects: - 最大连接数: + 最大连接数: - + Port range: 端口列: - + ... ... Disable - 禁用 + 禁用 connections - 连接 + 连接 @@ -232,10 +245,10 @@ Copyright © 2006 by Christophe Dumez<br> Proxy - 代理服务器 + 代理服务器 - + Proxy Settings 代理服务器设置 @@ -245,43 +258,44 @@ Copyright © 2006 by Christophe Dumez<br> 服务器IP: - + Port: 端口: Proxy server requires authentication - 此代理服务器需要身份验证 + 此代理服务器需要身份验证 - + Authentication 验证 User Name: - 用户名: + 用户名: - + Password: 密码: Enable connection through a proxy server - 可使用代理服务器连接 + 可使用代理服务器连接 Language - 语言 + 语言 - Please choose your preferred language in the following list: + Please choose your preferred language in the following +list: 请选择所需语言: @@ -302,12 +316,13 @@ Copyright © 2006 by Christophe Dumez<br> Scanned Dir: - 监视目录: + 监视目录: - Enable directory scan (auto add torrent files inside) - 可使用目录监视功能(自动添加torrent文件) + Enable directory scan (auto add torrent files +inside) + 可使用目录监视功能(自动添加torrent文件) @@ -317,7 +332,7 @@ Copyright © 2006 by Christophe Dumez<br> Share ratio: - 分享率: + 分享率: @@ -330,12 +345,12 @@ Copyright © 2006 by Christophe Dumez<br> KB 上传最大值. - + Activate IP Filtering 激活IP过滤器 - + Filter Settings 过滤器设置 @@ -345,22 +360,22 @@ Copyright © 2006 by Christophe Dumez<br> ipfilter.dat路径或网址: - + Start IP 起始IP - + End IP 截止IP - + Origin 来源 - + Comment 注释 @@ -370,24 +385,24 @@ Copyright © 2006 by Christophe Dumez<br> 应用 - + IP Filter - IP过滤器 + IP过滤器 - + Add Range 添加IP列 - + Remove Range 删除IP列 ipfilter.dat Path: - ipfilter.dat路径: + ipfilter.dat路径: @@ -402,27 +417,27 @@ Copyright © 2006 by Christophe Dumez<br> Go to systray when minimizing window - 最小化到系统状态栏 + 最小化到系统状态栏 - + Misc 其他 Localization - 地区 + 地区 - + Language: 语言: Behaviour - 属性 + 属性 @@ -436,7 +451,8 @@ Copyright © 2006 by Christophe Dumez<br> - Display OSD only if window is minimized or iconified + Display OSD only if window is minimized or +iconified 仅当窗口为最小化或为图标时显示OSD @@ -445,19 +461,19 @@ Copyright © 2006 by Christophe Dumez<br> 从不显示OSD - + KiB/s KiB/s 1 KiB DL = - 1 KiB 下载 = + 1 KiB 下载 = KiB UP max. - KiB上传最大值. + KiB上传最大值. @@ -475,49 +491,55 @@ Copyright © 2006 by Christophe Dumez<br> 下载结束后自动从列表中清除 - + Preview program 预览 Audio/Video player: - 音频/视频播放器: + 音频/视频播放器: DHT configuration - DHT设置 + DHT设置 DHT port: - DHT端口: + DHT端口: - - <b>Note:</b> Changes will be applied after qBittorrent is restarted. - 注意:变动会在重新运行qBittorrent之后生效. + + <b>Note:</b> Changes will be applied after +qBittorrent is restarted. + 注意:变动会在重新运行qBittorrent之后生效. - <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). - 注意: 如果qBittorrent不提供你所需要的语言支持,如果你有意向翻译qBittorrent,请与我联系(chris@qbittorrent.org). + <b>Translators note:</b> If qBittorrent is not +available in your language, <br/>and if you would like to translate it +in your mother tongue, <br/>please contact me +(chris@qbittorrent.org). + 注意: +如果qBittorrent不提供你所需要的语言支持,如果你有意向翻译qBittorrent,请与我联系(chris@qbittorrent.org). - + 0.0.0.0 0.0.0.0 - Display a torrent addition dialog everytime I add a torrent - 每当添加torrent文件时显示添加对话窗 + Display a torrent addition dialog everytime I add a +torrent + 每当添加torrent文件时显示添加对话窗 Default save path - 默认保存路径 + 默认保存路径 @@ -527,183 +549,507 @@ Copyright © 2006 by Christophe Dumez<br> Always display systray messages - 总显示状态栏消息 + 总显示状态栏消息 Display systray messages only when window is hidden - 窗口隐藏时才显示状态栏消息 + 窗口隐藏时才显示状态栏消息 Never display systray messages - 从不显示状态栏消息 + 从不显示状态栏消息 Disable DHT (Trackerless) - 禁用DHT(分布式Tracker) + 禁用DHT(分布式Tracker) Disable Peer eXchange (PeX) - 禁用资源(PeX) + 禁用资源(PeX) Go to systray when closing main window - 关闭主窗口时到系统状态栏 + 关闭主窗口时到系统状态栏 - + Connection 连接 Peer eXchange (PeX) - 交换资源 + 交换资源 DHT (trackerless) - DHT (分布式Tracker) + DHT (分布式Tracker) Torrent addition - 添加Torrent + 添加Torrent Main window - 主窗口 + 主窗口 Systray messages - 系统状态栏消息 + 系统状态栏消息 Directory scan - 监视目录 + 监视目录 Style (Look 'n Feel) - 外观(Look 'n Feel) + 外观(Look 'n +Feel) - + Plastique style (KDE like) Plastique 外观 (如KDE) Cleanlooks style (GNOME like) - Cleanlooks 外观 (如GNOME) + Cleanlooks 外观 (如GNOME) + Motif style (default Qt style on Unix systems) - Motif 外观 (默认 Uinx 系统下 Qt 外观) + Motif 外观 (默认 Uinx 系统下 +Qt 外观) - + CDE style (Common Desktop Environment like) - CDE 外观(如Common Desktop Environment) + CDE 外观(如Common Desktop +Environment) MacOS style (MacOSX only) - MacOS 外观 (仅MacOSX) + MacOS 外观 +(仅MacOSX) - Exit confirmation when the download list is not empty - 下载列表不为空时确认退出 + Exit confirmation when the download list is not +empty + 下载列表不为空时确认退出 Disable systray integration - 禁用状态栏通知区域 + 禁用状态栏通知区域 WindowsXP style (Windows XP only) - WindowsXP 外观(仅Windows XP) + WindowsXP 外观(仅Windows +XP) Server IP or url: - 服务器 IP 或网址: + 服务器 IP 或网址: Proxy type: - 代理服务器类型: + 代理服务器类型: - + HTTP HTTP - + SOCKS5 SOCKS5 - + Affected connections 使用代理服务器的连接 - + Use proxy for connections to trackers 使用代理服务器连接到trackers - + Use proxy for connections to regular peers 使用代理服务器连接到其他下载客户 - + Use proxy for connections to web seeds 使用代理服务器连接到HTTP种子 - + Use proxy for DHT messages 使用DHT消息的代理服务器 Encryption - 加密 + 加密 Encryption state: - 加密状态: + 加密状态: - + Enabled 启用 - + Forced 强制 - + Disabled 禁用 + + + Preferences + 首选项 + + + + General + 普通 + + + + User interface settings + 用户界面设置 + + + + Visual style: + 视觉外观: + + + + Cleanlooks style (Gnome like) + Cleanlooks 外观 (如Gnome) + + + + Motif style (Unix like) + Motif 外观 (如Uinx) + + + + Ask for confirmation on exit when download list is not +empty + 下载列表不为空时退出需确认 + + + + Display current speed in title bar + 标题栏中显示当前速度 + + + + System tray icon + 状态栏图标 + + + + Disable system tray icon + 禁用状态栏图标 + + + + Close to tray + i.e: The systray tray icon will still be visible when +closing the main window. + 关闭到状态栏 + + + + Minimize to tray + 最小化到状态栏 + + + + Show notification balloons in tray + 在状态栏显示通知消息 + + + + Media player: + 媒体播放器: + + + + Downloads + 下载 + + + + Put downloads in this folder: + 下载到此文件夹: + + + + Pre-allocate all files + 预分配所有文件 + + + + When adding a torrent + 添加torrent时 + + + + Display torrent content and some options + 显示torrent内容及选项 + + + + Do not start download automatically + The torrent will be added to download list in pause +state + 不要开始自动下载 + + + + Folder watching + qBittorrent will watch a directory and automatically +download torrents present in it + 监视文件夹 + + + + Automatically download torrents present in this +folder: + 自动下载此文件夹中的torrent: + + + + Listening port + 使用端口 + + + + to + i.e: 1200 to 1300 + + + + + Enable UPnP port mapping + 启用UPnP端口映射 + + + + Enable NAT-PMP port mapping + 启用NAT-PMP端口映射 + + + + Global bandwidth limiting + 总宽带限制 + + + + Upload: + 上传: + + + + Download: + 下载: + + + + Type: + 类型: + + + + (None) + (无) + + + + Proxy: + 代理服务器: + + + + Username: + 用户名: + + + + Bittorrent + Bittorrent + + + + Connections limit + 连接限度 + + + + Global maximum number of connections: + 总最大连接数: + + + + Maximum number of connections per torrent: + 每torrent最大连接数: + + + + Maximum number of upload slots per torrent: + 每torrent上传位置最大值: + + + + Additional Bittorrent features + 附加Bittorrent特征 + + + + Enable DHT network (decentralized) + 启用DHT网络(分散) + + + + Enable Peer eXchange (PeX) + 启用资源(PeX) + + + + Enable Local Peer Discovery + 启用本地资源搜索 + + + + Encryption: + 加密: + + + + Share ratio settings + 共享率设置 + + + + Desired ratio: + 期望比率: + + + + Filter file path: + 过滤文件路径: + + + + transfer lists refresh interval: + 传输列表刷新间隔: + + + + ms + ms + + + + RSS + RSS + + + + RSS feeds refresh interval: + RSS消息种子刷新间隔: + + + + minutes + 分钟 + + + + Maximum number of articles per feed: + 每个订阅源文章数目最大值: + + + + File system + 文件系统 + + + + Remove finished torrents when their ratio reaches: + 当比率达到时移除完成的torrent: + + + + <b>Note:</b> Changes will be applied after qBittorrent is restarted. + + + + + Ask for confirmation on exit when download list is not empty + + + + + Close to tray + i.e: The systray tray icon will still be visible when closing the main window. + 关闭到状态栏 + + + + Do not start download automatically + The torrent will be added to download list in pause state + 不要开始自动下载 + + + + Folder watching + qBittorrent will watch a directory and automatically download torrents present in it + 监视文件夹 + + + + Automatically download torrents present in this folder: + + + + + System default + + DownloadingTorrents @@ -711,112 +1057,174 @@ Copyright © 2006 by Christophe Dumez<br> Name i.e: file name - 名称 + 名称 Size i.e: file size - 大小 + 大小 Progress i.e: % downloaded - 进度 + 进度 DL Speed i.e: Download speed - 下载速度 + 下载速度 UP Speed i.e: Upload speed - 上传速度 + 上传速度 Seeds/Leechs i.e: full/partial sources - 完整种子/不完整种子 + 完整种子/不完整种子 Ratio - 比率 + 比率 ETA i.e: Estimated Time of Arrival / Time left - 剩余时间 + 估计剩余时间 qBittorrent %1 started. e.g: qBittorrent v0.x started. - qBittorrent %1开始. + qBittorrent %1开始. + + + + Be careful, sharing copyrighted material without permission +is against the law. + 注意,在未经允许情况下共享有版权的材料是违法的. + + + + <font color='red'>%1</font> +<i>was blocked</i> + x.y.z.w was blocked + <font color='red'>%1</font> +<i>被阻止</i> + + + + Fast resume data was rejected for torrent %1, checking +again... + 快速继续数据torrent %1失败, +再次检查... + + + + Url seed lookup failed for url: %1, message: %2 + 找不到网址种子:%1, 消息:%2 + + + + '%1' added to download list. + '/home/y/xxx.torrent' was added to download +list. + '%1'添加到下载列表. + + + + '%1' resumed. (fast resume) + '/home/y/xxx.torrent' was resumed. (fast +resume) + '%1'重新开始. (快速) + + + + '%1' is already in download list. + e.g: 'xxx.avi' is already in download +list. + '%1'已存在于下载列表中. + + + + Unable to decode torrent file: '%1' + e.g: Unable to decode torrent file: +'/home/y/xxx.torrent' + 无法解码torrent文件:'%1' + + + + This file is either corrupted or this isn't a +torrent. + 该文件不是torrent文件或已经损坏. + + + + Couldn't listen on any of the given ports. + 所给端口无响应. + + + + Downloading '%1', please wait... + e.g: Downloading 'xxx.torrent', please +wait... + '%1'下载中,请等待... Be careful, sharing copyrighted material without permission is against the law. - 注意,在未经允许情况下共享有版权的材料是违法的. + <font color='red'>%1</font> <i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>被阻止</i> + - + Fast resume data was rejected for torrent %1, checking again... - 快速继续数据torrent %1失败, 再次检查... + - - Url seed lookup failed for url: %1, message: %2 - 找不到网址种子:%1, 消息:%2 - - - + '%1' added to download list. '/home/y/xxx.torrent' was added to download list. '%1'添加到下载列表. - + '%1' resumed. (fast resume) '/home/y/xxx.torrent' was resumed. (fast resume) - '%1'重新开始(快速) + - + '%1' is already in download list. e.g: 'xxx.avi' is already in download list. '%1'已存在于下载列表中. - + Unable to decode torrent file: '%1' e.g: Unable to decode torrent file: '/home/y/xxx.torrent' 无法解码torrent文件:'%1' - + This file is either corrupted or this isn't a torrent. - 该文件不是torrent文件或已经损坏. + - - Couldn't listen on any of the given ports. - 所给端口无响应. - - - + Downloading '%1', please wait... e.g: Downloading 'xxx.torrent', please wait... '%1'下载中,请等待... @@ -905,7 +1313,7 @@ Copyright © 2006 by Christophe Dumez<br> GUI - + Open Torrent Files 打开Torrent文件 @@ -916,28 +1324,31 @@ Copyright © 2006 by Christophe Dumez<br> - This file is either corrupted or this isn't a torrent. + This file is either corrupted or this isn't a +torrent. 该文件不是torrent文件或已经损坏. - Are you sure you want to delete all files in download list? + Are you sure you want to delete all files in download +list? 确定删除下载列表中的所有文件? - + &Yes &是 - + &No &否 - - Are you sure you want to delete the selected item(s) in download list? - 确定删除所选中的文件? + + Are you sure you want to delete the selected item(s) in +download list? + 确定删除所选中的文件? @@ -950,7 +1361,7 @@ Copyright © 2006 by Christophe Dumez<br> 开始 - + Finished 完成 @@ -1005,7 +1416,7 @@ Copyright © 2006 by Christophe Dumez<br> 无法创建文档: - + Torrent Files Torrent文件 @@ -1054,28 +1465,34 @@ Copyright © 2006 by Christophe Dumez<br> 使用端口: - + Are you sure? -- qBittorrent 确定? -- qBittorrent <b>qBittorrent</b><br>DL Speed: - <b>qBittorrent</b><br>下载速度: + +<b>qBittorrent</b><br>下载速度: - <b>Connection Status:</b><br>Online + <b>Connection +Status:</b><br>Online <b>连接状态:</b><br>在线 - <b>Connection Status:</b><br>Firewalled?<br><i>No incoming connections...</i> + <b>Connection +Status:</b><br>Firewalled?<br><i>No incoming +connections...</i> <b>连接状态:</b><br>有防火墙?<br><i>无对内连接...</i> - <b>Connection Status:</b><br>Offline<br><i>No peers found...</i> + <b>Connection +Status:</b><br>Offline<br><i>No peers +found...</i> <b>连接状态:</b><br>离线</br><i>无法找到任何peer...</i> @@ -1166,7 +1583,8 @@ Copyright © 2006 by Christophe Dumez<br> Are you sure you want to quit? -- qBittorrent - 确实要退出吗? -- qBittorrent + 确实要退出吗? -- +qBittorrent @@ -1315,12 +1733,12 @@ Changelog: 暂停中 - + Preview process already running 预览程序已存在 - + There is already another preview process running. Please close the other one first. 另一预览程序正在运行中. @@ -1361,11 +1779,12 @@ Please close the other one first. - Are you sure you want to delete the selected item(s) in download list and in hard drive? + Are you sure you want to delete the selected item(s) in +download list and in hard drive? 确定从硬盘及下载列表中删除所选中的项目? - + Download finished 下载完毕 @@ -1392,17 +1811,17 @@ Please close the other one first. qBittorrent %1 - + Connection status: 连接状态: - + Offline 离线 - + No peers found... 找不到资源... @@ -1467,18 +1886,18 @@ Please close the other one first. qBittorrent %1开始. - + qBittorrent qBittorrent - + DL speed: %1 KiB/s e.g: Download speed: 10 KiB/s 下载速度: %1 KiB/s - + UP speed: %1 KiB/s e.g: Upload speed: 10 KiB/s 上传速度: %1 KiB/s @@ -1498,16 +1917,17 @@ Please close the other one first. Stalled - i.e: State of a torrent whose download speed is 0kb/s + i.e: State of a torrent whose download speed is +0kb/s 等待中 - + Are you sure you want to quit? 确实要退出吗? - + '%1' was removed. 'xxx.avi' was removed. '%1'已移除. @@ -1515,25 +1935,29 @@ Please close the other one first. '%1' added to download list. - '/home/y/xxx.torrent' was added to download list. + '/home/y/xxx.torrent' was added to download +list. '%1'添加到下载列表. '%1' resumed. (fast resume) - '/home/y/xxx.torrent' was resumed. (fast resume) + '/home/y/xxx.torrent' was resumed. (fast +resume) '%1'重新开始(快速) '%1' is already in download list. - e.g: 'xxx.avi' is already in download list. + e.g: 'xxx.avi' is already in download +list. '%1'已存在于下载列表中. Unable to decode torrent file: '%1' - e.g: Unable to decode torrent file: '/home/y/xxx.torrent' + e.g: Unable to decode torrent file: +'/home/y/xxx.torrent' 无法解码torrent文件:'%1' @@ -1546,15 +1970,16 @@ Please close the other one first. Listening on port: %1 e.g: Listening on port: 1666 - 使用端口:'%1' + +使用端口:'%1' - + All downloads were paused. 所有下载已暂停. - + '%1' paused. xxx.avi paused. '%1'暂停. @@ -1566,52 +1991,54 @@ Please close the other one first. 连接中... - + All downloads were resumed. 重新开始所有下载. - + '%1' resumed. e.g: xxx.avi resumed. '%1'重新开始. - + %1 has finished downloading. e.g: xxx.avi has finished downloading. '%1'下载完毕. - + I/O Error i.e: Input/Output Error 输入/输出错误 - - 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 - 读或写%1过程中出现错误.磁盘已满,下载被暂停 + + 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 + 读或写%1过程中出现错误.磁盘已满,下载被暂停 - + Connection Status: 连接状态: - + Online 联机 - + Firewalled? i.e: Behind a firewall/router? 存在防火墙? - + No incoming connections... 无对内连接... @@ -1639,98 +2066,106 @@ Please close the other one first. Downloading '%1', please wait... - e.g: Downloading 'xxx.torrent', please wait... + e.g: Downloading 'xxx.torrent', please +wait... '%1'下载中,请等待... - - An error occured (full disk?), '%1' paused. - e.g: An error occured (full disk?), 'xxx.avi' paused. - 出现错误(磁盘已满?),'%1'暂停. + + An error occured (full disk?), '%1' +paused. + e.g: An error occured (full disk?), 'xxx.avi' +paused. + 出现错误(磁盘已满?),'%1'暂停. - + Search 搜索 - + RSS RSS - + qBittorrent is bind to port: %1 e.g: qBittorrent is bind to port: 1666 qBittorrent 绑定端口:%1 - + DHT support [ON], port: %1 DHT 支持 [开], port: %1 - + DHT support [OFF] DHT 支持[关] - + PeX support [ON] PeX 支持[ON] - + PeX support [OFF] PeX 支持[关] - + The download list is not empty. Are you sure you want to quit qBittorrent? 下载列表不为空 您确定要离开qBittorrent吗? - + Downloads 下载 - - Are you sure you want to delete the selected item(s) in finished list? - 您确定要删除完成列表中选中的项目吗? + + Are you sure you want to delete the selected item(s) in +finished list? + 您确定要删除完成列表中选中的项目吗? - + UPnP support [ON] UPnP 支持[开] - Be careful, sharing copyrighted material without permission is against the law. + Be careful, sharing copyrighted material without permission +is against the law. 注意,在未经允许情况下共享有版权的材料是违法的. - + Encryption support [ON] 加密支持[开] - + Encryption support [FORCED] 加密支持[强制] - + Encryption support [OFF] 加密支持[关] - <font color='red'>%1</font> <i>was blocked</i> + <font color='red'>%1</font> +<i>was blocked</i> x.y.z.w was blocked - <font color='red'>%1</font> <i>被阻止</i> + <font +color='red'>%1</font> +<i>被阻止</i> @@ -1738,13 +2173,13 @@ Are you sure you want to quit qBittorrent? 比率 - + Alt+1 shortcut to switch to first tab Alt+1 - + Alt+2 shortcut to switch to second tab Alt+2 @@ -1756,38 +2191,42 @@ Are you sure you want to quit qBittorrent? Alt+3, Ctrl+F - + Alt+4 shortcut to switch to fourth tab Alt+4 - + Url download error 网址下载错误 - + Couldn't download file at url: %1, reason: %2. 无法在网址:%1下载文件,原因:%2. - Fast resume data was rejected for torrent %1, checking again... - 快速继续数据torrent %1失败, 再次检查... + Fast resume data was rejected for torrent %1, checking +again... + 快速继续数据torrent %1失败, +再次检查... - - Are you sure you want to delete the selected item(s) from download list and from hard drive? - 您确定要从下载列表和硬盘中删除选中的项目吗? + + Are you sure you want to delete the selected item(s) from +download list and from hard drive? + 您确定要从下载列表和硬盘中删除选中的项目吗? - - Are you sure you want to delete the selected item(s) from finished list and from hard drive? - 您确定要从完成列表和硬盘中删除选中的项目吗? + + Are you sure you want to delete the selected item(s) from +finished list and from hard drive? + 您确定要从完成列表和硬盘中删除选中的项目吗? - + '%1' was removed permanently. 'xxx.avi' was removed permanently. '%1'已永久移除. @@ -1795,18 +2234,96 @@ Are you sure you want to quit qBittorrent? Url seed lookup failed for url: %1, message: %2 - 找不到网址种子:%1, 消息:%2 - - - - Alt+3 - shortcut to switch to third tab - Alt+3 + 找不到网址种子:%1, +消息:%2 + Alt+3 + shortcut to switch to third tab + Alt+3 + + + Ctrl+F shortcut to switch to search tab + Ctrl+F + + + + UPnP support [OFF] + UPnP 支持[关] + + + + NAT-PMP support [ON] + NAT-PMP 支持[开] + + + + NAT-PMP support [OFF] + NAT-PMP 支持[关] + + + + Local Peer Discovery [ON] + 本地资源搜索[开] + + + + Local Peer Discovery support [OFF] + 本地资源搜索支持[关] + + + + '%1' was removed because its ratio reached the +maximum value you set. + %1 is a file name + '%1'被移除因为它的比率达到您设置的最大值. + + + + qBittorrent %1 (DL: %2KiB/s, UP: %3KiB/s) + %1 is qBittorrent version + qBittorrent %1 (下载: %2KiB/s, 上传: +%3KiB/s) + + + + 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 + + + + + An error occured (full disk?), '%1' paused. + e.g: An error occured (full disk?), 'xxx.avi' paused. + + + + + Are you sure you want to delete the selected item(s) from download list and from hard drive? + + + + + Are you sure you want to delete the selected item(s) from finished list and from hard drive? + + + + + '%1' was removed because its ratio reached the maximum value you set. + %1 is a file name + + + + + Are you sure you want to delete the selected item(s) in download list? + + + + + Are you sure you want to delete the selected item(s) in finished list? @@ -2035,7 +2552,8 @@ Are you sure you want to quit qBittorrent? Session ratio: - 本次会话共享评价: + +本次会话共享评价: @@ -2116,24 +2634,24 @@ Are you sure you want to quit qBittorrent? - + Ignored 忽略 - + Normal Normal (priority) 正常 - + High High (priority) - + Maximum Maximum (priority) 最大 @@ -2155,17 +2673,17 @@ Are you sure you want to quit qBittorrent? 搜索 - + Delete 删除 - + Rename 重命名 - + Refresh 重新载入 @@ -2175,123 +2693,152 @@ Are you sure you want to quit qBittorrent? 创建 - + Delete selected streams 删除选中的资源 - + Refresh RSS streams 重新载入RSS资源 - + Add a new RSS stream 加入新RSS资源 - - <b>News:</b> <i>(double-click to open the link in your web browser)</i> - <b>新闻:</b> <i>(双击以连接到网页浏览器)</i> + + <b>News:</b> <i>(double-click to open the +link in your web browser)</i> + <b>新闻:</b> +<i>(双击以连接到网页浏览器)</i> - + Add RSS stream 加入RSS资源 - + Refresh all streams 重新载入所有资源 - + RSS streams: RSS资源: - + 2 2 + + + Mark all as read + 标记所有条目为已读 + + + + <b>News:</b> <i>(double-click to open the link in your web browser)</i> + + RSSImp - + Please type a rss stream url - + Stream URL: 网址资源: - + Please choose a new name for this stream 请选择资源名 - + New stream name: 新资源名: - + Are you sure? -- qBittorrent 确定? -- qBittorrent - Are you sure you want to delete this stream from the list ? + Are you sure you want to delete this stream from the list +? 确定要从列表中删除此资源吗? - + &Yes &是 - + &No &否 - - Are you sure you want to delete this stream from the list? - 确定要从列表中删除此资源吗? + + Are you sure you want to delete this stream from the +list? + 确定要从列表中删除此资源吗? - + Description: 声明: - + url: 网址: - + Last refresh: 最近重新载入: - + qBittorrent qBittorrent - + This rss feed is already in the list. + 该RSS消息种子已在列表中. + + + + Date: + 日期: + + + + Author: + 作者: + + + + Are you sure you want to delete this stream from the list? RssItem - + No description available 无可用描述 @@ -2299,82 +2846,83 @@ Are you sure you want to quit qBittorrent? RssStream - + %1 ago 10min ago %1前 - + Never - + 从不 SearchEngine - + Name i.e: file name 名称 - + Size i.e: file size 大小 - + Seeders i.e: Number of full sources 完整种子 - + Leechers i.e: Number of partial sources 不完整种子 - + Search engine 搜索引擎 - + Empty search pattern 无搜索关键词 - + Please type a search pattern first 请先输入关键词 No search engine selected - 无选中的搜索引擎 + 无选中的搜索引擎 You must select at least one search engine. - 请选择至少一个搜索引擎. + 请选择至少一个搜索引擎. - + Results 结果 - + Searching... 搜索中... Search plugin update -- qBittorrent - 更新搜索插件-- qBittorrent + 更新搜索插件-- +qBittorrent @@ -2382,67 +2930,67 @@ Are you sure you want to quit qBittorrent? Changelog: - 搜索插件可以更新,想要更新它吗? + 搜索插件可以更新,想要更新它吗? 更改记录: &Yes - &是 + &是 &No - &否 + &否 Search plugin update - 更新搜索插件 + 更新搜索插件 qBittorrent - qBittorrent + qBittorrent Sorry, update server is temporarily unavailable. - 对不起,更新服务器暂时不可用. + 对不起,更新服务器暂时不可用. Your search plugin is already up to date. - 您的搜索插件已是最新的. + 您的搜索插件已是最新的. - + Search Engine 搜索引擎 - + Search has finished 搜索完毕 - + An error occured during search... 搜索中出现错误... - + Search aborted 搜索失败 - + Search returned no results 搜索无结果 - + Results i.e: Search results 结果 @@ -2450,45 +2998,60 @@ Changelog: Search plugin download error - 搜索插件下载错误 + 搜索插件下载错误 - Couldn't download search plugin update at url: %1, reason: %2. - 无法在网址:%1下载更新搜索插件,原因:%2. + Couldn't download search plugin update at url: %1, +reason: %2. + 无法在网址:%1下载更新搜索插件,原因:%2. + + + + Unknown + 未知 Ui - I would like to thank the following people who volonteered to translate qBittorrent: + I would like to thank the following people who volonteered +to translate qBittorrent: 感谢以下所有qBittorrent的志愿翻译者: - Please contact me if you would like to translate qBittorrent to your own language. + Please contact me if you would like to translate qBittorrent +to your own language. 如果你想为qBittorrent提供翻译请与我联系. - I would like to thank sourceforge.net for hosting qBittorrent project. + I would like to thank sourceforge.net for hosting +qBittorrent project. 感谢sourceforge.net的支持. - I would like to thank the following people who volunteered to translate qBittorrent: + I would like to thank the following people who volunteered +to translate qBittorrent: 感谢以下所有qBittorrent的志愿翻译者: - <ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li> + <ul><li>I would like to thank sourceforge.net +for hosting qBittorrent project.</li> <ul><li>感谢sourceforge.net对qBittorrent的支持.</li> - <li>I also like to thank Jeffery Fernandez (developer@jefferyfernandez.id.au), our RPM packager, for his great work.</li></ul> - <li>同时还要感谢Jeffery Fernandez (developer@jefferyfernandez.id.au), RPM packager, 感谢他的杰出工作.</li></ul> + <li>I also like to thank Jeffery Fernandez +(developer@jefferyfernandez.id.au), our RPM packager, for his great +work.</li></ul> + <li>同时还要感谢Jeffery +Fernandez (developer@jefferyfernandez.id.au), RPM packager, +感谢他的杰出工作.</li></ul> @@ -2498,7 +3061,8 @@ Changelog: Sorry, we can't preview this file - 抱歉, 此文件无法被预览 + 抱歉, +此文件无法被预览 @@ -2532,7 +3096,8 @@ Changelog: - Please contact me if you would like to translate qBittorrent into your own language. + Please contact me if you would like to translate qBittorrent +into your own language. 如果你想为qBittorrent提供翻译请与我联系. @@ -2543,15 +3108,27 @@ Changelog: qBittorrent qBittorrent + + + I would like to thank the following people who volunteered +to translate qBittorrent: + 感谢以下所有qBittorrent的志愿翻译者: + + + + Please contact me if you would like to translate qBittorrent +into your own language. + 如果你想为qBittorrent提供翻译请与我联系. + I would like to thank the following people who volunteered to translate qBittorrent: - 感谢以下所有qBittorrent的志愿翻译者: + Please contact me if you would like to translate qBittorrent into your own language. - 如果你想为qBittorrent提供翻译请与我联系. + @@ -2562,17 +3139,17 @@ Changelog: 添加Torrent对话窗 - + Save path: 保存路径: - + ... ... - + Torrent content: Torrent内容: @@ -2592,22 +3169,23 @@ Changelog: 已选中 - - Download in correct order (slower but good for previewing) - 按递增顺序下载(速度会有所减慢但利于预览) + + Download in correct order (slower but good for +previewing) + 按递增顺序下载(速度会有所减慢但利于预览) - + Add to download list in paused state 以暂停状态添加到下载列表中 - + Add 添加 - + Cancel 取消 @@ -2627,25 +3205,30 @@ Changelog: 选择 - + Ignored 忽略 - + Normal 正常 - + High - + Maximum 最大 + + + Download in correct order (slower but good for previewing) + + authentication @@ -2713,15 +3296,15 @@ Changelog: ... - ... + ... Create - 创建 + 创建 - + Cancel 取消 @@ -2737,17 +3320,20 @@ Changelog: - <center>Destination torrent file:</center> + <center>Destination torrent +file:</center> 目标Torrent文件: - <center>Input file or directory:</center> + <center>Input file or +directory:</center> 输入文件或目录 - <center>Announce url:<br>(One per line)</center> + <center>Announce url:<br>(One per +line)</center> 请指定url:(每行一个) @@ -2756,50 +3342,132 @@ Changelog: 注释: - + Torrent file creation 创建Torrent文件 Input files or directories: - 输入文件或目录: + 输入文件或目录: - + Announce urls (trackers): Announce网址(trackers): - + Comment (optional): 注释(可选): - Private (won't be distributed on trackerless network / DHT if enabled) - 私人(不共享到无服务器的网络/DHT如启用) + Private (won't be distributed on trackerless network / +DHT if enabled) + 私人(不共享到无服务器的网络/DHT如启用) Destination torrent file: - torrent文件目的地: + torrent文件目的地: - + Web seeds urls (optional): 网络种子网址(可选): + + + File or folder to add to the torrent: + 加入torrent的文件或文件夹: + + + + Add a file + 添加文件 + + + + Add a folder + 添加文件夹 + + + + Piece size: + 文件块大小: + + + + 32 KiB + 32 KiB + + + + 64 KiB + 64 KiB + + + + 128 KiB + 128 KiB + + + + 256 KiB + 256 KiB + + + + 512 KiB + 512 KiB + + + + 1 MiB + 1 MiB + + + + 2 MiB + 2 MiB + + + + 4 MiB + 4 MiB + + + + Private (won't be distributed on DHT network if +enabled) + 私人(不共享到DHT网络如启用) + + + + Start seeding after creation + 创建后开始做种 + + + + Create and save... + 创建并保存... + + + + Private (won't be distributed on DHT network if enabled) + + createtorrent - + Select destination torrent file 选择torrent文件目的地 - + Torrent Files Torrent文件 @@ -2809,22 +3477,22 @@ Changelog: 选择输入目录或文件 - + No destination path set - 未设置目标路径 + 未设置目标路径 - + Please type a destination path first - 请先给出目标路经 + 请先给出目标路经 - + No input path set 未设置输入路径 - + Please type an input path first 请先给出输入路径 @@ -2839,12 +3507,12 @@ Changelog: 请先给出一个正确的输入路径 - + Torrent creation 创建Torrent - + Torrent was created successfully: 成功创建Torrent: @@ -2854,41 +3522,56 @@ Changelog: 请先输入一个有效的路径 - + Select a folder to add to the torrent 选择加入torrent的文件夹 Select files to add to the torrent - 选择加入torrentd的文件 + 选择加入torrentd的文件 - + Please type an announce URL 请输入一个announce网址 - + Torrent creation was unsuccessful, reason: %1 - 成功创建Torrent,原因:%1 + 创建Torrent失败,原因:%1 - + Announce URL: Tracker URL Announce网址: - + Please type a web seed url 请输入一个网络种子网址 - + Web seed URL: 网络种子网址: + + + Select a file to add to the torrent + 选择加入到torrent的文件 + + + + No tracker path set + 未设置tracker路径 + + + + Please set at least one tracker + 请设置至少一个tracker + downloadFromURL @@ -2933,112 +3616,328 @@ Changelog: Search - 搜索 + 搜索 Total DL Speed: - 总下载速度: + 总下载速度: KiB/s - KiB/s + KiB/s Session ratio: - 本次会话共享评价: + 本次会话共享评价: Total UP Speed: - 总上传速度: + 总上传速度: Log - 日志 + 日志 IP filter - IP过滤器 + IP过滤器 Start - 开始 + 开始 Pause - 暂停 + 暂停 Delete - 删除 + 删除 Clear - 清除 + 清除 Preview file - 预览文件 + 预览文件 Set upload limit - 设定上传限制 + 设定上传限制 Set download limit - 设定下载限制 + 设定下载限制 Delete Permanently - 永久删除 + 永久删除 Torrent Properties + Torrent属性 + + + + engineSelect + + + Search plugins + 搜索插件 + + + + Installed search engines: + 搜索引擎已安装: + + + + Name + 名称 + + + + Url + 网址 + + + + Enabled + 启用 + + + + You can get new search engine plugins here: <a +href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + 您可以在这里获得新的搜索引擎:<ahref="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + Install a new one + 安装新一个 + + + + Check for updates + 检查更新 + + + + Close + 关闭 + + + + Enable + 启用 + + + + Disable + 禁用 + + + + Uninstall + 卸载 + + + + You can get new search engine plugins here: <a href="http:plugins.qbittorrent.org">http://plugins.qbittorrent.org</a> + + + + + engineSelectDlg + + + True + 正确 + + + + False + 错误 + + + + Uninstall warning + 卸载警告 + + + + Some plugins could not be uninstalled because they are +included in qBittorrent. +Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + 一些插件不能被卸载因为被包括在qBittorrent内. +只有自己添加的那些可以被卸载 +然而, 那些插件被禁用. + + + + Uninstall success + 卸载成功 + + + + Select search plugins + 选择搜索插件 + + + + qBittorrent search plugins + qBittorrent搜索插件 + + + + Search plugin install + 安装搜索插件 + + + + qBittorrent + qBittorrent + + + + A more recent version of %1 search engine plugin is already +installed. + %1 is the name of the search engine + 更新版本的%1搜索引擎插件已安装. + + + + Search plugin update + 更新搜索插件 + + + + Sorry, update server is temporarily unavailable. + 对不起, +更新服务器暂时不可用. + + + + All your plugins are already up to date. + 所有的插件已是最新的. + + + + %1 search engine plugin could not be updated, keeping old +version. + %1 is the name of the search engine + %1搜索引擎插件不能被更新, +保留旧版本. + + + + %1 search engine plugin could not be installed. + %1 is the name of the search engine + %1搜索引擎插件不能被安装. + + + + All selected plugins were uninstalled successfully + 所有选中的插件已成功卸载 + + + + %1 search engine plugin was successfully updated. + %1 is the name of the search engine + %1搜索引擎插件已成功更新. + + + + %1 search engine plugin was successfully installed. + %1 is the name of the search engine + %1搜索引擎插件已成功安装. + + + + Search engine plugin archive could not be read. + 搜索引擎插件压缩文件不能被读取. + + + + Sorry, %1 search plugin install failed. + %1 is the name of the search engine + 对不起, %1搜索插件安装失败. + + + + New search engine plugin URL + 新搜索引擎插件网址 + + + + URL: + 网址: + + + + Some plugins could not be uninstalled because they are included in qBittorrent. + Only the ones you added yourself can be uninstalled. +However, those plugins were disabled. + + + + + A more recent version of %1 search engine plugin is already installed. + %1 is the name of the search engine + + + + + %1 search engine plugin could not be updated, keeping old version. + %1 is the name of the search engine misc - + B bytes - + KiB kibibytes (1024 bytes) - + MiB mebibytes (1024 kibibytes) - + GiB gibibytes (1024 mibibytes) - + TiB tebibytes (1024 gibibytes) @@ -3056,7 +3955,7 @@ Changelog: 小时 - + Unknown 未知 @@ -3067,31 +3966,31 @@ Changelog: - + Unknown Unknown (size) 未知 - + < 1m < 1 minute < 1分钟 - + %1m e.g: 10minutes %1分钟 - + %1h%2m e.g: 3hours 5minutes %1小时%2分钟 - + %1d%2h%3m e.g: 2days 10hours 2minutes %1天%2小时%3分钟 @@ -3150,12 +4049,12 @@ Changelog: 有残缺. - + Range Start IP IP列起始 - + Start IP: 起始IP: @@ -3170,22 +4069,22 @@ Changelog: 此IP有误. - + Range End IP IP列截止 - + End IP: 截止IP: - + IP Range Comment IP列注释 - + Comment: 注释: @@ -3193,55 +4092,78 @@ Changelog: to <min port> to <max port> - + - + Choose your favourite preview program 选择您想要的程序以便预览文件 - + Invalid IP 无效IP - + This IP is invalid. 此IP无效. - + Options were saved successfully. 选项保存成功. - + Choose scan directory 选择监视目录 - + Choose an ipfilter.dat file 选择ipfilter.dat文件 - + Choose a save directory 保存到 - + I/O Error Input/Output Error 输入/输出错误 - + Couldn't open %1 in read mode. 无法在读状态下打开%1. + + pluginSourceDlg + + + Plugin source + 插件来源 + + + + Search plugin source: + 搜索插件来源: + + + + Local file + 本地文件 + + + + Web link + 网络连接 + + preview @@ -3256,8 +4178,10 @@ Changelog: - The following files support previewing, <br>please select one of them: - 下列文件支持预览, 请选择其一: + The following files support previewing, <br>please +select one of them: + 下列文件支持预览, +请选择其一: @@ -3269,6 +4193,11 @@ Changelog: Cancel 取消 + + + The following files support previewing, <br>please select one of them: + + previewSelect @@ -3368,7 +4297,8 @@ Changelog: (Complete: 0.0%, Partial: 0.0%) - (完成: 0.0%, Partial: 0.0%) + (完成: 0.0%, Partial: +0.0%) @@ -3376,7 +4306,7 @@ Changelog: Torrent内容 - + OK 确认 @@ -3441,7 +4371,7 @@ Changelog: Unreachable? - + Unknown 未知 @@ -3456,12 +4386,12 @@ Changelog: 不完整: - + Files contained in current torrent: 存在于当前torrent内的文件有: - + Size 大小 @@ -3482,7 +4412,8 @@ Changelog: - You can select here precisely which files you want to download in current torrent. + You can select here precisely which files you want to +download in current torrent. 请在当前torrent中选择所需要的文件. @@ -3496,32 +4427,32 @@ Changelog: 正确 - + Tracker Tracker - + Trackers: Trackers: - + None - Unreachable? 无-无法连接到服务器? - + Errors: 错误: - + Progress 进度 - + Main infos 主要信息 @@ -3531,27 +4462,27 @@ Changelog: peers数量: - + Current tracker: 当前tracker: - + Total uploaded: 上传总数: - + Total downloaded: 下载总数: - + Total failed: 错误总数: - + Torrent content Torrent内容 @@ -3561,9 +4492,10 @@ Changelog: 选项 - - Download in correct order (slower but good for previewing) - 按递增顺序下载(速度会有所减慢但利于预览) + + Download in correct order (slower but good for +previewing) + 按递增顺序下载(速度会有所减慢但利于预览) @@ -3581,132 +4513,136 @@ Changelog: 不完整种子: - + Save path: 保存路径: - + Torrent infos Torrent信息 - + Creator: 创建者: - + Torrent hash: Torrent哈西值: - + Comment: 注释: - + Current session 当前会话 - + Share ratio: - 分享率: + 共享率: - + Trackers Trackers - + New tracker 新tracker - + New tracker url: 新tracker网址: - + Priorities: 优先: - - Normal: normal priority. Download order is dependent on availability - 正常:正常优先.下载顺序取决于可用性 + + Normal: normal priority. Download order is dependent on +availability + 正常:正常优先.下载顺序取决于可用性 - - High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability - 高:高于正常优先.优先使用可用性相同的文件块,而不是可用性较低的 + + High: higher than normal priority. Pieces are preferred over +pieces with the same availability, but not over pieces with lower +availability + 高:高于正常优先.优先使用可用性相同的文件块,而不是可用性较低的 - - Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority - 最大:最大优先,忽略可用性,此文件块优先于任何优先级较低的文件块 + + Maximum: maximum priority, availability is disregarded, the +piece is preferred over any other piece with lower priority + 最大:最大优先,忽略可用性,此文件块优先于任何优先级较低的文件块 - + File name 文件名 - + Priority 优先 - + qBittorrent qBittorrent - + Trackers list can't be empty. Trackers列表不能为空. - + Ignored: file is not downloaded at all 忽略:文件没有被下载 - + Ignored 忽略 - + Normal 正常 - + Maximum 最大 - + High - + Url seeds 网址种子 - + New url seed: 新网址种子: - + This url seed is already in the list. 该网址种子已在列表中. @@ -3716,74 +4652,121 @@ Changelog: 写死的网址种子不能被删除. - + None i.e: No error message - + New url seed New HTTP source 新网址种子 - + + The following url seeds are available for this +torrent: + 以下网址种子对该torrent可用: + + + + Priorities error + 属性错误 + + + + Error, you can't filter all the files in a +torrent. + 错误,不能过滤torrent中的所有文件. + + + + Download in correct order (slower but good for previewing) + + + + The following url seeds are available for this torrent: - 以下网址种子对该torrent可用: + + + + + Normal: normal priority. Download order is dependent on availability + + + + + High: higher than normal priority. Pieces are preferred over pieces with the same availability, but not over pieces with lower availability + + + + + Maximum: maximum priority, availability is disregarded, the piece is preferred over any other piece with lower priority + + + + + Error, you can't filter all the files in a torrent. + search_engine - + Search 搜索 Search Engines - 搜索引擎 + 搜索引擎 - + Search Pattern: 搜索关键词: - + Stop 停止 - + Status: 状态: - + Stopped 停止 - + Results: 结果: - + Download 下载 - + Clear 清除 Update search plugin - 更新搜索插件 + 更新搜索插件 + + + + Search engines... + 搜索引擎... @@ -3800,8 +4783,11 @@ Changelog: - <u>Note:</u> It is important that you keep sharing your torrents after they are finished for the well being of the network. - <u>注释:</u> 完成后继续共享torrents对网络的良好运作很重要. + <u>Note:</u> It is important that you keep +sharing your torrents after they are finished for the well being of the +network. + <u>注释:</u> +完成后继续共享torrents对网络的良好运作很重要. @@ -3838,61 +4824,66 @@ Changelog: Set upload limit 设定上传限制 + + + <u>Note:</u> It is important that you keep sharing your torrents after they are finished for the well being of the network. + + subDownloadThread - + Host is unreachable 无法连接到主机 - + File was not found (404) 文件未找到(404) - + Connection was denied 连接被拒绝 - + Url is invalid 网址无效 - + Connection forbidden (403) 连接被禁止(403) - + Connection was not authorized (401) 连接未经许可 - + Content has moved (301) 内容被移动(301) - + Connection failure 连接失败 - + Connection was timed out 连接超时 - + Incorrect network interface 不正确的网络关联 - + Unknown error 未知错误 @@ -3905,17 +4896,18 @@ Changelog: - + Unable to decode torrent file: 无法解码torrent文件: - - This file is either corrupted or this isn't a torrent. - 该文件不是torrent文件或已经损坏. + + This file is either corrupted or this isn't a +torrent. + 该文件不是torrent文件或已经损坏. - + Choose save path 选择保存路径 @@ -3925,54 +4917,59 @@ Changelog: - + Empty save path 保存路径为空 - + Please enter a save path 请输入一个保存路径 - + Save path creation error 创建保存路径时出现错误 - + Could not create the save path 无法创建保存路径 - + Invalid file selection 所选文件无效 - + You must select at least one file in the torrent 至少选择一个torrent文件 - + File name 文件名 - + Size 大小 - + Progress 进度 - + Priority 优先 + + + This file is either corrupted or this isn't a torrent. + + diff --git a/src/main.cpp b/src/main.cpp index aaa80cdd8..4250ac527 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include "qgnomelook.h" #include #include #ifdef Q_WS_WIN @@ -44,33 +44,31 @@ #include "GUI.h" #include "misc.h" -void useStyle(QApplication *app, QString style){ - std::cout << "* Style: Using " << style.toStdString() << " style\n"; - if(style == QString::fromUtf8("Cleanlooks")){ - app->setStyle(new QCleanlooksStyle()); - return; - } - if(style == QString::fromUtf8("Motif")){ - app->setStyle(new QMotifStyle()); - return; - } - if(style == QString::fromUtf8("CDE")){ - app->setStyle(new QCDEStyle()); - return; - } +void useStyle(QApplication *app, int style){ + switch(style) { + case 1: + app->setStyle(new QPlastiqueStyle()); + break; + case 2: + app->setStyle(new QGnomeLookStyle()); + break; + case 3: + app->setStyle(new QMotifStyle()); + break; + case 4: + app->setStyle(new QCDEStyle()); + break; #ifdef Q_WS_MAC - if(style == QString::fromUtf8("MacOS")){ + case 5: app->setStyle(new QMacStyle()); - return; - } + break; #endif #ifdef Q_WS_WIN - if(style == QString::fromUtf8("WinXP")){ + case 6: app->setStyle(new QWindowsXPStyle()); - return; - } + break; #endif - app->setStyle(new QPlastiqueStyle()); + } } // Main @@ -123,27 +121,15 @@ int main(int argc, char *argv[]){ } QApplication app(argc, argv); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - QString style; -#ifdef Q_WS_WIN - style = settings.value(QString::fromUtf8("Options/Style"), QString::fromUtf8("WinXP")).toString(); -#endif -#ifdef Q_WS_MAC - style = settings.value(QString::fromUtf8("Options/Style"), QString::fromUtf8("MacOS")).toString(); -#endif -#ifndef Q_WS_WIN - #ifndef Q_WS_MAC - style = settings.value(QString::fromUtf8("Options/Style"), QString::fromUtf8("Plastique")).toString(); - #endif -#endif - useStyle(&app, style); + useStyle(&app, settings.value("Preferences/General/Style", 0).toInt()); QSplashScreen *splash = new QSplashScreen(QPixmap(QString::fromUtf8(":/Icons/splash.png"))); splash->show(); // Open options file to read locale - locale = settings.value(QString::fromUtf8("Options/Language/Locale"), QString()).toString(); + locale = settings.value(QString::fromUtf8("Preferences/General/Locale"), QString()).toString(); QTranslator translator; if(locale.isEmpty()){ locale = QLocale::system().name(); - settings.setValue(QString::fromUtf8("Options/Language/Locale"), locale); + settings.setValue(QString::fromUtf8("Preferences/General/Locale"), locale); } if(translator.load(QString::fromUtf8(":/lang/qbittorrent_") + locale)){ qDebug("%s locale recognized, using translation.", (const char*)locale.toUtf8()); diff --git a/src/misc.h b/src/misc.h index dac2a0fb7..efe3c8c7e 100644 --- a/src/misc.h +++ b/src/misc.h @@ -34,7 +34,6 @@ #include #include -#include "qtorrenthandle.h" using namespace libtorrent; /* Miscellaneaous functions that can be useful */ @@ -205,60 +204,6 @@ class misc : public QObject{ // return true; // } - // safe function to remove a torrent from hard-drive - static bool removeTorrentSavePath(QString savePath, QStringList filesPath) { - bool success = true; - QDir saveDir(savePath); - QString path; - // Check how many file there are - if(filesPath.size() == 1){ - // Only one file, not in a folder - path = filesPath.first(); - if(QFile::exists(path)) { - if(QFile::remove(path)){ - qDebug("Deleted only file in torrent at %s", path.toUtf8().data()); - } else { - std::cerr << "Could not delete only file in torrent at " << path.toUtf8().data() << '\n'; - success = false; - } - }else{ - // File didn't exist, nothing to do - qDebug("Only file %s did not exist, nothing to delete", path.toUtf8().data()); - } - // Try to remove parent folder if empty (and not save_dir) - QFileInfo fi(path); - QDir parentFolder = fi.absoluteDir(); - while(parentFolder != saveDir) { - qDebug("trying to remove parent folder: %s", parentFolder.absolutePath().toUtf8().data()); - if(!saveDir.rmdir(parentFolder.absolutePath())) break; - parentFolder.cdUp(); - } - return success; - } - // Torrent has several files in a subFolder - foreach(path, filesPath) { - if(QFile::exists(path)) { - if(QFile::remove(path)){ - qDebug("Deleted file in torrent at %s", path.toUtf8().data()); - } else { - std::cerr << "Could not delete file in torrent at " << path.toUtf8().data() << '\n'; - success = false; - } - } else { - qDebug("File %s did not exist, nothing to delete", path.toUtf8().data()); - } - // Try to remove parent folder if empty (and not save_dir) - QFileInfo fi(path); - QDir parentFolder = fi.absoluteDir(); - while(parentFolder != saveDir) { - qDebug("trying to remove parent folder: %s", parentFolder.absolutePath().toUtf8().data()); - if(!saveDir.rmdir(parentFolder.absolutePath())) break; - parentFolder.cdUp(); - } - } - return success; - } - static QString findFileInDir(QString dir_path, QString fileName) { QDir dir(dir_path); if(dir.exists(fileName)) { @@ -328,38 +273,53 @@ class misc : public QObject{ list.insert(i, value); } + static float getPluginVersion(QString filePath) { + QFile plugin(filePath); + if(!plugin.exists()){ + qDebug("%s plugin does not exist, returning 0.0", filePath.toUtf8().data()); + return 0.0; + } + if(!plugin.open(QIODevice::ReadOnly | QIODevice::Text)){ + return 0.0; + } + float version = 0.0; + while (!plugin.atEnd()){ + QByteArray line = plugin.readLine(); + if(line.startsWith("#VERSION: ")){ + line = line.split(' ').last(); + line.replace("\n", ""); + version = line.toFloat(); + qDebug("plugin %s version: %.2f", filePath.toUtf8().data(), version); + break; + } + } + return version; + } + // Take a number of seconds and return an user-friendly // time duration like "1d 2h 10m". - static QString userFriendlyDuration(qlonglong seconds) { - if(seconds < 0 or seconds > 8640000) { + static QString userFriendlyDuration(const long int seconds) { + if(seconds < 0) { return tr("Unknown"); } - int level = 0; - int days = int(seconds / 86400.); - if(!days) - level = 1; - else - seconds -= days * 86400; - int hours = int(seconds / 3600.); - if(!hours) - level = 2; - else - seconds -= hours * 3600; - int minutes = int(seconds / 60.0); - if(!minutes) - level = 3; - else - seconds -= minutes * 60; - switch(level){ - case 3: - return tr("< 1m", "< 1 minute"); - case 2: - return tr("%1m","e.g: 10minutes").arg(QString::QString::fromUtf8(misc::toString(minutes).c_str())); - case 1: - return tr("%1h%2m", "e.g: 3hours 5minutes").arg(QString::fromUtf8(misc::toString(hours).c_str())).arg(QString::fromUtf8(misc::toString(minutes).c_str())); - default: - return tr("%1d%2h%3m", "e.g: 2days 10hours 2minutes").arg(QString::fromUtf8(misc::toString(days).c_str())).arg(QString::fromUtf8(misc::toString(hours).c_str())).arg(QString::fromUtf8(misc::toString(minutes).c_str())); + if(seconds < 60) { + return tr("< 1m", "< 1 minute"); } + int minutes = seconds / 60; + if(minutes < 60) { + return tr("%1m","e.g: 10minutes").arg(QString::QString::fromUtf8(misc::toString(minutes).c_str())); + } + int hours = minutes / 60; + minutes = minutes - hours*60; + if(hours < 24) { + return tr("%1h%2m", "e.g: 3hours 5minutes").arg(QString::fromUtf8(misc::toString(hours).c_str())).arg(QString::fromUtf8(misc::toString(minutes).c_str())); + } + int days = hours / 24; + hours = hours - days * 24; + if(days < 100) { + return tr("%1d%2h%3m", "e.g: 2days 10hours 2minutes").arg(QString::fromUtf8(misc::toString(days).c_str())).arg(QString::fromUtf8(misc::toString(hours).c_str())).arg(QString::fromUtf8(misc::toString(minutes).c_str())); + } + return tr("Unknown"); } }; diff --git a/src/options.ui b/src/options.ui index 14cd0548f..d45f60be8 100644 --- a/src/options.ui +++ b/src/options.ui @@ -5,8 +5,8 @@ 0 0 - 594 - 530 + 663 + 560 @@ -19,12 +19,21 @@ Options -- qBittorrent - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -39,7 +48,7 @@ - Options + Preferences Qt::AlignCenter @@ -73,906 +82,31 @@ Qt::ElideLeft - + - Connection + General + + + :/Icons/star.png - - 9 - - - 6 - - + - Main + User interface settings - - 9 - - - 6 - - - 0 - - - 6 - - - - 0 - - - 6 - - - - - Download Limit: - - - spin_download - - - - - - - Upload Limit: - - - - - - - Max Connects: - - - spin_port_min - - - - - - - Port range: - - - spin_port_min - - - - - - - Share ratio: - - - - - - - - - 0 - - - 6 - - - - - 0 - - - 6 - - - - - false - - - - - - 1000000 - - - 1 - - - 200 - - - - - - - - 64 - 0 - - - - KiB/s - - - - - - - Disable - - - true - - - - - - - Qt::Horizontal - - - - 61 - 25 - - - - - - - - - - 0 - - - 6 - - - - - false - - - - - - 1000000 - - - 1 - - - 10 - - - - - - - - 64 - 0 - - - - KiB/s - - - - - - - Disable - - - true - - - - - - - Qt::Horizontal - - - - 61 - 25 - - - - - - - - - - 0 - - - 6 - - - - - false - - - 1000 - - - 1 - - - 600 - - - - - - - - 88 - 0 - - - - connections - - - - - - - true - - - Disable - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - - - 6 - - - - - 65525 - - - 1000 - - - 6881 - - - - - - - - - - Qt::AlignCenter - - - - - - - 65525 - - - 1000 - - - 6889 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - - - 6 - - - - - 1 KiB DL = - - - - - - - false - - - Qt::AlignHCenter - - - 1 - - - 99.900000000000006 - - - 1.000000000000000 - - - 0.100000000000000 - - - 1.000000000000000 - - - - - - - - 82 - 0 - - - - KiB UP max. - - - - - - - Disable - - - true - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - - Peer eXchange (PeX) - - - - 9 - - - 6 - - - - - Disable Peer eXchange (PeX) - - - - - - - - - - 0 - - - 6 - - - - - DHT (trackerless) - - - - 9 - - - 6 - - - - - Disable DHT (Trackerless) - - - - - - - DHT configuration - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - DHT port: - - - - - - - - 6 - 0 - - - - 65525 - - - 1000 - - - 6881 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - Encryption - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - 0 - - - 6 - - - - - Encryption state: - - - - - - - - Enabled - - - - - Forced - - - - - Disabled - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - - - - - - - - - - - Qt::Vertical - - - - 554 - 16 - - - - - - - - - Behaviour - - - - 9 - - - 6 - - - - - Torrent addition - - - - 9 - - - 6 - - - - - Display a torrent addition dialog everytime I add a torrent - - - true - - - - - - - false - - - Default save path - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - Save Path: - - - proxy_username - - - - - - - 0 - - - 6 - - - - - - - - - - - - ... - - - - - - - - - - - - - - - - - Main window - - - - 9 - - - 6 - - - - - Exit confirmation when the download list is not empty - - - true - - - - - - - Go to systray when minimizing window - - - true - - - - - - - Go to systray when closing main window - - - - - - - Disable systray integration - - - - - - - - - - Systray messages - - - - 9 - - - 6 - - - - - Always display systray messages - - - true - - - - - - - Display systray messages only when window is hidden - - - - - - - Never display systray messages - - - - - - - - - - Qt::Vertical - - - - 466 - 31 - - - - - - - - - Language - - - - 9 - - - 6 - - - - - Localization - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - - - - - - + Language: - - - - 300 - 25 - - + QComboBox::AdjustToContents @@ -996,21 +130,225 @@ + + + + + 6 + true + + + + <b>Note:</b> Changes will be applied after qBittorrent is restarted. + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + Visual style: + + + + + + + + System default + + + + + Plastique style (KDE like) + + + + + Cleanlooks style (Gnome like) + + + + + Motif style (Unix like) + + + + + CDE style (Common Desktop Environment like) + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Ask for confirmation on exit when download list is not empty + + + true + + + + + + + Display current speed in title bar + + + + + + + + + transfer lists refresh interval: + + + + + + + 10 + + + 99999 + + + 1500 + + + + + + + ms + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + - - - <b>Note:</b> Changes will be applied after qBittorrent is restarted. + + + System tray icon + + + + + Disable system tray icon + + + + + + + Close to tray + + + + + + + Minimize to tray + + + false + + + + + + + Show notification balloons in tray + + + true + + + + - - - <b>Translators note:</b> If qBittorrent is not available in your language, <br/>and if you would like to translate it in your mother tongue, <br/>please contact me (chris@qbittorrent.org). + + + Preview program + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Media player: + + + + + + + + + + ... + + + + + + @@ -1020,49 +358,1127 @@ - 20 - 40 + 623 + 20 - + - IP Filter + Downloads + + + :/Icons/download.png - - 9 - - - 6 - - - - Activate IP Filtering + + + File system + + + + + Put downloads in this folder: + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + ... + + + + + + + + + + + Pre-allocate all files + + + + - + + + When adding a torrent + + + + + + Display torrent content and some options + + + true + + + + + + + Do not start download automatically + + + + + + + + + + Folder watching + + + + + + Automatically download torrents present in this folder: + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + false + + + + + + + false + + + ... + + + + + + + + + + + + + + Qt::Vertical + + + + 557 + 21 + + + + + + + + + Connection + + + :/Icons/connection.png + + + + + + + + + + Listening port + + + + + + + + Port range: + + + + + + + 1000 + + + 65525 + + + 6881 + + + + + + + to + + + Qt::AlignCenter + + + + + + + 1000 + + + 65525 + + + 6889 + + + + + + + Qt::Horizontal + + + + 20 + 20 + + + + + + + + + + Enable UPnP port mapping + + + true + + + + + + + Enable NAT-PMP port mapping + + + true + + + + + + + + + + Global bandwidth limiting + + + + + + + + + + + 0 + 45 + + + + Upload: + + + true + + + + + + + + 0 + 37 + + + + Download: + + + + + + + + + + + + + true + + + + 0 + 27 + + + + + + + 1 + + + 1000000 + + + 50 + + + + + + + KiB/s + + + + + + + + + + + false + + + + 0 + 27 + + + + + + + 1 + + + 1000000 + + + 100 + + + + + + + KiB/s + + + + + + + + + + + + + + + + + + true + + + Proxy Settings + + + + + + + + Type: + + + + + + + + (None) + + + + + HTTP + + + + + SOCKS5 + + + + + + + + false + + + Proxy: + + + + + + + false + + + 0.0.0.0 + + + 15 + + + QLineEdit::Normal + + + + + + + false + + + Port: + + + + + + + false + + + 65525 + + + 8080 + + + + + + + Qt::Horizontal + + + + 21 + 29 + + + + + + + + + + + + false + + + Authentication + + + + + + + + + + + false + + + Username: + + + + + + + false + + + Password: + + + + + + + + + + + false + + + + + + 1000 + + + QLineEdit::Normal + + + + + + + false + + + + + + 1000 + + + QLineEdit::Password + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + false + + + + 0 + 110 + + + + Affected connections + + + + + 10 + 20 + 341 + 22 + + + + Use proxy for connections to trackers + + + true + + + + + + 10 + 40 + 341 + 22 + + + + Use proxy for connections to regular peers + + + true + + + + + + 10 + 60 + 341 + 22 + + + + Use proxy for connections to web seeds + + + true + + + + + + 10 + 80 + 341 + 22 + + + + Use proxy for DHT messages + + + true + + + + + + + + + + + + + + Bittorrent + + + :/Icons/bt_settings.png + + + + + + Connections limit + + + + + + + + Global maximum number of connections: + + + true + + + + + + + true + + + + 8 + + + + 2 + + + 2000 + + + 500 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Maximum number of connections per torrent: + + + true + + + + + + + + 8 + + + + 2 + + + 2000 + + + 100 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Maximum number of upload slots per torrent: + + + true + + + + + + + + 8 + + + + 500 + + + 4 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Additional Bittorrent features + + + + + + Enable DHT network (decentralized) + + + true + + + + + + + Enable Peer eXchange (PeX) + + + true + + + + + + + Enable Local Peer Discovery + + + true + + + + + + + + + Encryption: + + + + + + + + Enabled + + + + + Forced + + + + + Disabled + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Share ratio settings + + + + + 11 + 30 + 535 + 31 + + + + + + + Desired ratio: + + + + + + + false + + + + 8 + + + + Qt::AlignHCenter + + + 1 + + + 1.000000000000000 + + + 10.000000000000000 + + + 0.100000000000000 + + + 1.000000000000000 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + 11 + 67 + 535 + 31 + + + + + + + Remove finished torrents when their ratio reaches: + + + + + + + false + + + + 8 + + + + Qt::AlignHCenter + + + 1 + + + 1.000000000000000 + + + 10.000000000000000 + + + 0.100000000000000 + + + 1.000000000000000 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Misc + + + :/Icons/configure.png + + + + - false + true Filter Settings - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + + + + + Activate IP Filtering + + + :/Icons/filter.png + + + + + false + 0 @@ -1110,12 +1526,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -1130,17 +1555,29 @@ - + + + false + Add Range + + :/Icons/skin/add.png + - + + + false + Remove Range + + :/Icons/skin/remove.png + @@ -1160,24 +1597,43 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - + + + false + - ipfilter.dat Path: + Filter file path: - + + + false + + - + + + false + ... @@ -1188,423 +1644,118 @@ - - - - - Proxy - - - - 9 - - - 6 - - - - Enable connection through a proxy server - - - - - - - false - + - Proxy Settings + RSS - - 9 - - - 6 - - - 0 - - - 6 - - - - Server IP or url: - - - - - - - 0.0.0.0 - - - 15 - - - QLineEdit::Normal - - - - - - - Qt::Horizontal - - + + - 21 - 20 + 48 + 48 - - - - - - Port: - - - - - - - 65525 - - - 8080 - - - - - - - Qt::Horizontal - - + - 40 - 20 + 48 + 48 - - - - - - - - 0 - - - 6 - - - - Proxy type: + + + + :/Icons/rss32.png + + + true - + - - HTTP - + + + + + RSS feeds refresh interval: + + + + + + + 1 + + + 999999 + + + 5 + + + + + + + minutes + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + - - SOCKS5 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Proxy server requires authentication - - - - - - - false - - - Authentication - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - 0 - - - 6 - - - - - User Name: - - - - - - - Password: - - - - - - - - - 0 - - - 6 - - - - - - - - 1000 - - - QLineEdit::Normal - - - - - - - - - - 1000 - - - QLineEdit::Password - - - - - - - - - - - - - - - 0 - 110 - - - - Affected connections - - - - - 10 - 20 - 341 - 22 - - - - Use proxy for connections to trackers - - - true - - - - - - 10 - 40 - 341 - 22 - - - - Use proxy for connections to regular peers - - - true - - - - - - 10 - 60 - 341 - 22 - - - - Use proxy for connections to web seeds - - - true - - - - - - 10 - 80 - 341 - 22 - - - - Use proxy for DHT messages - - - true - - - - - - - - Qt::Vertical - - - - 20 - 21 - - - - - - - - - - - - Misc - - - - 9 - - - 6 - - - - - Directory scan - - - - 9 - - - 6 - - - - - Enable directory scan (auto add torrent files inside) - - - - - - - 0 - - - 6 - - - - - false - - - Scanned Dir: - - - proxy_username - - - - - - - 0 - - - 6 - - - - - false - - - - - - - false - - - ... - - + + + + + Maximum number of articles per feed: + + + + + + + 9999 + + + 50 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + @@ -1613,139 +1764,27 @@ - - - - Preview program - - - - 9 - - - 6 - - - - - 0 - - - 6 - - - - - Audio/Video player: - - - - - - - - - - ... - - - - - - - - - - - - Style (Look 'n Feel) - - - - 9 - - - 6 - - - - - Plastique style (KDE like) - - - true - - - - - - - Cleanlooks style (GNOME like) - - - - - - - Motif style (default Qt style on Unix systems) - - - - - - - CDE style (Common Desktop Environment like) - - - - - - - false - - - MacOS style (MacOSX only) - - - - - - - false - - - WindowsXP style (Windows XP only) - - - - - - - - - - Qt::Vertical - - - - 466 - 41 - - - - - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -1763,6 +1802,8 @@ - + + + diff --git a/src/options_imp.cpp b/src/options_imp.cpp index eb9888a19..e42923d95 100644 --- a/src/options_imp.cpp +++ b/src/options_imp.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include "qgnomelook.h" #include #include #include @@ -57,163 +57,156 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){ } } connect(buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(applySettings(QAbstractButton*))); - // Setting icons - tabOptions->setTabIcon(0, QIcon(QString::fromUtf8(":/Icons/connection.png"))); - tabOptions->setTabIcon(1, QIcon(QString::fromUtf8(":/Icons/style.png"))); - tabOptions->setTabIcon(2, QIcon(QString::fromUtf8(":/Icons/locale.png"))); - tabOptions->setTabIcon(3, QIcon(QString::fromUtf8(":/Icons/filter.png"))); - tabOptions->setTabIcon(4, QIcon(QString::fromUtf8(":/Icons/proxy.png"))); - tabOptions->setTabIcon(5, QIcon(QString::fromUtf8(":/Icons/wizard.png"))); - lbl_icon_i18n->setPixmap(QPixmap(QString::fromUtf8(":/Icons/locale.png"))); - lblencryption_icon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/password.png"))); - addFilterRange->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/add.png"))); - delFilterRange->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); - enableProxyAuth_checkBox->setIcon(QIcon(QString::fromUtf8(":/Icons/encrypted.png"))); - to_range->setText(tr("to", " to ")); #ifdef Q_WS_WIN - radioWinXPStyle->setEnabled(true); + comboStyle->addItem("Windows XP Style (Windows Only)"); #endif #ifdef Q_WS_MAC - radioMacOSStyle->setEnabled(true); + comboStyle->addItem("MacOS Style (MacOS Only)"); #endif // Languages supported - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/united_kingdom.png"))), QString::fromUtf8("English")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/united_kingdom.png"))), QString::fromUtf8("English")); locales << "en_GB"; - combo_i18n->setCurrentIndex(0); - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/france.png"))), QString::fromUtf8("Français")); + comboI18n->setCurrentIndex(0); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/france.png"))), QString::fromUtf8("Français")); locales << "fr_FR"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/germany.png"))), QString::fromUtf8("Deutsch")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/germany.png"))), QString::fromUtf8("Deutsch")); locales << "de_DE"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/hungary.png"))), QString::fromUtf8("Magyar")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/hungary.png"))), QString::fromUtf8("Magyar")); locales << "hu_HU"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/italy.png"))), QString::fromUtf8("Italiano")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/italy.png"))), QString::fromUtf8("Italiano")); locales << "it_IT"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/netherlands.png"))), QString::fromUtf8("Nederlands")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/netherlands.png"))), QString::fromUtf8("Nederlands")); locales << "nl_NL"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain.png"))), QString::fromUtf8("Español")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain.png"))), QString::fromUtf8("Español")); locales << "es_ES"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain_catalunya.png"))), QString::fromUtf8("Català")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain_catalunya.png"))), QString::fromUtf8("Català")); locales << "ca_ES"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/portugal.png"))), QString::fromUtf8("Português")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/portugal.png"))), QString::fromUtf8("Português")); locales << "pt_PT"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/brazil.png"))), QString::fromUtf8("Português brasileiro")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/brazil.png"))), QString::fromUtf8("Português brasileiro")); locales << "pt_BR"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/poland.png"))), QString::fromUtf8("Polski")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/poland.png"))), QString::fromUtf8("Polski")); locales << "pl_PL"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/slovakia.png"))), QString::fromUtf8("Slovenčina")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/slovakia.png"))), QString::fromUtf8("Slovenčina")); locales << "sk_SK"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/romania.png"))), QString::fromUtf8("Română")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/romania.png"))), QString::fromUtf8("Română")); locales << "ro_RO"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/turkey.png"))), QString::fromUtf8("Türkçe")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/turkey.png"))), QString::fromUtf8("Türkçe")); locales << "tr_TR"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/greece.png"))), QString::fromUtf8("Ελληνικά")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/greece.png"))), QString::fromUtf8("Ελληνικά")); locales << "el_GR"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/sweden.png"))), QString::fromUtf8("Svenska")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/sweden.png"))), QString::fromUtf8("Svenska")); locales << "sv_SE"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/finland.png"))), QString::fromUtf8("Suomi")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/finland.png"))), QString::fromUtf8("Suomi")); locales << "fi_FI"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/norway.png"))), QString::fromUtf8("Norsk")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/norway.png"))), QString::fromUtf8("Norsk")); locales << "nb_NO"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/denmark.png"))), QString::fromUtf8("Dansk")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/denmark.png"))), QString::fromUtf8("Dansk")); locales << "da_DK"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/bulgaria.png"))), QString::fromUtf8("Български")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/bulgaria.png"))), QString::fromUtf8("Български")); locales << "bg_BG"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/ukraine.png"))), QString::fromUtf8("Українська")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/ukraine.png"))), QString::fromUtf8("Українська")); locales << "uk_UA"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/russia.png"))), QString::fromUtf8("Русский")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/russia.png"))), QString::fromUtf8("Русский")); locales << "ru_RU"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/japan.png"))), QString::fromUtf8("日本語")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/japan.png"))), QString::fromUtf8("日本語")); locales << "ja_JP"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/china.png"))), QString::fromUtf8("中文 (简体)")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/china.png"))), QString::fromUtf8("中文 (简体)")); locales << "zh_CN"; - combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/south_korea.png"))), QString::fromUtf8("한글")); + comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/south_korea.png"))), QString::fromUtf8("한글")); locales << "ko_KR"; - QString home = QDir::homePath(); - if(home[home.length()-1] != QDir::separator()){ - home += QDir::separator(); - } - txt_savePath->setText(home+"qBT_dir"); // Load options loadOptions(); // Disable systray integration if it is not supported by the system if(!QSystemTrayIcon::isSystemTrayAvailable()){ - systrayDisabled(true); - check_disableSystray->setEnabled(false); + checkNoSystray->setEnabled(false); } // Connect signals / slots - connect(disableUPLimit, SIGNAL(stateChanged(int)), this, SLOT(disableUpload(int))); - connect(disableDLLimit, SIGNAL(stateChanged(int)), this, SLOT(disableDownload(int))); - connect(disableDHT, SIGNAL(stateChanged(int)), this, SLOT(disableDHTGroup(int))); - connect(check_disableSystray, SIGNAL(stateChanged(int)), this, SLOT(systrayDisabled(int))); - connect(disableRatio, SIGNAL(stateChanged(int)), this, SLOT(disableShareRatio(int))); - connect(activateFilter, SIGNAL(stateChanged(int)), this, SLOT(enableFilter(int))); - connect(enableProxy_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableProxy(int))); - connect(enableProxyAuth_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableProxyAuth(int))); - connect(enableScan_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableDirScan(int))); - connect(disableMaxConnec, SIGNAL(stateChanged(int)), this, SLOT(disableMaxConnecLimit(int))); - connect(checkAdditionDialog, SIGNAL(stateChanged(int)), this, SLOT(enableSavePath(int))); + // General tab + connect(checkNoSystray, SIGNAL(stateChanged(int)), this, SLOT(setSystrayOptionsState(int))); + // Downloads tab + connect(checkScanDir, SIGNAL(stateChanged(int)), this, SLOT(enableDirScan(int))); + // Connection tab + connect(checkUploadLimit, SIGNAL(stateChanged(int)), this, SLOT(enableUploadLimit(int))); + connect(checkDownloadLimit, SIGNAL(stateChanged(int)), this, SLOT(enableDownloadLimit(int))); + connect(comboProxyType, SIGNAL(currentIndexChanged(int)),this, SLOT(enableProxy(int))); + connect(checkProxyAuth, SIGNAL(stateChanged(int)), this, SLOT(enableProxyAuth(int))); + // Bittorrent tab + connect(checkMaxConnecs, SIGNAL(stateChanged(int)), this, SLOT(enableMaxConnecsLimit(int))); + connect(checkMaxConnecsPerTorrent, SIGNAL(stateChanged(int)), this, SLOT(enableMaxConnecsLimitPerTorrent(int))); + connect(checkMaxUploadsPerTorrent, SIGNAL(stateChanged(int)), this, SLOT(enableMaxUploadsLimitPerTorrent(int))); + connect(checkRatioLimit, SIGNAL(stateChanged(int)), this, SLOT(enableShareRatio(int))); + connect(checkRatioRemove, SIGNAL(stateChanged(int)), this, SLOT(enableDeleteRatio(int))); + // IP Filter tab + connect(checkIPFilter, SIGNAL(stateChanged(int)), this, SLOT(enableFilter(int))); + // Apply button is activated when a value is changed - // Main - connect(spin_download, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(spin_upload, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(spin_port_min, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(spin_port_max, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(spin_max_connec, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(spin_ratio, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(disableUPLimit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(disableDLLimit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(disableRatio, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(scanDir, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - connect(enableScan_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(disableMaxConnec, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(disableDHT, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(disablePeX, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(comboEncryption, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); - // Language - connect(combo_i18n, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); - // IPFilter - connect(activateFilter, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(filterFile, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - // Proxy - connect(enableProxyAuth_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(enableProxy_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(proxy_port, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); - connect(proxy_ip, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - connect(proxy_username, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - connect(proxy_password, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + // General tab + connect(comboI18n, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); + connect(comboStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); + connect(checkConfirmExit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkSpeedInTitle, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(spinRefreshInterval, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(checkNoSystray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkCloseToSystray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkMinimizeToSysTray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkSystrayBalloons, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(textMediaPlayer, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + // Downloads tab + connect(textSavePath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + connect(checkPreallocateAll, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkAdditionDialog, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkStartPaused, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkScanDir, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(textScanDir, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + // Connection tab + connect(spinPortMin, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinPortMax, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(checkUPnP, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkNATPMP, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkUploadLimit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkDownloadLimit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(spinUploadLimit, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinDownloadLimit, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); connect(comboProxyType, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); + connect(textProxyIP, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinProxyPort, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(checkProxyAuth, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(textProxyUsername, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + connect(textProxyPassword, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); connect(checkProxyTrackers, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); connect(checkProxyPeers, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); connect(checkProxyWebseeds, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); connect(checkProxyDHT, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - // Misc Settings - connect(checkAdditionDialog, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(txt_savePath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - connect(check_goToSysTray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(check_closeToSysTray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(confirmExit_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); - connect(preview_program, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); - connect(alwaysOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(someOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(neverOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(radioPlastiqueStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(radioCleanlooksStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(radioMotifStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(radioCDEStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); - connect(check_disableSystray, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); -#ifdef Q_WS_WIN - connect(radioWinXPStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); -#endif -#ifdef Q_WS_MAC - connect(radioMacOSStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); -#endif + // Bittorrent tab + connect(checkMaxConnecs, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkMaxConnecsPerTorrent, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkMaxUploadsPerTorrent, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(spinMaxConnec, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinMaxConnecPerTorrent, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinMaxUploadsPerTorrent, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(checkDHT, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkPeX, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkLSD, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(comboEncryption, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton())); + connect(checkRatioLimit, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(checkRatioRemove, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(spinRatio, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinMaxRatio, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + // Misc tab + connect(checkIPFilter, SIGNAL(stateChanged(int)), this, SLOT(enableApplyButton())); + connect(addFilterRangeButton, SIGNAL(clicked()), this, SLOT(enableApplyButton())); + connect(delFilterRangeButton, SIGNAL(clicked()), this, SLOT(enableApplyButton())); + connect(textFilterPath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinRSSRefresh, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); + connect(spinRSSMaxArticlesPerFeed, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); // Disable apply Button applyButton->setEnabled(false); if(!QSystemTrayIcon::supportsMessages()){ // Mac OS X doesn't support it yet - neverOSD->setChecked(true); - groupOSD->setEnabled(false); + checkSystrayBalloons->setChecked(false); + checkSystrayBalloons->setEnabled(false); } } @@ -223,32 +216,31 @@ options_imp::~options_imp(){ } void options_imp::useStyle(){ - QString style = getStyle(); - if(style == "Cleanlooks"){ - QApplication::setStyle(new QCleanlooksStyle()); - return; - } - if(style == "Motif"){ - QApplication::setStyle(new QMotifStyle()); - return; - } - if(style == "CDE"){ - QApplication::setStyle(new QCDEStyle()); - return; - } + int style = getStyle(); + switch(style) { + case 1: + QApplication::setStyle(new QPlastiqueStyle()); + break; + case 2: + QApplication::setStyle(new QGnomeLookStyle()); + break; + case 3: + QApplication::setStyle(new QMotifStyle()); + break; + case 4: + QApplication::setStyle(new QCDEStyle()); + break; #ifdef Q_WS_MAC - if(style == "MacOS"){ + case 5: QApplication::setStyle(new QMacStyle()); - return; - } + break; #endif #ifdef Q_WS_WIN - if(style == "WinXP"){ + case 6: QApplication::setStyle(new QWindowsXPStyle()); - return; - } + break; #endif - QApplication::setStyle(new QPlastiqueStyle()); + } } void options_imp::saveOptions(){ @@ -258,101 +250,96 @@ void options_imp::saveOptions(){ useStyle(); // Check if min port < max port checkPortsLogic(); - settings.beginGroup("Options"); - // Main options - settings.beginGroup("Main"); - settings.setValue(QString::fromUtf8("DLLimit"), getLimits().first); - settings.setValue(QString::fromUtf8("UPLimit"), getLimits().second); - settings.setValue(QString::fromUtf8("MaxConnecs"), getMaxConnec()); + settings.beginGroup("Preferences"); + // General preferences + settings.beginGroup("General"); + settings.setValue(QString::fromUtf8("Locale"), getLocale()); + settings.setValue(QString::fromUtf8("Style"), getStyle()); + settings.setValue(QString::fromUtf8("ExitConfirm"), confirmOnExit()); + settings.setValue(QString::fromUtf8("SpeedInTitleBar"), speedInTitleBar()); + settings.setValue(QString::fromUtf8("RefreshInterval"), getRefreshInterval()); + settings.setValue(QString::fromUtf8("SystrayEnabled"), systrayIntegration()); + settings.setValue(QString::fromUtf8("CloseToTray"), closeToTray()); + settings.setValue(QString::fromUtf8("MinimizeToTray"), minimizeToTray()); + settings.setValue(QString::fromUtf8("NotificationBaloons"), OSDEnabled()); + settings.setValue(QString::fromUtf8("MediaPlayer"), getPreviewProgram()); + // End General preferences + settings.endGroup(); + // Downloads preferences + settings.beginGroup("Downloads"); + settings.setValue(QString::fromUtf8("SavePath"), getSavePath()); + settings.setValue(QString::fromUtf8("PreAllocation"), preAllocateAllFiles()); + settings.setValue(QString::fromUtf8("AdditionDialog"), useAdditionDialog()); + settings.setValue(QString::fromUtf8("StartInPause"), addTorrentsInPause()); + settings.setValue(QString::fromUtf8("ScanDir"), getScanDir()); + // End Downloads preferences + settings.endGroup(); + // Connection preferences + settings.beginGroup("Connection"); settings.setValue(QString::fromUtf8("PortRangeMin"), getPorts().first); settings.setValue(QString::fromUtf8("PortRangeMax"), getPorts().second); - settings.setValue(QString::fromUtf8("ShareRatio"), getRatio()); - settings.setValue(QString::fromUtf8("EncryptionState"), getEncryptionSetting()); - settings.setValue(QString::fromUtf8("PeXState"), !isPeXDisabled()); - settings.setValue(QString::fromUtf8("DHTPort"), getDHTPort()); - settings.setValue(QString::fromUtf8("ScanDir"), getScanDir()); - // End Main options - settings.endGroup(); - // Language options - settings.beginGroup(QString::fromUtf8("Language")); - settings.setValue(QString::fromUtf8("Locale"), getLocale()); - // End Language options - settings.endGroup(); - // IPFilter options - settings.beginGroup(QString::fromUtf8("IPFilter")); - bool enabled = isFilteringEnabled(); - settings.setValue(QString::fromUtf8("Enabled"), enabled); - if(enabled){ - settings.setValue(QString::fromUtf8("File"), filterFile->text()); - } - // End IPFilter options - settings.endGroup(); - // Proxy options - settings.beginGroup(QString::fromUtf8("Proxy")); - enabled = isProxyEnabled(); - settings.setValue(QString::fromUtf8("Enabled"), enabled); - if(enabled){ + settings.setValue(QString::fromUtf8("UPnP"), isUPnPEnabled()); + settings.setValue(QString::fromUtf8("NAT-PMP"), isNATPMPEnabled()); + settings.setValue(QString::fromUtf8("GlobalDLLimit"), getGlobalBandwidthLimits().first); + settings.setValue(QString::fromUtf8("GlobalUPLimit"), getGlobalBandwidthLimits().second); + settings.setValue(QString::fromUtf8("ProxyType"), getProxyType()); + if(isProxyEnabled()) { + settings.beginGroup("Proxy"); + // Proxy is enabled, save settings settings.setValue(QString::fromUtf8("IP"), getProxyIp()); settings.setValue(QString::fromUtf8("Port"), getProxyPort()); - unsigned short val = getProxyType(); - if(val == HTTP || val == HTTP_PW){ - settings.setValue(QString::fromUtf8("ProxyType"), HTTP); - }else{ - settings.setValue(QString::fromUtf8("ProxyType"), SOCKS5); - } - settings.setValue(QString::fromUtf8("UseProxyForTrackers"), useProxyForTrackers()); - settings.setValue(QString::fromUtf8("UseProxyForPeers"), useProxyForPeers()); - settings.setValue(QString::fromUtf8("UseProxyForWebseeds"), useProxyForWebseeds()); - settings.setValue(QString::fromUtf8("UseProxyForDHT"), useProxyForDHT()); - enabled = isProxyAuthEnabled(); - settings.beginGroup(QString::fromUtf8("Authentication")); - settings.setValue(QString::fromUtf8("Enabled"), enabled); - if(enabled){ + settings.setValue(QString::fromUtf8("Authentication"), isProxyAuthEnabled()); + if(isProxyAuthEnabled()) { + // Credentials settings.setValue(QString::fromUtf8("Username"), getProxyUsername()); settings.setValue(QString::fromUtf8("Password"), getProxyPassword()); } - settings.endGroup(); + // Affected connections + settings.setValue(QString::fromUtf8("AffectTrackers"), useProxyForTrackers()); + settings.setValue(QString::fromUtf8("AffectPeers"), useProxyForPeers()); + settings.setValue(QString::fromUtf8("AffectWebSeeds"), useProxyForWebseeds()); + settings.setValue(QString::fromUtf8("AffectDHT"), useProxyForDHT()); + settings.endGroup(); // End Proxy } - // End Proxy options + // End Connection preferences settings.endGroup(); - // Misc options - settings.beginGroup(QString::fromUtf8("Misc")); - settings.beginGroup(QString::fromUtf8("TorrentAdditionDialog")); - enabled = useAdditionDialog(); - settings.setValue(QString::fromUtf8("Enabled"), enabled); - if(!enabled){ - settings.setValue(QString::fromUtf8("SavePath"), getSavePath()); + // Bittorrent preferences + settings.beginGroup("Bittorrent"); + settings.setValue(QString::fromUtf8("MaxConnecs"), getMaxConnecs()); + settings.setValue(QString::fromUtf8("MaxConnecsPerTorrent"), getMaxConnecsPerTorrent()); + settings.setValue(QString::fromUtf8("MaxUploadsPerTorrent"), getMaxUploadsPerTorrent()); + settings.setValue(QString::fromUtf8("DHT"), isDHTEnabled()); + settings.setValue(QString::fromUtf8("PeX"), isPeXEnabled()); + settings.setValue(QString::fromUtf8("LSD"), isLSDEnabled()); + settings.setValue(QString::fromUtf8("Encryption"), getEncryptionSetting()); + settings.setValue(QString::fromUtf8("DesiredRatio"), getDesiredRatio()); + settings.setValue(QString::fromUtf8("MaxRatio"), getDeleteRatio()); + // End Bittorrent preferences + settings.endGroup(); + // Misc preferences + // * IPFilter + settings.beginGroup("IPFilter"); + settings.setValue(QString::fromUtf8("Enabled"), isFilteringEnabled()); + if(isFilteringEnabled()){ + settings.setValue(QString::fromUtf8("File"), textFilterPath->text()); } + // End IPFilter preferences settings.endGroup(); - settings.beginGroup(QString::fromUtf8("Behaviour")); - settings.setValue(QString::fromUtf8("ConfirmOnExit"), getConfirmOnExit()); - settings.setValue(QString::fromUtf8("GoToSystray"), getGoToSysTrayOnMinimizingWindow()); - settings.setValue(QString::fromUtf8("GoToSystrayOnExit"), getGoToSysTrayOnExitingWindow()); - settings.setValue(QString::fromUtf8("SystrayIntegration"), useSystrayIntegration()); - // End Behaviour group + // * RSS + settings.beginGroup("RSS"); + settings.setValue(QString::fromUtf8("RSSRefresh"), spinRSSRefresh->value()); + settings.setValue(QString::fromUtf8("RSSMaxArticlesPerFeed"), spinRSSMaxArticlesPerFeed->value()); + // End RSS preferences settings.endGroup(); - settings.setValue(QString::fromUtf8("PreviewProgram"), getPreviewProgram()); - // End Misc options - settings.endGroup(); - if(getUseOSDAlways()){ - settings.setValue(QString::fromUtf8("OSDEnabled"), 1); - }else{ - if(getUseOSDWhenHiddenOnly()){ - settings.setValue(QString::fromUtf8("OSDEnabled"), 2); - }else{ - settings.setValue(QString::fromUtf8("OSDEnabled"), 0); - } - } - settings.setValue(QString::fromUtf8("Style"), getStyle()); - // End Options group + // End preferences settings.endGroup(); } bool options_imp::isFilteringEnabled() const{ - return activateFilter->isChecked(); + return checkIPFilter->isChecked(); } -unsigned short options_imp::getProxyType() const{ +int options_imp::getProxyType() const{ if(comboProxyType->currentIndex() == HTTP){ if(isProxyAuthEnabled()){ return HTTP_PW; @@ -360,12 +347,15 @@ unsigned short options_imp::getProxyType() const{ return HTTP; } }else{ - if(isProxyAuthEnabled()){ - return SOCKS5_PW; - }else{ - return SOCKS5; + if(comboProxyType->currentIndex() == SOCKS5){ + if(isProxyAuthEnabled()){ + return SOCKS5_PW; + }else{ + return SOCKS5; + } } } + return -1; // disabled } bool options_imp::useProxyForTrackers() const{ @@ -384,254 +374,209 @@ bool options_imp::useProxyForDHT() const{ return checkProxyDHT->isChecked(); } -QString options_imp::getStyle() const{ - if(radioPlastiqueStyle->isChecked()) return QString::fromUtf8("Plastique"); - if(radioCleanlooksStyle->isChecked()) return QString::fromUtf8("Cleanlooks"); - if(radioMotifStyle->isChecked()) return QString::fromUtf8("Motif"); - if(radioCDEStyle->isChecked()) return QString::fromUtf8("CDE"); - if(radioMacOSStyle->isChecked()) return QString::fromUtf8("MacOS"); - if(radioWinXPStyle->isChecked()) return QString::fromUtf8("WinXP"); -#ifdef Q_WS_WIN - return QString::fromUtf8("WinXP"); -#endif -#ifdef Q_WS_MAC - return QString::fromUtf8("MacOS"); -#endif - return QString::fromUtf8("Plastique"); +int options_imp::getStyle() const{ + return comboStyle->currentIndex(); } -void options_imp::setStyle(QString style){ - if(style == QString::fromUtf8("Cleanlooks")){ - radioCleanlooksStyle->setChecked(true); - return; - } - if(style == QString::fromUtf8("Motif")){ - radioMotifStyle->setChecked(true); - return; - } - if(style == QString::fromUtf8("CDE")){ - radioCDEStyle->setChecked(true); - return; - } - if(style == QString::fromUtf8("MacOS")){ - radioMacOSStyle->setChecked(true); - return; - } - if(style == QString::fromUtf8("WinXP")){ - radioWinXPStyle->setChecked(true); - return; - } - radioPlastiqueStyle->setChecked(true); +void options_imp::setStyle(int style){ + if(style >= comboStyle->count() || style < 0) + style = 0; + comboStyle->setCurrentIndex(style); } void options_imp::loadOptions(){ - int value; + int intValue; float floatValue; - bool boolValue; QString strValue; QSettings settings("qBittorrent", "qBittorrent"); + settings.beginGroup("Preferences"); + // General preferences + settings.beginGroup("General"); + setLocale(settings.value(QString::fromUtf8("Locale"), "en_GB").toString()); + setStyle(settings.value(QString::fromUtf8("Style"), 0).toInt()); + checkConfirmExit->setChecked(settings.value(QString::fromUtf8("ExitConfirm"), true).toBool()); + checkSpeedInTitle->setChecked(settings.value(QString::fromUtf8("SpeedInTitleBar"), false).toBool()); + spinRefreshInterval->setValue(settings.value(QString::fromUtf8("RefreshInterval"), 1500).toInt()); + checkNoSystray->setChecked(!settings.value(QString::fromUtf8("SystrayEnabled"), true).toBool()); + if(!systrayIntegration()) { + disableSystrayOptions(); + } else { + enableSystrayOptions(); + checkCloseToSystray->setChecked(settings.value(QString::fromUtf8("CloseToTray"), false).toBool()); + checkMinimizeToSysTray->setChecked(settings.value(QString::fromUtf8("MinimizeToTray"), false).toBool()); + checkSystrayBalloons->setChecked(settings.value(QString::fromUtf8("NotificationBaloons"), true).toBool()); + } + textMediaPlayer->setText(settings.value(QString::fromUtf8("MediaPlayer"), QString()).toString()); + // End General preferences + settings.endGroup(); + // Downloads preferences + settings.beginGroup("Downloads"); + QString home = QDir::homePath(); + if(home[home.length()-1] != QDir::separator()){ + home += QDir::separator(); + } + textSavePath->setText(settings.value(QString::fromUtf8("SavePath"), home+"qBT_dir").toString()); + checkPreallocateAll->setChecked(settings.value(QString::fromUtf8("PreAllocation"), false).toBool()); + checkAdditionDialog->setChecked(settings.value(QString::fromUtf8("AdditionDialog"), true).toBool()); + checkStartPaused->setChecked(settings.value(QString::fromUtf8("StartInPause"), false).toBool()); + strValue = settings.value(QString::fromUtf8("ScanDir"), QString()).toString(); + if(strValue.isEmpty()) { + // Disable + checkScanDir->setChecked(false); + enableDirScan(0); + } else { + // enable + checkScanDir->setChecked(true); + textScanDir->setText(strValue); + enableDirScan(2); + } + // End Downloads preferences + settings.endGroup(); + // Connection preferences + settings.beginGroup("Connection"); + spinPortMin->setValue(settings.value(QString::fromUtf8("PortRangeMin"), 6881).toInt()); + spinPortMax->setValue(settings.value(QString::fromUtf8("PortRangeMax"), 6889).toInt()); // Check if min port < max port checkPortsLogic(); - settings.beginGroup(QString::fromUtf8("Options")); - // Main options - settings.beginGroup(QString::fromUtf8("Main")); - value = settings.value(QString::fromUtf8("DLLimit"), -1).toInt(); - if(value < 0){ - disableDLLimit->setChecked(true); - spin_download->setEnabled(false); - }else{ - disableDLLimit->setChecked(false); - spin_download->setEnabled(true); - spin_download->setValue(value); + checkUPnP->setChecked(settings.value(QString::fromUtf8("UPnP"), true).toBool()); + checkNATPMP->setChecked(settings.value(QString::fromUtf8("NAT-PMP"), true).toBool()); + intValue = settings.value(QString::fromUtf8("GlobalDLLimit"), -1).toInt(); + if(intValue != -1) { + // Enabled + checkDownloadLimit->setChecked(true); + spinDownloadLimit->setEnabled(true); + spinDownloadLimit->setValue(intValue); + } else { + // Disabled + checkDownloadLimit->setChecked(false); + spinDownloadLimit->setEnabled(false); } - value = settings.value(QString::fromUtf8("UPLimit"), -1).toInt(); - if(value < 0){ - disableUPLimit->setChecked(true); - spin_upload->setEnabled(false); - }else{ - disableUPLimit->setChecked(false); - spin_upload->setEnabled(true); - spin_upload->setValue(value); + intValue = settings.value(QString::fromUtf8("GlobalUPLimit"), 50).toInt(); + if(intValue != -1) { + // Enabled + checkUploadLimit->setChecked(true); + spinUploadLimit->setEnabled(true); + spinUploadLimit->setValue(intValue); + } else { + // Disabled + checkUploadLimit->setChecked(false); + spinUploadLimit->setEnabled(false); } - value = settings.value(QString::fromUtf8("MaxConnecs"), -1).toInt(); - if(value < 0){ - disableMaxConnec->setChecked(true); - spin_max_connec->setEnabled(false); - }else{ - disableMaxConnec->setChecked(false); - spin_max_connec->setEnabled(true); - spin_max_connec->setValue(value); - } - spin_port_min->setValue(settings.value(QString::fromUtf8("PortRangeMin"), 6881).toInt()); - spin_port_max->setValue(settings.value(QString::fromUtf8("PortRangeMax"), 6889).toInt()); - floatValue = settings.value(QString::fromUtf8("ShareRatio"), 0).toDouble(); - if(floatValue == 0){ - disableRatio->setChecked(true); - spin_ratio->setEnabled(false); - }else{ - disableRatio->setChecked(false); - spin_ratio->setEnabled(true); - spin_ratio->setValue(floatValue); - } - value = settings.value(QString::fromUtf8("DHTPort"), 6881).toInt(); - if(value < 0){ - disableDHT->setChecked(true); - groupDHT->setEnabled(false); - }else{ - disableDHT->setChecked(false); - groupDHT->setEnabled(true); - if(value < 1000){ - value = 6881; + intValue = settings.value(QString::fromUtf8("ProxyType"), 0).toInt(); + if(intValue < 0) intValue = 0; + comboProxyType->setCurrentIndex(intValue); + enableProxy(intValue); + if(isProxyEnabled()) { + settings.beginGroup("Proxy"); + // Proxy is enabled, save settings + textProxyIP->setText(settings.value(QString::fromUtf8("IP"), "0.0.0.0").toString()); + spinProxyPort->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt()); + checkProxyAuth->setChecked(settings.value(QString::fromUtf8("Authentication"), false).toBool()); + if(isProxyAuthEnabled()) { + enableProxyAuth(2); // Enable + // Credentials + textProxyUsername->setText(settings.value(QString::fromUtf8("Username"), QString()).toString()); + textProxyPassword->setText(settings.value(QString::fromUtf8("Password"), QString()).toString()); + } else { + enableProxyAuth(0); // Disable } - spin_dht_port->setValue(value); + // Affected connections + checkProxyTrackers->setChecked(settings.value(QString::fromUtf8("AffectTrackers"), true).toBool()); + checkProxyPeers->setChecked(settings.value(QString::fromUtf8("AffectPeers"), true).toBool()); + checkProxyWebseeds->setChecked(settings.value(QString::fromUtf8("AffectWebSeeds"), true).toBool()); + checkProxyDHT->setChecked(settings.value(QString::fromUtf8("AffectDHT"), true).toBool()); + settings.endGroup(); // End Proxy } - value = settings.value(QString::fromUtf8("EncryptionState"), 0).toInt(); - comboEncryption->setCurrentIndex(value); - boolValue = settings.value(QString::fromUtf8("PeXState"), true).toBool(); - if(boolValue){ - // Pex disabled - disablePeX->setChecked(false); - }else{ - // PeX enabled - disablePeX->setChecked(true); + // End Connection preferences + settings.endGroup(); + // Bittorrent preferences + settings.beginGroup("Bittorrent"); + intValue = settings.value(QString::fromUtf8("MaxConnecs"), 500).toInt(); + if(intValue != -1) { + // enable + checkMaxConnecs->setChecked(true); + spinMaxConnec->setEnabled(true); + spinMaxConnec->setValue(intValue); + } else { + // disable + checkMaxConnecs->setChecked(false); + spinMaxConnec->setEnabled(false); } - strValue = settings.value(QString::fromUtf8("ScanDir"), QString()).toString(); - if(!strValue.isEmpty()){ - enableScan_checkBox->setChecked(true); - lbl_scanDir->setEnabled(true); - scanDir->setEnabled(true); - browse_button_scan->setEnabled(true); - scanDir->setText(strValue); - }else{ - enableScan_checkBox->setChecked(false); - lbl_scanDir->setEnabled(false); - browse_button_scan->setEnabled(false); - scanDir->setEnabled(false); + intValue = settings.value(QString::fromUtf8("MaxConnecsPerTorrent"), 100).toInt(); + if(intValue != -1) { + // enable + checkMaxConnecsPerTorrent->setChecked(true); + spinMaxConnecPerTorrent->setEnabled(true); + spinMaxConnecPerTorrent->setValue(intValue); + } else { + // disable + checkMaxConnecsPerTorrent->setChecked(false); + spinMaxConnecPerTorrent->setEnabled(false); } - // End Main options - settings.endGroup(); - // Language options - settings.beginGroup(QString::fromUtf8("Language")); - strValue = settings.value(QString::fromUtf8("Locale"), QString::fromUtf8("en_GB")).toString(); - setLocale(strValue); - // End Language options - settings.endGroup(); - // IPFilter options - settings.beginGroup(QString::fromUtf8("IPFilter")); - if(settings.value(QString::fromUtf8("Enabled"), false).toBool()){ - strValue = settings.value(QString::fromUtf8("File"), QString()).toString(); - activateFilter->setChecked(true); - filterGroup->setEnabled(true); - filterFile->setText(strValue); - processFilterFile(strValue); - }else{ - activateFilter->setChecked(false); - filterGroup->setEnabled(false); + intValue = settings.value(QString::fromUtf8("MaxUploadsPerTorrent"), 4).toInt(); + if(intValue != -1) { + // enable + checkMaxUploadsPerTorrent->setChecked(true); + spinMaxUploadsPerTorrent->setEnabled(true); + spinMaxUploadsPerTorrent->setValue(intValue); + } else { + // disable + checkMaxUploadsPerTorrent->setChecked(false); + spinMaxUploadsPerTorrent->setEnabled(false); } - // End IPFilter options - settings.endGroup(); - // Proxy options - settings.beginGroup(QString::fromUtf8("Proxy")); - if(settings.value(QString::fromUtf8("Enabled"), false).toBool()){ - strValue = settings.value(QString::fromUtf8("IP"), QString()).toString(); - if(strValue.isEmpty()){ - enableProxy_checkBox->setChecked(false); - groupProxy->setEnabled(false); - }else{ - enableProxy_checkBox->setChecked(true); - groupProxy->setEnabled(true); - proxy_ip->setText(strValue); - proxy_port->setValue(settings.value(QString::fromUtf8("Port"), 8080).toInt()); - comboProxyType->setCurrentIndex(settings.value(QString::fromUtf8("ProxyType"), HTTP).toInt()); - checkProxyTrackers->setChecked(settings.value(QString::fromUtf8("useProxyForTrackers"), true).toBool()); - checkProxyPeers->setChecked(settings.value(QString::fromUtf8("useProxyForPeers"), true).toBool()); - checkProxyWebseeds->setChecked(settings.value(QString::fromUtf8("useProxyForWebseeds"), true).toBool()); - checkProxyDHT->setChecked(settings.value(QString::fromUtf8("useProxyForDHT"), true).toBool()); - settings.beginGroup(QString::fromUtf8("Authentication")); - if(settings.value(QString::fromUtf8("Enabled"), false).toBool()){ - enableProxyAuth_checkBox->setChecked(true); - groupProxyAuth->setEnabled(true); - proxy_username->setText(settings.value(QString::fromUtf8("Username"), QString()).toString()); - proxy_password->setText(settings.value(QString::fromUtf8("Password"), QString()).toString()); - }else{ - enableProxyAuth_checkBox->setChecked(false); - groupProxyAuth->setEnabled(false); - } - settings.endGroup(); - } - }else{ - enableProxy_checkBox->setChecked(false); - groupProxy->setEnabled(false); + checkDHT->setChecked(settings.value(QString::fromUtf8("DHT"), true).toBool()); + checkPeX->setChecked(settings.value(QString::fromUtf8("PeX"), true).toBool()); + checkLSD->setChecked(settings.value(QString::fromUtf8("LSD"), true).toBool()); + comboEncryption->setCurrentIndex(settings.value(QString::fromUtf8("Encryption"), 0).toInt()); + floatValue = settings.value(QString::fromUtf8("DesiredRatio"), -1).toDouble(); + if(floatValue >= 1.) { + // Enable + checkRatioLimit->setChecked(true); + spinRatio->setEnabled(true); + spinRatio->setValue(floatValue); + } else { + // Disable + checkRatioLimit->setChecked(false); + spinRatio->setEnabled(false); } - // End Proxy options - settings.endGroup(); - // Misc options - settings.beginGroup(QString::fromUtf8("Misc")); - settings.beginGroup(QString::fromUtf8("TorrentAdditionDialog")); - if(settings.value(QString::fromUtf8("Enabled"), true).toBool()){ - checkAdditionDialog->setChecked(true); - groupSavePath->setEnabled(false); - }else{ - checkAdditionDialog->setChecked(false); - groupSavePath->setEnabled(true); - txt_savePath->setText(settings.value(QString::fromUtf8("SavePath"), QString()).toString()); + floatValue = settings.value(QString::fromUtf8("MaxRatio"), -1).toDouble(); + if(floatValue >= 1.) { + // Enable + checkRatioRemove->setChecked(true); + spinMaxRatio->setEnabled(true); + spinMaxRatio->setValue(floatValue); + } else { + // Disable + checkRatioRemove->setChecked(false); + spinMaxRatio->setEnabled(false); } + // End Bittorrent preferences settings.endGroup(); - settings.beginGroup(QString::fromUtf8("Behaviour")); - confirmExit_checkBox->setChecked(settings.value(QString::fromUtf8("ConfirmOnExit"), true).toBool()); - check_goToSysTray->setChecked(settings.value(QString::fromUtf8("GoToSystray"), true).toBool()); - check_closeToSysTray->setChecked(settings.value(QString::fromUtf8("GoToSystrayOnExit"), false).toBool()); - boolValue = settings.value(QString::fromUtf8("SystrayIntegration"), true).toBool(); - check_disableSystray->setChecked(!boolValue); - systrayDisabled(!boolValue); - // End Behaviour group - settings.endGroup(); - preview_program->setText(settings.value(QString::fromUtf8("PreviewProgram"), QString()).toString()); - // End Misc group - settings.endGroup(); - value = settings.value(QString::fromUtf8("OSDEnabled"), 1).toInt(); - if(value == 0){ - neverOSD->setChecked(true); - }else{ - if(value == 2){ - someOSD->setChecked(true); - }else{ - alwaysOSD->setChecked(true); - } + // Misc preferences + // * IP Filter + settings.beginGroup("IPFilter"); + checkIPFilter->setChecked(settings.value(QString::fromUtf8("Enabled"), false).toBool()); + if(isFilteringEnabled()) { + enableFilter(2); // Enable + textFilterPath->setText(settings.value(QString::fromUtf8("File"), QString()).toString()); + processFilterFile(textFilterPath->text()); + } else { + enableFilter(0); // Disable } - setStyle(settings.value(QString::fromUtf8("Style"), QString()).toString()); - // End Options group + // End IP Filter + settings.endGroup(); + // * RSS + settings.beginGroup("RSS"); + spinRSSRefresh->setValue(settings.value(QString::fromUtf8("RSSRefresh"), 5).toInt()); + spinRSSMaxArticlesPerFeed->setValue(settings.value(QString::fromUtf8("RSSMaxArticlesPerFeed"), 50).toInt()); + // End RSS preferences settings.endGroup(); -} - -void options_imp::systrayDisabled(int val){ - if(val){ - // No SystrayIntegration - check_closeToSysTray->setChecked(false); - check_closeToSysTray->setEnabled(false); - check_goToSysTray->setChecked(false); - check_goToSysTray->setEnabled(false); - neverOSD->setChecked(true); - groupOSD->setEnabled(false); - }else{ - check_closeToSysTray->setEnabled(true); - check_goToSysTray->setEnabled(true); - groupOSD->setEnabled(true); - } } // return min & max ports // [min, max] std::pair options_imp::getPorts() const{ - return std::make_pair(this->spin_port_min->value(), this->spin_port_max->value()); -} - -int options_imp::getDHTPort() const{ - if(isDHTEnabled()){ - return spin_dht_port->value(); - }else{ - return -1; - } + return std::make_pair(spinPortMin->value(), spinPortMax->value()); } int options_imp::getEncryptionSetting() const{ @@ -639,72 +584,90 @@ int options_imp::getEncryptionSetting() const{ } QString options_imp::getPreviewProgram() const{ - QString preview_txt = preview_program->text(); - preview_txt.trimmed(); + QString preview_txt = textMediaPlayer->text(); + preview_txt = preview_txt.trimmed(); return preview_txt; } -bool options_imp::getGoToSysTrayOnMinimizingWindow() const{ - return check_goToSysTray->isChecked(); +bool options_imp::minimizeToTray() const{ + if(checkNoSystray->isChecked()) return false; + return checkMinimizeToSysTray->isChecked(); } -bool options_imp::getGoToSysTrayOnExitingWindow() const{ - return check_closeToSysTray->isChecked(); +bool options_imp::closeToTray() const{ + if(checkNoSystray->isChecked()) return false; + return checkCloseToSystray->isChecked(); } -bool options_imp::getConfirmOnExit() const{ - return confirmExit_checkBox->isChecked(); +unsigned int options_imp::getRefreshInterval() const { + return spinRefreshInterval->value(); +} + +bool options_imp::confirmOnExit() const{ + return checkConfirmExit->isChecked(); +} + +bool options_imp::isDirScanEnabled() const { + return checkScanDir->isChecked(); } bool options_imp::isDHTEnabled() const{ - return !disableDHT->isChecked(); + return checkDHT->isChecked(); } -bool options_imp::isPeXDisabled() const{ - return disablePeX->isChecked(); +bool options_imp::isPeXEnabled() const{ + return checkPeX->isChecked(); } + +bool options_imp::isLSDEnabled() const{ + return checkLSD->isChecked(); +} + +bool options_imp::isUPnPEnabled() const{ + return checkUPnP->isChecked(); +} + +bool options_imp::isNATPMPEnabled() const{ + return checkNATPMP->isChecked(); +} + // Return Download & Upload limits in kbps // [download,upload] -QPair options_imp::getLimits() const{ +QPair options_imp::getGlobalBandwidthLimits() const{ int DL = -1, UP = -1; - if(!disableDLLimit->isChecked()){ - DL = this->spin_download->value(); + if(checkDownloadLimit->isChecked()){ + DL = spinDownloadLimit->value(); } - if(!disableUPLimit->isChecked()){ - UP = this->spin_upload->value(); + if(checkUploadLimit->isChecked()){ + UP = spinUploadLimit->value(); } return qMakePair(DL, UP); } -// Should the program use OSD? -bool options_imp::getUseOSDAlways() const{ - if(!QSystemTrayIcon::supportsMessages()){ - // Mac OS X doesn't support it yet - return false; - } - return alwaysOSD->isChecked(); +bool options_imp::OSDEnabled() const { + if(checkNoSystray->isChecked()) return false; + return checkSystrayBalloons->isChecked(); } -// Should the program use OSD when the window is hidden only? -bool options_imp::getUseOSDWhenHiddenOnly() const{ - if(!QSystemTrayIcon::supportsMessages()){ - // Mac OS X doesn't support it yet - return false; - } - return someOSD->isChecked(); -} - -bool options_imp::useSystrayIntegration() const{ +bool options_imp::systrayIntegration() const{ if (!QSystemTrayIcon::isSystemTrayAvailable()) return false; - return (!check_disableSystray->isChecked()); + return (!checkNoSystray->isChecked()); } // Return Share ratio -float options_imp::getRatio() const{ - if(!disableRatio->isChecked()){ - return spin_ratio->value(); +float options_imp::getDesiredRatio() const{ + if(checkRatioLimit->isChecked()){ + return spinRatio->value(); } - return 0; + return -1; +} + +// Return Share ratio +float options_imp::getDeleteRatio() const{ + if(checkRatioRemove->isChecked()){ + return spinMaxRatio->value(); + } + return -1; } // Return Save Path @@ -713,18 +676,34 @@ QString options_imp::getSavePath() const{ if(home[home.length()-1] != QDir::separator()){ home += QDir::separator(); } - if(txt_savePath->text().trimmed().isEmpty()){ - txt_savePath->setText(home+QString::fromUtf8("qBT_dir")); + if(textSavePath->text().trimmed().isEmpty()){ + textSavePath->setText(home+QString::fromUtf8("qBT_dir")); } - return txt_savePath->text(); + return textSavePath->text(); } // Return max connections number -int options_imp::getMaxConnec() const{ - if(disableMaxConnec->isChecked()){ +int options_imp::getMaxConnecs() const{ + if(!checkMaxConnecs->isChecked()){ return -1; }else{ - return spin_max_connec->value(); + return spinMaxConnec->value(); + } +} + +int options_imp::getMaxConnecsPerTorrent() const{ + if(!checkMaxConnecsPerTorrent->isChecked()){ + return -1; + }else{ + return spinMaxConnecPerTorrent->value(); + } +} + +int options_imp::getMaxUploadsPerTorrent() const{ + if(!checkMaxUploadsPerTorrent->isChecked()){ + return -1; + }else{ + return spinMaxUploadsPerTorrent->value(); } } @@ -758,33 +737,13 @@ void options_imp::on_buttonBox_rejected(){ reject(); } -void options_imp::disableDownload(int checkBoxValue){ - if(checkBoxValue==2){ +void options_imp::enableDownloadLimit(int checkBoxValue){ + if(checkBoxValue!=2){ //Disable - spin_download->setEnabled(false); + spinDownloadLimit->setEnabled(false); }else{ //enable - spin_download->setEnabled(true); - } -} - -void options_imp::disableDHTGroup(int checkBoxValue){ - if(checkBoxValue==2){ - //Disable - groupDHT->setEnabled(false); - }else{ - //enable - groupDHT->setEnabled(true); - } -} - -void options_imp::enableSavePath(int checkBoxValue){ - if(checkBoxValue==2){ - //enable - groupSavePath->setEnabled(false); - }else{ - //disable - groupSavePath->setEnabled(true); + spinDownloadLimit->setEnabled(true); } } @@ -792,33 +751,83 @@ bool options_imp::useAdditionDialog() const{ return checkAdditionDialog->isChecked(); } -void options_imp::disableMaxConnecLimit(int checkBoxValue){ - if(checkBoxValue==2){ +void options_imp::enableMaxConnecsLimit(int checkBoxValue){ + if(checkBoxValue != 2){ //Disable - spin_max_connec->setEnabled(false); + spinMaxConnec->setEnabled(false); }else{ //enable - spin_max_connec->setEnabled(true); + spinMaxConnec->setEnabled(true); + } +} + +void options_imp::enableMaxConnecsLimitPerTorrent(int checkBoxValue){ + if(checkBoxValue != 2){ + //Disable + spinMaxConnecPerTorrent->setEnabled(false); + }else{ + //enable + spinMaxConnecPerTorrent->setEnabled(true); + } +} + +void options_imp::enableSystrayOptions() { + checkCloseToSystray->setEnabled(true); + checkMinimizeToSysTray->setEnabled(true); + checkSystrayBalloons->setEnabled(true); +} + +void options_imp::disableSystrayOptions() { + checkCloseToSystray->setEnabled(false); + checkMinimizeToSysTray->setEnabled(false); + checkSystrayBalloons->setEnabled(false); +} + +void options_imp::setSystrayOptionsState(int checkBoxValue) { + if(checkBoxValue == 2) { + disableSystrayOptions(); + } else { + enableSystrayOptions(); + } +} + +void options_imp::enableMaxUploadsLimitPerTorrent(int checkBoxValue){ + if(checkBoxValue != 2){ + //Disable + spinMaxUploadsPerTorrent->setEnabled(false); + }else{ + //enable + spinMaxUploadsPerTorrent->setEnabled(true); } } void options_imp::enableFilter(int checkBoxValue){ if(checkBoxValue!=2){ //Disable - filterGroup->setEnabled(false); + filtersList->setEnabled(false); + addFilterRangeButton->setEnabled(false); + delFilterRangeButton->setEnabled(false); + lblFilterPath->setEnabled(false); + textFilterPath->setEnabled(false); + browseFilterButton->setEnabled(false); }else{ //enable - filterGroup->setEnabled(true); + filtersList->setEnabled(true); + addFilterRangeButton->setEnabled(true); + delFilterRangeButton->setEnabled(true); + lblFilterPath->setEnabled(true); + textFilterPath->setEnabled(true); + browseFilterButton->setEnabled(true); } } -void options_imp::disableUpload(int checkBoxValue){ - if(checkBoxValue==2){ +void options_imp::enableUploadLimit(int checkBoxValue){ + if(checkBoxValue != 2){ //Disable - spin_upload->setEnabled(false); + spinUploadLimit->setEnabled(false); }else{ //enable - spin_upload->setEnabled(true); + spinUploadLimit->setEnabled(true); } } @@ -828,133 +837,177 @@ void options_imp::enableApplyButton(){ } } -void options_imp::disableShareRatio(int checkBoxValue){ - if(checkBoxValue==2){ +void options_imp::enableShareRatio(int checkBoxValue){ + if(checkBoxValue != 2){ //Disable - spin_ratio->setEnabled(false); + spinRatio->setEnabled(false); }else{ //enable - spin_ratio->setEnabled(true); + spinRatio->setEnabled(true); } } -void options_imp::enableProxy(int checkBoxValue){ - if(checkBoxValue==2){ +void options_imp::enableDeleteRatio(int checkBoxValue){ + if(checkBoxValue != 2){ + //Disable + spinMaxRatio->setEnabled(false); + }else{ //enable - groupProxy->setEnabled(true); + spinMaxRatio->setEnabled(true); + } +} + +void options_imp::enableProxy(int index){ + if(index){ + //enable + lblProxyIP->setEnabled(true); + textProxyIP->setEnabled(true); + lblProxyPort->setEnabled(true); + spinProxyPort->setEnabled(true); + checkProxyAuth->setEnabled(true); + ProxyConnecsBox->setEnabled(true); }else{ //disable - groupProxy->setEnabled(false); + lblProxyIP->setEnabled(false); + textProxyIP->setEnabled(false); + lblProxyPort->setEnabled(false); + spinProxyPort->setEnabled(false); + checkProxyAuth->setEnabled(false); + ProxyConnecsBox->setEnabled(false); } } void options_imp::enableProxyAuth(int checkBoxValue){ if(checkBoxValue==2){ //enable - groupProxyAuth->setEnabled(true); + lblProxyUsername->setEnabled(true); + lblProxyPassword->setEnabled(true); + textProxyUsername->setEnabled(true); + textProxyPassword->setEnabled(true); }else{ //disable - groupProxyAuth->setEnabled(false); + lblProxyUsername->setEnabled(false); + lblProxyPassword->setEnabled(false); + textProxyUsername->setEnabled(false); + textProxyPassword->setEnabled(false); } } void options_imp::enableDirScan(int checkBoxValue){ if(checkBoxValue==2){ //enable - lbl_scanDir->setEnabled(true); - scanDir->setEnabled(true); - browse_button_scan->setEnabled(true); + textScanDir->setEnabled(true); + browseScanDirButton->setEnabled(true); }else{ //disable - lbl_scanDir->setEnabled(false); - scanDir->setEnabled(false); - browse_button_scan->setEnabled(false); + textScanDir->setEnabled(false); + browseScanDirButton->setEnabled(false); } } +bool options_imp::speedInTitleBar() const { + return checkSpeedInTitle->isChecked(); +} + +bool options_imp::preAllocateAllFiles() const { + return checkPreallocateAll->isChecked(); +} + +bool options_imp::addTorrentsInPause() const { + return checkStartPaused->isChecked(); +} + // Proxy settings bool options_imp::isProxyEnabled() const{ - return groupProxy->isEnabled(); + return comboProxyType->currentIndex(); } bool options_imp::isProxyAuthEnabled() const{ - return groupProxyAuth->isEnabled(); + return checkProxyAuth->isChecked(); } QString options_imp::getProxyIp() const{ - return proxy_ip->text(); + QString ip = textProxyIP->text(); + ip = ip.trimmed(); + return ip; } unsigned short options_imp::getProxyPort() const{ - return proxy_port->value(); + return spinProxyPort->value(); } QString options_imp::getProxyUsername() const{ - return proxy_username->text(); + QString username = textProxyUsername->text(); + username = username.trimmed(); + return username; } QString options_imp::getProxyPassword() const{ - return proxy_password->text(); + QString password = textProxyPassword->text(); + password = password.trimmed(); + return password; } // Locale Settings QString options_imp::getLocale() const{ - return locales.at(combo_i18n->currentIndex()); + return locales.at(comboI18n->currentIndex()); } void options_imp::setLocale(QString locale){ int indexLocales=locales.indexOf(QRegExp(locale)); if(indexLocales != -1){ - combo_i18n->setCurrentIndex(indexLocales); + comboI18n->setCurrentIndex(indexLocales); } } // Is called before saving to check if minPort < maxPort void options_imp::checkPortsLogic(){ - int maxValue = spin_port_max->value(); - if(spin_port_min->value() > spin_port_max->value()){ - spin_port_max->setValue(spin_port_min->value()); - spin_port_min->setValue(maxValue); + int maxValue = spinPortMax->value(); + if(spinPortMin->value() > spinPortMax->value()){ + spinPortMax->setValue(spinPortMin->value()); + spinPortMin->setValue(maxValue); } } // Return scan dir set in options -QString options_imp::getScanDir() const{ - if(scanDir->isEnabled()){ - return scanDir->text(); +QString options_imp::getScanDir() const { + if(checkScanDir->isChecked()){ + QString scanDir = textScanDir->text(); + scanDir = scanDir.trimmed(); + return scanDir; }else{ return QString(); } } // Display dialog to choose scan dir -void options_imp::on_browse_button_scan_clicked(){ +void options_imp::on_browseScanDirButton_clicked() { QString dir = QFileDialog::getExistingDirectory(this, tr("Choose scan directory"), QDir::homePath()); if(!dir.isNull()){ - scanDir->setText(dir); + textScanDir->setText(dir); } } -void options_imp::on_filterBrowse_clicked(){ +void options_imp::on_browseFilterButton_clicked() { QString ipfilter = QFileDialog::getOpenFileName(this, tr("Choose an ipfilter.dat file"), QDir::homePath()); if(!ipfilter.isNull()){ - filterFile->setText(ipfilter); + textFilterPath->setText(ipfilter); processFilterFile(ipfilter); } } -void options_imp::on_browsePreview_clicked(){ +void options_imp::on_browsePreviewButton_clicked() { QString program_txt = QFileDialog::getOpenFileName(this, tr("Choose your favourite preview program"), QDir::homePath()); if(!program_txt.isNull()){ - preview_program->setText(program_txt); + textMediaPlayer->setText(program_txt); } } // Display dialog to choose save dir -void options_imp::on_browse_button_clicked(){ +void options_imp::on_browseSaveDirButton_clicked(){ QString dir = QFileDialog::getExistingDirectory(this, tr("Choose a save directory"), QDir::homePath()); if(!dir.isNull()){ - txt_savePath->setText(dir); + textSavePath->setText(dir); } } @@ -1075,7 +1128,7 @@ ip_filter options_imp::getFilter() const{ } // Add an IP Range to ipFilter -void options_imp::on_addFilterRange_clicked(){ +void options_imp::on_addFilterRangeButton_clicked(){ bool ok; // Ask user for start ip QString startIP = QInputDialog::getText(this, tr("Range Start IP"), @@ -1132,17 +1185,17 @@ void options_imp::on_addFilterRange_clicked(){ QTextStream out(&ipfilter); out << startIP << " - " << lastIP << ", 0, " << comment << "\n"; ipfilter.close(); - processFilterFile(filterFile->text()); + processFilterFile(textFilterPath->text()); enableApplyButton(); } // Delete selected IP range in list and ipfilter.dat file // User can only delete IP added manually -void options_imp::on_delFilterRange_clicked(){ +void options_imp::on_delFilterRangeButton_clicked(){ bool changed = false; QList selectedItems = filtersList->selectedItems(); // Delete from list - for(int i=0;itext(2) == QString::fromUtf8("Manual")){ delete item; diff --git a/src/options_imp.h b/src/options_imp.h index b8520a0b9..58946b432 100644 --- a/src/options_imp.h +++ b/src/options_imp.h @@ -25,10 +25,10 @@ #include "ui_options.h" #include -#define HTTP 0 -#define SOCKS5 1 -#define HTTP_PW 2 -#define SOCKS5_PW 3 +#define HTTP 1 +#define SOCKS5 2 +#define HTTP_PW 3 +#define SOCKS5_PW 4 using namespace libtorrent; @@ -51,71 +51,83 @@ class options_imp : public QDialog, private Ui::Dialog{ // Methods void saveOptions(); void loadOptions(); - // Main options - std::pair getPorts() const; - QPair getLimits() const; - float getRatio() const; - int getMaxConnec() const; + // General options + QString getLocale() const; + int getStyle() const; + bool confirmOnExit() const; + bool speedInTitleBar() const; + unsigned int getRefreshInterval() const; + bool systrayIntegration() const; + bool minimizeToTray() const; + bool closeToTray() const; + bool OSDEnabled() const; + QString getPreviewProgram() const; + // Downloads + QString getSavePath() const; + bool preAllocateAllFiles() const; + bool useAdditionDialog() const; + bool addTorrentsInPause() const; + bool isDirScanEnabled() const; QString getScanDir() const; - bool isDHTEnabled() const; - int getDHTPort() const; - int getEncryptionSetting() const; - bool isPeXDisabled() const; - // Filter Settings - bool isFilteringEnabled() const; - ip_filter getFilter() const; - // Proxy settings + // Connection options + std::pair getPorts() const; + bool isUPnPEnabled() const; + bool isNATPMPEnabled() const; + QPair getGlobalBandwidthLimits() const; bool isProxyEnabled() const; bool isProxyAuthEnabled() const; QString getProxyIp() const; unsigned short getProxyPort() const; QString getProxyUsername() const; QString getProxyPassword() const; - unsigned short getProxyType() const; + int getProxyType() const; bool useProxyForTrackers() const; bool useProxyForPeers() const; bool useProxyForWebseeds() const; bool useProxyForDHT() const; - // Language Settings - QString getLocale() const; - // Misc Settings - bool useAdditionDialog() const; - QString getSavePath() const; - bool getGoToSysTrayOnMinimizingWindow() const; - bool getGoToSysTrayOnExitingWindow() const; - bool getConfirmOnExit() const; - QString getPreviewProgram() const; - bool getUseOSDAlways() const; - bool getUseOSDWhenHiddenOnly() const; - QString getStyle() const; - bool useSystrayIntegration() const; + // Bittorrent options + int getMaxConnecs() const; + int getMaxConnecsPerTorrent() const; + int getMaxUploadsPerTorrent() const; + bool isDHTEnabled() const; + bool isPeXEnabled() const; + bool isLSDEnabled() const; + int getEncryptionSetting() const; + float getDesiredRatio() const; + float getDeleteRatio() const; + // IP Filter + bool isFilteringEnabled() const; + ip_filter getFilter() const; protected slots: + void enableUploadLimit(int checkBoxValue); + void enableDownloadLimit(int checkBoxValue); + void enableDirScan(int checkBoxValue); + void enableProxy(int comboIndex); + void enableProxyAuth(int checkBoxValue); + void enableMaxConnecsLimit(int); + void enableMaxConnecsLimitPerTorrent(int checkBoxValue); + void enableMaxUploadsLimitPerTorrent(int checkBoxValue); + void enableShareRatio(int checkBoxValue); + void enableDeleteRatio(int checkBoxValue); + void enableFilter(int checkBoxValue); + void setStyle(int style); void on_buttonBox_accepted(); void closeEvent(QCloseEvent *e); void on_buttonBox_rejected(); void applySettings(QAbstractButton* button); - void on_addFilterRange_clicked(); - void on_delFilterRange_clicked(); - void on_browse_button_scan_clicked(); - void on_browsePreview_clicked(); - void on_filterBrowse_clicked(); - void disableDownload(int checkBoxValue); - void disableDHTGroup(int checkBoxValue); - void disableMaxConnecLimit(int); - void enableFilter(int checkBoxValue); - void disableUpload(int checkBoxValue); - void disableShareRatio(int checkBoxValue); - void enableProxy(int checkBoxValue); - void enableProxyAuth(int checkBoxValue); - void enableDirScan(int checkBoxValue); - void on_browse_button_clicked(); + void on_addFilterRangeButton_clicked(); + void on_delFilterRangeButton_clicked(); + void on_browseScanDirButton_clicked(); + void on_browsePreviewButton_clicked(); + void on_browseFilterButton_clicked(); + void on_browseSaveDirButton_clicked(); void processFilterFile(QString filePath=QString()); void enableApplyButton(); void checkPortsLogic(); - void enableSavePath(int checkBoxValue); - void setStyle(QString style); - void systrayDisabled(int val); + void enableSystrayOptions(); + void disableSystrayOptions(); + void setSystrayOptionsState(int checkBoxValue); public slots: void setLocale(QString locale); diff --git a/src/pluginSource.h b/src/pluginSource.h new file mode 100644 index 000000000..ed27ae849 --- /dev/null +++ b/src/pluginSource.h @@ -0,0 +1,56 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#ifndef PLUGIN_SOURCE_H +#define PLUGIN_SOURCE_H + +#include +#include "ui_pluginSource.h" + +class pluginSourceDlg: public QDialog, private Ui::pluginSourceDlg { + Q_OBJECT + + signals: + void askForUrl(); + void askForLocalFile(); + + protected slots: + void on_localButton_clicked() { + emit askForLocalFile(); + close(); + } + + void on_urlButton_clicked() { + emit askForUrl(); + close(); + } + + public: + pluginSourceDlg(QWidget* parent): QDialog(parent){ + setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + show(); + } + + ~pluginSourceDlg(){} +}; + +#endif diff --git a/src/pluginSource.ui b/src/pluginSource.ui new file mode 100644 index 000000000..ecfcbc49c --- /dev/null +++ b/src/pluginSource.ui @@ -0,0 +1,52 @@ + + pluginSourceDlg + + + + 0 + 0 + 207 + 76 + + + + Plugin source + + + + + + + 75 + true + true + + + + Search plugin source: + + + + + + + + + Local file + + + + + + + Web link + + + + + + + + + + diff --git a/src/properties.ui b/src/properties.ui index 1e2c90ac0..5d4a9560a 100644 --- a/src/properties.ui +++ b/src/properties.ui @@ -13,12 +13,21 @@ Torrent Properties - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -29,12 +38,6 @@ Main infos - - 9 - - - 6 - @@ -81,28 +84,55 @@ Torrent infos - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -189,12 +219,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -276,9 +315,7 @@ - - 0 - 0 + 0 0 @@ -304,28 +341,55 @@ Current session - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -402,12 +466,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -481,18 +554,25 @@ Trackers - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 7 - 0 + 0 0 @@ -518,20 +598,38 @@ Tracker - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -552,18 +650,25 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 7 - 0 + 0 0 @@ -572,12 +677,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -648,12 +762,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -724,12 +847,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -759,12 +891,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -827,12 +968,21 @@ Url seeds - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -851,12 +1001,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -931,12 +1090,21 @@ Torrent content - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -972,12 +1140,6 @@ QAbstractItemView::ExtendedSelection - - 1 - - - false - @@ -1010,12 +1172,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + diff --git a/src/properties_imp.cpp b/src/properties_imp.cpp index 49cef70ae..b322b0e7f 100644 --- a/src/properties_imp.cpp +++ b/src/properties_imp.cpp @@ -23,6 +23,7 @@ #include "misc.h" #include "PropListDelegate.h" #include "bittorrent.h" +#include "arborescence.h" #include #include @@ -43,12 +44,13 @@ properties::properties(QWidget *parent, bittorrent *BTSession, QTorrentHandle &h deleteWS_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); setAttribute(Qt::WA_DeleteOnClose); // Set Properties list model - PropListModel = new QStandardItemModel(0,4); + PropListModel = new QStandardItemModel(0,5); PropListModel->setHeaderData(NAME, Qt::Horizontal, tr("File name")); PropListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size")); PropListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Progress")); PropListModel->setHeaderData(PRIORITY, Qt::Horizontal, tr("Priority")); filesList->setModel(PropListModel); + filesList->hideColumn(INDEX); PropDelegate = new PropListDelegate(0, &changedFilteredfiles); filesList->setItemDelegate(PropDelegate); connect(filesList, SIGNAL(clicked(const QModelIndex&)), filesList, SLOT(edit(const QModelIndex&))); @@ -96,16 +98,14 @@ properties::properties(QWidget *parent, bittorrent *BTSession, QTorrentHandle &h loadTrackersErrors(); std::vector fp; h.file_progress(fp); + int *prioritiesTab = loadPiecesPriorities(); // List files in torrent - unsigned int nbFiles = h.num_files(); - for(unsigned int i=0; irowCount(); - PropListModel->insertRow(row); - PropListModel->setData(PropListModel->index(row, NAME), QVariant(h.file_at(i))); - PropListModel->setData(PropListModel->index(row, SIZE), QVariant((qlonglong)h.filesize_at(i))); - PropListModel->setData(PropListModel->index(row, PROGRESS), QVariant((double)fp[i])); - } - loadPiecesPriorities(); + arborescence *arb = new arborescence(h.get_torrent_info(), fp, prioritiesTab); + addFilesToTree(arb->getRoot(), PropListModel->invisibleRootItem()); + delete arb; + delete prioritiesTab; + connect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); + filesList->expandAll(); // List web seeds loadWebSeedsFromFile(); loadWebSeeds(); @@ -127,6 +127,111 @@ properties::~properties(){ delete PropListModel; } +void properties::addFilesToTree(file *root, QStandardItem *parent) { + QList child; + // Name + QStandardItem *first; + if(root->isDir()) { + first = new QStandardItem(QIcon(":/Icons/folder.png"), root->name()); + } else { + first = new QStandardItem(QIcon(":/Icons/file.png"), root->name()); + } + child << first; + // Size + child << new QStandardItem(misc::toQString(root->getSize())); + // Progress + child << new QStandardItem(misc::toQString(root->getProgress())); + // Prio + child << new QStandardItem(misc::toQString(root->getPriority())); + // INDEX + child << new QStandardItem(misc::toQString(root->getIndex())); + // TODO: row Color? + // Add the child to the tree + parent->appendRow(child); + // Add childs + file *childFile; + foreach(childFile, root->getChildren()) { + addFilesToTree(childFile, first); + } +} + +// priority is the new priority of given item +void properties::updateParentsPriority(QStandardItem *item, int priority) { + QStandardItem *parent = item->parent(); + if(!parent) return; + // Check if children have different priorities + // then folder must have NORMAL priority + unsigned int rowCount = parent->rowCount(); + for(unsigned int i=0; ichild(i, PRIORITY)->text().toInt() != priority) { + QStandardItem *grandFather = parent->parent(); + if(!grandFather) { + grandFather = PropListModel->invisibleRootItem(); + } + QStandardItem *parentPrio = grandFather->child(parent->row(), PRIORITY); + if(parentPrio->text().toInt() != NORMAL) { + parentPrio->setText(misc::toQString(NORMAL)); + // Recursively update ancesters of this parent too + updateParentsPriority(grandFather->child(parent->row()), priority); + } + return; + } + } + // All the children have the same priority + // Parent folder should have the same priority too + QStandardItem *grandFather = parent->parent(); + if(!grandFather) { + grandFather = PropListModel->invisibleRootItem(); + } + QStandardItem *parentPrio = grandFather->child(parent->row(), PRIORITY); + if(parentPrio->text().toInt() != priority) { + parentPrio->setText(misc::toQString(priority)); + // Recursively update ancesters of this parent too + updateParentsPriority(grandFather->child(parent->row()), priority); + } +} + +void properties::updateChildrenPriority(QStandardItem *item, int priority) { + QStandardItem *parent = item->parent(); + if(!parent) { + parent = PropListModel->invisibleRootItem(); + } + parent = parent->child(item->row()); + unsigned int rowCount = parent->rowCount(); + for(unsigned int i=0; ichild(i, PRIORITY); + if(childPrio->text().toInt() != priority) { + childPrio->setText(misc::toQString(priority)); + // recursively update children of this child too + updateChildrenPriority(parent->child(i), priority); + } + } +} + +void properties::updatePriorities(QStandardItem *item) { + qDebug("Priority changed"); + // First we disable the signal/slot on item edition + // temporarily so that it doesn't mess with our manual updates + disconnect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); + QStandardItem *parent = item->parent(); + if(!parent) { + parent = PropListModel->invisibleRootItem(); + } + int priority = parent->child(item->row(), PRIORITY)->text().toInt(); + // Update parents priorities + updateParentsPriority(item, priority); + // If this is not a directory, then there are + // no children to update + if(parent->child(item->row(), INDEX)->text().toInt() == -1) { + // Updating children + qDebug("Priority changed for a folder to %d", priority); + updateChildrenPriority(item, priority); + } + // Reconnect the signal/slot on item edition so that we + // get future updates + connect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); +} + void properties::loadTrackersErrors(){ // Tracker Errors QList > errors = BTSession->getTrackersErrors(hash); @@ -151,8 +256,9 @@ void properties::loadWebSeeds(){ } } -void properties::loadPiecesPriorities(){ +int* properties::loadPiecesPriorities(){ unsigned int nbFiles = h.num_files(); + int *prioritiesTab = new int[nbFiles]; QString fileName = h.name(); QFile pieces_file(misc::qBittorrentPath()+"BT_backup"+QDir::separator()+hash+".priorities"); has_filtered_files = false; @@ -160,16 +266,18 @@ void properties::loadPiecesPriorities(){ // Read saved file if(!pieces_file.open(QIODevice::ReadOnly | QIODevice::Text)){ qDebug("Could not find pieces file"); - setAllPiecesState(NORMAL); - return; + for(unsigned int i=0; i pieces_priority_list = pieces_text.split('\n'); if((unsigned int)pieces_priority_list.size() != nbFiles+1){ std::cerr << "Error: Corrupted pieces file\n"; - setAllPiecesState(NORMAL); - return; + for(unsigned int i=0; isetData(PropListModel->index(i, PRIORITY), QVariant(priority)); + prioritiesTab[i] = priority; } + return prioritiesTab; } -bool properties::onlyOneItem() const { +bool properties::allFiltered() const { unsigned int nbRows = PropListModel->rowCount(); - if(nbRows == 1) return true; - unsigned int nb_unfiltered = 0; - QModelIndexList selectedIndexes = filesList->selectionModel()->selectedIndexes(); - QModelIndex index; - unsigned int to_be_filtered = 0; - foreach(index, selectedIndexes){ - if(index.column() == PRIORITY){ - if(index.data().toInt() != IGNORED) - ++to_be_filtered; - } - } for(unsigned int i=0; idata(PropListModel->index(i, PRIORITY)).toInt() != IGNORED){ - ++nb_unfiltered; + if(PropListModel->data(PropListModel->index(i, PRIORITY)).toInt() != IGNORED) + return false; + } + return true; +} + + +void properties::getPriorities(QStandardItem *parent, int *priorities) { + unsigned int nbRows = parent->rowCount(); + for(unsigned int i=0; ichild(i, INDEX); + int index = item->text().toInt(); + if(index < 0) { + getPriorities(parent->child(i, NAME), priorities); + } else { + item = parent->child(i, PRIORITY); + priorities[index] = item->text().toInt(); } } - if(nb_unfiltered-to_be_filtered == 0) - return true; - return false; } void properties::displayFilesListMenu(const QPoint& pos){ - unsigned int nbRows = PropListModel->rowCount(); - if(nbRows == 1) return; + if(h.get_torrent_info().num_files() == 1) return; QMenu myFilesLlistMenu(this); QModelIndex index; // Enable/disable pause/start action given the DL state QModelIndexList selectedIndexes = filesList->selectionModel()->selectedIndexes(); myFilesLlistMenu.setTitle(tr("Priority")); - if(!onlyOneItem()) - myFilesLlistMenu.addAction(actionIgnored); + myFilesLlistMenu.addAction(actionIgnored); myFilesLlistMenu.addAction(actionNormal); myFilesLlistMenu.addAction(actionHigh); myFilesLlistMenu.addAction(actionMaximum); @@ -373,9 +478,9 @@ void properties::deleteSelectedUrlSeeds(){ } void properties::deleteSelectedTrackers(){ + QList selectedItems = trackersURLS->selectedItems(); + if(!selectedItems.size()) return; std::vector trackers = h.trackers(); - QList selectedItems; - selectedItems = trackersURLS->selectedItems(); QListWidgetItem *item; unsigned int nbTrackers = trackers.size(); if(nbTrackers == (unsigned int) selectedItems.size()){ @@ -468,24 +573,18 @@ void properties::lowerSelectedTracker(){ } void properties::updateInfos(){ - std::vector fp; - try{ - h.file_progress(fp); - unsigned int nbFiles = h.num_files(); - for(unsigned int i=0; isetData(PropListModel->index(i, PROGRESS), QVariant((double)fp[i])); + // Update current tracker + try { + QString tracker = h.current_tracker().trimmed(); + if(!tracker.isEmpty()){ + trackerURL->setText(tracker); + }else{ + trackerURL->setText(tr("None - Unreachable?")); } }catch(invalid_handle e){ // torrent was removed, closing properties close(); } - // Update current tracker - QString tracker = h.current_tracker().trimmed(); - if(!tracker.isEmpty()){ - trackerURL->setText(tracker); - }else{ - trackerURL->setText(tr("None - Unreachable?")); - } } // Set the color of a row in data model @@ -525,8 +624,8 @@ void properties::on_incrementalDownload_stateChanged(int){ } void properties::on_okButton_clicked(){ - savePiecesPriorities(); - close(); + if(savePiecesPriorities()) + close(); } void properties::loadWebSeedsFromFile(){ @@ -566,35 +665,37 @@ void properties::saveWebSeeds(){ qDebug("url seeds were saved"); } -void properties::savePiecesPriorities(){ - if(!changedFilteredfiles) return; +bool properties::savePiecesPriorities() { + if(!changedFilteredfiles) return true; + if(allFiltered()) { + QMessageBox::warning(0, tr("Priorities error"), tr("Error, you can't filter all the files in a torrent.")); + return false; + } qDebug("Saving pieces priorities"); bool hasFilteredFiles = false; QString fileName = h.name(); QFile pieces_file(misc::qBittorrentPath()+QString::fromUtf8("BT_backup")+QDir::separator()+hash+QString::fromUtf8(".priorities")); // First, remove old file pieces_file.remove(); - // Write new files + int *priorities = new int[h.get_torrent_info().num_files()]; + getPriorities(PropListModel->invisibleRootItem(), priorities); + // Ok, we have priorities, save them if(!pieces_file.open(QIODevice::WriteOnly | QIODevice::Text)){ std::cerr << "Error: Could not save pieces priorities\n"; - return; + return true; } - unsigned int nbRows = PropListModel->rowCount(); - for(unsigned int i=0; iitem(i, PRIORITY); - unsigned short priority = item->text().toInt(); - if(!priority) { + unsigned int nbFiles = h.get_torrent_info().num_files(); + for(unsigned int i=0; ipauseAndReloadTorrent(h); - } + delete[] priorities; + BTSession->loadFilesPriorities(h); + // Emit a signal so that the GUI updates the size emit filteredFilesChanged(hash); has_filtered_files = hasFilteredFiles; + return true; } diff --git a/src/properties_imp.h b/src/properties_imp.h index 0fd3c0ec1..3ebb522c2 100644 --- a/src/properties_imp.h +++ b/src/properties_imp.h @@ -29,6 +29,8 @@ class PropListDelegate; class QTimer; class bittorrent; class QStandardItemModel; +class file; +class QStandardItem; using namespace libtorrent; @@ -49,9 +51,7 @@ class properties : public QDialog, private Ui::properties{ void on_okButton_clicked(); void on_incrementalDownload_stateChanged(int); void setRowColor(int row, QString color); - void savePiecesPriorities(); void updateInfos(); - void loadPiecesPriorities(); void setAllPiecesState(unsigned short priority); void askForTracker(); void loadTrackers(); @@ -69,6 +69,11 @@ class properties : public QDialog, private Ui::properties{ void loadWebSeedsFromFile(); void deleteSelectedUrlSeeds(); void loadTrackersErrors(); + void addFilesToTree(file *root, QStandardItem *parent); + void updateChildrenPriority(QStandardItem *item, int priority); + void updateParentsPriority(QStandardItem *item, int priority); + void updatePriorities(QStandardItem *item); + void getPriorities(QStandardItem *parent, int *priorities); signals: void filteredFilesChanged(QString hash); @@ -78,7 +83,9 @@ class properties : public QDialog, private Ui::properties{ // Constructor properties(QWidget *parent, bittorrent *BTSession, QTorrentHandle &h); ~properties(); - bool onlyOneItem() const; + bool allFiltered() const; + bool savePiecesPriorities(); + int* loadPiecesPriorities(); }; #endif diff --git a/src/qgnomelook.h b/src/qgnomelook.h new file mode 100644 index 000000000..8700d410d --- /dev/null +++ b/src/qgnomelook.h @@ -0,0 +1,87 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2006 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact : chris@qbittorrent.org + */ + +#ifndef QGNOMELOOK +#define QGNOMELOOK + +#include +#include +#include +#include +#include +#include + +class QGnomeLookStyle : public QCleanlooksStyle { + public: + QGnomeLookStyle() : QCleanlooksStyle() {} + + void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { + switch(element) { + case CE_ProgressBarLabel: + if (const QStyleOptionProgressBar *pb = qstyleoption_cast(option)) { + bool vertical = false; + if (const QStyleOptionProgressBarV2 *pb2 = qstyleoption_cast(option)) { + vertical = (pb2->orientation == Qt::Vertical); + } + if (!vertical) { + QPalette::ColorRole textRole = QPalette::Dark;/* + if ((pb->textAlignment & Qt::AlignCenter) && pb->textVisible + && ((qint64(pb->progress) - qint64(pb->minimum)) * 2 >= (qint64(pb->maximum) - qint64(pb->minimum)))) { + textRole = QPalette::HighlightedText; + //Draw text shadow, This will increase readability when the background of same color + QRect shadowRect(pb->rect); + shadowRect.translate(1,1); + QColor shadowColor = (pb->palette.color(textRole).value() <= 128) ? QColor(255,255,255,160) : QColor(0,0,0,160); + QPalette shadowPalette = pb->palette; + shadowPalette.setColor(textRole, shadowColor); + drawItemText(painter, shadowRect, Qt::AlignCenter | Qt::TextSingleLine, shadowPalette, pb->state, pb->text, textRole); + } + QPalette shadowPalette = pb->palette; + shadowPalette.setColor(textRole, QColor(0,0,0,160));*/ + drawItemText(painter, pb->rect, Qt::AlignCenter | Qt::TextSingleLine, pb->palette, pb->state, pb->text, textRole); + } + } + break; + default: + QCleanlooksStyle::drawControl(element, option, painter, widget); + } + } + + QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget=0) const + { + QRect rect; + switch (element) { +#ifndef QT_NO_PROGRESSBAR + case SE_ProgressBarLabel: + case SE_ProgressBarContents: + case SE_ProgressBarGroove: + return option->rect; +#endif // QT_NO_PROGRESSBAR + default: + return QCleanlooksStyle::subElementRect(element, option, widget); + } + + return visualRect(option->direction, option->rect, rect); + } + +}; + +#endif diff --git a/src/qtorrenthandle.cpp b/src/qtorrenthandle.cpp index fa7d90ec9..c6ed3f58d 100644 --- a/src/qtorrenthandle.cpp +++ b/src/qtorrenthandle.cpp @@ -79,9 +79,9 @@ bool QTorrentHandle::is_paused() const { // return h.get_torrent_info().total_size(); // } -size_type QTorrentHandle::total_done() const { +size_type QTorrentHandle::total_wanted_done() const { Q_ASSERT(h.is_valid()); - return h.status().total_done; + return h.status().total_wanted_done; } float QTorrentHandle::download_payload_rate() const { @@ -120,7 +120,7 @@ QStringList QTorrentHandle::url_seeds() const { std::vector existing_seeds = h.get_torrent_info().url_seeds(); unsigned int nbSeeds = existing_seeds.size(); QString existing_seed; - for(unsigned int i=0; i piece_priorities = h.piece_priorities(); - for(unsigned int i = 0; i= 0 && size <= h.get_torrent_info().total_size()); - return size; + return h.status().total_wanted; } bool QTorrentHandle::has_filtered_pieces() const { @@ -278,11 +271,16 @@ void QTorrentHandle::add_url_seed(QString seed) { h.add_url_seed(misc::toString((const char*)seed.toUtf8())); } -void QTorrentHandle::set_max_uploads(int val){ +void QTorrentHandle::set_max_uploads(int val) { Q_ASSERT(h.is_valid()); h.set_max_uploads(val); } +void QTorrentHandle::set_max_connections(int val) { + Q_ASSERT(h.is_valid()); + h.set_max_connections(val); +} + void QTorrentHandle::prioritize_files(std::vector v) { Q_ASSERT(h.is_valid()); h.prioritize_files(v); @@ -308,7 +306,7 @@ void QTorrentHandle::set_sequenced_download_threshold(int val) { h.set_sequenced_download_threshold(val); } -void QTorrentHandle::set_tracker_login(QString username, QString password){ +void QTorrentHandle::set_tracker_login(QString username, QString password) { Q_ASSERT(h.is_valid()); h.set_tracker_login(std::string(username.toUtf8().data()), std::string(password.toUtf8().data())); } diff --git a/src/qtorrenthandle.h b/src/qtorrenthandle.h index 7d3b572cf..6a644d39d 100644 --- a/src/qtorrenthandle.h +++ b/src/qtorrenthandle.h @@ -24,6 +24,7 @@ #include #include + using namespace libtorrent; class QString; @@ -58,7 +59,7 @@ class QTorrentHandle { bool is_paused() const; bool has_filtered_pieces() const; // size_type total_size() const; - size_type total_done() const; + size_type total_wanted_done() const; float download_payload_rate() const; float upload_payload_rate() const; int num_peers() const; @@ -96,6 +97,7 @@ class QTorrentHandle { void remove_url_seed(QString seed); void add_url_seed(QString seed); void set_max_uploads(int val); + void set_max_connections(int val); void prioritize_files(std::vector v); void set_ratio(float ratio) const; void replace_trackers(std::vector const&) const; diff --git a/src/rss.h b/src/rss.h index dd95a22ab..ede19a9cd 100644 --- a/src/rss.h +++ b/src/rss.h @@ -22,11 +22,6 @@ #ifndef RSS_H #define RSS_H -// MAX ITEM A STREAM -#define STREAM_MAX_ITEM 50 -// 10min -#define STREAM_REFRESH_INTERVAL 600000 - #include #include #include @@ -37,6 +32,8 @@ #include #include #include +#include +#include #include "misc.h" #include "downloadThread.h" @@ -50,6 +47,28 @@ class RssManager; class RssStream; class RssItem; +static const char shortDay[][4] = { + "Mon", "Tue", "Wed", + "Thu", "Fri", "Sat", + "Sun" +}; +static const char longDay[][10] = { + "Monday", "Tuesday", "Wednesday", + "Thursday", "Friday", "Saturday", + "Sunday" +}; +static const char shortMonth[][4] = { + "Jan", "Feb", "Mar", "Apr", + "May", "Jun", "Jul", "Aug", + "Sep", "Oct", "Nov", "Dec" +}; +static const char longMonth[][10] = { + "January", "February", "March", + "April", "May", "June", + "July", "August", "September", + "October", "November", "December" +}; + // Item of a rss stream, single information class RssItem : public QObject { Q_OBJECT @@ -59,9 +78,144 @@ class RssItem : public QObject { QString link; QString description; QString image; + QString author; + QDateTime date; + QString hash; bool read; QString downloadLink; + protected: + // Ported to Qt4 from KDElibs4 + QDateTime parseDate(const QString &string) { + QString str = string.trimmed(); + if (str.isEmpty()) + return QDateTime(); + + int nyear = 6; // indexes within string to values + int nmonth = 4; + int nday = 2; + int nwday = 1; + int nhour = 7; + int nmin = 8; + int nsec = 9; + // Also accept obsolete form "Weekday, DD-Mon-YY HH:MM:SS ±hhmm" + QRegExp rx("^(?:([A-Z][a-z]+),\\s*)?(\\d{1,2})(\\s+|-)([^-\\s]+)(\\s+|-)(\\d{2,4})\\s+(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s+(\\S+)$"); + QStringList parts; + if (!str.indexOf(rx)) { + // Check that if date has '-' separators, both separators are '-'. + parts = rx.capturedTexts(); + bool h1 = (parts[3] == QLatin1String("-")); + bool h2 = (parts[5] == QLatin1String("-")); + if (h1 != h2) + return QDateTime(); + } else { + // Check for the obsolete form "Wdy Mon DD HH:MM:SS YYYY" + rx = QRegExp("^([A-Z][a-z]+)\\s+(\\S+)\\s+(\\d\\d)\\s+(\\d\\d):(\\d\\d):(\\d\\d)\\s+(\\d\\d\\d\\d)$"); + if (str.indexOf(rx)) + return QDateTime(); + nyear = 7; + nmonth = 2; + nday = 3; + nwday = 1; + nhour = 4; + nmin = 5; + nsec = 6; + parts = rx.capturedTexts(); + } + bool ok[4]; + int day = parts[nday].toInt(&ok[0]); + int year = parts[nyear].toInt(&ok[1]); + int hour = parts[nhour].toInt(&ok[2]); + int minute = parts[nmin].toInt(&ok[3]); + if (!ok[0] || !ok[1] || !ok[2] || !ok[3]) + return QDateTime(); + int second = 0; + if (!parts[nsec].isEmpty()) { + second = parts[nsec].toInt(&ok[0]); + if (!ok[0]) + return QDateTime(); + } + bool leapSecond = (second == 60); + if (leapSecond) + second = 59; // apparently a leap second - validate below, once time zone is known + int month = 0; + for ( ; month < 12 && parts[nmonth] != shortMonth[month]; ++month) ; + int dayOfWeek = -1; + if (!parts[nwday].isEmpty()) { + // Look up the weekday name + while (++dayOfWeek < 7 && shortDay[dayOfWeek] != parts[nwday]) ; + if (dayOfWeek >= 7) + for (dayOfWeek = 0; dayOfWeek < 7 && longDay[dayOfWeek] != parts[nwday]; ++dayOfWeek) ; + } +// if (month >= 12 || dayOfWeek >= 7 +// || (dayOfWeek < 0 && format == RFCDateDay)) +// return QDateTime; + int i = parts[nyear].size(); + if (i < 4) { + // It's an obsolete year specification with less than 4 digits + year += (i == 2 && year < 50) ? 2000 : 1900; + } + + // Parse the UTC offset part + int offset = 0; // set default to '-0000' + bool negOffset = false; + if (parts.count() > 10) { + rx = QRegExp("^([+-])(\\d\\d)(\\d\\d)$"); + if (!parts[10].indexOf(rx)) { + // It's a UTC offset ±hhmm + parts = rx.capturedTexts(); + offset = parts[2].toInt(&ok[0]) * 3600; + int offsetMin = parts[3].toInt(&ok[1]); + if (!ok[0] || !ok[1] || offsetMin > 59) + return QDateTime(); + offset += offsetMin * 60; + negOffset = (parts[1] == QLatin1String("-")); + if (negOffset) + offset = -offset; + } else { + // Check for an obsolete time zone name + QByteArray zone = parts[10].toLatin1(); + if (zone.length() == 1 && isalpha(zone[0]) && toupper(zone[0]) != 'J') + negOffset = true; // military zone: RFC 2822 treats as '-0000' + else if (zone != "UT" && zone != "GMT") { // treated as '+0000' + offset = (zone == "EDT") ? -4*3600 + : (zone == "EST" || zone == "CDT") ? -5*3600 + : (zone == "CST" || zone == "MDT") ? -6*3600 + : (zone == "MST" || zone == "PDT") ? -7*3600 + : (zone == "PST") ? -8*3600 + : 0; + if (!offset) { + // Check for any other alphabetic time zone + bool nonalpha = false; + for (int i = 0, end = zone.size(); i < end && !nonalpha; ++i) + nonalpha = !isalpha(zone[i]); + if (nonalpha) + return QDateTime(); + // TODO: Attempt to recognize the time zone abbreviation? + negOffset = true; // unknown time zone: RFC 2822 treats as '-0000' + } + } + } + } + QDate qdate(year, month+1, day); // convert date, and check for out-of-range + if (!qdate.isValid()) + return QDateTime(); + QDateTime result(qdate, QTime(hour, minute, second)); + if (!result.isValid() + || (dayOfWeek >= 0 && result.date().dayOfWeek() != dayOfWeek+1)) + return QDateTime(); // invalid date/time, or weekday doesn't correspond with date + if (!offset) { + result.setTimeSpec(Qt::UTC); + } + if (leapSecond) { + // Validate a leap second time. Leap seconds are inserted after 23:59:59 UTC. + // Convert the time to UTC and check that it is 00:00:00. + if ((hour*3600 + minute*60 + 60 - offset + 86400*5) % 86400) // (max abs(offset) is 100 hours) + return QDateTime(); // the time isn't the last second of the day + } + return result; + } + public: // public constructor RssItem(const QDomElement& properties) : read(false), downloadLink("none") { @@ -75,8 +229,13 @@ class RssItem : public QObject { description = property.text(); else if (property.tagName() == "image") image = property.text(); + else if (property.tagName() == "pubDate") + date = parseDate(property.text()); + else if (property.tagName() == "author") + author = property.text(); property = property.nextSibling().toElement(); } + hash = QCryptographicHash::hash(QByteArray(title.toUtf8())+QByteArray(description.toUtf8()), QCryptographicHash::Md5); } ~RssItem(){ @@ -86,10 +245,18 @@ class RssItem : public QObject { return title; } + QString getAuthor() const { + return author; + } + QString getLink() const{ return link; } + QString getHash() const { + return hash; + } + QString getDescription() const{ if(description.isEmpty()) return tr("No description available"); @@ -100,6 +267,10 @@ class RssItem : public QObject { return image; } + QDateTime getDate() const { + return date; + } + QString getDownloadLink() const{ return downloadLink; } @@ -136,10 +307,6 @@ class RssStream : public QObject{ public slots : // read and store the downloaded rss' informations void processDownloadedFile(QString file_path) { - // delete the old file - if(QFile::exists(filePath)) { - QFile::remove(filePath); - } filePath = file_path; downloadFailure = false; openRss(); @@ -153,7 +320,7 @@ class RssStream : public QObject{ } public: - RssStream(QString _url): url(_url), alias(""), iconPath(":/Icons/rss.png"), refreshed(false), downloadFailure(false), currently_loading(false) { + RssStream(QString _url): url(_url), alias(""), iconPath(":/Icons/rss16.png"), refreshed(false), downloadFailure(false), currently_loading(false) { qDebug("RSSStream constructed"); } @@ -171,6 +338,14 @@ class RssStream : public QObject{ listItem.clear(); } + bool itemAlreadyExists(QString hash) { + RssItem * item; + foreach(item, listItem) { + if(item->getHash() == hash) return true; + } + return false; + } + void setLoading(bool val) { currently_loading = val; } @@ -242,6 +417,14 @@ class RssStream : public QObject{ return listItem.size(); } + void markAllAsRead() { + RssItem *item; + foreach(item, listItem){ + if(!item->isRead()) + item->setRead(); + } + } + unsigned int getNbUnRead() const{ unsigned int nbUnread=0; RssItem *item; @@ -262,9 +445,9 @@ class RssStream : public QObject{ return tr("%1 ago", "10min ago").arg(misc::userFriendlyDuration((long)(lastRefresh.elapsed()/1000.)).replace("<", "<")); } - unsigned int getLastRefreshElapsed() const{ + int getLastRefreshElapsed() const{ if(!refreshed) - return STREAM_REFRESH_INTERVAL+1; + return -1; return lastRefresh.elapsed(); } @@ -289,10 +472,6 @@ class RssStream : public QObject{ } QDomNode rss = root.firstChild(); QDomElement channel = root.firstChild().toElement(); - unsigned short listsize = getNbNews(); - for(unsigned short i=0; igetHash())) + listItem.append(item); } property = property.nextSibling().toElement(); } } channel = channel.nextSibling().toElement(); } + sortList(); + resizeList(); return 0; } - // not actually used, it is used to resize the list of item AFTER the update, instead of delete it BEFORE, some troubles - void resizeList() { - unsigned short lastindex = 0; - QString firstTitle = getItem(0)->getTitle(); - unsigned short listsize = getNbNews(); - for(unsigned short i=0; igetTitle() == firstTitle) - lastindex = i; - } - for(unsigned short i=0; iSTREAM_MAX_ITEM) { - listItem.removeAt(STREAM_MAX_ITEM); + static void insertSortElem(QList &list, RssItem *item) { + int i = 0; + while(i < list.size() && item->getDate() < list.at(i)->getDate()) { + ++i; } + list.insert(i, item); + } + void sortList() { + QList new_list; + RssItem *item; + foreach(item, listItem) { + insertSortElem(new_list, item); + } + listItem = new_list; + } + + void resizeList() { + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + unsigned int max_articles = settings.value(QString::fromUtf8("Preferences/RSS/RSSMaxArticlesPerFeed"), 50).toInt(); + int excess = listItem.size() - max_articles; + if(excess <= 0) return; + for(int i=0; i streams; downloadThread *downloader; QTimer newsRefresher; + unsigned int refreshInterval; signals: void feedInfosChanged(QString url, QString aliasOrUrl, unsigned int nbUnread); @@ -454,7 +646,7 @@ class RssManager : public QObject{ foreach(stream, streams){ QString url = stream->getUrl(); if(stream->isLoading()) return; - if(stream->getLastRefreshElapsed() < STREAM_REFRESH_INTERVAL) return; + if(stream->getLastRefreshElapsed() != -1 && stream->getLastRefreshElapsed() < (int)refreshInterval) return; qDebug("Refreshing old feed: %s...", (const char*)url.toUtf8()); stream->setLoading(true); downloader->downloadUrl(url); @@ -462,6 +654,13 @@ class RssManager : public QObject{ downloader->downloadUrl(stream->getIconUrl()); } } + // See if refreshInterval has changed + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + unsigned int new_refreshInterval = settings.value(QString::fromUtf8("Preferences/RSS/RSSRefresh"), 5).toInt(); + if(new_refreshInterval != refreshInterval) { + refreshInterval = new_refreshInterval; + newsRefresher.start(refreshInterval*60000); + } } public : @@ -471,7 +670,9 @@ class RssManager : public QObject{ connect(downloader, SIGNAL(downloadFailure(QString, QString)), this, SLOT(handleDownloadFailure(QString, QString))); loadStreamList(); connect(&newsRefresher, SIGNAL(timeout()), this, SLOT(refreshOldFeeds())); - newsRefresher.start(60000); + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + refreshInterval = settings.value(QString::fromUtf8("Preferences/RSS/RSSRefresh"), 5).toInt(); + newsRefresher.start(refreshInterval*60000); } ~RssManager(){ diff --git a/src/rss.ui b/src/rss.ui index 732ad46c9..a521dd890 100644 --- a/src/rss.ui +++ b/src/rss.ui @@ -13,28 +13,55 @@ Search - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -60,12 +87,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -83,14 +119,8 @@ - 22 - 22 - - - - - 22 - 22 + 55 + 32 @@ -99,20 +129,20 @@ + + + 32 + 32 + + - 22 - 22 - - - - - 22 - 22 + 32 + 32 @@ -121,20 +151,20 @@ + + + 32 + 32 + + - 22 - 22 - - - - - 22 - 22 + 32 + 32 @@ -143,6 +173,12 @@ + + + 55 + 32 + + @@ -164,12 +200,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -198,12 +243,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -236,6 +290,11 @@ Refresh all streams + + + Mark all as read + + diff --git a/src/rss_imp.cpp b/src/rss_imp.cpp index f913a529a..3950654e5 100644 --- a/src/rss_imp.cpp +++ b/src/rss_imp.cpp @@ -28,6 +28,7 @@ #include #include #include +#include // display a right-click menu void RSSImp::displayRSSListMenu(const QPoint& pos){ @@ -35,6 +36,7 @@ QTreeWidgetItem* item = listStreams->itemAt(pos); QList selectedItems = listStreams->selectedItems(); if(item != 0) { + myFinishedListMenu.addAction(actionMark_all_as_read); myFinishedListMenu.addAction(actionDelete); if(selectedItems.size() == 1) myFinishedListMenu.addAction(actionRename); @@ -118,13 +120,28 @@ } } + void RSSImp::on_actionMark_all_as_read_triggered() { + textBrowser->clear(); + listNews->clear(); + QList selectedItems = listStreams->selectedItems(); + QTreeWidgetItem* item; + foreach(item, selectedItems){ + QString url = item->text(1); + RssStream *feed = rssmanager->getFeed(url); + feed->markAllAsRead(); + item->setData(0, Qt::DisplayRole, feed->getAliasOrUrl()+ QString::fromUtf8(" (0)")); + } + if(selectedItems.size()) + refreshNewsList(selectedItems.last(), 0); + } + //right-click somewhere, refresh all the streams void RSSImp::refreshAllStreams() { textBrowser->clear(); listNews->clear(); unsigned int nbFeeds = listStreams->topLevelItemCount(); for(unsigned int i=0; itopLevelItem(i)->setData(0,Qt::DecorationRole, QVariant(QIcon(":/Icons/loading.png"))); + listStreams->topLevelItem(i)->setData(0,Qt::DecorationRole, QVariant(QIcon(":/Icons/loading.png"))); rssmanager->refreshAll(); updateLastRefreshedTimeForStreams(); } @@ -205,7 +222,18 @@ // display a news void RSSImp::refreshTextBrowser(QListWidgetItem *item) { RssItem* article = rssmanager->getFeed(selectedFeedUrl)->getItem(listNews->row(item)); - textBrowser->setHtml(article->getTitle()+":
        "+article->getDescription()); + QString html; + html += "
        "; + html += "
        "+article->getTitle() + "
        "; + if(article->getDate().isValid()) { + html += "
        "+tr("Date: ")+""+article->getDate().toString()+"
        "; + } + if(!article->getAuthor().isEmpty()) { + html += "
        "+tr("Author: ")+""+article->getAuthor()+"
        "; + } + html += "
        "; + html += ""+article->getDescription()+""; + textBrowser->setHtml(html); article->setRead(); item->setData(Qt::ForegroundRole, QVariant(QColor("grey"))); item->setData(Qt::DecorationRole, QVariant(QIcon(":/Icons/sphere.png"))); @@ -232,13 +260,13 @@ void RSSImp::updateFeedNbNews(QString url){ QTreeWidgetItem *item = getTreeItemFromUrl(url); RssStream *stream = rssmanager->getFeed(url); - item->setText(0, stream->getAliasOrUrl() + QString::fromUtf8(" (") + QString::number(stream->getNbUnRead(), 10)+ String(")")); + item->setText(0, stream->getAliasOrUrl() + QString::fromUtf8(" (") + QString::number(stream->getNbUnRead(), 10)+ QString(")")); } void RSSImp::updateFeedInfos(QString url, QString aliasOrUrl, unsigned int nbUnread){ QTreeWidgetItem *item = getTreeItemFromUrl(url); RssStream *stream = rssmanager->getFeed(url); - item->setText(0, aliasOrUrl + QString::fromUtf8(" (") + QString::number(nbUnread, 10)+ String(")")); + item->setText(0, aliasOrUrl + QString::fromUtf8(" (") + QString::number(nbUnread, 10)+ QString(")")); item->setData(0,Qt::DecorationRole, QVariant(QIcon(stream->getIconPath()))); item->setToolTip(0, QString::fromUtf8("")+tr("Description:")+QString::fromUtf8(" ")+stream->getDescription()+QString::fromUtf8("
        ")+tr("url:")+QString::fromUtf8(" ")+stream->getUrl()+QString::fromUtf8("
        ")+tr("Last refresh:")+QString::fromUtf8(" ")+stream->getLastRefreshElapsedString()); // If the feed is selected, update the displayed news @@ -250,14 +278,15 @@ RSSImp::RSSImp() : QWidget(){ setupUi(this); // icons of bottom buttons - addStream_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/add.png"))); - delStream_button->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); + addStream_button->setIcon(QIcon(QString::fromUtf8(":/Icons/subscribe.png"))); + delStream_button->setIcon(QIcon(QString::fromUtf8(":/Icons/unsubscribe.png"))); refreshAll_button->setIcon(QIcon(QString::fromUtf8(":/Icons/refresh.png"))); + actionMark_all_as_read->setIcon(QIcon(QString::fromUtf8(":/Icons/button_ok.png"))); // icons of right-click menu - actionDelete->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/remove.png"))); + actionDelete->setIcon(QIcon(QString::fromUtf8(":/Icons/unsubscribe16.png"))); actionRename->setIcon(QIcon(QString::fromUtf8(":/Icons/log.png"))); actionRefresh->setIcon(QIcon(QString::fromUtf8(":/Icons/refresh.png"))); - actionCreate->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/add.png"))); + actionCreate->setIcon(QIcon(QString::fromUtf8(":/Icons/subscribe16.png"))); actionRefreshAll->setIcon(QIcon(QString::fromUtf8(":/Icons/refresh.png"))); // Hide second column (url) diff --git a/src/rss_imp.h b/src/rss_imp.h index 3cc6854af..401c264e9 100644 --- a/src/rss_imp.h +++ b/src/rss_imp.h @@ -57,6 +57,7 @@ class RSSImp : public QWidget, public Ui::RSS{ void selectFirstFeed(); void selectFirstNews(); void updateFeedNbNews(QString url); + void on_actionMark_all_as_read_triggered(); public: RSSImp(); diff --git a/src/search.qrc b/src/search.qrc index 7599c0b99..474061e7e 100644 --- a/src/search.qrc +++ b/src/search.qrc @@ -1,5 +1,16 @@ - search_engine/nova.py + search_engine/nova2.py + search_engine/novaprinter.py + search_engine/engines/isohunt.py + search_engine/engines/torrentreactor.png + search_engine/engines/btjunkie.py + search_engine/engines/mininova.png + search_engine/engines/piratebay.png + search_engine/engines/torrentreactor.py + search_engine/engines/mininova.py + search_engine/engines/piratebay.py + search_engine/engines/isohunt.png + search_engine/engines/btjunkie.png \ No newline at end of file diff --git a/src/search.ui b/src/search.ui index c83dbc0df..95be02a28 100644 --- a/src/search.ui +++ b/src/search.ui @@ -13,256 +13,222 @@ Search
        - - 9 - - - 6 - - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - + + + + 16777215 + 35 + + + + + Sans Serif + 9 + 75 + false + true + false + false + + + + Search Pattern: + + + + + + + + 16777215 + 22 + + + + + + + + + 34 + 29 + + + + + + + :/Icons/edit_clear.png + + + + 30 + 21 + + + + + + + + + 16777215 + 29 + + + + Search + + + + + + + false + + + + 16777215 + 29 + + + + Stop + + + + + + + Search engines... + + + + + + + + + + + + 16777215 + 35 + + + + + Sans Serif + 9 + 75 + false + true + false + false + + + + Status: + + + + + - 131 - 132 + 400 + 0 - 125 - 132 + 16777215 + 35 - - Search Engines + + + Sans Serif + 9 + 50 + true + false + false + false + + + + Stopped - - - 9 - - - 6 - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 + + + Qt::Horizontal - - 6 + + + 188 + 21 + - - - - 0 - - - 6 - - - - - - 16777215 - 35 - - - - - Sans Serif - 9 - 75 - false - true - false - false - - - - Search Pattern: - - - - - - - - 16777215 - 22 - - - - - - - - - 16777215 - 29 - - - - Search - - - - - - - false - - - - 16777215 - 29 - - - - Stop - - - - - - - - - 0 - - - 6 - - - - - - 16777215 - 35 - - - - - Sans Serif - 9 - 75 - false - true - false - false - - - - Status: - - - - - - - - 400 - 0 - - - - - 16777215 - 35 - - - - - Sans Serif - 9 - 50 - true - false - false - false - - - - Stopped - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -329,12 +295,21 @@ - - 0 - 6 + + 0 + + + 0 + + + 0 + + + 0 + @@ -368,20 +343,15 @@ - - - - Update search plugin - - -
        - + + + search_pattern diff --git a/src/searchEngine.cpp b/src/searchEngine.cpp index 189dc38af..7e8691927 100644 --- a/src/searchEngine.cpp +++ b/src/searchEngine.cpp @@ -45,8 +45,6 @@ SearchEngine::SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration) : QWidget(), BTSession(BTSession), myTrayIcon(myTrayIcon), systrayIntegration(systrayIntegration){ setupUi(this); downloader = new downloadThread(this); - connect(downloader, SIGNAL(downloadFinished(QString, QString)), this, SLOT(novaUpdateDownloaded(QString, QString))); - connect(downloader, SIGNAL(downloadFailure(QString, QString)), this, SLOT(handleNovaDownloadFailure(QString, QString))); // Set Search results list model SearchListModel = new QStandardItemModel(0,5); SearchListModel->setHeaderData(SEARCH_NAME, Qt::Horizontal, tr("Name", "i.e: file name")); @@ -81,21 +79,8 @@ SearchEngine::SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, b connect(searchProcess, SIGNAL(started()), this, SLOT(searchStarted())); connect(searchProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readSearchOutput())); connect(searchProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(searchFinished(int,QProcess::ExitStatus))); - // Set search engines names - mininova->setText("Mininova"); - piratebay->setText("ThePirateBay"); -// reactor->setText("TorrentReactor"); - isohunt->setText("Isohunt"); -// btjunkie->setText("BTJunkie"); - reactor->setText("TorrentReactor"); - // Check last checked search engines - loadCheckedSearchEngines(); - connect(mininova, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); - connect(piratebay, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); -// connect(reactor, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); - connect(isohunt, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); -// connect(btjunkie, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); - connect(reactor, SIGNAL(stateChanged(int)), this, SLOT(saveCheckedSearchEngines(int))); + // Check last enabled search engines + loadEngineSettings(); // Update nova.py search plugin if necessary updateNova(); } @@ -183,18 +168,6 @@ void SearchEngine::sortSearchListString(int index, Qt::SortOrder sortOrder){ SearchListModel->removeRows(0, nbRows_old); } -// Save last checked search engines to a file -void SearchEngine::saveCheckedSearchEngines(int) const{ - QSettings settings("qBittorrent", "qBittorrent"); - settings.beginGroup("SearchEngines"); - settings.setValue("mininova", mininova->isChecked()); - settings.setValue("piratebay", piratebay->isChecked()); - settings.setValue("isohunt", isohunt->isChecked()); - settings.setValue("reactor", reactor->isChecked()); - settings.endGroup(); - qDebug("Saved checked search engines"); -} - // Save columns width in a file to remember them // (download list) void SearchEngine::saveColWidthSearchList() const{ @@ -208,6 +181,11 @@ void SearchEngine::saveColWidthSearchList() const{ qDebug("Search list columns width saved"); } +void SearchEngine::on_enginesButton_clicked() { + engineSelectDlg *dlg = new engineSelectDlg(this); + connect(dlg, SIGNAL(enginesChanged()), this, SLOT(loadEngineSettings())); +} + // Load columns width in a file that were saved previously // (search list) bool SearchEngine::loadColWidthSearchList(){ @@ -226,19 +204,6 @@ bool SearchEngine::loadColWidthSearchList(){ return true; } -// load last checked search engines from a file -void SearchEngine::loadCheckedSearchEngines(){ - qDebug("Loading checked search engines"); - QSettings settings("qBittorrent", "qBittorrent"); - settings.beginGroup("SearchEngines"); - mininova->setChecked(settings.value("mininova", true).toBool()); - piratebay->setChecked(settings.value("piratebay", false).toBool()); - isohunt->setChecked(settings.value("isohunt", false).toBool()); - reactor->setChecked(settings.value("reactor", false).toBool()); - settings.endGroup(); - qDebug("Loaded checked search engines"); -} - // get the last searchs from a QSettings to a QStringList void SearchEngine::startSearchHistory(){ QSettings settings("qBittorrent", "qBittorrent"); @@ -247,6 +212,24 @@ void SearchEngine::startSearchHistory(){ settings.endGroup(); } +void SearchEngine::loadEngineSettings() { + qDebug("Loading engine settings"); + enabled_engines.clear(); + QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); + QStringList known_engines = settings.value(QString::fromUtf8("SearchEngines/knownEngines"), QStringList()).toStringList(); + QVariantList known_enginesEnabled = settings.value(QString::fromUtf8("SearchEngines/knownEnginesEnabled"), QList()).toList(); + QString engine; + unsigned int i = 0; + foreach(engine, known_engines) { + if(known_enginesEnabled.at(i).toBool()) + enabled_engines << engine; + ++i; + } + if(enabled_engines.empty()) + enabled_engines << "all"; + qDebug("Engine settings loaded"); +} + // Save the history list into the QSettings for the next session void SearchEngine::saveSearchHistory() { @@ -282,33 +265,12 @@ void SearchEngine::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 search engine selected"), tr("You must select at least one search engine.")); - return; - } + Q_ASSERT(!enabled_engines.empty()); QStringList params; QStringList engineNames; search_stopped = false; - // Get checked search engines - if(mininova->isChecked()){ - engineNames << "mininova"; - } - if(piratebay->isChecked()){ - engineNames << "piratebay"; - } -// if(reactor->isChecked()){ -// engineNames << "reactor"; -// } - if(isohunt->isChecked()){ - engineNames << "isohunt"; - } -// if(btjunkie->isChecked()){ -// engineNames << "btjunkie"; -// } - if(reactor->isChecked()){ - engineNames << "reactor"; - } - params << engineNames.join(","); + + params << enabled_engines.join(","); params << pattern.split(" "); // Update SearchEngine widgets no_search_results = true; @@ -316,7 +278,7 @@ void SearchEngine::on_search_button_clicked(){ search_result_line_truncated.clear(); results_lbl->setText(tr("Results")+" (0):"); // Launch search - searchProcess->start(misc::qBittorrentPath()+"nova.py", params, QIODevice::ReadOnly); + searchProcess->start(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"nova2.py", params, QIODevice::ReadOnly); } void SearchEngine::searchStarted(){ @@ -360,136 +322,66 @@ void SearchEngine::readSearchOutput(){ results_lbl->setText(tr("Results")+QString::fromUtf8(" (")+misc::toQString(nb_search_results)+QString::fromUtf8("):")); } -// Returns version of nova.py search engine -float SearchEngine::getNovaVersion(QString novaPath) const{ - QFile dest_nova(novaPath); - if(!dest_nova.exists()){ - return 0.0; - } - if(!dest_nova.open(QIODevice::ReadOnly | QIODevice::Text)){ - return 0.0; - } - float version = 0.0; - while (!dest_nova.atEnd()){ - QByteArray line = dest_nova.readLine(); - if(line.startsWith("# Version: ")){ - line = line.split(' ').last(); - line.chop(1); // removes '\n' - version = line.toFloat(); - qDebug("Search plugin version: %.2f", version); - break; - } - } - return version; -} - -// Returns changelog of nova.py search engine -QByteArray SearchEngine::getNovaChangelog(QString novaPath, float my_version) const{ - QFile dest_nova(novaPath); - if(!dest_nova.exists()){ - return QByteArray("None"); - } - if(!dest_nova.open(QIODevice::ReadOnly | QIODevice::Text)){ - return QByteArray("None"); - } - QByteArray changelog; - bool in_changelog = false; - while (!dest_nova.atEnd()){ - QByteArray line = dest_nova.readLine(); - line = line.trimmed(); - if(line.startsWith("# Changelog:")){ - in_changelog = true; - }else{ - if(line.isEmpty()){ - in_changelog = false; - } - if(line.startsWith("# End Changelog")) break; - QString end_version = "# Version: "; - char tmp[5]; - snprintf(tmp, 5, "%.2f", my_version); - end_version+=QString::fromUtf8(tmp); - if(line.startsWith((const char*)end_version.toUtf8())) break; - if(in_changelog){ - line.remove(0,1); - line += "\n"; - changelog.append(line); - } - } - } - return changelog; -} - // Update nova.py search plugin if necessary -void SearchEngine::updateNova() const{ +void SearchEngine::updateNova() { qDebug("Updating nova"); - float provided_nova_version = getNovaVersion(":/search_engine/nova.py"); - QFile::Permissions perm=QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadGroup; - QFile(misc::qBittorrentPath()+"nova.py").setPermissions(perm); - if(provided_nova_version > getNovaVersion(misc::qBittorrentPath()+"nova.py")){ - qDebug("updating local search plugin with shipped one"); - // nova.py needs update - QFile::remove(misc::qBittorrentPath()+"nova.py"); - qDebug("Old nova removed"); - QFile::copy(":/search_engine/nova.py", misc::qBittorrentPath()+"nova.py"); - qDebug("New nova copied"); - QFile::Permissions perm=QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadGroup; - QFile(misc::qBittorrentPath()+"nova.py").setPermissions(perm); - qDebug("local search plugin updated"); + // create search_engine directory if necessary + QDir search_dir(misc::qBittorrentPath()+"search_engine"); + if(!search_dir.exists()){ + search_dir.mkdir(misc::qBittorrentPath()+"search_engine"); } -} - -void SearchEngine::novaUpdateDownloaded(QString url, QString filePath){ - float version_on_server = getNovaVersion(filePath); - qDebug("Version on qbittorrent.org: %.2f", version_on_server); - float my_version = getNovaVersion(misc::qBittorrentPath()+"nova.py"); - if(version_on_server > my_version){ - if(QMessageBox::question(this, - tr("Search plugin update -- qBittorrent"), - tr("Search plugin can be updated, do you want to update it?\n\nChangelog:\n")+getNovaChangelog(filePath, my_version), - tr("&Yes"), tr("&No"), - QString(), 0, 1)){ - return; - }else{ - qDebug("Updating search plugin from qbittorrent.org"); - QFile::remove(misc::qBittorrentPath()+"nova.py"); - QFile::copy(filePath, misc::qBittorrentPath()+"nova.py"); - QFile::Permissions perm=QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadGroup; - QFile(misc::qBittorrentPath()+"nova.py").setPermissions(perm); - } - }else{ - if(version_on_server == 0.0){ - if(url == "http://www.dchris.eu/nova/nova.zip"){ - qDebug("*Warning: Search plugin update download from primary server failed, trying secondary server..."); - downloader->downloadUrl("http://hydr0g3n.free.fr/nova/nova.py"); - }else{ - QMessageBox::information(this, tr("Search plugin update")+" -- "+tr("qBittorrent"), - tr("Sorry, update server is temporarily unavailable.")); + QFile package_file(search_dir.path()+QDir::separator()+"__init__.py"); + package_file.open(QIODevice::WriteOnly | QIODevice::Text); + package_file.close(); + if(!search_dir.exists("engines")){ + search_dir.mkdir("engines"); + } + QFile package_file2(search_dir.path()+QDir::separator()+"engines"+QDir::separator()+"__init__.py"); + package_file2.open(QIODevice::WriteOnly | QIODevice::Text); + package_file2.close(); + // Copy search plugin files (if necessary) + QString filePath = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"nova2.py"; + if(misc::getPluginVersion(":/search_engine/nova2.py") > misc::getPluginVersion(filePath)) { + if(QFile::exists(filePath)) + QFile::remove(filePath); + QFile::copy(":/search_engine/nova2.py", filePath); + } + // Set permissions + QFile::Permissions perm=QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadUser | QFile::WriteUser | QFile::ExeUser | QFile::ReadGroup | QFile::ReadGroup; + QFile(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"nova2.py").setPermissions(perm); + filePath = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"novaprinter.py"; + if(misc::getPluginVersion(":/search_engine/novaprinter.py") > misc::getPluginVersion(filePath)) { + if(QFile::exists(filePath)){ + QFile::remove(filePath); + } + QFile::copy(":/search_engine/novaprinter.py", filePath); + } + QString destDir = misc::qBittorrentPath()+"search_engine"+QDir::separator()+"engines"+QDir::separator(); + QDir shipped_subDir(":/search_engine/engines/"); + QStringList files = shipped_subDir.entryList(); + QString file; + foreach(file, files){ + QString shipped_file = shipped_subDir.path()+QDir::separator()+file; + // Copy python classes + if(file.endsWith(".py")) { + if(misc::getPluginVersion(shipped_file) > misc::getPluginVersion(destDir+file) ) { + qDebug("shippped %s is more recent then local plugin, updating", file.toUtf8().data()); + if(QFile::exists(destDir+file)) { + qDebug("Removing old %s", (destDir+file).toUtf8().data()); + QFile::remove(destDir+file); + } + qDebug("%s copied to %s", shipped_file.toUtf8().data(), (destDir+file).toUtf8().data()); + QFile::copy(shipped_file, destDir+file); + } + } else { + // Copy icons + if(file.endsWith(".png")) { + if(!QFile::exists(destDir+file)) { + QFile::copy(shipped_file, destDir+file); + } } - }else{ - QMessageBox::information(this, tr("Search plugin update -- qBittorrent"), - tr("Your search plugin is already up to date.")); } } - // Delete tmp file - QFile::remove(filePath); -} - -void SearchEngine::handleNovaDownloadFailure(QString url, QString reason){ - if(url == "http://www.dchris.eu/nova/nova.zip"){ - qDebug("*Warning: Search plugin update download from primary server failed, trying secondary server..."); - downloader->downloadUrl("http://hydr0g3n.free.fr/nova/nova.py"); - }else{ - // Display a message box - QMessageBox::critical(0, tr("Search plugin download error"), tr("Couldn't download search plugin update at url: %1, reason: %2.").arg(url).arg(reason)); - } -} - -// Download nova.py from qbittorrent.org -// Check if our nova.py is outdated and -// ask user for action. -void SearchEngine::on_update_nova_button_clicked(){ - qDebug("Checking for search plugin updates on qbittorrent.org"); - downloader->downloadUrl("http://www.dchris.eu/nova/nova.zip"); } // Slot called when search is Finished @@ -497,8 +389,8 @@ void SearchEngine::on_update_nova_button_clicked(){ // Error | Stopped by user | Finished normally void SearchEngine::searchFinished(int exitcode,QProcess::ExitStatus){ QSettings settings("qBittorrent", "qBittorrent"); - int useOSD = settings.value("Options/OSDEnabled", 1).toInt(); - if(systrayIntegration && (useOSD == 1 || (useOSD == 2 && (isMinimized() || isHidden())))) { + bool useNotificationBalloons = settings.value("Preferences/General/NotificationBaloons", true).toBool(); + if(systrayIntegration && useNotificationBalloons) { myTrayIcon->showMessage(tr("Search Engine"), tr("Search has finished"), QSystemTrayIcon::Information, TIME_TRAY_BALLOON); } if(exitcode){ @@ -537,7 +429,10 @@ void SearchEngine::appendSearchResult(QString line){ int row = SearchListModel->rowCount(); SearchListModel->insertRow(row); for(int i=0; i<5; ++i){ - SearchListModel->setData(SearchListModel->index(row, i), QVariant(parts.at(i))); + if(parts.at(i).toFloat() == -1 && i != SIZE) + SearchListModel->setData(SearchListModel->index(row, i), tr("Unknown")); + else + SearchListModel->setData(SearchListModel->index(row, i), QVariant(parts.at(i))); } // Add url to searchResultsUrls associative array searchResultsUrls.insert(filename, url); @@ -565,6 +460,11 @@ void SearchEngine::on_clear_button_clicked(){ results_lbl->setText(tr("Results")+" (0):"); } +void SearchEngine::on_clearPatternButton_clicked() { + search_pattern->clear(); + search_pattern->setFocus(); +} + // Download selected items in search results list void SearchEngine::on_download_button_clicked(){ QModelIndexList selectedIndexes = resultsBrowser->selectionModel()->selectedIndexes(); diff --git a/src/searchEngine.h b/src/searchEngine.h index 447b3a544..024e2a6e6 100644 --- a/src/searchEngine.h +++ b/src/searchEngine.h @@ -26,6 +26,7 @@ #include #include "ui_search.h" +#include "engineSelectDlg.h" class QStandardItemModel; class SearchListDelegate; @@ -52,21 +53,20 @@ class SearchEngine : public QWidget, public Ui::search_engine{ QSystemTrayIcon *myTrayIcon; bool systrayIntegration; downloadThread *downloader; + QStringList enabled_engines; public: SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration); ~SearchEngine(); - float getNovaVersion(QString novaPath) const; - QByteArray getNovaChangelog(QString novaPath, float my_version) const; + float getPluginVersion(QString filePath) const; bool loadColWidthSearchList(); - public slots: + protected slots: // Search slots void on_search_button_clicked(); void on_stop_search_button_clicked(); void on_clear_button_clicked(); void on_download_button_clicked(); - void on_update_nova_button_clicked(); void appendSearchResult(QString line); void searchFinished(int exitcode,QProcess::ExitStatus); void readSearchOutput(); @@ -74,16 +74,15 @@ class SearchEngine : public QWidget, public Ui::search_engine{ void searchStarted(); void downloadSelectedItem(const QModelIndex& index); void startSearchHistory(); - void loadCheckedSearchEngines(); - void updateNova() const; + void updateNova(); void saveSearchHistory(); void saveColWidthSearchList() const; - void saveCheckedSearchEngines(int) const; void sortSearchList(int index); void sortSearchListInt(int index, Qt::SortOrder sortOrder); void sortSearchListString(int index, Qt::SortOrder sortOrder); - void novaUpdateDownloaded(QString url, QString path); - void handleNovaDownloadFailure(QString url, QString reason); + void on_enginesButton_clicked(); + void loadEngineSettings(); + void on_clearPatternButton_clicked(); }; #endif diff --git a/src/search_engine/__init__.py b/src/search_engine/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/search_engine/engines/__init__.py b/src/search_engine/engines/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/search_engine/engines/btjunkie.png b/src/search_engine/engines/btjunkie.png new file mode 100644 index 0000000000000000000000000000000000000000..a3161758079ca0ccee7452294e9945d17c22949c GIT binary patch literal 622 zcmV-!0+IcRP)FyLY`R z6Qf`U*`ahZ)7%6vL3RqlgH}X(C=j|-l2N3W2s*S&6c~{aK^LJ2PpNcmRHrT@rUP+X zlbFgJ8#8rfxZnG9kiE{5-t1JcVG zN|>CQ0-#td{?R&`UHFBH;DI8e%B zwXlK1S+!-M{p@|Y^JqduM7nzV1WmV7_BA!xatDL2#DD6poF9I^Gek=F0468KsdD=< z_EZB9kHu(g^Z}rhs<5F07>3SNC_>{Qf z-r5@44|@nSd-zsZV}E-;rfZ))I6V_(E|~%CHwu&`bar?dyLXY-qXYDxIf|t=IdtL% z{wN@O3a~;b424$SY)w&?)5m30=D^L(03v6T5rt;^(6Zzm6L^&uiymc`@I zCoH9NtgL+}mQ3$Z@y9n+mSy)=SuY~e-QBbO$|AyU5Dtg=2^-y+reRWb_y7O^07*qo IM6N<$g2v?%s{jB1 literal 0 HcmV?d00001 diff --git a/src/search_engine/engines/btjunkie.py b/src/search_engine/engines/btjunkie.py new file mode 100644 index 000000000..67e2da817 --- /dev/null +++ b/src/search_engine/engines/btjunkie.py @@ -0,0 +1,35 @@ +#VERSION: 1.10 +#AUTHORS: Fabien Devaux (fab@gnux.info) +from novaprinter import prettyPrinter +import urllib +import re + +class btjunkie(object): + url = 'http://btjunkie.org' + name = 'btjunkie' + + def search(self, what): + i = 1 + while True: + res = 0 + dat = urllib.urlopen(self.url+'/search?q=%s&o=52&p=%d'%(what,i)).read().decode('utf8', 'replace') + # I know it's not very readable, but the SGML parser feels in pain + section_re = re.compile('(?s)href="/torrent.*?') + torrent_re = re.compile('(?s)href="(?P.*?[^"]+).*?' + 'class="BlckUnd">(?P.*?)
        .*?' + '>(?P\d+MB).*?' + '>(?P\d+).*?' + '>(?P\d+)') + for match in section_re.finditer(dat): + txt = match.group(0) + m = torrent_re.search(txt) + if m: + torrent_infos = m.groupdict() + torrent_infos['name'] = re.sub('', '', torrent_infos['name']) + torrent_infos['engine_url'] = self.url + torrent_infos['link'] = self.url+torrent_infos['link'] + prettyPrinter(torrent_infos) + res = res + 1 + if res == 0: + break + i = i + 1 \ No newline at end of file diff --git a/src/search_engine/engines/isohunt.png b/src/search_engine/engines/isohunt.png new file mode 100644 index 0000000000000000000000000000000000000000..e71fb1ca23ff886c2bd8e656d31034943c8ec568 GIT binary patch literal 633 zcmV-<0*3vGP)K z^Us`Ho5TIH?PpHs)1`i}qMAL&FVE-2=izxC_>UD$tjf@GLIRX-H~ea3Lb}gf$6IG3 zwVIL2c7bp@gQl%>w97?BxkczeG@h3CpS+Q8$EM}qfWe`6>@bvZps5i69e6P^PXB{v ze3%OSG5mQUB7@NcjSbb<$_<6U=wt|!s?zFp;9pvihcDcg=LR0hrC3sL6iuXvrLr9H zI_W*uA#`9R{Z-B_gfN@RXmjmh+8IWO0OlfLa`{cXP8(LUN+uZx zz-%@G0ubc4B-yofdOF<5Eead>7goq>IS%dj5QrpLjHGFD*%`Wb1#d&O02m(g$%{80 zqpAw6UWa}xDad)|s3Q z;IvyYs0OBH!^DyqTn>A|#>?kVh?ftqiSAC9C;+M|EaKMHK2G;^;;P*(KKX(GR9a0% zz06X8zT@q>8q+iY_BpGI0)G1oD$vzjkH=k86d-;bWVJP!+mNWn63hmJ_!saU_r<`@ T=4)dh00000NkvXXu0mjfO$8z7 literal 0 HcmV?d00001 diff --git a/src/search_engine/engines/isohunt.py b/src/search_engine/engines/isohunt.py new file mode 100644 index 000000000..12f1b2619 --- /dev/null +++ b/src/search_engine/engines/isohunt.py @@ -0,0 +1,78 @@ +#VERSION: 1.00 +#AUTHORS: Gekko Dam Beer (gekko04@users.sourceforge.net) +from novaprinter import prettyPrinter +import sgmllib +import urllib + +class isohunt(object): + url = 'http://isohunt.com' + name = 'isoHunt' + + class SimpleSGMLParser(sgmllib.SGMLParser): + def __init__(self, results, url, *args): + sgmllib.SGMLParser.__init__(self) + self.td_counter = None + self.current_item = None + self.results = results + self.url = url + + def start_tr(self, attr): + params = dict(attr) + if 'onclick' in params: + Durl='http://isohunt.com/download' + self.current_item = {} + self.td_counter = 0 + try: + self.current_item['link'] = '%s/%s'%(Durl, params['onclick'].split('/')[2]) + except IndexError: + self.current_item['link'] = None + + def handle_data(self, data): + if self.td_counter == 3: + if not self.current_item.has_key('name'): + self.current_item['name'] = '' + self.current_item['name']+= data.strip() + if self.td_counter == 4: + if not self.current_item.has_key('size'): + self.current_item['size'] = '' + self.current_item['size']+= data.strip() + if self.td_counter == 5: + if not self.current_item.has_key('seeds'): + self.current_item['seeds'] = '' + self.current_item['seeds']+= data.strip() + if self.td_counter == 6: + if not self.current_item.has_key('leech'): + self.current_item['leech'] = '' + self.current_item['leech']+= data.strip() + + def start_td(self,attr): + if isinstance(self.td_counter,int): + self.td_counter += 1 + if self.td_counter > 7: + self.td_counter = None + # add item to results + if self.current_item: + self.current_item['engine_url'] = self.url + if not self.current_item.has_key('seeds') or not self.current_item['seeds'].isdigit(): + self.current_item['seeds'] = 0 + if not self.current_item.has_key('leech') or not self.current_item['leech'].isdigit(): + self.current_item['leech'] = 0 + if self.current_item['link'] is not None: + prettyPrinter(self.current_item) + self.results.append('a') + + def __init__(self): + self.results = [] + self.parser = self.SimpleSGMLParser(self.results, self.url) + + def search(self, what): + i = 1 + while True: + results = [] + parser = self.SimpleSGMLParser(results, self.url) + dat = urllib.urlopen(self.url+'/torrents.php?ihq=%s&ihp=%s'%(what,i)).read().decode('utf-8', 'replace') + parser.feed(dat) + parser.close() + if len(results) <= 0: + break + i += 1 \ No newline at end of file diff --git a/src/search_engine/engines/mininova.png b/src/search_engine/engines/mininova.png new file mode 100644 index 0000000000000000000000000000000000000000..1513376b66dd7e8e99e33b045c9932e0bd827679 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP`hdjHqtjR3vpFp8so-U3d7N?I+-s^QZL8NW|v*Xhy zxas(o(i_PTskNYV#cU??zny85}S Ib4q9e09Q_ud;kCd literal 0 HcmV?d00001 diff --git a/src/search_engine/engines/mininova.py b/src/search_engine/engines/mininova.py new file mode 100644 index 000000000..dca2b4d31 --- /dev/null +++ b/src/search_engine/engines/mininova.py @@ -0,0 +1,62 @@ +#VERSION: 1.11 +#AUTHORS: Fabien Devaux (fab@gnux.info) +from novaprinter import prettyPrinter +import urllib +from xml.dom import minidom +import re + +class mininova(object): + url = 'http://www.mininova.org' + name = 'Mininova' + table_items = 'added cat name size seeds leech'.split() + + def search(self, what): + order = 'seeds' # must be one in self.table_items + + def get_link(lnk): + lnks = lnk.getElementsByTagName('a') + i = 0 + try: + while not lnks.item(i).attributes.get('href').value.startswith('/get'): + i += 1 + except: + return None + return (self.url+lnks.item(i).attributes.get('href').value).strip() + + def get_text(txt): + if txt.nodeType == txt.TEXT_NODE: + return txt.toxml() + else: + return ''.join([ get_text(n) for n in txt.childNodes]) + page = 1 + while True: + res = 0 + dat = urllib.urlopen(self.url+'/search/%s/seeds/%d'%(what, page)).read().decode('utf-8', 'replace') + dat = re.sub("4;^@v00062NklX{L z>+380ih8{sDmM-+yCIQCgb>2>JR!t!8~_M{01@~0_Cmpr0EI%~{r&y!?(XH~Wj>!j zJUqO;y*)lYZjZ-q2jw_U5CqTj+U<5U8ufj@)oN*)7W({~2@#*3p29MbNNjt?Vljqc z0H9i}dY*@fyF0OMJDbh!@9zVED2lG@5<&pr`}=z{!(y>e6vg-bu#+syk|ZUQNdUOG zxR7O;=Xn4)K0anymJmXX$K$K3t4^nLaBz@Lr+J=VtyaG8hfz6>qiLF^=}M*2@As$E zDU-=$CX-3{cgy9HVHio0E-x=jrBbn2JUKa8uh)iQsH)oSb~%othQr}tFwiuu*=&A% zd^|rtTb6Zrc$m-UP1AH;_w4NK^z`)W>&rAvLI{P3rfHs^pC^;aTrPKXbQF)rMNtfb zU_PJgx-JMpxm@n`de_(2_xJaJh>qi=QYl4IY}>}4ux(pa)!W-!0GQ2YhzN-2`~GM& vvMdY#1H&+Cwc6+BCn8e6ob=Akh8O+^O42Py1rH4t00000NkvXXu0mjf8w?xe literal 0 HcmV?d00001 diff --git a/src/search_engine/engines/piratebay.py b/src/search_engine/engines/piratebay.py new file mode 100644 index 000000000..6653192f8 --- /dev/null +++ b/src/search_engine/engines/piratebay.py @@ -0,0 +1,79 @@ +#VERSION: 1.00 +#AUTHORS: Fabien Devaux (fab@gnux.info) +from novaprinter import prettyPrinter +import sgmllib +import urllib + +class piratebay(object): + url = 'http://thepiratebay.org' + name = 'The Pirate Bay' + + def __init__(self): + self.results = [] + self.parser = self.SimpleSGMLParser(self.results, self.url) + + class SimpleSGMLParser(sgmllib.SGMLParser): + def __init__(self, results, url, *args): + sgmllib.SGMLParser.__init__(self) + self.td_counter = None + self.current_item = None + self.results = results + self.url = url + self.code = 0 + + def start_a(self, attr): + params = dict(attr) + if params['href'].startswith('/browse'): + self.current_item = {} + self.td_counter = 0 + elif params['href'].startswith('/tor'): + self.code = params['href'].split('/')[2] + elif params['href'].startswith('http://torrents.thepiratebay.org/%s'%self.code): + self.current_item['link']=params['href'].strip() + self.td_counter = self.td_counter+1 + + def handle_data(self, data): + if self.td_counter == 1: + if not self.current_item.has_key('name'): + self.current_item['name'] = '' + self.current_item['name']+= data.strip() + if self.td_counter == 5: + if not self.current_item.has_key('size'): + self.current_item['size'] = '' + self.current_item['size']+= data.strip() + elif self.td_counter == 6: + if not self.current_item.has_key('seeds'): + self.current_item['seeds'] = '' + self.current_item['seeds']+= data.strip() + elif self.td_counter == 7: + if not self.current_item.has_key('leech'): + self.current_item['leech'] = '' + self.current_item['leech']+= data.strip() + + def start_td(self,attr): + if isinstance(self.td_counter,int): + self.td_counter += 1 + if self.td_counter > 7: + self.td_counter = None + # Display item + if self.current_item: + self.current_item['engine_url'] = self.url + if not self.current_item['seeds'].isdigit(): + self.current_item['seeds'] = 0 + if not self.current_item['leech'].isdigit(): + self.current_item['leech'] = 0 + prettyPrinter(self.current_item) + self.results.append('a') + def search(self, what): + ret = [] + i = 0 + order = 'se' + while True: + results = [] + parser = self.SimpleSGMLParser(results, self.url) + dat = urllib.urlopen(self.url+'/search/%s/%u/0/0' % (what, i)).read() + parser.feed(dat) + parser.close() + if len(results) <= 0: + break + i += 1 \ No newline at end of file diff --git a/src/search_engine/engines/torrentreactor.png b/src/search_engine/engines/torrentreactor.png new file mode 100644 index 0000000000000000000000000000000000000000..480c0b32e309093c46a31f61d36771d84dd3987a GIT binary patch literal 529 zcmV+s0`C2ZP)yvXtq_B{tDFBnn1fa}qnW57$ zesqjIep;xSjtQe7HDL4dEi4ubcXu~4?{qre@Auu^J?ZP50mdHHP6c7NCO z`F!pg#}S*&HOu94S7v_0&E~q&+E$I36*Eu`#PNP(9vu`7z-ImjfcV#U!f1#e9g`$U ziC4yf7aNe@KY4WVVh3A4e+3$dR72$*s0KuJuf96#VNae>PZHb=-5yE^QPm}tYg?W5 z3JX`4)RP3ubKD&j5kzF~!bAk_l<9O#t 7: + self.td_counter = None + # add item to results + if self.current_item: + self.current_item['link']='http://download.torrentreactor.net/download.php?id=%s&name=%s'%(self.id, urllib.quote(self.current_item['name'])) + self.current_item['engine_url'] = self.url + if not self.current_item['seeds'].isdigit(): + self.current_item['seeds'] = 0 + if not self.current_item['leech'].isdigit(): + self.current_item['leech'] = 0 + prettyPrinter(self.current_item) + self.has_results = True + self.results.append('a') + + def __init__(self): + self.results = [] + self.parser = self.SimpleSGMLParser(self.results, self.url) + + def search(self, what): + i = 0 + while True: + results = [] + parser = self.SimpleSGMLParser(results, self.url) + dat = urllib.urlopen(self.url+'/search.php?search=&words=%s&cid=&sid=&type=2&orderby=a.seeds&asc=0&skip=%s'%(what,(i*35))).read().decode('utf-8', 'replace') + parser.feed(dat) + parser.close() + if len(results) <= 0: + break + i += 1 \ No newline at end of file diff --git a/src/search_engine/engines/versions.txt b/src/search_engine/engines/versions.txt new file mode 100644 index 000000000..68f6b347c --- /dev/null +++ b/src/search_engine/engines/versions.txt @@ -0,0 +1,5 @@ +isohunt: 1.00 +torrentreactor: 1.00 +btjunkie: 1.10 +mininova: 1.11 +piratebay: 1.00 \ No newline at end of file diff --git a/src/search_engine/nova.py b/src/search_engine/nova.py deleted file mode 100755 index 47a798fe7..000000000 --- a/src/search_engine/nova.py +++ /dev/null @@ -1,503 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Version: 2.04 -# Changelog: -# - Fixed TorrentReactor search engine - -# Version: 2.03 -# Changelog: -# - Little fix for mininova search engine when file name contain '<=' - -# Version: 2.02 -# Changelog: -# - Fixed mininova search engine - -# Version: 2.01 -# Changelog: -# - Use multiple threads to optimize speed - -# Version: 2.00 -# Changelog: -# - Fixed ThePirateBay search engine -# - Fixed Meganova search engine -# - Fixed Mininova search engine - -# Version: 1.90 -# Changelog: -# - Various fixes - -# Version: 1.80 -# Changelog: -# - Fixed links from isohunt - -# Version: 1.70 -# Changelog: -# - merged with qbittorrent branch (code cleanup, indentation mistakes) -# - separate standalone and slave mode -# - added btjunkie -# - added meganova -# - added multithreaded mode - -# End Changelog - -# Author: -# Fabien Devaux -# Contributors: -# Christophe Dumez (qbittorrent integration) -# Thanks to gab #gcu @ irc.freenode.net (multipage support on PirateBay) -# Thanks to Elias (torrentreactor and isohunt search engines) -# -# Licence: BSD - -import sys -import urllib -import sgmllib -from xml.dom import minidom -import re -import os -import cgi -import traceback -import threading - -STANDALONE = False -THREADED = True - -if os.environ.has_key('QBITTORRENT'): - STANDALONE = False - -best_ratios = [] - -def prettyPrinter(dictionnary): - print "%(link)s|%(name)s|%(size)s|%(seeds)s|%(leech)s|%(engine_url)s"%dictionnary - -if STANDALONE: - def termPrettyPrinter(dictionnary): - if isinstance( dictionnary['size'], int): - dictionnary['size'] = bytesToHuman(dictionnary['size']) - try: - print "%(seeds)5s/%(leech)5s | %(size)10s | %(name)s"%dictionnary - except (UnicodeDecodeError, UnicodeEncodeError): - print "%(seeds)5s/%(leech)5s | %(size)10s | "%dictionnary - try: - print "wget '%s'"%dictionnary['link'].replace("'","\\'") - except: - pass - dictionnary['seeds'] = int( dictionnary['seeds'] ) or 0.00000001 - dictionnary['leech'] = int( dictionnary['leech'] ) or 0.00000001 - best_ratios.append(dictionnary) - - globals()['prettyPrinter'] = termPrettyPrinter - -def bytesToHuman(filesize): - """ - Convert float (size in bytes) to readable string - """ - decimators = ('k','M','G','T') - unit = '' - for n in range(len(decimators)): - if filesize > 1100.0: - filesize /= 1024.0 - unit = decimators[n] - return '%.1f%sB'%(filesize, unit) - -def anySizeToBytes(size_string): - """ - Convert a string like '1 KB' to '1024' (bytes) - """ - # separate integer from unit - try: - size, unit = size_string.split() - except (ValueError, TypeError): - try: - size = size_string.strip() - unit = ''.join([c for c in size if c.isalpha()]) - size = size[:-len(unit)] - except(ValueError, TypeError): - return -1 - - size = float(size) - short_unit = unit.upper()[0] - - # convert - units_dict = { 'T': 40, 'G': 30, 'M': 20, 'K': 10 } - if units_dict.has_key( short_unit ): - size = size * 2**units_dict[short_unit] - return int(size) - -################################################################################ -# Every engine should have a "search" method taking -# a space-free string as parameter (ex. "family+guy") -# it should call prettyPrinter() with a dict as parameter -# see above for dict keys -# As a convention, try to list results by decrasing number of seeds or similar -################################################################################ - -class PirateBay(object): - url = 'http://thepiratebay.org' - - def __init__(self): - self.results = [] - self.parser = self.SimpleSGMLParser(self.results, self.url) - - class SimpleSGMLParser(sgmllib.SGMLParser): - def __init__(self, results, url, *args): - sgmllib.SGMLParser.__init__(self) - self.td_counter = None - self.current_item = None - self.results = results - self.url = url - self.code = 0 - - def start_a(self, attr): - params = dict(attr) - if params['href'].startswith('/browse'): - self.current_item = {} - self.td_counter = 0 - elif params['href'].startswith('/tor'): - self.code = params['href'].split('/')[2] - elif params['href'].startswith('http://torrents.thepiratebay.org/%s'%self.code): - self.current_item['link']=params['href'].strip() - self.td_counter = self.td_counter+1 - - def handle_data(self, data): - if self.td_counter == 1: - if not self.current_item.has_key('name'): - self.current_item['name'] = '' - self.current_item['name']+= data.strip() - if self.td_counter == 5: - if not self.current_item.has_key('size'): - self.current_item['size'] = '' - self.current_item['size']+= data.strip() - elif self.td_counter == 6: - if not self.current_item.has_key('seeds'): - self.current_item['seeds'] = '' - self.current_item['seeds']+= data.strip() - elif self.td_counter == 7: - if not self.current_item.has_key('leech'): - self.current_item['leech'] = '' - self.current_item['leech']+= data.strip() - - def start_td(self,attr): - if isinstance(self.td_counter,int): - self.td_counter += 1 - if self.td_counter > 7: - self.td_counter = None - # Display item - if self.current_item: - self.current_item['engine_url'] = self.url - self.current_item['size']= anySizeToBytes(self.current_item['size']) - if not self.current_item['seeds'].isdigit(): - self.current_item['seeds'] = 0 - if not self.current_item['leech'].isdigit(): - self.current_item['leech'] = 0 - prettyPrinter(self.current_item) - self.results.append('a') - def search(self, what): - ret = [] - i = 0 - order = 'se' - while True: - results = [] - parser = self.SimpleSGMLParser(results, self.url) - dat = urllib.urlopen(self.url+'/search/%s/%u/0/0' % (what, i)).read() - parser.feed(dat) - parser.close() - if len(results) <= 0: - break - i += 1 - -class Mininova(object): - url = 'http://www.mininova.org' - table_items = 'added cat name size seeds leech'.split() - - def search(self, what): - order = 'seeds' # must be one in self.table_items - - def get_link(lnk): - lnks = lnk.getElementsByTagName('a') - if lnks.item(0).attributes.get('href').value.startswith('/faq'): - if len(lnks) > 1: - return self.url+lnks.item(1).attributes.get('href').value - else: - return self.url+lnks.item(0).attributes.get('href').value - - def get_text(txt): - if txt.nodeType == txt.TEXT_NODE: - return txt.toxml() - else: - return ''.join([ get_text(n) for n in txt.childNodes]) - dat = urllib.urlopen(self.url+'/search/%s/seeds'%(what,)).read().decode('utf-8', 'replace') - dat = re.sub("') - torrent_re = re.compile('(?s)href="(?P.*?do=download[^"]+).*?' - 'class="BlckUnd">(?P.*?).*?' - '>(?P\d+MB).*?' - '>(?P\d+).*?' - '>(?P\d+)') - for match in section_re.finditer(dat): - txt = match.group(0) - m = torrent_re.search(txt) - if m: - torrent_infos = m.groupdict() - torrent_infos['name'] = re.sub('', '', torrent_infos['name']) - torrent_infos['engine_url'] = self.url - torrent_infos['size'] = anySizeToBytes(torrent_infos['size']) - torrent_infos['link'] = self.url+torrent_infos['link'] - prettyPrinter(torrent_infos) - -class MegaNova(object): - url = 'http://www.meganova.org' - - def search(self, what): - dat = urllib.urlopen(self.url+'/find/%s/4/1.html'%what).read().decode('utf8', 'replace') - print 'url is ' + self.url+'/find/%s/4/1.html'%what - # I know it's not very readable, but the SGML parser feels in pain - - section_re = re.compile('(?s)/torrent/.*?)".*?' - '(?P.*?).*?' - '>(?P[0-9.]+\s+.B).*?' - '>(?P\d+)<.*?' - '>(?P\d+)<') - - for match in section_re.finditer(dat): - txt = match.group(0) - m = torrent_re.search(txt) - if m: - torrent_infos = m.groupdict() - torrent_infos['engine_url'] = self.url - torrent_infos['size'] = anySizeToBytes(torrent_infos['size']) - torrent_infos['link'] = self.url+torrent_infos['link'] - prettyPrinter(torrent_infos) - -class Reactor(object): - url = 'http://www.torrentreactor.net' - - class SimpleSGMLParser(sgmllib.SGMLParser): - def __init__(self, results, url, *args): - sgmllib.SGMLParser.__init__(self) - self.td_counter = None - self.current_item = None - self.results = results - self.id = None - self.url = url - - def start_a(self, attr): - params = dict(attr) - if params['href'].startswith('http://dl.torrentreactor.net/download.php'): - self.current_item = {} - self.td_counter = 0 - equal = params['href'].find("=") - amp = params['href'].find("&", equal+1) - self.id = str(int(params['href'][equal+1:amp])) - - def handle_data(self, data): - if self.td_counter == 0: - if not self.current_item.has_key('name'): - self.current_item['name'] = '' - self.current_item['name']+= data.strip() - if self.td_counter == 1: - if not self.current_item.has_key('size'): - self.current_item['size'] = '' - self.current_item['size']+= data.strip() - elif self.td_counter == 2: - if not self.current_item.has_key('seeds'): - self.current_item['seeds'] = '' - self.current_item['seeds']+= data.strip() - elif self.td_counter == 3: - if not self.current_item.has_key('leech'): - self.current_item['leech'] = '' - self.current_item['leech']+= data.strip() - - def start_td(self,attr): - if isinstance(self.td_counter,int): - self.td_counter += 1 - if self.td_counter > 7: - self.td_counter = None - # add item to results - if self.current_item: - self.current_item['link']='http://download.torrentreactor.net/download.php?id=%s&name=%s'%(self.id, urllib.quote(self.current_item['name'])) - self.current_item['engine_url'] = self.url - self.current_item['size']= anySizeToBytes(self.current_item['size']) - if not self.current_item['seeds'].isdigit(): - self.current_item['seeds'] = 0 - if not self.current_item['leech'].isdigit(): - self.current_item['leech'] = 0 - prettyPrinter(self.current_item) - self.has_results = True - self.results.append('a') - - def __init__(self): - self.results = [] - self.parser = self.SimpleSGMLParser(self.results, self.url) - - def search(self, what): - i = 0 - while True: - results = [] - parser = self.SimpleSGMLParser(results, self.url) - dat = urllib.urlopen(self.url+'/search.php?search=&words=%s&cid=&sid=&type=2&orderby=a.seeds&asc=0&skip=%s'%(what,(i*35))).read().decode('utf-8', 'replace') - parser.feed(dat) - parser.close() - if len(results) <= 0: - break - i += 1 - -class Isohunt(object): - url = 'http://isohunt.com' - - class SimpleSGMLParser(sgmllib.SGMLParser): - def __init__(self, results, url, *args): - sgmllib.SGMLParser.__init__(self) - self.td_counter = None - self.current_item = None - self.results = results - self.url = url - - def start_tr(self, attr): - params = dict(attr) - if 'onclick' in params: - Durl='http://isohunt.com/download' - self.current_item = {} - self.td_counter = 0 - try: - self.current_item['link'] = '%s/%s'%(Durl, params['onclick'].split('/')[2]) - except IndexError: - self.current_item['link'] = None - - def handle_data(self, data): - if self.td_counter == 3: - if not self.current_item.has_key('name'): - self.current_item['name'] = '' - self.current_item['name']+= data.strip() - if self.td_counter == 4: - if not self.current_item.has_key('size'): - self.current_item['size'] = '' - self.current_item['size']+= data.strip() - if self.td_counter == 5: - if not self.current_item.has_key('seeds'): - self.current_item['seeds'] = '' - self.current_item['seeds']+= data.strip() - if self.td_counter == 6: - if not self.current_item.has_key('leech'): - self.current_item['leech'] = '' - self.current_item['leech']+= data.strip() - - def start_td(self,attr): - if isinstance(self.td_counter,int): - self.td_counter += 1 - if self.td_counter > 7: - self.td_counter = None - # add item to results - if self.current_item: - self.current_item['engine_url'] = self.url - self.current_item['size']= anySizeToBytes(self.current_item['size']) - if not self.current_item.has_key('seeds') or not self.current_item['seeds'].isdigit(): - self.current_item['seeds'] = 0 - if not self.current_item.has_key('leech') or not self.current_item['leech'].isdigit(): - self.current_item['leech'] = 0 - if self.current_item['link'] is not None: - prettyPrinter(self.current_item) - self.results.append('a') - - def __init__(self): - self.results = [] - self.parser = self.SimpleSGMLParser(self.results, self.url) - - def search(self, what): - i = 1 - while True: - results = [] - parser = self.SimpleSGMLParser(results, self.url) - dat = urllib.urlopen(self.url+'/torrents.php?ihq=%s&ihp=%s'%(what,i)).read().decode('utf-8', 'replace') - parser.feed(dat) - parser.close() - if len(results) <= 0: - break - i += 1 - -class EngineLauncher(threading.Thread): - def __init__(self, engine, what): - threading.Thread.__init__(self) - self.engine = engine - self.what = what - def run(self): - self.engine.search(self.what) - -if __name__ == '__main__': - available_engines_list = BtJunkie, MegaNova, Mininova, PirateBay, Reactor, Isohunt - - if len(sys.argv) < 2: - raise SystemExit('./nova.py [all|engine1[,engine2]*] \navailable engines: %s'% - (','.join(e.__name__ for e in available_engines_list))) - - engines_list = [e.lower() for e in sys.argv[1].strip().split(',')] - - if 'all' in engines_list: - engines_list = [e.__name__.lower() for e in available_engines_list] - - selected_engines = set(e for e in available_engines_list if e.__name__.lower() in engines_list) - - if not selected_engines: - selected_engines = [BtJunkie] - what = '+'.join(sys.argv[1:]) - else: - what = '+'.join(sys.argv[2:]) - - threads = [] - for engine in selected_engines: - try: - if THREADED: - l = EngineLauncher( engine(), what ) - threads.append(l) - l.start() - else: - engine().search(what) - except: - if STANDALONE: - traceback.print_exc() - if THREADED: - for t in threads: - t.join() - - best_ratios.sort(lambda a,b : cmp(a['seeds']-a['leech'], b['seeds']-b['leech'])) - - max_results = 10 - - print "########## TOP %d RATIOS ##########"%max_results - - for br in best_ratios: - if br['seeds'] > 1: # avoid those with 0 leech to be max rated - prettyPrinter(br) - max_results -= 1 - if not max_results: - break diff --git a/src/search_engine/nova2.py b/src/search_engine/nova2.py new file mode 100755 index 000000000..d0bdcb4e8 --- /dev/null +++ b/src/search_engine/nova2.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#VERSION: 1.00 + +# Author: +# Fabien Devaux +# Contributors: +# Christophe Dumez (qbittorrent integration) +# Thanks to gab #gcu @ irc.freenode.net (multipage support on PirateBay) +# Thanks to Elias (torrentreactor and isohunt search engines) +# +# Licence: BSD + +import sys +import threading +import os +import glob + +THREADED = True + +################################################################################ +# Every engine should have a "search" method taking +# a space-free string as parameter (ex. "family+guy") +# it should call prettyPrinter() with a dict as parameter. +# The keys in the dict must be: link,name,size,seeds,leech,engine_url +# As a convention, try to list results by decrasing number of seeds or similar +################################################################################ + +supported_engines = [] + +engines = glob.glob(os.path.join(os.path.dirname(__file__), 'engines','*.py')) +for engine in engines: + e = engine.split(os.sep)[-1][:-3] + if len(e.strip()) == 0: continue + if e.startswith('_'): continue + try: + exec "from engines.%s import %s"%(e,e) + supported_engines.append(e) + except: + pass + +class EngineLauncher(threading.Thread): + def __init__(self, engine, what): + threading.Thread.__init__(self) + self.engine = engine + self.what = what + def run(self): + self.engine.search(self.what) + +if __name__ == '__main__': + if len(sys.argv) < 2: + raise SystemExit('./nova.py [all|engine1[,engine2]*] \navailable engines: %s'% + (','.join(supported_engines))) + + if len(sys.argv) == 2: + if sys.argv[1] == "--supported_engines": + print ','.join(supported_engines) + sys.exit(0) + elif sys.argv[1] == "--supported_engines_infos": + res = [] + for e in supported_engines: + exec "res.append(%s().name+'|'+%s().url)"%(e,e) + print ','.join(res) + sys.exit(0) + else: + raise SystemExit('./nova.py [all|engine1[,engine2]*] \navailable engines: %s'% + (','.join(supported_engines))) + + engines_list = [e.lower() for e in sys.argv[1].strip().split(',')] + + if 'all' in engines_list: + engines_list = supported_engines + + what = '+'.join(sys.argv[2:]) + + threads = [] + for engine in engines_list: + try: + if THREADED: + exec "l = EngineLauncher(%s(), what)" % engine + threads.append(l) + l.start() + else: + engine().search(what) + except: + pass + if THREADED: + for t in threads: + t.join() diff --git a/src/search_engine/novaprinter.py b/src/search_engine/novaprinter.py new file mode 100644 index 000000000..e81689334 --- /dev/null +++ b/src/search_engine/novaprinter.py @@ -0,0 +1,30 @@ +#VERSION: 1.11 + +def prettyPrinter(dictionnary): + dictionnary['size'] = anySizeToBytes(dictionnary['size']) + print "%(link)s|%(name)s|%(size)s|%(seeds)s|%(leech)s|%(engine_url)s" % dictionnary + +def anySizeToBytes(size_string): + """ + Convert a string like '1 KB' to '1024' (bytes) + """ + # separate integer from unit + try: + size, unit = size_string.split() + except: + try: + size = size_string.strip() + unit = ''.join([c for c in size if c.isalpha()]) + size = size[:-len(unit)] + except: + return -1 + if len(size) == 0: + return -1 + size = float(size) + short_unit = unit.upper()[0] + + # convert + units_dict = { 'T': 40, 'G': 30, 'M': 20, 'K': 10 } + if units_dict.has_key( short_unit ): + size = size * 2**units_dict[short_unit] + return int(size) \ No newline at end of file diff --git a/src/src.pro b/src/src.pro index 28f3d4365..1152b68a6 100644 --- a/src/src.pro +++ b/src/src.pro @@ -3,7 +3,7 @@ LANG_PATH = lang ICONS_PATH = Icons #Set the following variable to 1 to enable debug -DEBUG_MODE = 1 +DEBUG_MODE = 0 # Global TEMPLATE = app @@ -11,7 +11,7 @@ TARGET = qbittorrent CONFIG += qt thread x11 network # Update this VERSION for each release -DEFINES += VERSION=\\\"v1.0.0beta5\\\" +DEFINES += VERSION=\\\"v1.0.0rc6\\\" DEFINES += VERSION_MAJOR=1 DEFINES += VERSION_MINOR=0 DEFINES += VERSION_BUGFIX=0 @@ -24,9 +24,14 @@ contains(DEBUG_MODE, 1){ contains(DEBUG_MODE, 0){ CONFIG -= debug CONFIG += release + DEFINES += QT_NO_DEBUG_OUTPUT message(Release build!) } +# For libtorrent stuff +# (comment this if you are using libtorrent with debug enabled) +DEFINES += NDEBUG + # Install !win32 { @@ -78,9 +83,7 @@ QMAKE_CXXFLAGS_DEBUG += -fwrapv -O1 CONFIG += link_pkgconfig PKGCONFIG += libtorrent libccext2 libccgnu2 -contains(DEFINES, HAVE_MAGICK){ - #PKGCONFIG += ImageMagick++ -}else{ +!contains(DEFINES, HAVE_MAGICK){ message(ImageMagick disabled) } @@ -89,19 +92,6 @@ QT += network xml DEFINES += QT_NO_CAST_TO_ASCII #QT_NO_CAST_FROM_ASCII -contains(DEBUG_MODE, 0){ - contains(QT_VERSION, 4.2.0) { - message(Qt 4.2.0 detected : enabling debug output because of a bug in this version of Qt) - }else{ - contains(QT_VERSION, 4.2.1) { - message(Qt 4.2.1 detected : enabling debug output because of a bug in this version of Qt) - }else{ - DEFINES += QT_NO_DEBUG_OUTPUT - } - } - CONFIG += release -} - # Windows win32 { LIBS += -ltorrent -lccext2 -lccgnu2 @@ -150,12 +140,14 @@ HEADERS += GUI.h misc.h options_imp.h about_imp.h \ bittorrent.h searchEngine.h \ rss.h rss_imp.h FinishedTorrents.h \ allocationDlg.h FinishedListDelegate.h \ - qtorrenthandle.h downloadingTorrents.h + qtorrenthandle.h downloadingTorrents.h \ + engineSelectDlg.h pluginSource.h \ + arborescence.h qgnomelook.h FORMS += MainWindow.ui options.ui about.ui \ properties.ui createtorrent.ui preview.ui \ login.ui downloadFromURL.ui addTorrentDialog.ui \ search.ui rss.ui seeding.ui bandwidth_limit.ui \ - download.ui + download.ui engineSelect.ui pluginSource.ui SOURCES += GUI.cpp \ main.cpp \ options_imp.cpp \ @@ -166,5 +158,7 @@ SOURCES += GUI.cpp \ rss_imp.cpp \ FinishedTorrents.cpp \ qtorrenthandle.cpp \ - downloadingTorrents.cpp + downloadingTorrents.cpp \ + engineSelectDlg.cpp \ + downloadThread.cpp diff --git a/src/torrentAddition.h b/src/torrentAddition.h index 8d9537db6..255b23bf6 100644 --- a/src/torrentAddition.h +++ b/src/torrentAddition.h @@ -37,6 +37,7 @@ #include "misc.h" #include "PropListDelegate.h" #include "ui_addTorrentDialog.h" +#include "arborescence.h" using namespace libtorrent; @@ -44,7 +45,7 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ Q_OBJECT signals: - void setInfoBarGUI(QString info, QString color); + void setInfoBarGUI(QString info, QColor color); void torrentAddition(QString filePath, bool fromScanDir, QString from_url); private: @@ -55,19 +56,21 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ QString from_url; QStandardItemModel *PropListModel; PropListDelegate *PropDelegate; + unsigned int nbFiles; public: torrentAdditionDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setAttribute(Qt::WA_DeleteOnClose); // Set Properties list model - PropListModel = new QStandardItemModel(0,4); + PropListModel = new QStandardItemModel(0,5); PropListModel->setHeaderData(NAME, Qt::Horizontal, tr("File name")); PropListModel->setHeaderData(SIZE, Qt::Horizontal, tr("Size")); PropListModel->setHeaderData(PROGRESS, Qt::Horizontal, tr("Progress")); PropListModel->setHeaderData(PRIORITY, Qt::Horizontal, tr("Priority")); torrentContentList->setModel(PropListModel); torrentContentList->hideColumn(PROGRESS); + torrentContentList->hideColumn(INDEX); PropDelegate = new PropListDelegate(); torrentContentList->setItemDelegate(PropDelegate); connect(torrentContentList, SIGNAL(clicked(const QModelIndex&)), torrentContentList, SLOT(edit(const QModelIndex&))); @@ -83,6 +86,10 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ } QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); savePathTxt->setText(settings.value(QString::fromUtf8("LastDirTorrentAdd"), home+QString::fromUtf8("qBT_dir")).toString()); + if(settings.value("Preferences/Downloads/StartInPause", false).toBool()) { + addInPause->setChecked(true); + addInPause->setEnabled(false); + } } void showLoad(QString filePath, bool fromScanDir=false, QString from_url=QString::null){ @@ -96,6 +103,7 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ entry e = bdecode(std::istream_iterator(in), std::istream_iterator()); // Getting torrent file informations torrent_info t(e); + nbFiles = t.num_files(); // Setting file name fileName = misc::toQString(t.name()); hash = misc::toQString(t.info_hash()); @@ -108,15 +116,11 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ } fileNameLbl->setText(QString::fromUtf8("
        ")+newFileName+QString::fromUtf8("
        ")); // List files in torrent - unsigned int nbFiles = t.num_files(); - for(unsigned int i=0; irowCount(); - PropListModel->insertRow(row); - PropListModel->setData(PropListModel->index(row, NAME), QVariant(misc::toQString(t.file_at(i).path.leaf()))); - PropListModel->setData(PropListModel->index(row, SIZE), QVariant((qlonglong)t.file_at(i).size)); - PropListModel->setData(PropListModel->index(i, PRIORITY), QVariant(NORMAL)); - setRowColor(i, QString::fromUtf8("green")); - } + arborescence *arb = new arborescence(t); + addFilesToTree(arb->getRoot(), PropListModel->invisibleRootItem()); + delete arb; + connect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); + torrentContentList->expandAll(); }catch (invalid_torrent_file&){ // Raised by torrent_info constructor // Display warning to tell user we can't decode the torrent file if(!from_url.isNull()){ @@ -153,7 +157,113 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ show(); } + void addFilesToTree(file *root, QStandardItem *parent) { + QList child; + // Name + QStandardItem *first; + if(root->isDir()) { + first = new QStandardItem(QIcon(":/Icons/folder.png"), root->name()); + } else { + first = new QStandardItem(QIcon(":/Icons/file.png"), root->name()); + } + child << first; + // Size + child << new QStandardItem(misc::toQString(root->getSize())); + // Hidden progress + child << new QStandardItem(""); + // Prio + child << new QStandardItem(misc::toQString(NORMAL)); + // INDEX + child << new QStandardItem(misc::toQString(root->getIndex())); + // TODO: row Color? + // Add the child to the tree + parent->appendRow(child); + // Add childs + file *childFile; + foreach(childFile, root->getChildren()) { + addFilesToTree(childFile, first); + } + } + public slots: + + // priority is the new priority of given item + void updateParentsPriority(QStandardItem *item, int priority) { + QStandardItem *parent = item->parent(); + if(!parent) return; + // Check if children have different priorities + // then folder must have NORMAL priority + unsigned int rowCount = parent->rowCount(); + for(unsigned int i=0; ichild(i, PRIORITY)->text().toInt() != priority) { + QStandardItem *grandFather = parent->parent(); + if(!grandFather) { + grandFather = PropListModel->invisibleRootItem(); + } + QStandardItem *parentPrio = grandFather->child(parent->row(), PRIORITY); + if(parentPrio->text().toInt() != NORMAL) { + parentPrio->setText(misc::toQString(NORMAL)); + // Recursively update ancesters of this parent too + updateParentsPriority(grandFather->child(parent->row()), priority); + } + return; + } + } + // All the children have the same priority + // Parent folder should have the same priority too + QStandardItem *grandFather = parent->parent(); + if(!grandFather) { + grandFather = PropListModel->invisibleRootItem(); + } + QStandardItem *parentPrio = grandFather->child(parent->row(), PRIORITY); + if(parentPrio->text().toInt() != priority) { + parentPrio->setText(misc::toQString(priority)); + // Recursively update ancesters of this parent too + updateParentsPriority(grandFather->child(parent->row()), priority); + } + } + + void updateChildrenPriority(QStandardItem *item, int priority) { + QStandardItem *parent = item->parent(); + if(!parent) { + parent = PropListModel->invisibleRootItem(); + } + parent = parent->child(item->row()); + unsigned int rowCount = parent->rowCount(); + for(unsigned int i=0; ichild(i, PRIORITY); + if(childPrio->text().toInt() != priority) { + childPrio->setText(misc::toQString(priority)); + // recursively update children of this child too + updateChildrenPriority(parent->child(i), priority); + } + } + } + + void updatePriorities(QStandardItem *item) { + qDebug("Priority changed"); + // First we disable the signal/slot on item edition + // temporarily so that it doesn't mess with our manual updates + disconnect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); + QStandardItem *parent = item->parent(); + if(!parent) { + parent = PropListModel->invisibleRootItem(); + } + int priority = parent->child(item->row(), PRIORITY)->text().toInt(); + // Update parents priorities + updateParentsPriority(item, priority); + // If this is not a directory, then there are + // no children to update + if(parent->child(item->row(), INDEX)->text().toInt() == -1) { + // Updating children + qDebug("Priority changed for a folder to %d", priority); + updateChildrenPriority(item, priority); + } + // Reconnect the signal/slot on item edition so that we + // get future updates + connect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); + } + void on_browseButton_clicked(){ QString dir; QDir saveDir(savePathTxt->text()); @@ -178,39 +288,23 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ } } - bool onlyOneItem() const { + bool allFiltered() const { unsigned int nbRows = PropListModel->rowCount(); - if(nbRows == 1) return true; - unsigned int nb_unfiltered = 0; - QModelIndexList selectedIndexes = torrentContentList->selectionModel()->selectedIndexes(); - QModelIndex index; - unsigned int to_be_filtered = 0; - foreach(index, selectedIndexes){ - if(index.column() == PRIORITY){ - if(index.data().toInt() != IGNORED) - ++to_be_filtered; - } - } for(unsigned int i=0; idata(PropListModel->index(i, PRIORITY)).toInt() != IGNORED){ - ++nb_unfiltered; - } + if(PropListModel->data(PropListModel->index(i, PRIORITY)).toInt() != IGNORED) + return false; } - if(nb_unfiltered-to_be_filtered == 0) - return true; - return false; + return true; } void displayFilesListMenu(const QPoint& pos){ - unsigned int nbRows = PropListModel->rowCount(); - if(nbRows == 1) return; + if(nbFiles == 1) return; QMenu myFilesLlistMenu(this); QModelIndex index; // Enable/disable pause/start action given the DL state QModelIndexList selectedIndexes = torrentContentList->selectionModel()->selectedIndexes(); myFilesLlistMenu.setTitle(tr("Priority")); - if(!onlyOneItem()) - myFilesLlistMenu.addAction(actionIgnored); + myFilesLlistMenu.addAction(actionIgnored); myFilesLlistMenu.addAction(actionNormal); myFilesLlistMenu.addAction(actionHigh); myFilesLlistMenu.addAction(actionMaximum); @@ -271,23 +365,40 @@ class torrentAdditionDialog : public QDialog, private Ui_addTorrentDialog{ } } + void getPriorities(QStandardItem *parent, int *priorities) { + unsigned int nbRows = parent->rowCount(); + for(unsigned int i=0; ichild(i, INDEX); + int index = item->text().toInt(); + if(index < 0) { + qDebug("getPriorities(), found a folder, checking its children"); + getPriorities(parent->child(i), priorities); + } else { + item = parent->child(i, PRIORITY); + qDebug("getPriorities(), found priority %d for file at index %d", item->text().toInt(), index); + priorities[index] = item->text().toInt(); + } + } + } + void savePiecesPriorities(){ qDebug("Saving pieces priorities"); QFile pieces_file(misc::qBittorrentPath()+QString::fromUtf8("BT_backup")+QDir::separator()+hash+QString::fromUtf8(".priorities")); // First, remove old file pieces_file.remove(); - // Write new files + int *priorities = new int[nbFiles]; + getPriorities(PropListModel->invisibleRootItem(), priorities); + // Ok, we have priorities, save them if(!pieces_file.open(QIODevice::WriteOnly | QIODevice::Text)){ std::cerr << "Error: Could not save pieces priorities\n"; return; } - unsigned int nbRows = PropListModel->rowCount(); - for(unsigned int i=0; iitem(i, PRIORITY); - unsigned short priority = item->text().toInt(); - pieces_file.write((misc::toQByteArray(priority)+misc::toQByteArray("\n"))); + for(unsigned int i=0; irowCount(); - for(unsigned int i=0; iitem(i, PRIORITY); - unsigned short priority = item->text().toInt(); - if(priority) { - return true; - } - } - return false; - } }; #endif diff --git a/src/update_qrc_files.py b/src/update_qrc_files.py index 03e6dcc2c..e93a9dce1 100755 --- a/src/update_qrc_files.py +++ b/src/update_qrc_files.py @@ -20,6 +20,27 @@ lang_file = open('lang.qrc', 'w') lang_file.write(output) lang_file.close() +# update search_engine directory +search_list = [] +for root, dirs, files in os.walk('search_engine'): + for file in files: + if file.startswith("__"): + continue + if splitext(file)[-1] in ('.py', '.png'): + search_list.append(join(root, file)) + +output = ''' + +''' +for file in search_list: + output += ' %s'%(file) + output += os.linesep +output += ''' +''' +search_file = open('search.qrc', 'w') +search_file.write(output) +search_file.close() + # update icons files directory icons_list = [] for root, dirs, files in os.walk('Icons'):