{
  "core/audits/accessibility/accesskeys.js | description": {
    "message": "Las claves de acceso permiten a los usuarios dirigirse rápidamente a una parte concreta de la página. Para facilitar una navegación correcta, las claves de acceso deben ser únicas. [Obtén más información sobre las claves de acceso](https://dequeuniversity.com/rules/axe/4.11/accesskeys)."
  },
  "core/audits/accessibility/accesskeys.js | failureTitle": {
    "message": "Los valores de `[accesskey]` no son únicos"
  },
  "core/audits/accessibility/accesskeys.js | title": {
    "message": "Los valores de `[accesskey]` son únicos"
  },
  "core/audits/accessibility/aria-allowed-attr.js | description": {
    "message": "Cada `role` de ARIA admite un subconjunto específico de atributos de `aria-*`. Si no coinciden estos valores, los atributos de `aria-*` no serán válidos. [Obtén más información para hacer coincidir los atributos de ARIA con sus roles](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-attr)."
  },
  "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
    "message": "Los atributos `[aria-*]` no coinciden con sus roles"
  },
  "core/audits/accessibility/aria-allowed-attr.js | title": {
    "message": "Los atributos `[aria-*]` coinciden con sus roles"
  },
  "core/audits/accessibility/aria-allowed-role.js | description": {
    "message": "Muchos elementos HTML solo pueden tener ciertos roles de ARIA Si usas roles de ARIA en los que no se permiten, es posible que interfieran con la accesibilidad de la página web. [Obtén más información sobre los roles de ARIA](https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role)."
  },
  "core/audits/accessibility/aria-allowed-role.js | failureTitle": {
    "message": "Usa roles de ARIA en elementos incompatibles"
  },
  "core/audits/accessibility/aria-allowed-role.js | title": {
    "message": "Usa roles de ARIA solo en elementos compatibles"
  },
  "core/audits/accessibility/aria-command-name.js | description": {
    "message": "Si un elemento no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén información para hacer que los elementos de comando sean más accesibles](https://dequeuniversity.com/rules/axe/4.11/aria-command-name)."
  },
  "core/audits/accessibility/aria-command-name.js | failureTitle": {
    "message": "Los elementos `button`, `link` y `menuitem` no tienen nombres aptos para la accesibilidad."
  },
  "core/audits/accessibility/aria-command-name.js | title": {
    "message": "Los elementos `button`, `link` y `menuitem` tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-conditional-attr.js | description": {
    "message": "Algunos atributos de ARIA solo se permiten en un elemento si se cumplen determinadas condiciones. [Obtén más información sobre los atributos de ARIA condicionales](https://dequeuniversity.com/rules/axe/4.11/aria-conditional-attr)."
  },
  "core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
    "message": "Los atributos de ARIA no se usan según lo especificado para el rol del elemento"
  },
  "core/audits/accessibility/aria-conditional-attr.js | title": {
    "message": "Los atributos de ARIA se usan según lo especificado para el rol del elemento"
  },
  "core/audits/accessibility/aria-deprecated-role.js | description": {
    "message": "Es posible que la tecnología de accesibilidad no procese correctamente los roles de ARIA obsoletos. [Obtén más información sobre los roles de ARIA obsoletos](https://dequeuniversity.com/rules/axe/4.11/aria-deprecated-role)."
  },
  "core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
    "message": "Se usaron roles de ARIA obsoletos"
  },
  "core/audits/accessibility/aria-deprecated-role.js | title": {
    "message": "No se usaron roles de ARIA obsoletos"
  },
  "core/audits/accessibility/aria-dialog-name.js | description": {
    "message": "Los elementos de diálogo ARIA sin nombres de accesibilidad pueden impedir que los usuarios de lectores de pantalla distingan el propósito de estos elementos. [Obtén información para lograr que los elementos de diálogo ARIA sean más accesibles](https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name)."
  },
  "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
    "message": "Los elementos con `role=\"dialog\"` o `role=\"alertdialog\"` no tienen nombres de accesibilidad."
  },
  "core/audits/accessibility/aria-dialog-name.js | title": {
    "message": "Los elementos con `role=\"dialog\"` o `role=\"alertdialog\"` tienen nombres de accesibilidad."
  },
  "core/audits/accessibility/aria-hidden-body.js | description": {
    "message": "Si se configura `aria-hidden=\"true\"` en el documento `<body>`, las tecnologías de accesibilidad, como los lectores de pantalla, funcionarán de forma inconsistente. [Obtén información sobre cómo `aria-hidden` afecta el cuerpo del documento](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-body)."
  },
  "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
    "message": "`[aria-hidden=\"true\"]` aparece en el documento `<body>`"
  },
  "core/audits/accessibility/aria-hidden-body.js | title": {
    "message": "`[aria-hidden=\"true\"]` no aparece en el documento `<body>`"
  },
  "core/audits/accessibility/aria-hidden-focus.js | description": {
    "message": "Los objetos descendentes enfocables dentro de un elemento de `[aria-hidden=\"true\"]` impiden que esos elementos interactivos estén disponibles para los usuarios de tecnologías de accesibilidad, como los lectores de pantalla. [Obtén información sobre cómo`aria-hidden` afecta a los elementos enfocables](https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus)."
  },
  "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
    "message": "Los elementos de `[aria-hidden=\"true\"]` contienen objetos descendentes enfocables"
  },
  "core/audits/accessibility/aria-hidden-focus.js | title": {
    "message": "Los elementos de `[aria-hidden=\"true\"]` no contienen objetos descendentes enfocables"
  },
  "core/audits/accessibility/aria-input-field-name.js | description": {
    "message": "Si un campo de entrada no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén más información sobre las etiquetas de los campos de entrada](https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name)."
  },
  "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
    "message": "Los campos de entrada de ARIA no tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-input-field-name.js | title": {
    "message": "Los campos de entrada de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-meter-name.js | description": {
    "message": "Si un elemento del medidor no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén más información para nombrar elementos `meter` ](https://dequeuniversity.com/rules/axe/4.11/aria-meter-name)."
  },
  "core/audits/accessibility/aria-meter-name.js | failureTitle": {
    "message": "Los elementos `meter` de ARIA no tienen nombres aptos para la accesibilidad."
  },
  "core/audits/accessibility/aria-meter-name.js | title": {
    "message": "Los elementos `meter` de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-progressbar-name.js | description": {
    "message": "Si un elemento de `progressbar` no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén información para etiquetar elementos `progressbar`](https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name)."
  },
  "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
    "message": "Los elementos `progressbar` de ARIA no tienen nombres aptos para la accesibilidad."
  },
  "core/audits/accessibility/aria-progressbar-name.js | title": {
    "message": "Los elementos `progressbar` de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-prohibited-attr.js | description": {
    "message": "Si usas atributos de ARIA en roles en los que están prohibidos, es posible que no se les comunique información importante a los usuarios de tecnologías de accesibilidad. [Obtén más información sobre los roles de ARIA prohibidos](https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr)."
  },
  "core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
    "message": "Los elementos usan atributos de ARIA prohibidos"
  },
  "core/audits/accessibility/aria-prohibited-attr.js | title": {
    "message": "Los elementos usan solo atributos ARIA permitidos"
  },
  "core/audits/accessibility/aria-required-attr.js | description": {
    "message": "Algunos roles de ARIA incluyen atributos obligatorios que describen el estado del elemento a los lectores de pantalla. [Obtén más información sobre los roles y los atributos requeridos](https://dequeuniversity.com/rules/axe/4.11/aria-required-attr)."
  },
  "core/audits/accessibility/aria-required-attr.js | failureTitle": {
    "message": "Los elementos `[role]` no tienen todos los atributos `[aria-*]` necesarios"
  },
  "core/audits/accessibility/aria-required-attr.js | title": {
    "message": "Los elementos `[role]` tienen todos los atributos `[aria-*]` necesarios"
  },
  "core/audits/accessibility/aria-required-children.js | description": {
    "message": "Algunos roles superiores de ARIA deben contener roles secundarios específicos para llevar a cabo las funciones de accesibilidad correspondientes. [Obtén más información sobre los roles y los elementos secundarios requeridos](https://dequeuniversity.com/rules/axe/4.11/aria-required-children)."
  },
  "core/audits/accessibility/aria-required-children.js | failureTitle": {
    "message": "Los elementos ARIA con un atributo `[role]` deben incluir elementos secundarios con un `[role]` específico. Faltan algunos o todos los elementos secundarios necesarios."
  },
  "core/audits/accessibility/aria-required-children.js | title": {
    "message": "Los elementos ARIA con un atributo `[role]` deben incluir elementos secundarios con un `[role]` específico. Se detectaron todos los elementos secundarios necesarios."
  },
  "core/audits/accessibility/aria-required-parent.js | description": {
    "message": "Algunos roles secundarios de ARIA deben incluirse dentro de roles principales específicos para llevar a cabo de manera adecuada las funciones de accesibilidad correspondientes. [Obtén más información sobre los roles de ARIA y el elemento superior requerido](https://dequeuniversity.com/rules/axe/4.11/aria-required-parent)."
  },
  "core/audits/accessibility/aria-required-parent.js | failureTitle": {
    "message": "Los elementos `[role]` no se incluyen en los elementos principales necesarios"
  },
  "core/audits/accessibility/aria-required-parent.js | title": {
    "message": "Los elementos `[role]` se incluyen en los elementos principales correspondientes"
  },
  "core/audits/accessibility/aria-roles.js | description": {
    "message": "Los roles de ARIA deben tener valores válidos para realizar las funciones de accesibilidad correspondientes. [Obtén más información sobre los roles de ARIA válidos](https://dequeuniversity.com/rules/axe/4.11/aria-roles)."
  },
  "core/audits/accessibility/aria-roles.js | failureTitle": {
    "message": "Los valores de `[role]` no son válidos"
  },
  "core/audits/accessibility/aria-roles.js | title": {
    "message": "Los valores de `[role]` son válidos"
  },
  "core/audits/accessibility/aria-text.js | description": {
    "message": "Si agregas `role=text` alrededor de un nodo de texto dividido por marcas, VoiceOver puede tratarlo como una frase, pero no se anunciarán los objetos descendentes enfocables del elemento. [Obtén más información sobre el atributo `role=text`](https://dequeuniversity.com/rules/axe/4.11/aria-text)."
  },
  "core/audits/accessibility/aria-text.js | failureTitle": {
    "message": "Los elementos con el atributo `role=text` tienen descendientes enfocables."
  },
  "core/audits/accessibility/aria-text.js | title": {
    "message": "Los elementos con el atributo `role=text` no tienen descendientes enfocables."
  },
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
    "message": "Si un campo de activación no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén más información sobre los campos de activación](https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name)."
  },
  "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
    "message": "Los campos de activación de ARIA no tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-toggle-field-name.js | title": {
    "message": "Los campos de activación de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-tooltip-name.js | description": {
    "message": "Si un elemento de información sobre la herramienta no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén más información para nombrar elementos `tooltip` ](https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name)."
  },
  "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
    "message": "Los elementos `tooltip` de ARIA no tienen nombres aptos para la accesibilidad."
  },
  "core/audits/accessibility/aria-tooltip-name.js | title": {
    "message": "Los elementos `tooltip` de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-treeitem-name.js | description": {
    "message": "Si un elemento de `treeitem` no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta con un nombre genérico, por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén más información para etiquetar elementos `treeitem`](https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name)."
  },
  "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
    "message": "Los elementos `treeitem` de ARIA no tienen nombres aptos para la accesibilidad."
  },
  "core/audits/accessibility/aria-treeitem-name.js | title": {
    "message": "Los elementos `treeitem` de ARIA tienen nombres aptos para la accesibilidad"
  },
  "core/audits/accessibility/aria-valid-attr-value.js | description": {
    "message": "Las tecnologías de accesibilidad, como los lectores de pantalla, no pueden interpretar atributos de ARIA con valores no válidos. [Obtén más información sobre los valores válidos para los atributos de ARIA](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr-value)."
  },
  "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
    "message": "Los atributos `[aria-*]` no tienen valores válidos"
  },
  "core/audits/accessibility/aria-valid-attr-value.js | title": {
    "message": "Los atributos `[aria-*]` tienen valores válidos"
  },
  "core/audits/accessibility/aria-valid-attr.js | description": {
    "message": "Las tecnologías de accesibilidad, como los lectores de pantalla, no pueden interpretar los atributos de ARIA con nombres no válidos. [Obtén más información sobre los atributos de ARIA válidos](https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr)."
  },
  "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
    "message": "Los atributos `[aria-*]` no son válidos o no están bien escritos"
  },
  "core/audits/accessibility/aria-valid-attr.js | title": {
    "message": "Los atributos `[aria-*]` son válidos y están bien escritos"
  },
  "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
    "message": "Elementos con errores"
  },
  "core/audits/accessibility/button-name.js | description": {
    "message": "Si un botón no tiene un nombre de accesibilidad, los lectores de pantalla lo leerán en voz alta como \"botón\", por lo que resulta inservible para los usuarios que necesitan usar lectores de pantalla. [Obtén información para que los botones sean más accesibles](https://dequeuniversity.com/rules/axe/4.11/button-name)."
  },
  "core/audits/accessibility/button-name.js | failureTitle": {
    "message": "Los botones no tienen nombres accesibles"
  },
  "core/audits/accessibility/button-name.js | title": {
    "message": "Los botones tienen nombres accesibles"
  },
  "core/audits/accessibility/bypass.js | description": {
    "message": "Incluir maneras de omitir el contenido repetitivo permite a los usuarios que usan un teclado navegar por la página con mayor eficiencia. [Obtén más información sobre los bloqueos de omisiones](https://dequeuniversity.com/rules/axe/4.11/bypass)."
  },
  "core/audits/accessibility/bypass.js | failureTitle": {
    "message": "La página no contiene ningún título, vínculo de omisión ni región de punto de referencia"
  },
  "core/audits/accessibility/bypass.js | title": {
    "message": "La página contiene un título, un vínculo de omisión o una región de punto de referencia"
  },
  "core/audits/accessibility/color-contrast.js | description": {
    "message": "Los textos con poco contraste resultan difíciles o imposibles de leer para muchos usuarios. [Obtén información para proporcionar suficiente contraste de color](https://dequeuniversity.com/rules/axe/4.11/color-contrast)."
  },
  "core/audits/accessibility/color-contrast.js | failureTitle": {
    "message": "Los colores de fondo y de primer plano no tienen una relación de contraste adecuada."
  },
  "core/audits/accessibility/color-contrast.js | title": {
    "message": "Los colores de fondo y de primer plano tienen una relación de contraste adecuada"
  },
  "core/audits/accessibility/definition-list.js | description": {
    "message": "Si las listas de definiciones no están bien marcadas, es posible que los lectores de pantalla las lean de forma confusa o imprecisa. [Obtén más información para estructurar las listas de definiciones correctamente](https://dequeuniversity.com/rules/axe/4.11/definition-list)."
  },
  "core/audits/accessibility/definition-list.js | failureTitle": {
    "message": "Los elementos `<dl>` no contienen solo elementos `<script>`, `<template>` o `<div>`, o grupos de `<dt>` y `<dd>` ordenados correctamente."
  },
  "core/audits/accessibility/definition-list.js | title": {
    "message": "Los elementos `<dl>` contienen solo elementos `<script>`, `<template>` o `<div>`, o grupos de `<dt>` y `<dd>` ordenados correctamente."
  },
  "core/audits/accessibility/dlitem.js | description": {
    "message": "Los elementos de la lista de definiciones (`<dt>` y `<dd>`) deben incluirse en un elemento `<dl>` principal para garantizar que los lectores de pantalla los lean correctamente. [Obtén más información para estructurar las listas de definiciones correctamente](https://dequeuniversity.com/rules/axe/4.11/dlitem)."
  },
  "core/audits/accessibility/dlitem.js | failureTitle": {
    "message": "Los elementos de la lista de definiciones no se incluyen en los elementos `<dl>`"
  },
  "core/audits/accessibility/dlitem.js | title": {
    "message": "Los elementos de la lista de definiciones se incluyen en los elementos `<dl>`"
  },
  "core/audits/accessibility/document-title.js | description": {
    "message": "El título les brinda a los usuarios de lectores de pantalla una descripción general de la página. Por su parte, los usuarios de motores de búsqueda lo usan mucho para determinar si una página es relevante para su búsqueda. [Obtén más información sobre los títulos de documentos](https://dequeuniversity.com/rules/axe/4.11/document-title)."
  },
  "core/audits/accessibility/document-title.js | failureTitle": {
    "message": "El documento no tiene un elemento `<title>`"
  },
  "core/audits/accessibility/document-title.js | title": {
    "message": "El documento tiene un elemento `<title>`"
  },
  "core/audits/accessibility/duplicate-id-aria.js | description": {
    "message": "El valor de un ID de ARIA debe ser único para impedir que las tecnologías de accesibilidad omitan otras instancias. [Obtén información para corregir los IDs de ARIA duplicados](https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria)."
  },
  "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
    "message": "Los ID de ARIA no son únicos"
  },
  "core/audits/accessibility/duplicate-id-aria.js | title": {
    "message": "Los ID de ARIA son únicos"
  },
  "core/audits/accessibility/empty-heading.js | description": {
    "message": "Un encabezado sin contenido o con texto inaccesible impide que los usuarios de lectores de pantalla accedan a la información de la estructura de la página. [Obtén más información sobre los encabezados](https://dequeuniversity.com/rules/axe/4.11/empty-heading)."
  },
  "core/audits/accessibility/empty-heading.js | failureTitle": {
    "message": "Los elementos de encabezado no incluyen contenido."
  },
  "core/audits/accessibility/empty-heading.js | title": {
    "message": "Todos los elementos <heading> incluyen contenido."
  },
  "core/audits/accessibility/form-field-multiple-labels.js | description": {
    "message": "Las tecnologías de accesibilidad, como los lectores de pantalla, pueden tener dificultades para anunciar los campos de formulario con varias etiquetas, ya que usan la primera etiqueta, la última o todas. [Obtén más información para usar etiquetas de formularios](https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels)."
  },
  "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
    "message": "Los campos de formulario tienen varias etiquetas"
  },
  "core/audits/accessibility/form-field-multiple-labels.js | title": {
    "message": "Ningún campo del formulario tiene varias etiquetas"
  },
  "core/audits/accessibility/frame-title.js | description": {
    "message": "Los usuarios de lectores de pantalla necesitan que los marcos tengan títulos para que se describa su contenido. [Obtén más información sobre los títulos de los marcos](https://dequeuniversity.com/rules/axe/4.11/frame-title)."
  },
  "core/audits/accessibility/frame-title.js | failureTitle": {
    "message": "Los elementos `<frame>` o `<iframe>` no tienen título"
  },
  "core/audits/accessibility/frame-title.js | title": {
    "message": "Los elementos `<frame>` o `<iframe>` tienen un título"
  },
  "core/audits/accessibility/heading-order.js | description": {
    "message": "Los encabezados ordenados correctamente que no omiten niveles proporcionan la estructura semántica de la página, lo que facilita la navegación y comprensión cuando se usan tecnologías de accesibilidad. [Obtén más información sobre el orden de encabezados](https://dequeuniversity.com/rules/axe/4.11/heading-order)."
  },
  "core/audits/accessibility/heading-order.js | failureTitle": {
    "message": "Los elementos de encabezado no están ordenados en una secuencia descendente"
  },
  "core/audits/accessibility/heading-order.js | title": {
    "message": "Los elementos de encabezado están ordenados en una secuencia descendente"
  },
  "core/audits/accessibility/html-has-lang.js | description": {
    "message": "Si no se especifica ningún atributo `lang` para una página, los lectores de pantalla considerarán que la página está en el idioma predeterminado que el usuario eligió al configurar el lector de pantalla. Si el idioma de la página es diferente del predeterminado, es posible que el lector de pantalla no lea bien el texto de la página. [Obtén más información sobre el atributo `lang`](https://dequeuniversity.com/rules/axe/4.11/html-has-lang)."
  },
  "core/audits/accessibility/html-has-lang.js | failureTitle": {
    "message": "El elemento `<html>` no tiene un atributo `[lang]`"
  },
  "core/audits/accessibility/html-has-lang.js | title": {
    "message": "El elemento `<html>` tiene un atributo `[lang]`"
  },
  "core/audits/accessibility/html-lang-valid.js | description": {
    "message": "Especificar un [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido permite a los lectores de pantalla leer el texto en voz alta correctamente. [Obtén más información para usar el atributo `lang`](https://dequeuniversity.com/rules/axe/4.11/html-lang-valid)."
  },
  "core/audits/accessibility/html-lang-valid.js | failureTitle": {
    "message": "El elemento `<html>` no tiene un valor válido para el atributo `[lang]`."
  },
  "core/audits/accessibility/html-lang-valid.js | title": {
    "message": "El elemento `<html>` tiene un valor válido para su atributo `[lang]`"
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | description": {
    "message": "Si la página web no especifica un mismo idioma, es posible que el lector de pantalla no anuncie el texto de la página correctamente. [Obtén más información sobre el atributo `lang`](https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch)."
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
    "message": "El elemento `<html>` no tiene un atributo `[xml:lang]` con el mismo idioma base que el atributo `[lang]`."
  },
  "core/audits/accessibility/html-xml-lang-mismatch.js | title": {
    "message": "El elemento `<html>` tiene un atributo `[xml:lang]` con el mismo idioma base que el atributo `[lang]`."
  },
  "core/audits/accessibility/identical-links-same-purpose.js | description": {
    "message": "Los vínculos con el mismo destino deben tener la misma descripción, para ayudar a los usuarios a comprender el propósito del vínculo y decidir si seguirlo o no. [Obtén más información sobre los vínculos idénticos](https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose)."
  },
  "core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
    "message": "Los vínculos idénticos no tienen el mismo propósito."
  },
  "core/audits/accessibility/identical-links-same-purpose.js | title": {
    "message": "Los vínculos idénticos tienen el mismo propósito."
  },
  "core/audits/accessibility/image-alt.js | description": {
    "message": "El texto de los elementos informativos debe ser corto y descriptivo. Los elementos decorativos se pueden ignorar usando un atributo alt vacío. [Obtén más información sobre el atributo `alt`](https://dequeuniversity.com/rules/axe/4.11/image-alt)."
  },
  "core/audits/accessibility/image-alt.js | failureTitle": {
    "message": "Los elementos de imagen no tienen ningún atributo `[alt]`"
  },
  "core/audits/accessibility/image-alt.js | title": {
    "message": "Los elementos de imagen tienen atributos `[alt]`"
  },
  "core/audits/accessibility/image-redundant-alt.js | description": {
    "message": "El texto alternativo de los elementos informativos debe ser corto y descriptivo. El texto alternativo que es idéntico al texto junto al vínculo o la imagen puede resultar confuso para los usuarios de lectores de pantalla, ya que el texto se leerá dos veces. [Obtén más información sobre el atributo `alt`](https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt)."
  },
  "core/audits/accessibility/image-redundant-alt.js | failureTitle": {
    "message": "Los elementos de imagen tienen atributos `[alt]` que son texto redundante."
  },
  "core/audits/accessibility/image-redundant-alt.js | title": {
    "message": "Los elementos de imagen no tienen atributos `[alt]` que sean texto redundante."
  },
  "core/audits/accessibility/input-button-name.js | description": {
    "message": "Agregar texto distinguible y accesible a los botones de entrada puede ayudar a los usuarios de lectores de pantalla a comprender qué hace un botón. [Obtén más información sobre los botones de entrada](https://dequeuniversity.com/rules/axe/4.11/input-button-name)."
  },
  "core/audits/accessibility/input-button-name.js | failureTitle": {
    "message": "Los botones de entrada no tienen texto distinguible."
  },
  "core/audits/accessibility/input-button-name.js | title": {
    "message": "Los botones de entrada tienen texto distinguible."
  },
  "core/audits/accessibility/input-image-alt.js | description": {
    "message": "Cuando se usa una imagen como botón `<input>`, resulta útil proporcionar un texto alternativo para permitir que los usuarios de lectores de pantalla entiendan cuál es la función del botón. [Obtén información sobre el texto alternativo de la imagen de entrada](https://dequeuniversity.com/rules/axe/4.11/input-image-alt)."
  },
  "core/audits/accessibility/input-image-alt.js | failureTitle": {
    "message": "Los elementos `<input type=\"image\">` no tienen texto `[alt]`"
  },
  "core/audits/accessibility/input-image-alt.js | title": {
    "message": "Los elementos `<input type=\"image\">` tienen texto `[alt]`"
  },
  "core/audits/accessibility/label-content-name-mismatch.js | description": {
    "message": "Las etiquetas de texto visible que no coinciden con el nombre de accesibilidad pueden generar una experiencia confusa para los usuarios de lectores de pantalla. [Obtén más información sobre los nombres de accesibilidad](https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch)."
  },
  "core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
    "message": "Los elementos con etiquetas de texto visibles no tienen nombres de accesibilidad que coincidan."
  },
  "core/audits/accessibility/label-content-name-mismatch.js | title": {
    "message": "Los elementos con etiquetas de texto visibles tienen nombres de accesibilidad que coinciden."
  },
  "core/audits/accessibility/label.js | description": {
    "message": "Las etiquetas garantizan que las tecnologías de accesibilidad, como los lectores de pantalla, lean los controles de los formularios de forma correcta. [Obtén más información sobre las etiquetas de elementos de formulario](https://dequeuniversity.com/rules/axe/4.11/label)."
  },
  "core/audits/accessibility/label.js | failureTitle": {
    "message": "Los elementos de formulario no tienen ninguna etiqueta asociada"
  },
  "core/audits/accessibility/label.js | title": {
    "message": "Los elementos de formulario tienen etiquetas asociadas"
  },
  "core/audits/accessibility/landmark-one-main.js | description": {
    "message": "Un punto de referencia principal ayuda a los usuarios de lectores de pantalla a navegar por una página web. [Obtén más información sobre los puntos de referencia](https://dequeuniversity.com/rules/axe/4.11/landmark-one-main)."
  },
  "core/audits/accessibility/landmark-one-main.js | failureTitle": {
    "message": "El documento no tiene un punto de referencia principal."
  },
  "core/audits/accessibility/landmark-one-main.js | title": {
    "message": "El documento tiene un punto de referencia principal."
  },
  "core/audits/accessibility/link-in-text-block.js | description": {
    "message": "Los textos con poco contraste resultan difíciles o imposibles de leer para muchos usuarios. Los textos de vínculo que se pueden distinguir mejoran la experiencia de los usuarios con visión reducida. [Obtén más información para que se distingan los vínculos](https://dequeuniversity.com/rules/axe/4.11/link-in-text-block)."
  },
  "core/audits/accessibility/link-in-text-block.js | failureTitle": {
    "message": "Los vínculos dependen del color para distinguirse."
  },
  "core/audits/accessibility/link-in-text-block.js | title": {
    "message": "Los vínculos no dependen del color para distinguirse."
  },
  "core/audits/accessibility/link-name.js | description": {
    "message": "Usar textos de vínculo (y textos alternativos para las imágenes, si estas se usan como vínculos) que sean reconocibles y únicos, y que se puedan enfocar mejora la experiencia de navegación de los usuarios de lectores de pantalla. [Obtén información para mejorar la accesibilidad de los vínculos](https://dequeuniversity.com/rules/axe/4.11/link-name)."
  },
  "core/audits/accessibility/link-name.js | failureTitle": {
    "message": "Los vínculos no tienen nombres reconocibles"
  },
  "core/audits/accessibility/link-name.js | title": {
    "message": "Los vínculos tienen nombres reconocibles"
  },
  "core/audits/accessibility/list.js | description": {
    "message": "Los lectores de pantalla leen las listas en voz alta de una forma concreta. Se recomienda utilizar una estructura de lista adecuada para que los lectores de pantalla puedan leer las listas de forma correcta. [Obtén más información sobre la estructura de listas adecuada](https://dequeuniversity.com/rules/axe/4.11/list)."
  },
  "core/audits/accessibility/list.js | failureTitle": {
    "message": "Las listas no contienen solo elementos `<li>` y elementos que admiten secuencias de comandos (`<script>` y `<template>`)."
  },
  "core/audits/accessibility/list.js | title": {
    "message": "Las listas contienen solo elementos `<li>` y elementos que admiten secuencias de comando (`<script>` y `<template>`)."
  },
  "core/audits/accessibility/listitem.js | description": {
    "message": "Los lectores de pantalla requieren que los elementos de lista (`<li>`) se incluyan en un elemento `<ul>`, `<ol>` o `<menu>` superior para leerlos correctamente. [Obtén más información sobre la estructura de listas adecuada](https://dequeuniversity.com/rules/axe/4.11/listitem)."
  },
  "core/audits/accessibility/listitem.js | failureTitle": {
    "message": "Los elementos de lista (`<li>`) no se encuentran dentro de elementos superiores `<ul>`, `<ol>` o `<menu>`."
  },
  "core/audits/accessibility/listitem.js | title": {
    "message": "Los elementos de lista (`<li>`) se incluyen en los elementos superiores `<ul>`, `<ol>` o `<menu>`"
  },
  "core/audits/accessibility/meta-refresh.js | description": {
    "message": "Los usuarios no esperan que una página se actualice automáticamente. Cuando eso sucede, vuelve a mostrarse la parte superior de la página. Esto puede generar una experiencia frustrante o confusa. [Obtén más información sobre la metaetiqueta de actualización](https://dequeuniversity.com/rules/axe/4.11/meta-refresh)."
  },
  "core/audits/accessibility/meta-refresh.js | failureTitle": {
    "message": "El documento usa `<meta http-equiv=\"refresh\">`"
  },
  "core/audits/accessibility/meta-refresh.js | title": {
    "message": "El documento no usa `<meta http-equiv=\"refresh\">`"
  },
  "core/audits/accessibility/meta-viewport.js | description": {
    "message": "Desactivar el zoom genera problemas para los usuarios con visión reducida, quienes necesitan ampliar la pantalla para ver correctamente el contenido de las páginas web. [Obtén más información sobre la metaetiqueta de la vista del puerto](https://dequeuniversity.com/rules/axe/4.11/meta-viewport)."
  },
  "core/audits/accessibility/meta-viewport.js | failureTitle": {
    "message": "`[user-scalable=\"no\"]` se usa en el elemento `<meta name=\"viewport\">` o el atributo `[maximum-scale]` tiene un valor inferior a 5."
  },
  "core/audits/accessibility/meta-viewport.js | title": {
    "message": "No se usa `[user-scalable=\"no\"]` en el elemento `<meta name=\"viewport\">` y el atributo `[maximum-scale]` no tiene un valor inferior a 5."
  },
  "core/audits/accessibility/object-alt.js | description": {
    "message": "Los lectores de pantalla no pueden traducir contenido que no sea texto. El agregado de texto alternativo a los elementos `<object>` ayuda a los lectores de pantalla a transmitir el significado correspondiente a los usuarios. [Obtén más información sobre el texto alternativo de elementos `object`](https://dequeuniversity.com/rules/axe/4.11/object-alt)."
  },
  "core/audits/accessibility/object-alt.js | failureTitle": {
    "message": "Los elementos `<object>` no tienen texto alternativo"
  },
  "core/audits/accessibility/object-alt.js | title": {
    "message": "Los elementos `<object>` tienen texto alternativo"
  },
  "core/audits/accessibility/select-name.js | description": {
    "message": "Los elementos del formulario sin etiquetas eficaces pueden crear experiencias frustrantes para los usuarios de lectores de pantalla. [Obtén más información sobre el elemento `select`](https://dequeuniversity.com/rules/axe/4.11/select-name)."
  },
  "core/audits/accessibility/select-name.js | failureTitle": {
    "message": "Los elementos <select> no tienen elementos <label> asociados."
  },
  "core/audits/accessibility/select-name.js | title": {
    "message": "Los elementos <select> tienen elementos <label> asociados."
  },
  "core/audits/accessibility/skip-link.js | description": {
    "message": "Incluir un vínculo de navegación puede ayudar a los usuarios a saltar al contenido principal para ahorrar tiempo. [Obtén más información sobre los vínculos de navegación](https://dequeuniversity.com/rules/axe/4.11/skip-link)."
  },
  "core/audits/accessibility/skip-link.js | failureTitle": {
    "message": "Los vínculos de navegación no son enfocables."
  },
  "core/audits/accessibility/skip-link.js | title": {
    "message": "Los vínculos de navegación son enfocables."
  },
  "core/audits/accessibility/tabindex.js | description": {
    "message": "Si el valor es superior a 0, el orden de navegación es explícito. Aunque técnicamente esta es una posibilidad válida, suele producir experiencias frustrantes para los usuarios que necesitan usar las tecnologías de accesibilidad. [Obtén más información sobre el atributo `tabindex`](https://dequeuniversity.com/rules/axe/4.11/tabindex)."
  },
  "core/audits/accessibility/tabindex.js | failureTitle": {
    "message": "Algunos elementos tienen un valor de `[tabindex]` superior a 0"
  },
  "core/audits/accessibility/tabindex.js | title": {
    "message": "No hay ningún elemento con un valor de `[tabindex]` superior a 0"
  },
  "core/audits/accessibility/table-duplicate-name.js | description": {
    "message": "El atributo de resumen debe describir la estructura de la tabla, mientras que `<caption>` debe tener el título en pantalla. En las tablas, las marcas precisas ayudan a los usuarios de lectores de pantalla. [Obtén más información sobre los resúmenes y leyendas](https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name)."
  },
  "core/audits/accessibility/table-duplicate-name.js | failureTitle": {
    "message": "Las tablas tienen el mismo contenido en el atributo de resumen y en `<caption>.`"
  },
  "core/audits/accessibility/table-duplicate-name.js | title": {
    "message": "Las tablas tienen contenido diferente en el atributo de resumen y en `<caption>`."
  },
  "core/audits/accessibility/table-fake-caption.js | description": {
    "message": "Los lectores de pantalla incluyen funciones para facilitar la navegación por las tablas. Garantizar que las tablas usen el elemento de leyenda en lugar de celdas con el atributo `[colspan]` puede mejorar la experiencia de los usuarios de lectores de pantalla. [Obtén más información sobre las leyendas](https://dequeuniversity.com/rules/axe/4.11/table-fake-caption)."
  },
  "core/audits/accessibility/table-fake-caption.js | failureTitle": {
    "message": "Las tablas no usan `<caption>` en lugar de celdas con el atributo `[colspan]` para indicar una leyenda."
  },
  "core/audits/accessibility/table-fake-caption.js | title": {
    "message": "Las tablas usan `<caption>` en lugar de celdas con el atributo `[colspan]` para indicar una leyenda."
  },
  "core/audits/accessibility/target-size.js | description": {
    "message": "Los objetivos táctiles con tamaño y separación suficientes ayudan a los usuarios que tengan dificultades con el uso de controles pequeños a activar los objetivos. [Obtén más información sobre los objetivos táctiles](https://dequeuniversity.com/rules/axe/4.11/target-size)."
  },
  "core/audits/accessibility/target-size.js | failureTitle": {
    "message": "Los objetivos táctiles no tienen suficiente tamaño ni separación."
  },
  "core/audits/accessibility/target-size.js | title": {
    "message": "Los objetivos táctiles tienen suficiente tamaño y separación."
  },
  "core/audits/accessibility/td-has-header.js | description": {
    "message": "Los lectores de pantalla incluyen funciones para facilitar la navegación por las tablas. Asegurarse de que los elementos `<td>` de una tabla grande (de 3 o más celdas de ancho y alto) tengan un encabezado de tabla asociado puede mejorar la experiencia de los usuarios de lectores de pantalla. [Obtén más información sobre los encabezados de las tablas](https://dequeuniversity.com/rules/axe/4.11/td-has-header)."
  },
  "core/audits/accessibility/td-has-header.js | failureTitle": {
    "message": "Los elementos `<td>` de una `<table>` grande no tienen encabezados de tabla."
  },
  "core/audits/accessibility/td-has-header.js | title": {
    "message": "Los elementos `<td>` de una `<table>` grande tienen uno o más encabezados de tabla."
  },
  "core/audits/accessibility/td-headers-attr.js | description": {
    "message": "Los lectores de pantalla incluyen funciones para facilitar la navegación por las tablas. Asegurarse de que las celdas `<td>` que usan el atributo `[headers]` solo hagan referencia a otras celdas de la misma tabla puede mejorar la experiencia de los usuarios de lectores de pantalla. [Obtén más información sobre el atributo `headers`](https://dequeuniversity.com/rules/axe/4.11/td-headers-attr)."
  },
  "core/audits/accessibility/td-headers-attr.js | failureTitle": {
    "message": "Las celdas de un elemento `<table>` que usan el atributo `[headers]` hacen referencia a un elemento `id` que no se encuentra en la misma tabla."
  },
  "core/audits/accessibility/td-headers-attr.js | title": {
    "message": "Las celdas de un elemento `<table>` que usa el atributo `[headers]` hacen referencia a las celdas de esa misma tabla."
  },
  "core/audits/accessibility/th-has-data-cells.js | description": {
    "message": "Los lectores de pantalla incluyen funciones para facilitar la navegación por las tablas. Asegurarse de que los encabezados de las tablas siempre hagan referencia a un conjunto específico de celdas puede mejorar la experiencia de los usuarios de lectores de pantalla. [Obtén más información sobre los encabezados de las tablas](https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells)."
  },
  "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
    "message": "Los elementos `<th>` y los elementos con `[role=\"columnheader\"/\"rowheader\"]` no contienen las celdas de datos que describen."
  },
  "core/audits/accessibility/th-has-data-cells.js | title": {
    "message": "Los elementos `<th>` y los elementos con `[role=\"columnheader\"/\"rowheader\"]` contienen celdas de datos que describen."
  },
  "core/audits/accessibility/valid-lang.js | description": {
    "message": "Especificar un [idioma BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) válido en los elementos ayuda a asegurar que los lectores de pantalla pronuncien bien el texto correspondiente. [Obtén más información para usar el atributo `lang`](https://dequeuniversity.com/rules/axe/4.11/valid-lang)."
  },
  "core/audits/accessibility/valid-lang.js | failureTitle": {
    "message": "Los atributos `[lang]` no tienen un valor válido"
  },
  "core/audits/accessibility/valid-lang.js | title": {
    "message": "Los atributos `[lang]` tienen un valor válido"
  },
  "core/audits/accessibility/video-caption.js | description": {
    "message": "Si un video tiene subtítulos, los usuarios sordos o con dificultades auditivas pueden acceder a la información más fácilmente. [Obtén más información sobre los subtítulos de videos](https://dequeuniversity.com/rules/axe/4.11/video-caption)."
  },
  "core/audits/accessibility/video-caption.js | failureTitle": {
    "message": "Los elementos `<video>` no contienen un elemento `<track>` con `[kind=\"captions\"]`."
  },
  "core/audits/accessibility/video-caption.js | title": {
    "message": "Los elementos `<video>` contienen un elemento `<track>` con `[kind=\"captions\"]`"
  },
  "core/audits/autocomplete.js | columnCurrent": {
    "message": "Valor actual"
  },
  "core/audits/autocomplete.js | columnSuggestions": {
    "message": "Token de sugerencias"
  },
  "core/audits/autocomplete.js | description": {
    "message": "`autocomplete` permite que los usuarios envíen formularios más rápido. Para reducir el trabajo del usuario, te recomendamos establecer un valor válido para el atributo `autocomplete` a fin de habilitar la función. [Más información sobre `autocomplete` en formularios](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
  },
  "core/audits/autocomplete.js | failureTitle": {
    "message": "Los elementos de `<input>` no tienen atributos de `autocomplete` correctos"
  },
  "core/audits/autocomplete.js | manualReview": {
    "message": "Requiere revisión manual"
  },
  "core/audits/autocomplete.js | reviewOrder": {
    "message": "Revisa el orden de los tokens"
  },
  "core/audits/autocomplete.js | title": {
    "message": "Los elementos de `<input>` usan la función de `autocomplete` correctamente"
  },
  "core/audits/autocomplete.js | warningInvalid": {
    "message": "Tokens de `autocomplete`: \"{token}\" no es válido en {snippet}"
  },
  "core/audits/autocomplete.js | warningOrder": {
    "message": "Revisa el orden de los tokens: \"{tokens}\" en {snippet}"
  },
  "core/audits/bf-cache.js | actionableFailureType": {
    "message": "Permite una acción"
  },
  "core/audits/bf-cache.js | description": {
    "message": "Para navegar, a veces se regresa a la página anterior o a la siguiente. La memoria caché atrás/adelante (bfcache) puede acelerar estas navegaciones de retorno. [Más información sobre la bfcache](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)"
  },
  "core/audits/bf-cache.js | displayValue": {
    "message": "{itemCount,plural, =1{1 motivo de la falla}other{# motivos de la falla}}"
  },
  "core/audits/bf-cache.js | failureReasonColumn": {
    "message": "Motivo de la falla"
  },
  "core/audits/bf-cache.js | failureTitle": {
    "message": "Se impidió el restablecimiento de la memoria caché atrás/adelante de la página"
  },
  "core/audits/bf-cache.js | failureTypeColumn": {
    "message": "Tipo de falla"
  },
  "core/audits/bf-cache.js | notActionableFailureType": {
    "message": "No permite una acción"
  },
  "core/audits/bf-cache.js | supportPendingFailureType": {
    "message": "Compatibilidad con el navegador pendiente"
  },
  "core/audits/bf-cache.js | title": {
    "message": "La página no impidió el restablecimiento de la memoria caché atrás/adelante"
  },
  "core/audits/bf-cache.js | warningHeadless": {
    "message": "No se puede probar la memoria caché atrás/adelante en la versión anterior de Chrome sin interfaz gráfica (`--chrome-flags=\"--headless=old\"`). Para ver los resultados de la auditoría, usa la nueva versión de Chrome sin interfaz gráfica (`--chrome-flags=\"--headless=new\"`) o la versión estándar de Chrome."
  },
  "core/audits/bootup-time.js | chromeExtensionsWarning": {
    "message": "Las extensiones de Chrome afectaron de forma negativa al rendimiento de carga de esta página. Prueba a auditarla en modo incógnito o desde un perfil de Chrome sin extensiones."
  },
  "core/audits/bootup-time.js | columnScriptEval": {
    "message": "Evaluación de la secuencia de comandos"
  },
  "core/audits/bootup-time.js | columnScriptParse": {
    "message": "Análisis de la secuencia de comandos"
  },
  "core/audits/bootup-time.js | columnTotal": {
    "message": "Tiempo de CPU total"
  },
  "core/audits/bootup-time.js | description": {
    "message": "Te recomendamos que reduzcas el tiempo de análisis, compilación y ejecución de JS. Para ello, puedes entregar cargas útiles de JS más pequeñas. [Obtén información para reducir el tiempo de ejecución de JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)."
  },
  "core/audits/bootup-time.js | failureTitle": {
    "message": "Reduce el tiempo de ejecución de JavaScript"
  },
  "core/audits/bootup-time.js | title": {
    "message": "Tiempo de ejecución de JavaScript"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | description": {
    "message": "Trabajar con cargas útiles de red de gran tamaño resulta oneroso para el usuario, además de aumentar considerablemente el tiempo de carga de las páginas. [Obtén información para reducir los tamaños de cargas útiles](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
  },
  "core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
    "message": "El tamaño total era {totalBytes, number, bytes} KiB"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
    "message": "Evita cargas útiles de red de gran tamaño"
  },
  "core/audits/byte-efficiency/total-byte-weight.js | title": {
    "message": "Evita cargas útiles de red de gran tamaño"
  },
  "core/audits/byte-efficiency/unminified-css.js | description": {
    "message": "Si reduces los archivos CSS, puedes achicar el tamaño de la carga útil de la red. [Obtén información para reducir CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)."
  },
  "core/audits/byte-efficiency/unminified-css.js | title": {
    "message": "Reduce el uso de CSS"
  },
  "core/audits/byte-efficiency/unminified-javascript.js | description": {
    "message": "Si reduces los archivos JavaScript, puedes achicar el tamaño de la carga útil y el tiempo de análisis de secuencias de comandos. [Obtén información sobre cómo reducir JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)."
  },
  "core/audits/byte-efficiency/unminified-javascript.js | title": {
    "message": "Reducir el uso de JavaScript"
  },
  "core/audits/byte-efficiency/unused-css-rules.js | description": {
    "message": "Quita las reglas sin usar de las hojas de estilo y retrasa el código CSS sin usar para el contenido de la mitad superior de la página, a fin de reducir los bytes que consume la actividad de red. [Obtén información para reducir el código CSS sin usar](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)."
  },
  "core/audits/byte-efficiency/unused-css-rules.js | title": {
    "message": "Reduce el código CSS sin usar"
  },
  "core/audits/byte-efficiency/unused-javascript.js | description": {
    "message": "Reduce el código JavaScript sin usar y posterga la carga de las secuencias de comandos hasta que se necesiten, a fin de disminuir los bytes que consume la actividad de red. [Obtén información para reducir el JavaScript sin usar](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)."
  },
  "core/audits/byte-efficiency/unused-javascript.js | title": {
    "message": "Reduce el código JavaScript sin usar"
  },
  "core/audits/clickjacking-mitigation.js | columnSeverity": {
    "message": "Gravedad"
  },
  "core/audits/clickjacking-mitigation.js | description": {
    "message": "El encabezado `X-Frame-Options` (XFO) o la directiva `frame-ancestors` en el encabezado `Content-Security-Policy` (CSP) controlan dónde se puede incorporar una página. Esto puede mitigar los ataques de clickjacking, ya que se bloquea que algunos o todos los sitios incorporen la página. [Obtén más información para mitigar el clickjacking](https://developer.chrome.com/docs/lighthouse/best-practices/clickjacking-mitigation)."
  },
  "core/audits/clickjacking-mitigation.js | noClickjackingMitigation": {
    "message": "No se encontró ninguna política de control de marcos"
  },
  "core/audits/clickjacking-mitigation.js | title": {
    "message": "Mitigar el clickjacking con XFO o CSP"
  },
  "core/audits/csp-xss.js | columnDirective": {
    "message": "Directiva"
  },
  "core/audits/csp-xss.js | columnSeverity": {
    "message": "Gravedad"
  },
  "core/audits/csp-xss.js | description": {
    "message": "Una Política de Seguridad del Contenido (CSP) potente reduce enormemente el riesgo de los ataques de secuencia de comandos entre sitios (XSS). [Obtén información para usar un CSP a fin de evitar XSS](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)"
  },
  "core/audits/csp-xss.js | itemSeveritySyntax": {
    "message": "Sintaxis"
  },
  "core/audits/csp-xss.js | metaTagMessage": {
    "message": "La página contiene una CSP definida por una etiqueta `<meta>`. Considera trasladar la CSP a un encabezado HTTP o definir otra CSP estricta en el encabezado."
  },
  "core/audits/csp-xss.js | noCsp": {
    "message": "No se encontró ninguna CSP en el modo de aplicación forzosa"
  },
  "core/audits/csp-xss.js | title": {
    "message": "Asegúrate de que la CSP sea eficaz contra los ataques XSS"
  },
  "core/audits/deprecations.js | columnDeprecate": {
    "message": "Baja/advertencia"
  },
  "core/audits/deprecations.js | columnLine": {
    "message": "Línea"
  },
  "core/audits/deprecations.js | description": {
    "message": "Con el tiempo, se quitarán las APIs no disponibles del navegador. [Obtén más información sobre las APIs no disponibles](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)."
  },
  "core/audits/deprecations.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró 1 advertencia}other{Se encontraron # advertencias}}"
  },
  "core/audits/deprecations.js | failureTitle": {
    "message": "Usa API obsoletas"
  },
  "core/audits/deprecations.js | title": {
    "message": "Evita las API obsoletas"
  },
  "core/audits/dobetterweb/charset.js | description": {
    "message": "Se debe declarar la codificación de caracteres. Para eso, puede agregarse una etiqueta `<meta>` en los primeros 1024 bytes del HTML o en el encabezado de respuesta HTTP Content Type. [Obtén más información para declarar la codificación de caracteres](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)."
  },
  "core/audits/dobetterweb/charset.js | failureTitle": {
    "message": "Falta la declaración del charset o aparece demasiado tarde en el HTML"
  },
  "core/audits/dobetterweb/charset.js | title": {
    "message": "Define el charset adecuadamente"
  },
  "core/audits/dobetterweb/doctype.js | description": {
    "message": "Especificar un DOCTYPE evita que el navegador cambie al modo no estándar. [Obtén más información sobre la declaración DOCTYPE](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)."
  },
  "core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
    "message": "El nombre de DOCTYPE debe ser un string `html`"
  },
  "core/audits/dobetterweb/doctype.js | explanationLimitedQuirks": {
    "message": "El documento contiene un `doctype` que activa `limited-quirks-mode`"
  },
  "core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
    "message": "El documento debe contener un DOCTYPE"
  },
  "core/audits/dobetterweb/doctype.js | explanationPublicId": {
    "message": "Se esperaba que publicId fuera una string vacía"
  },
  "core/audits/dobetterweb/doctype.js | explanationSystemId": {
    "message": "Se esperaba que systemId fuera una string vacía"
  },
  "core/audits/dobetterweb/doctype.js | explanationWrongDoctype": {
    "message": "El documento contiene un `doctype` que activa `quirks-mode`"
  },
  "core/audits/dobetterweb/doctype.js | failureTitle": {
    "message": "La página no tiene el DOCKTYPE de HTML; por lo tanto, activa el modo no estándar"
  },
  "core/audits/dobetterweb/doctype.js | title": {
    "message": "La página tiene el DOCTYPE de HTML"
  },
  "core/audits/dobetterweb/geolocation-on-start.js | description": {
    "message": "Los sitios que solicitan a los usuarios su ubicación sin contexto los confunden o los hacen desconfiar. Te recomendamos vincular la solicitud a una acción del usuario. [Obtén más información sobre el permiso de ubicación geográfica](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
  },
  "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
    "message": "Solicita el permiso de ubicación geográfica al cargar la página"
  },
  "core/audits/dobetterweb/geolocation-on-start.js | title": {
    "message": "Evita solicitar el permiso de ubicación geográfica al cargar la página"
  },
  "core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
    "message": "Tipo de problema"
  },
  "core/audits/dobetterweb/inspector-issues.js | description": {
    "message": "Los problemas registrados en el panel `Issues` de Herramientas para desarrolladores de Chrome indican problemas sin resolver. Pueden provenir de fallas de solicitudes de red, de controles de seguridad insuficientes y de otros problemas del navegador. En Herramientas para desarrolladores de Chrome, abre el panel Problemas para obtener más información sobre cada problema."
  },
  "core/audits/dobetterweb/inspector-issues.js | failureTitle": {
    "message": "Se registraron los problemas en el panel `Issues` de Herramientas para desarrolladores de Chrome"
  },
  "core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
    "message": "La política de origen cruzado bloqueó el recurso"
  },
  "core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
    "message": "Los anuncios están utilizando muchos recursos"
  },
  "core/audits/dobetterweb/inspector-issues.js | title": {
    "message": "No se encontraron problemas en el panel `Issues` de Herramientas para desarrolladores de Chrome"
  },
  "core/audits/dobetterweb/js-libraries.js | columnVersion": {
    "message": "Versión"
  },
  "core/audits/dobetterweb/js-libraries.js | description": {
    "message": "Se detectaron todas las bibliotecas JavaScript de frontend de la página. [Obtén más información sobre esta auditoría de diagnóstico de detección de la biblioteca de JavaScript](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/)."
  },
  "core/audits/dobetterweb/js-libraries.js | title": {
    "message": "Se detectaron bibliotecas JavaScript"
  },
  "core/audits/dobetterweb/notification-on-start.js | description": {
    "message": "Los sitios que solicitan a los usuarios permiso para enviar notificaciones sin contexto los confunden o los hacen desconfiar. Te recomendamos vincular la solicitud a los gestos del usuario. [Obtén más información para obtener permiso de forma responsable para enviar notificaciones](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)."
  },
  "core/audits/dobetterweb/notification-on-start.js | failureTitle": {
    "message": "Solicita el permiso de notificaciones al cargar la página"
  },
  "core/audits/dobetterweb/notification-on-start.js | title": {
    "message": "Evita solicitar el permiso de notificaciones al cargar la página"
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | description": {
    "message": "Evitar que se pegue contenido en las entradas es una práctica no recomendada para la UX y debilita la seguridad, ya que se bloquean los administradores de contraseñas.[Obtén más información sobre los campos de entrada fáciles de usar](https://developer.chrome.com/docs/lighthouse/best-practices/paste-preventing-inputs/)."
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | failureTitle": {
    "message": "Impide que los usuarios peguen contenido en los campos de entrada"
  },
  "core/audits/dobetterweb/paste-preventing-inputs.js | title": {
    "message": "Permite que los usuarios peguen contenido en los campos de entrada"
  },
  "core/audits/errors-in-console.js | description": {
    "message": "Los errores registrados en la consola indican la existencia de problemas no resueltos. Es posible que se deban a problemas con solicitudes de red y otros relativos al navegador. [Más información sobre estos errores en la auditoría de diagnóstico de la consola](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
  },
  "core/audits/errors-in-console.js | failureTitle": {
    "message": "Se registraron errores del navegador en la consola"
  },
  "core/audits/errors-in-console.js | title": {
    "message": "No se registraron errores del navegador en la consola"
  },
  "core/audits/has-hsts.js | columnDirective": {
    "message": "Directiva"
  },
  "core/audits/has-hsts.js | columnSeverity": {
    "message": "Gravedad"
  },
  "core/audits/has-hsts.js | description": {
    "message": "La implementación del encabezado HSTS reduce significativamente el riesgo de cambiar a una versión inferior las conexiones HTTP y los ataques de escucha. Se recomienda un lanzamiento por etapas, comenzando con una edad máxima baja. [Obtén más información para usar una política de HSTS sólida.](https://developer.chrome.com/docs/lighthouse/best-practices/has-hsts)"
  },
  "core/audits/has-hsts.js | invalidSyntax": {
    "message": "Sintaxis no válida"
  },
  "core/audits/has-hsts.js | lowMaxAge": {
    "message": "`max-age` es demasiado baja"
  },
  "core/audits/has-hsts.js | noHsts": {
    "message": "No se encontró el encabezado HSTS"
  },
  "core/audits/has-hsts.js | noMaxAge": {
    "message": "No hay directiva `max-age`"
  },
  "core/audits/has-hsts.js | noPreload": {
    "message": "No se encontró la directiva `preload`"
  },
  "core/audits/has-hsts.js | noSubdomain": {
    "message": "No se encontró la directiva `includeSubDomains`"
  },
  "core/audits/has-hsts.js | title": {
    "message": "Usa una política de HSTS sólida"
  },
  "core/audits/image-aspect-ratio.js | columnActual": {
    "message": "Relación de aspecto (real)"
  },
  "core/audits/image-aspect-ratio.js | columnDisplayed": {
    "message": "Relación de aspecto (visualizada)"
  },
  "core/audits/image-aspect-ratio.js | description": {
    "message": "Las dimensiones de visualización de las imágenes deben coincidir con la relación de aspecto natural. [Obtén más información sobre la relación de aspecto de la imagen](https://developer.chrome.com/docs/lighthouse/best-practices/image-aspect-ratio/)."
  },
  "core/audits/image-aspect-ratio.js | failureTitle": {
    "message": "Muestra imágenes con una relación de aspecto incorrecta"
  },
  "core/audits/image-aspect-ratio.js | title": {
    "message": "Muestra imágenes con una relación de aspecto correcta"
  },
  "core/audits/image-size-responsive.js | columnActual": {
    "message": "Tamaño real"
  },
  "core/audits/image-size-responsive.js | columnDisplayed": {
    "message": "Tamaño de visualización"
  },
  "core/audits/image-size-responsive.js | columnExpected": {
    "message": "Tamaño esperado"
  },
  "core/audits/image-size-responsive.js | description": {
    "message": "Para maximizar la claridad de la imagen, sus dimensiones naturales deben ser proporcionales al tamaño de la pantalla y a la proporción de píxeles. [Obtén información para proporcionar imágenes responsivas](https://web.dev/articles/serve-responsive-images)."
  },
  "core/audits/image-size-responsive.js | failureTitle": {
    "message": "Entrega imágenes con baja resolución"
  },
  "core/audits/image-size-responsive.js | title": {
    "message": "Entrega imágenes con la resolución adecuada"
  },
  "core/audits/insights/cls-culprits-insight.js | columnScore": {
    "message": "Puntuación de cambio de diseño"
  },
  "core/audits/is-on-https.js | allowed": {
    "message": "Permitida"
  },
  "core/audits/is-on-https.js | blocked": {
    "message": "Bloqueada"
  },
  "core/audits/is-on-https.js | columnInsecureURL": {
    "message": "URL no segura"
  },
  "core/audits/is-on-https.js | columnResolution": {
    "message": "Resolución de la solicitud"
  },
  "core/audits/is-on-https.js | description": {
    "message": "Todos los sitios deben estar protegidos con el protocolo HTTPS, incluso aquellos que no controlan datos sensibles. Esta acción implica evitar [contenido mixto](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), es decir, la carga de algunos recursos por HTTP a pesar de que la solicitud inicial fuera por HTTPS. Este protocolo evita que intrusos manipulen o escuchen de forma pasiva las comunicaciones entre tu app y los usuarios. Además, HTTPS es un requisito previo del protocolo HTTP/2 y muchas APIs nuevas de plataformas web. [Obtén más información sobre HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/)."
  },
  "core/audits/is-on-https.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró una solicitud no segura}other{Se encontraron # solicitudes no seguras}}"
  },
  "core/audits/is-on-https.js | failureTitle": {
    "message": "No usa HTTPS"
  },
  "core/audits/is-on-https.js | title": {
    "message": "Usa HTTPS"
  },
  "core/audits/is-on-https.js | upgraded": {
    "message": "Se actualizó automáticamente a HTTPS"
  },
  "core/audits/is-on-https.js | warning": {
    "message": "Permitida con advertencia"
  },
  "core/audits/layout-shifts.js | columnScore": {
    "message": "Puntuación de cambio de diseño"
  },
  "core/audits/layout-shifts.js | description": {
    "message": "Estos son los mayores cambios de diseño que se observaron en la página. Cada elemento de la tabla representa un solo cambio de diseño y muestra el elemento que más se movió. Debajo de cada elemento, aparecen las posibles causas raíz que llevaron al cambio de diseño. Es posible que algunos de estos cambios de diseño no se incluyan en el valor de la métrica CLS debido a la [renderización de ventanas](https://web.dev/articles/cls#what_is_cls). [Más información para mejorar CLS](https://web.dev/articles/optimize-cls)"
  },
  "core/audits/layout-shifts.js | displayValueShiftsFound": {
    "message": "{shiftCount,plural, =1{Se encontró 1 cambio de diseño}other{Se encontraron # cambios de diseño}}"
  },
  "core/audits/layout-shifts.js | rootCauseFontChanges": {
    "message": "Se cargó la fuente de la web"
  },
  "core/audits/layout-shifts.js | rootCauseInjectedIframe": {
    "message": "iframe insertado"
  },
  "core/audits/layout-shifts.js | rootCauseUnsizedMedia": {
    "message": "Elemento multimedia sin tamaño explícito"
  },
  "core/audits/layout-shifts.js | title": {
    "message": "No realices cambios grandes en el diseño"
  },
  "core/audits/long-tasks.js | description": {
    "message": "Se muestran las tareas más largas en el subproceso principal (permite identificar las tareas que más contribuyen al mayor retraso de entrada). [Más información para evitar tareas largas en el subproceso principal](https://web.dev/articles/optimize-long-tasks)"
  },
  "core/audits/long-tasks.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró # tarea larga}other{Se encontraron # tareas largas}}"
  },
  "core/audits/long-tasks.js | title": {
    "message": "Evita tareas largas en el subproceso principal"
  },
  "core/audits/mainthread-work-breakdown.js | columnCategory": {
    "message": "Categoría"
  },
  "core/audits/mainthread-work-breakdown.js | description": {
    "message": "Te recomendamos que reduzcas el tiempo de análisis, compilación y ejecución de JS. Para ello, puedes entregar cargas útiles de JS más pequeñas. [Más información para minimizar el trabajo del subproceso principal](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)"
  },
  "core/audits/mainthread-work-breakdown.js | failureTitle": {
    "message": "Minimiza el trabajo del hilo principal"
  },
  "core/audits/mainthread-work-breakdown.js | title": {
    "message": "Minimiza el trabajo del hilo principal"
  },
  "core/audits/metrics/cumulative-layout-shift.js | description": {
    "message": "El Cambio de diseño acumulado mide el movimiento de los elementos visibles dentro del viewport. [Obtén más información sobre la métrica de Cambio de diseño acumulado](https://web.dev/articles/cls)."
  },
  "core/audits/metrics/first-contentful-paint.js | description": {
    "message": "El primer procesamiento de imagen con contenido indica el momento en el que se visualiza en la pantalla el primer texto o imagen. [Obtén más información sobre la métrica de Primer procesamiento de imagen con contenido](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)."
  },
  "core/audits/metrics/interaction-to-next-paint.js | description": {
    "message": "La Interacción a la siguiente pintura mide la capacidad de respuesta de la página, es decir, cuánto tarda en responder de manera visible a las entradas del usuario. [Obtén más información sobre la métrica de Interacción a la siguiente pintura](https://web.dev/articles/inp)."
  },
  "core/audits/metrics/interactive.js | description": {
    "message": "El tiempo de carga indica cuánto tarda una página en ser totalmente interactiva. [Obtén más información sobre la métrica de tiempo de carga](https://developer.chrome.com/docs/lighthouse/performance/interactive/)."
  },
  "core/audits/metrics/largest-contentful-paint.js | description": {
    "message": "La métrica Procesamiento de imagen con contenido más grande indica el momento en que se pinta el texto o la imagen más grandes. [Más información sobre la métrica de Procesamiento de imagen con contenido más grande](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
  },
  "core/audits/metrics/max-potential-fid.js | description": {
    "message": "El máximo retraso de primera entrada potencial que podrían experimentar los usuarios es la duración de la tarea más larga. [Obtén más información sobre la métrica de Máximo retraso de primera entrada potencial](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/)."
  },
  "core/audits/metrics/speed-index.js | description": {
    "message": "Speed Index indica la rapidez con la que se puede ver el contenido de una página. [Obtén más información sobre la métrica Speed Index](https://developer.chrome.com/docs/lighthouse/performance/speed-index/)."
  },
  "core/audits/metrics/total-blocking-time.js | description": {
    "message": "Suma todos los períodos entre FCP y el Tiempo de carga, cuando la tarea tarda más de 50 ms. El resultado se expresa en milisegundos. [Obtén más información sobre la métrica de Tiempo de bloqueo total](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/)."
  },
  "core/audits/network-rtt.js | description": {
    "message": "Los tiempos de ida y vuelta (RTT) de la red afectan mucho el rendimiento. Los valores altos de RTT respecto de un origen son indicio de que usar servidores más cercanos al usuario podría mejorar el rendimiento. [Obtén más información acerca del tiempo de ida y vuelta](https://hpbn.co/primer-on-latency-and-bandwidth/)."
  },
  "core/audits/network-rtt.js | title": {
    "message": "Tiempos de ida y vuelta de la red"
  },
  "core/audits/network-server-latency.js | description": {
    "message": "Las latencias del servidor pueden afectar el rendimiento de la Web. Un nivel alto de latencia del servidor en un origen indica que el servidor está sobrecargado o que su rendimiento de backend es bajo. [Obtén más información sobre el tiempo de respuesta del servidor](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
  },
  "core/audits/network-server-latency.js | title": {
    "message": "Latencias de backend del servidor"
  },
  "core/audits/non-composited-animations.js | description": {
    "message": "Es posible que las animaciones que no estén compuestas se vean entrecortadas y aumenten el valor de CLS. [Más información para evitar las animaciones no compuestas](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
  },
  "core/audits/non-composited-animations.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró # elemento animado}other{Se encontraron # elementos animados}}"
  },
  "core/audits/non-composited-animations.js | filterMayMovePixels": {
    "message": "Es posible que la propiedad relacionada con el filtro esté moviendo píxeles"
  },
  "core/audits/non-composited-animations.js | incompatibleAnimations": {
    "message": "El destino tiene otra animación que no es compatible"
  },
  "core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
    "message": "El efecto tiene otro modo compuesto además de \"replace\""
  },
  "core/audits/non-composited-animations.js | title": {
    "message": "Evita las animaciones no compuestas"
  },
  "core/audits/non-composited-animations.js | transformDependsBoxSize": {
    "message": "La propiedad relacionada con la transformación depende del tamaño del recuadro"
  },
  "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
    "message": "{propertyCount,plural, =1{Propiedad CSS no compatible: {properties}}other{Propiedades CSS no compatibles: {properties}}}"
  },
  "core/audits/non-composited-animations.js | unsupportedCustomCSSProperty": {
    "message": "{propertyCount,plural, =1{No se pueden animar las propiedades de CSS personalizadas en el compositor: {properties}}other{No se pueden animar las propiedades de CSS personalizadas en el compositor: {properties}}}"
  },
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
    "message": "El efecto tiene parámetros de tiempo no compatibles"
  },
  "core/audits/origin-isolation.js | columnDirective": {
    "message": "Directiva"
  },
  "core/audits/origin-isolation.js | columnSeverity": {
    "message": "Gravedad"
  },
  "core/audits/origin-isolation.js | description": {
    "message": "La política Cross-Origin-Opener-Policy (COOP) se puede usar para aislar la ventana de nivel superior de otros documentos, como las ventanas emergentes. [Obtén más información para implementar el encabezado COOP.](https://web.dev/articles/why-coop-coep#coop)"
  },
  "core/audits/origin-isolation.js | invalidSyntax": {
    "message": "Sintaxis no válida"
  },
  "core/audits/origin-isolation.js | noCoop": {
    "message": "No se encontró el encabezado COOP"
  },
  "core/audits/origin-isolation.js | title": {
    "message": "Asegúrate de que el aislamiento de origen sea adecuado con COOP"
  },
  "core/audits/redirects-http.js | description": {
    "message": "Asegúrate de redireccionar el tráfico de HTTP a HTTPS para habilitar las funciones de protección de la Web para todos los usuarios. [Obtén más información](https://developer.chrome.com/docs/lighthouse/pwa/redirects-http/)."
  },
  "core/audits/redirects-http.js | failureTitle": {
    "message": "No redirecciona el tráfico HTTP a HTTPS"
  },
  "core/audits/redirects-http.js | title": {
    "message": "Redirecciona el tráfico HTTP a HTTPS"
  },
  "core/audits/redirects.js | description": {
    "message": "Las redirecciones provocan retrasos adicionales antes de que la página se cargue. [Obtén información para evitar redireccionamientos de la página](https://developer.chrome.com/docs/lighthouse/performance/redirects/)."
  },
  "core/audits/redirects.js | title": {
    "message": "Evita que haya varias redirecciones de página"
  },
  "core/audits/seo/canonical.js | description": {
    "message": "Los vínculos canónicos indican qué URL mostrar en los resultados de la búsqueda. [Obtén más información sobre los vínculos canónicos](https://developer.chrome.com/docs/lighthouse/seo/canonical/)."
  },
  "core/audits/seo/canonical.js | explanationConflict": {
    "message": "Varias URL en conflicto ({urlList})"
  },
  "core/audits/seo/canonical.js | explanationInvalid": {
    "message": "URL no válida ({url})"
  },
  "core/audits/seo/canonical.js | explanationPointsElsewhere": {
    "message": "Hace referencia a otra ubicación de `hreflang` ({url})"
  },
  "core/audits/seo/canonical.js | explanationRelative": {
    "message": "No es una URL absoluta ({url})"
  },
  "core/audits/seo/canonical.js | explanationRoot": {
    "message": "Apunta a la URL raíz del dominio (la página principal), en lugar de a una página de contenido equivalente"
  },
  "core/audits/seo/canonical.js | failureTitle": {
    "message": "El documento no tiene un vínculo `rel=canonical` válido"
  },
  "core/audits/seo/canonical.js | title": {
    "message": "El documento tiene un atributo `rel=canonical` válido"
  },
  "core/audits/seo/crawlable-anchors.js | columnFailingLink": {
    "message": "El vínculo no se puede rastrear"
  },
  "core/audits/seo/crawlable-anchors.js | description": {
    "message": "Es posible que los motores de búsqueda utilicen atributos `href` en los vínculos para rastrear los sitios web. Asegúrate de que el atributo `href` de los elementos de anclaje esté vinculado a un destino adecuado, a fin de que se puedan descubrir más páginas del sitio. [Más información para que los vínculos sean rastreables](https://support.google.com/webmasters/answer/9112205)"
  },
  "core/audits/seo/crawlable-anchors.js | failureTitle": {
    "message": "Los vínculos no son rastreables"
  },
  "core/audits/seo/crawlable-anchors.js | title": {
    "message": "Los vínculos son rastreables"
  },
  "core/audits/seo/hreflang.js | description": {
    "message": "Los vínculos de hreflang indican a los motores de búsqueda qué versión de una página deben incluir en los resultados de la búsqueda para una región o un idioma determinados. [Obtén más información sobre `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)."
  },
  "core/audits/seo/hreflang.js | failureTitle": {
    "message": "El documento no tiene un atributo `hreflang` válido"
  },
  "core/audits/seo/hreflang.js | notFullyQualified": {
    "message": "Valor de href relativo"
  },
  "core/audits/seo/hreflang.js | title": {
    "message": "El documento tiene un atributo `hreflang` válido"
  },
  "core/audits/seo/hreflang.js | unexpectedLanguage": {
    "message": "El código de idioma es inesperado"
  },
  "core/audits/seo/http-status-code.js | description": {
    "message": "Es posible que las páginas con códigos de estado HTTP de error no se indexen correctamente. [Obtén más información sobre los códigos de estado HTTP](https://developer.chrome.com/docs/lighthouse/seo/http-status-code/)."
  },
  "core/audits/seo/http-status-code.js | failureTitle": {
    "message": "El código de estado HTTP de la página no es válido"
  },
  "core/audits/seo/http-status-code.js | title": {
    "message": "El código de estado HTTP de la página es válido"
  },
  "core/audits/seo/is-crawlable.js | description": {
    "message": "Los motores de búsqueda no pueden incluir tus páginas en los resultados de la búsqueda si no tienen permiso para rastrearlas. [Obtén más información sobre las directivas del rastreador](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable/)."
  },
  "core/audits/seo/is-crawlable.js | failureTitle": {
    "message": "Se bloqueó la indexación de la página"
  },
  "core/audits/seo/is-crawlable.js | title": {
    "message": "No se bloqueó la indexación de la página"
  },
  "core/audits/seo/link-text.js | description": {
    "message": "El texto descriptivo de los vínculos ayuda a los motores de búsqueda a entender tu contenido. [Obtén información para que los vínculos sean más accesibles](https://developer.chrome.com/docs/lighthouse/seo/link-text/)."
  },
  "core/audits/seo/link-text.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró 1 vínculo}other{Se encontraron # vínculos}}"
  },
  "core/audits/seo/link-text.js | failureTitle": {
    "message": "Los vínculos no tienen texto descriptivo"
  },
  "core/audits/seo/link-text.js | title": {
    "message": "Los vínculos tienen texto descriptivo"
  },
  "core/audits/seo/manual/structured-data.js | description": {
    "message": "Ejecuta la [Herramienta de prueba de datos estructurados](https://developers.google.com/search/docs/appearance/structured-data/) para validar los datos estructurados. [Obtén más información sobre los datos estructurados](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
  },
  "core/audits/seo/manual/structured-data.js | title": {
    "message": "Los datos estructurados son válidos"
  },
  "core/audits/seo/meta-description.js | description": {
    "message": "Se pueden incluir metadescripciones en los resultados de la búsqueda para resumir el contenido de la página. [Obtén más información sobre la metadescripción](https://developer.chrome.com/docs/lighthouse/seo/meta-description/)."
  },
  "core/audits/seo/meta-description.js | explanation": {
    "message": "El texto de la descripción está vacío."
  },
  "core/audits/seo/meta-description.js | failureTitle": {
    "message": "El documento no tiene una metadescripción"
  },
  "core/audits/seo/meta-description.js | title": {
    "message": "El documento tiene una metadescripción"
  },
  "core/audits/seo/robots-txt.js | description": {
    "message": "Si el formato del archivo robots.txt no es correcto, es posible que los rastreadores no puedan interpretar cómo quieres que se rastree o indexe tu sitio web. [Obtén más información acerca de los archivos robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
  },
  "core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
    "message": "La solicitud de robots.txt mostró el siguiente estado de HTTP: {statusCode}"
  },
  "core/audits/seo/robots-txt.js | displayValueValidationError": {
    "message": "{itemCount,plural, =1{Se encontró 1 error}other{Se encontraron # errores}}"
  },
  "core/audits/seo/robots-txt.js | explanation": {
    "message": "Lighthouse no pudo descargar un archivo robots.txt"
  },
  "core/audits/seo/robots-txt.js | failureTitle": {
    "message": "robots.txt no es válido"
  },
  "core/audits/seo/robots-txt.js | title": {
    "message": "robots.txt es válido"
  },
  "core/audits/server-response-time.js | description": {
    "message": "Es importante que el tiempo de respuesta del servidor para el documento principal sea breve, ya que afecta a las demás solicitudes. [Obtén más información sobre la métrica Tiempo hasta el primer byte](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)."
  },
  "core/audits/server-response-time.js | displayValue": {
    "message": "El documento raíz tardó {timeInMs, number, milliseconds} ms"
  },
  "core/audits/server-response-time.js | failureTitle": {
    "message": "Reduce el tiempo de respuesta del servidor"
  },
  "core/audits/server-response-time.js | title": {
    "message": "El tiempo de respuesta inicial del servidor fue breve"
  },
  "core/audits/third-party-cookies.js | description": {
    "message": "Es posible que se bloqueen las cookies de terceros en algunos contextos. [Obtén más información para prepararte para las restricciones de las cookies de terceros](https://privacysandbox.google.com/cookies/prepare/overview)."
  },
  "core/audits/third-party-cookies.js | displayValue": {
    "message": "{itemCount,plural, =1{Se encontró 1 cookie}other{Se encontraron # cookies}}"
  },
  "core/audits/third-party-cookies.js | failureTitle": {
    "message": "Utiliza cookies de terceros"
  },
  "core/audits/third-party-cookies.js | title": {
    "message": "Evita las cookies de terceros"
  },
  "core/audits/trusted-types-xss.js | columnSeverity": {
    "message": "Gravedad"
  },
  "core/audits/trusted-types-xss.js | description": {
    "message": "La directiva `require-trusted-types-for` en el encabezado `Content-Security-Policy` (CSP) indica a los usuarios-agente que controlen los datos que se pasan a las funciones de receptor de XSS del DOM. [Obtén más información para mitigar el XSS basado en DOM con Trusted Types](https://developer.chrome.com/docs/lighthouse/best-practices/trusted-types-xss)."
  },
  "core/audits/trusted-types-xss.js | noTrustedTypesToMitigateXss": {
    "message": "No se encontró el encabezado `Content-Security-Policy` con la directiva Trusted Types"
  },
  "core/audits/trusted-types-xss.js | title": {
    "message": "Mitiga el XSS basado en DOM con Trusted Types"
  },
  "core/audits/unsized-images.js | description": {
    "message": "Establece un atributo explícito de altura y ancho en los elementos de imagen para reducir los cambios de diseño y mejorar la métrica del CLS. [Más información para configurar las dimensiones de las imágenes](https://web.dev/articles/optimize-cls#images_without_dimensions)"
  },
  "core/audits/unsized-images.js | failureTitle": {
    "message": "Los elementos de imagen no tienen ningún atributo `width` ni `height` explícito"
  },
  "core/audits/unsized-images.js | title": {
    "message": "Los elementos de imagen tienen atributos `width` y `height` explícitos"
  },
  "core/audits/user-timings.js | columnType": {
    "message": "Tipo"
  },
  "core/audits/user-timings.js | description": {
    "message": "Te recomendamos que incorpores la API de User Timing en tu app para calcular su rendimiento real durante las principales experiencias del usuario. [Obtén más información sobre las marcas de User Timing](https://developer.chrome.com/docs/lighthouse/performance/user-timings/)."
  },
  "core/audits/user-timings.js | displayValue": {
    "message": "{itemCount,plural, =1{1 tiempo de usuario}other{# tiempos de usuario}}"
  },
  "core/audits/user-timings.js | title": {
    "message": "Medidas y marcas de Tiempos de usuario"
  },
  "core/audits/valid-source-maps.js | columnMapURL": {
    "message": "URL de mapas"
  },
  "core/audits/valid-source-maps.js | description": {
    "message": "Los mapas de orígenes traducen código reducido en el código fuente original. Esto ayuda a los desarrolladores a depurar el código durante la producción. Además, Lighthouse puede brindar más estadísticas. Te recomendamos implementar los mapas de orígenes para aprovechar estos beneficios. [Obtén más información sobre los mapas de origen](https://developer.chrome.com/docs/devtools/javascript/source-maps/)."
  },
  "core/audits/valid-source-maps.js | failureTitle": {
    "message": "Faltan mapas de orígenes para el archivo JavaScript grande propio"
  },
  "core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
    "message": "Falta un archivo JavaScript grande del mapa de orígenes"
  },
  "core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
    "message": "{missingItems,plural, =1{Advertencia: Falta 1 elemento en `.sourcesContent`}other{Advertencia: Faltan # elementos en `.sourcesContent`}}"
  },
  "core/audits/valid-source-maps.js | title": {
    "message": "La página tiene mapas de orígenes válidos"
  },
  "core/config/default-config.js | a11yAriaGroupDescription": {
    "message": "A continuación, se indican consejos para optimizar el uso de ARIA en tu app, lo que puede mejorar la experiencia de los usuarios de tecnologías de asistencia, como los lectores de pantalla."
  },
  "core/config/default-config.js | a11yAriaGroupTitle": {
    "message": "ARIA"
  },
  "core/config/default-config.js | a11yAudioVideoGroupDescription": {
    "message": "Aquí tienes consejos para proporcionar contenido alternativo para audio y video. Así se puede mejorar la experiencia de los usuarios con dificultades auditivas o visuales."
  },
  "core/config/default-config.js | a11yAudioVideoGroupTitle": {
    "message": "Audio y video"
  },
  "core/config/default-config.js | a11yBestPracticesGroupDescription": {
    "message": "Estos elementos destacan las prácticas recomendadas de accesibilidad más habituales."
  },
  "core/config/default-config.js | a11yBestPracticesGroupTitle": {
    "message": "Prácticas recomendadas"
  },
  "core/config/default-config.js | a11yCategoryDescription": {
    "message": "Estas comprobaciones destacan las oportunidades para [mejorar la accesibilidad de tu app web](https://developer.chrome.com/docs/lighthouse/accessibility/). La detección automática solo puede detectar un subconjunto de problemas y no garantiza la accesibilidad de tu app web, por lo que también se recomienda hacer [pruebas manuales](https://web.dev/articles/how-to-review)."
  },
  "core/config/default-config.js | a11yCategoryManualDescription": {
    "message": "Estos elementos abarcan áreas que las herramientas de prueba automáticas no contemplan. Obtén más información en nuestra guía sobre [cómo revisar los aspectos de accesibilidad](https://web.dev/articles/how-to-review)."
  },
  "core/config/default-config.js | a11yCategoryTitle": {
    "message": "Accesibilidad"
  },
  "core/config/default-config.js | a11yColorContrastGroupDescription": {
    "message": "A continuación, se indican consejos para facilitar la lectura del contenido."
  },
  "core/config/default-config.js | a11yColorContrastGroupTitle": {
    "message": "Contraste"
  },
  "core/config/default-config.js | a11yLanguageGroupDescription": {
    "message": "A continuación, se indican consejos para que los usuarios con diversas configuraciones regionales puedan interpretar mejor el contenido de las páginas."
  },
  "core/config/default-config.js | a11yLanguageGroupTitle": {
    "message": "Internacionalización y localización"
  },
  "core/config/default-config.js | a11yNamesLabelsGroupDescription": {
    "message": "A continuación, se indican consejos para mejorar la semántica de los controles de tu app. Estos consejos pueden mejorar la experiencia de los usuarios de tecnologías de asistencia, como los lectores de pantalla."
  },
  "core/config/default-config.js | a11yNamesLabelsGroupTitle": {
    "message": "Nombres y etiquetas"
  },
  "core/config/default-config.js | a11yNavigationGroupDescription": {
    "message": "Estas son oportunidades para mejorar la navegación con el teclado en tu app."
  },
  "core/config/default-config.js | a11yNavigationGroupTitle": {
    "message": "Navegación"
  },
  "core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
    "message": "Aquí tienes sugerencias para mejorar la lectura de datos en tablas o listas con tecnologías de accesibilidad, como los lectores de pantalla."
  },
  "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
    "message": "Tablas y listas"
  },
  "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
    "message": "Compatibilidad del navegador"
  },
  "core/config/default-config.js | bestPracticesCategoryTitle": {
    "message": "Recomendaciones"
  },
  "core/config/default-config.js | bestPracticesGeneralGroupTitle": {
    "message": "General"
  },
  "core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
    "message": "Confianza y seguridad"
  },
  "core/config/default-config.js | bestPracticesUXGroupTitle": {
    "message": "Experiencia del usuario"
  },
  "core/config/default-config.js | diagnosticsGroupDescription": {
    "message": "Obtén más información sobre el rendimiento de tu app. Estos números no [afectan directamente](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) la medición del rendimiento."
  },
  "core/config/default-config.js | diagnosticsGroupTitle": {
    "message": "Diagnóstico"
  },
  "core/config/default-config.js | firstPaintImprovementsGroupDescription": {
    "message": "El aspecto más importante del rendimiento es la rapidez con la que se renderizan los píxeles en la pantalla. Métricas clave: primer procesamiento de imagen con contenido, primera pintura significativa"
  },
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
    "message": "Mejoras del primer procesamiento de imagen"
  },
  "core/config/default-config.js | insightsGroupDescription": {
    "message": "Estas estadísticas también están disponibles en el panel de rendimiento de las Herramientas para desarrolladores de Chrome: [graba un registro](https://developer.chrome.com/docs/devtools/performance/reference) para ver información más detallada."
  },
  "core/config/default-config.js | insightsGroupTitle": {
    "message": "Estadísticas"
  },
  "core/config/default-config.js | metricGroupTitle": {
    "message": "Métricas"
  },
  "core/config/default-config.js | overallImprovementsGroupDescription": {
    "message": "Mejora la experiencia de carga general para que la página responda bien y se pueda usar lo antes posible. Métricas clave: Time to Interactive, Speed Index"
  },
  "core/config/default-config.js | overallImprovementsGroupTitle": {
    "message": "Mejoras generales"
  },
  "core/config/default-config.js | performanceCategoryTitle": {
    "message": "Rendimiento"
  },
  "core/config/default-config.js | seoCategoryDescription": {
    "message": "Estas comprobaciones aseguran que tu página esté siguiendo la sugerencia básica de optimización por motores de búsqueda. Existen muchos factores adicionales que Lighthouse no registra y que pueden afectar su clasificación en la búsqueda, como el rendimiento en las [Métricas web esenciales](https://web.dev/explore/vitals). [Obtén más información sobre los conceptos básicos de la Búsqueda de Google](https://support.google.com/webmasters/answer/35769)."
  },
  "core/config/default-config.js | seoCategoryManualDescription": {
    "message": "Ejecuta estos validadores adicionales en tu sitio web para comprobar más prácticas recomendadas de SEO."
  },
  "core/config/default-config.js | seoCategoryTitle": {
    "message": "SEO"
  },
  "core/config/default-config.js | seoContentGroupDescription": {
    "message": "Edita el código HTML de tu página web de forma que los rastreadores puedan entender mejor el contenido de tu app."
  },
  "core/config/default-config.js | seoContentGroupTitle": {
    "message": "Prácticas recomendadas para el contenido"
  },
  "core/config/default-config.js | seoCrawlingGroupDescription": {
    "message": "Para aparecer en los resultados de búsqueda, los rastreadores necesitan acceso a tu app."
  },
  "core/config/default-config.js | seoCrawlingGroupTitle": {
    "message": "Rastreo e indexación"
  },
  "core/config/default-config.js | seoMobileGroupDescription": {
    "message": "Asegúrate de que tus páginas estén optimizadas para dispositivos móviles a fin de que los usuarios no tengan que pellizcar ni hacer zoom para leer las páginas de contenido. [Obtén más información para hacer que las páginas estén optimizadas para dispositivos móviles](https://developers.google.com/search/mobile-sites/)."
  },
  "core/config/default-config.js | seoMobileGroupTitle": {
    "message": "Optimizada para dispositivos móviles"
  },
  "core/gather/driver/environment.js | warningSlowHostCpu": {
    "message": "El dispositivo probado parece tener una CPU más lenta de lo que espera Lighthouse, lo que puede afectar negativamente la puntuación del rendimiento. Obtén más información para [calibrar un multiplicador adecuado para ralentizar la CPU](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
  },
  "core/gather/driver/navigation.js | warningRedirected": {
    "message": "Es posible que la página no se cargue como se espera porque se redireccionó la URL de prueba ({requested}) a {final}. Como alternativa, prueba directamente la segunda URL."
  },
  "core/gather/driver/navigation.js | warningTimeout": {
    "message": "La página tardó demasiado en cargarse y no finalizó antes del límite de tiempo establecido. Es posible que los resultados estén incompletos."
  },
  "core/gather/driver/storage.js | warningCacheTimeout": {
    "message": "Se agotó el tiempo de espera para vaciar la caché del navegador. Intenta volver a auditar esta página y, si el problema persiste, informa un error."
  },
  "core/gather/driver/storage.js | warningData": {
    "message": "{locationCount,plural, =1{Es posible que los datos almacenados afecten el rendimiento de carga en esta ubicación: {locations}. Realiza una auditoría de esta página en una ventana de incógnito para evitar que estos recursos afecten el resultado.}other{Es posible que los datos almacenados afecten el rendimiento de carga en estas ubicaciones: {locations}. Realiza una auditoría de esta página en una ventana de incógnito para evitar que estos recursos afecten el resultado.}}"
  },
  "core/gather/driver/storage.js | warningOriginDataTimeout": {
    "message": "Se agotó el tiempo para borrar los datos de origen. Intenta volver a auditar esta página y, si el problema persiste, informa un error."
  },
  "core/gather/gatherers/link-elements.js | headerParseWarning": {
    "message": "Se produjo un error al analizar el encabezado `link` ({error}): `{header}`"
  },
  "core/gather/timespan-runner.js | warningNavigationDetected": {
    "message": "Se detectó una navegación de páginas durante la ejecución. No se recomienda usar el modo de período para auditar las navegaciones de páginas. Usa el modo de navegación para auditar la navegación de páginas a fin de mejorar la atribución de terceros y la detección de subprocesos principales."
  },
  "core/lib/csp-evaluator.js | allowlistFallback": {
    "message": "Considera agregar esquemas de URL con https: y http: (ignorados por los navegadores que admiten `'strict-dynamic'`) para que la política sea retrocompatible con los navegadores anteriores."
  },
  "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
    "message": "`disown-opener` dejó de estar disponible en CSP3. En su lugar, usa el encabezado Cross-Origin-Opener-Policy."
  },
  "core/lib/csp-evaluator.js | deprecatedReferrer": {
    "message": "`referrer` dejó de estar disponible en CSP2. En su lugar, usa el encabezado Referrer-Policy."
  },
  "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
    "message": "`reflected-xss` dejó de estar disponible en CSP2. En su lugar, usa el encabezado X-XSS-Protection."
  },
  "core/lib/csp-evaluator.js | missingBaseUri": {
    "message": "La falta de directiva `base-uri` permite que las etiquetas `<base>` insertadas configuren la URL base para todas las URL relativas (p. ej., secuencia de comandos) a un dominio controlado del atacante. Te recomendamos establecer `base-uri` en `'none'` o `'self'`."
  },
  "core/lib/csp-evaluator.js | missingObjectSrc": {
    "message": "La falta de `object-src` permite insertar complementos que ejecutan secuencias de comandos no seguras. Considera establecer `object-src` como `'none'` si es posible."
  },
  "core/lib/csp-evaluator.js | missingScriptSrc": {
    "message": "Falta la directiva `script-src`. Esto puede permitir la ejecución de secuencias de comandos no seguras."
  },
  "core/lib/csp-evaluator.js | missingSemicolon": {
    "message": "¿Olvidaste el punto y coma? Al parecer, {keyword} es una directiva, no una palabra clave."
  },
  "core/lib/csp-evaluator.js | nonceCharset": {
    "message": "Los nonces deben usar el charset base64."
  },
  "core/lib/csp-evaluator.js | nonceLength": {
    "message": "Los nonces deben tener al menos 8 caracteres."
  },
  "core/lib/csp-evaluator.js | plainUrlScheme": {
    "message": "Impide usar esquemas de URL sin formato ({keyword}) en esta directiva. Los esquemas de URL sin formato permiten obtener secuencias de comandos de un dominio no seguro."
  },
  "core/lib/csp-evaluator.js | plainWildcards": {
    "message": "Impide usar comodines sin formato ({keyword}) en esta directiva. Los comodines sin formato permiten obtener secuencias de comandos de un dominio no seguro."
  },
  "core/lib/csp-evaluator.js | reportToOnly": {
    "message": "El destino del informe solo se configura mediante la directiva report-to. Esta directiva solo es compatible con los navegadores con Chromium, por lo que se recomienda que uses siempre una directiva `report-uri`."
  },
  "core/lib/csp-evaluator.js | reportingDestinationMissing": {
    "message": "Ninguna CSP configura un destino para informes. Esto dificulta el mantenimiento de la CSP con el tiempo y el monitoreo de cualquier falla."
  },
  "core/lib/csp-evaluator.js | strictDynamic": {
    "message": "Las listas de host permitidos a menudo se pueden omitir. Considera usar nonces o hashes de la CSP, junto con `'strict-dynamic'` si es necesario."
  },
  "core/lib/csp-evaluator.js | unknownDirective": {
    "message": "La directiva de la CSP es desconocida."
  },
  "core/lib/csp-evaluator.js | unknownKeyword": {
    "message": "Al parecer, {keyword} es una palabra clave no válida."
  },
  "core/lib/csp-evaluator.js | unsafeInline": {
    "message": "`'unsafe-inline'` permite la ejecución de controladores de eventos y secuencias de comandos no seguras en la página. Considera usar nonces o hashes de la CSP para permitir secuencias de comandos por separado."
  },
  "core/lib/csp-evaluator.js | unsafeInlineFallback": {
    "message": "Considera agregar `'unsafe-inline'` (ignorada por los navegadores que admiten nonces y hashes) para que la política sea retrocompatible con los navegadores anteriores."
  },
  "core/lib/deprecation-description.js | feature": {
    "message": "Consulta la página de estado de la función para obtener más información."
  },
  "core/lib/deprecation-description.js | milestone": {
    "message": "Este cambio tendrá efecto con la versión principal {milestone}."
  },
  "core/lib/deprecation-description.js | title": {
    "message": "Se usó una función no disponible"
  },
  "core/lib/i18n/i18n.js | columnBlockingTime": {
    "message": "Tiempo de bloqueo del subproceso principal"
  },
  "core/lib/i18n/i18n.js | columnCacheTTL": {
    "message": "TTL en caché"
  },
  "core/lib/i18n/i18n.js | columnDescription": {
    "message": "Descripción"
  },
  "core/lib/i18n/i18n.js | columnDuration": {
    "message": "Duración"
  },
  "core/lib/i18n/i18n.js | columnElement": {
    "message": "Elemento"
  },
  "core/lib/i18n/i18n.js | columnFailingElem": {
    "message": "Elementos con errores"
  },
  "core/lib/i18n/i18n.js | columnLocation": {
    "message": "Ubicación"
  },
  "core/lib/i18n/i18n.js | columnName": {
    "message": "Nombre"
  },
  "core/lib/i18n/i18n.js | columnRequests": {
    "message": "Solicitudes"
  },
  "core/lib/i18n/i18n.js | columnResourceSize": {
    "message": "Tamaño del recurso"
  },
  "core/lib/i18n/i18n.js | columnResourceType": {
    "message": "Tipo de recurso"
  },
  "core/lib/i18n/i18n.js | columnSize": {
    "message": "Tamaño"
  },
  "core/lib/i18n/i18n.js | columnSource": {
    "message": "Fuente"
  },
  "core/lib/i18n/i18n.js | columnStartTime": {
    "message": "Hora de inicio"
  },
  "core/lib/i18n/i18n.js | columnTimeSpent": {
    "message": "Tiempo de uso"
  },
  "core/lib/i18n/i18n.js | columnTransferSize": {
    "message": "Tamaño de transferencia"
  },
  "core/lib/i18n/i18n.js | columnURL": {
    "message": "URL"
  },
  "core/lib/i18n/i18n.js | columnWastedBytes": {
    "message": "Ahorro estimado"
  },
  "core/lib/i18n/i18n.js | columnWastedMs": {
    "message": "Ahorro estimado"
  },
  "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
    "message": "Cumulative Layout Shift"
  },
  "core/lib/i18n/i18n.js | displayValueByteSavings": {
    "message": "Ahorro estimado de {wastedBytes, number, bytes} KiB"
  },
  "core/lib/i18n/i18n.js | displayValueElementsFound": {
    "message": "{nodeCount,plural, =1{Se encontró 1 elemento}other{Se encontraron # elementos}}"
  },
  "core/lib/i18n/i18n.js | displayValueMsSavings": {
    "message": "Ahorro estimado de {wastedMs, number, milliseconds} ms"
  },
  "core/lib/i18n/i18n.js | documentResourceType": {
    "message": "Documento"
  },
  "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
    "message": "First Contentful Paint"
  },
  "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
    "message": "Primera pintura significativa"
  },
  "core/lib/i18n/i18n.js | fontResourceType": {
    "message": "Fuente"
  },
  "core/lib/i18n/i18n.js | imageResourceType": {
    "message": "Imagen"
  },
  "core/lib/i18n/i18n.js | interactionToNextPaint": {
    "message": "Interacción a la siguiente pintura"
  },
  "core/lib/i18n/i18n.js | interactiveMetric": {
    "message": "Time to Interactive"
  },
  "core/lib/i18n/i18n.js | itemSeverityHigh": {
    "message": "Alta"
  },
  "core/lib/i18n/i18n.js | itemSeverityLow": {
    "message": "Baja"
  },
  "core/lib/i18n/i18n.js | itemSeverityMedium": {
    "message": "Media"
  },
  "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
    "message": "Largest Contentful Paint"
  },
  "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
    "message": "Máximo retraso de primera entrada posible"
  },
  "core/lib/i18n/i18n.js | mediaResourceType": {
    "message": "Contenido multimedia"
  },
  "core/lib/i18n/i18n.js | ms": {
    "message": "{timeInMs, number, milliseconds} ms"
  },
  "core/lib/i18n/i18n.js | otherResourceType": {
    "message": "Otro"
  },
  "core/lib/i18n/i18n.js | otherResourcesLabel": {
    "message": "Otros recursos"
  },
  "core/lib/i18n/i18n.js | scriptResourceType": {
    "message": "Secuencia de comandos"
  },
  "core/lib/i18n/i18n.js | seconds": {
    "message": "{timeInMs, number, seconds} s"
  },
  "core/lib/i18n/i18n.js | speedIndexMetric": {
    "message": "Speed Index"
  },
  "core/lib/i18n/i18n.js | stylesheetResourceType": {
    "message": "Hoja de estilo"
  },
  "core/lib/i18n/i18n.js | thirdPartyResourceType": {
    "message": "Terceros"
  },
  "core/lib/i18n/i18n.js | total": {
    "message": "Total"
  },
  "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
    "message": "Total Blocking Time"
  },
  "core/lib/i18n/i18n.js | totalResourceType": {
    "message": "Total"
  },
  "core/lib/lh-error.js | badTraceRecording": {
    "message": "Se produjo un error de registro de seguimiento durante la carga de la página. Vuelve a ejecutar Lighthouse. ({errorCode})"
  },
  "core/lib/lh-error.js | criTimeout": {
    "message": "Se agotó el tiempo de espera de la conexión inicial del protocolo del depurador."
  },
  "core/lib/lh-error.js | didntCollectScreenshots": {
    "message": "Chrome no recopiló ninguna captura de pantalla al cargar la página. Comprueba que haya contenido visible en la página y vuelve a ejecutar Lighthouse. ({errorCode})"
  },
  "core/lib/lh-error.js | dnsFailure": {
    "message": "Los servidores DNS no pudieron resolver el dominio proporcionado."
  },
  "core/lib/lh-error.js | erroredRequiredArtifact": {
    "message": "El recopilador {artifactName} obligatorio encontró un error: {errorMessage}"
  },
  "core/lib/lh-error.js | internalChromeError": {
    "message": "Se produjo un error interno de Chrome. Reinicia Chrome y vuelve a ejecutar Lighthouse."
  },
  "core/lib/lh-error.js | missingRequiredArtifact": {
    "message": "No se ejecutó el recopilador necesario para {artifactName}."
  },
  "core/lib/lh-error.js | noFcp": {
    "message": "No se mostró contenido en la página. Asegúrate de que la ventana del navegador esté en primer plano durante la carga y vuelve a intentarlo. ({errorCode})"
  },
  "core/lib/lh-error.js | noLcp": {
    "message": "La página no mostraba contenido que fuera calificado como Largest Contentful Paint (LCP). Asegúrate de que la página tenga un elemento LCP válido y vuelve a intentarlo. ({errorCode})"
  },
  "core/lib/lh-error.js | notHtml": {
    "message": "La página proporcionada no es HTML (se proporciona como el tipo de MIME {mimeType})."
  },
  "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
    "message": "Esta versión de Chrome no admite \"{featureName}\" porque es demasiado antigua. Usa una versión más reciente para ver los resultados completos."
  },
  "core/lib/lh-error.js | pageLoadFailed": {
    "message": "Lighthouse no pudo cargar correctamente la página que solicitaste. Comprueba que estás probando la URL correcta y que el servidor responde correctamente a todas las solicitudes."
  },
  "core/lib/lh-error.js | pageLoadFailedHung": {
    "message": "Lighthouse no pudo cargar correctamente la URL que solicitaste porque la página dejó de responder."
  },
  "core/lib/lh-error.js | pageLoadFailedInsecure": {
    "message": "La URL que proporcionaste no tiene un certificado de seguridad válido. {securityMessages}"
  },
  "core/lib/lh-error.js | pageLoadFailedInterstitial": {
    "message": "Chrome evitó la carga de la página y mostró una pantalla intersticial. Verifica que estés probando la URL correcta y que el servidor responda adecuadamente a todas las solicitudes."
  },
  "core/lib/lh-error.js | pageLoadFailedWithDetails": {
    "message": "Lighthouse no pudo cargar correctamente la página que solicitaste. Verifica que estés probando la URL correcta y que el servidor responda adecuadamente a todas las solicitudes. (Detalles: {errorDetails})"
  },
  "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
    "message": "Lighthouse no pudo cargar correctamente la página que solicitaste. Verifica que estés probando la URL correcta y que el servidor responda adecuadamente a todas las solicitudes. (Código de estado: {statusCode})"
  },
  "core/lib/lh-error.js | pageLoadTookTooLong": {
    "message": "La página tardó demasiado en cargarse. Sigue los consejos del informe para reducir el tiempo de carga de la página y vuelve a ejecutar Lighthouse. ({errorCode})"
  },
  "core/lib/lh-error.js | protocolTimeout": {
    "message": "Se superó el tiempo asignado para la respuesta de protocolo de DevTools. (Método: {protocolMethod})"
  },
  "core/lib/lh-error.js | requestContentTimeout": {
    "message": "Se superó el tiempo asignado para obtener el contenido de los recursos"
  },
  "core/lib/lh-error.js | targetCrashed": {
    "message": "La pestaña del navegador falló de forma inesperada."
  },
  "core/lib/lh-error.js | urlInvalid": {
    "message": "Al parecer, la URL que proporcionaste no es válida."
  },
  "core/lib/navigation-error.js | warningStatusCode": {
    "message": "Lighthouse no pudo cargar correctamente la página que solicitaste. Verifica que estés probando la URL correcta y que el servidor responda adecuadamente a todas las solicitudes. (Código de estado: {errorCode})"
  },
  "core/lib/navigation-error.js | warningXhtml": {
    "message": "El tipo de MIME de la página es XHTML: Lighthouse no admite explícitamente este tipo de documento"
  },
  "core/user-flow.js | defaultFlowName": {
    "message": "Flujo de usuarios ({url})"
  },
  "core/user-flow.js | defaultNavigationName": {
    "message": "Informe de navegación ({url})"
  },
  "core/user-flow.js | defaultSnapshotName": {
    "message": "Informe de un momento específico ({url})"
  },
  "core/user-flow.js | defaultTimespanName": {
    "message": "Informe del período ({url})"
  },
  "flow-report/src/i18n/ui-strings.js | allReports": {
    "message": "Todos los informes"
  },
  "flow-report/src/i18n/ui-strings.js | categories": {
    "message": "Categorías"
  },
  "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
    "message": "Accesibilidad"
  },
  "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
    "message": "Recomendaciones"
  },
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
    "message": "Rendimiento"
  },
  "flow-report/src/i18n/ui-strings.js | categorySeo": {
    "message": "SEO"
  },
  "flow-report/src/i18n/ui-strings.js | desktop": {
    "message": "Escritorio"
  },
  "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
    "message": "Explicación del informe de flujos de Lighthouse"
  },
  "flow-report/src/i18n/ui-strings.js | helpLabel": {
    "message": "Explicación de flujos"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
    "message": "Utilizar los informes de navegación para…"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
    "message": "Utilizar los informes de instantáneas para…"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
    "message": "Utilizar los informes de períodos para…"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
    "message": "Obtener una puntuación de rendimiento de Lighthouse."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
    "message": "Obtener métricas de rendimiento de carga de páginas, como Largest Contentful Paint y Speed Index."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
    "message": "Evaluar las capacidades de las apps web progresivas."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
    "message": "Encontrar problemas de accesibilidad en aplicaciones de página única o formularios complejos."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
    "message": "Evaluar prácticas recomendadas de menús y elementos de la IU ocultos detrás de la interacción."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
    "message": "Medir los cambios de diseño y el tiempo de ejecución de JavaScript en una serie de interacciones."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
    "message": "Descubrir oportunidades de rendimiento para mejorar la experiencia en aplicaciones de página única y en páginas abiertas por largo tiempo."
  },
  "flow-report/src/i18n/ui-strings.js | highestImpact": {
    "message": "Mayor impacto"
  },
  "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
    "message": "{numInformative,plural, =1{{numInformative} auditoría informativa}other{{numInformative} auditorías informativas}}"
  },
  "flow-report/src/i18n/ui-strings.js | mobile": {
    "message": "Para dispositivos móviles"
  },
  "flow-report/src/i18n/ui-strings.js | navigationDescription": {
    "message": "Carga de página"
  },
  "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
    "message": "Los informes de navegación analizan la carga de una sola página, de la misma manera que los informes originales de Lighthouse."
  },
  "flow-report/src/i18n/ui-strings.js | navigationReport": {
    "message": "Informe de navegación"
  },
  "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
    "message": "{numNavigation,plural, =1{{numNavigation} informe de navegación}other{{numNavigation} informes de navegación}}"
  },
  "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
    "message": "{numPassableAudits,plural, =1{{numPassableAudits} auditoría con posibilidades de aprobar}other{{numPassableAudits} auditorías con posibilidades de aprobar}}"
  },
  "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
    "message": "{numPassed,plural, =1{{numPassed} auditoría aprobada}other{{numPassed} auditorías aprobadas}}"
  },
  "flow-report/src/i18n/ui-strings.js | ratingAverage": {
    "message": "Promedio"
  },
  "flow-report/src/i18n/ui-strings.js | ratingError": {
    "message": "Error"
  },
  "flow-report/src/i18n/ui-strings.js | ratingFail": {
    "message": "Deficiente"
  },
  "flow-report/src/i18n/ui-strings.js | ratingPass": {
    "message": "Bueno"
  },
  "flow-report/src/i18n/ui-strings.js | save": {
    "message": "Guardar"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
    "message": "Estado de la página en un momento específico"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
    "message": "Los informes de instantáneas analizan la página en un estado particular, por lo general, después de las interacciones de un usuario."
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReport": {
    "message": "Informe de un momento específico"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
    "message": "{numSnapshot,plural, =1{{numSnapshot} informe de un momento específico}other{{numSnapshot} informes de un momento específico}}"
  },
  "flow-report/src/i18n/ui-strings.js | summary": {
    "message": "Resumen"
  },
  "flow-report/src/i18n/ui-strings.js | timespanDescription": {
    "message": "Interacciones del usuario"
  },
  "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
    "message": "Los informes de períodos analizan un período arbitrario, el cual por lo general incluye interacciones de los usuarios."
  },
  "flow-report/src/i18n/ui-strings.js | timespanReport": {
    "message": "Informe del período"
  },
  "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
    "message": "{numTimespan,plural, =1{{numTimespan} informe del período}other{{numTimespan} informes del período}}"
  },
  "flow-report/src/i18n/ui-strings.js | title": {
    "message": "Informe del flujo de usuarios de Lighthouse"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AuthorizationCoveredByWildcard": {
    "message": "El símbolo comodín (*) no cubrirá la autorización en el controlador Access-Control-Allow-Headers de CORS."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
    "message": "Debe usarse el atributo disableRemotePlayback en lugar del selector -internal-media-controls-overlay-cast-button a fin de inhabilitar la integración predeterminada de Cast."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSValueAppearanceSliderVertical": {
    "message": "El valor de apariencia del CSS slider-vertical no es estandarizado y se quitará."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
    "message": "Las solicitudes de recurso cuyas URLs contenían tanto caracteres \\(n|r|t) con espacio en blanco que se quitaron y caracteres inferiores (<) están bloqueadas. Quita las líneas nuevas y codifica caracteres inferiores en lugares como los valores del atributo del elemento a fin de cargar estos recursos."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
    "message": "chrome.loadTimes() ya no está disponible, en su lugar, usa la API estandarizada Navigation Timing 2."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
    "message": "chrome.loadTimes() ya no está disponible y se quitará. En su lugar, utiliza la API estandarizada Paint Timing."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
    "message": "chrome.loadTimes() ya no está disponible. En su lugar, usa la API estandarizada: nextHopProtocol en Navigation Timing 2."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CookieWithTruncatingChar": {
    "message": "Se rechazarán las cookies que incluyan un carácter \\(0|r|n) en lugar de truncarse."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginAccessBasedOnDocumentDomain": {
    "message": "La función para relajar la política del mismo origen mediante la configuración de document.domain ya no está disponible y se inhabilitará de forma predeterminada. Esta advertencia de baja es para un acceso de origen cruzado que se habilitó mediante la configuración de document.domain."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowAlert": {
    "message": "La función para activar window.alert desde iframes de origen cruzado ya no está disponible y se quitará en el futuro."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
    "message": "La función para activar window.confirm desde iframes de origen cruzado ya no está disponible y se quitará en el futuro."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
    "message": "Compatibilidad con datos: Las URLs de SVGUseElement están obsoletas y se quitarán en el futuro."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOrigin": {
    "message": "getCurrentPosition() y watchPosition() ya no funcionan en orígenes inseguros. Para utilizar esta función, considera cambiar tu app a un origen seguro, como HTTPS. Para obtener más información, consulta https://goo.gle/chrome-insecure-origins."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
    "message": "getCurrentPosition() y watchPosition() ya no están disponibles en orígenes inseguros. Para utilizar esta función, considera cambiar tu app a un origen seguro, como HTTPS. Para obtener más información, consulta https://goo.gle/chrome-insecure-origins."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GetUserMediaInsecureOrigin": {
    "message": "getUserMedia() ya no funciona en orígenes inseguros. Para utilizar esta función, considera cambiar tu app a un origen seguro, como HTTPS. Para obtener más información, consulta https://goo.gle/chrome-insecure-origins."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | HostCandidateAttributeGetter": {
    "message": "RTCPeerConnectionIceErrorEvent.hostCandidate ya no está disponible. En su lugar, usa RTCPeerConnectionIceErrorEvent.address o RTCPeerConnectionIceErrorEvent.port."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IdentityInCanMakePaymentEvent": {
    "message": "El origen del comerciante y los datos arbitrarios del evento del service worker canmakepayment dejaron de estar disponibles y se quitarán: topOrigin, paymentRequestOrigin, methodData, modifiers."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InsecurePrivateNetworkSubresourceRequest": {
    "message": "El sitio web solicitó un subrecurso de una red a la que solo podía acceder gracias a la posición con privilegios de la red de los usuarios. Estas solicitudes exponen dispositivos y servidores no públicos en internet, lo que aumenta el riesgo de un ataque de solicitud falsa entre sitios (CSRF) o de filtración de datos. Para mitigar este problema, Chrome da de baja las solicitudes a subrecursos no públicos cuando provienen de contextos no seguros y comenzará a bloquearlas."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InterestGroupDailyUpdateUrl": {
    "message": "El campo dailyUpdateUrl de InterestGroups que pasó a joinAdInterestGroup() cambió su nombre por updateUrl para reflejar su comportamiento con mayor exactitud."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IntlV8BreakIterator": {
    "message": "Intl.v8BreakIterator ya no está disponible. En su lugar, utiliza Intl.Segmenter."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LocalCSSFileExtensionRejected": {
    "message": "No se puede cargar CSS desde las URLs de file: a no ser que terminen en una extensión de archivo .css."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceAbortRemove": {
    "message": "El uso de SourceBuffer.abort() a fin de anular la eliminación del rango asíncrono de remove() ya no está disponible debido a cambios de especificación. En el futuro, se quitará la compatibilidad. En su lugar, debes escuchar el evento updateend. abort() está pensado únicamente para anular el proceso de adjuntar contenido multimedia asíncrono o para restablecer el estado del analizador."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceDurationTruncatingBuffered": {
    "message": "La función para configurar MediaSource.duration bajo la marca de tiempo de presentación más alta de cualquier marco que tenga códigos con búfer ya no está disponible debido a cambios de especificación. La compatibilidad para la eliminación implícita de contenido multimedia con búfer truncado se quitará en el futuro. En su lugar, debes realizar de forma explícita remove(newDuration, oldDuration) en todos los sourceBuffers, donde newDuration < oldDuration."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NoSysexWebMIDIWithoutPermission": {
    "message": "MIDI web solicitará permiso para usar, incluso si no se especifica el valor de sysex en MIDIOptions."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationInsecureOrigin": {
    "message": "Es posible que la API de Notification deje de usarse en orígenes inseguros. Deberías cambiar tu app a un origen seguro, como HTTPS. Para obtener más información, consulta https://goo.gle/chrome-insecure-origins."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationPermissionRequestedIframe": {
    "message": "Es posible que ya no se soliciten los permisos para la API de notificaciones desde un iframe de origen cruzado. Puedes solicitar permiso desde un marco de nivel superior, o bien abrir una nueva ventana."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteCreateImageBitmapImageOrientationNone": {
    "message": "La opción imageOrientation: 'none' en createImageBitmap dejó de estar disponible. En su lugar, usa createImageBitmap con la opción \"\\\\{imageOrientation: 'from-image'\\\\}\"."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteWebRtcCipherSuite": {
    "message": "Tu socio está negociando una versión de (D)TLS que ya no está disponible. Consúltalo con tu socio para solucionar este problema."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverflowVisibleOnReplacedElement": {
    "message": "Si especificas overflow: visible en las etiquetas img, video y canvas, es posible que produzcan contenido visual fuera de los límites de los elementos. Consulta https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverrideFlashEmbedwithHTML": {
    "message": "Se reescribió la incorporación de video de flash heredada por un iframe HTML. Flash ya no existe; este truco de reescritura quedó obsoleto y es posible que se elimine en el futuro."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentInstruments": {
    "message": "paymentManager.instruments ya no está disponible. En su lugar, usa la instalación inmediata (JIT) para los controladores de pago."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentRequestCSPViolation": {
    "message": "Tu llamada a PaymentRequest omitió la directiva connect-src de la Política de Seguridad del Contenido (CSP). Esta omisión dejó de estar disponible. Agrega el identificador de forma de pago de la API de PaymentRequest (en el campo supportedMethods) a la directiva connect-src de tu CSP."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PersistentQuotaType": {
    "message": "StorageType.persistent ya no está disponible. En su lugar, usa la API navigator.storage estandarizada."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PictureSourceSrc": {
    "message": "<source src> con un <picture> superior no es válido, por lo que no se tendrá en cuenta. En su lugar, utiliza <source srcset>."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedCancelAnimationFrame": {
    "message": "webkitCancelAnimationFrame es específico del proveedor. En su lugar, usa cancelAnimationFrame estándar."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedRequestAnimationFrame": {
    "message": "webkitRequestAnimationFrame es específico del proveedor. En su lugar, usa requestAnimationFrame estándar."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoDisplayingFullscreen": {
    "message": "HTMLVideoElement.webkitDisplayingFullscreen dejó de estar disponible. En su lugar, usa Document.fullscreenElement."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullScreen": {
    "message": "HTMLVideoElement.webkitEnterFullScreen() dejó de estar disponible. En su lugar, usa Element.requestFullscreen()."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullscreen": {
    "message": "HTMLVideoElement.webkitEnterFullscreen() dejó de estar disponible. En su lugar, usa Element.requestFullscreen()."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullScreen": {
    "message": "HTMLVideoElement.webkitExitFullScreen() dejó de estar disponible. En su lugar, usa Document.exitFullscreen()."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullscreen": {
    "message": "HTMLVideoElement.webkitExitFullscreen() dejó de estar disponible. En su lugar, usa Document.exitFullscreen()."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
    "message": "HTMLVideoElement.webkitSupportsFullscreen dejó de estar disponible. En su lugar, usa Document.fullscreenEnabled."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrivacySandboxExtensionsAPI": {
    "message": "La API de chrome.privacy.websites.privacySandboxEnabled dejará de estar disponible, aunque permanecerá activa para brindar retrocompatibilidad hasta la versión M113. En su lugar, usa chrome.privacy.websites.topicsEnabled, chrome.privacy.websites.fledgeEnabled y chrome.privacy.websites.adMeasurementEnabled. Consulta https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
    "message": "Se quitó la restricción DtlsSrtpKeyAgreement. Especificaste un valor false para esta restricción, lo que se interpreta como un intento de usar el método SDES key negotiation que se quitó. Se quitó esta funcionalidad; en su lugar, usa un servicio compatible con DTLS key negotiation."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpTrue": {
    "message": "Se quitó la restricción DtlsSrtpKeyAgreement. Especificaste un valor true para esta restricción, lo que no tuvo efecto, pero puedes quitarla a fin de lograr un orden mejor."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
    "message": "La función getStats() basada en devoluciones de llamada ya no está disponible y se quitará. En su lugar, usa getStats(), que cumple con las especificaciones."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RangeExpand": {
    "message": "Range.expand() dejó de estar disponible. En su lugar, usa Selection.modify()."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RequestedSubresourceWithEmbeddedCredentials": {
    "message": "Las solicitudes de los subrecursos cuyas URLs contienen credenciales incorporadas (p. ej. https://user:pass@host/) están bloqueadas."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RtcpMuxPolicyNegotiate": {
    "message": "La opción rtcpMuxPolicy ya no está disponible y se quitará."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | SharedArrayBufferConstructedWithoutIsolation": {
    "message": "SharedArrayBuffer requerirá aislamiento de origen cruzado. Para obtener más información, consulta https://developer.chrome.com/blog/enabling-shared-array-buffer/."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | TextToSpeech_DisallowedByAutoplay": {
    "message": "speechSynthesis.speak() sin activación del usuario ya no está disponible y se quitará."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | UnloadHandler": {
    "message": "Los objetos de escucha de eventos de descarga están obsoletos y se quitarán."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
    "message": "Las extensiones deben habilitar el aislamiento de origen cruzado a fin de seguir utilizando SharedArrayBuffer. Consulta https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
    "message": "UTF-16 no es compatible con el archivo json de respuesta de XMLHttpRequest"
  },
  "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
    "message": "El objeto XMLHttpRequest síncrono ya no está disponible en el subproceso principal porque produce efectos nocivos en la experiencia del usuario final. Para obtener ayuda, revisa https://xhr.spec.whatwg.org/."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | animation": {
    "message": "Animación"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
    "message": "Los cambios de diseño ocurren cuando los elementos se mueven sin interacción del usuario. [Investiga las causas de los cambios de diseño](https://web.dev/articles/optimize-cls), como elementos que se agregan o quitan, o bien cambios en sus fuentes a medida que se carga la página."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
    "message": "iframe insertado"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | layoutShiftCluster": {
    "message": "Clúster de cambio de diseño @ {PH1}"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noCulprits": {
    "message": "No se pudieron detectar causantes del cambio de diseño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noLayoutShifts": {
    "message": "Sin cambios de diseño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
    "message": "Causantes del cambio de diseño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
    "message": "Principales causantes del cambio de diseño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImage": {
    "message": "Elemento de imagen sin tamaño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | webFont": {
    "message": "Fuente para sitios web"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
    "message": "Peor clúster"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstLayoutShiftCluster": {
    "message": "Peor clúster de cambio de diseño"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | cacheTTL": {
    "message": "TTL en caché"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | description": {
    "message": "La duración en caché por un período prolongado puede acelerar la carga de la página cuando el usuario la visita de manera repetida. [Obtén más información](https://web.dev/uses-long-cache-ttl/)."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | noRequestsToCache": {
    "message": "No hay solicitudes con políticas de caché ineficientes"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | others": {
    "message": "{PH1} más"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | requestColumn": {
    "message": "Solicitud"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
    "message": "Usa tiempos de almacenamiento en caché eficientes"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
    "message": "Los DOM de gran tamaño pueden aumentar la duración de los cálculos de estilo y los reprocesamientos del diseño, lo que afecta la responsividad de la página. Un DOM de gran tamaño también aumentará el uso de memoria. [Obtén más información para evitar un tamaño de DOM excesivo](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | duration": {
    "message": "Duración"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | element": {
    "message": "Elemento"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeLayout": {
    "message": "Diseño ({PH1} objetos)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | largeStyleRecalc": {
    "message": "Nuevo cálculo de estilo ({PH1} elementos)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxChildren": {
    "message": "La mayoría de los elementos secundarios"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxDOMDepth": {
    "message": "Profundidad de DOM"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | statistic": {
    "message": "Estadística"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
    "message": "Optimiza el tamaño de DOM"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | topUpdatesDescription": {
    "message": "Estos son los mayores eventos de nuevo cálculo de diseño y estilo. Se puede simplificar el DOM para reducir el impacto en el rendimiento."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | totalElements": {
    "message": "Elementos totales"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | value": {
    "message": "Valor"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
    "message": "Tu primera solicitud de red es la más importante.  Para reducir la latencia, evita las redirecciones, garantiza una respuesta rápida del servidor y habilita la compresión de texto."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
    "message": "Tuvo redireccionamientos ({PH1} redireccionamientos, +{PH2})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
    "message": "El servidor respondió con lentitud ({PH1} observado)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
    "message": "No se aplicó ninguna compresión"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
    "message": "Evita redireccionamientos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
    "message": "El servidor responde rápidamente ({PH1} observado)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
    "message": "Aplicar la compresión de texto"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | redirectsLabel": {
    "message": "Redireccionamientos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | serverResponseTimeLabel": {
    "message": "Tiempo de respuesta del servidor"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
    "message": "Latencia de solicitud de documentos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | uncompressedDownload": {
    "message": "Descarga sin comprimir"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnDuplicatedBytes": {
    "message": "Bytes duplicados"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | columnSource": {
    "message": "Fuente"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | description": {
    "message": "Quita de los paquetes los módulos de JavaScript que sean grandes y estén duplicados para reducir la cantidad de bytes que consume innecesariamente la actividad de red."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/DuplicatedJavaScript.js | title": {
    "message": "JavaScript duplicado"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
    "message": "Te recomendamos establecer [font-display](https://developer.chrome.com/blog/font-display) en swap o optional para garantizar que el texto aparezca de forma coherente. swap se puede optimizar aún más para mitigar los cambios de diseño con [anulaciones de métricas de fuentes](https://developer.chrome.com/blog/font-fallbacks)."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | fontColumn": {
    "message": "Fuente"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
    "message": "Visualización de la fuente"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | wastedTimeColumn": {
    "message": "Tiempo perdido"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | anonymous": {
    "message": "(anónimas)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | description": {
    "message": "Se produce un reprocesamiento forzado cuando JavaScript consulta propiedades geométricas (como offsetWidth) después de que los estilos se invalidan por un cambio en el estado del DOM. Esto puede reducir el rendimiento. Obtén más información sobre los [reprocesamientos forzados](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) y sus posibles mitigaciones."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | relatedStackTrace": {
    "message": "Seguimiento de pila"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | title": {
    "message": "Reprocesamiento forzado"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | topTimeConsumingFunctionCall": {
    "message": "Llamada a función principal"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | totalReflowTime": {
    "message": "Tiempo total de reprocesamiento"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | unattributed": {
    "message": "[unattributed]"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | description": {
    "message": "Comienza a investigar con la subparte más larga. [Los retrasos se pueden minimizar](https://web.dev/articles/optimize-inp#optimize_interactions). Para reducir la duración del procesamiento, [optimiza los costos del subproceso principal](https://web.dev/articles/optimize-long-tasks), a menudo JS."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | duration": {
    "message": "Duración"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | inputDelay": {
    "message": "Retraso de entrada"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | noInteractions": {
    "message": "No se detectaron interacciones"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | presentationDelay": {
    "message": "Retraso en la presentación"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | processingDuration": {
    "message": "Duración del procesamiento"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | subpart": {
    "message": "Subparte"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/INPBreakdown.js | title": {
    "message": "Desglose de INP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
    "message": "Reducir el tiempo de descarga de las imágenes puede mejorar el tiempo de carga percibido de la página y el LCP. [Más información para optimizar el tamaño de las imágenes](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | estimatedSavings": {
    "message": "{PH1} (Estimado: {PH2})"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | noOptimizableImages": {
    "message": "No hay imágenes optimizables"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | optimizeFile": {
    "message": "Optimizar el tamaño del archivo"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | others": {
    "message": "{PH1} más"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
    "message": "Mejora la entrega de imágenes"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
    "message": "Aumentar el factor de compresión de la imagen podría mejorar el tamaño de descarga de esta imagen."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
    "message": "Usar un formato de imagen moderno (WebP, AVIF) o aumentar la compresión de la imagen podría mejorar el tamaño de descarga de esta imagen."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
    "message": "Este archivo de imagen es más grande de lo necesario ({PH1}) para sus dimensiones de visualización ({PH2}). Usa imágenes responsivas para reducir el tamaño de descarga de la imagen."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
    "message": "Usar formatos de video en lugar de GIFs puede mejorar el tamaño de descarga del contenido animado."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | description": {
    "message": "Cada [subparte tiene estrategias de mejora específicas](https://web.dev/articles/optimize-lcp#lcp-breakdown). Lo ideal es que la mayor parte del tiempo de LCP se dedique a cargar los recursos, no a los retrasos."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | duration": {
    "message": "Duración"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | elementRenderDelay": {
    "message": "Retraso en la renderización del elemento"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | fieldDuration": {
    "message": "Campo del 75%"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | noLcp": {
    "message": "No se detectó LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDelay": {
    "message": "Retraso en la carga de recursos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | resourceLoadDuration": {
    "message": "Duración de la carga de recursos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | subpart": {
    "message": "Subparte"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | timeToFirstByte": {
    "message": "Time to First Byte"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPBreakdown.js | title": {
    "message": "Desglose de LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
    "message": "Para optimizar el LCP, haz que la imagen del LCP sea [detectable](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) desde el HTML de inmediato y [evita la carga diferida](https://web.dev/articles/lcp-lazy-loading)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityApplied": {
    "message": "Se aplicó fetchpriority=high"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
    "message": "Se debe aplicar fetchpriority=high"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
    "message": "no se aplicó la carga diferida"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
    "message": "La imagen de LCP se cargó {PH1} después del punto de partida más temprano."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcp": {
    "message": "No se detectó LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcpResource": {
    "message": "No se detectó ningún recurso de LCP porque el LCP no es una imagen"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | requestDiscoverable": {
    "message": "La solicitud se puede descubrir en el documento inicial"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
    "message": "Descubrimiento de solicitudes de LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnScript": {
    "message": "Secuencia de comandos"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | columnWastedBytes": {
    "message": "Bytes desperdiciados"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | description": {
    "message": "El complemento Polyfill y las transformaciones permiten que los navegadores más antiguos utilicen nuevas funciones de JavaScript. Sin embargo, la mayoría no es necesaria en los navegadores actualizados. Considera modificar tu proceso de compilación de JavaScript para que no se transpilen las funciones de [Baseline](https://web.dev/articles/baseline-and-polyfills), a menos que sepas que debes admitir navegadores más antiguos. [Descubre por qué la mayoría de los sitios pueden implementar código ES6+ sin transpilación.](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/LegacyJavaScript.js | title": {
    "message": "JavaScript heredado"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | description": {
    "message": "HTTP/2 y HTTP/3 ofrecen más beneficios que HTTP/1.1, como la multiplexación. [Obtén más información para usar HTTP moderno](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | noOldProtocolRequests": {
    "message": "Ninguna solicitud usó HTTP/1.1, o su uso actual de HTTP/1.1 no presenta una oportunidad de optimización significativa. Las solicitudes HTTP/1.1 solo se marcan si seis o más recursos estáticos provienen del mismo origen y no se publican desde un entorno de desarrollo local o una fuente externa."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | protocol": {
    "message": "Protocolo"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | request": {
    "message": "Solicitud"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ModernHTTP.js | title": {
    "message": "HTTP moderno"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnOrigin": {
    "message": "Origen"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnRequest": {
    "message": "Solicitud"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnSource": {
    "message": "Fuente"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnTime": {
    "message": "Hora"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | columnWastedMs": {
    "message": "Ahorro estimado de LCP"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | crossoriginWarning": {
    "message": "Conexión previa no utilizada. Comprueba que el atributo crossorigin se use correctamente."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
    "message": "[Evita encadenar solicitudes críticas](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) reduciendo la longitud de las cadenas, disminuyendo el tamaño de los recursos para la descarga o postergando la descarga de recursos innecesarios para mejorar la carga de la página."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableDescription": {
    "message": "Agrega sugerencias de [conexión previa](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) a tus orígenes más importantes, pero intenta usar no más de 4."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | estSavingTableTitle": {
    "message": "Candidatos para la conexión previa"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
    "message": "Latencia de ruta crítica máxima:"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
    "message": "Ninguna tarea de renderización se vio afectada por las dependencias de red"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectCandidates": {
    "message": "Ningún origen adicional es un buen candidato para la conexión previa"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noPreconnectOrigins": {
    "message": "no se preconectó ningún origen"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableDescription": {
    "message": "Las sugerencias de [conexión previa](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) ayudan al navegador a establecer una conexión antes de la carga de la página, lo que ahorra tiempo cuando se realiza la primera solicitud para ese origen. Estos son los orígenes a los que la página se conectó previamente."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | preconnectOriginsTableTitle": {
    "message": "Orígenes conectados previamente"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
    "message": "Árbol de dependencias de red"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | tooManyPreconnectLinksWarning": {
    "message": "Se encontraron más de 4 conexiones de preconnect. Estos vínculos deben usarse con moderación y solo para los orígenes más importantes."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | unusedWarning": {
    "message": "Conexión previa no utilizada. Usa preconnect solo para orígenes que la página probablemente solicite."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
    "message": "Para no encadenar solicitudes críticas, reduce la longitud de las cadenas, disminuye el tamaño de los recursos para la descarga o posterga la descarga de recursos innecesarios para mejorar la carga de la página."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
    "message": "Las solicitudes bloquean la renderización inicial de la página, lo que puede retrasar el LCP. [La aparición diferida o intercalada](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources) puede mover estas solicitudes de red fuera de la ruta crítica."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
    "message": "Duración"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | noRenderBlocking": {
    "message": "No hay solicitudes de bloqueo de renderización para esta navegación"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | renderBlockingRequest": {
    "message": "Solicitud"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
    "message": "Solicitudes de bloqueo de renderización"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
    "message": "Si los costos de recalcular el estilo siguen siendo altos, la optimización del selector puede reducirlos. [Optimiza los selectores](https://developer.chrome.com/docs/devtools/performance/selector-stats) con un tiempo transcurrido alto y un alto porcentaje de rutas lentas. Los selectores más simples, una cantidad menor de selectores, un DOM más pequeño y un DOM más superficial reducirán los costos de coincidencia."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | elapsed": {
    "message": "Tiempo transcurrido"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | enableSelectorData": {
    "message": "No se encontraron datos del selector CSS. Las estadísticas del selector CSS deben estar habilitadas en la configuración del panel de rendimiento."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchAttempts": {
    "message": "Intentos de coincidencia"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchCount": {
    "message": "Cantidad de coincidencias"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
    "message": "Costos del selector CSS"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorElapsedTime": {
    "message": "Tiempo transcurrido del selector principal"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectorMatchAttempt": {
    "message": "Intento de coincidencia del selector principal"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectors": {
    "message": "Selectores principales"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | total": {
    "message": "Total"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnMainThreadTime": {
    "message": "Tiempo del subproceso principal"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnThirdParty": {
    "message": "De terceros"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnTransferSize": {
    "message": "Tamaño de transferencia"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
    "message": "El código de terceros puede reducir en gran medida el rendimiento de carga. [Reduce y aplaza la carga de código de terceros](https://web.dev/articles/optimizing-content-efficiency-loading-third-party-javascript/) para priorizar el contenido de tu página."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
    "message": "No se encontraron terceros"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
    "message": "Terceros"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
    "message": "Las interacciones de presión pueden [retrasarse hasta 300 ms](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) si el viewport no está optimizado para dispositivos móviles."
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | mobileTapDelayLabel": {
    "message": "Retraso de toque en dispositivo móvil"
  },
  "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
    "message": "Optimiza el viewport para dispositivos móviles"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPMethodNotGET": {
    "message": "Solo las páginas cargadas a través de una solicitud GET son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPStatusNotOK": {
    "message": "Solo se pueden almacenar en caché las páginas que tengan el código de estado de 2XX."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | JavaScriptExecution": {
    "message": "Chrome detectó un intento de ejecución de JavaScript mientras se encontraba en caché."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | appBanner": {
    "message": "Las páginas que solicitaron un AppBanner no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabled": {
    "message": "Las funciones experimentales inhabilitaron la memoria caché atrás/adelante. Para habilitarla localmente en este dispositivo, visita chrome://flags/#back-forward-cache."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByCommandLine": {
    "message": "La línea de comandos inhabilitó la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByLowMemory": {
    "message": "Se inhabilitó la memoria caché atrás/adelante debido a que no hay memoria suficiente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForDelegate": {
    "message": "El delegado no admite la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForPrerender": {
    "message": "Se inhabilitó la memoria caché atrás/adelante para la prerrenderización."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | broadcastChannel": {
    "message": "La página no puede almacenarse en caché porque tiene una instancia de BroadcastChannel con objetos de escucha registrados."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheControlNoStore": {
    "message": "Las páginas con el encabezado cache-control:no-store no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheFlushed": {
    "message": "Se borró la caché de forma intencional."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheLimit": {
    "message": "Se quitó la página de la memoria caché para que otra página pueda almacenarse en caché."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | containsPlugins": {
    "message": "Las páginas que tienen complementos no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentDiscarded": {
    "message": "Sin definir"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileChooser": {
    "message": "Las páginas que utilizan la API de FileChooser no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileSystemAccess": {
    "message": "Las páginas que utilizan la API de File System Access no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaDevicesDispatcherHost": {
    "message": "Las páginas que utilizan un despachador de dispositivos de medios no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaPlay": {
    "message": "Cuando saliste, había un reproductor multimedia reproduciendo contenido."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSession": {
    "message": "Las páginas que utilizan la API de MediaSession y establecen un estado de reproducción no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSessionService": {
    "message": "Las páginas que utilizan la API de MediaSession y establecen controladores de acciones no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentScreenReader": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante por el lector de pantalla."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSecurityHandler": {
    "message": "Las páginas que utilizan SecurityHandler no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSerial": {
    "message": "Las páginas que utilizan la API de Serial no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebAuthenticationAPI": {
    "message": "Las páginas que utilizan la API de WebAuthetication no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebBluetooth": {
    "message": "Las páginas que utilizan la API de WebBluetooth no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebUSB": {
    "message": "Las páginas que utilizan la API de WebUSB no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cookieDisabled": {
    "message": "Se inhabilitó la memoria caché atrás/adelante porque las cookies están inhabilitadas en una página que usa Cache-Control: no-store."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | dedicatedWorkerOrWorklet": {
    "message": "Las páginas que utilizan un trabajador dedicado o un worklet no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | documentLoaded": {
    "message": "Cuando saliste del documento, este no había terminado de cargarse."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderAppBannerManager": {
    "message": "Cuando saliste, el banner de la aplicación estaba presente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderChromePasswordManagerClientBindCredentialManager": {
    "message": "Cuando saliste, el Administrador de contraseñas de Chrome estaba presente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
    "message": "Cuando saliste, el DOM se estaba filtrando."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerViewerSource": {
    "message": "Cuando saliste, el lector del filtro de DOM estaba presente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessaging": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante debido a las extensiones que usan API de mensajería."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessagingForOpenPort": {
    "message": "Las extensiones con conexión de larga duración deben cerrar la conexión antes de ingresar la Memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionSentMessageToCachedFrame": {
    "message": "Las extensiones con conexión de larga duración intentaron enviar mensajes a marcos en la Memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensions": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante debido a las extensiones."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderModalDialog": {
    "message": "Cuando saliste, se mostró un diálogo modal de la página, como un reenvío de formulario o un diálogo de contraseña HTTP."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOfflinePage": {
    "message": "Cuando saliste, se mostró la página sin conexión."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOomInterventionTabHelper": {
    "message": "Cuando saliste, la barra de intervención por falta de memoria estaba presente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPermissionRequestManager": {
    "message": "Cuando saliste, había solicitudes de permisos."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPopupBlockerTabHelper": {
    "message": "Cuando saliste, el bloqueador de ventanas emergentes estaba presente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingThreatDetails": {
    "message": "Cuando saliste, se mostraron los detalles de la Navegación segura."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
    "message": "La Navegación segura considera que esta página es abusiva y bloqueó las ventanas emergentes."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
    "message": "Se activó un service worker mientras la página se encontraba almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | errorDocument": {
    "message": "La memoria caché atrás/adelante se inhabilitó debido a un error del documento."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | fencedFramesEmbedder": {
    "message": "No se pueden restaurar en bfcache las páginas que usan FencedFrmes."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | foregroundCacheLimit": {
    "message": "Se quitó la página de la memoria caché para que otra página pueda almacenarse en caché."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | grantedMediaStreamAccess": {
    "message": "Las páginas que otorgaron acceso a la transmisión multimedia no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | haveInnerContents": {
    "message": "Las páginas que tienen ciertos tipos de contenido incorporado (p. ej., PDF) no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | idleManager": {
    "message": "Las páginas que utilizan IdleManager no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBConnection": {
    "message": "Las páginas que tienen una conexión IndexedDB abierta no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBEvent": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante debido a un evento de IndexedDB."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | ineligibleAPI": {
    "message": "Se utilizaron API no aptas."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedJavascript": {
    "message": "Las páginas en las que se insertó JavaScript mediante extensiones no son aptas para el almacenamiento en la Memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedStyleSheet": {
    "message": "Las páginas en las que se insertó StyleSheet mediante extensiones no son aptas para el almacenamiento en la Memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | internalError": {
    "message": "Error interno"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | jsNetworkRequestReceivedCacheControlNoStoreResource": {
    "message": "Se inhabilitó la memoria caché atrás/adelante porque una solicitud de red de JavaScript recibió un recurso con el encabezado Cache-Control: no-store."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keepaliveRequest": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante debido a una solicitud de keepalive."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keyboardLock": {
    "message": "Las páginas que utilizan el bloqueo del teclado no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | loading": {
    "message": "Cuando saliste de la página, esta no había terminado de cargarse."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoCache": {
    "message": "Las páginas cuyo recurso principal tiene el encabezado cache-control:no-cache no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoStore": {
    "message": "Las páginas cuyo recurso principal tiene el encabezado cache-control:no-store no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | navigationCancelledWhileRestoring": {
    "message": "Se canceló la navegación antes de que se pudiera restablecer la página de la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkExceedsBufferLimit": {
    "message": "Se quitó la página de la memoria caché porque una conexión de red activa recibió demasiados datos. Chrome limita la cantidad de datos que puede recibir una página cuando esta se encuentra almacenada en caché."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
    "message": "Las páginas que tienen solicitudes fetch() o XHR en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestRedirected": {
    "message": "Se quitó la página de la memoria caché atrás/adelante porque una solicitud de red activa requería un redireccionamiento."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestTimeout": {
    "message": "Se quitó la página de la memoria caché porque hubo una conexión de red abierta durante mucho tiempo. Chrome limita el tiempo durante el cual una página puede recibir datos cuando está almacenada en caché."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | noResponseHead": {
    "message": "Las páginas que no tienen un encabezado de respuesta válido no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | notMainFrame": {
    "message": "La navegación se llevó a cabo en un marco que no es el principal."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingIndexedDBTransaction": {
    "message": "Las páginas con transacciones de base de datos indexadas en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestDirectSocket": {
    "message": "Las páginas con una solicitud de red en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestFetch": {
    "message": "Las páginas con una solicitud de red fetch() en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestOthers": {
    "message": "Las páginas con una solicitud de red en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestXHR": {
    "message": "Las páginas con una solicitud de red XHR en curso no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | paymentManager": {
    "message": "Las páginas que utilizan PaymentManager no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | pictureInPicture": {
    "message": "Las páginas que utilizan la función Pantalla en pantalla no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | printing": {
    "message": "Las páginas que muestran la IU de impresión no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | relatedActiveContentsExist": {
    "message": "La página se abrió mediante \"window.open()\" y otra pestaña incluye una referencia a este elemento, o bien la página abrió una ventana."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessCrashed": {
    "message": "Falló el proceso de renderización de la página que se encuentra almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessKilled": {
    "message": "Se canceló el proceso de renderización de la página que se encuentra almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedAudioCapturePermission": {
    "message": "Las páginas que solicitaron permisos para capturar audio no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackForwardCacheBlockedSensors": {
    "message": "Las páginas que solicitaron permiso de acceso a sensores no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackgroundWorkPermission": {
    "message": "Las páginas que solicitaron permisos de recuperación o sincronización en segundo plano no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedMIDIPermission": {
    "message": "Las páginas que solicitaron permiso de acceso a MIDI no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedNotificationsPermission": {
    "message": "Las páginas que solicitaron permiso para mostrar notificaciones no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedStorageAccessGrant": {
    "message": "Las páginas que solicitaron acceso al almacenamiento no son aptas para la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedVideoCapturePermission": {
    "message": "Las páginas que solicitaron permisos para capturar video no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | schemeNotHTTPOrHTTPS": {
    "message": "Solo se pueden almacenar en caché las páginas cuyo esquema de URL sea HTTP o HTTPS."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerClaim": {
    "message": "Un service worker reclamó la página mientras se encontraba almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerPostMessage": {
    "message": "Un service worker intentó enviar una propiedadMessageEvent a la página almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerUnregistration": {
    "message": "Se canceló el registro de ServiceWorker mientras una página estaba almacenada en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerVersionActivation": {
    "message": "Como un service worker activó la página, se la quitó de la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sessionRestored": {
    "message": "Se reinició Chrome y se borraron las entradas de la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorker": {
    "message": "Las páginas que utilizan SharedWorker no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorkerMessage": {
    "message": "Se quitó la página de la memoria caché porque recibió un mensaje de un SharedWorker"
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechRecognizer": {
    "message": "Las páginas que utilizan SpeechRecognizer no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechSynthesis": {
    "message": "Las páginas que utilizan SpeechSynthesis no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subframeIsNavigating": {
    "message": "Un iframe en la página inició una navegación que no se completó."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoCache": {
    "message": "Las páginas cuyo subrecurso tiene el encabezado cache-control:no-cache no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoStore": {
    "message": "Las páginas cuyo subrecurso tiene el encabezado cache-control:no-store no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeout": {
    "message": "Caducó el tiempo máximo permitido en la memoria caché atrás/adelante para la página."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeoutPuttingInCache": {
    "message": "Se agotó el tiempo de espera para que la página se almacene en la memoria caché atrás/adelante (probablemente, debido a la ejecución prolongada de controladores para ocultar páginas)."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInMainFrame": {
    "message": "La página tiene un controlador de descargas en el marco principal."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInSubFrame": {
    "message": "La página tiene un controlador de descargas en un marco secundario."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | userAgentOverrideDiffers": {
    "message": "El navegador cambió el encabezado de anulación del usuario-agente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | wasGrantedMediaAccess": {
    "message": "Las páginas que permitieron la grabación de audio o video no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webDatabase": {
    "message": "Las páginas que utilizan WebDatabase no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webHID": {
    "message": "Las páginas que utilizan WebHID no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webLocks": {
    "message": "Las páginas que utilizan WebLocks no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webNfc": {
    "message": "Las páginas que utilizan WebNfc no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webOTPService": {
    "message": "Las páginas que utilizan WebOTPService no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
    "message": "Las páginas con WebRTC no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCUsedWithCCNS": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante porque se usó WebRTC."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
    "message": "Las páginas que utilizan WebShare no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
    "message": "Las páginas con WebSocket no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketUsedWithCCNS": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante porque se usó WebSocket."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
    "message": "Las páginas con WebTransport no son aptas para el almacenamiento en la memoria caché atrás/adelante."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportUsedWithCCNS": {
    "message": "Se inhabilitó la Memoria caché atrás/adelante porque se usó WebTransport."
  },
  "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
    "message": "Las páginas que utilizan WebXR no son aptas para el almacenamiento en la memoria caché atrás/adelante actualmente."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
    "message": "En el caso de contenido animado, utiliza [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) para minimizar el uso de CPU mientras el contenido no aparezca en pantalla."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | modern-image-formats": {
    "message": "Cuando especifiques un resguardo adecuado para otros navegadores, se recomienda mostrar todos los componentes de [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) en formato WebP. [Obtén más información](https://amp.dev/documentation/components/amp-img/#example:-specifying-a-fallback-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | offscreen-images": {
    "message": "Asegúrate de usar [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) para las imágenes que realizan una carga diferida. [Obtén más información](https://amp.dev/documentation/guides-and-tutorials/develop/media_iframes_3p/?format=websites#images)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | render-blocking-resources": {
    "message": "Utiliza herramientas como [AMP Optimizer](https://github.com/ampproject/amp-toolbox/tree/master/packages/optimizer) para [procesar diseños de AMP en el servidor](https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/server-side-rendering/)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | unminified-css": {
    "message": "Consulta el [documento AMP](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) para garantizar la compatibilidad de todos los estilos."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
    "message": "El elemento de [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) es compatible con el atributo de [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) para especificar los recursos de imagen que deben usarse en función del tamaño de la pantalla. [Obtén más información](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | dom-size": {
    "message": "Si se están procesando listas muy grandes, se recomienda utilizar el desplazamiento virtual con el kit de desarrollo de componentes (CDK). [Obtén más información](https://web.dev/virtualize-lists-with-angular-cdk/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | total-byte-weight": {
    "message": "Aplica la [división de código en rutas](https://web.dev/route-level-code-splitting-in-angular/) para minimizar el tamaño de los paquetes de JavaScript. Además, se recomienda almacenar previamente los activos en caché con el [service worker de Angular](https://web.dev/precaching-with-the-angular-service-worker/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unminified-warning": {
    "message": "Si utilizas Angular CLI, asegúrate de que las compilaciones se generen en el modo de producción. [Obtén más información](https://angular.io/guide/deployment#enable-runtime-production-mode)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unused-javascript": {
    "message": "Si utilizas Angular CLI, incluye mapas de origen en la compilación de producción para inspeccionar tus paquetes. [Obtén más información](https://angular.io/guide/deployment#inspect-the-bundles)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-rel-preload": {
    "message": "Precarga las rutas con anticipación para mejorar la velocidad de la navegación. [Obtén más información](https://web.dev/route-preloading-in-angular/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-responsive-images": {
    "message": "Se recomienda usar la utilidad de `BreakpointObserver` en el kit de desarrollo de componentes (CDK) para administrar las interrupciones de imágenes. [Obtén más información](https://material.angular.io/cdk/layout/overview)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
    "message": "Puedes subir tu `GIF` a un servicio que permita incorporarlo como un video HTML5."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
    "message": "Puedes configurar [formatos de imagen WebP con un estilo conversor de imágenes ](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) en tu sitio."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
    "message": "Recomendamos configurar la carga diferida de imágenes en `Drupal`. Los formateadores de campo para imágenes admiten `lazy` o `eager`."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | prioritize-lcp-image": {
    "message": "Si se agrega el elemento LCP de forma dinámica a la página, debes optimizar la imagen para mejorar LCP. [Obtén más información](https://www.smashingmagazine.com/2023/08/methods-improving-drupal-largest-contentful-paint-core-web-vital/)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | redirects": {
    "message": "Las redirecciones provocan retrasos adicionales antes de que la página se cargue. Si se instaló el módulo [Redirect](https://www.drupal.org/project/redirect), revisa si se pueden quitar las redirecciones innecesarias. [Obtén más información](https://developers.google.com/web/tools/lighthouse/audits/redirects)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
    "message": "Se recomienda usar [un módulo](https://www.drupal.org/project/critical_css) para intercalar instancias críticas de CSS y JavaScript, y usar el atributo de aplazamiento para CSS o JavaScript no críticos."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
    "message": "Reduce el tráfico con uno o más módulos de almacenamiento en caché de `Drupal`, como `Internal Page Cache`, `Internal Dynamic Page Cache` y `BigPipe`. Combínalos con una CDN para mejorar aún más el tiempo de respuesta. Los servidores de hosting deben usar PHP OPcache. Recomendamos usar la caché de la memoria, como Redis o Memcached, para reducir los tiempos de búsqueda en la base de datos. Por último, usa temas con buen rendimiento, módulos y servidores más veloces para reducir el tiempo de respuesta del servidor."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | total-byte-weight": {
    "message": "Se recomienda usar [estilos de imágenes responsivas](https://www.drupal.org/documentation/modules/responsive_image) para reducir el tamaño de las imágenes que se cargan en la página. Si usas `Views` para mostrar elementos de contenido múltiple en una página, puedes implementar la paginación para limitar el número de elementos de contenido que se muestran en una página en particular."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
    "message": "Asegúrate de habilitar \"Aggregate CSS files\" en la página \"Administration » Configuration » Development\"."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
    "message": "Asegúrate de habilitar \"Aggregate JavaScript files\" en la página \"Administration » Configuration » Development\"."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
    "message": "Se recomienda quitar las reglas de CSS no utilizadas y solo adjuntar las bibliotecas de `Drupal` necesarias al componente o a la página correspondientes. Consulta la [`Drupal`documentación](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define) para obtener información detallada. Para identificar las bibliotecas adjuntas que agregan instancias innecesarias de CSS, prueba ejecutar la [cobertura de código](https://developer.chrome.com/docs/devtools/coverage) en Herramientas para desarrolladores de Chrome. Puedes identificar el tema o el módulo responsable en la URL de la hoja de estilo cuando está inhabilitada la agregación de CSS en tu sitio de `Drupal`. Presta atención a los temas o módulos que tengan varias hojas de estilo en la lista con muchos elementos en rojo en la cobertura de código. Los temas o módulos solo deben adjuntar una biblioteca de hojas de estilo que se use en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-javascript": {
    "message": "Se recomienda quitar los recursos de JavaScript no utilizados y solo adjuntar las bibliotecas de `Drupal` necesarias al componente o a la página pertinentes. Para obtener información detallada, consulta la [documentación de Drupal](https://www.drupal.org/docs/develop/theming-drupal/adding-assets-css-js-to-a-drupal-theme-via-librariesyml#define). Para identificar las bibliotecas adjuntas que agregan instancias innecesarias de JavaScript, prueba ejecutar la [cobertura de código](https://developer.chrome.com/docs/devtools/coverage) en Herramientas para desarrolladores de Chrome. Puedes identificar el tema o el módulo responsable en la URL de la secuencia de comandos cuando está inhabilitada la agregación de JavaScript en tu sitio de `Drupal`. Presta atención a los temas o módulos que tengan varias secuencias de comandos en la lista con muchos elementos en rojo en la cobertura de código. Los temas o módulos solo deben adjuntar una biblioteca de secuencias de comandos que se use en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-long-cache-ttl": {
    "message": "Establece \"Browser and proxy cache maximum age\" en la página \"Administration » Configuration » Development\". Obtén más información sobre [la caché de `Drupal` y cómo mejorar el rendimiento](https://www.drupal.org/docs/8/api/cache-api/cache-api)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-optimized-images": {
    "message": "Se recomienda usar [un módulo](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=image&solrsort=iss_project_release_usage+desc&op=Search) que optimice y reduzca de forma automática el tamaño de las imágenes que se cargan en el sitio y que conserve su calidad. Además, asegúrate de usar los [estilos de imágenes responsivas](https://www.drupal.org/documentation/modules/responsive_image) que proporciona `Drupal` para todas las imágenes renderizadas en el sitio."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-rel-preconnect": {
    "message": "Para agregar las sugerencias de recursos `Preconnect` o `dns-prefetch`, instala y configura [un módulo](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=Preconnect&solrsort=score+desc&op=Search) que proporcione elementos para las sugerencias de recursos del usuario-agente."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
    "message": "Asegúrate de usar los [estilos de imágenes responsivas](https://www.drupal.org/documentation/modules/responsive_image) que proporciona `Drupal`. Utiliza los estilos de imágenes responsivas cuando renderizas campos de imágenes a través de modos de lectura, vistas o imágenes subidas a través del editor WYSIWYG."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-text-compression": {
    "message": "Los recursos basados en texto se deben publicar comprimidos (gzip, deflate o brotli) para minimizar el total de bytes de la red. Recomendamos usar una CDN que lo admita de forma nativa, o configurar el servidor web para realizar esta operación. [Obtén más información](https://developers.google.com/web/tools/lighthouse/audits/text-compression)."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Optimize Fonts` para que se aplique de forma automática la función de CSS `font-display`. De esta manera, te aseguras de que el texto sea visible para los usuarios mientras se cargan las fuentes para sitios web."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | modern-image-formats": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Next-Gen Formats` para convertir imágenes a WebP."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | offscreen-images": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Lazy Load Images` para posponer la carga de imágenes que no aparecen en pantalla hasta que las necesites."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | render-blocking-resources": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Script Delay` para posponer el JS que no sea crítico."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | server-response-time": {
    "message": "Utiliza [Ezoic Cloud Catching](https://pubdash.ezoic.com/leap/caching) para almacenar tu contenido en caché en nuestra red mundial, lo que reduce el tiempo de carga."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-css": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Minify CSS` para reducir automáticamente tu CSS. De esta manera, se disminuye el tamaño de la carga útil en la red."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-javascript": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Minify Javascript` para reducir automáticamente tu JS. De esta manera, se disminuye el tamaño de la carga útil en la red."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | unused-css-rules": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Remove Unused CSS` para obtener ayuda con este problema. De esta manera, se identificarán las clases de CSS que realmente se utilizan en cada página del sitio y se quitará el resto para que el archivo se conserve pequeño."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-long-cache-ttl": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Efficient Static Cache Policy` para establecer los valores recomendados en el encabezado del almacenamiento en caché de los elementos estáticos."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-optimized-images": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Next-Gen Formats` para convertir imágenes a WebP."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preconnect": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Pre-Connect Origins` para agregar automáticamente sugerencias de recursos `preconnect`. De esta manera, se establecen conexiones anticipadas con orígenes de terceros importantes."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preload": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Preload Fonts` y `Preload Background Images` para agregar vínculos `preload`. De esta manera, le darás prioridad a la obtención de recursos que se requerirán más adelante durante la carga de páginas."
  },
  "node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-responsive-images": {
    "message": "Utiliza [Ezoic Leap](https://pubdash.ezoic.com/leap) y habilita `Resize Images` para cambiar el tamaño de las imágenes a uno apropiado y así disminuir el tamaño de la carga útil en la red."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | modern-image-formats": {
    "message": "Utiliza el componente `gatsby-plugin-image` en lugar de `<img>` para optimizar el formato de imagen automáticamente. [Obtén más información](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | offscreen-images": {
    "message": "Utiliza el componente `gatsby-plugin-image` en lugar de `<img>` para realizar cargas diferidas de imágenes automáticamente. [Obtén más información](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | prioritize-lcp-image": {
    "message": "Utiliza el componente `gatsby-plugin-image` y establece la propiedad `loading` como `eager`. [Obtén más información](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-plugin-image#shared-props)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | render-blocking-resources": {
    "message": "Utiliza `Gatsby Script API` para posponer la carga de secuencias de comandos no críticas de terceros. [Obtén más información](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-script/)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-css-rules": {
    "message": "Utiliza el complemento `PurgeCSS` `Gatsby` para quitar las reglas sin uso de las hojas de estilo. [Obtén más información](https://purgecss.com/plugins/gatsby.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | unused-javascript": {
    "message": "Utiliza `Webpack Bundle Analyzer` para detectar códigos de JavaScript sin uso. [Obtén más información](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-long-cache-ttl": {
    "message": "Configura el almacenamiento en caché para elementos inmutables. [Obtén más información](https://www.gatsbyjs.com/docs/how-to/previews-deploys-hosting/caching/)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-optimized-images": {
    "message": "Utiliza el componente `gatsby-plugin-image` en lugar de `<img>` para modificar la calidad de la imagen. [Obtén más información](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/gatsby.js | uses-responsive-images": {
    "message": "Utiliza el componente `gatsby-plugin-image` para establecer las `sizes` correspondientes. [Obtén más información](https://www.gatsbyjs.com/docs/how-to/images-and-media/using-gatsby-plugin-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
    "message": "Puedes subir tu GIF a un servicio que permita insertarlo como un video HTML5."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | modern-image-formats": {
    "message": "Puedes utilizar un [complemento](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=webp) o servicio que convierta automáticamente las imágenes que subas a los formatos óptimos."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | offscreen-images": {
    "message": "Instala un [complemento de Joomla de carga diferida](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading) que proporcione la capacidad de postergar las imágenes fuera de pantalla o bien cambia a una plantilla que proporcione esa funcionalidad. A partir de Joomla 4.0, todas las imágenes nuevas obtendrán el atributo `loading` [de forma automática](https://github.com/joomla/joomla-cms/pull/30748) desde el núcleo."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | render-blocking-resources": {
    "message": "Existen varios complementos de Joomla que pueden ayudarte a [intercalar elementos fundamentales](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) o a [postergar recursos menos importantes](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance). Ten en cuenta que las optimizaciones que ofrecen estos complementos pueden interferir con funciones de tus plantillas o complementos, por lo que deberás probarlas de forma exhaustiva."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | server-response-time": {
    "message": "Las plantillas, las extensiones y las especificaciones del servidor afectan al tiempo de respuesta. Puedes buscar una plantilla más optimizada, seleccionar cuidadosamente una extensión de optimización o actualizar el servidor."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | total-byte-weight": {
    "message": "Puedes mostrar fragmentos en las categorías de artículos (por ejemplo, mediante el vínculo \"Más información\"), reducir la cantidad de artículos que se muestran en cada página, dividir tus entradas más largas en múltiples páginas o usar un complemento para postergar la carga de los comentarios."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-css": {
    "message": "Hay varias [extensiones de Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) que pueden concatenar, reducir y comprimir los estilos CSS para acelerar tu sitio web. También hay plantillas que proporcionan esta funcionalidad."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-javascript": {
    "message": "Hay varias [extensiones de Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) que pueden concatenar, reducir y comprimir las secuencias de comandos para acelerar tu sitio web. También hay plantillas que proporcionan esta funcionalidad."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-css-rules": {
    "message": "Puedes reducir o cambiar la cantidad de [extensiones de Joomla](https://extensions.joomla.org/) que cargan elementos de CSS que tu página no usa. Para identificar las extensiones que agregan elementos de CSS innecesarios, prueba ejecutar la [cobertura de código](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) en DevTools de Chrome. Puedes identificar el tema o complemento concreto en la URL de la hoja de estilo. Presta atención a los complementos que tengan varias hojas de estilo en la lista con muchos elementos en rojo en la cobertura de código. Los complementos solo deberían poner en cola hojas de estilo que se usen en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-javascript": {
    "message": "Puedes reducir o cambiar la cantidad de [extensiones de Joomla](https://extensions.joomla.org/) que cargan secuencias de JavaScript que tu página no usa. Para identificar los complementos que agregan secuencias JS innecesarias, prueba ejecutar la [cobertura de código](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) en DevTools de Chrome. Puedes identificar la extensión concreta en la URL de la secuencia de comandos. Presta atención a las extensiones que tengan varias secuencias de comandos en la lista con muchos elementos en rojo en la cobertura de código. Las extensiones solo deberían poner en cola secuencias de comandos que se usen en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-long-cache-ttl": {
    "message": "Consulta información sobre el [almacenamiento en caché del navegador en Joomla](https://docs.joomla.org/Cache)."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-optimized-images": {
    "message": "Puedes usar un [complemento de optimización de imágenes](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) que comprima las imágenes y conserve la calidad."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-responsive-images": {
    "message": "Se recomienda usar un [complemento de imágenes responsivas](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=responsive%20images) para poder usar este tipo de imágenes en tu contenido."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-text-compression": {
    "message": "Para habilitar la compresión de texto, habilita la compresión de páginas en gzip, en Joomla (Sistema > Configuración general > Servidor)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | critical-request-chains": {
    "message": "Si no estás creando un paquete con los elementos de JavaScript, se recomienda usar [baler](https://github.com/magento/baler)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | disable-bundling": {
    "message": "Inhabilita [el empaquetado y la reducción de JavaScript](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html) y analiza utilizar [baler](https://github.com/magento/baler/) en su lugar."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | font-display": {
    "message": "Specifica `@font-display` cuando [definas fuentes personalizadas](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/css-topics/using-fonts.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | modern-image-formats": {
    "message": "Para utilizar formatos de imagen más nuevos, se recomienda el [mercado de Magento](https://marketplace.magento.com/catalogsearch/result/?q=webp) donde encontrarás una amplia variedad de extensiones de terceros."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | offscreen-images": {
    "message": "Se recomienda modificar las plantillas de productos y catálogos para utilizar la función de [carga diferida](https://web.dev/native-lazy-loading) de la plataforma web."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | server-response-time": {
    "message": "Utiliza la [integración de Varnish](https://devdocs.magento.com/guides/v2.3/config-guide/varnish/config-varnish.html) de Magento."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-css": {
    "message": "Habilita la opción \"Minify CSS Files\" en las opciones de configuración para desarrolladores de la tienda. [Obtén más información](https://devdocs.magento.com/guides/v2.3/performance-best-practices/configuration.html?itm_source=devdocs&itm_medium=search_page&itm_campaign=federated_search&itm_term=minify%20css%20files)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-javascript": {
    "message": "Utiliza [Terser](https://www.npmjs.com/package/terser) para reducir todos los elementos de JavaScript de la implementación de contenido estático y, luego, inhabilita la función de reducción integrada."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unused-javascript": {
    "message": "Inhabilita el [empaquetado de JavaScript](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html) integrado en Magento."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-optimized-images": {
    "message": "Para optimizar las imágenes, se recomienda el [mercado de Magento](https://marketplace.magento.com/catalogsearch/result/?q=optimize%20image) donde encontrarás una amplia variedad de extensiones de terceros."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preconnect": {
    "message": "Para agregar optimizaciones de recursos preconnect o dns-prefetch mediante DNS, [modifica un diseño de temas](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preload": {
    "message": "Para agregar las etiquetas de `<link rel=preload>`, [modifica el diseño de los temas](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
    "message": "Utiliza el componente `next/image` en lugar de `<img>` para optimizar el formato de imagen automáticamente. [Obtén más información](https://nextjs.org/docs/app/getting-started/images)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
    "message": "Utiliza el componente `next/image` en lugar de `<img>` para realizar cargas diferidas de imágenes automáticamente. [Obtén más información](https://nextjs.org/docs/app/getting-started/images)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
    "message": "Utiliza el componente `next/image` y establece \"prioridad\" como verdadero para precargar imágenes LCP. [Obtén más información](https://nextjs.org/docs/api-reference/next/image#priority)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
    "message": "Utiliza el componente `next/script` para posponer la carga de secuencias de comandos no críticas de terceros. [Obtén más información](https://nextjs.org/docs/app/guides/scripts)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
    "message": "Utiliza el componente `next/image` para asegurarte de que las imágenes tengan siempre el tamaño correcto. [Obtén más información](https://nextjs.org/docs/api-reference/next/image#width)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
    "message": "Puedes configurar `PurgeCSS` en la configuración de `Next.js` para quitar las reglas que no se usan de las hojas de estilo. [Obtén más información](https://purgecss.com/guides/next.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-javascript": {
    "message": "Utiliza `Webpack Bundle Analyzer` para detectar códigos de JavaScript sin uso. [Obtén más información](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
    "message": "Puedes utilizar `Next.js Analytics` para calcular el rendimiento real de tu app. [Obtén más información](https://nextjs.org/docs/pages/guides/analytics)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-long-cache-ttl": {
    "message": "Configura el almacenamiento en caché para elementos inmutables y páginas `Server-side Rendered` (SSR). [Obtén más información](https://nextjs.org/docs/13/pages/building-your-application/deploying/production-checklist#caching)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
    "message": "Utiliza el componente `next/image` en lugar de `<img>` para modificar la calidad de la imagen. [Obtén más información](https://nextjs.org/docs/app/getting-started/images)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
    "message": "Utiliza el componente `next/image` para establecer las `sizes` correspondientes. [Obtén más información](https://nextjs.org/docs/api-reference/next/image#sizes)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
    "message": "Habilita la compresión en tu servidor Next.js. [Obtén más información](https://nextjs.org/docs/api-reference/next.config.js/compression)."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | dom-size": {
    "message": "Comunícate con tu administrador de cuentas para habilitar [`HTML Lazy Load`](https://support.nitropack.io/hc/en-us/articles/17144942904337). Si lo configuras, se priorizará y optimizará el rendimiento de la renderización de la página."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | font-display": {
    "message": "Usa la opción [`Override Font Rendering Behavior`](https://support.nitropack.io/hc/en-us/articles/16547358865041) en NitroPack para establecer el valor deseado para la regla de visualización de fuentes de CSS."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | modern-image-formats": {
    "message": "Usa [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/16547237162513) para convertir tus imágenes a WebP automáticamente."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | offscreen-images": {
    "message": "Para diferir las imágenes fuera de pantalla, habilita [`Automatic Image Lazy Loading`](https://support.nitropack.io/hc/en-us/articles/12457493524369-NitroPack-Lazy-Loading-Feature-for-Images)."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | render-blocking-resources": {
    "message": "Habilita [`Remove render-blocking resources`](https://support.nitropack.io/hc/en-us/articles/13820893500049-How-to-Deal-with-Render-Blocking-Resources-in-NitroPack) en NitroPack para acelerar los tiempos de carga iniciales."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-css": {
    "message": "Habilita [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) en la configuración de almacenamiento en caché para reducir el tamaño de tus archivos CSS, HTML y JavaScript para acelerar los tiempos de carga."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unminified-javascript": {
    "message": "Habilita [`Minify resources`](https://support.nitropack.io/hc/en-us/articles/360061059394-Minify-Resources) en la configuración de almacenamiento en caché para reducir el tamaño de tus archivos JS, HTML y CSS para acelerar los tiempos de carga."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-css-rules": {
    "message": "Habilita [`Reduce Unused CSS`](https://support.nitropack.io/hc/en-us/articles/360020418457-Reduce-Unused-CSS) para quitar las reglas de CSS que no sean aplicables a esta página."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | unused-javascript": {
    "message": "Configura [`Delayed Scripts`](https://support.nitropack.io/hc/en-us/articles/1500002600942-Delayed-Scripts) en NitroPack para retrasar la carga de las secuencias de comandos hasta que sean necesarias."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-long-cache-ttl": {
    "message": "Ve a la función [`Improve Server Response Time`](https://support.nitropack.io/hc/en-us/articles/1500002321821-Improve-Server-Response-Time) en el menú `Caching` y ajusta el tiempo de vencimiento de la caché de la página para mejorar los tiempos de carga y la experiencia del usuario."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-optimized-images": {
    "message": "Habilita la configuración [`Image Optimization`](https://support.nitropack.io/hc/en-us/articles/14177271695121-How-to-serve-images-in-next-gen-formats-using-NitroPack) para comprimir, optimizar y convertir tus imágenes a WebP automáticamente."
  },
  "node_modules/lighthouse-stack-packs/packs/nitropack.js | uses-responsive-images": {
    "message": "Habilita [`Adaptive Image Sizing`](https://support.nitropack.io/hc/en-us/articles/10123833029905-How-to-Enable-Adaptive-Image-Sizing-For-Your-Site) para optimizar de forma preventiva tus imágenes y hacer que coincidan con las dimensiones de los contenedores en los que se muestran en todos los dispositivos."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
    "message": "Utiliza el componente `nuxt/image` y establece `format=\"webp\"`. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#format)."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
    "message": "Utiliza el componente `nuxt/image` y establece `loading=\"lazy\"` para las imágenes fuera de pantalla. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#loading)."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
    "message": "Utiliza el componente `nuxt/image` y especifica `preload` para la imagen LCP. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#preload)."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
    "message": "Utiliza el componente `nuxt/image` y especifica `width` y `height` explícitos. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#width-height)."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
    "message": "Utiliza el componente `nuxt/image` y establece las `quality` correspondientes. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#quality)."
  },
  "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
    "message": "Utiliza el componente `nuxt/image` y establece las `sizes` correspondientes. [Obtén más información](https://image.nuxt.com/usage/nuxt-img#sizes)."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
    "message": "[Reemplaza los GIF animados con video](https://web.dev/replace-gifs-with-videos/) para que se cargue la página web más rápido y considera utilizar formatos de archivo modernos, como [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) o [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) para mejorar la eficiencia de la compresión en más de un 30% con respecto al VP9, el códec de video de vanguardia actual."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | modern-image-formats": {
    "message": "Puedes utilizar un [complemento](https://octobercms.com/plugins?search=image) o servicio que convierta automáticamente las imágenes que subes en los formatos óptimos. [Las imágenes WebP sin pérdidas](https://developers.google.com/speed/webp) son un 26% más pequeñas en comparación con las PNG y entre un 25% y un 34% más pequeñas que las imágenes JPEG comparables con índices de calidad SSIM equivalentes. Otro formato de imagen de última generación que se debe tener en cuenta es [AVIF](https://jakearchibald.com/2020/avif-has-landed/)."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | offscreen-images": {
    "message": "Puedes instalar un [complemento de carga diferida de imágenes](https://octobercms.com/plugins?search=lazy) que permita diferir las imágenes fuera de pantalla. Otra alternativa es cambiar a un tema que proporcione esa funcionalidad. También puedes utilizar [el complemento AMP](https://octobercms.com/plugins?search=Accelerated+Mobile+Pages)."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | render-blocking-resources": {
    "message": "Existen varios complementos que permiten [intercalar elementos fundamentales](https://octobercms.com/plugins?search=css). Estos complementos pueden interferir con otros, por lo que deberás probarlos de forma exhaustiva."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | server-response-time": {
    "message": "Los temas, los complementos y las especificaciones afectan al tiempo de respuesta del servidor. Considera buscar un tema más optimizado, elegir cuidadosamente un complemento de optimización o actualizar el servidor. El CMS October también permite que los desarrolladores utilicen [`Queues`](https://octobercms.com/docs/services/queues) para diferir el procesamiento de una tarea que requiera mucho tiempo, como enviar un correo electrónico. De esta manera, se aceleran drásticamente las solicitudes web."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | total-byte-weight": {
    "message": "Considera mostrar extractos en las listas de publicaciones (p. ej., cuando se presiona el botón `show more`), reducir el número de publicaciones que se muestran en una página determinada, dividir publicaciones largas entre varias páginas web o utilizar un complemento para los comentarios de carga diferida."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-css": {
    "message": "Existen varios [complementos](https://octobercms.com/plugins?search=css) que concatenan, reducen y comprimen los estilos para acelerar un sitio web. Se puede acelerar el desarrollo utilizando un proceso de compilación para reducir los estilos de forma anticipada."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-javascript": {
    "message": "Existen varios [complementos](https://octobercms.com/plugins?search=javascript) que concatenan, reducen y comprimen las secuencias de comandos para acelerar el sitio web. Se puede acelerar el desarrollo utilizando un proceso de compilación para reducir los estilos de forma anticipada."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-css-rules": {
    "message": "Considera revisar los [complementos](https://octobercms.com/plugins) que carguen instancias de CSS no utilizadas en el sitio web. Para identificar los complementos que agregan instancias de CSS innecesarias, ejecuta la [cobertura de código](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) en Herramientas para desarrolladores de Chrome. Identifica el tema o el complemento responsable desde la URL de la hoja de estilo. Busca los complementos que tengan varias hojas de estilo con muchos elementos en rojo en la cobertura de código. Los complementos solo deben agregar hojas de estilo que se usen en la página web."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-javascript": {
    "message": "Considera revisar los [complementos](https://octobercms.com/plugins?search=javascript) que cargan instancias de JavaScript no utilizadas en la página web. Para identificar los complementos que agregan instancias de JavaScript innecesarias, ejecuta [la cobertura de código](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) en Herramientas para desarrolladores de Chrome. Identifica el tema o el complemento responsable desde la URL de la secuencia de comandos. Busca complementos que tengan varias secuencias de comandos con muchos elementos en rojo en la cobertura de código. Los complementos solo deben agregar secuencias de comandos que se usen en la página web."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-long-cache-ttl": {
    "message": "Obtén información para [no enviar solicitudes de red innecesarias gracias a la caché HTTP](https://web.dev/http-cache/#caching-checklist). Existen varios [complementos](https://octobercms.com/plugins?search=Caching) para acelerar el almacenamiento en caché."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-optimized-images": {
    "message": "Puedes utilizar un [complemento de optimización de imágenes](https://octobercms.com/plugins?search=image) para comprimir las imágenes sin modificar su calidad."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-responsive-images": {
    "message": "Sube las imágenes directamente en el administrador de contenido multimedia para asegurarte de contar con los tamaños de imagen requeridos. Considera utilizar el [filtro de cambio de tamaño](https://octobercms.com/docs/markup/filter-resize) o un [complemento para cambiar el tamaño de las imágenes](https://octobercms.com/plugins?search=image) a fin de asegurarte de que se utilicen los tamaños óptimos."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-text-compression": {
    "message": "Puedes habilitar la compresión de texto en la configuración de tu servidor web."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | dom-size": {
    "message": "Si renderizas muchos elementos repetidos en la página, considera utilizar una biblioteca de \"sistema de ventanas\" como `react-window` para minimizar la cantidad de nodos DOM que se crean. [Obtén más información](https://web.dev/virtualize-long-lists-react-window/). Además, minimiza la cantidad de renderizaciones repetidas e innecesarias mediante [`shouldComponentUpdate`](https://reactjs.org/docs/optimizing-performance.html#shouldcomponentupdate-in-action), [`PureComponent`](https://reactjs.org/docs/react-api.html#reactpurecomponent) o [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo), y [omite efectos](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects) solo hasta que hayan cambiado ciertas dependencias si usas el enlace de `Effect` para mejorar el rendimiento del tiempo de ejecución."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | redirects": {
    "message": "Si utilizas React Router, minimiza el uso del componente de `<Redirect>` para las [navegaciones de ruta](https://reacttraining.com/react-router/web/api/Redirect)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | server-response-time": {
    "message": "Si procesas en el servidor cualquier componente de React, se recomienda usar `renderToPipeableStream()` o `renderToStaticNodeStream()` para permitir que el cliente reciba diferentes partes del lenguaje de marcado y las complete en lugar de recibir todas al mismo tiempo. [Obtén más información](https://reactjs.org/docs/react-dom-server.html#renderToPipeableStream)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-css": {
    "message": "Si el sistema de compilación reduce los archivos CSS de forma automática, asegúrate de implementar la compilación de producción de tu app. Puedes comprobarlo con la extensión de las Herramientas para desarrolladores de React. [Obtén más información](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-javascript": {
    "message": "Si el sistema de compilación reduce los archivos JS de forma automática, asegúrate de implementar la compilación de producción de tu app. Puedes comprobarlo con la extensión de las Herramientas para desarrolladores de React. [Obtén más información](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unused-javascript": {
    "message": "Si no estás procesando datos en el servidor, [divide los paquetes de JavaScript](https://web.dev/code-splitting-suspense/) con `React.lazy()`. De lo contrario, divide el código con una biblioteca de terceros como [loadable-components](https://loadable-components.com/)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | user-timings": {
    "message": "Utiliza el generador de perfiles de las Herramientas para desarrolladores de React, que emplea la API de Profiler para medir el rendimiento de procesamiento de tus componentes. [Obtén más información](https://reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | efficient-animated-content": {
    "message": "Coloca los videos en `VideoBoxes`, personalízalos con `Video Masks` o agrega `Transparent Videos`. [Obtén más información](https://support.wix.com/en/article/wix-video-about-wix-video)."
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | modern-image-formats": {
    "message": "Sube imágenes con `Wix Media Manager` para asegurarte de que se publiquen automáticamente como WebP. Descubre [otras formas para optimizar](https://support.wix.com/en/article/site-performance-optimizing-your-media) el contenido multimedia de tu sitio."
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | render-blocking-resources": {
    "message": "Cuando [agregues código de terceros](https://support.wix.com/en/article/site-performance-using-third-party-code-on-your-site) en la pestaña `Custom Code` del panel del sitio, asegúrate de que se aplace o se cargue al final del cuerpo del código. Cuando sea posible, usa las [integraciones](https://support.wix.com/en/article/about-marketing-integrations) de Wix para incorporar herramientas de marketing a tu sitio. "
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | server-response-time": {
    "message": "Wix utiliza CDN y almacenamiento en caché para entregar respuestas lo más rápido posible a la mayoría de los visitantes. Te recomendamos [habilitar manualmente el almacenamiento en caché](https://support.wix.com/en/article/site-performance-caching-pages-to-optimize-loading-speed) en tu sitio, sobre todo si usas `Velo`."
  },
  "node_modules/lighthouse-stack-packs/packs/wix.js | unused-javascript": {
    "message": "Revisa el código de terceros que hayas agregado a tu sitio en la pestaña `Custom Code` del panel y conserva únicamente los servicios necesarios para tu sitio. [Obtén más información](https://support.wix.com/en/article/site-performance-removing-unused-javascript)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | efficient-animated-content": {
    "message": "Puedes subir tu GIF a un servicio que permita insertarlo como un video HTML5."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | modern-image-formats": {
    "message": "Te recomendamos usar el complemento [Performance Lab](https://wordpress.org/plugins/performance-lab/) para convertir las imágenes JPEG que hayas subido a WebP de forma automática, siempre que sea compatible."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | offscreen-images": {
    "message": "Instala un [complemento de carga diferida de WordPress](https://wordpress.org/plugins/search/lazy+load/) con la capacidad de postergar las imágenes fuera de pantalla o bien cambia a un tema que incluya esa función. También puedes usar [el complemento AMP](https://wordpress.org/plugins/amp/)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | render-blocking-resources": {
    "message": "Existen varios complementos de WordPress que pueden ayudarte a [insertar elementos fundamentales](https://wordpress.org/plugins/search/critical+css/) o a [postergar recursos menos importantes](https://wordpress.org/plugins/search/defer+css+javascript/). Ten en cuenta que las optimizaciones que ofrecen estos complementos pueden interferir con funciones de tu tema o complementos, por lo que seguramente tengas que hacer cambios en el código."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | server-response-time": {
    "message": "Elige un tema liviano (idealmente, un tema de bloques) y, luego, implementa el almacenamiento en caché de la página completa o una solución de sitio estático. Inhabilita los complementos innecesarios para minimizar la sobrecarga del servidor. Recomendamos actualizar tu hosting a un servicio administrado o dedicado."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | total-byte-weight": {
    "message": "Puedes mostrar fragmentos en tus listas de entradas (por ejemplo, mediante la etiqueta \"<more>\"), reducir la cantidad de entradas que se muestran en cada página, dividir tus entradas más largas en múltiples páginas o usar un complemento para postergar la carga de los comentarios."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-css": {
    "message": "Hay varios [complementos de WordPress](https://wordpress.org/plugins/search/minify+css/) que pueden concatenar, reducir y comprimir los estilos para acelerar tu sitio web. Te recomendamos que, si es posible, uses un proceso de compilación para reducir los estilos de forma anticipada."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-javascript": {
    "message": "Hay varios [complementos de WordPress](https://wordpress.org/plugins/search/minify+javascript/) que pueden concatenar, reducir y comprimir las secuencias de comandos para acelerar tu sitio web. Te recomendamos que, si es posible, uses un proceso de compilación para realizar la reducción de forma anticipada."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-css-rules": {
    "message": "Puedes reducir o cambiar la cantidad de [complementos de WordPress](https://wordpress.org/plugins/) que cargan hojas de estilo CSS que tu página no usa. Para identificar los complementos que agregan hojas de estilo CSS innecesarias, prueba ejecutar la [cobertura de código](https://developer.chrome.com/docs/devtools/coverage/) en DevTools de Chrome. Puedes identificar el tema o complemento concreto en la URL de la hoja de estilo. Presta atención a los complementos que tengan varias hojas de estilo en la lista con muchos elementos en rojo en la cobertura de código. Los complementos solo deberían poner en cola hojas de estilo que se usen en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-javascript": {
    "message": "Puedes reducir o cambiar la cantidad de [complementos de WordPress](https://wordpress.org/plugins/) que cargan secuencias JavaScript que tu página no usa. Para identificar los complementos que agregan secuencias JS innecesarias, prueba ejecutar la [cobertura de código](https://developer.chrome.com/docs/devtools/coverage/) en DevTools de Chrome. Puedes identificar el tema o complemento concreto en la URL de la secuencia de comandos. Presta atención a los complementos que tengan varias secuencias de comandos en la lista con muchos elementos en rojo en la cobertura de código. Los complementos solo deberían poner en cola secuencias de comandos que se usen en la página."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-long-cache-ttl": {
    "message": "Consulta información sobre el [almacenamiento en la memoria caché del navegador en WordPress](https://wordpress.org/support/article/optimization/#browser-caching)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-optimized-images": {
    "message": "Puedes usar un [complemento de optimización de imágenes de WordPress](https://wordpress.org/plugins/search/optimize+images/) que comprima tus imágenes y conserve la calidad."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-responsive-images": {
    "message": "Carga imágenes directamente a través de la [biblioteca de medios](https://wordpress.org/support/article/media-library-screen/) para garantizar que estén disponibles los tamaños de imagen requeridos y, luego, insértalas desde la biblioteca de medios, o bien usa el widget de imágenes para asegurarte de que se utilicen los tamaños de imagen óptimos (incluidos los que se emplean para interrupciones receptivas). Evita usar imágenes `Full Size`, a menos que las dimensiones sean adecuadas para su empleo. [Obtén más información](https://wordpress.org/support/article/inserting-images-into-posts-and-pages/)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-text-compression": {
    "message": "Puedes habilitar la compresión de texto en la configuración de tu servidor web."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | modern-image-formats": {
    "message": "Habilita \"Imagify\" en la pestaña de optimización de imágenes en \"WP Rocket\" para convertir tus imágenes a WebP."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | offscreen-images": {
    "message": "Habilita [LazyLoad](https://docs.wp-rocket.me/article/1141-lazyload-for-images) en \"WP Rocket\" para seguir esta recomendación. Esta función retrasa la carga de las imágenes hasta que el visitante se desplace hacia abajo en la página y necesite verlas."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | render-blocking-resources": {
    "message": "Habilita [Remove Unused CSS](https://docs.wp-rocket.me/article/1529-remove-unused-css) y [Load JavaScript deferred](https://docs.wp-rocket.me/article/1265-load-javascript-deferred) en \"WP Rocket\" para abordar esta recomendación. Estas funciones optimizarán respectivamente los archivos CSS y JavaScript para que no bloqueen la renderización de tu página."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-css": {
    "message": "Habilita [Minify CSS files](https://docs.wp-rocket.me/article/1350-css-minify-combine) en \"WP Rocket\" para solucionar este problema. Se quitarán los espacios y comentarios de los archivos CSS de tu sitio a fin de reducir el tamaño de archivo y acelerar la descarga."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-javascript": {
    "message": "Habilita [Minify JavaScript files](https://docs.wp-rocket.me/article/1351-javascript-minify-combine) en \"WP Rocket\" para solucionar este problema. Se quitarán los espacios vacíos y los comentarios de los archivos JavaScript para reducir su tamaño y acelerar la descarga."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-css-rules": {
    "message": "Habilita la opción [Remove Unused CSS](https://docs.wp-rocket.me/article/1529-remove-unused-css) en \"WP Rocket\" para solucionar el problema. Reduce el tamaño de la página, ya que quita todas las CSS y hojas de estilo que no se usan, a la vez que mantiene solo las CSS que se usan en cada página."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-javascript": {
    "message": "Habilita [Delay JavaScript execution](https://docs.wp-rocket.me/article/1349-delay-javascript-execution) en \"WP Rocket\" para solucionar este problema. Mejorará la carga de tu página, ya que retrasa la ejecución de las secuencias de comandos hasta la interacción del usuario. Si tu sitio tiene iframes, puedes usar [LazyLoad for iframes and videos](https://docs.wp-rocket.me/article/1674-lazyload-for-iframes-and-videos) de \"WP Rocket\" y [Replace YouTube iframe with preview image](https://docs.wp-rocket.me/article/1488-replace-youtube-iframe-with-preview-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-optimized-images": {
    "message": "Habilita \"Imagify\" en la pestaña de optimización de imágenes de \"WP Rocket\" y ejecuta Bulk Optimization para comprimir las imágenes."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preconnect": {
    "message": "Usa [Prefetch DNS Requests](https://docs.wp-rocket.me/article/1302-prefetch-dns-requests) en \"WP Rocket\" para agregar \"dns-prefetch\" y acelerar la conexión con dominios externos. Además, \"WP Rocket\" agrega automáticamente la opción \"preconnect\" al [dominio de Google Fonts](https://docs.wp-rocket.me/article/1312-optimize-google-fonts) y a cualquier CNAME que se agregue mediante la función [Enable CDN](https://docs.wp-rocket.me/article/42-using-wp-rocket-with-a-cdn)."
  },
  "node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preload": {
    "message": "Para solucionar este problema, habilita [Remove Unused CSS](https://docs.wp-rocket.me/article/1529-remove-unused-css) en \"WP Rocket\". Las fuentes más importantes de tu sitio se precargarán con prioridad."
  },
  "report/renderer/report-utils.js | calculatorLink": {
    "message": "Consulta la calculadora."
  },
  "report/renderer/report-utils.js | collapseView": {
    "message": "Contraer vista"
  },
  "report/renderer/report-utils.js | crcInitialNavigation": {
    "message": "Navegación inicial"
  },
  "report/renderer/report-utils.js | crcLongestDurationLabel": {
    "message": "Latencia de ruta crítica máxima:"
  },
  "report/renderer/report-utils.js | dropdownCopyJSON": {
    "message": "Copiar JSON"
  },
  "report/renderer/report-utils.js | dropdownDarkTheme": {
    "message": "Activar o desactivar el Tema oscuro"
  },
  "report/renderer/report-utils.js | dropdownPrintExpanded": {
    "message": "Se expandió la impresión"
  },
  "report/renderer/report-utils.js | dropdownPrintSummary": {
    "message": "Resumen de impresión"
  },
  "report/renderer/report-utils.js | dropdownSaveGist": {
    "message": "Guardar como Gist"
  },
  "report/renderer/report-utils.js | dropdownSaveHTML": {
    "message": "Guardar como HTML"
  },
  "report/renderer/report-utils.js | dropdownSaveJSON": {
    "message": "Guardar como JSON"
  },
  "report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
    "message": "Ver el registro original"
  },
  "report/renderer/report-utils.js | dropdownViewer": {
    "message": "Abrir en el lector"
  },
  "report/renderer/report-utils.js | errorLabel": {
    "message": "Error"
  },
  "report/renderer/report-utils.js | errorMissingAuditInfo": {
    "message": "Error del informe: No hay información de la auditoría"
  },
  "report/renderer/report-utils.js | expandView": {
    "message": "Expandir vista"
  },
  "report/renderer/report-utils.js | firstPartyChipLabel": {
    "message": "Propio"
  },
  "report/renderer/report-utils.js | footerIssue": {
    "message": "Informa sobre un problema"
  },
  "report/renderer/report-utils.js | hide": {
    "message": "Ocultar"
  },
  "report/renderer/report-utils.js | labDataTitle": {
    "message": "Datos de prueba"
  },
  "report/renderer/report-utils.js | lsPerformanceCategoryDescription": {
    "message": "Análisis de [Lighthouse](https://developers.google.com/web/tools/lighthouse/) de la página actual en una red móvil emulada. Los valores son estimados y pueden variar."
  },
  "report/renderer/report-utils.js | manualAuditsGroupTitle": {
    "message": "Elementos adicionales que se deben comprobar manualmente"
  },
  "report/renderer/report-utils.js | notApplicableAuditsGroupTitle": {
    "message": "No aplicable"
  },
  "report/renderer/report-utils.js | openInANewTabTooltip": {
    "message": "Abrir en una pestaña nueva"
  },
  "report/renderer/report-utils.js | opportunityResourceColumnLabel": {
    "message": "Oportunidad"
  },
  "report/renderer/report-utils.js | opportunitySavingsColumnLabel": {
    "message": "Ahorro estimado"
  },
  "report/renderer/report-utils.js | passedAuditsGroupTitle": {
    "message": "Auditorías aprobadas"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindow": {
    "message": "Carga inicial de la página"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindowSnapshot": {
    "message": "Instantánea de un momento determinado"
  },
  "report/renderer/report-utils.js | runtimeAnalysisWindowTimespan": {
    "message": "Período de interacciones del usuario"
  },
  "report/renderer/report-utils.js | runtimeCustom": {
    "message": "Limitación personalizada"
  },
  "report/renderer/report-utils.js | runtimeDesktopEmulation": {
    "message": "Escritorio emulado"
  },
  "report/renderer/report-utils.js | runtimeMobileEmulation": {
    "message": "Moto G Power emulado"
  },
  "report/renderer/report-utils.js | runtimeNoEmulation": {
    "message": "Sin emulación"
  },
  "report/renderer/report-utils.js | runtimeSettingsAxeVersion": {
    "message": "Versión de axe"
  },
  "report/renderer/report-utils.js | runtimeSettingsBenchmark": {
    "message": "Potencia de memoria/CPU ilimitada"
  },
  "report/renderer/report-utils.js | runtimeSettingsCPUThrottling": {
    "message": "Limitación de la CPU"
  },
  "report/renderer/report-utils.js | runtimeSettingsDevice": {
    "message": "Dispositivo"
  },
  "report/renderer/report-utils.js | runtimeSettingsNetworkThrottling": {
    "message": "Limitación de la red"
  },
  "report/renderer/report-utils.js | runtimeSettingsScreenEmulation": {
    "message": "Emulación de pantallas"
  },
  "report/renderer/report-utils.js | runtimeSettingsUANetwork": {
    "message": "Usuario-agente (red)"
  },
  "report/renderer/report-utils.js | runtimeSingleLoad": {
    "message": "Sesión de una sola página"
  },
  "report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
    "message": "Estos datos se obtienen de la sesión de una sola página, a diferencia de los datos de campos que sintetizan la información de muchas sesiones."
  },
  "report/renderer/report-utils.js | runtimeSlow4g": {
    "message": "Limitación de la red 4G lenta"
  },
  "report/renderer/report-utils.js | runtimeUnknown": {
    "message": "Desconocido"
  },
  "report/renderer/report-utils.js | show": {
    "message": "Mostrar"
  },
  "report/renderer/report-utils.js | showRelevantAudits": {
    "message": "Mostrar las auditorías relevantes para la métrica:"
  },
  "report/renderer/report-utils.js | snippetCollapseButtonLabel": {
    "message": "Contraer fragmento"
  },
  "report/renderer/report-utils.js | snippetExpandButtonLabel": {
    "message": "Expandir fragmento"
  },
  "report/renderer/report-utils.js | thirdPartyResourcesLabel": {
    "message": "Mostrar recursos de terceros"
  },
  "report/renderer/report-utils.js | throttlingProvided": {
    "message": "Proporcionado por el entorno"
  },
  "report/renderer/report-utils.js | toplevelWarningsMessage": {
    "message": "Algunos problemas afectaron la ejecución de Lighthouse:"
  },
  "report/renderer/report-utils.js | unattributable": {
    "message": "No atribuible"
  },
  "report/renderer/report-utils.js | unscoredLabel": {
    "message": "Sin puntuación"
  },
  "report/renderer/report-utils.js | unscoredTitle": {
    "message": "Esta auditoría no contribuye a la puntuación general de la categoría."
  },
  "report/renderer/report-utils.js | varianceDisclaimer": {
    "message": "Los valores son estimados y pueden variar. La [medición del rendimiento se calcula](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) directamente a partir de estas métricas."
  },
  "report/renderer/report-utils.js | viewTraceLabel": {
    "message": "Ver registro"
  },
  "report/renderer/report-utils.js | viewTreemapLabel": {
    "message": "Ver diagrama de árbol"
  },
  "report/renderer/report-utils.js | warningAuditsGroupTitle": {
    "message": "Auditorías aprobadas con advertencias"
  },
  "report/renderer/report-utils.js | warningHeader": {
    "message": "Advertencias: "
  },
  "treemap/app/src/util.js | allLabel": {
    "message": "Todo"
  },
  "treemap/app/src/util.js | allScriptsDropdownLabel": {
    "message": "Todas las secuencias de comandos"
  },
  "treemap/app/src/util.js | coverageColumnName": {
    "message": "Cobertura"
  },
  "treemap/app/src/util.js | duplicateModulesLabel": {
    "message": "Módulos duplicados"
  },
  "treemap/app/src/util.js | duplicatedBytesLabel": {
    "message": "Bytes duplicados"
  },
  "treemap/app/src/util.js | resourceBytesLabel": {
    "message": "Bytes de recursos"
  },
  "treemap/app/src/util.js | tableColumnName": {
    "message": "Nombre"
  },
  "treemap/app/src/util.js | toggleTableButtonLabel": {
    "message": "Activar o desactivar tabla"
  },
  "treemap/app/src/util.js | transferBytesLabel": {
    "message": "Transferir bytes"
  },
  "treemap/app/src/util.js | unusedBytesLabel": {
    "message": "Bytes sin usar"
  }
}
