Skip to content

Commit

Permalink
Merge pull request #5036 from zapbot/crowdin-update
Browse files Browse the repository at this point in the history
Update localized resources
  • Loading branch information
thc202 authored Oct 26, 2023
2 parents 90d7764 + d75c47b commit c3174a6
Show file tree
Hide file tree
Showing 230 changed files with 3,200 additions and 1,304 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ automation.error.delay.badtime = Hora Inválida\: {0}
automation.error.element.unknown = Elemento no reconocido para la tarea {0}\: {1}
automation.error.env.auth.field.bad = Autenticación no válida {0}\: {1}
automation.error.env.auth.script.bad = No se puede leer el script de autenticación\: {0}
automation.error.env.auth.type.bad = Invalid authentication method\: {0}
automation.error.env.auth.type.bad = Método de autenticación inválido\: {0}
automation.error.env.badauth = Autenticación no válida en el contexto\: {0}
automation.error.env.badcontext = Contexto no válido en el entorno\: {0}
automation.error.env.badcontexts = Contextos no válidos en el entorno\: {0}
Expand Down Expand Up @@ -307,16 +307,16 @@ automation.error.options.badtype = Fallo al configurar {0}.{1} debido a tipo no
automation.error.options.method = Fallo al acceder a los métodos {0} para {1} \: {2}
automation.error.options.methods = Fallo al acceder a los métodos {0} para {1}
automation.error.options.unknown = Parámetro no reconocido para la tarea {0} \: {1}
automation.error.pscan.nooptions = Failed to access passive scan options for job {0}
automation.error.pscan.rule.unknown = Unrecognised passive scan rule id for job {0} \: {1}
automation.error.pscan.nooptions = Falló al acceder a las opciones de escaneo pasivo para la tarea {0}
automation.error.pscan.rule.unknown = Id de regla de escaneo pasivo no reconocida para la tarea {0} \: {1}
automation.error.read = No se puede leer el fichero\: {0}
automation.error.requestor.badcode = La tarea {0} tiene un código de respuesta inválido {1} en la petición \: {2}
automation.error.requestor.badheader = Headers should be a list\: {0}
automation.error.requestor.badheader = Las cabeceras deben ser una lista\: {0}
automation.error.requestor.badlist = Las peticiones deberían ser una lista\: {0}
automation.error.requestor.badnetwork = Error al enviar el mensaje {1} a la tarea {0} \: {2}
automation.error.requestor.badurl = La tarea {0} tiene URL inválida {1} de la petición \: {2}
automation.error.requestor.baduser = Tarea {0} usuario {1} no encontrado
automation.error.requestor.codemismatch = Difference in response code values for message {0} Expected \: {1} Received \: {2}
automation.error.requestor.codemismatch = Diferencia en los valores del código de respuesta para el mensaje {0} Esperado \: {1} Recibido \: {2}
automation.error.requestor.httpversion = La tarea {0} tiene una versión de HTTP inválida {1} en la petición \: {2}
automation.error.requestor.invalidmethod = La tarea {0} tiene un método inválido {1} en la petición \: {2}
automation.error.requestor.norequests = Falta cualquier peticion de la tarea {0}
Expand All @@ -325,39 +325,39 @@ automation.error.unexpected.internal = Error inesperado {0} - compruebe los logs
automation.error.urlsfound = Tarea {0} encontró únicamente {1} URLs, se esperaba al menos {2}
automation.error.write = No se puede escribir en el fichero\: {0}

automation.info.addons.noupdate = The updateAddons option has been disabled due to problems updating the framework and jobs while they are running
automation.info.ascan.rule.setstrength = Job {0} set rule {1} strength to {2}
automation.info.ascan.rule.setthreshold = Job {0} set rule {1} threshold to {2}
automation.info.ascan.setdefstrength = Job {0} set default strength to {1}
automation.info.ascan.setdefthreshold = Job {0} set default threshold to {1}
automation.info.delay.endjob = Job {0} ended by programmatic or API call
automation.info.delay.filecreated = Job {0} ended by creation of file {1}
automation.info.delay.interrupted = Job {0} interrupted
automation.info.delay.timeout = Job {0} ended after specified time {1}
automation.info.jobend = Job {0} finished, time taken\: {1}
automation.info.addons.noupdate = La opción updateAddons se ha desactivado debido a problemas para actualizar el framework y las tareas mientras se están ejecutando.
automation.info.ascan.rule.setstrength = Tarea {0} establece la regla {1} forzando a {2}
automation.info.ascan.rule.setthreshold = Tarea {0} establece la regla {1} umbral a {2}
automation.info.ascan.setdefstrength = Tarea {0} establece la fuerza por defecto a {1}
automation.info.ascan.setdefthreshold = Tarea {0} establece el umbral por defecto a {1}
automation.info.delay.endjob = Tarea {0} finalizada por llamada programática o API
automation.info.delay.filecreated = Tarea {0} finalizada por creación de fichero {1}
automation.info.delay.interrupted = Tarea {0} interrumpida
automation.info.delay.timeout = Tarea {0} terminada después del tiempo especificado {1}
automation.info.jobend = Tarea {0} terminada, tiempo empleado\: {1}
automation.info.jobstart = Tarea {0} iniciada
automation.info.jobstopped = Tarea {0} terminada
automation.info.pscan.rule.noid = Job {0} ignoring rule with no id
automation.info.pscan.rule.setthreshold = Job {0} set rule {1} threshold to {2}
automation.info.requrl = Job {0} requesting URL {1}
automation.info.requrluser = Job {0} requesting URL {1} with user {2}
automation.info.pscan.rule.noid = Tarea {0} ignorando la regla sin id
automation.info.pscan.rule.setthreshold = Tarea {0} establece la regla {1} umbral a {2}
automation.info.requrl = Tarea {0} solicitando URL {1}
automation.info.requrluser = Tarea {0} solicitando URL {1} con usuario {2}
automation.info.setparam = Tarea {0} definida {1} \= {2}
automation.info.urlsfound = Tarea {0} encontró {1} URLs

automation.name = Automation Framework
automation.name = Framework de Automatización

automation.optionspanel.name = Automatización
automation.optionspanel.option.openLastPlan.label = Open Last Plan on Start
automation.optionspanel.option.openLastPlan.label = Abrir Último Plan en Inicio

automation.out.info = \t{0}
automation.out.title.fail = Fallos en el plan de automatización\:
automation.out.title.good = ¡Plan de automatización exitoso\!
automation.out.title.warn = Advertencias del plan de automatización\:

automation.panel.load.error = YAML file loaded with errors\: {0}
automation.panel.load.failed = YAML file failed to load\: {0}
automation.panel.load.warning = YAML file loaded with warnings\: {0}
automation.panel.load.yaml = YAML Configuration Files
automation.panel.load.error = Archivo YAML cargado con errores\: {0}
automation.panel.load.failed = Error al cargar el archivo YAML\: {0}
automation.panel.load.warning = Archivo YAML cargado con advertencias\: {0}
automation.panel.load.yaml = Archivos de Configuración YAML
automation.panel.table.env.name = Entorno
automation.panel.table.header.info = Información
automation.panel.table.header.name = Nombre
Expand Down Expand Up @@ -388,51 +388,51 @@ automation.params.type.url = URL

automation.plan.current.unsaved = El plan de automatización actual

automation.tests.add = Job {0} adding test of type {1} \: {2}
automation.tests.alert.action.passIfAbsent = Pass if Absent
automation.tests.alert.action.passIfPresent = Pass if Present
automation.tests.alert.badregex = Job {0} has an invalid regex {1} in alert test {2} \: {3}
automation.tests.add = Tarea {0} añadiendo test de tipo {1} \: {2}
automation.tests.alert.action.passIfAbsent = Pasar si está Ausente
automation.tests.alert.action.passIfPresent = Pasar si está Presente
automation.tests.alert.badregex = Tarea {0} tiene una expresión regular inválida {1} en el test de alerta {2} \: {3}
automation.tests.alert.confidence.0 = Falso positivo
automation.tests.alert.confidence.1 = Bajo
automation.tests.alert.confidence.2 = Medio
automation.tests.alert.confidence.3 = Alto
automation.tests.alert.confidence.4 = Confirmed
automation.tests.alert.error.badaction = Job {0} test of type {1}\: invalid action {2}
automation.tests.alert.error.invalidscanruleid = Job {0} test of type ''{1}''\: invalid scanRuleId {2}
automation.tests.alert.invalidConfidence = Job {0} cannot create alert test {1}\: invalid confidence {2}
automation.tests.alert.invalidJobType = Job {0} does not support test of type alert
automation.tests.alert.invalidRisk = Job {0} cannot create alert test {1}\: invalid risk {2}
automation.tests.alert.nullExtension = Job {0} can not check for generated alerts as the Alert Extension is disabled
automation.tests.alert.reason = Alert with scanRuleId {0} was {1}
automation.tests.alert.confidence.4 = Confirmado
automation.tests.alert.error.badaction = Tarea de test {0} de tipo {1}\: acción inválida {2}
automation.tests.alert.error.invalidscanruleid = Tarea de test {0} de tipo ''{1}''\: scanRuleId inválida {2}
automation.tests.alert.invalidConfidence = Tarea {0} no puede crear el test de alerta {1}\: confianza inválida {2}
automation.tests.alert.invalidJobType = Tarea {0} no admite test de tipo alerta
automation.tests.alert.invalidRisk = Tarea {0} no puede crear el test de alerta {1}\: riesgo inválido {2}
automation.tests.alert.nullExtension = Tarea {0} no puede comprobar las alertas generadas porque la extensión de Alertas está desactivada.
automation.tests.alert.reason = Alerta con el scanRuleId {0} fue {1}
automation.tests.alert.risk.0 = Informativo
automation.tests.alert.risk.1 = Bajo
automation.tests.alert.risk.2 = Medio
automation.tests.alert.risk.3 = Alto
automation.tests.error.badonfail = Job {0} test of type {1}\: invalid onFail {2}
automation.tests.fail = Job {0} test of type {1} failed\: {2} [{3}]
automation.tests.error.badonfail = Tarea {0} test de tipo {1}\: onFail inválido {2}
automation.tests.fail = La tarea de test {0} de tipo {1} ha fallado\: {2} [{3}]
automation.tests.invalidOnFail = No se puede crear la prueba {0}\: valor enFallo no válido {1}
automation.tests.invalidType = Unknown test type {0}
automation.tests.invalidType = Tipo de test desconocido
automation.tests.missingOrInvalidProperties = La tarea {0} omitió una prueba de tipo ''{1}'' con propiedades faltantes o no válidas
automation.tests.monitor.error.nostatistic = Job ''{1}'' test of type ''{0}'' missing statistic
automation.tests.monitor.error.nothreshold = Job ''{1}'' test of type ''{0}'' missing threshold
automation.tests.monitor.nullInMemoryStats = Job ''{0}'' in memory stats haven''t been initialised, monitor tests may give unexpected results
automation.tests.monitor.error.nostatistic = Falta estadística de test de la tarea ''{1}'' del tipo ''{0}''
automation.tests.monitor.error.nothreshold = Falta el umbral de test de la tarea ''{1}'' del tipo ''{0}''
automation.tests.monitor.nullInMemoryStats = Tarea ''{0}'' en las estadísticas de memoria no ha sido inicializado, los test de monitorización pueden dar resultados inesperados
automation.tests.monitor.summary = {0}\: {1} < {2}
automation.tests.monitorNotSupported = Monitor tests not supported for job {0} type {1}
automation.tests.pass = Job {0} test of type {1} passed\: {2} [{3}]
automation.tests.stats.error.badoperator = Job {0} test of type {1}\: invalid operator {2}
automation.tests.stats.error.nooperator = Job {0} test of type ''{1}'' missing operator
automation.tests.stats.error.nostatistic = Job {0} test of type ''{1}'' missing statistic
automation.tests.stats.error.novalue = Job {0} test of type ''{1}'' missing value
automation.tests.stats.nullInMemoryStats = Job {0} in memory stats haven''t been initialised, stats tests may give unexpected results
automation.tests.monitorNotSupported = Tests de monitorización no soportadas para el trabajo {0} tipo {1}
automation.tests.pass = Test de la tarea {0} de tipo {1} superada\: {2} [{3}]
automation.tests.stats.error.badoperator = Tarea de test {0} de tipo {1}\: operador inválido {2}
automation.tests.stats.error.nooperator = Falta el operador de test de la tarea {0} del tipo ''{1}''
automation.tests.stats.error.nostatistic = Falta estadística de test de la tarea {0} del tipo ''{1}''
automation.tests.stats.error.novalue = Test de la tarea {0} del tipo ''{1}'' valor omitido
automation.tests.stats.nullInMemoryStats = Tarea {0} en las estadísticas de la memoria no se ha inicializado; los tests de estadísticas pueden dar resultados inesperados
automation.tests.stats.summary = {0}\: {1} {2} {3}
automation.tests.url.badOperator = Job {0} test of type {1}\: invalid operator {2}. Allowed operators are "and" and "or".
automation.tests.url.badregex = Job {0} has an invalid regex {1} in URL test {2} \: {3}.
automation.tests.url.error = Job {0} URL test {1} failed. Test Type\: {2}. Error\: {3}.
automation.tests.url.error.badoperator = Job {0} test of type {1}\: invalid operator.
automation.tests.url.error.badurl = Job {1} test of type {0}\: has bad URL {2}. Exception {3}.
automation.tests.url.error.noMessage = No HTTP message was found for Job {0} test {1} of type {2}.
automation.tests.url.fail = Job {0} test type {1} has failed. Test Name\: {2}.
automation.tests.url.pass = Job {0} test type {1} has passed. Test Name\: {2}.
automation.tests.url.siteTreeNotFound = Job {0} test {1} of type {2} failed\: Sites tree not found.
automation.tests.url.badOperator = Test de la tarea {0} de tipo {1}\: operador inválido {2}. Los operadores permitidos son "and" y "or".
automation.tests.url.badregex = La Tarea {0} tiene una expresión regular {1} no válida en el test de URL {2}\: {3}.
automation.tests.url.error = Error en el test de la URL {1} del trabajo {0}. Tipo de test\: {2}. Error\: {3}.
automation.tests.url.error.badoperator = Test de la tarea {0} de tipo {1}\: operador inválido.
automation.tests.url.error.badurl = Test de la tarea {1} de tipo {0}\: tiene una URL incorrecta {2}. Excepción {3}.
automation.tests.url.error.noMessage = No se ha encontrado ningún mensaje HTTP para la Tarea {0} test {1} de tipo {2}.
automation.tests.url.fail = El test de la tarea {1} de tipo {0} ha fallado. Nombre del test\: {2}.
automation.tests.url.pass = Test de la tarea {0} de tipo {1} ha pasado. Nombre del test\: {2}.
automation.tests.url.siteTreeNotFound = Tarea {0} test {1} de tipo {2}\: no se encontró el árbol de Sitios.

automation.topmenu.tools.genconffile = Generar ficheros de automatización con los ficheros de configuración ...
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>
Client Side Integration - AJAX Spider Enhancement
</TITLE>
</HEAD>
<BODY>
<H1>Client Side Integration - AJAX Spider Enhancement</H1>

The AJAX Spider works by launching browsers, clicking links, and filling in fields.
It is an effective way to crawl modern web apps but it is not able to directly access the DOM.
<p>
The browser extensions included in this add-on can access the DOM and stream specific events back to ZAP.
<p>
This add-on listens for AJAX Spider events and when the spider has finished it then examines the Client Map
to see if it can find any URLs which were referenced by the DOM but which have not been accessed by ZAP.
<p>
If it finds any 'missed' URLs that were part of the AJAX Spider scan scope then it makes direct requests to these URLs.
You will be able to see these requests in the History, Sites Tree, and Output tabs.

</BODY>
</HTML>
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ <H1>Client Side Integration</H1>

This add-on adds a ZAP browser extension to both Firefox and Chrome when they are launched from ZAP.
<p>
The extensions stream significant browser based events back to ZAP, giving ZAP an insight into what is going on in the browser.
<p>
If you do not launch your browser(s) from ZAP then you can still install these extensions directly from the relevant stores:

<ul>
Expand All @@ -18,7 +20,57 @@ <H1>Client Side Integration</H1>
</ul>

Note that you may need to configure the extensions via their options pages to update the host and API key.

<h2>User Interface</h2>

The add-on adds 3 new tabs to ZAP:

<h3>Client Map</h3>

The Client Map is a hierarchical representation of the sites visited, and is similar in some ways to the Sites Tree.
It includes nodes which represent URLs and ones which represent browser based storage.
<p>
Unlike the Sites Tree it includes <a href="https://en.wikipedia.org/wiki/URI_fragment">URI fragments</a> which ZAP cannot otherwise see.
This means that the Client Map looks very different to the Sites tree for modern web apps, and may give you a better understanding of the
client side structure of the sites.
<p>
Any leaf nodes in the Map with a small red 'minus' sign represent URLs which have been found in the DOM but which have not been directly accessed by ZAP.
<p>
Selecting a node that has been visited by ZAP will display details about that node in the Client Details tab.

<h3>Client Details</h3>

The Client Details tab shows details about Client Map nodes.
<p>
The types of data displayed include:
<ul>
<li>Button: Buttons detected in the DOM
<li>Cookies: Cookies set in the browser
<li>FORM: Forms detected in the DOM
<li>Input: Input elements detected in the DOM
<li>Link: Links detected in the DOM
</ul>

<h3>Client History</h3>

The Client History tab shows all of the client side events sent from the browser extension to ZAP.
<p>
In addition to the data displayed in the Client Details tab it also includes:

<ul>
<li>DOM Mutation: Browser <a href="https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver">MutationObserver</a> event
<li>Node Added: A DOM node added to the specified URL
<li>Page Load: Browser <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event">load</a> event
<li>Page Unload: Browser <a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event">unload</a> event
</ul>

<h2>AJAX Spider Enhancement</h2>

This add-on provides an <a href="ajax-scan.html">AJAX Spider Enhancement</a> which can detect URLs referenced in the DOM which were not
be accessed by the spider.

<h2>Firefox Profile</h2>

It also creates a <a href="firefox-profile.html">Firefox profile</a> and sets it as the default profile that ZAP will use.

<p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<index version="2.0">
<!-- index entries are merged (sorted) into core index -->
<indexitem text="client" target="addon.client"/>
<indexitem text="client firefox profile" target="addon.client.ajaxscan"/>
<indexitem text="client firefox profile" target="addon.client.fxprofile"/>
<indexitem text="client internals" target="addon.client.internals"/>
</index>
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<tocitem text="ZAP User Guide" tocid="toplevelitem">
<tocitem text="Add Ons" tocid="addons">
<tocitem text="Client Side Integration" image="client-icon" target="addon.client">
<tocitem text="AJAX Spider Enhancement" target="addon.client.ajaxscan"/>
<tocitem text="Firefox Profile" target="addon.client.fxprofile"/>
<tocitem text="Internals" target="addon.client.internals"/>
</tocitem>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>
Client Side Integration - AJAX Spider Enhancement
</TITLE>
</HEAD>
<BODY>
<H1>Client Side Integration - AJAX Spider Enhancement</H1>

The AJAX Spider works by launching browsers, clicking links, and filling in fields.
It is an effective way to crawl modern web apps but it is not able to directly access the DOM.
<p>
The browser extensions included in this add-on can access the DOM and stream specific events back to ZAP.
<p>
This add-on listens for AJAX Spider events and when the spider has finished it then examines the Client Map
to see if it can find any URLs which were referenced by the DOM but which have not been accessed by ZAP.
<p>
If it finds any 'missed' URLs that were part of the AJAX Spider scan scope then it makes direct requests to these URLs.
You will be able to see these requests in the History, Sites Tree, and Output tabs.

</BODY>
</HTML>
Loading

0 comments on commit c3174a6

Please sign in to comment.