mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-22 06:13:36 -07:00
Compare commits
21 commits
master
...
release-4.
Author | SHA1 | Date | |
---|---|---|---|
|
c77466abb0 |
||
|
a9d8cf2ea9 |
||
|
22420339a5 |
||
|
9076ff8876 |
||
|
af20233dfc |
||
|
dfd735f2dc |
||
|
2a04a4d077 | ||
|
67d340ad63 | ||
|
2b69cabc2c | ||
|
062e35e6b0 |
||
|
3088b38d7e |
||
|
f5b5570a3b |
||
|
80bb19701c | ||
|
8376707379 | ||
|
483ccb39bf | ||
|
41e44d22ea |
||
|
766fce82b1 |
||
|
938adca47d |
||
|
5bb02cbd90 |
||
|
66777f3304 |
||
|
508896c4f2 |
139 changed files with 27627 additions and 25543 deletions
2
.github/workflows/ci_ubuntu.yaml
vendored
2
.github/workflows/ci_ubuntu.yaml
vendored
|
@ -117,6 +117,8 @@ jobs:
|
|||
- name: Run CodeQL analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
if: startsWith(matrix.libt_version, 2) && (matrix.qbt_gui == 'GUI=ON') && startsWith(matrix.qt_version, 6)
|
||||
with:
|
||||
category: ${{ github.base_ref || github.ref_name }}
|
||||
|
||||
- name: Prepare build artifacts
|
||||
run: |
|
||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.6.0beta2.
|
||||
# Generated by GNU Autoconf 2.71 for qbittorrent v4.6.0RC2.
|
||||
#
|
||||
# Report bugs to <bugs.qbittorrent.org>.
|
||||
#
|
||||
|
@ -611,8 +611,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='qbittorrent'
|
||||
PACKAGE_TARNAME='qbittorrent'
|
||||
PACKAGE_VERSION='v4.6.0beta2'
|
||||
PACKAGE_STRING='qbittorrent v4.6.0beta2'
|
||||
PACKAGE_VERSION='v4.6.0RC2'
|
||||
PACKAGE_STRING='qbittorrent v4.6.0RC2'
|
||||
PACKAGE_BUGREPORT='bugs.qbittorrent.org'
|
||||
PACKAGE_URL='https://www.qbittorrent.org/'
|
||||
|
||||
|
@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then
|
|||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures qbittorrent v4.6.0beta2 to adapt to many kinds of systems.
|
||||
\`configure' configures qbittorrent v4.6.0RC2 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
@ -1400,7 +1400,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of qbittorrent v4.6.0beta2:";;
|
||||
short | recursive ) echo "Configuration of qbittorrent v4.6.0RC2:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
@ -1533,7 +1533,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
qbittorrent configure v4.6.0beta2
|
||||
qbittorrent configure v4.6.0RC2
|
||||
generated by GNU Autoconf 2.71
|
||||
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
|
@ -1648,7 +1648,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by qbittorrent $as_me v4.6.0beta2, which was
|
||||
It was created by qbittorrent $as_me v4.6.0RC2, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
$ $0$ac_configure_args_raw
|
||||
|
@ -4779,7 +4779,7 @@ fi
|
|||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='qbittorrent'
|
||||
VERSION='v4.6.0beta2'
|
||||
VERSION='v4.6.0RC2'
|
||||
|
||||
|
||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||
|
@ -7237,7 +7237,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by qbittorrent $as_me v4.6.0beta2, which was
|
||||
This file was extended by qbittorrent $as_me v4.6.0RC2, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -7297,7 +7297,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config='$ac_cs_config_escaped'
|
||||
ac_cs_version="\\
|
||||
qbittorrent config.status v4.6.0beta2
|
||||
qbittorrent config.status v4.6.0RC2
|
||||
configured by $0, generated by GNU Autoconf 2.71,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([qbittorrent], [v4.6.0beta2], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_INIT([qbittorrent], [v4.6.0RC2], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
: ${CFLAGS=""}
|
||||
|
|
2
dist/mac/Info.plist
vendored
2
dist/mac/Info.plist
vendored
|
@ -67,7 +67,7 @@
|
|||
<key>NSAppleScriptEnabled</key>
|
||||
<string>YES</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2006-2022 The qBittorrent project</string>
|
||||
<string>Copyright © 2006-2023 The qBittorrent project</string>
|
||||
<key>UTExportedTypeDeclarations</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
2
dist/windows/config.nsi
vendored
2
dist/windows/config.nsi
vendored
|
@ -112,7 +112,7 @@ OutFile "qbittorrent_${QBT_INSTALLER_FILENAME}_setup.exe"
|
|||
;Installer Version Information
|
||||
VIAddVersionKey "ProductName" "qBittorrent"
|
||||
VIAddVersionKey "CompanyName" "The qBittorrent project"
|
||||
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2022 The qBittorrent project"
|
||||
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2023 The qBittorrent project"
|
||||
VIAddVersionKey "FileDescription" "qBittorrent - A Bittorrent Client"
|
||||
VIAddVersionKey "FileVersion" "${QBT_VERSION}"
|
||||
|
||||
|
|
10
dist/windows/installer-translations/french.nsi
vendored
10
dist/windows/installer-translations/french.nsi
vendored
|
@ -7,7 +7,7 @@ LangString inst_desktop ${LANG_FRENCH} "Créer un Raccourci sur le Bureau"
|
|||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_FRENCH} "Créer un Raccourci dans le Menu Démarrer"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_FRENCH} "Démarrez qBittorrent au démarrage de Windows"
|
||||
LangString inst_startup ${LANG_FRENCH} "Démarrer qBittorrent au démarrage de Windows"
|
||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_FRENCH} "Ouvrir les fichiers .torrent avec qBittorrent"
|
||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
|
||||
|
@ -15,7 +15,7 @@ LangString inst_magnet ${LANG_FRENCH} "Ouvrir les liens magnet avec qBittorrent"
|
|||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_FRENCH} "Ajouter une règle au Pare-Feu de Windows"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_FRENCH} "Désactiver la limite de taille du chemin de Windows (limitation de MAX_PATH 260 caractères, nécessite Windows 10 1607 ou plus)"
|
||||
LangString inst_pathlimit ${LANG_FRENCH} "Désactiver la limite de taille des chemins de Windows (limite MAX_PATH de 260 caractères, nécessite Windows 10 1607 ou plus)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_FRENCH} "Ajout d'une règle au Pare-Feu de Windows"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
|
@ -31,7 +31,7 @@ LangString inst_requires_64bit ${LANG_FRENCH} "Cet installateur ne fonctionne qu
|
|||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_FRENCH} "Cette version de qBittorrent nécessite au moins Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_FRENCH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_FRENCH} "Cet installateur nécessite au moins Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_FRENCH} "Désinstaller qBittorrent"
|
||||
|
||||
|
@ -53,9 +53,9 @@ LangString remove_firewall ${LANG_FRENCH} "Supprimer la règle du Pare-Feu de Wi
|
|||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_FRENCH} "Suppression de la règle du Pare-Feu de Windows"
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_FRENCH} "Supprimer les torrents et données cachées"
|
||||
LangString remove_cache ${LANG_FRENCH} "Supprimer les torrents et données en cache"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_FRENCH} "qBittorrent est en cours d'exécution. Veuillez fermer l'application avant la désinstallation."
|
||||
LangString uninst_warning ${LANG_FRENCH} "qBittorrent est en cours d'exécution. Fermez l'application avant de la désinstaller."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_FRENCH} "Ne peut pas supprimer l'association du .torrent. Elle est associée avec :"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
|
|
56
dist/windows/installer-translations/romanian.nsi
vendored
56
dist/windows/installer-translations/romanian.nsi
vendored
|
@ -1,62 +1,62 @@
|
|||
;Installer strings
|
||||
|
||||
;LangString inst_qbt_req ${LANG_ENGLISH} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_ROMANIAN} "qBittorrent (required)"
|
||||
LangString inst_qbt_req ${LANG_ROMANIAN} "qBittorrent (obligatoriu)"
|
||||
;LangString inst_desktop ${LANG_ENGLISH} "Create Desktop Shortcut"
|
||||
LangString inst_desktop ${LANG_ROMANIAN} "Create Desktop Shortcut"
|
||||
LangString inst_desktop ${LANG_ROMANIAN} "Creați o comandă rapidă pe Desktop"
|
||||
;LangString inst_startmenu ${LANG_ENGLISH} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_ROMANIAN} "Create Start Menu Shortcut"
|
||||
LangString inst_startmenu ${LANG_ROMANIAN} "Creați o comandă rapidă în meniul Start"
|
||||
;LangString inst_startup ${LANG_ENGLISH} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_ROMANIAN} "Start qBittorrent on Windows start up"
|
||||
LangString inst_startup ${LANG_ROMANIAN} "Porniți qBittorrent la pornirea Windows"
|
||||
;LangString inst_torrent ${LANG_ENGLISH} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_ROMANIAN} "Open .torrent files with qBittorrent"
|
||||
LangString inst_torrent ${LANG_ROMANIAN} "Deschideți fișierele .torrent cu qBittorrent"
|
||||
;LangString inst_magnet ${LANG_ENGLISH} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_ROMANIAN} "Open magnet links with qBittorrent"
|
||||
LangString inst_magnet ${LANG_ROMANIAN} "Deschideți linkurile magnet cu qBittorrent"
|
||||
;LangString inst_firewall ${LANG_ENGLISH} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_ROMANIAN} "Add Windows Firewall rule"
|
||||
LangString inst_firewall ${LANG_ROMANIAN} "Adăugați regula Windows Firewall"
|
||||
;LangString inst_pathlimit ${LANG_ENGLISH} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_ROMANIAN} "Disable Windows path length limit (260 character MAX_PATH limitation, requires Windows 10 1607 or later)"
|
||||
LangString inst_pathlimit ${LANG_ROMANIAN} "Dezactivați limita de lungime a căii Windows (260 de caractere limită MAX_PATH, necesită Windows 10 1607 sau o versiune ulterioară)"
|
||||
;LangString inst_firewallinfo ${LANG_ENGLISH} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_ROMANIAN} "Adding Windows Firewall rule"
|
||||
LangString inst_firewallinfo ${LANG_ROMANIAN} "Adăugarea regulii Windows Firewall"
|
||||
;LangString inst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_ROMANIAN} "qBittorrent is running. Please close the application before installing."
|
||||
LangString inst_warning ${LANG_ROMANIAN} "qBittorrent rulează. Vă rugăm să închideți aplicația înainte de instalare."
|
||||
;LangString inst_uninstall_question ${LANG_ENGLISH} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_ROMANIAN} "Current version will be uninstalled. User settings and torrents will remain intact."
|
||||
LangString inst_uninstall_question ${LANG_ROMANIAN} "Versiunea actuală va fi dezinstalată. Setările utilizatorului și torrentele vor rămâne intacte."
|
||||
;LangString inst_unist ${LANG_ENGLISH} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_ROMANIAN} "Uninstalling previous version."
|
||||
LangString inst_unist ${LANG_ROMANIAN} "Se dezinstalează versiunea anterioară."
|
||||
;LangString launch_qbt ${LANG_ENGLISH} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_ROMANIAN} "Launch qBittorrent."
|
||||
LangString launch_qbt ${LANG_ROMANIAN} "Lansați qBittorrent."
|
||||
;LangString inst_requires_64bit ${LANG_ENGLISH} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_ROMANIAN} "This installer works only in 64-bit Windows versions."
|
||||
LangString inst_requires_64bit ${LANG_ROMANIAN} "Acest program de instalare funcționează doar pe versiunile Windows pe 64 de biți."
|
||||
;LangString inst_requires_win7 ${LANG_ENGLISH} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ROMANIAN} "This qBittorrent version requires at least Windows 7."
|
||||
LangString inst_requires_win7 ${LANG_ROMANIAN} "Această versiune de qBittorrent necesită cel puțin Windows 7."
|
||||
;LangString inst_requires_win10 ${LANG_ENGLISH} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ROMANIAN} "This installer requires at least Windows 10 1809."
|
||||
LangString inst_requires_win10 ${LANG_ROMANIAN} "Acest program de instalare necesită cel puțin Windows 10 1809."
|
||||
;LangString inst_uninstall_link_description ${LANG_ENGLISH} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ROMANIAN} "Uninstall qBittorrent"
|
||||
LangString inst_uninstall_link_description ${LANG_ROMANIAN} "Dezinstalați qBittorrent"
|
||||
|
||||
;------------------------------------
|
||||
;Uninstaller strings
|
||||
|
||||
;LangString remove_files ${LANG_ENGLISH} "Remove files"
|
||||
LangString remove_files ${LANG_ROMANIAN} "Remove files"
|
||||
LangString remove_files ${LANG_ROMANIAN} "Eliminați fișierele"
|
||||
;LangString remove_shortcuts ${LANG_ENGLISH} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_ROMANIAN} "Remove shortcuts"
|
||||
LangString remove_shortcuts ${LANG_ROMANIAN} "Eliminați comenzile rapide"
|
||||
;LangString remove_associations ${LANG_ENGLISH} "Remove file associations"
|
||||
LangString remove_associations ${LANG_ROMANIAN} "Remove file associations"
|
||||
LangString remove_associations ${LANG_ROMANIAN} "Eliminați asocierile de fișiere"
|
||||
;LangString remove_registry ${LANG_ENGLISH} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_ROMANIAN} "Remove registry keys"
|
||||
LangString remove_registry ${LANG_ROMANIAN} "Eliminați cheile din registru"
|
||||
;LangString remove_conf ${LANG_ENGLISH} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_ROMANIAN} "Remove configuration files"
|
||||
LangString remove_conf ${LANG_ROMANIAN} "Eliminați fișierele de configurare"
|
||||
;LangString remove_firewall ${LANG_ENGLISH} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_ROMANIAN} "Remove Windows Firewall rule"
|
||||
LangString remove_firewall ${LANG_ROMANIAN} "Eliminați regula Windows Firewall"
|
||||
;LangString remove_firewallinfo ${LANG_ENGLISH} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_ROMANIAN} "Removing Windows Firewall rule"
|
||||
LangString remove_firewallinfo ${LANG_ROMANIAN} "Se elimină regula Windows Firewall"
|
||||
;LangString remove_cache ${LANG_ENGLISH} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_ROMANIAN} "Remove torrents and cached data"
|
||||
LangString remove_cache ${LANG_ROMANIAN} "Eliminați torrentele și datele din cache"
|
||||
;LangString uninst_warning ${LANG_ENGLISH} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_ROMANIAN} "qBittorrent is running. Please close the application before uninstalling."
|
||||
LangString uninst_warning ${LANG_ROMANIAN} "qBittorrent rulează. Vă rugăm să închideți aplicația înainte de a o dezinstala."
|
||||
;LangString uninst_tor_warn ${LANG_ENGLISH} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_ROMANIAN} "Not removing .torrent association. It is associated with:"
|
||||
LangString uninst_tor_warn ${LANG_ROMANIAN} "Nu se elimină asocierea .torrent. Este asociat cu:"
|
||||
;LangString uninst_mag_warn ${LANG_ENGLISH} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_ROMANIAN} "Not removing magnet association. It is associated with:"
|
||||
LangString uninst_mag_warn ${LANG_ROMANIAN} "Nu se elimină asocierea magnet. Este asociat cu:"
|
||||
|
|
|
@ -763,7 +763,6 @@ void Application::processParams(const QBtCommandLineParameters ¶ms)
|
|||
}
|
||||
|
||||
int Application::exec()
|
||||
try
|
||||
{
|
||||
#if !defined(DISABLE_WEBUI) && defined(DISABLE_GUI)
|
||||
const QString loadingStr = tr("WebUI will be started shortly after internal preparations. Please wait...");
|
||||
|
@ -932,21 +931,6 @@ try
|
|||
|
||||
return BaseApplication::exec();
|
||||
}
|
||||
catch (const RuntimeError &err)
|
||||
{
|
||||
#ifdef DISABLE_GUI
|
||||
fprintf(stderr, "%s", qPrintable(err.message()));
|
||||
#else
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Critical);
|
||||
msgBox.setText(QCoreApplication::translate("Application", "Application failed to start."));
|
||||
msgBox.setInformativeText(err.message());
|
||||
msgBox.show(); // Need to be shown or to moveToCenter does not work
|
||||
msgBox.move(Utils::Gui::screenCenter(&msgBox));
|
||||
msgBox.exec();
|
||||
#endif
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
bool Application::isRunning()
|
||||
{
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
#endif
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDebug>
|
||||
#include <QString>
|
||||
#include <QThread>
|
||||
|
||||
#ifndef DISABLE_GUI
|
||||
|
@ -86,6 +86,7 @@ using namespace std::chrono_literals;
|
|||
void displayVersion();
|
||||
bool userAgreesWithLegalNotice();
|
||||
void displayBadArgMessage(const QString &message);
|
||||
void displayErrorMessage(const QString &message);
|
||||
|
||||
#ifndef DISABLE_GUI
|
||||
void showSplashScreen();
|
||||
|
@ -114,10 +115,12 @@ int main(int argc, char *argv[])
|
|||
Application::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
|
||||
#endif
|
||||
|
||||
// `app` must be declared out of try block to allow display message box in case of exception
|
||||
std::unique_ptr<Application> app;
|
||||
try
|
||||
{
|
||||
// Create Application
|
||||
auto app = std::make_unique<Application>(argc, argv);
|
||||
app = std::make_unique<Application>(argc, argv);
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
// QCoreApplication::applicationDirPath() needs an Application object instantiated first
|
||||
|
@ -268,7 +271,7 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
catch (const RuntimeError &er)
|
||||
{
|
||||
qDebug() << er.message();
|
||||
displayErrorMessage(er.message());
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
|
@ -311,6 +314,30 @@ void displayBadArgMessage(const QString &message)
|
|||
#endif
|
||||
}
|
||||
|
||||
void displayErrorMessage(const QString &message)
|
||||
{
|
||||
#ifndef DISABLE_GUI
|
||||
if (QApplication::instance())
|
||||
{
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Critical);
|
||||
msgBox.setText(QCoreApplication::translate("Main", "An unrecoverable error occurred."));
|
||||
msgBox.setInformativeText(message);
|
||||
msgBox.show(); // Need to be shown or to moveToCenter does not work
|
||||
msgBox.move(Utils::Gui::screenCenter(&msgBox));
|
||||
msgBox.exec();
|
||||
}
|
||||
else
|
||||
{
|
||||
const QString errMsg = QCoreApplication::translate("Main", "qBittorrent has encountered an unrecoverable error.") + u'\n' + message + u'\n';
|
||||
fprintf(stderr, "%s", qUtf8Printable(errMsg));
|
||||
}
|
||||
#else
|
||||
const QString errMsg = QCoreApplication::translate("Main", "qBittorrent has encountered an unrecoverable error.") + u'\n' + message + u'\n';
|
||||
fprintf(stderr, "%s", qUtf8Printable(errMsg));
|
||||
#endif
|
||||
}
|
||||
|
||||
bool userAgreesWithLegalNotice()
|
||||
{
|
||||
Preferences *const pref = Preferences::instance();
|
||||
|
|
|
@ -2950,7 +2950,7 @@ bool SessionImpl::addTorrent_impl(const std::variant<MagnetUri, TorrentInfo> &so
|
|||
}
|
||||
|
||||
void SessionImpl::findIncompleteFiles(const TorrentInfo &torrentInfo, const Path &savePath
|
||||
, const Path &downloadPath, const PathList &filePaths) const
|
||||
, const Path &downloadPath, const PathList &filePaths) const
|
||||
{
|
||||
Q_ASSERT(filePaths.isEmpty() || (filePaths.size() == torrentInfo.filesCount()));
|
||||
|
||||
|
@ -3143,8 +3143,16 @@ void SessionImpl::generateResumeData()
|
|||
void SessionImpl::saveResumeData()
|
||||
{
|
||||
for (const TorrentImpl *torrent : asConst(m_torrents))
|
||||
torrent->nativeHandle().save_resume_data(lt::torrent_handle::only_if_modified);
|
||||
m_numResumeData += m_torrents.size();
|
||||
{
|
||||
// When the session is terminated due to unrecoverable error
|
||||
// some of the torrent handles can be corrupted
|
||||
try
|
||||
{
|
||||
torrent->nativeHandle().save_resume_data(lt::torrent_handle::only_if_modified);
|
||||
++m_numResumeData;
|
||||
}
|
||||
catch (const std::exception &) {}
|
||||
}
|
||||
|
||||
// clear queued storage move jobs except the current ongoing one
|
||||
if (m_moveStorageQueue.size() > 1)
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
#include <QStringList>
|
||||
#include <QUrl>
|
||||
|
||||
#include "base/exceptions.h"
|
||||
#include "base/global.h"
|
||||
#include "base/logger.h"
|
||||
#include "base/preferences.h"
|
||||
|
@ -1602,7 +1603,8 @@ void TorrentImpl::applyFirstLastPiecePriority(const bool enabled)
|
|||
|
||||
void TorrentImpl::fileSearchFinished(const Path &savePath, const PathList &fileNames)
|
||||
{
|
||||
endReceivedMetadataHandling(savePath, fileNames);
|
||||
if (m_maintenanceJob == MaintenanceJob::HandleMetadata)
|
||||
endReceivedMetadataHandling(savePath, fileNames);
|
||||
}
|
||||
|
||||
TrackerEntry TorrentImpl::updateTrackerEntry(const lt::announce_entry &announceEntry, const QMap<TrackerEntry::Endpoint, int> &updateInfo)
|
||||
|
@ -1635,7 +1637,13 @@ std::shared_ptr<const libtorrent::torrent_info> TorrentImpl::nativeTorrentInfo()
|
|||
|
||||
void TorrentImpl::endReceivedMetadataHandling(const Path &savePath, const PathList &fileNames)
|
||||
{
|
||||
Q_ASSERT(m_maintenanceJob == MaintenanceJob::HandleMetadata);
|
||||
if (Q_UNLIKELY(m_maintenanceJob != MaintenanceJob::HandleMetadata))
|
||||
return;
|
||||
|
||||
Q_ASSERT(m_filePaths.isEmpty());
|
||||
if (Q_UNLIKELY(!m_filePaths.isEmpty()))
|
||||
m_filePaths.clear();
|
||||
|
||||
lt::add_torrent_params &p = m_ltAddTorrentParams;
|
||||
|
||||
|
@ -1644,7 +1652,7 @@ void TorrentImpl::endReceivedMetadataHandling(const Path &savePath, const PathLi
|
|||
m_filePriorities.reserve(filesCount());
|
||||
const auto nativeIndexes = m_torrentInfo.nativeIndexes();
|
||||
p.file_priorities = resized(p.file_priorities, metadata->files().num_files()
|
||||
, LT::toNative(p.file_priorities.empty() ? DownloadPriority::Normal : DownloadPriority::Ignored));
|
||||
, LT::toNative(p.file_priorities.empty() ? DownloadPriority::Normal : DownloadPriority::Ignored));
|
||||
|
||||
m_completedFiles.fill(static_cast<bool>(p.flags & lt::torrent_flags::seed_mode), filesCount());
|
||||
m_filesProgress.resize(filesCount());
|
||||
|
@ -1694,6 +1702,7 @@ void TorrentImpl::endReceivedMetadataHandling(const Path &savePath, const PathLi
|
|||
}
|
||||
|
||||
void TorrentImpl::reload()
|
||||
try
|
||||
{
|
||||
m_completedFiles.fill(false);
|
||||
m_filesProgress.fill(0);
|
||||
|
@ -1736,6 +1745,11 @@ void TorrentImpl::reload()
|
|||
|
||||
updateState();
|
||||
}
|
||||
catch (const lt::system_error &err)
|
||||
{
|
||||
throw RuntimeError(tr("Failed to reload torrent. Torrent: %1. Reason: %2")
|
||||
.arg(id().toString(), QString::fromLocal8Bit(err.what())));
|
||||
}
|
||||
|
||||
void TorrentImpl::pause()
|
||||
{
|
||||
|
|
|
@ -62,11 +62,10 @@ public:
|
|||
{
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
QList<QNetworkCookie> cookies = Preferences::instance()->getNetworkCookies();
|
||||
for (const QNetworkCookie &cookie : asConst(Preferences::instance()->getNetworkCookies()))
|
||||
cookies.erase(std::remove_if(cookies.begin(), cookies.end(), [&now](const QNetworkCookie &cookie)
|
||||
{
|
||||
if (cookie.isSessionCookie() || (cookie.expirationDate() <= now))
|
||||
cookies.removeAll(cookie);
|
||||
}
|
||||
return cookie.isSessionCookie() || (cookie.expirationDate() <= now);
|
||||
}), cookies.end());
|
||||
|
||||
setAllCookies(cookies);
|
||||
}
|
||||
|
@ -75,11 +74,10 @@ public:
|
|||
{
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
QList<QNetworkCookie> cookies = allCookies();
|
||||
for (const QNetworkCookie &cookie : asConst(allCookies()))
|
||||
cookies.erase(std::remove_if(cookies.begin(), cookies.end(), [&now](const QNetworkCookie &cookie)
|
||||
{
|
||||
if (cookie.isSessionCookie() || (cookie.expirationDate() <= now))
|
||||
cookies.removeAll(cookie);
|
||||
}
|
||||
return cookie.isSessionCookie() || (cookie.expirationDate() <= now);
|
||||
}), cookies.end());
|
||||
|
||||
Preferences::instance()->setNetworkCookies(cookies);
|
||||
}
|
||||
|
@ -91,11 +89,10 @@ public:
|
|||
{
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
QList<QNetworkCookie> cookies = QNetworkCookieJar::cookiesForUrl(url);
|
||||
for (const QNetworkCookie &cookie : asConst(QNetworkCookieJar::cookiesForUrl(url)))
|
||||
cookies.erase(std::remove_if(cookies.begin(), cookies.end(), [&now](const QNetworkCookie &cookie)
|
||||
{
|
||||
if (!cookie.isSessionCookie() && (cookie.expirationDate() <= now))
|
||||
cookies.removeAll(cookie);
|
||||
}
|
||||
return !cookie.isSessionCookie() && (cookie.expirationDate() <= now);
|
||||
}), cookies.end());
|
||||
|
||||
return cookies;
|
||||
}
|
||||
|
@ -104,11 +101,10 @@ public:
|
|||
{
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
QList<QNetworkCookie> cookies = cookieList;
|
||||
for (const QNetworkCookie &cookie : cookieList)
|
||||
cookies.erase(std::remove_if(cookies.begin(), cookies.end(), [&now](const QNetworkCookie &cookie)
|
||||
{
|
||||
if (!cookie.isSessionCookie() && (cookie.expirationDate() <= now))
|
||||
cookies.removeAll(cookie);
|
||||
}
|
||||
return !cookie.isSessionCookie() && (cookie.expirationDate() <= now);
|
||||
}), cookies.end());
|
||||
|
||||
return QNetworkCookieJar::setCookiesFromUrl(cookies, url);
|
||||
}
|
||||
|
|
|
@ -1411,7 +1411,8 @@ bool Preferences::isTorrentFileAssocSet()
|
|||
if (defaultHandlerId != NULL)
|
||||
{
|
||||
const CFStringRef myBundleId = CFBundleGetIdentifier(CFBundleGetMainBundle());
|
||||
isSet = CFStringCompare(myBundleId, defaultHandlerId, 0) == kCFCompareEqualTo;
|
||||
if (myBundleId != NULL)
|
||||
isSet = CFStringCompare(myBundleId, defaultHandlerId, 0) == kCFCompareEqualTo;
|
||||
CFRelease(defaultHandlerId);
|
||||
}
|
||||
CFRelease(torrentId);
|
||||
|
@ -1423,11 +1424,13 @@ void Preferences::setTorrentFileAssoc()
|
|||
{
|
||||
if (isTorrentFileAssocSet())
|
||||
return;
|
||||
|
||||
const CFStringRef torrentId = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, torrentExtension, NULL);
|
||||
if (torrentId != NULL)
|
||||
{
|
||||
const CFStringRef myBundleId = CFBundleGetIdentifier(CFBundleGetMainBundle());
|
||||
LSSetDefaultRoleHandlerForContentType(torrentId, kLSRolesViewer, myBundleId);
|
||||
if (myBundleId != NULL)
|
||||
LSSetDefaultRoleHandlerForContentType(torrentId, kLSRolesViewer, myBundleId);
|
||||
CFRelease(torrentId);
|
||||
}
|
||||
}
|
||||
|
@ -1439,7 +1442,8 @@ bool Preferences::isMagnetLinkAssocSet()
|
|||
if (defaultHandlerId != NULL)
|
||||
{
|
||||
const CFStringRef myBundleId = CFBundleGetIdentifier(CFBundleGetMainBundle());
|
||||
isSet = CFStringCompare(myBundleId, defaultHandlerId, 0) == kCFCompareEqualTo;
|
||||
if (myBundleId != NULL)
|
||||
isSet = CFStringCompare(myBundleId, defaultHandlerId, 0) == kCFCompareEqualTo;
|
||||
CFRelease(defaultHandlerId);
|
||||
}
|
||||
return isSet;
|
||||
|
@ -1449,8 +1453,10 @@ void Preferences::setMagnetLinkAssoc()
|
|||
{
|
||||
if (isMagnetLinkAssocSet())
|
||||
return;
|
||||
|
||||
const CFStringRef myBundleId = CFBundleGetIdentifier(CFBundleGetMainBundle());
|
||||
LSSetDefaultHandlerForURLScheme(magnetUrlScheme, myBundleId);
|
||||
if (myBundleId != NULL)
|
||||
LSSetDefaultHandlerForURLScheme(magnetUrlScheme, myBundleId);
|
||||
}
|
||||
#endif // Q_OS_MACOS
|
||||
|
||||
|
|
|
@ -271,6 +271,7 @@ void Session::load()
|
|||
if (readResult.error().status == Utils::IO::ReadError::NotExist)
|
||||
{
|
||||
loadLegacy();
|
||||
store(); // convert to new format
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -294,10 +295,11 @@ void Session::load()
|
|||
return;
|
||||
}
|
||||
|
||||
loadFolder(jsonDoc.object(), rootFolder());
|
||||
if (loadFolder(jsonDoc.object(), rootFolder()))
|
||||
store(); // convert to updated format
|
||||
}
|
||||
|
||||
void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
|
||||
bool Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
|
||||
{
|
||||
bool updated = false;
|
||||
for (const QString &key : asConst(jsonObj.keys()))
|
||||
|
@ -353,7 +355,8 @@ void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
|
|||
}
|
||||
else
|
||||
{
|
||||
loadFolder(valObj, addSubfolder(key, folder));
|
||||
if (loadFolder(valObj, addSubfolder(key, folder)))
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -363,8 +366,7 @@ void Session::loadFolder(const QJsonObject &jsonObj, Folder *folder)
|
|||
}
|
||||
}
|
||||
|
||||
if (updated)
|
||||
store(); // convert to updated format
|
||||
return updated;
|
||||
}
|
||||
|
||||
void Session::loadLegacy()
|
||||
|
@ -394,8 +396,6 @@ void Session::loadLegacy()
|
|||
addFeed(feedUrl, feedPath);
|
||||
++i;
|
||||
}
|
||||
|
||||
store(); // convert to new format
|
||||
}
|
||||
|
||||
void Session::store()
|
||||
|
|
|
@ -149,7 +149,7 @@ namespace RSS
|
|||
private:
|
||||
QUuid generateUID() const;
|
||||
void load();
|
||||
void loadFolder(const QJsonObject &jsonObj, Folder *folder);
|
||||
bool loadFolder(const QJsonObject &jsonObj, Folder *folder);
|
||||
void loadLegacy();
|
||||
void store();
|
||||
nonstd::expected<Folder *, QString> prepareItemDest(const QString &path);
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#define QBT_VERSION_MINOR 6
|
||||
#define QBT_VERSION_BUGFIX 0
|
||||
#define QBT_VERSION_BUILD 0
|
||||
#define QBT_VERSION_STATUS "beta2" // Should be empty for stable releases!
|
||||
#define QBT_VERSION_STATUS "RC2" // Should be empty for stable releases!
|
||||
|
||||
#define QBT__STRINGIFY(x) #x
|
||||
#define QBT_STRINGIFY(x) QBT__STRINGIFY(x)
|
||||
|
|
|
@ -65,7 +65,7 @@ AboutDialog::AboutDialog(QWidget *parent)
|
|||
u"</p>"_s
|
||||
.arg(tr("An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.")
|
||||
.replace(u"C++"_s, u"C\u2060+\u2060+"_s) // make C++ non-breaking
|
||||
, tr("Copyright %1 2006-2022 The qBittorrent project").arg(C_COPYRIGHT)
|
||||
, tr("Copyright %1 2006-2023 The qBittorrent project").arg(C_COPYRIGHT)
|
||||
, tr("Home Page:")
|
||||
, tr("Forum:")
|
||||
, tr("Bug Tracker:"));
|
||||
|
|
|
@ -455,8 +455,6 @@ MainWindow::MainWindow(IGUIApplication *app, WindowState initialState)
|
|||
}
|
||||
#endif
|
||||
|
||||
m_propertiesWidget->readSettings();
|
||||
|
||||
const bool isFiltersSidebarVisible = pref->isFiltersSidebarVisible();
|
||||
m_ui->actionShowFiltersSidebar->setChecked(isFiltersSidebarVisible);
|
||||
if (isFiltersSidebarVisible)
|
||||
|
@ -1092,6 +1090,12 @@ void MainWindow::showEvent(QShowEvent *e)
|
|||
{
|
||||
// preparations before showing the window
|
||||
|
||||
if (m_neverShown)
|
||||
{
|
||||
m_propertiesWidget->readSettings();
|
||||
m_neverShown = false;
|
||||
}
|
||||
|
||||
if (currentTabWidget() == m_transferListWidget)
|
||||
m_propertiesWidget->loadDynamicData();
|
||||
|
||||
|
|
|
@ -202,6 +202,7 @@ private:
|
|||
QFileSystemWatcher *m_executableWatcher = nullptr;
|
||||
// GUI related
|
||||
bool m_posInitialized = false;
|
||||
bool m_neverShown = true;
|
||||
QPointer<QTabWidget> m_tabs;
|
||||
QPointer<StatusBar> m_statusBar;
|
||||
QPointer<OptionsDialog> m_options;
|
||||
|
|
|
@ -105,7 +105,7 @@ void PowerManagementInhibitor::requestBusy()
|
|||
args << 0u;
|
||||
args << u"Active torrents are presented"_s;
|
||||
if (m_useGSM)
|
||||
args << 8u;
|
||||
args << 4u;
|
||||
call.setArguments(args);
|
||||
|
||||
QDBusPendingCall pcall = QDBusConnection::sessionBus().asyncCall(call, 1000);
|
||||
|
|
|
@ -253,6 +253,16 @@ QModelIndex TransferListWidget::mapToSource(const QModelIndex &index) const
|
|||
return index;
|
||||
}
|
||||
|
||||
QModelIndexList TransferListWidget::mapToSource(const QModelIndexList &indexes) const
|
||||
{
|
||||
QModelIndexList result;
|
||||
result.reserve(indexes.size());
|
||||
for (const QModelIndex &index : indexes)
|
||||
result.append(mapToSource(index));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QModelIndex TransferListWidget::mapFromSource(const QModelIndex &index) const
|
||||
{
|
||||
Q_ASSERT(index.isValid());
|
||||
|
@ -263,11 +273,13 @@ QModelIndex TransferListWidget::mapFromSource(const QModelIndex &index) const
|
|||
void TransferListWidget::torrentDoubleClicked()
|
||||
{
|
||||
const QModelIndexList selectedIndexes = selectionModel()->selectedRows();
|
||||
if ((selectedIndexes.size() != 1) || !selectedIndexes.first().isValid()) return;
|
||||
if ((selectedIndexes.size() != 1) || !selectedIndexes.first().isValid())
|
||||
return;
|
||||
|
||||
const QModelIndex index = m_listModel->index(mapToSource(selectedIndexes.first()).row());
|
||||
BitTorrent::Torrent *const torrent = m_listModel->torrentHandle(index);
|
||||
if (!torrent) return;
|
||||
if (!torrent)
|
||||
return;
|
||||
|
||||
int action;
|
||||
if (torrent->isFinished())
|
||||
|
@ -806,7 +818,8 @@ void TransferListWidget::exportTorrent()
|
|||
bool hasError = false;
|
||||
for (const BitTorrent::Torrent *torrent : torrents)
|
||||
{
|
||||
const Path filePath = savePath / Path(torrent->name() + u".torrent");
|
||||
const QString validName = Utils::Fs::toValidFileName(torrent->name(), u"_"_s);
|
||||
const Path filePath = savePath / Path(validName + u".torrent");
|
||||
if (filePath.exists())
|
||||
{
|
||||
LogMsg(errorMsg.arg(torrent->name(), filePath.toString(), tr("A file with the same name already exists")) , Log::WARNING);
|
||||
|
@ -871,9 +884,13 @@ QStringList TransferListWidget::askTagsForSelection(const QString &dialogTitle)
|
|||
|
||||
void TransferListWidget::applyToSelectedTorrents(const std::function<void (BitTorrent::Torrent *const)> &fn)
|
||||
{
|
||||
for (const QModelIndex &index : asConst(selectionModel()->selectedRows()))
|
||||
// Changing the data may affect the layout of the sort/filter model, which in turn may invalidate
|
||||
// the indexes previously obtained from selection model before we process them all.
|
||||
// Therefore, we must map all the selected indexes to source before start processing them.
|
||||
const QModelIndexList sourceRows = mapToSource(selectionModel()->selectedRows());
|
||||
for (const QModelIndex &index : sourceRows)
|
||||
{
|
||||
BitTorrent::Torrent *const torrent = m_listModel->torrentHandle(mapToSource(index));
|
||||
BitTorrent::Torrent *const torrent = m_listModel->torrentHandle(index);
|
||||
Q_ASSERT(torrent);
|
||||
fn(torrent);
|
||||
}
|
||||
|
@ -882,11 +899,13 @@ void TransferListWidget::applyToSelectedTorrents(const std::function<void (BitTo
|
|||
void TransferListWidget::renameSelectedTorrent()
|
||||
{
|
||||
const QModelIndexList selectedIndexes = selectionModel()->selectedRows();
|
||||
if ((selectedIndexes.size() != 1) || !selectedIndexes.first().isValid()) return;
|
||||
if ((selectedIndexes.size() != 1) || !selectedIndexes.first().isValid())
|
||||
return;
|
||||
|
||||
const QModelIndex mi = m_listModel->index(mapToSource(selectedIndexes.first()).row(), TransferListModel::TR_NAME);
|
||||
BitTorrent::Torrent *const torrent = m_listModel->torrentHandle(mi);
|
||||
if (!torrent) return;
|
||||
if (!torrent)
|
||||
return;
|
||||
|
||||
// Ask for a new Name
|
||||
bool ok = false;
|
||||
|
@ -901,8 +920,7 @@ void TransferListWidget::renameSelectedTorrent()
|
|||
|
||||
void TransferListWidget::setSelectionCategory(const QString &category)
|
||||
{
|
||||
for (const QModelIndex &index : asConst(selectionModel()->selectedRows()))
|
||||
m_listModel->setData(m_listModel->index(mapToSource(index).row(), TransferListModel::TR_CATEGORY), category, Qt::DisplayRole);
|
||||
applyToSelectedTorrents([&category](BitTorrent::Torrent *torrent) { torrent->setCategory(category); });
|
||||
}
|
||||
|
||||
void TransferListWidget::addSelectionTag(const QString &tag)
|
||||
|
@ -923,7 +941,8 @@ void TransferListWidget::clearSelectionTags()
|
|||
void TransferListWidget::displayListMenu()
|
||||
{
|
||||
const QModelIndexList selectedIndexes = selectionModel()->selectedRows();
|
||||
if (selectedIndexes.isEmpty()) return;
|
||||
if (selectedIndexes.isEmpty())
|
||||
return;
|
||||
|
||||
auto *listMenu = new QMenu(this);
|
||||
listMenu->setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
|
|
@ -119,6 +119,7 @@ private slots:
|
|||
private:
|
||||
void wheelEvent(QWheelEvent *event) override;
|
||||
QModelIndex mapToSource(const QModelIndex &index) const;
|
||||
QModelIndexList mapToSource(const QModelIndexList &indexes) const;
|
||||
QModelIndex mapFromSource(const QModelIndex &index) const;
|
||||
bool loadSettings();
|
||||
QVector<BitTorrent::Torrent *> getSelectedTorrents() const;
|
||||
|
|
|
@ -161,13 +161,13 @@ void DefaultThemeSource::loadColors()
|
|||
return;
|
||||
}
|
||||
|
||||
const QByteArray configData = readResult.value();
|
||||
const QByteArray &configData = readResult.value();
|
||||
if (configData.isEmpty())
|
||||
return;
|
||||
|
||||
const QJsonObject config = parseThemeConfig(configData);
|
||||
|
||||
QHash<QString, QColor> lightModeColorOverrides = colorsFromJSON(config.value(KEY_COLORS_LIGHT).toObject());
|
||||
const QHash<QString, QColor> lightModeColorOverrides = colorsFromJSON(config.value(KEY_COLORS_LIGHT).toObject());
|
||||
for (auto overridesIt = lightModeColorOverrides.cbegin(); overridesIt != lightModeColorOverrides.cend(); ++overridesIt)
|
||||
{
|
||||
auto it = m_colors.find(overridesIt.key());
|
||||
|
@ -175,7 +175,7 @@ void DefaultThemeSource::loadColors()
|
|||
it.value().light = overridesIt.value();
|
||||
}
|
||||
|
||||
QHash<QString, QColor> darkModeColorOverrides = colorsFromJSON(config.value(KEY_COLORS_DARK).toObject());
|
||||
const QHash<QString, QColor> darkModeColorOverrides = colorsFromJSON(config.value(KEY_COLORS_DARK).toObject());
|
||||
for (auto overridesIt = darkModeColorOverrides.cbegin(); overridesIt != darkModeColorOverrides.cend(); ++overridesIt)
|
||||
{
|
||||
auto it = m_colors.find(overridesIt.key());
|
||||
|
@ -184,6 +184,12 @@ void DefaultThemeSource::loadColors()
|
|||
}
|
||||
}
|
||||
|
||||
CustomThemeSource::CustomThemeSource(const Path &themeRootPath)
|
||||
: m_themeRootPath {themeRootPath}
|
||||
{
|
||||
loadColors();
|
||||
}
|
||||
|
||||
QColor CustomThemeSource::getColor(const QString &colorId, const ColorMode colorMode) const
|
||||
{
|
||||
if (colorMode == ColorMode::Dark)
|
||||
|
@ -246,6 +252,11 @@ DefaultThemeSource *CustomThemeSource::defaultThemeSource() const
|
|||
return m_defaultThemeSource.get();
|
||||
}
|
||||
|
||||
Path CustomThemeSource::themeRootPath() const
|
||||
{
|
||||
return m_themeRootPath;
|
||||
}
|
||||
|
||||
void CustomThemeSource::loadColors()
|
||||
{
|
||||
const auto readResult = Utils::IO::readFile((themeRootPath() / Path(CONFIG_FILE_NAME)), FILE_MAX_SIZE, QIODevice::Text);
|
||||
|
@ -257,7 +268,7 @@ void CustomThemeSource::loadColors()
|
|||
return;
|
||||
}
|
||||
|
||||
const QByteArray configData = readResult.value();
|
||||
const QByteArray &configData = readResult.value();
|
||||
if (configData.isEmpty())
|
||||
return;
|
||||
|
||||
|
@ -267,13 +278,9 @@ void CustomThemeSource::loadColors()
|
|||
m_darkModeColors.insert(colorsFromJSON(config.value(KEY_COLORS_DARK).toObject()));
|
||||
}
|
||||
|
||||
Path QRCThemeSource::themeRootPath() const
|
||||
{
|
||||
return Path(u":/uitheme"_s);
|
||||
}
|
||||
|
||||
FolderThemeSource::FolderThemeSource(const Path &folderPath)
|
||||
: m_folder {folderPath}
|
||||
: CustomThemeSource(folderPath)
|
||||
, m_folder {folderPath}
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -285,10 +292,10 @@ QByteArray FolderThemeSource::readStyleSheet()
|
|||
const QString stylesheetResourcesDir = u":/uitheme"_s;
|
||||
|
||||
QByteArray styleSheetData = CustomThemeSource::readStyleSheet();
|
||||
return styleSheetData.replace(stylesheetResourcesDir.toUtf8(), themeRootPath().data().toUtf8());
|
||||
return styleSheetData.replace(stylesheetResourcesDir.toUtf8(), m_folder.data().toUtf8());
|
||||
}
|
||||
|
||||
Path FolderThemeSource::themeRootPath() const
|
||||
QRCThemeSource::QRCThemeSource()
|
||||
: CustomThemeSource(Path(u":/uitheme"_s))
|
||||
{
|
||||
return m_folder;
|
||||
}
|
||||
|
|
|
@ -84,21 +84,24 @@ public:
|
|||
QByteArray readStyleSheet() override;
|
||||
|
||||
protected:
|
||||
virtual Path themeRootPath() const = 0;
|
||||
explicit CustomThemeSource(const Path &themeRootPath);
|
||||
|
||||
DefaultThemeSource *defaultThemeSource() const;
|
||||
|
||||
private:
|
||||
Path themeRootPath() const;
|
||||
void loadColors();
|
||||
|
||||
const std::unique_ptr<DefaultThemeSource> m_defaultThemeSource = std::make_unique<DefaultThemeSource>();
|
||||
Path m_themeRootPath;
|
||||
QHash<QString, QColor> m_colors;
|
||||
QHash<QString, QColor> m_darkModeColors;
|
||||
};
|
||||
|
||||
class QRCThemeSource final : public CustomThemeSource
|
||||
{
|
||||
private:
|
||||
Path themeRootPath() const override;
|
||||
public:
|
||||
QRCThemeSource();
|
||||
};
|
||||
|
||||
class FolderThemeSource : public CustomThemeSource
|
||||
|
@ -109,7 +112,5 @@ public:
|
|||
QByteArray readStyleSheet() override;
|
||||
|
||||
private:
|
||||
Path themeRootPath() const override;
|
||||
|
||||
const Path m_folder;
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -35,7 +35,7 @@ BEGIN
|
|||
VALUE "FileDescription", "qBittorrent - A Bittorrent Client"
|
||||
VALUE "FileVersion", VER_FILEVERSION_STR
|
||||
VALUE "InternalName", "qbittorrent"
|
||||
VALUE "LegalCopyright", "Copyright ©2006-2022 The qBittorrent Project"
|
||||
VALUE "LegalCopyright", "Copyright ©2006-2023 The qBittorrent Project"
|
||||
VALUE "OriginalFilename", "qbittorrent.exe"
|
||||
VALUE "ProductName", "qBittorrent"
|
||||
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<h3 id="qbittorrentVersion"></h3>
|
||||
</div>
|
||||
<p>QBT_TR(An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.)QBT_TR[CONTEXT=AboutDialog]</p>
|
||||
<p>Copyright © 2006-2022 The qBittorrent project</p>
|
||||
<p>Copyright © 2006-2023 The qBittorrent project</p>
|
||||
<table>
|
||||
<tr>
|
||||
<td>QBT_TR(Home Page:)QBT_TR[CONTEXT=AboutDialog]</td>
|
||||
|
|
|
@ -577,41 +577,41 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
rulesList[rule].mustNotContain = $('mustNotContainText').value;
|
||||
rulesList[rule].episodeFilter = $('episodeFilterText').value;
|
||||
rulesList[rule].smartFilter = $('useSmartFilter').checked;
|
||||
rulesList[rule].assignedCategory = $('assignCategoryCombobox').value;
|
||||
rulesList[rule].savePath = $('savetoDifferentDir').checked ? $('saveToText').value : '';
|
||||
rulesList[rule].ignoreDays = parseInt($('ignoreDaysValue').value);
|
||||
rulesList[rule].affectedFeeds = rssDownloaderFeedSelectionTable.rows.filter((row) => row.full_data.checked)
|
||||
.map((row) => row.full_data.url)
|
||||
.getValues();
|
||||
|
||||
rulesList[rule].torrentParams.category = $('assignCategoryCombobox').value;
|
||||
rulesList[rule].torrentParams.save_path = $('savetoDifferentDir').checked ? $('saveToText').value : '';
|
||||
|
||||
switch ($('addPausedCombobox').value) {
|
||||
case 'default':
|
||||
rulesList[rule].addPaused = null;
|
||||
rulesList[rule].torrentParams.stopped = null;
|
||||
break;
|
||||
case 'always':
|
||||
rulesList[rule].addPaused = true;
|
||||
rulesList[rule].torrentParams.stopped = true;
|
||||
break;
|
||||
case 'never':
|
||||
rulesList[rule].addPaused = false;
|
||||
rulesList[rule].torrentParams.stopped = false;
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($('contentLayoutCombobox').value) {
|
||||
case 'Default':
|
||||
rulesList[rule].torrentContentLayout = null;
|
||||
rulesList[rule].torrentParams.content_layout = null;
|
||||
break;
|
||||
case 'Original':
|
||||
rulesList[rule].torrentContentLayout = 'Original';
|
||||
rulesList[rule].torrentParams.content_layout = 'Original';
|
||||
break;
|
||||
case 'Subfolder':
|
||||
rulesList[rule].torrentContentLayout = 'Subfolder';
|
||||
rulesList[rule].torrentParams.content_layout = 'Subfolder';
|
||||
break;
|
||||
case 'NoSubfolder':
|
||||
rulesList[rule].torrentContentLayout = 'NoSubfolder';
|
||||
rulesList[rule].torrentParams.content_layout = 'NoSubfolder';
|
||||
break;
|
||||
}
|
||||
|
||||
rulesList[rule].affectedFeeds = rssDownloaderFeedSelectionTable.rows.filter((row) => row.full_data.checked)
|
||||
.map((row) => row.full_data.url)
|
||||
.getValues();
|
||||
|
||||
new Request({
|
||||
url: 'api/v2/rss/setRule',
|
||||
noCache: true,
|
||||
|
@ -702,8 +702,8 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
$('useSmartFilter').disabled = false;
|
||||
$('assignCategoryCombobox').disabled = false;
|
||||
$('savetoDifferentDir').disabled = false;
|
||||
$('savetoDifferentDir').checked = rulesList[ruleName].savePath ? false : true;
|
||||
$('saveToText').disabled = rulesList[ruleName].savePath ? false : true;
|
||||
$('savetoDifferentDir').checked = rulesList[ruleName].torrentParams.save_path ? false : true;
|
||||
$('saveToText').disabled = rulesList[ruleName].torrentParams.save_path ? false : true;
|
||||
$('ignoreDaysValue').disabled = false;
|
||||
$('addPausedCombobox').disabled = false;
|
||||
$('contentLayoutCombobox').disabled = false;
|
||||
|
@ -715,9 +715,9 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
$('episodeFilterText').value = rulesList[ruleName].episodeFilter;
|
||||
$('useSmartFilter').checked = rulesList[ruleName].smartFilter;
|
||||
|
||||
$('assignCategoryCombobox').value = rulesList[ruleName].assignedCategory ? rulesList[ruleName].assignedCategory : 'default';
|
||||
$('savetoDifferentDir').checked = rulesList[ruleName].savePath !== '';
|
||||
$('saveToText').value = rulesList[ruleName].savePath;
|
||||
$('assignCategoryCombobox').value = rulesList[ruleName].torrentParams.category ? rulesList[ruleName].torrentParams.category : 'default';
|
||||
$('savetoDifferentDir').checked = rulesList[ruleName].torrentParams.save_path !== '';
|
||||
$('saveToText').value = rulesList[ruleName].torrentParams.save_path;
|
||||
$('ignoreDaysValue').value = rulesList[ruleName].ignoreDays;
|
||||
|
||||
// calculate days since last match
|
||||
|
@ -730,15 +730,15 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
$('lastMatchText').textContent = 'QBT_TR(Last Match: Unknown)QBT_TR[CONTEXT=AutomatedRssDownloader]';
|
||||
}
|
||||
|
||||
if (rulesList[ruleName].addPaused === null)
|
||||
if (rulesList[ruleName].torrentParams.stopped === null)
|
||||
$('addPausedCombobox').value = 'default';
|
||||
else
|
||||
$('addPausedCombobox').value = rulesList[ruleName].addPaused ? 'always' : 'never';
|
||||
$('addPausedCombobox').value = rulesList[ruleName].torrentParams.stopped ? 'always' : 'never';
|
||||
|
||||
if (rulesList[ruleName].torrentContentLayout === null)
|
||||
if (rulesList[ruleName].torrentParams.content_layout === null)
|
||||
$('contentLayoutCombobox').value = 'Default';
|
||||
else
|
||||
$('contentLayoutCombobox').value = rulesList[ruleName].torrentContentLayout;
|
||||
$('contentLayoutCombobox').value = rulesList[ruleName].torrentParams.content_layout;
|
||||
|
||||
setElementTitles();
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="ar">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="ar">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>إنشاء مجلد فرعي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>لا تقم بإنشاء مجلد فرعي</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -112,7 +114,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إزالة التورنت</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add subcategory...</source>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: المتتبع الحالي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>نصيحة: غلف المعلمات بعلامات اقتباس لتجنب قطع النص عند مسافة بيضاء (على سبيل المثال، "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>نصيحة: غلف المعلمات بعلامات اقتباس لتجنب قطع النص عند مسافة بيضاء (على سبيل المثال، "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>عندما يصل وقت البذر</translation>
|
||||
<translation type="vanished">عندما يصل وقت البذر</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>الأصلي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>لا تقم بإنشاء مجلد فرعي</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1480,11 +1482,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Max active checking torrents:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Memory mapped files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>ملفات الذاكرة المعينة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default</source>
|
||||
|
@ -1492,35 +1494,35 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>POSIX-compliant</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>متوافق مع POSIX</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This option is less effective on Linux</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>هذا الخيار أقل فعالية على Linux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>It controls the internal state update interval which in turn will affect UI updates</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>فهو يتحكم في الفاصل الزمني لتحديث الحالة الداخلية والذي سيؤثر بدوره على تحديثات واجهة المستخدم</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk IO read mode:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable OS cache</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>تعطيل ذاكرة التخزين المؤقت لنظام التشغيل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk IO write mode:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use piece extent affinity:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Max concurrent HTTP announces:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable OS cache</source>
|
||||
|
@ -1528,55 +1530,55 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Refresh interval:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>ms</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Excluded file names</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>أسماء الملفات المستبعدة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Support internationalized domain name (IDN):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent finished</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Whitelist for filtering HTTP Host header values.
|
||||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>القائمة البيضاء لتصفية قيم رأس خادم HTTP.
|
||||
من أجل الدفاع ضد هجوم ارتداد DNS ،
|
||||
يجب عليك إدخال أسماء المجالات التي يستخدمها خادم واجهة الوِب الرسومية.
|
||||
|
||||
استعمال ';' لتقسيم عدة إدخالات. يمكن استخدام حرف البدل '*'.</translation>
|
||||
استعمال ';' لتقسيم عدة إدخالات. يمكن استخدام حرف البدل '*'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS certificate should not be empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>حدد عناوين IP للوكيل العكسي (أو الشبكات الفرعية، على سبيل المثال 0.0.0.0/24) لاستخدام عنوان العميل المُعاد توجيهه (رأس X-Forwarded-For). يستخدم '؛' لتقسيم إدخالات متعددة.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>تشغيل برنامج خارجي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files checked</source>
|
||||
|
@ -1584,15 +1586,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Enable port forwarding for embedded tracker:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>If checked, hostname lookups are done via the proxy.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1600,7 +1598,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Torrent stop condition:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>شرط توقف التورنت:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
|
@ -1616,7 +1614,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Resume data storage type (requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Fastresume files</source>
|
||||
|
@ -1632,7 +1630,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Log file</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Behavior</source>
|
||||
|
@ -1644,7 +1642,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for BitTorrent purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>استخدم الوكيل لأغراض BitTorrent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>years</source>
|
||||
|
@ -1660,43 +1658,43 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Remember Multi-Rename settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for general purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>استخدم الوكيل للأغراض العامة</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for RSS purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>استخدم الوكيل لأغراض RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache expiry interval (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Physical memory (RAM) usage limit (applied if libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket send buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Coalesce reads &amp; writes (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Max) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket receive buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Subcategories</source>
|
||||
|
@ -1704,7 +1702,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Disk IO type (libtorrent &gt;= 2.0; requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Add to top of queue</source>
|
||||
|
@ -1712,23 +1710,51 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Write-through (requires libtorrent &gt;= 2.0.6)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Stop tracker timeout [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Min) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Hashing threads (requires libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1811,7 +1837,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Peer ID Client</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>عميل معرف النظير</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2040,59 +2066,59 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Filename</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Filename + Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enumerate Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Rename failed: file or folder already exists</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replacement Input</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include folders</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Search Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2563,15 +2589,15 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Times Downloaded</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>مرات التنزيل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add trackers...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إضافة تتبع...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Renamed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Original</source>
|
||||
|
@ -2586,7 +2612,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Add trackers</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إضافة تتبع</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2685,7 +2711,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Collapse/expand</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2869,7 +2895,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Export .torrent</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
|
@ -2877,7 +2903,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Rename Files...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Renaming</source>
|
||||
|
@ -2908,7 +2934,15 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>دقائق</translation>
|
||||
<translation type="vanished">دقائق</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2918,11 +2952,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<name>confirmDeletionDlg</name>
|
||||
<message>
|
||||
<source>Also permanently delete the files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>أيضًا احذف الملفات نهائيًا</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove torrent(s)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إزالة التورنت (الملفات)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3117,12 +3151,12 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>عرض</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3152,7 +3186,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>مُفعّل</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>تحذير: تأكد من الامتثال لقوانين حقوق الطبع والنشر في بلدك عند تنزيل التورنت من أي من محركات البحث هذه.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3273,7 +3307,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إزالة التورنت</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3428,7 +3462,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Renaming)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3771,7 +3805,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
<translation>الأصلي</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>لا تقم بإنشاء مجلد فرعي</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3795,7 +3829,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>إزالة التورنت</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3817,7 +3851,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Blocked</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
|
@ -3841,11 +3875,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Log Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
|
@ -3865,7 +3899,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Filter logs</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocked IPs</source>
|
||||
|
@ -3881,11 +3915,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Timestamp</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
|
@ -3893,15 +3927,15 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Log Levels:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Reason</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>item</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>IP</source>
|
||||
|
@ -3909,7 +3943,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Banned</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Normal Messages</source>
|
||||
|
@ -3917,7 +3951,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Critical</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Critical Messages</source>
|
||||
|
@ -3929,7 +3963,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>items</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Results</source>
|
||||
|
@ -3937,11 +3971,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose a log level...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="az@latin">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="az@latin">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Alt qovluq yarat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Alt qovluq yaratmamaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -123,7 +125,7 @@
|
|||
<name>HttpServer</name>
|
||||
<message>
|
||||
<source>Exit qBittorrent</source>
|
||||
<translation>qBittorrent'dən çıxmaq</translation>
|
||||
<translation>qBittorrent'dən çıxmaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Only one link per line</source>
|
||||
|
@ -363,7 +365,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>JavaScript Required! You must enable JavaScript for the Web UI to work properly</source>
|
||||
<translation>JavaScript tələb olunur! Düzgün şəkildə işləməsi üçün Veb İİ üçün JavaScript'i aktiv etməlisiniz</translation>
|
||||
<translation>JavaScript tələb olunur! Düzgün şəkildə işləməsi üçün Veb İİ üçün JavaScript'i aktiv etməlisiniz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name cannot be empty</source>
|
||||
|
@ -490,7 +492,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to quit qBittorrent?</source>
|
||||
<translation>qBittorent'dən çıxmaq istədiyinizə əminsiniz?</translation>
|
||||
<translation>qBittorent'dən çıxmaq istədiyinizə əminsiniz?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>[D: %1, U: %2] qBittorrent %3</source>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: Cari izləyici</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Növ: Mətni, ara boşluğunda kəsilmələrndən qorumaq üçün parametrləri dırnaq işarəsinə alın (məs., "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Növ: Mətni, ara boşluğunda kəsilmələrndən qorumaq üçün parametrləri dırnaq işarəsinə alın (məs., "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Paylaşma vaxtını aşdıqda</translation>
|
||||
<translation type="vanished">Paylaşma vaxtını aşdıqda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1244,7 +1246,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Peer proportional (throttles TCP)</source>
|
||||
<translation>İştirakçılarla mütənasib (TCP'ni məhdudlaşdırır)</translation>
|
||||
<translation>İştirakçılarla mütənasib (TCP'ni məhdudlaşdırır)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fixed slots</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Orijinal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Alt qovluq yaratmamaq</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1448,11 +1450,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>%J: Info hash v2</source>
|
||||
<translation>%J: Məlumat heş'i v2</translation>
|
||||
<translation>%J: Məlumat heş'i v2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%I: Info hash v1</source>
|
||||
<translation>%I: Məlumat heş'i v1</translation>
|
||||
<translation>%I: Məlumat heş'i v1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address reported to trackers (requires restart):</source>
|
||||
|
@ -1551,12 +1553,12 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>HTTP Host başlıqlarının göstəricilərini filtrləmək üçün ağ siyahı.
|
||||
DNS ilə təkrar bağlantı hücumundan qorunmaq üçün WebUI
|
||||
serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
||||
|
||||
Çoxsaylı elementləri bölmək üçün ';' istifadə edin. '*' ümumi nişanından istifadə edə bilərsiniz</translation>
|
||||
Çoxsaylı elementləri bölmək üçün ';' istifadə edin. '*' ümumi nişanından istifadə edə bilərsiniz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
|
@ -1567,8 +1569,8 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
<translation>HTTPS sertifikat boş olmamalıdır</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Yönləndirilmiş müştəri ünvanından (X-Forwarded-For header) istifadə etmək üçün əks proxy IP-lərini (və ya alt şəbəkələri, məs., 0.0.0.0/24) göstərin. Birdən çox girişi bölmək üçün ';' işarəsindən istifadə edin.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Yönləndirilmiş müştəri ünvanından (X-Forwarded-For header) istifadə etmək üçün əks proxy IP-lərini (və ya alt şəbəkələri, məs., 0.0.0.0/24) göstərin. Birdən çox girişi bölmək üçün ';' işarəsindən istifadə edin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1592,7 +1594,7 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Host adı axtarışı ümün proksi istifadə et</translation>
|
||||
<translation type="vanished">Host adı axtarışı ümün proksi istifadə et</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1730,6 +1732,34 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation>UPnP icarə müddəti [0: daimi icarə]:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2020,11 +2050,11 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
</message>
|
||||
<message>
|
||||
<source>Info Hash v2:</source>
|
||||
<translation>Məlumat heş'i v2:</translation>
|
||||
<translation>Məlumat heş'i v2:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info Hash v1:</source>
|
||||
<translation>Məlumat heş'i v1</translation>
|
||||
<translation>Məlumat heş'i v1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>N/A</source>
|
||||
|
@ -2056,7 +2086,7 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation>Bütün hadisələri uyğunlaşdır</translation>
|
||||
<translation type="vanished">Bütün hadisələri uyğunlaşdır</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
|
@ -2094,6 +2124,10 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
<source>Case sensitive</source>
|
||||
<translation>Böyük/kiçik hərfə həssas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2857,11 +2891,11 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
</message>
|
||||
<message>
|
||||
<source>Info hash v1</source>
|
||||
<translation>məlumat heş'i v1</translation>
|
||||
<translation>məlumat heş'i v1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info hash v2</source>
|
||||
<translation>məlumat heş'i v2</translation>
|
||||
<translation>məlumat heş'i v2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Torrent ID</source>
|
||||
|
@ -2908,7 +2942,15 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>dəqiqələr</translation>
|
||||
<translation type="vanished">dəqiqələr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3117,11 +3159,11 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
<translation>göstərərək</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Pəncərənin aşağı sağındakı "Axtarış plaqinləri..." düyməsinə vuraraq onlardan birini quraşdırın.</translation>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Pəncərənin aşağı sağındakı "Axtarış plaqinləri..." düyməsinə vuraraq onlardan birini quraşdırın.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>Heç bir axtarış plaqini quraşdırılmayıb</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3152,7 +3194,7 @@ serveri tərəfindən istifadə olunan domen adını göstərməlisiniz.
|
|||
<translation>Aktiv edildi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Xəbərdarlıq: Bu axtarış sistemlərinin hər hansı birindən istifadə edərək torrentləri yükləyərkən, mütləq ölkənizin müəllif hüquqları haqqında qanununa rəayət edin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3771,7 +3813,7 @@ Bu formatlar dəstəklənir: S01E01, 1x1, 2017.12.31 və 31.12.2017 (Həmçinin
|
|||
<translation>Orijinal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Alt qovluq yaratmamaq</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="bg">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="bg">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Създай подпапка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Не създавай подпапка</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -66,7 +68,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Add to top of queue</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -620,7 +622,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -992,8 +994,8 @@
|
|||
<translation>%T: Сегашен тракер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Подсказка: Обградете параметър с кавички за предотвратяваме орязването на текста при пауза (пр., "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Подсказка: Обградете параметър с кавички за предотвратяваме орязването на текста при пауза (пр., "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1165,7 +1167,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Когато времето за засяване достигне</translation>
|
||||
<translation type="vanished">Когато времето за засяване достигне</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1416,7 +1418,7 @@
|
|||
<translation>Оригинал</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Не създавай подпапка</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1552,8 +1554,8 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Списък с разрешени за филтриране стойности на HTTP хост хедъри. За защита срещу атака "ДНС повторно свързване" въведете тук домейните използвани от Уеб ПИ сървъра. Използвайте ';' за разделител. Може да се използва и заместител '*'.</translation>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Списък с разрешени за филтриране стойности на HTTP хост хедъри. За защита срещу атака "ДНС повторно свързване" въведете тук домейните използвани от Уеб ПИ сървъра. Използвайте ';' за разделител. Може да се използва и заместител '*'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
|
@ -1564,8 +1566,8 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>HTTPS сертификат не бива да бъде празен</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Посочете ИП-та на обратно прокси (или подмрежи, напр. 0.0.0.0/24), за да използвате препратени клиент адреси (X-Препратени-За заглавка). Използвайте ';' да разделите множество вписвания.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Посочете ИП-та на обратно прокси (или подмрежи, напр. 0.0.0.0/24), за да използвате препратени клиент адреси (X-Препратени-За заглавка). Използвайте ';' да разделите множество вписвания.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1589,7 +1591,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Използвай прокси за търсения на име на хост</translation>
|
||||
<translation type="vanished">Използвай прокси за търсения на име на хост</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1613,7 +1615,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Resume data storage type (requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Fastresume files</source>
|
||||
|
@ -1641,7 +1643,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for BitTorrent purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>years</source>
|
||||
|
@ -1657,43 +1659,43 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Remember Multi-Rename settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for general purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for RSS purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache expiry interval (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Physical memory (RAM) usage limit (applied if libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket send buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Coalesce reads &amp; writes (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Max) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket receive buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Subcategories</source>
|
||||
|
@ -1701,31 +1703,59 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Disk IO type (libtorrent &gt;= 2.0; requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Add to top of queue</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Write-through (requires libtorrent &gt;= 2.0.6)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Stop tracker timeout [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Min) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Hashing threads (requires libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2037,59 +2067,59 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Filename</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Filename + Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enumerate Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Rename failed: file or folder already exists</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replacement Input</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include folders</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Search Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2568,7 +2598,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Renamed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Original</source>
|
||||
|
@ -2682,7 +2712,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Collapse/expand</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2874,7 +2904,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Rename Files...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Renaming</source>
|
||||
|
@ -2905,7 +2935,15 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>минути</translation>
|
||||
<translation type="vanished">минути</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3114,11 +3152,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>показване</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Щракнете бутонът "Търси приставки..." на дъното вдясно на прозореца да инсталирате някакви.</translation>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Щракнете бутонът "Търси приставки..." на дъното вдясно на прозореца да инсталирате някакви.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>Няма никакви инсталирани търсещи приставки.</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3149,7 +3187,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>Активирано</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Предупреждение: Уверете се, че се придържате към законите на авторското право на вашата страна, когато сваляте торенти от която и да е то тези търсачки.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3425,7 +3463,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Renaming)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3768,7 +3806,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
<translation>Оригинал</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Не създавай подпапка</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3814,7 +3852,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Blocked</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
|
@ -3838,11 +3876,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Log Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
|
@ -3862,7 +3900,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Filter logs</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocked IPs</source>
|
||||
|
@ -3878,11 +3916,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Timestamp</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
|
@ -3890,15 +3928,15 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Log Levels:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Reason</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>item</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>IP</source>
|
||||
|
@ -3906,7 +3944,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Banned</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Normal Messages</source>
|
||||
|
@ -3914,7 +3952,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Critical</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Critical Messages</source>
|
||||
|
@ -3926,7 +3964,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>items</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Results</source>
|
||||
|
@ -3934,11 +3972,11 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose a log level...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="cs">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="cs">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Vytvořit podsložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Nevytvářet podsložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: Současný tracker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Tip: Ohraničit parametr uvozovkami, aby nedošlo k odstřižení textu za mezerou (např. "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Tip: Ohraničit parametr uvozovkami, aby nedošlo k odstřižení textu za mezerou (např. "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Když je dosažena doba odesílání</translation>
|
||||
<translation type="vanished">Když je dosažena doba odesílání</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Originál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Nevytvářet podsložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1551,12 +1553,12 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Seznam povolených pro filtrování hodnot HTTP hlaviček hostitele.
|
||||
Pro obranu proti DNS rebinding útokům
|
||||
best měli vložit doménové názvy použité pro WebUI server.
|
||||
|
||||
Použijte ';' pro oddělení více položek. Můžete použít masku '*'.</translation>
|
||||
Použijte ';' pro oddělení více položek. Můžete použít masku '*'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
|
@ -1567,8 +1569,8 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
<translation>HTTPS certifikát nemá být prázdný</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Uveďte IP adresy (nebo podsítě, např. 0.0.0.0/24) reverzních proxy pro přeposlání adresy klienta (atribut X-Forwarded-For), použijte ';' pro rozdělení více položek.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Uveďte IP adresy (nebo podsítě, např. 0.0.0.0/24) reverzních proxy pro přeposlání adresy klienta (atribut X-Forwarded-For), použijte ';' pro rozdělení více položek.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1592,7 +1594,7 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Použít proxy pro zjištění názvu hostitele</translation>
|
||||
<translation type="vanished">Použít proxy pro zjištění názvu hostitele</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1730,6 +1732,34 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation>Doba UPnP propůjčení [0: trvalé propůjčení]:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2056,7 +2086,7 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation>Odpovídá všem výskytům</translation>
|
||||
<translation type="vanished">Odpovídá všem výskytům</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
|
@ -2094,6 +2124,10 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
<source>Case sensitive</source>
|
||||
<translation>Rozlišuje velikost písmen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2908,7 +2942,15 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>minuty</translation>
|
||||
<translation type="vanished">minuty</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3117,11 +3159,11 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
<translation>zobrazeno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Klikněte na tlačítko "Vyhledávácí pluginy..." dole vpravo v okně, abyste nějaké nainstalovali.</translation>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Klikněte na tlačítko "Vyhledávácí pluginy..." dole vpravo v okně, abyste nějaké nainstalovali.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>Žádné vyhledávací pluginy nejsou instalovány.</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3152,7 +3194,7 @@ Použijte ';' pro oddělení více položek. Můžete použít masku &
|
|||
<translation>Zapnuto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Varování: Ujistěte se, že dodržujete zákony Vaší země o ochraně duševního vlastnictví když stahujete torrenty z kteréhokoliv z těchto vyhledávačů.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3771,7 +3813,7 @@ Podporuje formáty: S01E01, 1x1, 2017.12.31 a 31.12.2017 (Formáty dat také pod
|
|||
<translation>Originál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Nevytvářet podsložku</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="de">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Erstelle Unterordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Erstelle keinen Unterordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: aktueller Tracker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Tipp: Setze Parameter zwischen Anführungszeichen damit Text bei Leerzeichen nicht abgeschnitten wird (z.B. "%N").</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Tipp: Setze Parameter zwischen Anführungszeichen damit Text bei Leerzeichen nicht abgeschnitten wird (z.B. "%N").</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Wenn die Seed-Zeit erreicht ist</translation>
|
||||
<translation type="vanished">Wenn die Seed-Zeit erreicht ist</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Original</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Erstelle keinen Unterordner</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1551,14 +1553,14 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Liste der erlaubten HTTP-Host Header-Felder.
|
||||
Um sich vor DNS-Rebinding-Attacken zu schützen,
|
||||
sollten hier Domain-Namen eingetragen weden,
|
||||
die vom WebUI-Server verwendet werden.
|
||||
|
||||
Verwende ';' um mehrere Einträge zu trennen.
|
||||
Platzhalter '*' kann verwendet werden.</translation>
|
||||
Verwende ';' um mehrere Einträge zu trennen.
|
||||
Platzhalter '*' kann verwendet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
|
@ -1569,8 +1571,8 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
<translation>Das HTTPS-Zertifkat sollte nicht leer sein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Geben Sie Reverse-Proxy-IPs an (oder Subnetze, z.B. 0.0.0.0/24), um weitergeleitete Client-Adressen zu verwenden (Attribut X-Forwarded-For), verwenden Sie ';' um mehrere Einträge aufzuteilen.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Geben Sie Reverse-Proxy-IPs an (oder Subnetze, z.B. 0.0.0.0/24), um weitergeleitete Client-Adressen zu verwenden (Attribut X-Forwarded-For), verwenden Sie ';' um mehrere Einträge aufzuteilen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1594,7 +1596,7 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Proxy for die Suche nach Hostnamen verwenden</translation>
|
||||
<translation type="vanished">Proxy for die Suche nach Hostnamen verwenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1732,6 +1734,34 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation>UPnP-Mietdauer [0: permanent]:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2058,7 +2088,7 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation>Alle Vorkommen abgleichen</translation>
|
||||
<translation type="vanished">Alle Vorkommen abgleichen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
|
@ -2096,6 +2126,10 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
<source>Case sensitive</source>
|
||||
<translation>Groß- und Kleinschreibung berücksichtigt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2910,7 +2944,15 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>Minuten</translation>
|
||||
<translation type="vanished">Minuten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3119,11 +3161,11 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
<translation>angezeigt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Klicke den "Such-Plugins ..."-Knopf unten rechts um welche zu installieren.</translation>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Klicke den "Such-Plugins ..."-Knopf unten rechts um welche zu installieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>Es sind keine Such-Plugins installiert.</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3154,7 +3196,7 @@ Platzhalter '*' kann verwendet werden.</translation>
|
|||
<translation>Aktiviert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Warnung: Achten Sie darauf, die Urheberrechtsgesetze Ihres Landes zu befolgen, wenn Sie von einer dieser Suchmaschinen Torrents herunterladen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3773,7 +3815,7 @@ Er unterstützt die Formate: S01E01, 1x1, 2017.12.31 und 31.12.2017 (Datums-Form
|
|||
<translation>Original</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Erstelle keinen Unterordner</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="el">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="el">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Δημιουργία υποφακέλου</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Να μη δημιουργηθεί υποφάκελος</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: Τρέχων tracker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Συμβουλή: Περικλείστε την παράμετρο με αγγλικά εισαγωγικά για να αποφύγετε την αποκοπή του κειμένου στα κενά (π.χ. "%Ν")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Συμβουλή: Περικλείστε την παράμετρο με αγγλικά εισαγωγικά για να αποφύγετε την αποκοπή του κειμένου στα κενά (π.χ. "%Ν")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Όταν ο χρόνος seeding φτάσει</translation>
|
||||
<translation type="vanished">Όταν ο χρόνος seeding φτάσει</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Πρωτότυπο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Να μη δημιουργηθεί υποφάκελος</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1551,7 +1553,7 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Allowlist για φιλτράρισμα τιμών κεφαλίδας HTTP Host.
|
||||
Για να αμυνθείτε από επιθέσεις επαναδέσμευσης DNS,
|
||||
θα πρέπει να βάλετε ονόματα τομέα που χρησιμοποιούνται από τον διακομιστή του WebUI.
|
||||
|
@ -1567,8 +1569,8 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>Το πιστοποιητικό HTTPS δεν πρέπει να είναι κενό</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Καθορίστε αντίστροφες proxy IPs (ή subnets, π.χ. 0.0.0.0/24) για να χρησιμοποιήσετε τη προωθημένη διεύθυνση του client (X-Forwarded-For header). Χρησιμοποιήστε το ';' για να διαχωρίσετε πολλές εγγραφές.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Καθορίστε αντίστροφες proxy IPs (ή subnets, π.χ. 0.0.0.0/24) για να χρησιμοποιήσετε τη προωθημένη διεύθυνση του client (X-Forwarded-For header). Χρησιμοποιήστε το ';' για να διαχωρίσετε πολλές εγγραφές.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1592,7 +1594,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Χρήση proxy για αναζητήσεις hostname</translation>
|
||||
<translation type="vanished">Χρήση proxy για αναζητήσεις hostname</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1730,6 +1732,34 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation>Διάρκεια μίσθωσης UPnP [0: Μόνιμη μίσθωση]</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2056,7 +2086,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation>Αντιστοίχιση όλων των εμφανίσεων</translation>
|
||||
<translation type="vanished">Αντιστοίχιση όλων των εμφανίσεων</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
|
@ -2094,6 +2124,10 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<source>Case sensitive</source>
|
||||
<translation>Διάκριση πεζών-κεφαλαίων</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2908,7 +2942,15 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>λεπτά</translation>
|
||||
<translation type="vanished">λεπτά</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3117,11 +3159,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>εμφανίζονται</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Κάντε κλικ στο κουμπί «Αναζήτηση προσθηκών...» στην κάτω δεξιά γωνία του παραθύρου για να εγκαταστήσετε μερικές.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>Δεν υπάρχουν εγκατεστημένες προσθήκες</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3152,7 +3194,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.</so
|
|||
<translation>Ενεργοποιημένο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Προειδοποίηση: Βεβαιωθείτε ότι συμμορφώνεστε με τους νόμους περί πνευματικής ιδιοκτησίας της χώρας σας κατά τη λήψη torrents από οποιαδήποτε από αυτές τις μηχανές αναζήτησης.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3771,7 +3813,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
|
|||
<translation>Πρωτότυπο</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Να μη δημιουργηθεί υποφάκελος</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
|
@ -1164,10 +1164,6 @@
|
|||
<source>When ratio reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
<translation type="unfinished" />
|
||||
|
@ -1588,10 +1584,6 @@ Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
|||
<source>If checked, hostname lookups are done via the proxy.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
<translation type="unfinished" />
|
||||
|
@ -1728,6 +1720,34 @@ Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2052,10 +2072,6 @@ Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
|||
<source>Rename failed: file or folder already exists</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
<translation type="unfinished" />
|
||||
|
@ -2092,6 +2108,10 @@ Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
|||
<source>Case sensitive</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2905,7 +2925,11 @@ Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
|||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="es">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="es">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Crear subcarpeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>No crear subcarpeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: Tracker actual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Consejo: Encapsula el parámetro con comillas para evitar que el texto sea cortado en un espacio (ej: "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Consejo: Encapsula el parámetro con comillas para evitar que el texto sea cortado en un espacio (ej: "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Cuando el tiempo de sembrado alcance</translation>
|
||||
<translation type="vanished">Cuando el tiempo de sembrado alcance</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Original</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>No crear subcarpetas</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1551,12 +1553,12 @@
|
|||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Lista blanca para filtrar valores de cabeceras de hosts HTTP.
|
||||
Para defenderse de ataques DNS rebinding,
|
||||
no debería utilizar nombres de dominio utilizados por el servidor de la interfaz Web.
|
||||
|
||||
Use ';' para dividir múltiples entradas. Puede usar el comodin '*'.</translation>
|
||||
Use ';' para dividir múltiples entradas. Puede usar el comodin '*'.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
|
@ -1567,8 +1569,8 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
<translation>El certificado HTTPS no debe estar vacío</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Especifique IP de proxy inverso (o subredes, por ejemplo, 0.0.0.0/24) para usar la dirección de cliente reenviada (encabezado X-Reenviado-para encabezado). Usar ';' para dividir varias entradas.</translation>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation>Especifique IP de proxy inverso (o subredes, por ejemplo, 0.0.0.0/24) para usar la dirección de cliente reenviada (encabezado X-Reenviado-para encabezado). Usar ';' para dividir varias entradas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
|
@ -1592,7 +1594,7 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation>Use proxy para la búsqueda del nombre de host</translation>
|
||||
<translation type="vanished">Use proxy para la búsqueda del nombre de host</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1730,6 +1732,34 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation>Duración de la cesión UPnP [0: cesión permanente]:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PeerListWidget</name>
|
||||
|
@ -2056,7 +2086,7 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation>Coincidir con todas las ocurrencias</translation>
|
||||
<translation type="vanished">Coincidir con todas las ocurrencias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
|
@ -2094,6 +2124,10 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
<source>Case sensitive</source>
|
||||
<translation>Distingue Mayúsculas y Minúsculas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScanFoldersModel</name>
|
||||
|
@ -2908,7 +2942,15 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>minutos</translation>
|
||||
<translation type="vanished">minutos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3117,11 +3159,11 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
<translation>mostrando</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Haga clic en el botón "Buscar complementos..." en la parte inferior derecha de la ventana para instalar algunos.</translation>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation>Haga clic en el botón "Buscar complementos..." en la parte inferior derecha de la ventana para instalar algunos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation>No hay complementos de búsqueda instalados.</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3152,7 +3194,7 @@ Use ';' para dividir múltiples entradas. Puede usar el comodin '
|
|||
<translation>Habilitado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Advertencia: Asegúrese de cumplir con las leyes de copyright de su país cuando descarga torrents de estos motores de búsqueda. </translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3771,7 +3813,7 @@ Admite los formatos: S01E01, 1x1, 2017.12.31 y 31.12.2017 (los formatos de fecha
|
|||
<translation>Original</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>No crear subcarpeta</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,6 @@
|
|||
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="eu">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="eu">
|
||||
<context>
|
||||
<name>AboutDlg</name>
|
||||
<message>
|
||||
|
@ -37,7 +39,7 @@
|
|||
<translation>Sortu azpikarpeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Ez sortu azpikarpeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -112,7 +114,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Add subcategory...</source>
|
||||
|
@ -391,7 +393,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Are you sure you want to remove the selected torrents from the transfer list?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -607,11 +609,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Would you like to resume all torrents?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Would you like to pause all torrents?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Execution Log</source>
|
||||
|
@ -619,7 +621,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -991,8 +993,8 @@
|
|||
<translation>%T: Oraingo aztarnaria</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Aholkua: Enkapsulatu parametroa adartxo artean idazkia zuriune batekin ebakia izatea saihesteko (adib., "%N")</translation>
|
||||
<source>Tip: Encapsulate parameter with quotation marks to avoid text being cut off at whitespace (e.g., "%N")</source>
|
||||
<translation>Aholkua: Enkapsulatu parametroa adartxo artean idazkia zuriune batekin ebakia izatea saihesteko (adib., "%N")</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The Web UI username must be at least 3 characters long.</source>
|
||||
|
@ -1164,7 +1166,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>When seeding time reaches</source>
|
||||
<translation>Hedapen denbora honera heltzen denean</translation>
|
||||
<translation type="vanished">Hedapen denbora honera heltzen denean</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow multiple connections from the same IP address:</source>
|
||||
|
@ -1380,11 +1382,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Optional IP address to bind to:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disallow connection to peers on privileged ports:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable auto downloading of RSS torrents</source>
|
||||
|
@ -1415,7 +1417,7 @@
|
|||
<translation>Jatorrizkoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Ez sortu azpikarpeta</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -1448,15 +1450,15 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>%J: Info hash v2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>%I: Info hash v1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>IP address reported to trackers (requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Set to 0 to let your system pick an unused port</source>
|
||||
|
@ -1464,11 +1466,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Server-side request forgery (SSRF) mitigation:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk queue size:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Log performance warnings</source>
|
||||
|
@ -1476,11 +1478,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Maximum outstanding requests to a single peer:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Max active checking torrents:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Memory mapped files</source>
|
||||
|
@ -1500,27 +1502,27 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>It controls the internal state update interval which in turn will affect UI updates</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk IO read mode:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable OS cache</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk IO write mode:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use piece extent affinity:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Max concurrent HTTP announces:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable OS cache</source>
|
||||
|
@ -1528,55 +1530,55 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Refresh interval:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>ms</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Excluded file names</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Support internationalized domain name (IDN):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent finished</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Whitelist for filtering HTTP Host header values.
|
||||
In order to defend against DNS rebinding attack,
|
||||
you should put in domain names used by WebUI server.
|
||||
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
Use ';' to split multiple entries. Can use wildcard '*'.</source>
|
||||
<translation>Zerrenda-zuria HTTP Hostalari idazburu balioak iragazteko.
|
||||
DNS berrelkartze erasoen aurka babesteko,
|
||||
WebEI zerbitzariak erabiltzen dituen domeinu izenetan jarri behar duzu.
|
||||
|
||||
Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabili daiteke.</translation>
|
||||
Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabili daiteke.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program on torrent added</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS certificate should not be empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>Specify reverse proxy IPs (or subnets, e.g. 0.0.0.0/24) in order to use forwarded client address (X-Forwarded-For header). Use ';' to split multiple entries.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>HTTPS key should not be empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Run external program</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Files checked</source>
|
||||
|
@ -1584,15 +1586,11 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Enable port forwarding for embedded tracker:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>If checked, hostname lookups are done via the proxy.</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for hostname lookup</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata received</source>
|
||||
|
@ -1600,7 +1598,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Torrent stop condition:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
|
@ -1616,11 +1614,11 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Resume data storage type (requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Fastresume files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Backup the log file after:</source>
|
||||
|
@ -1644,7 +1642,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Use proxy for BitTorrent purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>years</source>
|
||||
|
@ -1660,43 +1658,43 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Remember Multi-Rename settings</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for general purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use proxy for RSS purposes</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache expiry interval (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Physical memory (RAM) usage limit (applied if libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Disk cache (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket send buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Coalesce reads &amp; writes (requires libtorrent &lt; 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Max) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Socket receive buffer size [0: system default]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Use Subcategories</source>
|
||||
|
@ -1704,7 +1702,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Disk IO type (libtorrent &gt;= 2.0; requires restart):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Add to top of queue</source>
|
||||
|
@ -1712,23 +1710,51 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Write-through (requires libtorrent &gt;= 2.0.6)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Stop tracker timeout [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Outgoing ports (Min) [0: disabled]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Hashing threads (requires libtorrent &gt;= 2.0):</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>UPnP lease duration [0: permanent lease]:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode token limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When inactive seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>(None)</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Bdecode depth limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>.torrent file size limit:</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>When total seeding time reaches</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Perform hostname lookup via proxy</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1811,7 +1837,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Peer ID Client</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2040,59 +2066,59 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Filename</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Filename + Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Enumerate Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Rename failed: file or folder already exists</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurences</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replacement Input</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Extension</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Include folders</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Search Files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Case sensitive</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Match all occurrences</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2567,11 +2593,11 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Add trackers...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Renamed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Original</source>
|
||||
|
@ -2586,7 +2612,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Add trackers</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2685,7 +2711,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Collapse/expand</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2869,7 +2895,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Export .torrent</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove</source>
|
||||
|
@ -2877,7 +2903,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Rename Files...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Renaming</source>
|
||||
|
@ -2908,7 +2934,15 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>minutes</source>
|
||||
<translation>minutu</translation>
|
||||
<translation type="vanished">minutu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>total minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>inactive minutes</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2918,11 +2952,11 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
<name>confirmDeletionDlg</name>
|
||||
<message>
|
||||
<source>Also permanently delete the files</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove torrent(s)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3102,7 +3136,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Increase window width to display additional filters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>to</source>
|
||||
|
@ -3114,15 +3148,15 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>showing</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>Click the "Search plugins..." button at the bottom right of the window to install some.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<source>There aren't any search plugins installed.</source>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3152,7 +3186,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
<translation>Gaituta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<source>Warning: Be sure to comply with your country's copyright laws when downloading torrents from any of these search engines.</source>
|
||||
<translation>Kontuz: Zihurtatu zure herrialdeko kopia-eskubide legeak betetzen dituzula torrentak jeisterakoan bilaketa gailu hauen bidez.</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -3273,7 +3307,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3367,7 +3401,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>qBittorrent Mascot</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>qBittorrent icon</source>
|
||||
|
@ -3428,7 +3462,7 @@ Erabili ';' sarrera ugari banantzeko. '*' ordez-hizkia erabi
|
|||
</message>
|
||||
<message>
|
||||
<source>Renaming)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3771,7 +3805,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
<translation>Jatorrizkoa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't create subfolder</source>
|
||||
<source>Don't create subfolder</source>
|
||||
<translation>Ez sortu azpikarpeta</translation>
|
||||
</message>
|
||||
</context>
|
||||
|
@ -3795,7 +3829,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove torrents</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -3817,7 +3851,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Blocked</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
|
@ -3829,7 +3863,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>showing</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy</source>
|
||||
|
@ -3841,11 +3875,11 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Log Type</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
|
@ -3865,7 +3899,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Filter logs</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Blocked IPs</source>
|
||||
|
@ -3881,11 +3915,11 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Timestamp</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear All</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Message</source>
|
||||
|
@ -3893,15 +3927,15 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Log Levels:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Reason</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>item</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>IP</source>
|
||||
|
@ -3909,7 +3943,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Banned</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Normal Messages</source>
|
||||
|
@ -3917,7 +3951,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Critical</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Critical Messages</source>
|
||||
|
@ -3929,7 +3963,7 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>items</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Results</source>
|
||||
|
@ -3937,11 +3971,11 @@ Sostengatutako heuskarriak: S01E01, 1x1, 2017.12.31 eta 31.12.2017 (Data heuskar
|
|||
</message>
|
||||
<message>
|
||||
<source>Info</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose a log level...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation type="unfinished" />
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue