src/eric7/i18n/eric7_ru.ts

branch
eric7
changeset 10405
df7e1694d0eb
parent 10401
a68f6ac72783
child 10406
27b7580aa784
--- a/src/eric7/i18n/eric7_ru.ts	Tue Dec 12 16:43:51 2023 +0100
+++ b/src/eric7/i18n/eric7_ru.ts	Wed Dec 13 15:54:55 2023 +0100
@@ -66863,18 +66863,18 @@
       <translation>Успешное завершение</translation>
     </message>
     <message>
-      <location filename="../Testing/Interfaces/PytestExecutor.py" line="279" />
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="312" />
       <source>Error</source>
       <translation>Ошибка</translation>
     </message>
     <message>
-      <location filename="../Testing/Interfaces/PytestExecutor.py" line="288" />
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="321" />
       <source>ERROR at {0}: {1}</source>
       <comment>phase, message</comment>
       <translation>ERROR в {0}: {1}</translation>
     </message>
     <message>
-      <location filename="../Testing/Interfaces/PytestExecutor.py" line="291" />
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="324" />
       <source>ERROR at {0}: {1}</source>
       <comment>phase, extra text</comment>
       <translation>ERROR в {0}: {1}</translation>
@@ -76494,7 +76494,7 @@
       <translation>Выберите действие из меню</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="938" />
+      <location filename="../VCS/StatusWidget.py" line="940" />
       <location filename="../VCS/StatusWidget.py" line="136" />
       <source>Quick Commit</source>
       <translation>Быстрая фиксация</translation>
@@ -76515,216 +76515,216 @@
       <translation>Фиксировать отмеченные записи</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="195" />
+      <location filename="../VCS/StatusWidget.py" line="197" />
       <source>added</source>
       <translation>добавлено</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="196" />
-      <source>modified</source>
-      <translation>изменено</translation>
-    </message>
-    <message>
-      <location filename="../VCS/StatusWidget.py" line="197" />
-      <source>removed</source>
-      <translation>удалено</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="198" />
-      <source>renamed</source>
-      <translation>переименовано</translation>
+      <source>modified</source>
+      <translation>изменено</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="199" />
-      <source>needs update</source>
-      <translation>нуждается в обновлении</translation>
+      <source>removed</source>
+      <translation>удалено</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="200" />
-      <source>conflict</source>
-      <translation>конфликт</translation>
+      <source>renamed</source>
+      <translation>переименовано</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="201" />
-      <source>not tracked</source>
-      <translation>не отслеживается</translation>
+      <source>needs update</source>
+      <translation>нуждается в обновлении</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="202" />
+      <source>conflict</source>
+      <translation>конфликт</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="203" />
+      <source>not tracked</source>
+      <translation>не отслеживается</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="204" />
       <source>missing</source>
       <translation>отсутствует</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="973" />
-      <location filename="../VCS/StatusWidget.py" line="507" />
-      <location filename="../VCS/StatusWidget.py" line="232" />
+      <location filename="../VCS/StatusWidget.py" line="975" />
+      <location filename="../VCS/StatusWidget.py" line="509" />
+      <location filename="../VCS/StatusWidget.py" line="234" />
       <source>Commit</source>
       <translation>Фиксировать</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="234" />
-      <source>Commit the marked entries with options</source>
-      <translation>Фиксация отмеченных записей с опциями</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="236" />
+      <source>Commit the marked entries with options</source>
+      <translation>Фиксация отмеченных записей с опциями</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="238" />
       <source>Select all for commit</source>
       <translation>Выбрать все для фиксации</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="239" />
+      <location filename="../VCS/StatusWidget.py" line="241" />
       <source>Unselect all from commit</source>
       <translation>Отменить все выбранное для фиксации</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="566" />
-      <location filename="../VCS/StatusWidget.py" line="245" />
+      <location filename="../VCS/StatusWidget.py" line="568" />
+      <location filename="../VCS/StatusWidget.py" line="247" />
       <source>Add</source>
       <translation>Добавить</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="247" />
-      <source>Add the selected, untracked entries</source>
-      <translation>Добавить выбранные, неотслеживаемые записи</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="249" />
-      <source>Add All</source>
-      <translation>Добавить все</translation>
+      <source>Add the selected, untracked entries</source>
+      <translation>Добавить выбранные, неотслеживаемые записи</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="251" />
+      <source>Add All</source>
+      <translation>Добавить все</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="253" />
       <source>Add all untracked entries</source>
       <translation>Добавить все неотслеживаемые записи</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="773" />
-      <location filename="../VCS/StatusWidget.py" line="256" />
+      <location filename="../VCS/StatusWidget.py" line="775" />
+      <location filename="../VCS/StatusWidget.py" line="258" />
       <source>Differences</source>
       <translation>Различия</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="259" />
+      <location filename="../VCS/StatusWidget.py" line="261" />
       <source>Shows the differences of the selected entry in a separate dialog</source>
       <translation>Отображение различий выбранных записей в отдельном диалоге</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="809" />
-      <location filename="../VCS/StatusWidget.py" line="802" />
-      <location filename="../VCS/StatusWidget.py" line="263" />
+      <location filename="../VCS/StatusWidget.py" line="811" />
+      <location filename="../VCS/StatusWidget.py" line="804" />
+      <location filename="../VCS/StatusWidget.py" line="265" />
       <source>Differences Side-By-Side</source>
       <translation>Различия построчно</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="267" />
+      <location filename="../VCS/StatusWidget.py" line="269" />
       <source>Shows the differences of the selected entry side-by-side in a separate dialog</source>
       <translation>Отображение различий выбранных записей построчно в отдельном диалоге</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="273" />
+      <location filename="../VCS/StatusWidget.py" line="275" />
       <source>All Differences</source>
       <translation>Все различия</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="276" />
+      <location filename="../VCS/StatusWidget.py" line="278" />
       <source>Shows the differences of all entries in a separate dialog</source>
       <translation>Отображение различий всех записей в отдельном диалоге</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="834" />
-      <location filename="../VCS/StatusWidget.py" line="282" />
+      <location filename="../VCS/StatusWidget.py" line="836" />
+      <location filename="../VCS/StatusWidget.py" line="284" />
       <source>Revert</source>
       <translation>Отменить</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="285" />
+      <location filename="../VCS/StatusWidget.py" line="287" />
       <source>Reverts the changes of the selected files</source>
       <translation>Отменить изменения выбранных файлов</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="856" />
-      <location filename="../VCS/StatusWidget.py" line="291" />
+      <location filename="../VCS/StatusWidget.py" line="858" />
+      <location filename="../VCS/StatusWidget.py" line="293" />
       <source>Forget Missing</source>
       <translation>Забыть об утерянных</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="293" />
+      <location filename="../VCS/StatusWidget.py" line="295" />
       <source>Forgets about the selected missing files</source>
       <translation>Забыть об отмеченных утерянных файлах</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="878" />
-      <location filename="../VCS/StatusWidget.py" line="295" />
+      <location filename="../VCS/StatusWidget.py" line="880" />
+      <location filename="../VCS/StatusWidget.py" line="297" />
       <source>Restore Missing</source>
       <translation>Восстановить утерянные</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="297" />
+      <location filename="../VCS/StatusWidget.py" line="299" />
       <source>Restores the selected missing files</source>
       <translation>Восстановить выбранные утерянные файлы</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="302" />
+      <location filename="../VCS/StatusWidget.py" line="304" />
       <source>Edit Conflict</source>
       <translation>Редактировать конфликт</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="305" />
+      <location filename="../VCS/StatusWidget.py" line="307" />
       <source>Edit the selected conflicting file</source>
       <translation>Редактировать выбранный конфликтующий файл</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="913" />
-      <location filename="../VCS/StatusWidget.py" line="308" />
+      <location filename="../VCS/StatusWidget.py" line="915" />
+      <location filename="../VCS/StatusWidget.py" line="310" />
       <source>Conflict Resolved</source>
       <translation>Решенный конфликт</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="312" />
+      <location filename="../VCS/StatusWidget.py" line="314" />
       <source>Mark the selected conflicting file as resolved</source>
       <translation>Отметить выбранный конфликтующий файл как решенный</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="340" />
+      <location filename="../VCS/StatusWidget.py" line="342" />
       <source>No project open.</source>
       <translation>Проект не открыт.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="974" />
-      <location filename="../VCS/StatusWidget.py" line="508" />
+      <location filename="../VCS/StatusWidget.py" line="976" />
+      <location filename="../VCS/StatusWidget.py" line="510" />
       <source>There are no entries selected to be committed.</source>
       <translation>Не выбраны записи для фиксации.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="567" />
+      <location filename="../VCS/StatusWidget.py" line="569" />
       <source>There are no unversioned entries available/selected.</source>
       <translation>Нет доступных/выбранных неверсированных записей.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="835" />
-      <location filename="../VCS/StatusWidget.py" line="803" />
-      <location filename="../VCS/StatusWidget.py" line="774" />
+      <location filename="../VCS/StatusWidget.py" line="837" />
+      <location filename="../VCS/StatusWidget.py" line="805" />
+      <location filename="../VCS/StatusWidget.py" line="776" />
       <source>There are no uncommitted changes available/selected.</source>
       <translation>Нет доступных/выбранных нефиксированных изменений.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="810" />
+      <location filename="../VCS/StatusWidget.py" line="812" />
       <source>Only one file with uncommitted changes must be selected.</source>
       <translation>Должен быть выбран только один файл незафиксированных изменений.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="879" />
-      <location filename="../VCS/StatusWidget.py" line="857" />
+      <location filename="../VCS/StatusWidget.py" line="881" />
+      <location filename="../VCS/StatusWidget.py" line="859" />
       <source>There are no missing entries available/selected.</source>
       <translation>Нет доступных/выделенных утерянных записей.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="914" />
+      <location filename="../VCS/StatusWidget.py" line="916" />
       <source>There are no conflicting entries available/selected.</source>
       <translation>Нет доступных/выделенных конфликтующих записей.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="939" />
+      <location filename="../VCS/StatusWidget.py" line="941" />
       <source>Select your commit message:</source>
       <translation>Выберите сообщение фиксации:</translation>
     </message>
@@ -84832,32 +84832,32 @@
   <context>
     <name>TestResultsModel</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="49" />
+      <location filename="../Testing/TestResultsTree.py" line="50" />
       <source>Status</source>
       <translation>Статус</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="50" />
-      <source>Name</source>
-      <translation>Имя</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestResultsTree.py" line="51" />
-      <source>Message</source>
-      <translation>Сообщение</translation>
+      <source>Name</source>
+      <translation>Имя</translation>
     </message>
     <message>
       <location filename="../Testing/TestResultsTree.py" line="52" />
+      <source>Message</source>
+      <translation>Сообщение</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="53" />
       <source>Duration [ms]</source>
       <translation>Длительность [mсек]</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="400" />
+      <location filename="../Testing/TestResultsTree.py" line="401" />
       <source>No results to show</source>
       <translation>Нет результатов для отображения</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="411" />
+      <location filename="../Testing/TestResultsTree.py" line="412" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>Собран %n тест</numerusform>
@@ -84866,7 +84866,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="413" />
+      <location filename="../Testing/TestResultsTree.py" line="414" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>Всего %n тест/субтест, {0} не пройдено, {1} пройдено, {2} пропущено, {3} ожидает</numerusform>
@@ -84878,29 +84878,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="597" />
+      <location filename="../Testing/TestResultsTree.py" line="653" />
       <source>Collapse</source>
       <translation>Свернуть</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="599" />
+      <location filename="../Testing/TestResultsTree.py" line="655" />
       <source>Expand</source>
       <translation>Развернуть</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="660" />
       <source>Show Source</source>
       <translation>Показать источник</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="622" />
-      <location filename="../Testing/TestResultsTree.py" line="609" />
+      <location filename="../Testing/TestResultsTree.py" line="678" />
+      <location filename="../Testing/TestResultsTree.py" line="665" />
       <source>Collapse All</source>
       <translation>Свернуть все</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="623" />
-      <location filename="../Testing/TestResultsTree.py" line="610" />
+      <location filename="../Testing/TestResultsTree.py" line="679" />
+      <location filename="../Testing/TestResultsTree.py" line="666" />
       <source>Expand All</source>
       <translation>Развернуть все</translation>
     </message>
@@ -84908,164 +84908,199 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show Output...</source>
-      <translation>Показать вывод...</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="107" />
-      <source>Show the output of the test runner process</source>
-      <translation>Показать вывод процесса прогона тестов</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="110" />
-      <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Показать вывод...&lt;/b&lt;p&gt;Эта кнопка открывает диалоговое окно, содержащее выходные данные самого последнего запуска процесса выполнения тестов.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show Coverage...</source>
-      <translation>Показать покрытие...</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="121" />
-      <source>Show code coverage in a new dialog</source>
-      <translation>Показать покрытие кода в новом диалоге</translation>
+      <location filename="../Testing/TestingWidget.py" line="120" />
+      <source>&lt;all&gt;</source>
+      <translation type="unfinished">&lt;все&gt;</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="124" />
-      <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Показать покрытие...&lt;/b&gt;&lt;p&gt;Эта кнопка открывает диалоговое окно, содержащее собранные данные о покрытии кода.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="132" />
-      <source>Start</source>
-      <translation>Запустить</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="135" />
-      <source>Start the selected testsuite</source>
-      <translation>Запустить выбранный набор тестов</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="137" />
-      <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Запустить тест&lt;/b&gt;&lt;p&gt;Кнопка запуска выполнения теста.&lt;/p&gt;</translation>
+      <source>Show Output...</source>
+      <translation>Показать вывод...</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="127" />
+      <source>Show the output of the test runner process</source>
+      <translation>Показать вывод процесса прогона тестов</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="130" />
+      <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Показать вывод...&lt;/b&lt;p&gt;Эта кнопка открывает диалоговое окно, содержащее выходные данные самого последнего запуска процесса выполнения тестов.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="138" />
+      <source>Show Coverage...</source>
+      <translation>Показать покрытие...</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Rerun Failed</source>
-      <translation>Повторить неудачные</translation>
+      <source>Show code coverage in a new dialog</source>
+      <translation>Показать покрытие кода в новом диалоге</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Показать покрытие...&lt;/b&gt;&lt;p&gt;Эта кнопка открывает диалоговое окно, содержащее собранные данные о покрытии кода.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="152" />
+      <source>Discover</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="154" />
+      <source>Discover Tests</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="156" />
+      <source>&lt;b&gt;Discover Tests&lt;/b&gt;&lt;p&gt;This button starts a discovery of available tests.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="163" />
+      <source>Start</source>
+      <translation>Запустить</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="166" />
+      <source>Start the selected test suite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="168" />
+      <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Запустить тест&lt;/b&gt;&lt;p&gt;Кнопка запуска выполнения теста.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="172" />
+      <source>Rerun Failed</source>
+      <translation>Повторить неудачные</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="175" />
       <source>Reruns failed tests of the selected testsuite</source>
       <translation>Повторить неудачные тесты выбранного набора тестов</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="147" />
+      <location filename="../Testing/TestingWidget.py" line="178" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Повторить неудачные&lt;/b&gt;&lt;p&gt;Повторно запускает все неудачные тесты самого последнего запуска теста.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="155" />
+      <location filename="../Testing/TestingWidget.py" line="186" />
       <source>Stop</source>
       <translation>Остановить</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="157" />
+      <location filename="../Testing/TestingWidget.py" line="188" />
       <source>Stop the running test</source>
       <translation>Остановить работающий тест</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="159" />
+      <location filename="../Testing/TestingWidget.py" line="190" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Остановить тест&lt;/b&gt;&lt;p&gt;Эта кнопка отстанавливает работающий тест.&lt;/p&gt;</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="166" />
+      <location filename="../Testing/TestingWidget.py" line="197" />
       <source>Testing</source>
       <translation>Тестирование</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="174" />
+      <location filename="../Testing/TestingWidget.py" line="205" />
       <source>&lt;project&gt;</source>
       <translation>&lt;project&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="289" />
+      <location filename="../Testing/TestingWidget.py" line="320" />
       <source>{0} (not available)</source>
       <translation>{0} (недоступно)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="584" />
-      <source>Running</source>
-      <translation>Выполнение</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
-      <source>Python3 Files ({0});;All Files (*)</source>
-      <translation>Файлы Python3 ({0});;Все файлы (*)</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="647" />
+      <source>Running</source>
+      <translation>Выполнение</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="717" />
+      <source>Python3 Files ({0});;All Files (*)</source>
+      <translation>Файлы Python3 ({0});;Все файлы (*)</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="722" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Файлы Python (*.py);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="805" />
+      <location filename="../Testing/TestingWidget.py" line="882" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Версии фреймворков и их плагинов&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="819" />
+      <location filename="../Testing/TestingWidget.py" line="896" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="828" />
+      <location filename="../Testing/TestingWidget.py" line="905" />
       <source>No version information available.</source>
       <translation>Информация о версии недоступна.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="831" />
+      <location filename="../Testing/TestingWidget.py" line="908" />
       <source>Versions</source>
       <translation>Версии</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="868" />
+      <location filename="../Testing/TestingWidget.py" line="926" />
+      <source>Discovering Tests</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="985" />
       <source>Preparing Testsuite</source>
       <translation>Подготовка набора тестов</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="931" />
+      <location filename="../Testing/TestingWidget.py" line="1000" />
+      <source>Running Tests</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="1001" />
+      <source>No test case has been selected. Shall all test cases be run?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="1060" />
       <source>pending</source>
       <translation>ожидает</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="1091" />
       <source>Failure</source>
       <translation>Сбой</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="970" />
-      <location filename="../Testing/TestingWidget.py" line="963" />
+      <location filename="../Testing/TestingWidget.py" line="1101" />
+      <location filename="../Testing/TestingWidget.py" line="1094" />
       <source>Collection Error</source>
       <translation>Ошибка сборки</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="971" />
+      <location filename="../Testing/TestingWidget.py" line="1102" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;При сборке тестов произошла ошибка.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="993" />
+      <location filename="../Testing/TestingWidget.py" line="1124" />
       <source>running</source>
       <translation>выполнение</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1044" />
+      <location filename="../Testing/TestingWidget.py" line="1176" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Выполнен %n тест за {0} сек</numerusform>
@@ -85074,7 +85109,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1056" />
+      <location filename="../Testing/TestingWidget.py" line="1188" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Выполнен %n тест</numerusform>
@@ -85083,15 +85118,32 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1077" />
+      <location filename="../Testing/TestingWidget.py" line="1210" />
       <source>not run</source>
       <translation>не выполнено</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1120" />
+      <location filename="../Testing/TestingWidget.py" line="1253" />
       <source>Test Run Output</source>
       <translation>Выходные данные прогона теста</translation>
     </message>
+    <message numerus="yes">
+      <location filename="../Testing/TestingWidget.py" line="1429" />
+      <source>Discovered %n Test(s)</source>
+      <translation type="unfinished">
+        <numerusform />
+      </translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="1442" />
+      <source>Discovery Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="1443" />
+      <source>&lt;p&gt;There was an error while discovering tests in &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
       <source>Parameters</source>
@@ -85259,6 +85311,11 @@
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Discovery Results</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
       <location filename="../Testing/TestingWidget.ui" line="0" />
       <source>Results</source>
       <translation>Результаты</translation>
@@ -85295,9 +85352,27 @@
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Status Filter:</source>
+      <translation type="unfinished">Фильтр статуса:</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select the status of items to be shown.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
       <source>Idle</source>
       <translation>Отсутствие действий</translation>
     </message>
+    <message>
+      <source>Select the status of items to be shown (empty for all).</source>
+      <translation type="vanished">Выберите статус отображаемых элементов (&lt;все&gt; для всех).</translation>
+    </message>
+    <message>
+      <source>Start the selected testsuite</source>
+      <translation type="vanished">Запустить выбранный набор тестов</translation>
+    </message>
   </context>
   <context>
     <name>ThemeManager</name>
@@ -96630,7 +96705,7 @@
       <translation>Переименовать виртуальное окружение</translation>
     </message>
     <message>
-      <location filename="../VirtualEnv/VirtualenvManager.py" line="458" />
+      <location filename="../VirtualEnv/VirtualenvManager.py" line="459" />
       <location filename="../VirtualEnv/VirtualenvManager.py" line="393" />
       <source>{0} - {1}</source>
       <translation>{0} - {1}</translation>
@@ -96646,12 +96721,12 @@
       <translation>Вы действительно хотите удалить эти виртуальные окружения?</translation>
     </message>
     <message>
-      <location filename="../VirtualEnv/VirtualenvManager.py" line="465" />
+      <location filename="../VirtualEnv/VirtualenvManager.py" line="466" />
       <source>Remove Virtual Environments</source>
       <translation>Убрать виртуальные окружения из списка</translation>
     </message>
     <message>
-      <location filename="../VirtualEnv/VirtualenvManager.py" line="466" />
+      <location filename="../VirtualEnv/VirtualenvManager.py" line="467" />
       <source>Do you really want to remove these virtual environments?</source>
       <translation>Вы действительно хотите убрать эти виртуальные окружения из списка?</translation>
     </message>

eric ide

mercurial