Added force rotate translators option.
This commit is contained in:
		
							parent
							
								
									fe16cbe669
								
							
						
					
					
						commit
						4499e94c44
					
				@ -31,6 +31,7 @@ namespace settings_names {
 | 
			
		||||
  const QString translationGroup = "Translation";
 | 
			
		||||
  const QString doTranslation = "doTranslation";
 | 
			
		||||
  const QString ignoreSslErrors = "ignoreSslErrors";
 | 
			
		||||
  const QString forceRotateTranslators = "forceRotateTranslators";
 | 
			
		||||
  const QString sourceLanguage = "source_language";
 | 
			
		||||
  const QString translationLanguage = "translation_language";
 | 
			
		||||
  const QString translationTimeout = "translation_timeout";
 | 
			
		||||
@ -69,6 +70,7 @@ namespace settings_values {
 | 
			
		||||
  //! Translation
 | 
			
		||||
  const bool doTranslation = true;
 | 
			
		||||
  const bool ignoreSslErrors = false;
 | 
			
		||||
  const bool forceRotateTranslators = false;
 | 
			
		||||
  const QString sourceLanguage = "auto";
 | 
			
		||||
  const QString translationLanguage = "ru";
 | 
			
		||||
  const int translationTimeout = 15; // secs
 | 
			
		||||
 | 
			
		||||
@ -129,6 +129,7 @@ void SettingsEditor::saveSettings () const {
 | 
			
		||||
  settings.beginGroup (translationGroup);
 | 
			
		||||
  settings.setValue (doTranslation, ui->doTranslationCheck->isChecked ());
 | 
			
		||||
  settings.setValue (ignoreSslErrors, ui->ignoreSslCheck->isChecked ());
 | 
			
		||||
  settings.setValue (forceRotateTranslators, ui->forceRotateCheck->isChecked ());
 | 
			
		||||
  settings.setValue (translationDebugMode, ui->translatorDebugCheck->isChecked ());
 | 
			
		||||
  QString trLanguage = dictionary_.translateUiToCode (ui->translateLangCombo->currentText ());
 | 
			
		||||
  settings.setValue (translationLanguage, trLanguage);
 | 
			
		||||
@ -218,6 +219,7 @@ void SettingsEditor::loadSettings () {
 | 
			
		||||
  settings.beginGroup (settings_names::translationGroup);
 | 
			
		||||
  ui->doTranslationCheck->setChecked (GET (doTranslation).toBool ());
 | 
			
		||||
  ui->ignoreSslCheck->setChecked (GET (ignoreSslErrors).toBool ());
 | 
			
		||||
  ui->forceRotateCheck->setChecked (GET (forceRotateTranslators).toBool ());
 | 
			
		||||
  ui->translatorDebugCheck->setChecked (GET (translationDebugMode).toBool ());
 | 
			
		||||
  QString trLanguage = dictionary_.translateCodeToUi (GET (translationLanguage).toString ());
 | 
			
		||||
  ui->translateLangCombo->setCurrentText (trLanguage);
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@
 | 
			
		||||
    <x>0</x>
 | 
			
		||||
    <y>0</y>
 | 
			
		||||
    <width>553</width>
 | 
			
		||||
    <height>456</height>
 | 
			
		||||
    <height>483</height>
 | 
			
		||||
   </rect>
 | 
			
		||||
  </property>
 | 
			
		||||
  <property name="windowTitle">
 | 
			
		||||
@ -378,24 +378,7 @@
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="0" column="1">
 | 
			
		||||
        <widget class="QCheckBox" name="translatorDebugCheck">
 | 
			
		||||
         <property name="toolTip">
 | 
			
		||||
          <string><html><head/><body><p>Отображает окно переводчика. Следует использовать только для разработки переводчиков.</p></body></html></string>
 | 
			
		||||
         </property>
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Режим отладки</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="0" column="2">
 | 
			
		||||
        <widget class="QCheckBox" name="ignoreSslCheck">
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Игнорировать ошибки SSL</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="1" column="0">
 | 
			
		||||
       <item row="3" column="0">
 | 
			
		||||
        <widget class="QLabel" name="label_9">
 | 
			
		||||
         <property name="toolTip">
 | 
			
		||||
          <string><html><head/><body><p>Максимальное время, которое может быть затрачено на перевод, чтобы он не считался &quot;зависшим&quot;.</p></body></html></string>
 | 
			
		||||
@ -405,14 +388,17 @@
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="1" column="1" colspan="2">
 | 
			
		||||
       <item row="3" column="1" colspan="2">
 | 
			
		||||
        <widget class="QSpinBox" name="translateTimeoutSpin">
 | 
			
		||||
         <property name="suffix">
 | 
			
		||||
          <string> сек.</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="2" column="0">
 | 
			
		||||
       <item row="4" column="1" colspan="2">
 | 
			
		||||
        <widget class="QComboBox" name="translateLangCombo"/>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="4" column="0">
 | 
			
		||||
        <widget class="QLabel" name="label_6">
 | 
			
		||||
         <property name="toolTip">
 | 
			
		||||
          <string><html><head/><body><p>Язык, на который осуществляется перевод.</p></body></html></string>
 | 
			
		||||
@ -425,10 +411,7 @@
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="2" column="1" colspan="2">
 | 
			
		||||
        <widget class="QComboBox" name="translateLangCombo"/>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="3" column="0" colspan="3">
 | 
			
		||||
       <item row="5" column="0" colspan="3">
 | 
			
		||||
        <widget class="QLabel" name="label_10">
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Переводчики:</string>
 | 
			
		||||
@ -438,7 +421,7 @@
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="4" column="0" colspan="3">
 | 
			
		||||
       <item row="6" column="0" colspan="3">
 | 
			
		||||
        <widget class="QListWidget" name="translatorList">
 | 
			
		||||
         <property name="toolTip">
 | 
			
		||||
          <string><html><head/><body><p>Отображены в порядке убывания приоритета.</p></body></html></string>
 | 
			
		||||
@ -454,6 +437,30 @@
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="0" column="1" colspan="2">
 | 
			
		||||
        <widget class="QCheckBox" name="translatorDebugCheck">
 | 
			
		||||
         <property name="toolTip">
 | 
			
		||||
          <string><html><head/><body><p>Отображает окно переводчика. Следует использовать только для разработки переводчиков.</p></body></html></string>
 | 
			
		||||
         </property>
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Режим отладки</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="1" column="0">
 | 
			
		||||
        <widget class="QCheckBox" name="ignoreSslCheck">
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Игнорировать ошибки SSL</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="1" column="1" colspan="2">
 | 
			
		||||
        <widget class="QCheckBox" name="forceRotateCheck">
 | 
			
		||||
         <property name="text">
 | 
			
		||||
          <string>Принудительно менять переводчики</string>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
      </layout>
 | 
			
		||||
     </widget>
 | 
			
		||||
    </widget>
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@
 | 
			
		||||
#include "Settings.h"
 | 
			
		||||
 | 
			
		||||
TranslatorHelper::TranslatorHelper ()
 | 
			
		||||
  : translatorsDir_ ("translators"), currentIndex_ (0) {
 | 
			
		||||
  : translatorsDir_ ("translators"), currentIndex_ (0), triesLeft_ (0) {
 | 
			
		||||
  translatorsDir_ = QApplication::applicationDirPath () + QDir::separator () + translatorsDir_;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -58,19 +58,25 @@ void TranslatorHelper::loadScripts () {
 | 
			
		||||
  scripts_ = enabledTranslatorScripts ();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TranslatorHelper::newItem () {
 | 
			
		||||
  currentIndex_ = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString TranslatorHelper::currentScript () const {
 | 
			
		||||
  return (currentIndex_ < scripts_.size () ? scripts_.at (currentIndex_) : QString ());
 | 
			
		||||
void TranslatorHelper::newItem (bool forceRotate) {
 | 
			
		||||
  triesLeft_ = scripts_.size ();
 | 
			
		||||
  currentIndex_ = forceRotate ? currentIndex_ + 1 : 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString TranslatorHelper::nextScript () {
 | 
			
		||||
  ++currentIndex_;
 | 
			
		||||
  --triesLeft_;
 | 
			
		||||
 | 
			
		||||
  if (++currentIndex_ >= scripts_.size ()) {
 | 
			
		||||
    currentIndex_ = 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return currentScript ();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString TranslatorHelper::currentScript () const {
 | 
			
		||||
  return (triesLeft_ > 0 ? scripts_.at (currentIndex_) : QString ());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TranslatorHelper::gotScripts () const {
 | 
			
		||||
  return !scripts_.isEmpty ();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -13,15 +13,16 @@ class TranslatorHelper {
 | 
			
		||||
    void setEnabledTranslators (const QStringList &enabled) const;
 | 
			
		||||
 | 
			
		||||
    void loadScripts ();
 | 
			
		||||
    void newItem ();
 | 
			
		||||
    QString currentScript () const;
 | 
			
		||||
    void newItem (bool forceRotate);
 | 
			
		||||
    QString nextScript ();
 | 
			
		||||
    QString currentScript () const;
 | 
			
		||||
    bool gotScripts () const;
 | 
			
		||||
 | 
			
		||||
  private:
 | 
			
		||||
    QString translatorsDir_;
 | 
			
		||||
    QStringList scripts_;
 | 
			
		||||
    int currentIndex_;
 | 
			
		||||
    int triesLeft_;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // TRANSLATORHELPER_H
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,8 @@ WebTranslator::WebTranslator ()
 | 
			
		||||
  : QObject (),
 | 
			
		||||
  proxy_ (new WebTranslatorProxy (this)), view_ (new QWebView),
 | 
			
		||||
  translatorHelper_ (new TranslatorHelper), isReady_ (true),
 | 
			
		||||
  ignoreSslErrors_ (settings_values::ignoreSslErrors){
 | 
			
		||||
  ignoreSslErrors_ (settings_values::ignoreSslErrors),
 | 
			
		||||
  forceRotateTranslators_ (settings_values::forceRotateTranslators) {
 | 
			
		||||
 | 
			
		||||
  view_->settings ()->setAttribute (QWebSettings::AutoLoadImages, false);
 | 
			
		||||
  view_->settings ()->setAttribute (QWebSettings::DeveloperExtrasEnabled, true);
 | 
			
		||||
@ -60,7 +61,7 @@ void WebTranslator::translate (ProcessingItem item) {
 | 
			
		||||
 | 
			
		||||
void WebTranslator::translateQueued () {
 | 
			
		||||
  if (isReady_ && !queue_.isEmpty ()) {
 | 
			
		||||
    translatorHelper_->newItem ();
 | 
			
		||||
    translatorHelper_->newItem (forceRotateTranslators_);
 | 
			
		||||
    proxy_->setItem (queue_.first ());
 | 
			
		||||
    if (!tryNextTranslator (true)) {
 | 
			
		||||
      return;
 | 
			
		||||
@ -145,7 +146,8 @@ void WebTranslator::applySettings () {
 | 
			
		||||
  bool debugMode = GET (translationDebugMode).toBool ();
 | 
			
		||||
  setDebugMode (debugMode);
 | 
			
		||||
 | 
			
		||||
  ignoreSslErrors_ = GET(ignoreSslErrors).toBool ();
 | 
			
		||||
  ignoreSslErrors_ = GET (ignoreSslErrors).toBool ();
 | 
			
		||||
  forceRotateTranslators_ = GET (forceRotateTranslators).toBool ();
 | 
			
		||||
#undef GET
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,6 +50,7 @@ class WebTranslator : public QObject {
 | 
			
		||||
    QVector<ProcessingItem> queue_;
 | 
			
		||||
    bool isReady_;
 | 
			
		||||
    bool ignoreSslErrors_;
 | 
			
		||||
    bool forceRotateTranslators_;
 | 
			
		||||
    QTimer translationTimeout_;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -736,27 +736,27 @@ Key modifiers what capturing :
 | 
			
		||||
        <translation>Result</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="50"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="49"/>
 | 
			
		||||
        <source>Распознать другой язык</source>
 | 
			
		||||
        <translation>Recognize another language</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="51"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="50"/>
 | 
			
		||||
        <source>Перевести на другой язык</source>
 | 
			
		||||
        <translation>Translate to another language</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="52"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="51"/>
 | 
			
		||||
        <source>Скопировать в буфер</source>
 | 
			
		||||
        <translation>Copy to clipboard</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="53"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="52"/>
 | 
			
		||||
        <source>Скопировать рисунок в буфер</source>
 | 
			
		||||
        <translation>Copy image to clibpoard</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="54"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="53"/>
 | 
			
		||||
        <source>Исправить распознанный текст</source>
 | 
			
		||||
        <translation>Correct recognized text</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -846,7 +846,7 @@ Key modifiers what capturing :
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="277"/>
 | 
			
		||||
        <location filename="../SettingsEditor.cpp" line="154"/>
 | 
			
		||||
        <location filename="../SettingsEditor.cpp" line="155"/>
 | 
			
		||||
        <source>Путь к tessdata</source>
 | 
			
		||||
        <translation>Tessdata path</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -990,52 +990,57 @@ Key modifiers what capturing :
 | 
			
		||||
        <translation>Translate text</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="384"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="443"/>
 | 
			
		||||
        <source><html><head/><body><p>Отображает окно переводчика. Следует использовать только для разработки переводчиков.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Displays translator's window. Should me used only for new translators development.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="387"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="446"/>
 | 
			
		||||
        <source>Режим отладки</source>
 | 
			
		||||
        <translation>Debug mode</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="394"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="453"/>
 | 
			
		||||
        <source>Игнорировать ошибки SSL</source>
 | 
			
		||||
        <translation>Ignore SSL errors</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="401"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="460"/>
 | 
			
		||||
        <source>Принудительно менять переводчики</source>
 | 
			
		||||
        <translation>Force rotate translators</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="384"/>
 | 
			
		||||
        <source><html><head/><body><p>Максимальное время, которое может быть затрачено на перевод, чтобы он не считался &quot;зависшим&quot;.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Max time of translation process.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="404"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="387"/>
 | 
			
		||||
        <source>Максимальное время перевода:</source>
 | 
			
		||||
        <translation>Max translation time:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="418"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="404"/>
 | 
			
		||||
        <source><html><head/><body><p>Язык, на который осуществляется перевод.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Translated text language.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="421"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="407"/>
 | 
			
		||||
        <source>Язык результата:</source>
 | 
			
		||||
        <translation>Translation language:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="434"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="417"/>
 | 
			
		||||
        <source>Переводчики:</source>
 | 
			
		||||
        <translation>Translators:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="411"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="394"/>
 | 
			
		||||
        <source> сек.</source>
 | 
			
		||||
        <translation>secs.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="444"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="427"/>
 | 
			
		||||
        <source><html><head/><body><p>Отображены в порядке убывания приоритета.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Sorted by priority descending.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -1451,17 +1456,17 @@ Change dirs permissions and try again or perform manual update.</translation>
 | 
			
		||||
<context>
 | 
			
		||||
    <name>WebTranslator</name>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="88"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="92"/>
 | 
			
		||||
        <source>Перевод отменен по таймауту.</source>
 | 
			
		||||
        <translation>Translation timed out.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="96"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="100"/>
 | 
			
		||||
        <source>Ошибка загрузки страницы (%1) для перевода.</source>
 | 
			
		||||
        <translation>Page (%1) load failed.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="140"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="144"/>
 | 
			
		||||
        <source>Нет сценариев для перевода. Измените настройки.</source>
 | 
			
		||||
        <translation>Not found any translators. Change settings.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
 | 
			
		||||
@ -741,27 +741,27 @@
 | 
			
		||||
        <translation>Результат</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="50"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="49"/>
 | 
			
		||||
        <source>Распознать другой язык</source>
 | 
			
		||||
        <translation>Распознать другой язык</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="51"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="50"/>
 | 
			
		||||
        <source>Перевести на другой язык</source>
 | 
			
		||||
        <translation>Перевести на другой язык</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="52"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="51"/>
 | 
			
		||||
        <source>Скопировать в буфер</source>
 | 
			
		||||
        <translation>Скопировать в буфер</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="53"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="52"/>
 | 
			
		||||
        <source>Скопировать рисунок в буфер</source>
 | 
			
		||||
        <translation>Скопировать рисунок в буфер</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="54"/>
 | 
			
		||||
        <location filename="../ResultDialog.cpp" line="53"/>
 | 
			
		||||
        <source>Исправить распознанный текст</source>
 | 
			
		||||
        <translation>Исправить распознанный текст</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -851,7 +851,7 @@
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="277"/>
 | 
			
		||||
        <location filename="../SettingsEditor.cpp" line="154"/>
 | 
			
		||||
        <location filename="../SettingsEditor.cpp" line="155"/>
 | 
			
		||||
        <source>Путь к tessdata</source>
 | 
			
		||||
        <translation>Путь к tessdata</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -995,52 +995,57 @@
 | 
			
		||||
        <translation>Переводить текст</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="384"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="443"/>
 | 
			
		||||
        <source><html><head/><body><p>Отображает окно переводчика. Следует использовать только для разработки переводчиков.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Отображает окно переводчика. Следует использовать только для разработки переводчиков.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="387"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="446"/>
 | 
			
		||||
        <source>Режим отладки</source>
 | 
			
		||||
        <translation>Режим отладки</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="394"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="453"/>
 | 
			
		||||
        <source>Игнорировать ошибки SSL</source>
 | 
			
		||||
        <translation>Игнорировать ошибки SSL</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="401"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="460"/>
 | 
			
		||||
        <source>Принудительно менять переводчики</source>
 | 
			
		||||
        <translation>Принудительно менять переводчики</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="384"/>
 | 
			
		||||
        <source><html><head/><body><p>Максимальное время, которое может быть затрачено на перевод, чтобы он не считался &quot;зависшим&quot;.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Максимальное время, которое может быть затрачено на перевод, чтобы он не считался &quot;зависшим&quot;.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="404"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="387"/>
 | 
			
		||||
        <source>Максимальное время перевода:</source>
 | 
			
		||||
        <translation>Максимальное время перевода:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="418"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="404"/>
 | 
			
		||||
        <source><html><head/><body><p>Язык, на который осуществляется перевод.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Язык, на который осуществляется перевод.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="421"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="407"/>
 | 
			
		||||
        <source>Язык результата:</source>
 | 
			
		||||
        <translation>Язык результата:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="434"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="417"/>
 | 
			
		||||
        <source>Переводчики:</source>
 | 
			
		||||
        <translation>Переводчики:</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="411"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="394"/>
 | 
			
		||||
        <source> сек.</source>
 | 
			
		||||
        <translation> сек.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="444"/>
 | 
			
		||||
        <location filename="../SettingsEditor.ui" line="427"/>
 | 
			
		||||
        <source><html><head/><body><p>Отображены в порядке убывания приоритета.</p></body></html></source>
 | 
			
		||||
        <translation><html><head/><body><p>Отображены в порядке убывания приоритета.</p></body></html></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
@ -1460,17 +1465,17 @@
 | 
			
		||||
<context>
 | 
			
		||||
    <name>WebTranslator</name>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="88"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="92"/>
 | 
			
		||||
        <source>Перевод отменен по таймауту.</source>
 | 
			
		||||
        <translation>Перевод отменен по таймауту.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="96"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="100"/>
 | 
			
		||||
        <source>Ошибка загрузки страницы (%1) для перевода.</source>
 | 
			
		||||
        <translation>Ошибка загрузки страницы (%1) для перевода.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="140"/>
 | 
			
		||||
        <location filename="../WebTranslator.cpp" line="144"/>
 | 
			
		||||
        <source>Нет сценариев для перевода. Измените настройки.</source>
 | 
			
		||||
        <translation>Нет сценариев для перевода. Измените настройки.</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user