mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-29 13:58:51 +03: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
2 changed files with 18 additions and 14 deletions
|
@ -150,35 +150,37 @@ void HttpConnection::translateDocument(QString& data) {
|
|||
"confirmDeletionDlg", "TrackerList", "TorrentFilesModel",
|
||||
"options_imp", "Preferences", "TrackersAdditionDlg",
|
||||
"ScanFoldersModel", "PropTabBar", "TorrentModel",
|
||||
"downloadFromURL"};
|
||||
"downloadFromURL", "misc"};
|
||||
const size_t context_count = sizeof(contexts)/sizeof(contexts[0]);
|
||||
int i = 0;
|
||||
bool found;
|
||||
bool found = true;
|
||||
|
||||
do {
|
||||
found = false;
|
||||
const QString locale = Preferences().getLocale();
|
||||
bool isTranslationNeeded = !locale.startsWith("en") || locale.startsWith("en_AU") || locale.startsWith("en_GB");
|
||||
|
||||
while(i < data.size() && found) {
|
||||
i = regex.indexIn(data, i);
|
||||
if (i >= 0) {
|
||||
//qDebug("Found translatable string: %s", regex.cap(1).toUtf8().data());
|
||||
QByteArray word = regex.cap(1).toUtf8();
|
||||
|
||||
QString translation = word;
|
||||
bool isTranslationNeeded = !Preferences().getLocale().startsWith("en");
|
||||
if (isTranslationNeeded) {
|
||||
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);
|
||||
++context_index;
|
||||
} while(translation == word && context_index < 15);
|
||||
}
|
||||
}
|
||||
// Remove keyboard shortcuts
|
||||
translation.replace(mnemonic, "");
|
||||
|
||||
data.replace(i, regex.matchedLength(), translation);
|
||||
i += translation.length();
|
||||
found = true;
|
||||
} else {
|
||||
found = false; // no more translatable strings
|
||||
}
|
||||
} while(found && i < data.size());
|
||||
}
|
||||
}
|
||||
|
||||
void HttpConnection::respond() {
|
||||
|
|
|
@ -80,13 +80,15 @@ var dynamicTable = new Class ({
|
|||
var sizeStrToFloat = function(mystr) {
|
||||
var val1 = mystr.split(' ');
|
||||
var val1num = val1[0].toFloat()
|
||||
var unit = val1[1].capitalize();
|
||||
switch(unit[0]) {
|
||||
case 'G':
|
||||
var unit = val1[1];
|
||||
switch(unit) {
|
||||
case '_(TiB)':
|
||||
return val1num*1099511627776;
|
||||
case '_(GiB)':
|
||||
return val1num*1073741824;
|
||||
case 'M':
|
||||
case '_(MiB)':
|
||||
return val1num*1048576;
|
||||
case 'K':
|
||||
case '_(KiB)':
|
||||
return val1num*1024;
|
||||
default:
|
||||
return val1num;
|
||||
|
|
Loading…
Reference in a new issue