mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-05 11:24:15 +00:00
Merge pull request #1323 from glassez/webui_sort
Fix sorting by size in WebUI with Cyrillic languages
This commit is contained in:
commit
e4e3a56c9d
@ -150,35 +150,37 @@ void HttpConnection::translateDocument(QString& data) {
|
|||||||
"confirmDeletionDlg", "TrackerList", "TorrentFilesModel",
|
"confirmDeletionDlg", "TrackerList", "TorrentFilesModel",
|
||||||
"options_imp", "Preferences", "TrackersAdditionDlg",
|
"options_imp", "Preferences", "TrackersAdditionDlg",
|
||||||
"ScanFoldersModel", "PropTabBar", "TorrentModel",
|
"ScanFoldersModel", "PropTabBar", "TorrentModel",
|
||||||
"downloadFromURL"};
|
"downloadFromURL", "misc"};
|
||||||
|
const size_t context_count = sizeof(contexts)/sizeof(contexts[0]);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
bool found;
|
bool found = true;
|
||||||
|
|
||||||
do {
|
const QString locale = Preferences().getLocale();
|
||||||
found = false;
|
bool isTranslationNeeded = !locale.startsWith("en") || locale.startsWith("en_AU") || locale.startsWith("en_GB");
|
||||||
|
|
||||||
|
while(i < data.size() && found) {
|
||||||
i = regex.indexIn(data, i);
|
i = regex.indexIn(data, i);
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
//qDebug("Found translatable string: %s", regex.cap(1).toUtf8().data());
|
//qDebug("Found translatable string: %s", regex.cap(1).toUtf8().data());
|
||||||
QByteArray word = regex.cap(1).toUtf8();
|
QByteArray word = regex.cap(1).toUtf8();
|
||||||
|
|
||||||
QString translation = word;
|
QString translation = word;
|
||||||
bool isTranslationNeeded = !Preferences().getLocale().startsWith("en");
|
|
||||||
if (isTranslationNeeded) {
|
if (isTranslationNeeded) {
|
||||||
int context_index = 0;
|
int context_index = 0;
|
||||||
do {
|
while(context_index < context_count && translation == word) {
|
||||||
translation = qApp->translate(contexts[context_index].c_str(), word.constData(), 0, QCoreApplication::UnicodeUTF8, 1);
|
translation = qApp->translate(contexts[context_index].c_str(), word.constData(), 0, QCoreApplication::UnicodeUTF8, 1);
|
||||||
++context_index;
|
++context_index;
|
||||||
} while(translation == word && context_index < 15);
|
}
|
||||||
}
|
}
|
||||||
// Remove keyboard shortcuts
|
// Remove keyboard shortcuts
|
||||||
translation.replace(mnemonic, "");
|
translation.replace(mnemonic, "");
|
||||||
|
|
||||||
data.replace(i, regex.matchedLength(), translation);
|
data.replace(i, regex.matchedLength(), translation);
|
||||||
i += translation.length();
|
i += translation.length();
|
||||||
found = true;
|
} else {
|
||||||
|
found = false; // no more translatable strings
|
||||||
}
|
}
|
||||||
} while(found && i < data.size());
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HttpConnection::respond() {
|
void HttpConnection::respond() {
|
||||||
|
@ -80,13 +80,15 @@ var dynamicTable = new Class ({
|
|||||||
var sizeStrToFloat = function(mystr) {
|
var sizeStrToFloat = function(mystr) {
|
||||||
var val1 = mystr.split(' ');
|
var val1 = mystr.split(' ');
|
||||||
var val1num = val1[0].toFloat()
|
var val1num = val1[0].toFloat()
|
||||||
var unit = val1[1].capitalize();
|
var unit = val1[1];
|
||||||
switch(unit[0]) {
|
switch(unit) {
|
||||||
case 'G':
|
case '_(TiB)':
|
||||||
|
return val1num*1099511627776;
|
||||||
|
case '_(GiB)':
|
||||||
return val1num*1073741824;
|
return val1num*1073741824;
|
||||||
case 'M':
|
case '_(MiB)':
|
||||||
return val1num*1048576;
|
return val1num*1048576;
|
||||||
case 'K':
|
case '_(KiB)':
|
||||||
return val1num*1024;
|
return val1num*1024;
|
||||||
default:
|
default:
|
||||||
return val1num;
|
return val1num;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user