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);