diff --git a/src/core/unicodestrings.h b/src/core/unicodestrings.h
new file mode 100644
index 000000000..81d533bff
--- /dev/null
+++ b/src/core/unicodestrings.h
@@ -0,0 +1,123 @@
+/*
+ * Bittorrent Client using Qt and libtorrent.
+ * Copyright (C) 2015 Mike Tzou
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give permission to
+ * link this program with the OpenSSL project's "OpenSSL" library (or with
+ * modified versions of it that use the same license as the "OpenSSL" library),
+ * and distribute the linked executables. You must obey the GNU General Public
+ * License in all respects for all of the code used other than "OpenSSL". If you
+ * modify file(s), you may extend this exception to your version of the file(s),
+ * but you are not obligated to do so. If you do not wish to do so, delete this
+ * exception statement from your version.
+ */
+
+#ifdef _MSC_VER
+#pragma execution_character_set("utf-8")
+#endif
+
+const char C_INFINITY[] = "∞";
+const char C_UP[] = "▲";
+const char C_DOWN[] = "▼";
+const char C_COPYRIGHT[] = "©";
+const char C_LOCALE_ENGLISH[] = "English";
+const char C_LOCALE_ENGLISH_AUSTRALIA[] = "English(Australia)";
+const char C_LOCALE_ENGLISH_UNITEDKINGDOM[] = "English(United Kingdom)";
+const char C_LOCALE_FRENCH[] = "Français";
+const char C_LOCALE_GERMAN[] = "Deutsch";
+const char C_LOCALE_HUNGARIAN[] = "Magyar";
+const char C_LOCALE_INDONESIAN[] = "Bahasa Indonesia";
+const char C_LOCALE_ITALIAN[] = "Italiano";
+const char C_LOCALE_DUTCH[] = "Nederlands";
+const char C_LOCALE_SPANISH[] = "Español";
+const char C_LOCALE_CATALAN[] = "Català";
+const char C_LOCALE_GALICIAN[] = "Galego";
+const char C_LOCALE_PORTUGUESE[] = "Português";
+const char C_LOCALE_PORTUGUESE_BRAZIL[] = "Português brasileiro";
+const char C_LOCALE_POLISH[] = "Polski";
+const char C_LOCALE_LITHUANIAN[] = "Lietuvių";
+const char C_LOCALE_CZECH[] = "Čeština";
+const char C_LOCALE_SLOVAK[] = "Slovenčina";
+const char C_LOCALE_SERBIAN[] = "Српски";
+const char C_LOCALE_CROATIAN[] = "Hrvatski";
+const char C_LOCALE_ARMENIAN[] = "Հայերեն";
+const char C_LOCALE_ROMANIAN[] = "Română";
+const char C_LOCALE_TURKISH[] = "Türkçe";
+const char C_LOCALE_GREEK[] = "Ελληνικά";
+const char C_LOCALE_SWEDISH[] = "Svenska";
+const char C_LOCALE_FINNISH[] = "Suomi";
+const char C_LOCALE_NORWEGIAN[] = "Norsk";
+const char C_LOCALE_DANISH[] = "Dansk";
+const char C_LOCALE_BULGARIAN[] = "Български";
+const char C_LOCALE_UKRAINIAN[] = "Українська";
+const char C_LOCALE_RUSSIAN[] = "Русский";
+const char C_LOCALE_JAPANESE[] = "日本語";
+const char C_LOCALE_HEBREW[] = "עברית";
+const char C_LOCALE_HINDI[] = "हिन्दी, हिंदी";
+const char C_LOCALE_ARABIC[] = "عربي";
+const char C_LOCALE_GEORGIAN[] = "ქართული";
+const char C_LOCALE_BYELORUSSIAN[] = "Беларуская";
+const char C_LOCALE_BASQUE[] = "Euskara";
+const char C_LOCALE_VIETNAMESE[] = "tiếng Việt";
+const char C_LOCALE_CHINESE_TRADITIONAL[] = "中文 (繁體)";
+const char C_LOCALE_CHINESE_SIMPLIFIED[] = "中文 (简体)";
+const char C_LOCALE_KOREAN[] = "한글";
+const char C_THANKS[] =
+ "
I would first like to thank sourceforge.net for hosting qBittorrent project and for their support.
\
+ I am pleased that people from all over the world are contributing to qBittorrent: Ishan Arora (India), Arnaud Demaizière (France) and Stephanos Antaris (Greece). Their help is greatly appreciated
\
+ I also want to thank Στέφανος Αντάρης (santaris@csd.auth.gr) and Mirco Chinelli (infinity89@fastwebmail.it) for working on Mac OS X packaging.
\
+ I am grateful to Peter Koeleman (peter@qbittorrent.org) and Mohammad Dib (mdib@qbittorrent.org) for working on qBittorrent port to Windows.
\
+ Thanks a lot to our graphist Mateusz Toboła (tobejodok@qbittorrent.org) for his great work.
";
+const char C_TRANSLATORS[] =
+ "- Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and Ibrahim Saed ibraheem_alex(Transifex)
\
+ - Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
\
+ - Basque: Xabier Aramendi (azpidatziak@gmail.com)
\
+ - Belarusian: Mihas Varantsou (meequz@gmail.com)
\
+ - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
\
+ - Catalan: Francisco Luque Contreras (frannoe@ya.com)
\
+ - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
\
+ - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex)
\
+ - Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
\
+ - Czech: Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex)
\
+ - Danish: Mathias Nielsen (comoneo@gmail.com)
\
+ - Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
\
+ - English(Australia): Robert Readman readmanr(Transifex)
\
+ - English(United Kingdom): Robert Readman readmanr(Transifex)
\
+ - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex)
\
+ - Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex)
\
+ - Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
\
+ - German: Niels Hoffmann (zentralmaschine@users.sourceforge.net), schnurlos (schnurlos@gmail.com)
\
+ - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com), Γιάννης Ανθυμίδης Evropi(Transifex) and Panagiotis Tabakis(tabakisp@gmail.com)
\
+ - Hebrew: David Deutsch (d.deffo@gmail.com)
\
+ - Hungarian: Majoros Péter (majoros.peterj@gmail.com)
\
+ - Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)
\
+ - Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
\
+ - Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
\
+ - Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
\
+ - Norwegian: Tomaso
\
+ - Polish: Mariusz Fik (fisiu@opensuse.org)
\
+ - Portuguese: Sérgio Marques smarquespt(Transifex)
\
+ - Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com)
\
+ - Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex)
\
+ - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex)
\
+ - Serbian: Anaximandar Milet (anaximandar@operamail.com)
\
+ - Slovak: helix84
\
+ - Spanish: Alfredo Monclús (alfrix), Francisco Luque Contreras (frannoe@ya.com), José Antonio Moray moray33(Transifex) and Diego de las Heras(Transifex)
\
+ - Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex)
\
+ - Turkish: Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)
\
+ - Ukrainian: Oleh Prypin (blaxpirit@gmail.com)
\
+ - Vietnamese: Anh Phan ppanhh(Transifex)
";
diff --git a/src/core/utils/misc.cpp b/src/core/utils/misc.cpp
index ae4840ae2..102521424 100644
--- a/src/core/utils/misc.cpp
+++ b/src/core/utils/misc.cpp
@@ -67,6 +67,7 @@ const int UNLEN = 256;
#endif // DISABLE_GUI
#include "core/utils/string.h"
+#include "core/unicodestrings.h"
#include "misc.h"
static struct { const char *source; const char *comment; } units[] = {
@@ -345,7 +346,7 @@ QString Utils::Misc::bcLinkToMagnet(QString bc_link)
QString Utils::Misc::userFriendlyDuration(qlonglong seconds)
{
if (seconds < 0 || seconds >= MAX_ETA)
- return QString::fromUtf8("∞");
+ return QString::fromUtf8(C_INFINITY);
if (seconds == 0)
return "0";
if (seconds < 60)
@@ -361,7 +362,7 @@ QString Utils::Misc::userFriendlyDuration(qlonglong seconds)
hours = hours - days * 24;
if (days < 100)
return QCoreApplication::translate("misc", "%1d %2h", "e.g: 2days 10hours").arg(QString::number(days)).arg(QString::number(hours));
- return QString::fromUtf8("∞");
+ return QString::fromUtf8(C_INFINITY);
}
QString Utils::Misc::getUserIDString()
diff --git a/src/gui/about_imp.h b/src/gui/about_imp.h
index 50ae5dfb3..f098176c3 100644
--- a/src/gui/about_imp.h
+++ b/src/gui/about_imp.h
@@ -36,6 +36,7 @@
#include
#include
#include
+#include "core/unicodestrings.h"
class about : public QDialog, private Ui::AboutDlg{
Q_OBJECT
@@ -53,7 +54,7 @@ class about : public QDialog, private Ui::AboutDlg{
QString::fromUtf8("") +
tr("An advanced BitTorrent client programmed in C++, based on Qt toolkit and libtorrent-rasterbar.") +
QString::fromUtf8("
") +
- trUtf8("Copyright ©2006-2015 The qBittorrent project") +
+ trUtf8("Copyright %1 2006-2015 The qBittorrent project").arg(C_COPYRIGHT) +
QString::fromUtf8("
") +
tr("Home Page: ") +
QString::fromUtf8("http://www.qbittorrent.org
") +
@@ -71,53 +72,10 @@ class about : public QDialog, private Ui::AboutDlg{
//Title
lb_name->setText(QString::fromUtf8("qBittorrent")+QString::fromUtf8(" " VERSION"
"));
// Thanks
- QString thanks_txt;
- thanks_txt += QString::fromUtf8("
I would first like to thank sourceforge.net for hosting qBittorrent project and for their support.
");
- thanks_txt += QString::fromUtf8("I am pleased that people from all over the world are contributing to qBittorrent: Ishan Arora (India), Arnaud Demaizière (France) and Stephanos Antaris (Greece). Their help is greatly appreciated
");
- thanks_txt += QString::fromUtf8("I also want to thank Στέφανος Αντάρης (santaris@csd.auth.gr) and Mirco Chinelli (infinity89@fastwebmail.it) for working on Mac OS X packaging.
");
- thanks_txt += QString::fromUtf8("I am grateful to Peter Koeleman (peter@qbittorrent.org) and Mohammad Dib (mdib@qbittorrent.org) for working on qBittorrent port to Windows.
");
- thanks_txt += QString::fromUtf8("Thanks a lot to our graphist Mateusz Toboła (tobejodok@qbittorrent.org) for his great work.
");
- te_thanks->setHtml(thanks_txt);
+ te_thanks->setHtml(QString::fromUtf8(C_THANKS));
// Translation
QString trans_txt = ""+tr("I would like to thank the following people who volunteered to translate qBittorrent:")+"
";
- trans_txt += QString::fromUtf8("- Arabic: SDERAWI (abz8868@msn.com), sn51234 (nesseyan@gmail.com) and Ibrahim Saed ibraheem_alex(Transifex)
\
- - Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
\
- - Basque: Xabier Aramendi (azpidatziak@gmail.com)
\
- - Belarusian: Mihas Varantsou (meequz@gmail.com)
\
- - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
\
- - Catalan: Francisco Luque Contreras (frannoe@ya.com)
\
- - Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
\
- - Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com) and 冥王歐西里斯 s8321414(Transifex)
\
- - Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
\
- - Czech: Jirka Vilim (web@tets.cz) and Petr Cernobila abr(Transifex)
\
- - Danish: Mathias Nielsen (comoneo@gmail.com)
\
- - Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
\
- - English(Australia): Robert Readman readmanr(Transifex)
\
- - English(United Kingdom): Robert Readman readmanr(Transifex)
\
- - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net), Pekka Niemi (pekka.niemi@iki.fi) and Jiri Grönroos artnay(Transifex)
\
- - Galician: Marcos Lans (marcoslansgarza@gmail.com) and antiparvos(Transifex)
\
- - Georgian: Beqa Arabuli (arabulibeqa@yahoo.com)
\
- - German: Niels Hoffmann (zentralmaschine@users.sourceforge.net), schnurlos (schnurlos@gmail.com)
\
- - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net), Stephanos Antaris (santaris@csd.auth.gr), sledgehammer999(hammered999@gmail.com), Γιάννης Ανθυμίδης Evropi(Transifex) and Panagiotis Tabakis(tabakisp@gmail.com)
\
- - Hebrew: David Deutsch (d.deffo@gmail.com)
\
- - Hungarian: Majoros Péter (majoros.peterj@gmail.com)
\
- - Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)
\
- - Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
\
- - Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
\
- - Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
\
- - Norwegian: Tomaso
\
- - Polish: Mariusz Fik (fisiu@opensuse.org)
\
- - Portuguese: Sérgio Marques smarquespt(Transifex)
\
- - Portuguese(Brazil): Nick Marinho (nickmarinho@gmail.com)
\
- - Romanian: Obada Denis (obadadenis@users.sourceforge.net), Adrian Gabor Adriannho(Transifex) and Mihai Coman z0id(Transifex)
\
- - Russian: Nick Khazov (m2k3d0n at users.sourceforge.net), Alexey Morsov (samurai@ricom.ru), Nick Tiskov Dayman(daymansmail (at) gmail (dot) com), Dmitry DmitryKX(Transifex) and kraleksandr kraleksandr(Transifex)
\
- - Serbian: Anaximandar Milet (anaximandar@operamail.com)
\
- - Slovak: helix84
\
- - Spanish: Alfredo Monclús (alfrix), Francisco Luque Contreras (frannoe@ya.com), José Antonio Moray moray33(Transifex) and Diego de las Heras(Transifex)
\
- - Swedish: Daniel Nylander (po@danielnylander.se) and Emil Hammarberg Ooglogput(Transifex)
\
- - Turkish: Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)
\
- - Ukrainian: Oleh Prypin (blaxpirit@gmail.com)
\
- - Vietnamese: Anh Phan ppanhh(Transifex)
");
+ trans_txt += QString::fromUtf8(C_TRANSLATORS);
trans_txt += ""+tr("Please contact me if you would like to translate qBittorrent into your own language.")+"
";
te_translation->setHtml(trans_txt);
// License
diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp
index f99cfa196..dc8f85e0c 100644
--- a/src/gui/addnewtorrentdialog.cpp
+++ b/src/gui/addnewtorrentdialog.cpp
@@ -44,6 +44,7 @@
#include "core/bittorrent/torrenthandle.h"
#include "core/utils/fs.h"
#include "core/utils/misc.h"
+#include "core/unicodestrings.h"
#include "guiiconprovider.h"
#include "autoexpandabledialog.h"
#include "messageboxraised.h"
@@ -248,7 +249,7 @@ void AddNewTorrentDialog::showEvent(QShowEvent *event)
void AddNewTorrentDialog::showAdvancedSettings(bool show)
{
if (show) {
- ui->adv_button->setText(QString::fromUtf8("▲"));
+ ui->adv_button->setText(QString::fromUtf8(C_UP));
ui->settings_group->setVisible(true);
ui->info_group->setVisible(true);
if (m_hasMetadata && (m_torrentInfo.filesCount() > 1)) {
@@ -262,7 +263,7 @@ void AddNewTorrentDialog::showAdvancedSettings(bool show)
static_cast(layout())->insertWidget(layout()->indexOf(ui->never_show_cb) + 1, ui->adv_button);
}
else {
- ui->adv_button->setText(QString::fromUtf8("▼"));
+ ui->adv_button->setText(QString::fromUtf8(C_DOWN));
ui->settings_group->setVisible(false);
ui->info_group->setVisible(false);
ui->buttonsHLayout->insertWidget(0, layout()->takeAt(layout()->indexOf(ui->never_show_cb) + 1)->widget());
diff --git a/src/gui/options_imp.cpp b/src/gui/options_imp.cpp
index 00587ecf5..d11c1a0e5 100644
--- a/src/gui/options_imp.cpp
+++ b/src/gui/options_imp.cpp
@@ -27,6 +27,7 @@
*
* Contact : chris@qbittorrent.org
*/
+
#include
#include
#include
@@ -50,6 +51,7 @@
#include "core/bittorrent/session.h"
#include "guiiconprovider.h"
#include "core/net/dnsupdater.h"
+#include "core/unicodestrings.h"
#ifndef QT_NO_OPENSSL
#include
@@ -1327,56 +1329,56 @@ QString options_imp::languageToLocalizedString(const QLocale &locale)
switch(locale.language()) {
case QLocale::English: {
if (locale.country() == QLocale::Australia)
- return "English(Australia)";
+ return QString::fromUtf8(C_LOCALE_ENGLISH_AUSTRALIA);
else if (locale.country() == QLocale::UnitedKingdom)
- return "English(United Kingdom)";
- return "English";
+ return QString::fromUtf8(C_LOCALE_ENGLISH_UNITEDKINGDOM);
+ return QString::fromUtf8(C_LOCALE_ENGLISH);
}
- case QLocale::French: return QString::fromUtf8("Français");
- case QLocale::German: return QString::fromUtf8("Deutsch");
- case QLocale::Hungarian: return QString::fromUtf8("Magyar");
- case QLocale::Indonesian: return QString::fromUtf8("Bahasa Indonesia");
- case QLocale::Italian: return QString::fromUtf8("Italiano");
- case QLocale::Dutch: return QString::fromUtf8("Nederlands");
- case QLocale::Spanish: return QString::fromUtf8("Español");
- case QLocale::Catalan: return QString::fromUtf8("Català");
- case QLocale::Galician: return QString::fromUtf8("Galego");
+ case QLocale::French: return QString::fromUtf8(C_LOCALE_FRENCH);
+ case QLocale::German: return QString::fromUtf8(C_LOCALE_GERMAN);
+ case QLocale::Hungarian: return QString::fromUtf8(C_LOCALE_HUNGARIAN);
+ case QLocale::Indonesian: return QString::fromUtf8(C_LOCALE_INDONESIAN);
+ case QLocale::Italian: return QString::fromUtf8(C_LOCALE_ITALIAN);
+ case QLocale::Dutch: return QString::fromUtf8(C_LOCALE_DUTCH);
+ case QLocale::Spanish: return QString::fromUtf8(C_LOCALE_SPANISH);
+ case QLocale::Catalan: return QString::fromUtf8(C_LOCALE_CATALAN);
+ case QLocale::Galician: return QString::fromUtf8(C_LOCALE_GALICIAN);
case QLocale::Portuguese: {
if (locale.country() == QLocale::Brazil)
- return QString::fromUtf8("Português brasileiro");
- return QString::fromUtf8("Português");
+ return QString::fromUtf8(C_LOCALE_PORTUGUESE_BRAZIL);
+ return QString::fromUtf8(C_LOCALE_PORTUGUESE);
}
- case QLocale::Polish: return QString::fromUtf8("Polski");
- case QLocale::Lithuanian: return QString::fromUtf8("Lietuvių");
- case QLocale::Czech: return QString::fromUtf8("Čeština");
- case QLocale::Slovak: return QString::fromUtf8("Slovenčina");
- case QLocale::Serbian: return QString::fromUtf8("Српски");
- case QLocale::Croatian: return QString::fromUtf8("Hrvatski");
- case QLocale::Armenian: return QString::fromUtf8("Հայերեն");
- case QLocale::Romanian: return QString::fromUtf8("Română");
- case QLocale::Turkish: return QString::fromUtf8("Türkçe");
- case QLocale::Greek: return QString::fromUtf8("Ελληνικά");
- case QLocale::Swedish: return QString::fromUtf8("Svenska");
- case QLocale::Finnish: return QString::fromUtf8("Suomi");
- case QLocale::Norwegian: return QString::fromUtf8("Norsk");
- case QLocale::Danish: return QString::fromUtf8("Dansk");
- case QLocale::Bulgarian: return QString::fromUtf8("Български");
- case QLocale::Ukrainian: return QString::fromUtf8("Українська");
- case QLocale::Russian: return QString::fromUtf8("Русский");
- case QLocale::Japanese: return QString::fromUtf8("日本語");
- case QLocale::Hebrew: return QString::fromUtf8("עברית");
- case QLocale::Hindi: return QString::fromUtf8("हिन्दी, हिंदी");
- case QLocale::Arabic: return QString::fromUtf8("عربي");
- case QLocale::Georgian: return QString::fromUtf8("ქართული");
- case QLocale::Byelorussian: return QString::fromUtf8("Беларуская");
- case QLocale::Basque: return QString::fromUtf8("Euskara");
- case QLocale::Vietnamese: return QString::fromUtf8("tiếng Việt");
+ case QLocale::Polish: return QString::fromUtf8(C_LOCALE_POLISH);
+ case QLocale::Lithuanian: return QString::fromUtf8(C_LOCALE_LITHUANIAN);
+ case QLocale::Czech: return QString::fromUtf8(C_LOCALE_CZECH);
+ case QLocale::Slovak: return QString::fromUtf8(C_LOCALE_SLOVAK);
+ case QLocale::Serbian: return QString::fromUtf8(C_LOCALE_SERBIAN);
+ case QLocale::Croatian: return QString::fromUtf8(C_LOCALE_CROATIAN);
+ case QLocale::Armenian: return QString::fromUtf8(C_LOCALE_ARMENIAN);
+ case QLocale::Romanian: return QString::fromUtf8(C_LOCALE_ROMANIAN);
+ case QLocale::Turkish: return QString::fromUtf8(C_LOCALE_TURKISH);
+ case QLocale::Greek: return QString::fromUtf8(C_LOCALE_GREEK);
+ case QLocale::Swedish: return QString::fromUtf8(C_LOCALE_SWEDISH);
+ case QLocale::Finnish: return QString::fromUtf8(C_LOCALE_FINNISH);
+ case QLocale::Norwegian: return QString::fromUtf8(C_LOCALE_NORWEGIAN);
+ case QLocale::Danish: return QString::fromUtf8(C_LOCALE_DANISH);
+ case QLocale::Bulgarian: return QString::fromUtf8(C_LOCALE_BULGARIAN);
+ case QLocale::Ukrainian: return QString::fromUtf8(C_LOCALE_UKRAINIAN);
+ case QLocale::Russian: return QString::fromUtf8(C_LOCALE_RUSSIAN);
+ case QLocale::Japanese: return QString::fromUtf8(C_LOCALE_JAPANESE);
+ case QLocale::Hebrew: return QString::fromUtf8(C_LOCALE_HEBREW);
+ case QLocale::Hindi: return QString::fromUtf8(C_LOCALE_HINDI);
+ case QLocale::Arabic: return QString::fromUtf8(C_LOCALE_ARABIC);
+ case QLocale::Georgian: return QString::fromUtf8(C_LOCALE_GEORGIAN);
+ case QLocale::Byelorussian: return QString::fromUtf8(C_LOCALE_BYELORUSSIAN);
+ case QLocale::Basque: return QString::fromUtf8(C_LOCALE_BASQUE);
+ case QLocale::Vietnamese: return QString::fromUtf8(C_LOCALE_VIETNAMESE);
case QLocale::Chinese: {
if (locale.script() == QLocale::SimplifiedHanScript)
- return QString::fromUtf8("中文 (简体)");
- return QString::fromUtf8("中文 (繁體)");
+ return QString::fromUtf8(C_LOCALE_CHINESE_SIMPLIFIED);
+ return QString::fromUtf8(C_LOCALE_CHINESE_TRADITIONAL);
}
- case QLocale::Korean: return QString::fromUtf8("한글");
+ case QLocale::Korean: return QString::fromUtf8(C_LOCALE_KOREAN);
default: {
// Fallback to English
const QString eng_lang = QLocale::languageToString(locale.language());
diff --git a/src/gui/properties/propertieswidget.cpp b/src/gui/properties/propertieswidget.cpp
index d4eab984c..af51a2a5e 100644
--- a/src/gui/properties/propertieswidget.cpp
+++ b/src/gui/properties/propertieswidget.cpp
@@ -47,6 +47,7 @@
#include "core/utils/fs.h"
#include "core/utils/misc.h"
#include "core/utils/string.h"
+#include "core/unicodestrings.h"
#include "proplistdelegate.h"
#include "torrentcontentfiltermodel.h"
#include "torrentcontentmodel.h"
@@ -355,8 +356,8 @@ void PropertiesWidget::loadDynamicData() {
wasted->setText(Utils::Misc::friendlyUnit(m_torrent->wastedSize()));
upTotal->setText(Utils::Misc::friendlyUnit(m_torrent->totalUpload()) + " ("+Utils::Misc::friendlyUnit(m_torrent->totalPayloadUpload())+" "+tr("this session")+")");
dlTotal->setText(Utils::Misc::friendlyUnit(m_torrent->totalDownload()) + " ("+Utils::Misc::friendlyUnit(m_torrent->totalPayloadDownload())+" "+tr("this session")+")");
- lbl_uplimit->setText(m_torrent->uploadLimit() <= 0 ? QString::fromUtf8("∞") : Utils::Misc::friendlyUnit(m_torrent->uploadLimit())+tr("/s", "/second (i.e. per second)"));
- lbl_dllimit->setText(m_torrent->downloadLimit() <= 0 ? QString::fromUtf8("∞") : Utils::Misc::friendlyUnit(m_torrent->downloadLimit())+tr("/s", "/second (i.e. per second)"));
+ lbl_uplimit->setText(m_torrent->uploadLimit() <= 0 ? QString::fromUtf8(C_INFINITY) : Utils::Misc::friendlyUnit(m_torrent->uploadLimit())+tr("/s", "/second (i.e. per second)"));
+ lbl_dllimit->setText(m_torrent->downloadLimit() <= 0 ? QString::fromUtf8(C_INFINITY) : Utils::Misc::friendlyUnit(m_torrent->downloadLimit())+tr("/s", "/second (i.e. per second)"));
QString elapsed_txt = Utils::Misc::userFriendlyDuration(m_torrent->activeTime());
if (m_torrent->isSeed())
elapsed_txt += " ("+tr("Seeded for %1", "e.g. Seeded for 3m10s").arg(Utils::Misc::userFriendlyDuration(m_torrent->seedingTime()))+")";
@@ -371,7 +372,7 @@ void PropertiesWidget::loadDynamicData() {
// Update ratio info
const qreal ratio = m_torrent->realRatio();
- shareRatio->setText(ratio > BitTorrent::TorrentHandle::MAX_RATIO ? QString::fromUtf8("∞") : Utils::String::fromDouble(ratio, 2));
+ shareRatio->setText(ratio > BitTorrent::TorrentHandle::MAX_RATIO ? QString::fromUtf8(C_INFINITY) : Utils::String::fromDouble(ratio, 2));
label_seeds_val->setText(QString::number(m_torrent->seedsCount()) + " " + tr("(%1 total)","e.g. (10 total)").arg(QString::number(m_torrent->totalSeedsCount())));
label_peers_val->setText(QString::number(m_torrent->leechsCount()) + " " + tr("(%1 total)","e.g. (10 total)").arg(QString::number(m_torrent->totalLeechersCount())));
diff --git a/src/gui/speedlimitdlg.cpp b/src/gui/speedlimitdlg.cpp
index 3b5402ee4..65094b529 100644
--- a/src/gui/speedlimitdlg.cpp
+++ b/src/gui/speedlimitdlg.cpp
@@ -29,6 +29,7 @@
*/
#include "speedlimitdlg.h"
+#include "core/unicodestrings.h"
SpeedLimitDialog::SpeedLimitDialog(QWidget *parent): QDialog(parent)
{
@@ -69,7 +70,7 @@ void SpeedLimitDialog::updateSpinValue(int val) const
qDebug("Called updateSpinValue with %d", val);
if (val <= 0) {
spinBandwidth->setValue(0);
- spinBandwidth->setSpecialValueText(QString::fromUtf8("∞"));
+ spinBandwidth->setSpecialValueText(QString::fromUtf8(C_INFINITY));
spinBandwidth->setSuffix(QString::fromUtf8(""));
}
else {
@@ -82,7 +83,7 @@ void SpeedLimitDialog::updateSliderValue(int val) const
{
if (val <= 0) {
spinBandwidth->setValue(0);
- spinBandwidth->setSpecialValueText(QString::fromUtf8("∞"));
+ spinBandwidth->setSpecialValueText(QString::fromUtf8(C_INFINITY));
spinBandwidth->setSuffix(QString::fromUtf8(""));
}
if (val > bandwidthSlider->maximum())
diff --git a/src/gui/transferlistdelegate.cpp b/src/gui/transferlistdelegate.cpp
index 05af68de1..a426960b0 100644
--- a/src/gui/transferlistdelegate.cpp
+++ b/src/gui/transferlistdelegate.cpp
@@ -39,6 +39,7 @@
#include "torrentmodel.h"
#include "core/bittorrent/session.h"
#include "core/bittorrent/torrenthandle.h"
+#include "core/unicodestrings.h"
#ifdef Q_OS_WIN
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
@@ -151,7 +152,7 @@ void TransferListDelegate::paint(QPainter * painter, const QStyleOptionViewItem
QItemDelegate::drawBackground(painter, opt, index);
const qlonglong limit = index.data().toLongLong();
opt.displayAlignment = Qt::AlignRight | Qt::AlignVCenter;
- QItemDelegate::drawDisplay(painter, opt, opt.rect, limit > 0 ? Utils::String::fromDouble(limit/1024., 1) + " " + tr("KiB/s", "KiB/second (.i.e per second)") : QString::fromUtf8("∞"));
+ QItemDelegate::drawDisplay(painter, opt, opt.rect, limit > 0 ? Utils::String::fromDouble(limit/1024., 1) + " " + tr("KiB/s", "KiB/second (.i.e per second)") : QString::fromUtf8(C_INFINITY));
break;
}
case TorrentModel::TR_TIME_ELAPSED: {
@@ -174,7 +175,7 @@ void TransferListDelegate::paint(QPainter * painter, const QStyleOptionViewItem
opt.displayAlignment = Qt::AlignRight | Qt::AlignVCenter;
const qreal ratio = index.data().toDouble();
QItemDelegate::drawDisplay(painter, opt, opt.rect,
- ((ratio == -1) || (ratio > BitTorrent::TorrentHandle::MAX_RATIO)) ? QString::fromUtf8("∞") : Utils::String::fromDouble(ratio, 2));
+ ((ratio == -1) || (ratio > BitTorrent::TorrentHandle::MAX_RATIO)) ? QString::fromUtf8(C_INFINITY) : Utils::String::fromDouble(ratio, 2));
break;
}
case TorrentModel::TR_PRIORITY: {