src/eric7/i18n/eric7_es.ts

branch
eric7
changeset 10405
df7e1694d0eb
parent 10401
a68f6ac72783
child 10406
27b7580aa784
--- a/src/eric7/i18n/eric7_es.ts	Tue Dec 12 16:43:51 2023 +0100
+++ b/src/eric7/i18n/eric7_es.ts	Wed Dec 13 15:54:55 2023 +0100
@@ -66714,18 +66714,18 @@
       <translation>Éxito</translation>
     </message>
     <message>
-      <location filename="../Testing/Interfaces/PytestExecutor.py" line="279" />
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="312" />
       <source>Error</source>
       <translation>Error</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 en {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 en {0}: {1}</translation>
@@ -76328,7 +76328,7 @@
       <translation>Seleccionar acción del menú</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>Quick Commit</translation>
@@ -76349,216 +76349,216 @@
       <translation>Pulsar para hacer commit de las entradas marcadas</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="195" />
+      <location filename="../VCS/StatusWidget.py" line="197" />
       <source>added</source>
       <translation>añadido</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="196" />
-      <source>modified</source>
-      <translation>modificado</translation>
-    </message>
-    <message>
-      <location filename="../VCS/StatusWidget.py" line="197" />
-      <source>removed</source>
-      <translation>eliminado</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="198" />
-      <source>renamed</source>
-      <translation>renombrado</translation>
+      <source>modified</source>
+      <translation>modificado</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="199" />
-      <source>needs update</source>
-      <translation>necesita actualización</translation>
+      <source>removed</source>
+      <translation>eliminado</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="200" />
-      <source>conflict</source>
-      <translation>conflicto</translation>
+      <source>renamed</source>
+      <translation>renombrado</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="201" />
-      <source>not tracked</source>
-      <translation>sin seguimiento</translation>
+      <source>needs update</source>
+      <translation>necesita actualización</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="202" />
+      <source>conflict</source>
+      <translation>conflicto</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="203" />
+      <source>not tracked</source>
+      <translation>sin seguimiento</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="204" />
       <source>missing</source>
       <translation>perdido</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>Commit</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="234" />
-      <source>Commit the marked entries with options</source>
-      <translation>Hacer commit de las entradas marcadas con opciones</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="236" />
+      <source>Commit the marked entries with options</source>
+      <translation>Hacer commit de las entradas marcadas con opciones</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="238" />
       <source>Select all for commit</source>
       <translation>Seleccionar todo para hacer commit</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="239" />
+      <location filename="../VCS/StatusWidget.py" line="241" />
       <source>Unselect all from commit</source>
       <translation>Quitar selección de todo del commit</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>Añadir</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="247" />
-      <source>Add the selected, untracked entries</source>
-      <translation>Añadir las entradas sin seguimiento seleccionadas</translation>
-    </message>
-    <message>
       <location filename="../VCS/StatusWidget.py" line="249" />
-      <source>Add All</source>
-      <translation>Añadir todo</translation>
+      <source>Add the selected, untracked entries</source>
+      <translation>Añadir las entradas sin seguimiento seleccionadas</translation>
     </message>
     <message>
       <location filename="../VCS/StatusWidget.py" line="251" />
+      <source>Add All</source>
+      <translation>Añadir todo</translation>
+    </message>
+    <message>
+      <location filename="../VCS/StatusWidget.py" line="253" />
       <source>Add all untracked entries</source>
       <translation>Añadir todas las entradas sin seguimiento</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>Diferencias</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>Muestra las diferencias de la entrada seleccionada en un diálogo aparte</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>Diferencias Lado A Lado</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>Muestra las diferencias de la entrada seleccionada lado a lado en un diálogo aparte</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="273" />
+      <location filename="../VCS/StatusWidget.py" line="275" />
       <source>All Differences</source>
       <translation>Todas las Diferencias</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>Muestra las diferencias de todas las entradas en un diálogo separado</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>Revertir</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>Revierte los cambios en los archivos seleccionados</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>Olvidar elementos perdidos</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>Olvida los archivos perdidos seleccionados</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>Restore sobre elementos perdidos</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>Aplica restore sobre los archivos perdidos seleccionados</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="302" />
+      <location filename="../VCS/StatusWidget.py" line="304" />
       <source>Edit Conflict</source>
       <translation>Editar conflicto</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>Editar el archivo con conflictos seleccionado</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>Conflicto resuelto</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>Marcar los archivos con conflicto seleccionados como resuieltos</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="340" />
+      <location filename="../VCS/StatusWidget.py" line="342" />
       <source>No project open.</source>
       <translation>No hay un proyecto abierto.</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>No hay entradas seleccionads sobre las que hacer commit.</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>No hay entradas sin versionar disponibles/seleccionadas.</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>No hay cambios pendientes de commit disponibles/seleccionados.</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>Se debe seleccionar solamente un archivo con cambios sin commit.</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>No hay entradas perdidas disponibles/seleccionadas.</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>No hay entras con conflicto seleccionadas/disponibles.</translation>
     </message>
     <message>
-      <location filename="../VCS/StatusWidget.py" line="939" />
+      <location filename="../VCS/StatusWidget.py" line="941" />
       <source>Select your commit message:</source>
       <translation>Seleccionar mensaje de commit:</translation>
     </message>
@@ -84656,32 +84656,32 @@
   <context>
     <name>TestResultsModel</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="49" />
+      <location filename="../Testing/TestResultsTree.py" line="50" />
       <source>Status</source>
       <translation>Estado</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="50" />
-      <source>Name</source>
-      <translation>Nombre</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestResultsTree.py" line="51" />
-      <source>Message</source>
-      <translation>Mensaje</translation>
+      <source>Name</source>
+      <translation>Nombre</translation>
     </message>
     <message>
       <location filename="../Testing/TestResultsTree.py" line="52" />
+      <source>Message</source>
+      <translation>Mensaje</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="53" />
       <source>Duration [ms]</source>
       <translation>Duración [ms]</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="400" />
+      <location filename="../Testing/TestResultsTree.py" line="401" />
       <source>No results to show</source>
       <translation>No hay resultados que mostrar</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>Recogidos %n test</numerusform>
@@ -84689,7 +84689,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 test/subtest en total, {0} fallado(s) {1} pasado(s), {2} ignorado(a), {3} pendiente(s)</numerusform>
@@ -84700,29 +84700,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="597" />
+      <location filename="../Testing/TestResultsTree.py" line="653" />
       <source>Collapse</source>
       <translation>Contraer</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="599" />
+      <location filename="../Testing/TestResultsTree.py" line="655" />
       <source>Expand</source>
       <translation>Expandir</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="660" />
       <source>Show Source</source>
       <translation>Mostrar código fuente</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>Contraer Todo</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>Expandir Todo</translation>
     </message>
@@ -84730,164 +84730,199 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show Output...</source>
-      <translation>Mostrar Salida...</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="107" />
-      <source>Show the output of the test runner process</source>
-      <translation>Mostrar la salida del proceso de ejecución del test</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;Mostrar Salida...&lt;/b&lt;p&gt;Este botón abre un diálogo que contiene la salida del proceso de ejecución del  test en la ejecución más reciente.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show Coverage...</source>
-      <translation>Mostrar Cobertura...</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="121" />
-      <source>Show code coverage in a new dialog</source>
-      <translation>Mostrar la cobertura de código en un nuevo diálogo</translation>
+      <location filename="../Testing/TestingWidget.py" line="120" />
+      <source>&lt;all&gt;</source>
+      <translation type="unfinished">&lt;all&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;Mostrar Cobertura...&lt;/b&gt;&lt;p&gt;Este botón abre un diálogo que contiene los datos recogidos sobre cobertura de código.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="132" />
-      <source>Start</source>
-      <translation>Comenzar</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="135" />
-      <source>Start the selected testsuite</source>
-      <translation>Comenzar la suite de tests seleccionada</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;Comenzar Test&lt;/b&gt;&lt;p&gt;Este botón inicia la ejecución del test.&lt;/p&gt;</translation>
+      <source>Show Output...</source>
+      <translation>Mostrar Salida...</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="127" />
+      <source>Show the output of the test runner process</source>
+      <translation>Mostrar la salida del proceso de ejecución del test</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;Mostrar Salida...&lt;/b&lt;p&gt;Este botón abre un diálogo que contiene la salida del proceso de ejecución del  test en la ejecución más reciente.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="138" />
+      <source>Show Coverage...</source>
+      <translation>Mostrar Cobertura...</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Rerun Failed</source>
-      <translation>Re-ejecución Fallida</translation>
+      <source>Show code coverage in a new dialog</source>
+      <translation>Mostrar la cobertura de código en un nuevo diálogo</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;Mostrar Cobertura...&lt;/b&gt;&lt;p&gt;Este botón abre un diálogo que contiene los datos recogidos sobre cobertura de código.&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>Comenzar</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;Comenzar Test&lt;/b&gt;&lt;p&gt;Este botón inicia la ejecución del test.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="172" />
+      <source>Rerun Failed</source>
+      <translation>Re-ejecución Fallida</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="175" />
       <source>Reruns failed tests of the selected testsuite</source>
       <translation>La re-ejecución ha fallado tests del testsuite seleccionado</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;Re-ejecución Fallida&lt;/b&gt;&lt;p&gt;Este botón re-ejecuta todos los tests fallidos de la ejecución de test más reciente.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="155" />
+      <location filename="../Testing/TestingWidget.py" line="186" />
       <source>Stop</source>
       <translation>Detener</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="157" />
+      <location filename="../Testing/TestingWidget.py" line="188" />
       <source>Stop the running test</source>
       <translation>Detener el test en ejecución</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;Detener Test&lt;/b&gt;&lt;p&gt;Este botón detiene un test en ejecución.&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>Testando</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} (no disponible)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="584" />
-      <source>Running</source>
-      <translation>Ejecutando</translation>
-    </message>
-    <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
-      <source>Python3 Files ({0});;All Files (*)</source>
-      <translation>Archivos de Python3 ({0});;Todos los Archivos (*)</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="647" />
+      <source>Running</source>
+      <translation>Ejecutando</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="717" />
+      <source>Python3 Files ({0});;All Files (*)</source>
+      <translation>Archivos de Python3 ({0});;Todos los Archivos (*)</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="722" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Archivos Python (*.py);;Todos los Archivos (*)</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;Versiones de los Frameworks y sus correspondientes Plugins&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>No hay información de versión disponible.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="831" />
+      <location filename="../Testing/TestingWidget.py" line="908" />
       <source>Versions</source>
       <translation>Versiones</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>Preparando Suite de Tests</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>pendiente</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="1091" />
       <source>Failure</source>
       <translation>Fallo</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>Error de Recolección</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;Ha habido un error mientras se recolectaban los tests.&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>en ejecución</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>Ejecutado %n test en {0}s</numerusform>
@@ -84895,7 +84930,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>Ejecutado %n test</numerusform>
@@ -84903,15 +84938,32 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1077" />
+      <location filename="../Testing/TestingWidget.py" line="1210" />
       <source>not run</source>
       <translation>no ejecutado</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1120" />
+      <location filename="../Testing/TestingWidget.py" line="1253" />
       <source>Test Run Output</source>
       <translation>Salida de Ejecución de Test</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>
@@ -85078,6 +85130,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>Resultados</translation>
@@ -85114,9 +85171,27 @@
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Status Filter:</source>
+      <translation type="unfinished">Filtro de Estado:</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>Desocupado</translation>
     </message>
+    <message>
+      <source>Select the status of items to be shown (empty for all).</source>
+      <translation type="vanished">Seleccionar el estado de elementos a mostrar (vacío para todos).</translation>
+    </message>
+    <message>
+      <source>Start the selected testsuite</source>
+      <translation type="vanished">Comenzar la suite de tests seleccionada</translation>
+    </message>
   </context>
   <context>
     <name>ThemeManager</name>
@@ -96393,7 +96468,7 @@
       <translation>Renombrar Entorno Virtual</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>
@@ -96409,12 +96484,12 @@
       <translation>¿Desea borrar estos entornos virtuales?</translation>
     </message>
     <message>
-      <location filename="../VirtualEnv/VirtualenvManager.py" line="465" />
+      <location filename="../VirtualEnv/VirtualenvManager.py" line="466" />
       <source>Remove Virtual Environments</source>
       <translation>Eliminar Entornos Virtuales</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>¿Desea eliminar estos entornos virtuales?</translation>
     </message>

eric ide

mercurial