]> sigrok.org Git - pulseview.git/blobdiff - l10n/es_mx.ts
Update German translation
[pulseview.git] / l10n / es_mx.ts
index 7e9d60024055a8913ca10d9aeb6ff3a83e990a70..8562a9f4578f2274c229f5b2d357cd34ca9940c8 100644 (file)
@@ -4,7 +4,7 @@
 <context>
     <name>Application</name>
     <message>
-        <location filename="../pv/application.cpp" line="121"/>
+        <location filename="../pv/application.cpp" line="129"/>
         <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 aún pueden usar el idioma anterior. Volver a abrir las ventanas afectadas o reiniciar la aplicación solucionará esto.</translation>
     </message>
@@ -35,7 +35,7 @@
 <context>
     <name>QHexView</name>
     <message>
-        <location filename="../pv/views/decoder_binary/QHexView.cpp" line="288"/>
+        <location filename="../pv/views/decoder_binary/QHexView.cpp" line="291"/>
         <source>No data available</source>
         <translation>Datos no disponibles</translation>
     </message>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../main.cpp" line="113"/>
+        <location filename="../main.cpp" line="114"/>
         <source>Stack trace of previous crash:</source>
         <translation>Stack trace de crash previo:</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="127"/>
+        <location filename="../main.cpp" line="128"/>
         <source>Don&apos;t show this message again</source>
         <translation>No mostrar este mensaje de nuevo</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="130"/>
+        <location filename="../main.cpp" line="131"/>
         <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>
@@ -72,66 +72,66 @@ A human-readable form has been saved to disk and was written to the log. You may
 <context>
     <name>pv::MainWindow</name>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="69"/>
+        <location filename="../pv/mainwindow.cpp" line="70"/>
         <source>PulseView</source>
         <translation>PulseView</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="276"/>
+        <location filename="../pv/mainwindow.cpp" line="279"/>
         <source>Decoder Selector</source>
         <translation>Selección de decoder</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="329"/>
+        <location filename="../pv/mainwindow.cpp" line="332"/>
         <source>Session %1</source>
         <translation>Sesión %1</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="511"/>
+        <location filename="../pv/mainwindow.cpp" line="514"/>
         <source>Create New Session</source>
         <translation>Crear Nueva Sesión</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="517"/>
+        <location filename="../pv/mainwindow.cpp" line="520"/>
         <source>Start/Stop Acquisition</source>
         <translation>Iniciar/Detener Adquisición</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="525"/>
+        <location filename="../pv/mainwindow.cpp" line="528"/>
         <source>Settings</source>
         <translation>Configuraciones</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="577"/>
+        <location filename="../pv/mainwindow.cpp" line="580"/>
         <source>Reload</source>
         <translation>Recargar</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="577"/>
         <location filename="../pv/mainwindow.cpp" line="580"/>
+        <location filename="../pv/mainwindow.cpp" line="583"/>
         <source>Run</source>
         <translation>Ejecutar</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="586"/>
+        <location filename="../pv/mainwindow.cpp" line="589"/>
         <source>Stop</source>
         <translation>Detener</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="632"/>
-        <location filename="../pv/mainwindow.cpp" line="826"/>
-        <location filename="../pv/mainwindow.cpp" line="852"/>
+        <location filename="../pv/mainwindow.cpp" line="635"/>
+        <location filename="../pv/mainwindow.cpp" line="829"/>
+        <location filename="../pv/mainwindow.cpp" line="855"/>
         <source>Confirmation</source>
         <translation>Confirmación</translation>
     </message>
     <message>
-        <location filename="../pv/mainwindow.cpp" line="633"/>
+        <location filename="../pv/mainwindow.cpp" line="636"/>
         <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="827"/>
-        <location filename="../pv/mainwindow.cpp" line="853"/>
+        <location filename="../pv/mainwindow.cpp" line="830"/>
+        <location filename="../pv/mainwindow.cpp" line="856"/>
         <source>This session contains unsaved data. Close it anyway?</source>
         <translation>Esta sesión contiene datos sin almacenar. Cerrar de todos modos?</translation>
     </message>
@@ -139,47 +139,51 @@ A human-readable form has been saved to disk and was written to the log. You may
 <context>
     <name>pv::Session</name>
     <message>
-        <location filename="../pv/session.cpp" line="481"/>
+        <location filename="../pv/session.cpp" line="521"/>
         <source>Failed to select device</source>
         <translation>Error al seleccionar dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="530"/>
+        <location filename="../pv/session.cpp" line="578"/>
         <source>Failed to open device</source>
         <translation>Error al abrir dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="632"/>
+        <location filename="../pv/session.cpp" line="684"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="633"/>
         <source>Unexpected input format: %s</source>
-        <translation>Formato de entrada inesperado: %s</translation>
+        <translation type="vanished">Formato de entrada inesperado: %s</translation>
+    </message>
+    <message>
+        <location filename="../pv/session.cpp" line="685"/>
+        <source>Unexpected input format: %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="668"/>
+        <location filename="../pv/session.cpp" line="720"/>
         <source>Failed to load %1</source>
         <translation>Error al cargar %1</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="703"/>
+        <location filename="../pv/session.cpp" line="759"/>
         <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="716"/>
+        <location filename="../pv/session.cpp" line="772"/>
         <source>No channels enabled.</source>
         <translation>No hay canales habilitados.</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="1171"/>
+        <location filename="../pv/session.cpp" line="1261"/>
         <source>Out of memory, acquisition stopped.</source>
         <translation>Sin memoria, la adquisición se detuvo.</translation>
     </message>
     <message>
-        <location filename="../pv/session.cpp" line="1377"/>
+        <location filename="../pv/session.cpp" line="1467"/>
         <source>Can&apos;t handle more than 64 logic channels.</source>
         <translation>No puede manejar más de 64 canales lógicos.</translation>
     </message>
@@ -216,32 +220,32 @@ 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="194"/>
+        <location filename="../pv/data/decodesignal.cpp" line="198"/>
         <source>No decoders</source>
         <translation>Sin decodificadores</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="201"/>
+        <location filename="../pv/data/decodesignal.cpp" line="205"/>
         <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="215"/>
+        <location filename="../pv/data/decodesignal.cpp" line="219"/>
         <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="234"/>
+        <location filename="../pv/data/decodesignal.cpp" line="238"/>
         <source>No input data</source>
         <translation>Sin datos de entrada</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="1160"/>
+        <location filename="../pv/data/decodesignal.cpp" line="1180"/>
         <source>Decoder reported an error</source>
         <translation>El decodificador reportó un error</translation>
     </message>
     <message>
-        <location filename="../pv/data/decodesignal.cpp" line="1296"/>
+        <location filename="../pv/data/decodesignal.cpp" line="1316"/>
         <source>Failed to create decoder instance</source>
         <translation>Error al crear la instancia del decodificador</translation>
     </message>
@@ -249,52 +253,52 @@ A human-readable form has been saved to disk and was written to the log. You may
 <context>
     <name>pv::data::SignalBase</name>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="409"/>
+        <location filename="../pv/data/signalbase.cpp" line="485"/>
         <source>Signal average</source>
         <translation>Promedio de la señal</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="410"/>
+        <location filename="../pv/data/signalbase.cpp" line="486"/>
         <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="411"/>
+        <location filename="../pv/data/signalbase.cpp" line="487"/>
         <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="412"/>
+        <location filename="../pv/data/signalbase.cpp" line="488"/>
         <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="413"/>
+        <location filename="../pv/data/signalbase.cpp" line="489"/>
         <source>1.5V (for TTL)</source>
         <translation>1.5V (para TTL)</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="418"/>
+        <location filename="../pv/data/signalbase.cpp" line="494"/>
         <source>Signal average +/- 15%</source>
         <translation>Promedio de la señal +/- 15%</translation>
     </message>
     <message>
-        <location filename="../pv/data/signalbase.cpp" line="419"/>
+        <location filename="../pv/data/signalbase.cpp" line="495"/>
         <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="420"/>
+        <location filename="../pv/data/signalbase.cpp" line="496"/>
         <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="421"/>
+        <location filename="../pv/data/signalbase.cpp" line="497"/>
         <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="422"/>
+        <location filename="../pv/data/signalbase.cpp" line="498"/>
         <source>0.8V/2.0V (for TTL)</source>
         <translation>0.8V/2.0V (para TTL)</translation>
     </message>
@@ -589,32 +593,37 @@ A human-readable form has been saved to disk and was written to the log. You may
         <translation>Decodificadores de protocolo soportados:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="537"/>
+        <location filename="../pv/dialogs/settings.cpp" line="504"/>
+        <source>Available Translations:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/dialogs/settings.cpp" line="552"/>
         <source>Log level:</source>
         <translation>Nivel de log:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="542"/>
+        <location filename="../pv/dialogs/settings.cpp" line="557"/>
         <source> lines</source>
         <translation> líneas</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="551"/>
+        <location filename="../pv/dialogs/settings.cpp" line="566"/>
         <source>Length of background buffer:</source>
         <translation>Longitud del búfer de fondo:</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="557"/>
+        <location filename="../pv/dialogs/settings.cpp" line="572"/>
         <source>&amp;Save to File</source>
         <translation>&amp;Guardar en archivo</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="564"/>
+        <location filename="../pv/dialogs/settings.cpp" line="579"/>
         <source>&amp;Pop out</source>
         <translation>&amp;Pop out</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="633"/>
+        <location filename="../pv/dialogs/settings.cpp" line="648"/>
         <source>You selected a dark theme.
 Should I set the user-adjustable colors to better suit your choice?
 
@@ -622,7 +631,7 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <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 mostrar correctamente.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="639"/>
+        <location filename="../pv/dialogs/settings.cpp" line="654"/>
         <source>You selected a bright theme.
 Should I set the user-adjustable colors to better suit your choice?
 
@@ -630,37 +639,37 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <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 mostrar correctamente.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="792"/>
+        <location filename="../pv/dialogs/settings.cpp" line="807"/>
         <source>Save Log</source>
         <translation>Guardar log</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="792"/>
+        <location filename="../pv/dialogs/settings.cpp" line="807"/>
         <source>Log Files (*.txt *.log);;All Files (*)</source>
         <translation>Archivos de log (*.txt *.log);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="804"/>
+        <location filename="../pv/dialogs/settings.cpp" line="819"/>
         <source>Success</source>
         <translation>Éxito</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="804"/>
+        <location filename="../pv/dialogs/settings.cpp" line="819"/>
         <source>Log saved to %1.</source>
         <translation>Log guardado en %1.</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="814"/>
+        <location filename="../pv/dialogs/settings.cpp" line="829"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/dialogs/settings.cpp" line="814"/>
+        <location filename="../pv/dialogs/settings.cpp" line="829"/>
         <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="828"/>
+        <location filename="../pv/dialogs/settings.cpp" line="843"/>
         <source>%1 Log</source>
         <translation>%1 Log</translation>
     </message>
@@ -841,166 +850,175 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::toolbars::MainBar</name>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="120"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="121"/>
         <source>New &amp;View</source>
         <translation>Nueva &amp;Vista</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="126"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="127"/>
         <source>&amp;Open...</source>
         <translation>&amp;Abrir...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="133"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="134"/>
         <source>Restore Session Setu&amp;p...</source>
         <translation>Restaurar Configu&amp;ración de Sesión...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="137"/>
         <source>&amp;Save As...</source>
-        <translation>G&amp;uardar Como...</translation>
+        <translation type="vanished">G&amp;uardar Como...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="144"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="138"/>
+        <source>&amp;Save...</source>
+        <translation type="unfinished">&amp;Guardar...</translation>
+    </message>
+    <message>
+        <location filename="../pv/toolbars/mainbar.cpp" line="145"/>
+        <source>Save &amp;As...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/toolbars/mainbar.cpp" line="151"/>
         <source>Save Selected &amp;Range As...</source>
         <translation>Guardar &amp;Rango Seleccionado Como...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="151"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="158"/>
         <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="157"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="164"/>
         <source>&amp;Export</source>
         <translation>&amp;Exporta</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="163"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="170"/>
         <source>&amp;Import</source>
         <translation>&amp;Importa</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="167"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="174"/>
         <source>&amp;Connect to Device...</source>
         <translation>&amp;Conecta a Dispositivo...</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="228"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="236"/>
         <source>Add protocol decoder</source>
         <translation>Agregar decodificador de protocolo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="244"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="252"/>
         <source>Configure Device</source>
         <translation>Configura Dispositivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="248"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="256"/>
         <source>Configure Channels</source>
         <translation>Configura Canales</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="357"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="370"/>
         <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="420"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="433"/>
         <source>Failed to get sample rate:</source>
         <translation>Error al obtener la lista de frecuencia de muestreo:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="461"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="474"/>
         <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="551"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="564"/>
         <source>Failed to configure samplerate:</source>
         <translation>Error al configurar frecuencia de muestreo:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="578"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="591"/>
         <source>Failed to configure sample count:</source>
         <translation>Error al configurar cuenta de muestras:</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="616"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="629"/>
         <source>Missing Cursors</source>
         <translation>Cursores Faltantes</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="616"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="629"/>
         <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>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="634"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="647"/>
         <source>Invalid Range</source>
         <translation>Rango Inválido</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="634"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="647"/>
         <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="646"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="659"/>
         <source>%1 files </source>
         <translation>%1 archivos </translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="654"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="699"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="667"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="717"/>
         <source>All Files</source>
         <translation>Todos los archivos</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="658"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="817"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="671"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="848"/>
         <source>Save File</source>
         <translation>Guardar Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="670"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="683"/>
         <source>Export %1</source>
         <translation>Exporta %1</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="696"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="714"/>
         <source>%1 files</source>
         <translation>%1 archivos</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="707"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="725"/>
         <source>Import File</source>
         <translation>Importa Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="716"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="734"/>
         <source>Import %1</source>
         <translation>Importa %1</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="789"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="834"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="807"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="865"/>
         <source>Open File</source>
         <translation>Abrir Archivo</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="789"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="807"/>
         <source>sigrok Sessions (*.sr);;All Files (*)</source>
         <translation>Sesiones sigrok (*sr);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/toolbars/mainbar.cpp" line="817"/>
-        <location filename="../pv/toolbars/mainbar.cpp" line="834"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="848"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="865"/>
         <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="895"/>
+        <location filename="../pv/toolbars/mainbar.cpp" line="926"/>
         <source>Total sampling time: %1</source>
         <translation>Tiempo de muestreo total: %1</translation>
     </message>
@@ -1056,85 +1074,166 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
         <translation>Hex Dumps (*.txt);;Todos los archivos (*)</translation>
     </message>
 </context>
+<context>
+    <name>pv::views::tabular_decoder::AnnotationCollectionModel</name>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="56"/>
+        <source>Sample</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="57"/>
+        <source>Time</source>
+        <translation type="unfinished">Tiempo</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="58"/>
+        <source>Decoder</source>
+        <translation type="unfinished">Decoder</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="59"/>
+        <source>Ann Row</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="60"/>
+        <source>Ann Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="61"/>
+        <source>Value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="83"/>
+        <source>s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/model.cpp" line="83"/>
+        <source>sa</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>pv::views::tabular_decoder::View</name>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="176"/>
+        <source>Decoder:</source>
+        <translation type="unfinished">Decodificador:</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="198"/>
+        <source>Hide Hidden Rows/Classes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="202"/>
+        <source>&amp;Save...</source>
+        <translation type="unfinished">&amp;Guardar...</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="374"/>
+        <source>Save Annotations as CSV</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="374"/>
+        <source>CSV Files (*.csv);;Text Files (*.txt);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="442"/>
+        <source>Error</source>
+        <translation type="unfinished">Error</translation>
+    </message>
+    <message>
+        <location filename="../pv/views/tabular_decoder/view.cpp" line="442"/>
+        <source>File %1 could not be written to.</source>
+        <translation type="unfinished">No se pudo escribir en el archivo%1.</translation>
+    </message>
+</context>
 <context>
     <name>pv::views::trace::AnalogSignal</name>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="988"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="994"/>
         <source>Number of pos vertical divs</source>
         <translation>Número de divisiones verticales pos</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="995"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1001"/>
         <source>Number of neg vertical divs</source>
         <translation>Número de divisiones verticales neg</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1000"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1006"/>
         <source> pixels</source>
         <translation> píxeles</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1004"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1010"/>
         <source>Div height</source>
         <translation>Altura de div</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1021"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1027"/>
         <source>V/div</source>
         <translation>V/div</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1025"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1031"/>
         <source>Vertical resolution</source>
         <translation>Resolución vertical</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1034"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1040"/>
         <source>Autoranging</source>
         <translation>Autorango</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1039"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1045"/>
         <source>none</source>
         <translation>ninguna</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1041"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1047"/>
         <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="1043"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1049"/>
         <source>to logic via schmitt-trigger</source>
         <translation>a nivel lógico a partir de schmitt trigger</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1049"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1055"/>
         <source>Conversion</source>
         <translation>Conversión</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1058"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1064"/>
         <source>Conversion threshold(s)</source>
         <translation>Umbral(es) de conversión</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1068"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1074"/>
         <source>analog</source>
         <translation>análogo</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1069"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1075"/>
         <source>converted</source>
         <translation>convertida</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1070"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1076"/>
         <source>analog+converted</source>
         <translation>Analógico+convertido</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/analogsignal.cpp" line="1075"/>
+        <location filename="../pv/views/trace/analogsignal.cpp" line="1081"/>
         <source>Show traces for</source>
         <translation>Mostrar trazos para</translation>
     </message>
@@ -1168,118 +1267,118 @@ 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="448"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="449"/>
         <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 el stack.&lt;/i&gt;&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="459"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="460"/>
         <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="463"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="464"/>
         <source>Stack Decoder</source>
         <translation>Decodificadores</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="464"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="465"/>
         <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="478"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="479"/>
         <source>Delete</source>
         <translation>Eliminar</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="520"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="521"/>
         <source>Resume decoding</source>
         <translation>Reanudar decodificación</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="527"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="528"/>
         <source>Pause decoding</source>
         <translation>Pausar decodificación</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="535"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="536"/>
         <source>Copy annotation text to clipboard</source>
         <translation>Copiar texto de anotación al clipboard</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="544"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="545"/>
         <source>Export all annotations</source>
         <translation>Exportar todas las anotaciones</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="551"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="552"/>
         <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="560"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="561"/>
         <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="567"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="568"/>
         <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="576"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="577"/>
         <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="583"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="584"/>
         <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="1100"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1076"/>
         <source>%1:
 %2</source>
         <translation>%1\n%2</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1144"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1120"/>
         <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="1214"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1190"/>
         <source>Export annotations</source>
         <translation>Exportar anotaciones</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1214"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1190"/>
         <source>Text Files (*.txt);;All Files (*)</source>
         <translation>Archivos de texto (*.txt *.log);;Todos los archivos (*)</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1279"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1255"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1279"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1255"/>
         <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="1332"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1308"/>
         <source>Show this row</source>
         <translation>Muestra esta fila</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1343"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1319"/>
         <source>Show All</source>
         <translation>Muestra todo</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/decodetrace.cpp" line="1351"/>
+        <location filename="../pv/views/trace/decodetrace.cpp" line="1327"/>
         <source>Hide All</source>
         <translation>Oculta todo</translation>
     </message>
@@ -1389,12 +1488,12 @@ Please keep in mind that PulseView may need a restart to display correctly.</sou
 <context>
     <name>pv::views::trace::Signal</name>
     <message>
-        <location filename="../pv/views/trace/signal.cpp" line="148"/>
+        <location filename="../pv/views/trace/signal.cpp" line="153"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../pv/views/trace/signal.cpp" line="159"/>
+        <location filename="../pv/views/trace/signal.cpp" line="164"/>
         <source>Disable</source>
         <translation>Deshabilitar</translation>
     </message>