diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 6328be1b0..e640e4ed9 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -32,6 +32,7 @@ list(APPEND LIBS "${CMAKE_SOURCE_DIR}/../OUTPUT/desktop/lib64/liblinphone++.so")
set(SOURCES
src/app/App.cpp
src/app/Database.cpp
+ src/app/DefaultTranslator.cpp
src/app/Logger.cpp
src/components/chat/ChatModel.cpp
src/components/chat/ChatProxyModel.cpp
@@ -51,6 +52,7 @@ set(SOURCES
set(HEADERS
src/app/App.hpp
src/app/Database.hpp
+ src/app/DefaultTranslator.hpp
src/app/Logger.hpp
src/components/chat/ChatModel.hpp
src/components/chat/ChatProxyModel.hpp
diff --git a/tests/assets/languages/en.ts b/tests/assets/languages/en.ts
index cddf5a3e4..df2c4d4a8 100644
--- a/tests/assets/languages/en.ts
+++ b/tests/assets/languages/en.ts
@@ -178,41 +178,29 @@
incomingCall
Incoming call
-
- hangup
- End call
-
-
- lostIncomingCall
- Lost incoming call
-
-
- lostOutgoingCall
- Lost outgoing call
-
outgoingCall
-
+ Outgoing call
declinedIncomingCall
-
+ Declined incoming call
declinedOutgoingCall
-
+ Declined outgoing call
endedCall
-
+ Ended call
missedIncomingCall
-
+ Missed incoming call
missedOutgoingCall
-
+ Missed outgoing call
diff --git a/tests/src/app/App.cpp b/tests/src/app/App.cpp
index e02582734..412bc8064 100644
--- a/tests/src/app/App.cpp
+++ b/tests/src/app/App.cpp
@@ -29,15 +29,18 @@ App *App::m_instance = nullptr;
App::App (int &argc, char **argv) : QApplication(argc, argv) {
QString current_locale = QLocale::system().name();
- // Try to use default locale. Otherwise use english.
- if (m_translator.load(QString(LANGUAGES_PATH) + current_locale)) {
- installTranslator(&m_translator);
+ if (m_english_translator.load(LANGUAGES_PATH "en"))
+ installTranslator(&m_english_translator);
+ else
+ qWarning("Unable to install english translator.");
+
+ // Try to use default locale.
+ if (m_default_translator.load(QString(LANGUAGES_PATH) + current_locale)) {
+ installTranslator(&m_default_translator);
m_locale = current_locale;
- } else if (m_translator.load(LANGUAGES_PATH "en")) {
- installTranslator(&m_translator);
- } else {
- qFatal("No translation found.");
- }
+ } else
+ qWarning() << QStringLiteral("Unable to found translations for locale: %1.")
+ .arg(current_locale);
setWindowIcon(QIcon(WINDOW_ICON_PATH));
diff --git a/tests/src/app/App.hpp b/tests/src/app/App.hpp
index eb8236dac..46972291b 100644
--- a/tests/src/app/App.hpp
+++ b/tests/src/app/App.hpp
@@ -5,7 +5,8 @@
#include
#include
#include
-#include
+
+#include "DefaultTranslator.hpp"
class Notifier;
@@ -47,7 +48,9 @@ private:
QQmlApplicationEngine m_engine;
QQmlFileSelector *m_file_selector = nullptr;
QSystemTrayIcon *m_system_tray_icon = nullptr;
- QTranslator m_translator;
+
+ DefaultTranslator m_default_translator;
+ QTranslator m_english_translator;
Notifier *m_notifier = nullptr;
QString m_locale = "en";
diff --git a/tests/src/app/DefaultTranslator.cpp b/tests/src/app/DefaultTranslator.cpp
new file mode 100644
index 000000000..099a711b3
--- /dev/null
+++ b/tests/src/app/DefaultTranslator.cpp
@@ -0,0 +1,20 @@
+#include
+
+#include "DefaultTranslator.hpp"
+
+// ===================================================================
+
+QString DefaultTranslator::translate (
+ const char *context,
+ const char *source_text,
+ const char *disambiguation,
+ int n
+) const {
+ QString translation = QTranslator::translate(context, source_text, disambiguation, n);
+
+ if (translation.length() == 0)
+ qWarning() << QStringLiteral("Unable to found a translation. (context=%1, label=%2)")
+ .arg(context).arg(source_text);
+
+ return translation;
+}
diff --git a/tests/src/app/DefaultTranslator.hpp b/tests/src/app/DefaultTranslator.hpp
new file mode 100644
index 000000000..55436b318
--- /dev/null
+++ b/tests/src/app/DefaultTranslator.hpp
@@ -0,0 +1,17 @@
+#ifndef DEFAULT_TRANSLATOR_H_
+#define DEFAULT_TRANSLATOR_H_
+
+#include
+
+// ===================================================================
+
+class DefaultTranslator : public QTranslator {
+ QString translate (
+ const char *context,
+ const char *source_text,
+ const char *disambiguation = Q_NULLPTR,
+ int n = -1
+ ) const override;
+};
+
+#endif