--- 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><b>Show Output...</b<p>This button opens a dialog containing the output of the test runner process of the most recent run.</p></source> - <translation><b>Показать вывод...</b<p>Эта кнопка открывает диалоговое окно, содержащее выходные данные самого последнего запуска процесса выполнения тестов.</p></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><all></source> + <translation type="unfinished"><все></translation> </message> <message> <location filename="../Testing/TestingWidget.py" line="124" /> - <source><b>Show Coverage...</b><p>This button opens a dialog containing the collected code coverage data.</p></source> - <translation><b>Показать покрытие...</b><p>Эта кнопка открывает диалоговое окно, содержащее собранные данные о покрытии кода.</p></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><b>Start Test</b><p>This button starts the test run.</p></source> - <translation><b>Запустить тест</b><p>Кнопка запуска выполнения теста.</p></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><b>Show Output...</b<p>This button opens a dialog containing the output of the test runner process of the most recent run.</p></source> + <translation><b>Показать вывод...</b<p>Эта кнопка открывает диалоговое окно, содержащее выходные данные самого последнего запуска процесса выполнения тестов.</p></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><b>Show Coverage...</b><p>This button opens a dialog containing the collected code coverage data.</p></source> + <translation><b>Показать покрытие...</b><p>Эта кнопка открывает диалоговое окно, содержащее собранные данные о покрытии кода.</p></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><b>Discover Tests</b><p>This button starts a discovery of available tests.</p></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><b>Start Test</b><p>This button starts the test run.</p></source> + <translation><b>Запустить тест</b><p>Кнопка запуска выполнения теста.</p></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><b>Rerun Failed</b><p>This button reruns all failed tests of the most recent test run.</p></source> <translation><b>Повторить неудачные</b><p>Повторно запускает все неудачные тесты самого последнего запуска теста.</p></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><b>Stop Test</b><p>This button stops a running test.</p></source> <translation><b>Остановить тест</b><p>Эта кнопка отстанавливает работающий тест.</p></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><project></source> <translation><project></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><h3>Versions of Frameworks and their Plugins</h3></source> <translation><h3>Версии фреймворков и их плагинов</h3></translation> </message> <message> - <location filename="../Testing/TestingWidget.py" line="819" /> + <location filename="../Testing/TestingWidget.py" line="896" /> <source><tr><td>{0}</td><td>{1}</td></tr></source> <translation><tr><td>{0}</td><td>{1}</td></tr></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><p>There was an error while collecting tests.</p><p>{0}</p></source> <translation><p>При сборке тестов произошла ошибка.</p><p>{0}</p></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><p>There was an error while discovering tests in <b>{0}</b>.</p><p>{1}</p></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">Выберите статус отображаемых элементов (<все> для всех).</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>