]> sigrok.org Git - pulseview.git/commitdiff
Update Spanish translation to latest changes
authorhasecilu <redacted>
Sun, 24 Dec 2023 00:19:43 +0000 (18:19 -0600)
committerSoeren Apel <redacted>
Fri, 26 Jan 2024 22:39:46 +0000 (23:39 +0100)
Full review on the used terms to improve the consistency.

- This patch includes a lot of grammatical improvements.
- Finish the translation

l10n/es_MX.ts

index f5eb38f746fa53e9d34eb8e86595152f72508bd0..77afc7fe5e9be34e21582bdf667137ed570cb55d 100644 (file)
@@ -4,9 +4,9 @@
 <context>
     <name>Application</name>
     <message>
-        <location filename="../pv/application.cpp" line="129"/>
+        <location filename="../pv/application.cpp" line="137"/>
         <source>Some parts of the application may still use the previous language. Re-opening the affected windows or restarting the application will remedy this.</source>
-        <translation>Algunas partes de la aplicación podrían aún usar el idioma anterior. Volver a abrir las ventanas afectadas o reiniciar la aplicación solucionará esto.</translation>
+        <translation>Algunas partes de la aplicación podrían seguir usando el idioma anterior. Volver a abrir las ventanas afectadas o reiniciar la aplicación solucionará esto.</translation>
     </message>
 </context>
 <context>
@@ -35,7 +35,7 @@
 <context>
     <name>QHexView</name>
     <message>
-        <location filename="../pv/views/decoder_binary/QHexView.cpp" line="291"/>
+        <location filename="../pv/views/decoder_binary/QHexView.cpp" line="339"/>
         <source>No data available</source>
         <translation>Datos no disponibles</translation>
     </message>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../main.cpp" line="114"/>
+        <location filename="../main.cpp" line="116"/>
         <source>Stack trace of previous crash:</source>
-        <translation>Stack trace de crash previo:</translation>
+        <translation>Seguimiento de pila del fallo anterior:</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="128"/>
+        <location filename="../main.cpp" line="130"/>
         <source>Don&apos;t show this message again</source>
-        <translation>No mostrar este mensaje de nuevo</translation>
+        <translation>No volver a mostrar este mensaje</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="131"/>
+        <location filename="../main.cpp" line="133"/>
         <source>When %1 last crashed, it created a stack trace.
 A human-readable form has been saved to disk and was written to the log. You may access it from the settings dialog.</source>
-        <translation>Cuando %1 se bloqueó por última vez, creó un stack trace.\nSe guardó un formulario legible en el disco y fue escrito en el log. Puedes acceder a el desde el dialogo de configuración.</translation>
+        <translation>Cuando %1 se bloqueó por última vez, creó un seguimiento de pila.
+Se guardó un formulario legible para humanosen el disco y fue escrito en el log. Puedes acceder a el desde el dialogo de configuración.</translation>
     </message>
     <message>
         <location filename="../pv/devicemanager.cpp" line="65"/>
@@ -77,79 +78,80 @@ A human-readable form has been saved to disk and was written to the log. You may
         <translation>PulseView</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="279"/>
+        <location filename="../pv/mainwindow.cpp" line="284"/>
         <source>Decoder Selector</source>
         <translation>Selección de decodificador</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="332"/>
+        <location filename="../pv/mainwindow.cpp" line="337"/>
         <source>Session %1</source>
         <translation>Sesión %1</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="514"/>
+        <location filename="../pv/mainwindow.cpp" line="519"/>
         <source>Create New Session</source>
-        <translation>Crear Nueva Sesión</translation>
+        <translation>Crear nueva sesión</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="520"/>
+        <location filename="../pv/mainwindow.cpp" line="525"/>
         <source>Start/Stop Acquisition</source>
-        <translation>Iniciar/Detener Adquisición</translation>
+        <translation>Iniciar/Detener adquisición</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="528"/>
+        <location filename="../pv/mainwindow.cpp" line="533"/>
         <source>Settings</source>
-        <translation>Configuraciones</translation>
+        <translation>Ajustes</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="580"/>
+        <location filename="../pv/mainwindow.cpp" line="589"/>
         <source>Reload</source>
         <translation>Recargar</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="580"/>
-        <location filename="../pv/mainwindow.cpp" line="583"/>
+        <location filename="../pv/mainwindow.cpp" line="589"/>
+        <location filename="../pv/mainwindow.cpp" line="592"/>
         <source>Run</source>
         <translation>Ejecutar</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="589"/>
+        <location filename="../pv/mainwindow.cpp" line="598"/>
         <source>Stop</source>
         <translation>Detener</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="635"/>
-        <location filename="../pv/mainwindow.cpp" line="829"/>
-        <location filename="../pv/mainwindow.cpp" line="855"/>
+        <location filename="../pv/mainwindow.cpp" line="644"/>
+        <location filename="../pv/mainwindow.cpp" line="867"/>
+        <location filename="../pv/mainwindow.cpp" line="893"/>
         <source>Confirmation</source>
         <translation>Confirmación</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="636"/>
+        <location filename="../pv/mainwindow.cpp" line="645"/>
         <source>There is unsaved data. Close anyway?</source>
         <translation>Hay datos sin guardar. ¿Cerrar de todos modos?</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="830"/>
-        <location filename="../pv/mainwindow.cpp" line="856"/>
+        <location filename="../pv/mainwindow.cpp" line="868"/>
+        <location filename="../pv/mainwindow.cpp" line="894"/>
         <source>This session contains unsaved data. Close it anyway?</source>
-        <translation>Esta sesión contiene datos sin almacenar. ¿Cerrar de todos modos?</translation>
+        <translation>Esta sesión contiene datos sin guardar. ¿Cerrar de todos modos?</translation>
     </message>
 </context>
 <context>
     <name>pv::Session</name>
     <message>
-        <location filename="../pv/session.cpp" line="521"/>
+        <location filename="../pv/session.cpp" line="559"/>
         <source>Failed to select device</source>
+        <translatorcomment>Si en el panel &quot;Sources and forms&quot; la cadena de texto está dentro de &quot;show_session_error(tr(&quot;Failed to ...&quot;),e)&quot; traducir &quot;Failed &quot; como &quot;Error&quot;</translatorcomment>
         <translation>Error al seleccionar dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="578"/>
+        <location filename="../pv/session.cpp" line="616"/>
         <source>Failed to open device</source>
         <translation>Error al abrir dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="684"/>
+        <location filename="../pv/session.cpp" line="722"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
@@ -158,32 +160,37 @@ A human-readable form has been saved to disk and was written to the log. You may
         <translation type="vanished">Formato de entrada inesperado: %s</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="685"/>
+        <location filename="../pv/session.cpp" line="396"/>
+        <source>Can&apos;t restore generated signal of unknown type %1 (%2)</source>
+        <translation>No se puede restaurar la señal generada de tipo desconocido %1 ( %2)</translation>
+    </message>
+    <message>
+        <location filename="../pv/session.cpp" line="723"/>
         <source>Unexpected input format: %1</source>
         <translation>Formato de entrada inesperado: %1</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="720"/>
+        <location filename="../pv/session.cpp" line="758"/>
         <source>Failed to load %1</source>
         <translation>Error al cargar %1</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="759"/>
+        <location filename="../pv/session.cpp" line="797"/>
         <source>No active device set, can&apos;t start acquisition.</source>
         <translation>No hay un dispositivo activo configurado, no se puede iniciar la adquisición.</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="772"/>
+        <location filename="../pv/session.cpp" line="810"/>
         <source>No channels enabled.</source>
         <translation>No hay canales habilitados.</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="1261"/>
+        <location filename="../pv/session.cpp" line="1318"/>
         <source>Out of memory, acquisition stopped.</source>
         <translation>Sin memoria, la adquisición se detuvo.</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="1467"/>
+        <location filename="../pv/session.cpp" line="1525"/>
         <source>Can&apos;t handle more than 64 logic channels.</source>
         <translation>No puede manejar más de 64 canales lógicos.</translation>
     </message>
@@ -211,8 +218,9 @@ A human-readable form has been saved to disk and was written to the log. You may
         <translation>No se puede guardar el rango sin datos de muestra.</translation>
     </message>
     <message>
-        <location filename="../pv/storesession.cpp" line="188"/>
-        <location filename="../pv/storesession.cpp" line="295"/>
+        <location filename="../pv/storesession.cpp" line="191"/>
+        <location filename="../pv/storesession.cpp" line="298"/>
+        <location filename="../pv/storesession.cpp" line="313"/>
         <source>Error while saving: </source>
         <translation>Error al guardar: </translation>
     </message>
@@ -220,7 +228,12 @@ A human-readable form has been saved to disk and was written to the log. You may
 <context>
     <name>pv::binding::Device</name>
     <message>
-        <location filename="../pv/binding/device.cpp" line="97"/>
+        <location filename="../pv/binding/device.cpp" line="82"/>
+        <source>Note for device developers: Ignoring device configuration capability &apos;%1&apos; as it is missing GET and/or SET</source>
+        <translation>Nota para desarrolladores de dispositivos: Ignorar la capacidad de configuración del dispositivo &apos;%1&apos;, ya que falta GET y/o SET</translation>
+    </message>
+    <message>
+        <location filename="../pv/binding/device.cpp" line="107"/>
         <source>No Limit</source>
         <translation>Sín límite</translation>
     </message>
@@ -228,85 +241,115 @@ A human-readable form has been saved to disk and was written to the log. You may
 <context>
     <name>pv::data::DecodeSignal</name>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="198"/>
+        <location filename="../pv/data/decodesignal.cpp" line="223"/>
         <source>No decoders</source>
         <translation>Sin decodificadores</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="205"/>
+        <location filename="../pv/data/decodesignal.cpp" line="230"/>
         <source>There are no channels assigned to this decoder</source>
         <translation>No hay canales asignados a este decodificador</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="219"/>
+        <location filename="../pv/data/decodesignal.cpp" line="244"/>
         <source>One or more required channels have not been specified</source>
         <translation>No se han especificado uno o más canales requeridos</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="238"/>
+        <location filename="../pv/data/decodesignal.cpp" line="260"/>
         <source>No input data</source>
         <translation>Sin datos de entrada</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="1172"/>
+        <location filename="../pv/data/decodesignal.cpp" line="1325"/>
         <source>Decoder reported an error</source>
         <translation>El decodificador reportó un error</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="1308"/>
+        <location filename="../pv/data/decodesignal.cpp" line="1484"/>
         <source>Failed to create decoder instance</source>
         <translation>Error al crear la instancia del decodificador</translation>
     </message>
 </context>
+<context>
+    <name>pv::data::MathSignal</name>
+    <message>
+        <location filename="../pv/data/mathsignal.cpp" line="107"/>
+        <source>Math%1</source>
+        <translation>Math%1</translation>
+    </message>
+    <message>
+        <location filename="../pv/data/mathsignal.cpp" line="306"/>
+        <source>No expression defined, nothing to do</source>
+        <translation>Sin expresión definida, nada que hacer</translation>
+    </message>
+    <message>
+        <location filename="../pv/data/mathsignal.cpp" line="345"/>
+        <source>%1 at line %2, column %3: %4</source>
+        <translation>%1 en línea %2, columna %3: %4</translation>
+    </message>
+    <message>
+        <location filename="../pv/data/mathsignal.cpp" line="364"/>
+        <location filename="../pv/data/mathsignal.cpp" line="536"/>
+        <source>&quot;%1&quot; isn&apos;t a valid analog signal</source>
+        <translation>&quot;%1&quot; no es una señal analógica válida</translation>
+    </message>
+    <message>
+        <location filename="../pv/data/mathsignal.cpp" line="374"/>
+        <location filename="../pv/data/mathsignal.cpp" line="611"/>
+        <source>No data will be generated as %1 must be enabled</source>
+        <translation>No se generarán datos ya que %1 debe estar habilitado</translation>
+    </message>
+</context>
 <context>
     <name>pv::data::SignalBase</name>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="485"/>
+        <location filename="../pv/data/signalbase.cpp" line="525"/>
         <source>Signal average</source>
         <translation>Promedio de la señal</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="486"/>
+        <location filename="../pv/data/signalbase.cpp" line="526"/>
         <source>0.9V (for 1.8V CMOS)</source>
         <translation>0.9V (para 1.8V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="487"/>
+        <location filename="../pv/data/signalbase.cpp" line="527"/>
         <source>1.8V (for 3.3V CMOS)</source>
         <translation>1.8V (para 3.3V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="488"/>
+        <location filename="../pv/data/signalbase.cpp" line="528"/>
         <source>2.5V (for 5.0V CMOS)</source>
         <translation>2.5V (para 5.0V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="489"/>
+        <location filename="../pv/data/signalbase.cpp" line="529"/>
         <source>1.5V (for TTL)</source>
         <translation>1.5V (para TTL)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="494"/>
+        <location filename="../pv/data/signalbase.cpp" line="534"/>
         <source>Signal average +/- 15%</source>
         <translation>Promedio de la señal +/- 15%</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="495"/>
+        <location filename="../pv/data/signalbase.cpp" line="535"/>
         <source>0.3V/1.2V (for 1.8V CMOS)</source>
         <translation>0.3V/1.2V (para 1.8V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="496"/>
+        <location filename="../pv/data/signalbase.cpp" line="536"/>
         <source>0.7V/2.5V (for 3.3V CMOS)</source>
         <translation>0.7V/2.5V (para 3.3V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="497"/>
+        <location filename="../pv/data/signalbase.cpp" line="537"/>
         <source>1.3V/3.7V (for 5.0V CMOS)</source>
         <translation>1.3V/3.7V (para 5.0V CMOS)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="498"/>
+        <location filename="../pv/data/signalbase.cpp" line="538"/>
         <source>0.8V/2.0V (for TTL)</source>
         <translation>0.8V/2.0V (para TTL)</translation>
     </message>
@@ -316,7 +359,7 @@ A human-readable form has been saved to disk and was written to the log. You may
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="58"/>
         <source>&amp;Scan for devices using driver above</source>
-        <translation>E&amp;Scanea por dispositivos utilizando el controlador de arriba</translation>
+        <translation>E&amp;scanea por dispositivos utilizando el controlador de arriba</translation>
     </message>
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="63"/>
@@ -326,7 +369,7 @@ A human-readable form has been saved to disk and was written to the log. You may
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="75"/>
         <source>Step 1: Choose the driver</source>
-        <translation>Paso 1: Elige el driver</translation>
+        <translation>Paso 1: Elige el controlador</translation>
     </message>
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="79"/>
@@ -336,7 +379,7 @@ A human-readable form has been saved to disk and was written to the log. You may
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="80"/>
         <source>Serial &amp;Port</source>
-        <translation>&amp;Puerto Serial</translation>
+        <translation>&amp;Puerto serial</translation>
     </message>
     <message>
         <location filename="../pv/dialogs/connect.cpp" line="81"/>
@@ -379,7 +422,7 @@ A human-readable form has been saved to disk and was written to the log. You may
     </message>
     <message>
         <location filename="../pv/dialogs/settings.cpp" line="153"/>
-        <location filename="../pv/dialogs/settings.cpp" line="397"/>
+        <location filename="../pv/dialogs/settings.cpp" line="415"/>
         <source>Decoders</source>
         <translation>Decodificadores</translation>
     </message>
@@ -391,293 +434,327 @@ A human-readable form has been saved to disk and was written to the log. You may
     <message>
         <location filename="../pv/dialogs/settings.cpp" line="172"/>
         <source>Logging</source>
-        <translation>Logging</translation>
+        <translation>Registros</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="236"/>
+        <location filename="../pv/dialogs/settings.cpp" line="241"/>
         <source>User interface language</source>
         <translation>Idioma de la interfaz de usuario</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="247"/>
+        <location filename="../pv/dialogs/settings.cpp" line="252"/>
         <source>User interface theme</source>
         <translation>Tema de la interfaz de usuario</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="249"/>
+        <location filename="../pv/dialogs/settings.cpp" line="254"/>
         <source>(You may need to restart PulseView for all UI elements to update)</source>
         <translation>(Es posible que deba reiniciar PulseView para que se actualicen todos los elementos de la interfaz de usuario)</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="255"/>
+        <location filename="../pv/dialogs/settings.cpp" line="260"/>
         <source>System Default</source>
-        <translation>Default del sistema</translation>
+        <translation>Por defecto del sistema</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="268"/>
+        <location filename="../pv/dialogs/settings.cpp" line="273"/>
         <source>Qt widget style</source>
-        <translation>Estilo de Qt widget</translation>
+        <translation>Estilo de widget Qt</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="270"/>
+        <location filename="../pv/dialogs/settings.cpp" line="275"/>
         <source>(Dark themes look best with the Fusion style)</source>
         <translation>(Los temas oscuros se ven mejor con el estilo Fusion)</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="277"/>
+        <location filename="../pv/dialogs/settings.cpp" line="282"/>
         <source>Save session &amp;setup along with .sr file</source>
         <translation>Guardar &amp;configuración de sesión junto al archivo .sr</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="291"/>
+        <location filename="../pv/dialogs/settings.cpp" line="286"/>
+        <source>Start acquisition for all open sessions when clicking &apos;Run&apos;</source>
+        <translation>Iniciar adquisición para todas las sesiones abiertas al dar clic en &apos;Ejecutar&apos;</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="301"/>
         <source>Trace View</source>
-        <translation>Vista de trazo</translation>
+        <translation>Vista de señales</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="299"/>
+        <location filename="../pv/dialogs/settings.cpp" line="309"/>
         <source>Use colored trace &amp;background</source>
-        <translation>Use &amp;fondo de trazas coloreado</translation>
+        <translation>Usar &amp;fondo de trazos coloreado</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="303"/>
+        <location filename="../pv/dialogs/settings.cpp" line="313"/>
         <source>Constantly perform &amp;zoom-to-fit during acquisition</source>
         <translation>Realizar constantemente zoom para &amp;ajustar durante la adquisición</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="307"/>
+        <location filename="../pv/dialogs/settings.cpp" line="317"/>
         <source>Perform a zoom-to-&amp;fit when acquisition stops</source>
-        <translation>Realice un zoom para ajustar cuando la adquisición se &amp;detenga</translation>
+        <translation>Realizar un zoom para ajustar cuando la adquisición se &amp;detenga</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="311"/>
         <source>Show time zero at the trigger</source>
-        <translation>Mostrar el tiempo cero en el trigger</translation>
+        <translation type="vanished">Mostrar el tiempo cero en el trigger</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="315"/>
+        <location filename="../pv/dialogs/settings.cpp" line="325"/>
         <source>Always keep &amp;newest samples at the right edge during capture</source>
-        <translation>Mantenga siempre las muestras más &amp;recientes en el borde derecho durante la captura</translation>
+        <translation>Mantener siempre las muestras más &amp;recientes en el borde derecho durante la captura</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="319"/>
+        <location filename="../pv/dialogs/settings.cpp" line="333"/>
         <source>Show data &amp;sampling points</source>
         <translation>Mostrar puntos de datos mue&amp;streados</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="323"/>
         <source>Fill high areas of logic signals</source>
-        <translation>Rellenar áreas altas de señales lógicas</translation>
+        <translation type="vanished">Rellenar áreas altas de señales lógicas</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="330"/>
+        <location filename="../pv/dialogs/settings.cpp" line="321"/>
+        <source>Show time zero at the &amp;trigger</source>
+        <translation>Mostrar tiempo cero en el &amp;disparo</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="329"/>
+        <source>Allow &amp;vertical dragging in the view area</source>
+        <translation>Permitir arrastre &amp;vertical in el área de vista</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="337"/>
+        <source>Fill &amp;high areas of logic signals</source>
+        <translation>Llenar áreas en &amp;alto de señales lógicas</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="344"/>
         <source>Color to fill high areas of logic signals with</source>
         <translation>Color para llenar áreas altas de señales lógicas</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="334"/>
+        <location filename="../pv/dialogs/settings.cpp" line="348"/>
         <source>Show analog minor grid in addition to div grid</source>
         <translation>Mostrar cuadrícula menor analógica además de cuadrícula por división</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="338"/>
+        <location filename="../pv/dialogs/settings.cpp" line="352"/>
         <source>Highlight mouse cursor using a vertical marker line</source>
         <translation>Resaltar el cursor del mouse usando una línea de marcador vertical</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="342"/>
-        <location filename="../pv/dialogs/settings.cpp" line="368"/>
-        <location filename="../pv/dialogs/settings.cpp" line="377"/>
+        <location filename="../pv/dialogs/settings.cpp" line="356"/>
+        <source>Keep active item on ruler selected when editing popup is closed</source>
+        <translation>Mantener el elemento activo seleccionado en la regla cuando se cierre la ventana de edición emergente</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="360"/>
+        <location filename="../pv/dialogs/settings.cpp" line="386"/>
+        <location filename="../pv/dialogs/settings.cpp" line="395"/>
         <source> pixels</source>
         <translation> píxeles</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="347"/>
+        <location filename="../pv/dialogs/settings.cpp" line="365"/>
         <source>Maximum distance from edges before markers snap to them</source>
         <translation>Distancia máxima desde los bordes antes de que los marcadores se ajusten a ellos</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="354"/>
+        <location filename="../pv/dialogs/settings.cpp" line="372"/>
         <source>Color to fill cursor area with</source>
         <translation>Color para llenar el área del cursor</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="357"/>
+        <location filename="../pv/dialogs/settings.cpp" line="375"/>
         <source>None</source>
         <translation>Ninguna</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="358"/>
+        <location filename="../pv/dialogs/settings.cpp" line="376"/>
         <source>Background</source>
         <translation>Fondo</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="359"/>
+        <location filename="../pv/dialogs/settings.cpp" line="377"/>
         <source>Dots</source>
         <translation>Puntos</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="364"/>
+        <location filename="../pv/dialogs/settings.cpp" line="382"/>
         <source>Conversion threshold display mode (analog traces only)</source>
-        <translation>Modo de visualización del umbral de conversión (solo trazas analógicas)</translation>
+        <translation>Modo de visualización del umbral de conversión (solo trazos analógicos)</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="373"/>
+        <location filename="../pv/dialogs/settings.cpp" line="391"/>
         <source>Default analog trace div height</source>
-        <translation>Altura de división de trazo análogo por defecto</translation>
+        <translation>Altura de división de trazo analógico por defecto</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="382"/>
+        <location filename="../pv/dialogs/settings.cpp" line="400"/>
         <source>Default logic trace height</source>
         <translation>Altura de trazo lógico por defecto</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="405"/>
+        <location filename="../pv/dialogs/settings.cpp" line="423"/>
         <source>Allow configuration of &amp;initial signal state</source>
         <translation>Permitir configuración de estado de señal &amp;inicial</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="409"/>
+        <location filename="../pv/dialogs/settings.cpp" line="427"/>
         <source>Always show all &amp;rows, even if no annotation is visible</source>
         <translation>Mostrar siempre todas las &amp;filas, incluso si no hay ninguna anotación visible</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="417"/>
+        <location filename="../pv/dialogs/settings.cpp" line="435"/>
         <source>Annotation export format</source>
         <translation>Formato de exportación de anotaciones</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="418"/>
+        <location filename="../pv/dialogs/settings.cpp" line="436"/>
         <source>%s = sample range; %d: decoder name; %r: row name; %c: class name</source>
         <translation>%s = rango de muestra; %d: nombre del decodificador; %r: nombre de fila; %c: nombre de clase</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="421"/>
+        <location filename="../pv/dialogs/settings.cpp" line="439"/>
         <source>%1: longest annotation text; %a: all annotation texts; %q: use quotation marks</source>
         <translation>%1: texto de anotación más largo; %a: todos los textos de anotación; %q: use comillas</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="441"/>
+        <location filename="../pv/dialogs/settings.cpp" line="459"/>
         <source>%1&lt;br /&gt;&lt;a href=&quot;http://%2&quot;&gt;%2&lt;/a&gt;</source>
         <translation>%1&lt;br /&gt;&lt;a href=&quot;http://%2&quot;&gt;%2&lt;/a&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="442"/>
+        <location filename="../pv/dialogs/settings.cpp" line="460"/>
         <source>GNU GPL, version 3 or later</source>
         <translation>GNU GPL, versión 3 o posterior</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="453"/>
+        <location filename="../pv/dialogs/settings.cpp" line="471"/>
         <source>Versions, libraries and features:</source>
         <translation>Versiones, bibliotecas y características:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="460"/>
+        <location filename="../pv/dialogs/settings.cpp" line="478"/>
         <source>Firmware search paths:</source>
         <translation>Rutas de búsqueda de firmware:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="467"/>
+        <location filename="../pv/dialogs/settings.cpp" line="485"/>
         <source>Protocol decoder search paths:</source>
         <translation>Ruta de búsqueda del decodificador de protocolo:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="474"/>
+        <location filename="../pv/dialogs/settings.cpp" line="488"/>
+        <source>&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;(Note: Set environment variable SIGROKDECODE_DIR to add a custom directory)&lt;/td&gt;&lt;/tr&gt;</source>
+        <translation>&lt;tr&gt; &lt;td colspan = &quot;2&quot;&gt; (Nota: Establecer variable de entorno SIGROKDECODE_DIR para agregar un directorio personalizado) &lt;/td&gt; &lt;/tr&gt;</translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="493"/>
         <source>Supported hardware drivers:</source>
         <translation>Controladores de hardware soportados:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="481"/>
+        <location filename="../pv/dialogs/settings.cpp" line="500"/>
         <source>Supported input formats:</source>
         <translation>Formatos de entrada soportados:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="488"/>
+        <location filename="../pv/dialogs/settings.cpp" line="507"/>
         <source>Supported output formats:</source>
         <translation>Formatos de salida soportados:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="496"/>
+        <location filename="../pv/dialogs/settings.cpp" line="515"/>
         <source>Supported protocol decoders:</source>
         <translation>Decodificadores de protocolo soportados:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="504"/>
+        <location filename="../pv/dialogs/settings.cpp" line="523"/>
         <source>Available Translations:</source>
         <translation>Traducciones disponibles:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="552"/>
+        <location filename="../pv/dialogs/settings.cpp" line="571"/>
         <source>Log level:</source>
-        <translation>Nivel de log:</translation>
+        <translation>Nivel de registro:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="557"/>
+        <location filename="../pv/dialogs/settings.cpp" line="576"/>
         <source> lines</source>
         <translation> líneas</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="566"/>
+        <location filename="../pv/dialogs/settings.cpp" line="585"/>
         <source>Length of background buffer:</source>
         <translation>Longitud del búfer de fondo:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="572"/>
+        <location filename="../pv/dialogs/settings.cpp" line="591"/>
         <source>&amp;Save to File</source>
         <translation>&amp;Guardar en archivo</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="579"/>
+        <location filename="../pv/dialogs/settings.cpp" line="598"/>
         <source>&amp;Pop out</source>
-        <translation>&amp;Pop out</translation>
+        <translation>Des&amp;plegar</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="648"/>
+        <location filename="../pv/dialogs/settings.cpp" line="667"/>
         <source>You selected a dark theme.
 Should I set the user-adjustable colors to better suit your choice?
 
 Please keep in mind that PulseView may need a restart to display correctly.</source>
-        <translation>Seleccionaste el tema obscuro.\nDebería de establecer los colores ajustables por el usuario que mejor se ajustan a tu elección?\n\nPor favor ten en cuenta que Pulseview tal vez se tenga que reiniciar para mostrarse correctamente.</translation>
+        <translation>Seleccionaste un tema oscuro.
+¿Debería de establecer los colores ajustables por el usuario a los que mejor se ajustan a tu elección?
+
+Por favor ten en cuenta que Pulseview tal vez se tenga que reiniciar para mostrarse correctamente.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="654"/>
+        <location filename="../pv/dialogs/settings.cpp" line="673"/>
         <source>You selected a bright theme.
 Should I set the user-adjustable colors to better suit your choice?
 
 Please keep in mind that PulseView may need a restart to display correctly.</source>
-        <translation>Seleccionaste el tema brillante.\nDebería de establecer los colores ajustables por el usuario que mejor se ajustan a tu elección?\n\nPor favor ten en cuenta que Pulseview tal vez se tenga que reiniciar para mostrarse correctamente.</translation>
+        <translation>Seleccionaste un tema claro.
+¿Debería de establecer los colores ajustables por el usuario a los que mejor se ajustan a tu elección?
+
+Por favor ten en cuenta que Pulseview tal vez se tenga que reiniciar para mostrarse correctamente.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="807"/>
+        <location filename="../pv/dialogs/settings.cpp" line="844"/>
         <source>Save Log</source>
-        <translation>Guardar log</translation>
+        <translation>Guardar registro</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="807"/>
+        <location filename="../pv/dialogs/settings.cpp" line="844"/>
         <source>Log Files (*.txt *.log);;All Files (*)</source>
-        <translation>Archivos de log (*.txt *.log);;Todos los archivos (*)</translation>
+        <translation>Archivos de registro (*.txt *.log);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="819"/>
+        <location filename="../pv/dialogs/settings.cpp" line="856"/>
         <source>Success</source>
         <translation>Éxito</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="819"/>
+        <location filename="../pv/dialogs/settings.cpp" line="856"/>
         <source>Log saved to %1.</source>
-        <translation>Log guardado en %1.</translation>
+        <translation>Registro guardado en %1.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="829"/>
+        <location filename="../pv/dialogs/settings.cpp" line="866"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="829"/>
+        <location filename="../pv/dialogs/settings.cpp" line="866"/>
         <source>File %1 could not be written to.</source>
         <translation>No se pudo escribir en el archivo%1.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="843"/>
+        <location filename="../pv/dialogs/settings.cpp" line="880"/>
         <source>%1 Log</source>
         <translation>%1 Log</translation>
     </message>
@@ -695,7 +772,7 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/storeprogress.cpp" line="85"/>
+        <location filename="../pv/dialogs/storeprogress.cpp" line="89"/>
         <source>Failed to save session.</source>
         <translation>Error al guardar sesión.</translation>
     </message>
@@ -705,8 +782,8 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/popups/channels.cpp" line="62"/>
         <location filename="../pv/popups/channels.cpp" line="63"/>
-        <location filename="../pv/popups/channels.cpp" line="273"/>
-        <location filename="../pv/popups/channels.cpp" line="300"/>
+        <location filename="../pv/popups/channels.cpp" line="278"/>
+        <location filename="../pv/popups/channels.cpp" line="305"/>
         <source>All</source>
         <translation>Todo</translation>
     </message>
@@ -753,8 +830,8 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>Habilitar: </translation>
     </message>
     <message>
-        <location filename="../pv/popups/channels.cpp" line="281"/>
-        <location filename="../pv/popups/channels.cpp" line="301"/>
+        <location filename="../pv/popups/channels.cpp" line="286"/>
+        <location filename="../pv/popups/channels.cpp" line="306"/>
         <source>None</source>
         <translation>Ninguna</translation>
     </message>
@@ -832,43 +909,43 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="49"/>
         <source>Select a decoder to see its description here.</source>
-        <translation>Seleccione un decodificador para ver su descripción aquí.</translation>
+        <translation>Selecciona un decodificador para ver su descripción aquí.</translation>
     </message>
     <message>
-        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="247"/>
+        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="248"/>
         <source>, %1</source>
         <translation>, %1</translation>
     </message>
     <message>
-        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="264"/>
+        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="265"/>
         <source>&lt;p align=&apos;right&apos;&gt;Tags: %1&lt;/p&gt;</source>
-        <translation>&lt;p align=&apos;right&apos;&gt;Tags: %1&lt;/p&gt;</translation>
+        <translation>&lt;p align=&apos;right&apos;&gt;Etiquetas: %1&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="311"/>
+        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="312"/>
         <source>Protocol decoder &lt;b&gt;%1&lt;/b&gt; requires input type &lt;b&gt;%2&lt;/b&gt; which several decoders provide.&lt;br&gt;Choose which one to use:&lt;br&gt;</source>
         <translation>Decodificador de protocolo &lt;b&gt;%1&lt;/b&gt; requiere tipo de entrada &lt;b&gt;%2&lt;/b&gt; que proporcionan varios decodificadores.&lt;br&gt;Elige cúal usar:&lt;br&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="319"/>
+        <location filename="../pv/subwindows/decoder_selector/subwindow.cpp" line="320"/>
         <source>Choose Decoder</source>
-        <translation>Elige Decodificador</translation>
+        <translation>Elige decodificador</translation>
     </message>
 </context>
 <context>
     <name>pv::toolbars::MainBar</name>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="121"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="124"/>
         <source>New &amp;View</source>
         <translation>Nueva &amp;Vista</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="127"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="130"/>
         <source>&amp;Open...</source>
         <translation>&amp;Abrir...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="134"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="141"/>
         <source>Restore Session Setu&amp;p...</source>
         <translation>Restaurar Configu&amp;ración de Sesión...</translation>
     </message>
@@ -877,156 +954,161 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation type="vanished">G&amp;uardar Como...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="138"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="145"/>
         <source>&amp;Save...</source>
         <translation>&amp;Guardar...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="145"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="156"/>
         <source>Save &amp;As...</source>
         <translation>Guardar Como...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="151"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="162"/>
         <source>Save Selected &amp;Range As...</source>
         <translation>Guardar &amp;Rango Seleccionado Como...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="158"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="173"/>
         <source>Save Session Setu&amp;p...</source>
         <translation>Guardar Confi&amp;guración de Sesión...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="164"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="179"/>
         <source>&amp;Export</source>
         <translation>&amp;Exportar</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="170"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="185"/>
         <source>&amp;Import</source>
         <translation>&amp;Importar</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="174"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="189"/>
         <source>&amp;Connect to Device...</source>
         <translation>&amp;Conectar a Dispositivo...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="236"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="251"/>
         <source>Add protocol decoder</source>
         <translation>Agregar decodificador de protocolo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="252"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="261"/>
+        <source>Add math signal</source>
+        <translation>Agregar señal matemática</translation>
+    </message>
+    <message>
+        <location filename="../pv/toolbars/mainbar.cpp" line="277"/>
         <source>Configure Device</source>
         <translation>Configurar Dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="256"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="281"/>
         <source>Configure Channels</source>
         <translation>Configurar Canales</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="370"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="395"/>
         <source>Failed to get sample rate list:</source>
         <translation>Error al obtener la lista de frecuencia de muestreo:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="433"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="458"/>
         <source>Failed to get sample rate:</source>
         <translation>Error al obtener la frecuencia de muestreo:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="474"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="499"/>
         <source>Failed to get sample limit list:</source>
         <translation>Error al obtener la lista de límites de muestra:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="564"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="589"/>
         <source>Failed to configure samplerate:</source>
         <translation>Error al configurar frecuencia de muestreo:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="591"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="616"/>
         <source>Failed to configure sample count:</source>
         <translation>Error al configurar cuenta de muestras:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="629"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="654"/>
         <source>Missing Cursors</source>
         <translation>Cursores Faltantes</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="629"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="654"/>
         <source>You need to set the cursors before you can save the data enclosed by them to a session file (e.g. using the Show Cursors button).</source>
-        <translation>Debe configurar los cursores antes de poder guardar los datos encerrados en un archivo de sesión (por ejemplo, usando el botón Mostrar Cursores).</translation>
+        <translation>Debes configurar los cursores antes de poder guardar los datos encerrados en un archivo de sesión (por ejemplo, usando el botón Mostrar Cursores).</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="647"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="672"/>
         <source>Invalid Range</source>
         <translation>Rango Inválido</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="647"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="672"/>
         <source>The cursors don&apos;t define a valid range of samples.</source>
         <translation>Los cursores no definen un rango válido de muestras.</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="659"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="684"/>
         <source>%1 files </source>
         <translation>%1 archivos </translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="667"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="717"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="692"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="742"/>
         <source>All Files</source>
         <translation>Todos los archivos</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="671"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="848"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="696"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="873"/>
         <source>Save File</source>
         <translation>Guardar Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="683"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="708"/>
         <source>Export %1</source>
         <translation>Exportar %1</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="714"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="739"/>
         <source>%1 files</source>
         <translation>%1 archivos</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="725"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="750"/>
         <source>Import File</source>
         <translation>Importar Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="734"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="759"/>
         <source>Import %1</source>
         <translation>Importar %1</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="807"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="865"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="832"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="890"/>
         <source>Open File</source>
         <translation>Abrir Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="807"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="832"/>
         <source>sigrok Sessions (*.sr);;All Files (*)</source>
         <translation>Sesiones sigrok (*sr);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="848"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="865"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="873"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="890"/>
         <source>PulseView Session Setups (*.pvs);;All Files (*)</source>
         <translation>Configurciones de Sesión de PulseView (*.pvs);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="926"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="958"/>
         <source>Total sampling time: %1</source>
         <translation>Tiempo de muestreo total: %1</translation>
     </message>
@@ -1046,7 +1128,7 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/views/decoder_binary/view.cpp" line="93"/>
         <source>Hexdump</source>
-        <translation>Hexdump</translation>
+        <translation>Volcado hexadecimal</translation>
     </message>
     <message>
         <location filename="../pv/views/decoder_binary/view.cpp" line="110"/>
@@ -1054,32 +1136,32 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>&amp;Guardar...</translation>
     </message>
     <message>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="258"/>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="298"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="270"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="310"/>
         <source>Save Binary Data</source>
         <translation>Guardar Datos Binarios</translation>
     </message>
     <message>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="258"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="270"/>
         <source>Binary Data Files (*.bin);;All Files (*)</source>
         <translation>Archivos de Datos Binarios (*.bin);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="277"/>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="329"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="289"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="349"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="277"/>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="329"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="289"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="349"/>
         <source>File %1 could not be written to.</source>
         <translation>No se pudo escribir en el archivo%1.</translation>
     </message>
     <message>
-        <location filename="../pv/views/decoder_binary/view.cpp" line="298"/>
+        <location filename="../pv/views/decoder_binary/view.cpp" line="310"/>
         <source>Hex Dumps (*.txt);;All Files (*)</source>
-        <translation>Hex Dumps (*.txt);;Todos los archivos (*)</translation>
+        <translation>Volcados hexadecimales (*.txt);;Todos los archivos (*)</translation>
     </message>
 </context>
 <context>
@@ -1097,7 +1179,7 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/views/tabular_decoder/model.cpp" line="58"/>
         <source>Decoder</source>
-        <translation>Decoder</translation>
+        <translation>Decodificador</translation>
     </message>
     <message>
         <location filename="../pv/views/tabular_decoder/model.cpp" line="59"/>
@@ -1143,22 +1225,22 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>&amp;Guardar...</translation>
     </message>
     <message>
-        <location filename="../pv/views/tabular_decoder/view.cpp" line="374"/>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="378"/>
         <source>Save Annotations as CSV</source>
         <translation>Guardar anotaciones como CSV</translation>
     </message>
     <message>
-        <location filename="../pv/views/tabular_decoder/view.cpp" line="374"/>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="378"/>
         <source>CSV Files (*.csv);;Text Files (*.txt);;All Files (*)</source>
         <translation>Archivos CSV (*.csv);;Archivos de texto (*.txt);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/views/tabular_decoder/view.cpp" line="442"/>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="446"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/views/tabular_decoder/view.cpp" line="442"/>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="446"/>
         <source>File %1 could not be written to.</source>
         <translation>No se pudo escribir en el archivo%1.</translation>
     </message>
@@ -1166,84 +1248,84 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::views::trace::AnalogSignal</name>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="994"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="802"/>
         <source>Number of pos vertical divs</source>
-        <translation>Número de divisiones verticales pos</translation>
+        <translation>Número de divisiones verticales positivas</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1001"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="810"/>
         <source>Number of neg vertical divs</source>
-        <translation>Número de divisiones verticales neg</translation>
+        <translation>Número de divisiones verticales negativas</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1006"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="815"/>
         <source> pixels</source>
         <translation> píxeles</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1010"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="819"/>
         <source>Div height</source>
         <translation>Altura de división</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1027"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="837"/>
         <source>V/div</source>
         <translation>V/división</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1031"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="841"/>
         <source>Vertical resolution</source>
         <translation>Resolución vertical</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1040"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="850"/>
         <source>Autoranging</source>
         <translation>Autorango</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1045"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="855"/>
         <source>none</source>
         <translation>ninguna</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1047"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="857"/>
         <source>to logic via threshold</source>
         <translation>a nivel lógico a partir de umbral</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1049"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="859"/>
         <source>to logic via schmitt-trigger</source>
-        <translation>a nivel lógico a partir de schmitt trigger</translation>
+        <translation>a nivel lógico a partir de schmitt-trigger</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1055"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="865"/>
         <source>Conversion</source>
         <translation>Conversión</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1064"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="874"/>
         <source>Conversion threshold(s)</source>
-        <translation>Conversión de Umbral(es)</translation>
+        <translation>Umbral(es) de conversión</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1074"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="884"/>
         <source>analog</source>
-        <translation>análogico</translation>
+        <translation>señal análogica</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1075"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="885"/>
         <source>converted</source>
-        <translation>convertida</translation>
+        <translation>señal convertida</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1076"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="886"/>
         <source>analog+converted</source>
-        <translation>Analógico+convertido</translation>
+        <translation>señales analógica + convertida</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1081"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="891"/>
         <source>Show traces for</source>
-        <translation>Mostrar trazos para</translation>
+        <translation>Mostrar trazos de</translation>
     </message>
 </context>
 <context>
@@ -1275,136 +1357,136 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::views::trace::DecodeTrace</name>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="449"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="456"/>
         <source>&lt;p&gt;&lt;i&gt;No decoders in the stack&lt;/i&gt;&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;i&gt;No hay decodificadores en la pila.&lt;/i&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="460"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="467"/>
         <source>&lt;i&gt;* Required channels&lt;/i&gt;</source>
         <translation>&lt;i&gt;* Canales requeridos&lt;/i&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="464"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="471"/>
         <source>Stack Decoder</source>
         <translation>Apilar Decodificador</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="465"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="472"/>
         <source>Stack a higher-level decoder on top of this one</source>
         <translation>Apilar un decodificador de nivel superior encima de este</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="479"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="486"/>
         <source>Delete</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="521"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="528"/>
         <source>Resume decoding</source>
         <translation>Reanudar decodificación</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="528"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="535"/>
         <source>Pause decoding</source>
         <translation>Pausar decodificación</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="536"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="543"/>
         <source>Copy annotation text to clipboard</source>
         <translation>Copiar texto de anotación al portapapeles</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="545"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="552"/>
         <source>Export all annotations</source>
         <translation>Exportar todas las anotaciones</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="552"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="559"/>
         <source>Export all annotations for this row</source>
         <translation>Exportar todas las anotaciones para esta fila</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="561"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="568"/>
         <source>Export all annotations, starting here</source>
         <translation>Exportar todas las anotaciones, comenzando aquí</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="568"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="575"/>
         <source>Export annotations for this row, starting here</source>
         <translation>Exportar todas las anotaciones para esta fila, comenzando aquí</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="577"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="584"/>
         <source>Export all annotations within cursor range</source>
         <translation>Exportar todas las anotaciones dentro del rango del cursor</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="584"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="591"/>
         <source>Export annotations for this row within cursor range</source>
         <translation>Exportar todas las anotaciones para esta fila dentro del rango del cursor</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1076"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1079"/>
         <source>%1:
 %2</source>
         <translation>%1\n%2</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1120"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1123"/>
         <source>&lt;b&gt;%1&lt;/b&gt; (%2) %3</source>
         <translation>&lt;b&gt;%1&lt;/b&gt; (%2) %3</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1190"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1192"/>
         <source>Export annotations</source>
         <translation>Exportar anotaciones</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1190"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1192"/>
         <source>Text Files (*.txt);;All Files (*)</source>
         <translation>Archivos de texto (*.txt);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1255"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1257"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1255"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1257"/>
         <source>File %1 could not be written to.</source>
         <translation>No se pudo escribir en el archivo%1.</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1308"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1324"/>
         <source>Show this row</source>
         <translation>Mostrar esta fila</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1319"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1335"/>
         <source>Show All</source>
         <translation>Mostrar todo</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1327"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1343"/>
         <source>Hide All</source>
-        <translation>Oculta todo</translation>
+        <translation>Ocultar todo</translation>
     </message>
 </context>
 <context>
     <name>pv::views::trace::Flag</name>
     <message>
-        <location filename="../pv/views/trace/flag.cpp" line="132"/>
+        <location filename="../pv/views/trace/flag.cpp" line="144"/>
         <source>Text</source>
         <translation>Texto</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/flag.cpp" line="141"/>
+        <location filename="../pv/views/trace/flag.cpp" line="153"/>
         <source>Delete</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/flag.cpp" line="146"/>
+        <location filename="../pv/views/trace/flag.cpp" line="158"/>
         <source>Disable snapping</source>
         <translation>Deshabilitar snapping</translation>
     </message>
@@ -1420,57 +1502,591 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::views::trace::LogicSignal</name>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="451"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="423"/>
         <source>No trigger</source>
         <translation>Sin trigger</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="456"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="428"/>
         <source>Trigger on rising edge</source>
         <translation>Trigger en flanco de subida</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="461"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="433"/>
         <source>Trigger on high level</source>
         <translation>Trigger en nivel alto</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="466"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="438"/>
         <source>Trigger on falling edge</source>
         <translation>Trigger en flanco de bajada</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="471"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="443"/>
         <source>Trigger on low level</source>
         <translation>Trigger en nivel bajo</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="476"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="448"/>
         <source>Trigger on rising or falling edge</source>
         <translation>Trigger en flanco de subida o bajada</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="563"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="535"/>
         <source> pixels</source>
         <translation> pixeles</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="567"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="539"/>
         <source>Trace height</source>
         <translation>Altura del trazo</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/logicsignal.cpp" line="591"/>
+        <location filename="../pv/views/trace/logicsignal.cpp" line="563"/>
         <source>Trigger</source>
         <translation>Trigger</translation>
     </message>
 </context>
+<context>
+    <name>pv::views::trace::MathEditDialog</name>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="88"/>
+        <source>Math Expression Editor</source>
+        <translation>Editor de expresiones matemáticas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="93"/>
+        <source>Inputs:</source>
+        <translation>Entradas:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="99"/>
+        <source>Variables:</source>
+        <translation>Variables:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="101"/>
+        <source>Basic operators:</source>
+        <translation>Operadores básicos:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="108"/>
+        <source>Assignments:</source>
+        <translation>Asignaciones:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="118"/>
+        <source>General purpose functions:</source>
+        <translation>Funciones de propósito general:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="119"/>
+        <source>abs(x)         Absolute value of x</source>
+        <translation>abs(x)            Valor absoluto de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="120"/>
+        <source>avg(x, y, ...) Average of all input values</source>
+        <translation>avg(x, y, ...)    Promedio de todos los valores de entrada</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="121"/>
+        <source>ceil(x)                Smallest integer that is greater than or equal to x</source>
+        <translation>ceil(x)           Entero más pequeño que es mayor o igual a x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="122"/>
+        <source>clamp(lb, x, ub)       Clamp x in range between lb and ub, where lb &lt; ub</source>
+        <translation>clamp(lb, x, ub)  Fija x en el rango entre lb y ub, donde lb &lt; ub</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="123"/>
+        <source>equal(x, y)    Equality test between x and y using normalised epsilon</source>
+        <translation>equal(x, y)       Prueba de igualdad entre x e y usando epsilon normalizado</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="124"/>
+        <source>erf(x)         Error function of x</source>
+        <translation>erf(x)            Función error de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="125"/>
+        <source>erfc(x)                Complimentary error function of x</source>
+        <translation>erfc(x)           Función de error complementario de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="126"/>
+        <source>exp(x)         e to the power of x</source>
+        <translation>exp(x)            e a la potencia de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="127"/>
+        <source>expm1(x)       e to the power of x minus 1, where x is very small.</source>
+        <translation>expm1(x)  e a la potencia de x menos 1, donde z es muy pequeño.</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="128"/>
+        <source>floor(x)               Largest integer that is less than or equal to x</source>
+        <translation>floor(x)          Entero más grande que is menor o igual a x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="129"/>
+        <source>frac(x)                Fractional portion of x</source>
+        <translation>frac(x)           Porción fraccional de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="130"/>
+        <source>hypot(x)               Hypotenuse of x and y (i.e. sqrt(x*x + y*y))</source>
+        <translation>hypot(x)          Hipotenusa de x e y (es decir sqrt(x*x + y*y))</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="131"/>
+        <source>iclamp(lb, x, ub)      Inverse-clamp x outside of the range lb and ub, where lb &lt; ub.
+               If x is within the range it will snap to the closest bound</source>
+        <translation>iclamp(lb, x, ub) Fijación inversa de x fuera del rango lb y ub, donde lb &lt; ub.
+               Si x está en el rango se fijará al límite más cercano</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="132"/>
+        <source>inrange(lb, x, ub)     In-range returns true when x is within the range lb and ub, where lb &lt; ub.</source>
+        <translation>inrange(lb, x, ub)        En-rango regresa verdadero cuando x está en el rango lb y ub, donde lb &lt; ub.</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="133"/>
+        <source>log(x)         Natural logarithm of x</source>
+        <translation>log(x)            Logaritmo natural de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="134"/>
+        <source>log10(x)               Base 10 logarithm of x</source>
+        <translation>log10(x)          Logaritmo base 10 de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="138"/>
+        <source>log1p(x)               Natural logarithm of 1 + x, where x is very small</source>
+        <translation>log1p(x)          Logaritmo natural de 1 + x, donde x es muy pequeño</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="139"/>
+        <source>log2(x)                Base 2 logarithm of x</source>
+        <translation>log2(x)           Logaritmo base 2 de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="140"/>
+        <source>logn(x)                Base N logarithm of x, where n is a positive integer</source>
+        <translation>logn(x)           Logaritmo base N de x, donde n es un entero positivo</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="141"/>
+        <source>max(x, y, ...) Largest value of all the inputs</source>
+        <translation>max(x, y, ...)    Valor más grande de todas las entradas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="142"/>
+        <source>min(x, y, ...) Smallest value of all the inputs</source>
+        <translation>min(x, y, ...)    Valor más pequeño de todas las entradas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="143"/>
+        <source>mul(x, y, ...) Product of all the inputs</source>
+        <translation>mul(x, y, ...)    Producto de todas las entradas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="144"/>
+        <source>ncdf(x)                Normal cumulative distribution function</source>
+        <translation>ncdf(x)           Función de distribución acumulativa normal</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="145"/>
+        <source>nequal(x, y)   Not-equal test between x and y using normalised epsilon</source>
+        <translation>nequal(x, y)      Prueba de no igualdad entre x e y usando epsilon normalizado</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="146"/>
+        <source>pow(x, y)      x to the power of y</source>
+        <translation>pow(x, y) x a la potencia de y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="147"/>
+        <source>root(x, n)     Nth-Root of x, where n is a positive integer</source>
+        <translation>root(x, n)        Enésima raíz de x, donde n es un entero positivo</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="148"/>
+        <source>round(x)               Round x to the nearest integer</source>
+        <translation>round(x)          Redondear x al entero más cercano</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="149"/>
+        <source>roundn(x, n)   Round x to n decimal places, where n &gt; 0 and is an integer</source>
+        <translation>roundn(x, n)      Redondear x a n lugares decimales, donde n &gt; 0 y es un entero</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="150"/>
+        <source>sgn(x)         Sign of x; -1 if x &lt; 0, +1 if x &gt; 0, else zero</source>
+        <translation>sgn(x)            Sigon de x; -1 si x &lt; 0, +1 si x &gt; 0, otro cero</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="151"/>
+        <source>sqrt(x)                Square root of x, where x &gt;= 0</source>
+        <translation>sqrt(x)           Raíz cuadrada de x, donde x &gt;= 0</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="152"/>
+        <source>sum(x, y, ..,) Sum of all the inputs</source>
+        <translation>sum(x, y, ..,)    Suma de todas las entradas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="153"/>
+        <source>swap(x, y)     Swap the values of the variables x and y and return the current value of y</source>
+        <translation>swap(x, y)        Intercambia los valores de las variables x e y y regresa el valor actual de y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="154"/>
+        <source>trunc(x)               Integer portion of x</source>
+        <translation>trunc(x)          Porción entera de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="158"/>
+        <source>Trigonometry functions:</source>
+        <translation>Funciones trigonométricas:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="159"/>
+        <source>acos(x)                Arc cosine of x expressed in radians. Interval [-1,+1]</source>
+        <translation>acos(x)           Arco coseno de x expresado en radianes. Intervalo [-1,+1]</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="160"/>
+        <source>acosh(x)               Inverse hyperbolic cosine of x expressed in radians</source>
+        <translation>acosh(x)          Coseno hiperbólico inverso de x expresado en radianes</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="161"/>
+        <source>asin(x)                Arc sine of x expressed in radians. Interval [-1,+1]</source>
+        <translation>asin(x)           Arco seno de x expresado en radianes. Intervalo [-1,+1]</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="162"/>
+        <source>asinh(x)               Inverse hyperbolic sine of x expressed in radians</source>
+        <translation>asinh(x)          Seno hiperbólico inverso de x expresado en radianes</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="163"/>
+        <source>atan(x)                Arc tangent of x expressed in radians. Interval [-1,+1]</source>
+        <translation>atan(x)           Arco tangente de x expresado en radianes. Intervalo [-1,+1]</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="164"/>
+        <source>atan2(x, y)    Arc tangent of (x / y) expressed in radians. [-pi,+pi]  </source>
+        <translation>atan2(x, y)       Arco tangente de (x / y) expresado en radianes. [-pi,+pi]  </translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="165"/>
+        <source>atanh(x)               Inverse hyperbolic tangent of x expressed in radians</source>
+        <translation>atanh(x)          Tangente hiperbólica inversa de x expresada en radianes</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="166"/>
+        <source>cos(x)         Cosine of x</source>
+        <translation>cos(x)            Coseno de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="167"/>
+        <source>cosh(x)                Hyperbolic cosine of x</source>
+        <translation>cosh(x)           Coseno hiperbólico de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="168"/>
+        <source>cot(x)         Cotangent of x</source>
+        <translation>cot(x)            Cotangente de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="169"/>
+        <source>csc(x)         Cosectant of x</source>
+        <translation>csc(x)            Cosecante de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="170"/>
+        <source>sec(x)         Secant of x</source>
+        <translation>sec(x)            Secante de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="171"/>
+        <source>sin(x)         Sine of x</source>
+        <translation>sin(x)            Seno de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="172"/>
+        <source>sinc(x)                Sine cardinal of x</source>
+        <translation>sinc(x)           Seno cardinal de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="173"/>
+        <source>sinh(x)                Hyperbolic sine of x</source>
+        <translation>sinh(x)           Seno hiperbólico de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="174"/>
+        <source>tan(x)         Tangent of x</source>
+        <translation>tan(x)            Tangente de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="175"/>
+        <source>tanh(x)                Hyperbolic tangent of x</source>
+        <translation>tanh(x)           Tangente hiperbólica de x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="176"/>
+        <source>deg2rad(x)     Convert x from degrees to radians</source>
+        <translation>deg2rad(x)        Convierte x de grados sexagesimales a radianes</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="177"/>
+        <source>deg2grad(x)    Convert x from degrees to gradians</source>
+        <translation>deg2grad(x)       Convierte x de grados sexagesimales a grados centesimales</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="178"/>
+        <source>rad2deg(x)     Convert x from radians to degrees</source>
+        <translation>rad2deg(x)        Convierte x de radianes a grados sexagesimales</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="179"/>
+        <source>grad2deg(x)    Convert x from gradians to degrees</source>
+        <translation>grad2deg(x)       Convierte x de grados centesimales a grados sexagesimales</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="183"/>
+        <source>Logic operators:</source>
+        <translation>Operadores lógicos:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="200"/>
+        <source>Comparisons:</source>
+        <translation>Comparaciones:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="201"/>
+        <source>x = y or x == y        True only if x is strictly equal to y</source>
+        <translation>x = y o x == y    Verdadero solo si x es estrictemente igual a y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="202"/>
+        <source>x &lt;&gt; y or x != y True only if x does not equal y</source>
+        <translation>x &lt;&gt; y o x != y     Verdadero solo si x no es igual a y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="203"/>
+        <source>x &lt; y               True only if x is less than y</source>
+        <translation>x &lt; y          Verdadero solo si x es menor que y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="204"/>
+        <source>x &lt;= y              True only if x is less than or equal to y</source>
+        <translation>x &lt;= y         Verdadero solo si x es menor o igual a y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="205"/>
+        <source>x &gt; y               True only if x is greater than y</source>
+        <translation>x &gt; y          Verdadero solo si x es mayor que y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="206"/>
+        <source>x &gt;= y              True only if x is greater than or equal to y</source>
+        <translation>x &gt;= y         Verdadero solo si x es mayor o igual a y</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="207"/>
+        <source>Flow control:</source>
+        <translation>Fujo de cotrol:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="208"/>
+        <source>{ ... }                Beginning and end of instruction block</source>
+        <translation>{ ... }           Inicio y fin de un bloque de instrucciones</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="209"/>
+        <source>if (x, y, z)   If x is true then return y else return z
+if (x) y;                      variant without implied else
+if (x) { y };          variant with an instruction block
+if (x) y; else z;              variant with explicit else
+if (x) { y } else { z };       variant with instruction blocks</source>
+        <translation>if (x, y, z)      Si x es verdadero entonces regresa y si no regresa z
+if (x) y;                      variante sin si no implicado
+if (x) { y };          variante con un bloque de instrucción
+if (x) y; else z;              variante con si no explícito
+if (x) { y } else { z };       variante con bloques de instrucciones</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="210"/>
+        <source>x ? y : z      Ternary operator, equivalent to &apos;if (x, y, z)&apos;</source>
+        <translation>x ? y : z Operador ternario, equivalente a &apos;if (x, y, z)&apos;</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="211"/>
+        <source>switch {               The first true case condition that is encountered will
+ case x &gt; 1: a;     determine the result of the switch. If none of the case
+ case x &lt; 1: b;     conditions hold true, the default action is used
+ default:     c;       to determine the return value
+}</source>
+        <translation>switch {          La primera condición de caso verdadera que es encontrada
+ case x &gt; 1: a;     determina el resultado del interruptor. Si ninguno de las condiciones de
+ case x &lt; 1: b;     los casos se mantienen verdaderas, la acción predeterminada se usa
+ default:     c;       para determinar el valor de retorno
+}</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="215"/>
+        <source>while (conditon) {     Evaluates expression repeatedly as long as condition is true,
+ expression;   returning the last value of expression
+}</source>
+        <translation>while (conditon) {        Evalúa la expresión repetidamente siempre que la condición sea verdadera,
+expresión; devuelve el último valor de la expresión
+}</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="216"/>
+        <source>repeat         Evalues expression repeatedly as long as condition is false,
+ expression;   returning the last value of expression
+until (condition)
+</source>
+        <translation>repeat            Evalúa la expresión repetidamente siempre que la condición sea falsa
+expresión; devuelve el último valor de la expresión
+hasta que (condición)
+</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="217"/>
+        <source>for (var x := 0; condition; x += 1) {  Repeatedly evaluates expression while the condition is true,
+ expression                    while evaluating the &apos;increment&apos; expression on each loop
+}</source>
+        <translation>for (var x := 0; condición; x += 1) {    Evalua repetidamente la expresión mientras la condición sea verdadera,
+ expresión                    mientras se evalúa la expresión de &apos;incremento&apos; en cada bucle
+}</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="218"/>
+        <source>break          Terminates the execution of the nearest enclosed loop, returning NaN</source>
+        <translation>break             Finaliza la ejecución del bucle cerrado más cercano, devolviendo NaN</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="219"/>
+        <source>break[x]               Terminates the execution of the nearest enclosed loop, returning x</source>
+        <translation>break[x]          Finaliza la ejecución del bucle cerrado más cercano, devolviendo x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="220"/>
+        <source>continue               Interrupts loop execution and resumes with the next loop iteration</source>
+        <translation>continue          Interrumpe la ejecución del bucle y se reanuda con la siguiente iteración de bucle</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="221"/>
+        <source>return[x]              Returns immediately from within the current expression, returning x</source>
+        <translation>return[x]         Devuelve inmediatamente desde la expresión actual, regresando x</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="222"/>
+        <source>~(expr; expr; ...)     Evaluates each sub-expression and returns the value of the last one
+~{expr; expr; ...}</source>
+        <translation>~(expr; expr; ...)        Evalúa cada subexpresión y devuelve el valor de la última
+~{expr; expr; ...}</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="234"/>
+        <source>Copy to expression</source>
+        <translation>Copiar a expresión</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="247"/>
+        <source>Basics</source>
+        <translation>Básicas</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="248"/>
+        <source>Functions 1</source>
+        <translation>Funciones 1</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="249"/>
+        <source>Functions 2</source>
+        <translation>Funciones 2</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="250"/>
+        <source>Trigonometry</source>
+        <translation>Trigonometría</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="251"/>
+        <source>Logic</source>
+        <translation>Lógica</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="252"/>
+        <source>Flow Control 1</source>
+        <translation>Flujo de control 1</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="253"/>
+        <source>Flow Control 2</source>
+        <translation>Flujo de control 2</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="254"/>
+        <source>Examples</source>
+        <translation>Ejemplos</translation>
+    </message>
+</context>
+<context>
+    <name>pv::views::trace::MathSignal</name>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="317"/>
+        <source>Expression</source>
+        <translation>Espresión</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="321"/>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="331"/>
+        <source>same as session</source>
+        <translation>igual que la sesión</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="322"/>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="332"/>
+        <source>100</source>
+        <translation>100</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="323"/>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="333"/>
+        <source>10000</source>
+        <translation>10000</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="324"/>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="334"/>
+        <source>1000000</source>
+        <translation>1000000</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="327"/>
+        <source>Number of Samples</source>
+        <translation>Número de muestras</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/mathsignal.cpp" line="335"/>
+        <source>Sample rate</source>
+        <translation>Tasa de muestreo</translation>
+    </message>
+</context>
 <context>
     <name>pv::views::trace::Ruler</name>
     <message>
         <location filename="../pv/views/trace/ruler.cpp" line="153"/>
         <source>Create marker here</source>
-        <translation>Crear marcador aqui</translation>
+        <translation>Crear marcador aquí</translation>
     </message>
     <message>
         <location filename="../pv/views/trace/ruler.cpp" line="157"/>
@@ -1485,12 +2101,12 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/views/trace/ruler.cpp" line="175"/>
         <source>Disable mouse hover marker</source>
-        <translation>Deshabilitar marcador de desplazamiento del mouse</translation>
+        <translation>Deshabilitar marcador de desplazamiento del ratón</translation>
     </message>
     <message>
         <location filename="../pv/views/trace/ruler.cpp" line="175"/>
         <source>Enable mouse hover marker</source>
-        <translation>Habilitar marcador de desplazamiento del mouse</translation>
+        <translation>Habilitar marcador de desplazamiento del ratón</translation>
     </message>
 </context>
 <context>
@@ -1501,7 +2117,12 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/signal.cpp" line="164"/>
+        <location filename="../pv/views/trace/signal.cpp" line="167"/>
+        <source>Remove</source>
+        <translation>Eliminar</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/trace/signal.cpp" line="169"/>
         <source>Disable</source>
         <translation>Deshabilitar</translation>
     </message>
@@ -1541,13 +2162,13 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
     <message>
         <location filename="../pv/views/trace/standardbar.cpp" line="95"/>
         <source>Display a single segment</source>
-        <translation>Mostrar solo un segmento</translation>
+        <translation>Mostrar un solo segmento</translation>
     </message>
 </context>
 <context>
     <name>pv::views::trace::TimeMarker</name>
     <message>
-        <location filename="../pv/views/trace/timemarker.cpp" line="191"/>
+        <location filename="../pv/views/trace/timemarker.cpp" line="198"/>
         <source>Time</source>
         <translation>Tiempo</translation>
     </message>
@@ -1555,17 +2176,17 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::views::trace::Trace</name>
     <message>
-        <location filename="../pv/views/trace/trace.cpp" line="206"/>
+        <location filename="../pv/views/trace/trace.cpp" line="229"/>
         <source>Create marker here</source>
         <translation>Crear marcador aquí</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/trace.cpp" line="315"/>
+        <location filename="../pv/views/trace/trace.cpp" line="338"/>
         <source>Color</source>
         <translation>Color</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/trace.cpp" line="380"/>
+        <location filename="../pv/views/trace/trace.cpp" line="403"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
@@ -1578,12 +2199,20 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>Desagrupar</translation>
     </message>
 </context>
+<context>
+    <name>pv::views::trace::View</name>
+    <message>
+        <location filename="../pv/views/trace/view.cpp" line="1610"/>
+        <source>Create marker here</source>
+        <translation>Crear marcador aquí</translation>
+    </message>
+</context>
 <context>
     <name>pv::widgets::DecoderGroupBox</name>
     <message>
         <location filename="../pv/widgets/decodergroupbox.cpp" line="48"/>
         <source>Show/hide this decoder trace</source>
-        <translation>Mostrar / ocultar este trazo de decodificador</translation>
+        <translation>Mostrar/ocultar este trazo de decodificador</translation>
     </message>
     <message>
         <location filename="../pv/widgets/decodergroupbox.cpp" line="58"/>
@@ -1594,8 +2223,8 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::widgets::DeviceToolButton</name>
     <message>
-        <location filename="../pv/widgets/devicetoolbutton.cpp" line="75"/>
-        <location filename="../pv/widgets/devicetoolbutton.cpp" line="82"/>
+        <location filename="../pv/widgets/devicetoolbutton.cpp" line="80"/>
+        <location filename="../pv/widgets/devicetoolbutton.cpp" line="87"/>
         <source>&lt;No Device&gt;</source>
         <translation>&lt;Sin dispositivo&gt;</translation>
     </message>