diff --git a/share/translations/screentranslator_ru.ts b/share/translations/screentranslator_ru.ts
index 4acd2ff..47c2117 100644
--- a/share/translations/screentranslator_ru.ts
+++ b/share/translations/screentranslator_ru.ts
@@ -638,12 +638,32 @@ Check for updates to silence this warning
Проверьте обновления, чтобы отключить это сообщение
-
+
+ No recognition languages available. Install some via Settings->Updates
+ Нет доступных языков распознавания. Установите нужные через Настройки->Обновление
+
+
+
+ Recognition language not set. Go to Settings->Recognition and set it
+ Язык распознавания не задан. Задайте его в Настройки->Распознавание
+
+
+
+ No translators enabled. Go to Settings->Translation and select some
+ Не выбран ни один переводчик. Активируйте хотя бы один в Настройки->Перевод
+
+
+
+ Translation language not set. Go to Settings->Translation and set it
+ Язык перевода не задан. Задайте его в Настройки->Перевод
+
+
+ Failed to set log file: %1Ошибка установки лог-файла: %1
-
+ Started logging to file: %1Начата запись в лог-файл: %1
@@ -1149,12 +1169,7 @@ Then set default recognition and translation languages, enable some (or all) tra
Адрес:
-
- No translators selected. Check settings
- Нет выбранных переводчиков. Проверьте настройки
-
-
-
+ No translators loaded from
%1
(%2)
@@ -1163,7 +1178,7 @@ Then set default recognition and translation languages, enable some (or all) tra
(%2)
-
+ All translators failed
%1Не удалось перевести текст
diff --git a/src/manager.cpp b/src/manager.cpp
index b63f294..219ee2a 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -121,6 +121,26 @@ void Manager::updateSettings()
representer_->updateSettings();
tray_->setCaptureLockedEnabled(capturer_->canCaptureLocked());
+
+ if (models_->sourceLanguageModel()->rowCount() == 0) {
+ fatalError(
+ QObject::tr("No recognition languages available. Install some via "
+ "Settings->Updates"));
+ }
+ if (settings_->sourceLanguage.isEmpty()) {
+ fatalError(
+ QObject::tr("Recognition language not set. Go to Settings->Recognition "
+ "and set it"));
+ }
+ if (settings_->doTranslation && settings_->translators.isEmpty()) {
+ fatalError(QObject::tr(
+ "No translators enabled. Go to Settings->Translation and select some"));
+ }
+ if (settings_->doTranslation && settings_->targetLanguage.isEmpty()) {
+ fatalError(
+ QObject::tr("Translation language not set. Go to Settings->Translation "
+ "and set it"));
+ }
}
void Manager::setupProxy(const Settings &settings)
diff --git a/src/translate/translator.cpp b/src/translate/translator.cpp
index e76db86..ce6b061 100644
--- a/src/translate/translator.cpp
+++ b/src/translate/translator.cpp
@@ -128,10 +128,8 @@ void Translator::updateSettings()
}
tabs_->blockSignals(false);
- if (settings_.translators.empty()) {
- manager_.fatalError(tr("No translators selected. Check settings"));
+ if (settings_.translators.empty())
return;
- }
const auto loaded =
loadScripts(settings_.translatorsDir, settings_.translators);