lighthouse 9.6.8 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +4 -1
- package/CONTRIBUTING.md +15 -15
- package/build-tracker.config.js +0 -1
- package/cli/bin.d.ts +5 -0
- package/cli/bin.js +140 -0
- package/cli/cli-flags.d.ts +258 -0
- package/cli/cli-flags.js +553 -0
- package/cli/commands/commands.d.ts +4 -0
- package/cli/commands/commands.js +9 -0
- package/cli/commands/list-audits.d.ts +2 -0
- package/cli/commands/list-audits.js +15 -0
- package/cli/commands/list-locales.d.ts +2 -0
- package/cli/commands/list-locales.js +15 -0
- package/cli/commands/list-trace-categories.d.ts +2 -0
- package/cli/commands/list-trace-categories.js +14 -0
- package/cli/index.d.ts +3 -0
- package/cli/index.js +10 -0
- package/cli/printer.d.ts +28 -0
- package/cli/printer.js +99 -0
- package/cli/run.d.ts +24 -0
- package/cli/run.js +284 -0
- package/cli/sentry-prompt.d.ts +5 -0
- package/cli/sentry-prompt.js +78 -0
- package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
- package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
- package/cli/test/smokehouse/config/exclusions.js +36 -0
- package/cli/test/smokehouse/core-tests.d.ts +4 -0
- package/cli/test/smokehouse/core-tests.js +134 -0
- package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
- package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
- package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
- package/cli/test/smokehouse/frontends/lib.js +48 -0
- package/cli/test/smokehouse/frontends/node.d.ts +2 -0
- package/cli/test/smokehouse/frontends/node.js +12 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
- package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
- package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
- package/cli/test/smokehouse/lib/child-process-error.js +25 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
- package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
- package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
- package/cli/test/smokehouse/lib/local-console.js +50 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
- package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
- package/cli/test/smokehouse/readme.md +208 -0
- package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
- package/cli/test/smokehouse/report-assert-test.js +298 -0
- package/cli/test/smokehouse/report-assert.d.ts +50 -0
- package/cli/test/smokehouse/report-assert.js +520 -0
- package/cli/test/smokehouse/smokehouse.d.ts +35 -0
- package/cli/test/smokehouse/smokehouse.js +336 -0
- package/cli/test/smokehouse/version-check-test.d.ts +2 -0
- package/cli/test/smokehouse/version-check-test.js +43 -0
- package/cli/test/smokehouse/version-check.d.ts +15 -0
- package/cli/test/smokehouse/version-check.js +48 -0
- package/commitlint.config.js +0 -1
- package/core/audits/accessibility/accesskeys.d.ts +10 -0
- package/core/audits/accessibility/accesskeys.js +44 -0
- package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-allowed-attr.js +44 -0
- package/core/audits/accessibility/aria-command-name.d.ts +10 -0
- package/core/audits/accessibility/aria-command-name.js +42 -0
- package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-body.js +42 -0
- package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
- package/core/audits/accessibility/aria-hidden-focus.js +42 -0
- package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-input-field-name.js +42 -0
- package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
- package/core/audits/accessibility/aria-meter-name.js +42 -0
- package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
- package/core/audits/accessibility/aria-progressbar-name.js +42 -0
- package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-required-attr.js +43 -0
- package/core/audits/accessibility/aria-required-children.d.ts +10 -0
- package/core/audits/accessibility/aria-required-children.js +47 -0
- package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
- package/core/audits/accessibility/aria-required-parent.js +45 -0
- package/core/audits/accessibility/aria-roles.d.ts +10 -0
- package/core/audits/accessibility/aria-roles.js +44 -0
- package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
- package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
- package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
- package/core/audits/accessibility/aria-tooltip-name.js +42 -0
- package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
- package/core/audits/accessibility/aria-treeitem-name.js +42 -0
- package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
- package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
- package/core/audits/accessibility/aria-valid-attr.js +44 -0
- package/core/audits/accessibility/axe-audit.d.ts +17 -0
- package/core/audits/accessibility/axe-audit.js +113 -0
- package/core/audits/accessibility/button-name.d.ts +10 -0
- package/core/audits/accessibility/button-name.js +44 -0
- package/core/audits/accessibility/bypass.d.ts +10 -0
- package/core/audits/accessibility/bypass.js +46 -0
- package/core/audits/accessibility/color-contrast.d.ts +10 -0
- package/core/audits/accessibility/color-contrast.js +45 -0
- package/core/audits/accessibility/definition-list.d.ts +10 -0
- package/core/audits/accessibility/definition-list.js +46 -0
- package/core/audits/accessibility/dlitem.d.ts +10 -0
- package/core/audits/accessibility/dlitem.js +44 -0
- package/core/audits/accessibility/document-title.d.ts +10 -0
- package/core/audits/accessibility/document-title.js +44 -0
- package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-active.js +42 -0
- package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
- package/core/audits/accessibility/duplicate-id-aria.js +42 -0
- package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
- package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
- package/core/audits/accessibility/frame-title.d.ts +10 -0
- package/core/audits/accessibility/frame-title.js +43 -0
- package/core/audits/accessibility/heading-order.d.ts +10 -0
- package/core/audits/accessibility/heading-order.js +42 -0
- package/core/audits/accessibility/html-has-lang.d.ts +10 -0
- package/core/audits/accessibility/html-has-lang.js +46 -0
- package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
- package/core/audits/accessibility/html-lang-valid.js +45 -0
- package/core/audits/accessibility/image-alt.d.ts +10 -0
- package/core/audits/accessibility/image-alt.js +44 -0
- package/core/audits/accessibility/input-image-alt.d.ts +10 -0
- package/core/audits/accessibility/input-image-alt.js +44 -0
- package/core/audits/accessibility/label.d.ts +10 -0
- package/core/audits/accessibility/label.js +44 -0
- package/core/audits/accessibility/link-name.d.ts +10 -0
- package/core/audits/accessibility/link-name.js +45 -0
- package/core/audits/accessibility/list.d.ts +10 -0
- package/core/audits/accessibility/list.js +46 -0
- package/core/audits/accessibility/listitem.d.ts +10 -0
- package/core/audits/accessibility/listitem.js +45 -0
- package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
- package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
- package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
- package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
- package/core/audits/accessibility/manual/focus-traps.js +27 -0
- package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
- package/core/audits/accessibility/manual/focusable-controls.js +27 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
- package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
- package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
- package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
- package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
- package/core/audits/accessibility/manual/managed-focus.js +27 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
- package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
- package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
- package/core/audits/accessibility/manual/use-landmarks.js +27 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
- package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
- package/core/audits/accessibility/meta-refresh.d.ts +10 -0
- package/core/audits/accessibility/meta-refresh.js +45 -0
- package/core/audits/accessibility/meta-viewport.d.ts +10 -0
- package/core/audits/accessibility/meta-viewport.js +46 -0
- package/core/audits/accessibility/object-alt.d.ts +10 -0
- package/core/audits/accessibility/object-alt.js +44 -0
- package/core/audits/accessibility/tabindex.d.ts +10 -0
- package/core/audits/accessibility/tabindex.js +44 -0
- package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
- package/core/audits/accessibility/td-headers-attr.js +48 -0
- package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
- package/core/audits/accessibility/th-has-data-cells.js +48 -0
- package/core/audits/accessibility/valid-lang.d.ts +10 -0
- package/core/audits/accessibility/valid-lang.js +44 -0
- package/core/audits/accessibility/video-caption.d.ts +10 -0
- package/core/audits/accessibility/video-caption.js +46 -0
- package/core/audits/audit.d.ts +157 -0
- package/core/audits/audit.js +405 -0
- package/core/audits/autocomplete.d.ts +36 -0
- package/core/audits/autocomplete.js +290 -0
- package/core/audits/bf-cache.d.ts +21 -0
- package/core/audits/bf-cache.js +120 -0
- package/core/audits/bootup-time.d.ts +26 -0
- package/core/audits/bootup-time.js +151 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
- package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
- package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
- package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
- package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
- package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
- package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
- package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
- package/core/audits/byte-efficiency/offscreen-images.js +253 -0
- package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
- package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
- package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
- package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
- package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
- package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
- package/core/audits/byte-efficiency/unminified-css.js +114 -0
- package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
- package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
- package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
- package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
- package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
- package/core/audits/byte-efficiency/unused-javascript.js +163 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
- package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
- package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
- package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
- package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
- package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
- package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
- package/core/audits/content-width.d.ts +17 -0
- package/core/audits/content-width.js +76 -0
- package/core/audits/critical-request-chains.d.ts +44 -0
- package/core/audits/critical-request-chains.js +218 -0
- package/core/audits/csp-xss.d.ts +51 -0
- package/core/audits/csp-xss.js +186 -0
- package/core/audits/deprecations.d.ts +19 -0
- package/core/audits/deprecations.js +114 -0
- package/core/audits/diagnostics.d.ts +11 -0
- package/core/audits/diagnostics.js +79 -0
- package/core/audits/dobetterweb/charset.d.ts +19 -0
- package/core/audits/dobetterweb/charset.js +93 -0
- package/core/audits/dobetterweb/doctype.d.ts +21 -0
- package/core/audits/dobetterweb/doctype.js +120 -0
- package/core/audits/dobetterweb/dom-size.d.ts +26 -0
- package/core/audits/dobetterweb/dom-size.js +134 -0
- package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
- package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
- package/core/audits/dobetterweb/inspector-issues.js +191 -0
- package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
- package/core/audits/dobetterweb/js-libraries.js +87 -0
- package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
- package/core/audits/dobetterweb/no-document-write.js +84 -0
- package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
- package/core/audits/dobetterweb/notification-on-start.js +68 -0
- package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
- package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
- package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
- package/core/audits/dobetterweb/uses-http2.js +264 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
- package/core/audits/errors-in-console.d.ts +31 -0
- package/core/audits/errors-in-console.js +120 -0
- package/core/audits/final-screenshot.d.ts +11 -0
- package/core/audits/final-screenshot.js +58 -0
- package/core/audits/font-display.d.ts +32 -0
- package/core/audits/font-display.js +193 -0
- package/core/audits/image-aspect-ratio.d.ts +30 -0
- package/core/audits/image-aspect-ratio.js +122 -0
- package/core/audits/image-size-responsive.d.ts +28 -0
- package/core/audits/image-size-responsive.js +332 -0
- package/core/audits/installable-manifest.d.ts +118 -0
- package/core/audits/installable-manifest.js +265 -0
- package/core/audits/is-on-https.d.ts +23 -0
- package/core/audits/is-on-https.js +123 -0
- package/core/audits/largest-contentful-paint-element.d.ts +14 -0
- package/core/audits/largest-contentful-paint-element.js +69 -0
- package/core/audits/layout-shift-elements.d.ts +15 -0
- package/core/audits/layout-shift-elements.js +74 -0
- package/core/audits/lcp-lazy-loaded.d.ts +21 -0
- package/core/audits/lcp-lazy-loaded.js +84 -0
- package/core/audits/long-tasks.d.ts +16 -0
- package/core/audits/long-tasks.js +124 -0
- package/core/audits/main-thread-tasks.d.ts +11 -0
- package/core/audits/main-thread-tasks.js +58 -0
- package/core/audits/mainthread-work-breakdown.d.ts +28 -0
- package/core/audits/mainthread-work-breakdown.js +135 -0
- package/core/audits/manual/manual-audit.d.ts +13 -0
- package/core/audits/manual/manual-audit.js +36 -0
- package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
- package/core/audits/manual/pwa-cross-browser.js +40 -0
- package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
- package/core/audits/manual/pwa-each-page-has-url.js +38 -0
- package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
- package/core/audits/manual/pwa-page-transitions.js +38 -0
- package/core/audits/maskable-icon.d.ts +25 -0
- package/core/audits/maskable-icon.js +70 -0
- package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
- package/core/audits/metrics/cumulative-layout-shift.js +79 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
- package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
- package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
- package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
- package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/first-contentful-paint.js +85 -0
- package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
- package/core/audits/metrics/first-meaningful-paint.js +89 -0
- package/core/audits/metrics/interactive.d.ts +31 -0
- package/core/audits/metrics/interactive.js +93 -0
- package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
- package/core/audits/metrics/largest-contentful-paint.js +94 -0
- package/core/audits/metrics/max-potential-fid.d.ts +23 -0
- package/core/audits/metrics/max-potential-fid.js +77 -0
- package/core/audits/metrics/speed-index.d.ts +27 -0
- package/core/audits/metrics/speed-index.js +88 -0
- package/core/audits/metrics/total-blocking-time.d.ts +32 -0
- package/core/audits/metrics/total-blocking-time.js +118 -0
- package/core/audits/metrics.d.ts +11 -0
- package/core/audits/metrics.js +73 -0
- package/core/audits/multi-check-audit.d.ts +28 -0
- package/core/audits/multi-check-audit.js +82 -0
- package/core/audits/network-requests.d.ts +11 -0
- package/core/audits/network-requests.js +129 -0
- package/core/audits/network-rtt.d.ts +15 -0
- package/core/audits/network-rtt.js +89 -0
- package/core/audits/network-server-latency.d.ts +15 -0
- package/core/audits/network-server-latency.js +88 -0
- package/core/audits/no-unload-listeners.d.ts +16 -0
- package/core/audits/no-unload-listeners.js +86 -0
- package/core/audits/non-composited-animations.d.ts +21 -0
- package/core/audits/non-composited-animations.js +205 -0
- package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
- package/core/audits/oopif-iframe-test-audit.js +29 -0
- package/core/audits/performance-budget.d.ts +39 -0
- package/core/audits/performance-budget.js +154 -0
- package/core/audits/predictive-perf.d.ts +11 -0
- package/core/audits/predictive-perf.js +100 -0
- package/core/audits/preload-fonts.d.ts +29 -0
- package/core/audits/preload-fonts.js +106 -0
- package/core/audits/prioritize-lcp-image.d.ts +76 -0
- package/core/audits/prioritize-lcp-image.js +290 -0
- package/core/audits/redirects.d.ts +33 -0
- package/core/audits/redirects.js +164 -0
- package/core/audits/resource-summary.d.ts +16 -0
- package/core/audits/resource-summary.js +104 -0
- package/core/audits/screenshot-thumbnails.d.ts +33 -0
- package/core/audits/screenshot-thumbnails.js +168 -0
- package/core/audits/script-elements-test-audit.d.ts +14 -0
- package/core/audits/script-elements-test-audit.js +29 -0
- package/core/audits/script-treemap-data.d.ts +42 -0
- package/core/audits/script-treemap-data.js +287 -0
- package/core/audits/seo/canonical.d.ts +51 -0
- package/core/audits/seo/canonical.js +217 -0
- package/core/audits/seo/crawlable-anchors.d.ts +16 -0
- package/core/audits/seo/crawlable-anchors.js +93 -0
- package/core/audits/seo/font-size.d.ts +24 -0
- package/core/audits/seo/font-size.js +344 -0
- package/core/audits/seo/hreflang.d.ts +28 -0
- package/core/audits/seo/hreflang.js +148 -0
- package/core/audits/seo/http-status-code.d.ts +16 -0
- package/core/audits/seo/http-status-code.js +68 -0
- package/core/audits/seo/is-crawlable.d.ts +38 -0
- package/core/audits/seo/is-crawlable.js +223 -0
- package/core/audits/seo/link-text.d.ts +16 -0
- package/core/audits/seo/link-text.js +160 -0
- package/core/audits/seo/manual/structured-data.d.ts +12 -0
- package/core/audits/seo/manual/structured-data.js +37 -0
- package/core/audits/seo/meta-description.d.ts +16 -0
- package/core/audits/seo/meta-description.js +66 -0
- package/core/audits/seo/plugins.d.ts +15 -0
- package/core/audits/seo/plugins.js +150 -0
- package/core/audits/seo/robots-txt.d.ts +18 -0
- package/core/audits/seo/robots-txt.js +255 -0
- package/core/audits/seo/tap-targets.d.ts +50 -0
- package/core/audits/seo/tap-targets.js +352 -0
- package/core/audits/server-response-time.d.ts +21 -0
- package/core/audits/server-response-time.js +90 -0
- package/core/audits/service-worker.d.ts +46 -0
- package/core/audits/service-worker.js +182 -0
- package/core/audits/splash-screen.d.ts +37 -0
- package/core/audits/splash-screen.js +98 -0
- package/core/audits/themed-omnibox.d.ts +42 -0
- package/core/audits/themed-omnibox.js +102 -0
- package/core/audits/third-party-facades.d.ts +42 -0
- package/core/audits/third-party-facades.js +224 -0
- package/core/audits/third-party-summary.d.ts +59 -0
- package/core/audits/third-party-summary.js +257 -0
- package/core/audits/timing-budget.d.ts +43 -0
- package/core/audits/timing-budget.js +174 -0
- package/core/audits/unsized-images.d.ts +39 -0
- package/core/audits/unsized-images.js +162 -0
- package/core/audits/user-timings.d.ts +43 -0
- package/core/audits/user-timings.js +118 -0
- package/core/audits/uses-rel-preconnect.d.ts +37 -0
- package/core/audits/uses-rel-preconnect.js +253 -0
- package/core/audits/uses-rel-preload.d.ts +61 -0
- package/core/audits/uses-rel-preload.js +269 -0
- package/core/audits/valid-source-maps.d.ts +29 -0
- package/core/audits/valid-source-maps.js +160 -0
- package/core/audits/viewport.d.ts +17 -0
- package/core/audits/viewport.js +64 -0
- package/core/audits/violation-audit.d.ts +14 -0
- package/core/audits/violation-audit.js +49 -0
- package/core/audits/work-during-interaction.d.ts +82 -0
- package/core/audits/work-during-interaction.js +279 -0
- package/core/computed/computed-artifact.d.ts +15 -0
- package/core/computed/computed-artifact.js +62 -0
- package/core/computed/critical-request-chains.d.ts +40 -0
- package/core/computed/critical-request-chains.js +143 -0
- package/core/computed/entity-classification.d.ts +29 -0
- package/core/computed/entity-classification.js +103 -0
- package/core/computed/image-records.d.ts +24 -0
- package/core/computed/image-records.js +64 -0
- package/core/computed/js-bundles.d.ts +13 -0
- package/core/computed/js-bundles.js +120 -0
- package/core/computed/load-simulator.d.ts +28 -0
- package/core/computed/load-simulator.js +92 -0
- package/core/computed/main-resource.d.ts +25 -0
- package/core/computed/main-resource.js +35 -0
- package/core/computed/main-thread-tasks.d.ts +15 -0
- package/core/computed/main-thread-tasks.js +25 -0
- package/core/computed/manifest-values.d.ts +24 -0
- package/core/computed/manifest-values.js +136 -0
- package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
- package/core/computed/metrics/cumulative-layout-shift.js +125 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
- package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
- package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/first-contentful-paint.js +40 -0
- package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
- package/core/computed/metrics/first-meaningful-paint.js +44 -0
- package/core/computed/metrics/interactive.d.ts +61 -0
- package/core/computed/metrics/interactive.js +192 -0
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
- package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
- package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
- package/core/computed/metrics/lantern-interactive.d.ts +31 -0
- package/core/computed/metrics/lantern-interactive.js +113 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
- package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
- package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
- package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
- package/core/computed/metrics/lantern-metric.d.ts +78 -0
- package/core/computed/metrics/lantern-metric.js +162 -0
- package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
- package/core/computed/metrics/lantern-speed-index.js +150 -0
- package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
- package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
- package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
- package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
- package/core/computed/metrics/largest-contentful-paint.js +52 -0
- package/core/computed/metrics/max-potential-fid.d.ts +15 -0
- package/core/computed/metrics/max-potential-fid.js +45 -0
- package/core/computed/metrics/metric.d.ts +38 -0
- package/core/computed/metrics/metric.js +100 -0
- package/core/computed/metrics/navigation-metric.d.ts +16 -0
- package/core/computed/metrics/navigation-metric.js +46 -0
- package/core/computed/metrics/responsiveness.d.ts +87 -0
- package/core/computed/metrics/responsiveness.js +160 -0
- package/core/computed/metrics/speed-index.d.ts +10 -0
- package/core/computed/metrics/speed-index.js +40 -0
- package/core/computed/metrics/tbt-utils.d.ts +18 -0
- package/core/computed/metrics/tbt-utils.js +56 -0
- package/core/computed/metrics/timing-summary.d.ts +46 -0
- package/core/computed/metrics/timing-summary.js +157 -0
- package/core/computed/metrics/total-blocking-time.d.ts +23 -0
- package/core/computed/metrics/total-blocking-time.js +74 -0
- package/core/computed/module-duplication.d.ts +37 -0
- package/core/computed/module-duplication.js +138 -0
- package/core/computed/network-analysis.d.ts +20 -0
- package/core/computed/network-analysis.js +64 -0
- package/core/computed/network-records.d.ts +15 -0
- package/core/computed/network-records.js +22 -0
- package/core/computed/page-dependency-graph.d.ts +88 -0
- package/core/computed/page-dependency-graph.js +516 -0
- package/core/computed/processed-navigation.d.ts +21 -0
- package/core/computed/processed-navigation.js +37 -0
- package/core/computed/processed-trace.d.ts +14 -0
- package/core/computed/processed-trace.js +21 -0
- package/core/computed/resource-summary.d.ts +46 -0
- package/core/computed/resource-summary.js +118 -0
- package/core/computed/screenshots.d.ts +20 -0
- package/core/computed/screenshots.js +29 -0
- package/core/computed/speedline.d.ts +15 -0
- package/core/computed/speedline.js +55 -0
- package/core/computed/unused-css.d.ts +62 -0
- package/core/computed/unused-css.js +153 -0
- package/core/computed/unused-javascript-summary.d.ts +71 -0
- package/core/computed/unused-javascript-summary.js +155 -0
- package/core/computed/user-timings.d.ts +31 -0
- package/core/computed/user-timings.js +83 -0
- package/core/computed/viewport-meta.d.ts +35 -0
- package/core/computed/viewport-meta.js +56 -0
- package/core/config/budget.d.ts +74 -0
- package/core/config/budget.js +340 -0
- package/core/config/config-helpers.d.ts +94 -0
- package/core/config/config-helpers.js +630 -0
- package/core/config/config-plugin.d.ts +46 -0
- package/core/config/config-plugin.js +250 -0
- package/core/config/config.d.ts +28 -0
- package/core/config/config.js +344 -0
- package/core/config/constants.d.ts +86 -0
- package/core/config/constants.js +175 -0
- package/core/config/default-config.d.ts +5 -0
- package/core/config/default-config.js +637 -0
- package/core/config/desktop-config.d.ts +5 -0
- package/core/config/desktop-config.js +21 -0
- package/core/config/experimental-config.d.ts +13 -0
- package/core/config/experimental-config.js +29 -0
- package/core/config/filters.d.ts +83 -0
- package/core/config/filters.js +344 -0
- package/core/config/full-config.d.ts +9 -0
- package/core/config/full-config.js +13 -0
- package/core/config/lr-desktop-config.d.ts +4 -0
- package/core/config/lr-desktop-config.js +28 -0
- package/core/config/lr-mobile-config.d.ts +9 -0
- package/core/config/lr-mobile-config.js +33 -0
- package/core/config/metrics-to-audits.d.ts +19 -0
- package/core/config/metrics-to-audits.js +61 -0
- package/core/config/perf-config.d.ts +9 -0
- package/core/config/perf-config.js +16 -0
- package/core/config/validation.d.ts +77 -0
- package/core/config/validation.js +312 -0
- package/core/gather/base-artifacts.d.ts +16 -0
- package/core/gather/base-artifacts.js +95 -0
- package/core/gather/base-gatherer.d.ts +72 -0
- package/core/gather/base-gatherer.js +108 -0
- package/core/gather/driver/dom.d.ts +20 -0
- package/core/gather/driver/dom.js +57 -0
- package/core/gather/driver/environment.d.ts +35 -0
- package/core/gather/driver/environment.js +105 -0
- package/core/gather/driver/execution-context.d.ts +101 -0
- package/core/gather/driver/execution-context.js +262 -0
- package/core/gather/driver/navigation.d.ts +33 -0
- package/core/gather/driver/navigation.js +182 -0
- package/core/gather/driver/network-monitor.d.ts +82 -0
- package/core/gather/driver/network-monitor.js +260 -0
- package/core/gather/driver/network.d.ts +10 -0
- package/core/gather/driver/network.js +27 -0
- package/core/gather/driver/prepare.d.ts +52 -0
- package/core/gather/driver/prepare.js +244 -0
- package/core/gather/driver/service-workers.d.ts +16 -0
- package/core/gather/driver/service-workers.js +52 -0
- package/core/gather/driver/storage.d.ts +24 -0
- package/core/gather/driver/storage.js +149 -0
- package/core/gather/driver/target-manager.d.ts +61 -0
- package/core/gather/driver/target-manager.js +209 -0
- package/core/gather/driver/wait-for-condition.d.ts +116 -0
- package/core/gather/driver/wait-for-condition.js +544 -0
- package/core/gather/driver.d.ts +30 -0
- package/core/gather/driver.js +92 -0
- package/core/gather/fetcher.d.ts +63 -0
- package/core/gather/fetcher.js +143 -0
- package/core/gather/gatherers/accessibility.d.ts +23 -0
- package/core/gather/gatherers/accessibility.js +199 -0
- package/core/gather/gatherers/anchor-elements.d.ts +10 -0
- package/core/gather/gatherers/anchor-elements.js +132 -0
- package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
- package/core/gather/gatherers/bf-cache-failures.js +179 -0
- package/core/gather/gatherers/cache-contents.d.ts +11 -0
- package/core/gather/gatherers/cache-contents.js +58 -0
- package/core/gather/gatherers/console-messages.d.ts +39 -0
- package/core/gather/gatherers/console-messages.js +174 -0
- package/core/gather/gatherers/css-usage.d.ts +39 -0
- package/core/gather/gatherers/css-usage.js +150 -0
- package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
- package/core/gather/gatherers/devtools-log-compat.js +35 -0
- package/core/gather/gatherers/devtools-log.d.ts +48 -0
- package/core/gather/gatherers/devtools-log.js +115 -0
- package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
- package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
- package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
- package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
- package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
- package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
- package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
- package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
- package/core/gather/gatherers/full-page-screenshot.js +258 -0
- package/core/gather/gatherers/gatherer.d.ts +46 -0
- package/core/gather/gatherers/gatherer.js +58 -0
- package/core/gather/gatherers/global-listeners.d.ts +27 -0
- package/core/gather/gatherers/global-listeners.js +91 -0
- package/core/gather/gatherers/iframe-elements.d.ts +11 -0
- package/core/gather/gatherers/iframe-elements.js +67 -0
- package/core/gather/gatherers/image-elements.d.ts +35 -0
- package/core/gather/gatherers/image-elements.js +378 -0
- package/core/gather/gatherers/inputs.d.ts +10 -0
- package/core/gather/gatherers/inputs.js +118 -0
- package/core/gather/gatherers/inspector-issues.d.ts +38 -0
- package/core/gather/gatherers/inspector-issues.js +126 -0
- package/core/gather/gatherers/installability-errors.d.ts +17 -0
- package/core/gather/gatherers/installability-errors.js +56 -0
- package/core/gather/gatherers/js-usage.d.ts +22 -0
- package/core/gather/gatherers/js-usage.js +74 -0
- package/core/gather/gatherers/link-elements.d.ts +39 -0
- package/core/gather/gatherers/link-elements.js +181 -0
- package/core/gather/gatherers/main-document-content.d.ts +27 -0
- package/core/gather/gatherers/main-document-content.js +53 -0
- package/core/gather/gatherers/meta-elements.d.ts +10 -0
- package/core/gather/gatherers/meta-elements.js +67 -0
- package/core/gather/gatherers/network-user-agent.d.ts +18 -0
- package/core/gather/gatherers/network-user-agent.js +41 -0
- package/core/gather/gatherers/script-elements.d.ts +26 -0
- package/core/gather/gatherers/script-elements.js +110 -0
- package/core/gather/gatherers/scripts.d.ts +27 -0
- package/core/gather/gatherers/scripts.js +139 -0
- package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
- package/core/gather/gatherers/seo/embedded-content.js +63 -0
- package/core/gather/gatherers/seo/font-size.d.ts +131 -0
- package/core/gather/gatherers/seo/font-size.js +339 -0
- package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
- package/core/gather/gatherers/seo/robots-txt.js +27 -0
- package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
- package/core/gather/gatherers/seo/tap-targets.js +389 -0
- package/core/gather/gatherers/service-worker.d.ts +16 -0
- package/core/gather/gatherers/service-worker.js +44 -0
- package/core/gather/gatherers/source-maps.d.ts +50 -0
- package/core/gather/gatherers/source-maps.js +155 -0
- package/core/gather/gatherers/stacks.d.ts +38 -0
- package/core/gather/gatherers/stacks.js +137 -0
- package/core/gather/gatherers/trace-compat.d.ts +13 -0
- package/core/gather/gatherers/trace-compat.js +35 -0
- package/core/gather/gatherers/trace-elements.d.ts +83 -0
- package/core/gather/gatherers/trace-elements.js +349 -0
- package/core/gather/gatherers/trace.d.ts +23 -0
- package/core/gather/gatherers/trace.js +130 -0
- package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
- package/core/gather/gatherers/viewport-dimensions.js +57 -0
- package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
- package/core/gather/gatherers/web-app-manifest.js +106 -0
- package/core/gather/navigation-runner.d.ts +94 -0
- package/core/gather/navigation-runner.js +386 -0
- package/core/gather/runner-helpers.d.ts +39 -0
- package/core/gather/runner-helpers.js +159 -0
- package/core/gather/session.d.ts +50 -0
- package/core/gather/session.js +114 -0
- package/core/gather/snapshot-runner.d.ts +10 -0
- package/core/gather/snapshot-runner.js +67 -0
- package/core/gather/timespan-runner.d.ts +12 -0
- package/core/gather/timespan-runner.js +85 -0
- package/core/index.cjs +21 -0
- package/core/index.d.cts +4 -0
- package/core/index.d.ts +88 -0
- package/core/index.js +172 -0
- package/core/legacy/config/config.d.ts +107 -0
- package/core/legacy/config/config.js +566 -0
- package/core/legacy/config/legacy-default-config.d.ts +4 -0
- package/core/legacy/config/legacy-default-config.js +87 -0
- package/core/legacy/gather/connections/connection.d.ts +75 -0
- package/core/legacy/gather/connections/connection.js +181 -0
- package/core/legacy/gather/connections/cri.d.ts +27 -0
- package/core/legacy/gather/connections/cri.js +162 -0
- package/core/legacy/gather/connections/raw.d.ts +20 -0
- package/core/legacy/gather/connections/raw.js +57 -0
- package/core/legacy/gather/driver.d.ts +215 -0
- package/core/legacy/gather/driver.js +469 -0
- package/core/legacy/gather/gather-runner.d.ts +166 -0
- package/core/legacy/gather/gather-runner.js +590 -0
- package/core/lib/arbitrary-equality-map.d.ts +47 -0
- package/core/lib/arbitrary-equality-map.js +80 -0
- package/core/lib/asset-saver.d.ts +101 -0
- package/core/lib/asset-saver.js +451 -0
- package/core/lib/axe.d.ts +2 -0
- package/core/lib/axe.js +17 -0
- package/core/lib/bf-cache-strings.d.ts +121 -0
- package/core/lib/bf-cache-strings.js +661 -0
- package/core/lib/cdt/Common.d.ts +3 -0
- package/core/lib/cdt/Common.js +12 -0
- package/core/lib/cdt/Platform.d.ts +26 -0
- package/core/lib/cdt/Platform.js +57 -0
- package/core/lib/cdt/SDK.d.ts +2 -0
- package/core/lib/cdt/SDK.js +28 -0
- package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
- package/core/lib/cdt/generated/ParsedURL.js +178 -0
- package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
- package/core/lib/cdt/generated/SourceMap.js +527 -0
- package/core/lib/cdt/package.json +4 -0
- package/core/lib/csp-evaluator.d.ts +41 -0
- package/core/lib/csp-evaluator.js +170 -0
- package/core/lib/dependency-graph/base-node.d.ts +161 -0
- package/core/lib/dependency-graph/base-node.js +364 -0
- package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
- package/core/lib/dependency-graph/cpu-node.js +86 -0
- package/core/lib/dependency-graph/network-node.d.ts +43 -0
- package/core/lib/dependency-graph/network-node.js +99 -0
- package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
- package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
- package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
- package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
- package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
- package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
- package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
- package/core/lib/dependency-graph/simulator/simulator.js +540 -0
- package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
- package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
- package/core/lib/deprecations-strings.d.ts +66 -0
- package/core/lib/deprecations-strings.js +654 -0
- package/core/lib/emulation.d.ts +43 -0
- package/core/lib/emulation.js +163 -0
- package/core/lib/i18n/README.md +290 -0
- package/core/lib/i18n/i18n.d.ts +81 -0
- package/core/lib/i18n/i18n.js +229 -0
- package/core/lib/icons.d.ts +22 -0
- package/core/lib/icons.js +82 -0
- package/core/lib/lantern-trace-saver.d.ts +20 -0
- package/core/lib/lantern-trace-saver.js +260 -0
- package/core/lib/lh-env.d.ts +2 -0
- package/core/lib/lh-env.js +15 -0
- package/core/lib/lh-error.d.ts +328 -0
- package/core/lib/lh-error.js +425 -0
- package/core/lib/lh-trace-processor.d.ts +5 -0
- package/core/lib/lh-trace-processor.js +45 -0
- package/core/lib/lighthouse-compatibility.d.ts +8 -0
- package/core/lib/lighthouse-compatibility.js +139 -0
- package/core/lib/manifest-parser.d.ts +186 -0
- package/core/lib/manifest-parser.js +495 -0
- package/core/lib/median-run.d.ts +17 -0
- package/core/lib/median-run.js +92 -0
- package/core/lib/minification-estimator.d.ts +9 -0
- package/core/lib/minification-estimator.js +192 -0
- package/core/lib/minify-devtoolslog.d.ts +6 -0
- package/core/lib/minify-devtoolslog.js +86 -0
- package/core/lib/navigation-error.d.ts +39 -0
- package/core/lib/navigation-error.js +175 -0
- package/core/lib/network-recorder.d.ts +115 -0
- package/core/lib/network-recorder.js +341 -0
- package/core/lib/network-request.d.ts +247 -0
- package/core/lib/network-request.js +590 -0
- package/core/lib/page-functions.d.ts +149 -0
- package/core/lib/page-functions.js +544 -0
- package/core/lib/proto-preprocessor.d.ts +13 -0
- package/core/lib/proto-preprocessor.js +133 -0
- package/core/lib/rect-helpers.d.ts +100 -0
- package/core/lib/rect-helpers.js +251 -0
- package/core/lib/script-helpers.d.ts +17 -0
- package/core/lib/script-helpers.js +31 -0
- package/core/lib/sentry.d.ts +32 -0
- package/core/lib/sentry.js +143 -0
- package/core/lib/stack-packs.d.ts +16 -0
- package/core/lib/stack-packs.js +126 -0
- package/core/lib/statistics.d.ts +28 -0
- package/core/lib/statistics.js +103 -0
- package/core/lib/tappable-rects.d.ts +8 -0
- package/core/lib/tappable-rects.js +98 -0
- package/core/lib/third-party-web.d.ts +32 -0
- package/core/lib/third-party-web.js +52 -0
- package/core/lib/timing-trace-saver.d.ts +21 -0
- package/core/lib/timing-trace-saver.js +96 -0
- package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
- package/core/lib/tracehouse/cpu-profile-model.js +591 -0
- package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
- package/core/lib/tracehouse/main-thread-tasks.js +688 -0
- package/core/lib/tracehouse/task-groups.d.ts +66 -0
- package/core/lib/tracehouse/task-groups.js +111 -0
- package/core/lib/tracehouse/task-summary.d.ts +18 -0
- package/core/lib/tracehouse/task-summary.js +86 -0
- package/core/lib/tracehouse/trace-processor.d.ts +284 -0
- package/core/lib/tracehouse/trace-processor.js +1016 -0
- package/core/lib/traces/metric-trace-events.d.ts +65 -0
- package/core/lib/traces/metric-trace-events.js +200 -0
- package/core/lib/url-utils.d.ts +100 -0
- package/core/lib/url-utils.js +266 -0
- package/core/runner.d.ts +114 -0
- package/core/runner.js +563 -0
- package/core/scoring.d.ts +26 -0
- package/core/scoring.js +91 -0
- package/core/scripts/download-chrome.sh +36 -0
- package/core/scripts/manual-chrome-launcher.js +50 -0
- package/core/user-flow.d.ts +106 -0
- package/core/user-flow.js +354 -0
- package/dist/report/bundle.esm.js +1485 -1281
- package/dist/report/flow.js +37 -25
- package/dist/report/standalone.js +35 -19
- package/eslint-local-rules.cjs +106 -0
- package/eslint-local-rules.d.cts +6 -0
- package/esm-utils.d.ts +14 -0
- package/esm-utils.js +38 -0
- package/flow-report/api.d.ts +7 -0
- package/flow-report/assets/standalone-flow-template.html +1 -1
- package/flow-report/clients/standalone.d.ts +7 -0
- package/flow-report/src/app.d.ts +11 -0
- package/flow-report/src/app.tsx +1 -1
- package/flow-report/src/common.d.ts +20 -0
- package/flow-report/src/common.tsx +3 -3
- package/flow-report/src/header.d.ts +10 -0
- package/flow-report/src/header.tsx +1 -1
- package/flow-report/src/help-dialog.d.ts +10 -0
- package/flow-report/src/i18n/i18n.d.ts +212 -0
- package/flow-report/src/i18n/i18n.tsx +24 -19
- package/flow-report/src/i18n/localized-strings.d.ts +9 -0
- package/flow-report/src/i18n/ui-strings.d.ts +48 -0
- package/flow-report/src/icons.d.ts +18 -0
- package/flow-report/src/sidebar/flow.d.ts +8 -0
- package/flow-report/src/sidebar/sidebar.d.ts +17 -0
- package/flow-report/src/sidebar/sidebar.tsx +7 -4
- package/flow-report/src/summary/category.d.ts +19 -0
- package/flow-report/src/summary/category.tsx +10 -10
- package/flow-report/src/summary/summary.d.ts +18 -0
- package/flow-report/src/summary/summary.tsx +4 -4
- package/flow-report/src/topbar.d.ts +15 -0
- package/flow-report/src/topbar.tsx +14 -30
- package/flow-report/src/util.d.ts +30 -0
- package/flow-report/src/util.ts +2 -13
- package/flow-report/src/wrappers/category-score.d.ts +12 -0
- package/flow-report/src/wrappers/markdown.d.ts +10 -0
- package/flow-report/src/wrappers/report.d.ts +10 -0
- package/flow-report/src/wrappers/report.tsx +1 -1
- package/flow-report/src/wrappers/styles.d.ts +8 -0
- package/flow-report/test/app-test.d.ts +7 -0
- package/flow-report/test/common-test.d.ts +7 -0
- package/flow-report/test/common-test.tsx +11 -12
- package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
- package/flow-report/test/flow-report-pptr-test.ts +21 -8
- package/flow-report/test/header-test.d.ts +7 -0
- package/flow-report/test/run-flow-report-tests.sh +20 -0
- package/flow-report/test/sample-flow.d.ts +7 -0
- package/flow-report/test/sample-flow.ts +1 -1
- package/flow-report/test/setup/env-setup.d.ts +11 -0
- package/flow-report/test/setup/env-setup.ts +47 -24
- package/flow-report/test/sidebar/flow-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
- package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
- package/flow-report/test/summary/category-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.d.ts +7 -0
- package/flow-report/test/summary/summary-test.tsx +1 -1
- package/flow-report/test/topbar-test.d.ts +7 -0
- package/flow-report/test/topbar-test.tsx +11 -12
- package/flow-report/test/util-test.d.ts +7 -0
- package/flow-report/test/util-test.tsx +3 -3
- package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
- package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
- package/flow-report/tsconfig.json +5 -3
- package/flow-report/types/flow-report.d.ts +8 -1
- package/package.json +86 -80
- package/readme.md +27 -40
- package/report/README.md +8 -9
- package/report/assets/standalone-template.html +1 -1
- package/report/assets/styles.css +35 -17
- package/report/assets/templates.html +14 -37
- package/report/clients/bundle.d.ts +6 -0
- package/report/clients/bundle.js +1 -2
- package/report/clients/standalone.d.ts +2 -0
- package/report/clients/standalone.js +0 -1
- package/report/generator/file-namer.d.ts +35 -0
- package/report/generator/file-namer.js +7 -3
- package/report/generator/flow-report-assets.d.ts +9 -0
- package/report/generator/flow-report-assets.js +10 -6
- package/report/generator/report-assets.d.ts +8 -0
- package/report/generator/report-assets.js +8 -5
- package/report/generator/report-generator.d.ts +59 -0
- package/report/generator/report-generator.js +76 -34
- package/report/generator/tsconfig.json +1 -2
- package/report/renderer/api.d.ts +31 -0
- package/report/renderer/api.js +0 -2
- package/report/renderer/category-renderer.d.ts +176 -0
- package/report/renderer/category-renderer.js +39 -41
- package/report/renderer/components.d.ts +10 -0
- package/report/renderer/components.js +364 -448
- package/report/renderer/crc-details-renderer.d.ts +73 -0
- package/report/renderer/crc-details-renderer.js +28 -30
- package/report/renderer/details-renderer.d.ts +141 -0
- package/report/renderer/details-renderer.js +44 -92
- package/report/renderer/dom.d.ts +125 -0
- package/report/renderer/dom.js +13 -10
- package/report/renderer/drop-down-menu.d.ts +70 -0
- package/report/renderer/drop-down-menu.js +0 -1
- package/report/renderer/element-screenshot-renderer.d.ts +79 -0
- package/report/renderer/element-screenshot-renderer.js +11 -12
- package/report/renderer/features-util.d.ts +13 -0
- package/report/renderer/features-util.js +0 -1
- package/report/renderer/i18n-formatter.d.ts +100 -0
- package/report/renderer/i18n-formatter.js +263 -0
- package/report/renderer/logger.d.ts +47 -0
- package/report/renderer/logger.js +0 -1
- package/report/renderer/open-tab.d.ts +19 -0
- package/report/renderer/open-tab.js +4 -4
- package/report/renderer/performance-category-renderer.d.ts +56 -0
- package/report/renderer/performance-category-renderer.js +29 -26
- package/report/renderer/pwa-category-renderer.d.ts +55 -0
- package/report/renderer/pwa-category-renderer.js +8 -8
- package/report/renderer/report-globals.d.ts +21 -0
- package/report/renderer/report-globals.js +49 -0
- package/report/renderer/report-renderer.d.ts +57 -0
- package/report/renderer/report-renderer.js +54 -52
- package/report/renderer/report-ui-features.d.ts +71 -0
- package/report/renderer/report-ui-features.js +44 -39
- package/report/renderer/report-utils.d.ts +129 -0
- package/report/renderer/report-utils.js +448 -0
- package/report/renderer/snippet-renderer.d.ts +85 -0
- package/report/renderer/snippet-renderer.js +5 -5
- package/report/renderer/swap-locale-feature.d.ts +31 -0
- package/report/renderer/swap-locale-feature.js +2 -3
- package/report/renderer/text-encoding.d.ts +26 -0
- package/report/renderer/text-encoding.js +0 -1
- package/report/renderer/topbar-features.d.ts +82 -0
- package/report/renderer/topbar-features.js +2 -2
- package/report/test/clients/bundle-test.js +5 -10
- package/report/test/generator/file-namer-test.js +3 -4
- package/report/test/generator/report-generator-test.js +49 -24
- package/report/test/renderer/category-renderer-test.js +19 -15
- package/report/test/renderer/components-test.js +36 -37
- package/report/test/renderer/crc-details-renderer-test.js +11 -10
- package/report/test/renderer/details-renderer-test.js +91 -41
- package/report/test/renderer/dom-test.js +38 -14
- package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
- package/report/test/renderer/i18n-formatter-test.js +179 -0
- package/report/test/renderer/performance-category-renderer-test.js +43 -31
- package/report/test/renderer/pwa-category-renderer-test.js +17 -13
- package/report/test/renderer/report-renderer-axe-test.js +12 -15
- package/report/test/renderer/report-renderer-test.js +17 -15
- package/report/test/renderer/report-ui-features-test.js +304 -89
- package/report/test/renderer/report-utils-test.js +219 -0
- package/report/test/renderer/snippet-renderer-test.js +11 -10
- package/report/test/renderer/text-encoding-test.js +2 -5
- package/report/test-assets/faux-psi.d.ts +34 -0
- package/report/tsconfig.json +1 -2
- package/report/types/augment-dom.d.ts +1 -1
- package/root.d.ts +3 -0
- package/root.js +9 -19
- package/shared/localization/format.d.ts +106 -0
- package/shared/localization/format.js +27 -21
- package/shared/localization/i18n-module.d.ts +4 -0
- package/shared/localization/i18n-module.js +7 -3
- package/shared/localization/locales/ar-XB.json +1658 -1007
- package/shared/localization/locales/ar.json +1659 -1008
- package/shared/localization/locales/bg.json +1657 -1006
- package/shared/localization/locales/ca.json +1664 -1013
- package/shared/localization/locales/cs.json +1659 -1008
- package/shared/localization/locales/da.json +1658 -1007
- package/shared/localization/locales/de.json +1794 -1143
- package/shared/localization/locales/el.json +1657 -1006
- package/shared/localization/locales/en-GB.json +1658 -1007
- package/shared/localization/locales/en-US.json +1471 -1066
- package/shared/localization/locales/en-XA.json +1658 -1007
- package/shared/localization/locales/en-XL.json +1471 -1066
- package/shared/localization/locales/es-419.json +1660 -1009
- package/shared/localization/locales/es.json +1665 -1014
- package/shared/localization/locales/fi.json +1658 -1007
- package/shared/localization/locales/fil.json +1659 -1008
- package/shared/localization/locales/fr.json +1660 -1009
- package/shared/localization/locales/he.json +1678 -1027
- package/shared/localization/locales/hi.json +1661 -1010
- package/shared/localization/locales/hr.json +1658 -1007
- package/shared/localization/locales/hu.json +1657 -1006
- package/shared/localization/locales/id.json +1658 -1007
- package/shared/localization/locales/it.json +1678 -1027
- package/shared/localization/locales/ja.json +1657 -1006
- package/shared/localization/locales/ko.json +1658 -1007
- package/shared/localization/locales/lt.json +1658 -1007
- package/shared/localization/locales/lv.json +1658 -1007
- package/shared/localization/locales/nl.json +1659 -1008
- package/shared/localization/locales/no.json +1662 -1011
- package/shared/localization/locales/pl.json +1657 -1006
- package/shared/localization/locales/pt-PT.json +1678 -1027
- package/shared/localization/locales/pt.json +1659 -1008
- package/shared/localization/locales/ro.json +1657 -1006
- package/shared/localization/locales/ru.json +1657 -1006
- package/shared/localization/locales/sk.json +1657 -1006
- package/shared/localization/locales/sl.json +1657 -1006
- package/shared/localization/locales/sr-Latn.json +1658 -1007
- package/shared/localization/locales/sr.json +1658 -1007
- package/shared/localization/locales/sv.json +1664 -1013
- package/shared/localization/locales/ta.json +1658 -1007
- package/shared/localization/locales/te.json +1688 -1037
- package/shared/localization/locales/th.json +1666 -1015
- package/shared/localization/locales/tr.json +1658 -1007
- package/shared/localization/locales/uk.json +1657 -1006
- package/shared/localization/locales/vi.json +1659 -1008
- package/shared/localization/locales/zh-HK.json +1658 -1007
- package/shared/localization/locales/zh-TW.json +1661 -1010
- package/shared/localization/locales/zh.json +1658 -1007
- package/shared/localization/locales.d.ts +7 -0
- package/shared/localization/locales.js +54 -51
- package/shared/localization/swap-flow-locale.d.ts +6 -0
- package/shared/localization/swap-flow-locale.js +6 -3
- package/shared/localization/swap-locale.d.ts +39 -0
- package/shared/localization/swap-locale.js +7 -8
- package/shared/test/localization/format-test.js +73 -56
- package/shared/test/localization/locales-test.js +2 -4
- package/shared/test/localization/swap-locale-test.js +10 -11
- package/shared/test/util-test.js +214 -0
- package/shared/tsconfig.json +1 -2
- package/shared/type-verifiers.d.ts +23 -0
- package/shared/type-verifiers.js +1 -2
- package/shared/types/shared.d.ts +2 -2
- package/shared/util.d.ts +122 -0
- package/shared/util.js +332 -0
- package/third-party/axe/valid-langs.d.ts +9 -0
- package/third-party/axe/valid-langs.js +1 -1
- package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
- package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
- package/third-party/download-content-shell/README.md +1 -0
- package/third-party/download-content-shell/download-content-shell.js +12 -6
- package/third-party/download-content-shell/utils.js +8 -8
- package/tsconfig-base.json +6 -1
- package/tsconfig.json +84 -90
- package/types/artifacts.d.ts +135 -78
- package/types/audit.d.ts +9 -8
- package/types/config.d.ts +26 -38
- package/types/externs.d.ts +9 -101
- package/types/gatherer.d.ts +35 -27
- package/types/internal/cssstyle.d.ts +23 -0
- package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
- package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
- package/types/internal/global.d.ts +15 -0
- package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
- package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
- package/types/internal/lighthouse-logger.d.ts +34 -0
- package/types/internal/lookup-closest-locale.d.ts +13 -0
- package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
- package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
- package/types/internal/node.d.ts +44 -0
- package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
- package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
- package/types/internal/query-selector.d.ts +36 -0
- package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
- package/types/internal/smokehouse.d.ts +83 -0
- package/types/internal/test.d.ts +53 -0
- package/types/lh.d.ts +81 -0
- package/types/lh.js +13 -0
- package/types/lhr/audit-details.d.ts +6 -53
- package/types/lhr/audit-result.d.ts +2 -2
- package/types/lhr/flow-result.d.ts +28 -0
- package/types/lhr/lhr.d.ts +53 -6
- package/types/lhr/settings.d.ts +18 -1
- package/types/lhr/treemap.d.ts +5 -4
- package/types/lhr/tsconfig.json +0 -2
- package/types/protocol.d.ts +32 -18
- package/types/puppeteer.d.ts +27 -0
- package/types/user-flow.d.ts +27 -6
- package/types/utility-types.d.ts +72 -0
- package/vercel.json +6 -0
- package/eslint-local-rules.js +0 -106
- package/flow-report/.eslintrc.cjs +0 -51
- package/flow-report/jest.config.js +0 -24
- package/flow-report/package.json +0 -4
- package/flow-report/test/setup/global-setup.ts +0 -11
- package/jest.config.js +0 -30
- package/lighthouse-cli/.eslintrc.cjs +0 -29
- package/lighthouse-cli/bin.js +0 -152
- package/lighthouse-cli/cli-flags.js +0 -530
- package/lighthouse-cli/commands/commands.js +0 -10
- package/lighthouse-cli/commands/list-audits.js +0 -16
- package/lighthouse-cli/commands/list-locales.js +0 -16
- package/lighthouse-cli/commands/list-trace-categories.js +0 -16
- package/lighthouse-cli/index.js +0 -14
- package/lighthouse-cli/package.json +0 -4
- package/lighthouse-cli/printer.js +0 -100
- package/lighthouse-cli/run.js +0 -286
- package/lighthouse-cli/sentry-prompt.js +0 -79
- package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
- package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
- package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
- package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
- package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
- package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
- package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
- package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
- package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
- package/lighthouse-cli/test/smokehouse/readme.md +0 -204
- package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
- package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
- package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
- package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
- package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
- package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
- package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
- package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
- package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
- package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
- package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
- package/lighthouse-core/audits/accessibility/button-name.js +0 -45
- package/lighthouse-core/audits/accessibility/bypass.js +0 -46
- package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
- package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
- package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
- package/lighthouse-core/audits/accessibility/document-title.js +0 -45
- package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
- package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
- package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
- package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
- package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
- package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
- package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
- package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/label.js +0 -45
- package/lighthouse-core/audits/accessibility/link-name.js +0 -46
- package/lighthouse-core/audits/accessibility/list.js +0 -47
- package/lighthouse-core/audits/accessibility/listitem.js +0 -46
- package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
- package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
- package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
- package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
- package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
- package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
- package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
- package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
- package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
- package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
- package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
- package/lighthouse-core/audits/apple-touch-icon.js +0 -72
- package/lighthouse-core/audits/audit.js +0 -391
- package/lighthouse-core/audits/autocomplete.js +0 -290
- package/lighthouse-core/audits/bootup-time.js +0 -152
- package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
- package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
- package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
- package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
- package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
- package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
- package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
- package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
- package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
- package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
- package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
- package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
- package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
- package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
- package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
- package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
- package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
- package/lighthouse-core/audits/content-width.js +0 -77
- package/lighthouse-core/audits/critical-request-chains.js +0 -220
- package/lighthouse-core/audits/csp-xss.js +0 -186
- package/lighthouse-core/audits/deprecations.js +0 -115
- package/lighthouse-core/audits/diagnostics.js +0 -79
- package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
- package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
- package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
- package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
- package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
- package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
- package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
- package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
- package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
- package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
- package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
- package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
- package/lighthouse-core/audits/errors-in-console.js +0 -118
- package/lighthouse-core/audits/final-screenshot.js +0 -59
- package/lighthouse-core/audits/font-display.js +0 -193
- package/lighthouse-core/audits/full-page-screenshot.js +0 -43
- package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
- package/lighthouse-core/audits/image-size-responsive.js +0 -331
- package/lighthouse-core/audits/installable-manifest.js +0 -266
- package/lighthouse-core/audits/is-on-https.js +0 -125
- package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
- package/lighthouse-core/audits/layout-shift-elements.js +0 -75
- package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
- package/lighthouse-core/audits/long-tasks.js +0 -124
- package/lighthouse-core/audits/main-thread-tasks.js +0 -59
- package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
- package/lighthouse-core/audits/manual/manual-audit.js +0 -37
- package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
- package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
- package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
- package/lighthouse-core/audits/maskable-icon.js +0 -71
- package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
- package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
- package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
- package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
- package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
- package/lighthouse-core/audits/metrics/interactive.js +0 -93
- package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
- package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
- package/lighthouse-core/audits/metrics/speed-index.js +0 -88
- package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
- package/lighthouse-core/audits/metrics.js +0 -73
- package/lighthouse-core/audits/multi-check-audit.js +0 -83
- package/lighthouse-core/audits/network-requests.js +0 -130
- package/lighthouse-core/audits/network-rtt.js +0 -90
- package/lighthouse-core/audits/network-server-latency.js +0 -89
- package/lighthouse-core/audits/no-unload-listeners.js +0 -95
- package/lighthouse-core/audits/non-composited-animations.js +0 -206
- package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
- package/lighthouse-core/audits/performance-budget.js +0 -154
- package/lighthouse-core/audits/predictive-perf.js +0 -101
- package/lighthouse-core/audits/preload-fonts.js +0 -107
- package/lighthouse-core/audits/preload-lcp-image.js +0 -272
- package/lighthouse-core/audits/redirects.js +0 -163
- package/lighthouse-core/audits/resource-summary.js +0 -104
- package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
- package/lighthouse-core/audits/script-treemap-data.js +0 -288
- package/lighthouse-core/audits/seo/canonical.js +0 -218
- package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
- package/lighthouse-core/audits/seo/font-size.js +0 -344
- package/lighthouse-core/audits/seo/hreflang.js +0 -149
- package/lighthouse-core/audits/seo/http-status-code.js +0 -70
- package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
- package/lighthouse-core/audits/seo/link-text.js +0 -158
- package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
- package/lighthouse-core/audits/seo/meta-description.js +0 -67
- package/lighthouse-core/audits/seo/plugins.js +0 -152
- package/lighthouse-core/audits/seo/robots-txt.js +0 -256
- package/lighthouse-core/audits/seo/tap-targets.js +0 -352
- package/lighthouse-core/audits/server-response-time.js +0 -106
- package/lighthouse-core/audits/service-worker.js +0 -179
- package/lighthouse-core/audits/splash-screen.js +0 -99
- package/lighthouse-core/audits/themed-omnibox.js +0 -110
- package/lighthouse-core/audits/third-party-facades.js +0 -221
- package/lighthouse-core/audits/third-party-summary.js +0 -259
- package/lighthouse-core/audits/timing-budget.js +0 -174
- package/lighthouse-core/audits/unsized-images.js +0 -163
- package/lighthouse-core/audits/user-timings.js +0 -120
- package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
- package/lighthouse-core/audits/uses-rel-preload.js +0 -267
- package/lighthouse-core/audits/valid-source-maps.js +0 -157
- package/lighthouse-core/audits/viewport.js +0 -65
- package/lighthouse-core/audits/violation-audit.js +0 -50
- package/lighthouse-core/audits/work-during-interaction.js +0 -280
- package/lighthouse-core/computed/computed-artifact.js +0 -62
- package/lighthouse-core/computed/critical-request-chains.js +0 -146
- package/lighthouse-core/computed/image-records.js +0 -63
- package/lighthouse-core/computed/js-bundles.js +0 -119
- package/lighthouse-core/computed/load-simulator.js +0 -92
- package/lighthouse-core/computed/main-resource.js +0 -34
- package/lighthouse-core/computed/main-thread-tasks.js +0 -25
- package/lighthouse-core/computed/manifest-values.js +0 -135
- package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
- package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
- package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
- package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
- package/lighthouse-core/computed/metrics/interactive.js +0 -193
- package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
- package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
- package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
- package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
- package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
- package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
- package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
- package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
- package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
- package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
- package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
- package/lighthouse-core/computed/metrics/metric.js +0 -100
- package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
- package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
- package/lighthouse-core/computed/metrics/speed-index.js +0 -40
- package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
- package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
- package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
- package/lighthouse-core/computed/module-duplication.js +0 -136
- package/lighthouse-core/computed/network-analysis.js +0 -64
- package/lighthouse-core/computed/network-records.js +0 -21
- package/lighthouse-core/computed/page-dependency-graph.js +0 -488
- package/lighthouse-core/computed/processed-navigation.js +0 -21
- package/lighthouse-core/computed/processed-trace.js +0 -21
- package/lighthouse-core/computed/resource-summary.js +0 -114
- package/lighthouse-core/computed/screenshots.js +0 -29
- package/lighthouse-core/computed/speedline.js +0 -54
- package/lighthouse-core/computed/trace-of-tab.js +0 -30
- package/lighthouse-core/computed/unused-css.js +0 -154
- package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
- package/lighthouse-core/computed/user-timings.js +0 -83
- package/lighthouse-core/computed/viewport-meta.js +0 -56
- package/lighthouse-core/config/budget.js +0 -341
- package/lighthouse-core/config/config-helpers.js +0 -590
- package/lighthouse-core/config/config-plugin.js +0 -225
- package/lighthouse-core/config/config.js +0 -544
- package/lighthouse-core/config/constants.js +0 -169
- package/lighthouse-core/config/default-config.js +0 -632
- package/lighthouse-core/config/desktop-config.js +0 -21
- package/lighthouse-core/config/experimental-config.js +0 -30
- package/lighthouse-core/config/full-config.js +0 -14
- package/lighthouse-core/config/lr-desktop-config.js +0 -25
- package/lighthouse-core/config/lr-mobile-config.js +0 -31
- package/lighthouse-core/config/metrics-to-audits.js +0 -61
- package/lighthouse-core/config/perf-config.js +0 -17
- package/lighthouse-core/fraggle-rock/api.js +0 -77
- package/lighthouse-core/fraggle-rock/config/config.js +0 -281
- package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
- package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
- package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
- package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
- package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
- package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
- package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
- package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
- package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
- package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
- package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
- package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
- package/lighthouse-core/gather/connections/connection.js +0 -179
- package/lighthouse-core/gather/connections/cri.js +0 -171
- package/lighthouse-core/gather/connections/raw.js +0 -58
- package/lighthouse-core/gather/devtools-log.js +0 -61
- package/lighthouse-core/gather/driver/dom.js +0 -58
- package/lighthouse-core/gather/driver/environment.js +0 -105
- package/lighthouse-core/gather/driver/execution-context.js +0 -249
- package/lighthouse-core/gather/driver/navigation.js +0 -179
- package/lighthouse-core/gather/driver/network-monitor.js +0 -290
- package/lighthouse-core/gather/driver/network.js +0 -28
- package/lighthouse-core/gather/driver/prepare.js +0 -226
- package/lighthouse-core/gather/driver/service-workers.js +0 -53
- package/lighthouse-core/gather/driver/storage.js +0 -125
- package/lighthouse-core/gather/driver/target-manager.js +0 -125
- package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
- package/lighthouse-core/gather/driver.js +0 -482
- package/lighthouse-core/gather/fetcher.js +0 -318
- package/lighthouse-core/gather/gather-runner.js +0 -622
- package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
- package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
- package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
- package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
- package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
- package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
- package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
- package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
- package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
- package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
- package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
- package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
- package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
- package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
- package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
- package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
- package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
- package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
- package/lighthouse-core/gather/gatherers/inputs.js +0 -113
- package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
- package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
- package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
- package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
- package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
- package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
- package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
- package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
- package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
- package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
- package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
- package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
- package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
- package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
- package/lighthouse-core/gather/gatherers/stacks.js +0 -125
- package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
- package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
- package/lighthouse-core/gather/gatherers/trace.js +0 -131
- package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
- package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
- package/lighthouse-core/index.js +0 -80
- package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
- package/lighthouse-core/lib/asset-saver.js +0 -341
- package/lighthouse-core/lib/axe.js +0 -13
- package/lighthouse-core/lib/cdt/Platform.js +0 -55
- package/lighthouse-core/lib/cdt/SDK.js +0 -28
- package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
- package/lighthouse-core/lib/csp-evaluator.js +0 -173
- package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
- package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
- package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
- package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
- package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
- package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
- package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
- package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
- package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
- package/lighthouse-core/lib/deprecations-strings.js +0 -573
- package/lighthouse-core/lib/emulation.js +0 -164
- package/lighthouse-core/lib/i18n/README.md +0 -273
- package/lighthouse-core/lib/i18n/i18n.js +0 -221
- package/lighthouse-core/lib/icons.js +0 -85
- package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
- package/lighthouse-core/lib/lh-env.js +0 -14
- package/lighthouse-core/lib/lh-error.js +0 -421
- package/lighthouse-core/lib/lh-trace-processor.js +0 -46
- package/lighthouse-core/lib/manifest-parser.js +0 -513
- package/lighthouse-core/lib/median-run.js +0 -92
- package/lighthouse-core/lib/minification-estimator.js +0 -193
- package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
- package/lighthouse-core/lib/minify-trace.js +0 -173
- package/lighthouse-core/lib/navigation-error.js +0 -145
- package/lighthouse-core/lib/network-recorder.js +0 -337
- package/lighthouse-core/lib/network-request.js +0 -545
- package/lighthouse-core/lib/page-functions.js +0 -559
- package/lighthouse-core/lib/proto-preprocessor.js +0 -133
- package/lighthouse-core/lib/rect-helpers.js +0 -252
- package/lighthouse-core/lib/script-helpers.js +0 -24
- package/lighthouse-core/lib/sentry.js +0 -144
- package/lighthouse-core/lib/stack-packs.js +0 -120
- package/lighthouse-core/lib/statistics.js +0 -104
- package/lighthouse-core/lib/tappable-rects.js +0 -99
- package/lighthouse-core/lib/third-party-web.js +0 -53
- package/lighthouse-core/lib/timing-trace-saver.js +0 -97
- package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
- package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
- package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
- package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
- package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
- package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
- package/lighthouse-core/lib/url-shim.js +0 -274
- package/lighthouse-core/runner.js +0 -518
- package/lighthouse-core/scoring.js +0 -93
- package/lighthouse-core/scripts/download-chrome.sh +0 -36
- package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
- package/lighthouse-core/scripts/package.json +0 -4
- package/lighthouse-core/util-commonjs.js +0 -708
- package/now.json +0 -14
- package/report/.eslintrc.cjs +0 -35
- package/report/generator/package.json +0 -4
- package/report/package.json +0 -4
- package/report/renderer/i18n.js +0 -198
- package/report/renderer/util.js +0 -705
- package/report/test/generator/package.json +0 -4
- package/report/test/renderer/i18n-test.js +0 -140
- package/report/test/renderer/util-test.js +0 -479
- package/report/test-assets/faux-psi-template.html +0 -177
- package/report/test-assets/faux-psi.js +0 -153
- package/third-party/snyk/snapshot.json +0 -182
- package/types/cssstyle/index.d.ts +0 -23
- package/types/global-lh.d.ts +0 -81
- package/types/jest.d.ts +0 -25
- package/types/jsonld/index.d.ts +0 -19
- package/types/lhr/flow.d.ts +0 -32
- package/types/lighthouse-logger/index.d.ts +0 -33
- package/types/lookup-closest-locale/index.d.ts +0 -11
- package/types/node.d.ts +0 -12
- package/types/query-selector.d.ts +0 -36
- package/types/smokehouse.d.ts +0 -80
- package/types/structured-data.d.ts +0 -36
|
@@ -1,2071 +1,2620 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"message": "
|
|
4
|
-
},
|
|
5
|
-
"flow-report/src/i18n/ui-strings.js | categories": {
|
|
6
|
-
"message": "Danh mục"
|
|
7
|
-
},
|
|
8
|
-
"flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
|
|
9
|
-
"message": "Hỗ trợ tiếp cận"
|
|
10
|
-
},
|
|
11
|
-
"flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
|
|
12
|
-
"message": "Phương pháp hay nhất"
|
|
13
|
-
},
|
|
14
|
-
"flow-report/src/i18n/ui-strings.js | categoryPerformance": {
|
|
15
|
-
"message": "Hiệu suất"
|
|
16
|
-
},
|
|
17
|
-
"flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
|
|
18
|
-
"message": "Ứng dụng web tiến bộ"
|
|
19
|
-
},
|
|
20
|
-
"flow-report/src/i18n/ui-strings.js | categorySeo": {
|
|
21
|
-
"message": "SEO"
|
|
22
|
-
},
|
|
23
|
-
"flow-report/src/i18n/ui-strings.js | desktop": {
|
|
24
|
-
"message": "Máy tính"
|
|
25
|
-
},
|
|
26
|
-
"flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
|
|
27
|
-
"message": "Tìm hiểu về Báo cáo luồng Lighthouse"
|
|
28
|
-
},
|
|
29
|
-
"flow-report/src/i18n/ui-strings.js | helpLabel": {
|
|
30
|
-
"message": "Tìm hiểu về Luồng"
|
|
31
|
-
},
|
|
32
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
|
|
33
|
-
"message": "Sử dụng chế độ Báo cáo di chuyển để…"
|
|
34
|
-
},
|
|
35
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
|
|
36
|
-
"message": "Sử dụng chế độ Báo cáo ảnh chụp nhanh để..."
|
|
37
|
-
},
|
|
38
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
|
|
39
|
-
"message": "Sử dụng chế độ Báo cáo khoảng thời gian để..."
|
|
40
|
-
},
|
|
41
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
|
|
42
|
-
"message": "Đạt được điểm Hiệu suất Lighthouse."
|
|
43
|
-
},
|
|
44
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
|
|
45
|
-
"message": "Đo lường các chỉ số về Hiệu suất tải trang, chẳng hạn như Thời gian hiển thị nội dung lớn nhất và Chỉ số tốc độ."
|
|
46
|
-
},
|
|
47
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
|
|
48
|
-
"message": "Đánh giá các chức năng của Ứng dụng web tiến bộ."
|
|
49
|
-
},
|
|
50
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
|
|
51
|
-
"message": "Tìm các vấn đề về khả năng hỗ trợ tiếp cận trong các ứng dụng trang đơn hoặc các biểu mẫu phức tạp."
|
|
52
|
-
},
|
|
53
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
|
|
54
|
-
"message": "Đánh giá các phương pháp hay nhất về trình đơn và các thành phần trên giao diện người dùng ẩn phía sau sự tương tác."
|
|
55
|
-
},
|
|
56
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
|
|
57
|
-
"message": "Đo lường mức thay đổi bố cục và thời gian thực thi JavaScript trên một chuỗi các tương tác."
|
|
58
|
-
},
|
|
59
|
-
"flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
|
|
60
|
-
"message": "Khám phá các cơ hội về hiệu suất để cải thiện trải nghiệm cho những trang tồn tại lâu dài và các ứng dụng trang đơn."
|
|
61
|
-
},
|
|
62
|
-
"flow-report/src/i18n/ui-strings.js | highestImpact": {
|
|
63
|
-
"message": "Tác động lớn nhất"
|
|
64
|
-
},
|
|
65
|
-
"flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
|
|
66
|
-
"message": "{numInformative,plural, =1{{numInformative} kiểm tra giàu thông tin}other{{numInformative} kiểm tra giàu thông tin}}"
|
|
67
|
-
},
|
|
68
|
-
"flow-report/src/i18n/ui-strings.js | mobile": {
|
|
69
|
-
"message": "Di động"
|
|
70
|
-
},
|
|
71
|
-
"flow-report/src/i18n/ui-strings.js | navigationDescription": {
|
|
72
|
-
"message": "Tải trang"
|
|
73
|
-
},
|
|
74
|
-
"flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
|
|
75
|
-
"message": "Báo cáo di chuyển phân tích một lượt tải trang, giống hệt như các báo cáo Lighthouse gốc."
|
|
76
|
-
},
|
|
77
|
-
"flow-report/src/i18n/ui-strings.js | navigationReport": {
|
|
78
|
-
"message": "Báo cáo di chuyển trên trang"
|
|
79
|
-
},
|
|
80
|
-
"flow-report/src/i18n/ui-strings.js | navigationReportCount": {
|
|
81
|
-
"message": "{numNavigation,plural, =1{{numNavigation} báo cáo di chuyển trên trang}other{{numNavigation} báo cáo di chuyển trên trang}}"
|
|
82
|
-
},
|
|
83
|
-
"flow-report/src/i18n/ui-strings.js | passableAuditCount": {
|
|
84
|
-
"message": "{numPassableAudits,plural, =1{{numPassableAudits} kiểm tra đạt đủ điều kiện}other{{numPassableAudits} kiểm tra đạt đủ điều kiện}}"
|
|
85
|
-
},
|
|
86
|
-
"flow-report/src/i18n/ui-strings.js | passedAuditCount": {
|
|
87
|
-
"message": "{numPassed,plural, =1{{numPassed} kiểm tra đã đạt}other{{numPassed} kiểm tra đã đạt}}"
|
|
88
|
-
},
|
|
89
|
-
"flow-report/src/i18n/ui-strings.js | ratingAverage": {
|
|
90
|
-
"message": "Trung bình"
|
|
91
|
-
},
|
|
92
|
-
"flow-report/src/i18n/ui-strings.js | ratingError": {
|
|
93
|
-
"message": "Lỗi"
|
|
94
|
-
},
|
|
95
|
-
"flow-report/src/i18n/ui-strings.js | ratingFail": {
|
|
96
|
-
"message": "Kém"
|
|
97
|
-
},
|
|
98
|
-
"flow-report/src/i18n/ui-strings.js | ratingPass": {
|
|
99
|
-
"message": "Tốt"
|
|
100
|
-
},
|
|
101
|
-
"flow-report/src/i18n/ui-strings.js | save": {
|
|
102
|
-
"message": "Lưu"
|
|
103
|
-
},
|
|
104
|
-
"flow-report/src/i18n/ui-strings.js | snapshotDescription": {
|
|
105
|
-
"message": "Trạng thái đã chụp của trang"
|
|
106
|
-
},
|
|
107
|
-
"flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
|
|
108
|
-
"message": "Báo cáo ảnh chụp nhanh phân tích trang ở một trạng thái cụ thể, thường là sau khi người dùng tương tác."
|
|
109
|
-
},
|
|
110
|
-
"flow-report/src/i18n/ui-strings.js | snapshotReport": {
|
|
111
|
-
"message": "Báo cáo tổng quan"
|
|
112
|
-
},
|
|
113
|
-
"flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
|
|
114
|
-
"message": "{numSnapshot,plural, =1{{numSnapshot} báo cáo ảnh chụp nhanh}other{{numSnapshot} báo cáo ảnh chụp nhanh}}"
|
|
115
|
-
},
|
|
116
|
-
"flow-report/src/i18n/ui-strings.js | summary": {
|
|
117
|
-
"message": "Tóm tắt"
|
|
118
|
-
},
|
|
119
|
-
"flow-report/src/i18n/ui-strings.js | timespanDescription": {
|
|
120
|
-
"message": "Sự tương tác của người dùng"
|
|
121
|
-
},
|
|
122
|
-
"flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
|
|
123
|
-
"message": "Báo cáo khoảng thời gian phân tích một khoảng thời gian bất kỳ, thường chứa các tương tác của người dùng."
|
|
124
|
-
},
|
|
125
|
-
"flow-report/src/i18n/ui-strings.js | timespanReport": {
|
|
126
|
-
"message": "Báo cáo khoảng thời gian"
|
|
127
|
-
},
|
|
128
|
-
"flow-report/src/i18n/ui-strings.js | timespanReportCount": {
|
|
129
|
-
"message": "{numTimespan,plural, =1{{numTimespan} báo cáo khoảng thời gian}other{{numTimespan} báo cáo khoảng thời gian}}"
|
|
130
|
-
},
|
|
131
|
-
"flow-report/src/i18n/ui-strings.js | title": {
|
|
132
|
-
"message": "Báo cáo luồng người dùng Lighthouse"
|
|
133
|
-
},
|
|
134
|
-
"lighthouse-core/audits/accessibility/accesskeys.js | description": {
|
|
135
|
-
"message": "Các phím truy cập cho phép người dùng chuyển nhanh đến một phần của trang. Để di chuyển đúng cách, mỗi phím truy cập phải là duy nhất. [Tìm hiểu thêm](https://web.dev/accesskeys/)."
|
|
2
|
+
"core/audits/accessibility/accesskeys.js | description": {
|
|
3
|
+
"message": "Các khoá truy cập cho phép người dùng chuyển nhanh đến một phần của trang. Để điều hướng đúng cách, mỗi khoá truy cập phải là duy nhất. [Tìm hiểu thêm về khoá truy cập](https://dequeuniversity.com/rules/axe/4.6/accesskeys)."
|
|
136
4
|
},
|
|
137
|
-
"
|
|
5
|
+
"core/audits/accessibility/accesskeys.js | failureTitle": {
|
|
138
6
|
"message": "Các giá trị của `[accesskey]` không phải là duy nhất"
|
|
139
7
|
},
|
|
140
|
-
"
|
|
8
|
+
"core/audits/accessibility/accesskeys.js | title": {
|
|
141
9
|
"message": "Các giá trị của `[accesskey]` là duy nhất"
|
|
142
10
|
},
|
|
143
|
-
"
|
|
144
|
-
"message": "Mỗi `role` của Ứng dụng Internet phong phú dễ dùng (ARIA) hỗ trợ một tập hợp con cụ thể các thuộc tính `aria-*`. Nếu không trùng khớp, các thuộc tính `aria-*` sẽ bị vô hiệu. [Tìm hiểu
|
|
11
|
+
"core/audits/accessibility/aria-allowed-attr.js | description": {
|
|
12
|
+
"message": "Mỗi `role` của Ứng dụng Internet phong phú dễ dùng (ARIA) hỗ trợ một tập hợp con cụ thể các thuộc tính `aria-*`. Nếu không trùng khớp, các thuộc tính `aria-*` sẽ bị vô hiệu. [Tìm hiểu cách khớp các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) với vai trò của những thuộc tính này](https://dequeuniversity.com/rules/axe/4.6/aria-allowed-attr)."
|
|
145
13
|
},
|
|
146
|
-
"
|
|
14
|
+
"core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
|
|
147
15
|
"message": "Các thuộc tính `[aria-*]` không khớp với vai trò tương ứng"
|
|
148
16
|
},
|
|
149
|
-
"
|
|
17
|
+
"core/audits/accessibility/aria-allowed-attr.js | title": {
|
|
150
18
|
"message": "Các thuộc tính `[aria-*]` khớp với vai trò tương ứng"
|
|
151
19
|
},
|
|
152
|
-
"
|
|
153
|
-
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu
|
|
20
|
+
"core/audits/accessibility/aria-command-name.js | description": {
|
|
21
|
+
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách giúp các phần tử lệnh dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.6/aria-command-name)."
|
|
154
22
|
},
|
|
155
|
-
"
|
|
23
|
+
"core/audits/accessibility/aria-command-name.js | failureTitle": {
|
|
156
24
|
"message": "Các phần tử `button`, `link` và `menuitem` không có tên dễ đọc."
|
|
157
25
|
},
|
|
158
|
-
"
|
|
26
|
+
"core/audits/accessibility/aria-command-name.js | title": {
|
|
159
27
|
"message": "Các phần tử `button`, `link` và `menuitem` có tên dễ đọc"
|
|
160
28
|
},
|
|
161
|
-
"
|
|
162
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sẽ hoạt động không nhất quán khi đặt `aria-hidden=\"true\"` trên tài liệu `<body>`. [Tìm hiểu
|
|
29
|
+
"core/audits/accessibility/aria-hidden-body.js | description": {
|
|
30
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sẽ hoạt động không nhất quán khi đặt `aria-hidden=\"true\"` trên tài liệu `<body>`. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với phần nội dung của tài liệu](https://dequeuniversity.com/rules/axe/4.6/aria-hidden-body)."
|
|
163
31
|
},
|
|
164
|
-
"
|
|
32
|
+
"core/audits/accessibility/aria-hidden-body.js | failureTitle": {
|
|
165
33
|
"message": "Hiện có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
|
|
166
34
|
},
|
|
167
|
-
"
|
|
35
|
+
"core/audits/accessibility/aria-hidden-body.js | title": {
|
|
168
36
|
"message": "Hiện không có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
|
|
169
37
|
},
|
|
170
|
-
"
|
|
171
|
-
"message": "Các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm bên trong một phần tử `[aria-hidden=\"true\"]` sẽ giúp ngăn người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, tiếp cận với các phần tử tương tác đó. [Tìm hiểu
|
|
38
|
+
"core/audits/accessibility/aria-hidden-focus.js | description": {
|
|
39
|
+
"message": "Các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm bên trong một phần tử `[aria-hidden=\"true\"]` sẽ giúp ngăn người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, tiếp cận với các phần tử tương tác đó. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với các phần tử có thể lấy tiêu điểm](https://dequeuniversity.com/rules/axe/4.6/aria-hidden-focus)."
|
|
172
40
|
},
|
|
173
|
-
"
|
|
41
|
+
"core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
|
|
174
42
|
"message": "Các phần tử `[aria-hidden=\"true\"]` có chứa các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm"
|
|
175
43
|
},
|
|
176
|
-
"
|
|
44
|
+
"core/audits/accessibility/aria-hidden-focus.js | title": {
|
|
177
45
|
"message": "Các phần tử `[aria-hidden=\"true\"]` không chứa các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm"
|
|
178
46
|
},
|
|
179
|
-
"
|
|
180
|
-
"message": "Khi
|
|
47
|
+
"core/audits/accessibility/aria-input-field-name.js | description": {
|
|
48
|
+
"message": "Khi một trường nhập dữ liệu không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về nhãn của trường nhập dữ liệu](https://dequeuniversity.com/rules/axe/4.6/aria-input-field-name)."
|
|
181
49
|
},
|
|
182
|
-
"
|
|
50
|
+
"core/audits/accessibility/aria-input-field-name.js | failureTitle": {
|
|
183
51
|
"message": "Tên các trường nhập của ARIA ở trạng thái không thể tiếp cận"
|
|
184
52
|
},
|
|
185
|
-
"
|
|
53
|
+
"core/audits/accessibility/aria-input-field-name.js | title": {
|
|
186
54
|
"message": "Tên các trường nhập của ARIA ở trạng thái có thể tiếp cận"
|
|
187
55
|
},
|
|
188
|
-
"
|
|
189
|
-
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu
|
|
56
|
+
"core/audits/accessibility/aria-meter-name.js | description": {
|
|
57
|
+
"message": "Khi một phần tử thước đo không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `meter`](https://dequeuniversity.com/rules/axe/4.6/aria-meter-name)."
|
|
190
58
|
},
|
|
191
|
-
"
|
|
59
|
+
"core/audits/accessibility/aria-meter-name.js | failureTitle": {
|
|
192
60
|
"message": "Các phần tử `meter` của ARIA không có tên dễ đọc."
|
|
193
61
|
},
|
|
194
|
-
"
|
|
62
|
+
"core/audits/accessibility/aria-meter-name.js | title": {
|
|
195
63
|
"message": "Các phần tử `meter` của ARIA có tên dễ đọc"
|
|
196
64
|
},
|
|
197
|
-
"
|
|
198
|
-
"message": "Khi một phần tử `progressbar` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu
|
|
65
|
+
"core/audits/accessibility/aria-progressbar-name.js | description": {
|
|
66
|
+
"message": "Khi một phần tử `progressbar` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách gắn nhãn phần tử `progressbar`](https://dequeuniversity.com/rules/axe/4.6/aria-progressbar-name)."
|
|
199
67
|
},
|
|
200
|
-
"
|
|
68
|
+
"core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
|
|
201
69
|
"message": "Các phần tử `progressbar` của ARIA không có tên dễ đọc."
|
|
202
70
|
},
|
|
203
|
-
"
|
|
71
|
+
"core/audits/accessibility/aria-progressbar-name.js | title": {
|
|
204
72
|
"message": "Các phần tử `progressbar` của ARIA có tên dễ đọc"
|
|
205
73
|
},
|
|
206
|
-
"
|
|
207
|
-
"message": "Một số vai trò ARIA có các thuộc tính bắt buộc mô tả trạng thái của phần tử cho trình đọc màn hình. [Tìm hiểu thêm](https://
|
|
74
|
+
"core/audits/accessibility/aria-required-attr.js | description": {
|
|
75
|
+
"message": "Một số vai trò ARIA có các thuộc tính bắt buộc mô tả trạng thái của phần tử cho trình đọc màn hình. [Tìm hiểu thêm về các vai trò và thuộc tính bắt buộc](https://dequeuniversity.com/rules/axe/4.6/aria-required-attr)."
|
|
208
76
|
},
|
|
209
|
-
"
|
|
77
|
+
"core/audits/accessibility/aria-required-attr.js | failureTitle": {
|
|
210
78
|
"message": "`[role]` không có tất cả các thuộc tính `[aria-*]` bắt buộc"
|
|
211
79
|
},
|
|
212
|
-
"
|
|
80
|
+
"core/audits/accessibility/aria-required-attr.js | title": {
|
|
213
81
|
"message": "`[role]` có tất cả các thuộc tính `[aria-*]` bắt buộc"
|
|
214
82
|
},
|
|
215
|
-
"
|
|
216
|
-
"message": "Một số vai trò mẹ của Ứng dụng Internet phong phú dễ dùng (ARIA) phải chứa vai trò con cụ thể để thực hiện các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm](https://
|
|
83
|
+
"core/audits/accessibility/aria-required-children.js | description": {
|
|
84
|
+
"message": "Một số vai trò mẹ của Ứng dụng Internet phong phú dễ dùng (ARIA) phải chứa vai trò con cụ thể để thực hiện các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò và phần tử con bắt buộc](https://dequeuniversity.com/rules/axe/4.6/aria-required-children)."
|
|
217
85
|
},
|
|
218
|
-
"
|
|
86
|
+
"core/audits/accessibility/aria-required-children.js | failureTitle": {
|
|
219
87
|
"message": "Các phần tử có `[role]` ARIA yêu cầu phần tử con phải chứa một `[role]` cụ thể hiện đang thiếu một số hoặc tất cả các phần tử con bắt buộc đó."
|
|
220
88
|
},
|
|
221
|
-
"
|
|
89
|
+
"core/audits/accessibility/aria-required-children.js | title": {
|
|
222
90
|
"message": "Các phần tử có `[role]` ARIA yêu cầu phần tử con phải chứa một `[role]` cụ thể có tất cả các phần tử con bắt buộc."
|
|
223
91
|
},
|
|
224
|
-
"
|
|
225
|
-
"message": "Các vai trò mẹ cụ thể phải chứa một số vai trò con của Ứng dụng Internet phong phú dễ dùng (ARIA) để thực hiện đúng cách các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm](https://
|
|
92
|
+
"core/audits/accessibility/aria-required-parent.js | description": {
|
|
93
|
+
"message": "Các vai trò mẹ cụ thể phải chứa một số vai trò con của Ứng dụng Internet phong phú dễ dùng (ARIA) để thực hiện đúng cách các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) và phần tử mẹ bắt buộc](https://dequeuniversity.com/rules/axe/4.6/aria-required-parent)."
|
|
226
94
|
},
|
|
227
|
-
"
|
|
95
|
+
"core/audits/accessibility/aria-required-parent.js | failureTitle": {
|
|
228
96
|
"message": "`[role]` không có trong phần tử mẹ bắt buộc tương ứng"
|
|
229
97
|
},
|
|
230
|
-
"
|
|
98
|
+
"core/audits/accessibility/aria-required-parent.js | title": {
|
|
231
99
|
"message": "`[role]` có trong phần tử mẹ bắt buộc tương ứng"
|
|
232
100
|
},
|
|
233
|
-
"
|
|
234
|
-
"message": "Các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) phải có giá trị hợp lệ để thực hiện những chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm](https://
|
|
101
|
+
"core/audits/accessibility/aria-roles.js | description": {
|
|
102
|
+
"message": "Các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) phải có giá trị hợp lệ để thực hiện những chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.6/aria-roles)."
|
|
235
103
|
},
|
|
236
|
-
"
|
|
104
|
+
"core/audits/accessibility/aria-roles.js | failureTitle": {
|
|
237
105
|
"message": "Các giá trị của `[role]` là không hợp lệ"
|
|
238
106
|
},
|
|
239
|
-
"
|
|
107
|
+
"core/audits/accessibility/aria-roles.js | title": {
|
|
240
108
|
"message": "Các giá trị của `[role]` là hợp lệ"
|
|
241
109
|
},
|
|
242
|
-
"
|
|
243
|
-
"message": "Khi
|
|
110
|
+
"core/audits/accessibility/aria-toggle-field-name.js | description": {
|
|
111
|
+
"message": "Khi một trường chuyển đổi không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về trường chuyển đổi](https://dequeuniversity.com/rules/axe/4.6/aria-toggle-field-name)."
|
|
244
112
|
},
|
|
245
|
-
"
|
|
113
|
+
"core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
|
|
246
114
|
"message": "Tên các trường chuyển đổi của ARIA ở trạng thái không thể tiếp cận"
|
|
247
115
|
},
|
|
248
|
-
"
|
|
116
|
+
"core/audits/accessibility/aria-toggle-field-name.js | title": {
|
|
249
117
|
"message": "Tên các trường chuyển đổi của ARIA ở trạng thái có thể tiếp cận"
|
|
250
118
|
},
|
|
251
|
-
"
|
|
252
|
-
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu
|
|
119
|
+
"core/audits/accessibility/aria-tooltip-name.js | description": {
|
|
120
|
+
"message": "Khi một phần tử chú giải công cụ không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `tooltip`](https://dequeuniversity.com/rules/axe/4.6/aria-tooltip-name)."
|
|
253
121
|
},
|
|
254
|
-
"
|
|
122
|
+
"core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
|
|
255
123
|
"message": "Các phần tử `tooltip` của ARIA không có tên dễ đọc."
|
|
256
124
|
},
|
|
257
|
-
"
|
|
125
|
+
"core/audits/accessibility/aria-tooltip-name.js | title": {
|
|
258
126
|
"message": "Các phần tử `tooltip` của ARIA có tên dễ đọc"
|
|
259
127
|
},
|
|
260
|
-
"
|
|
261
|
-
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu thêm](https://
|
|
128
|
+
"core/audits/accessibility/aria-treeitem-name.js | description": {
|
|
129
|
+
"message": "Khi một phần tử `treeitem` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu thêm về cách gắn nhãn phần tử `treeitem`](https://dequeuniversity.com/rules/axe/4.6/aria-treeitem-name)."
|
|
262
130
|
},
|
|
263
|
-
"
|
|
131
|
+
"core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
|
|
264
132
|
"message": "Các phần tử `treeitem` của ARIA không có tên dễ đọc."
|
|
265
133
|
},
|
|
266
|
-
"
|
|
134
|
+
"core/audits/accessibility/aria-treeitem-name.js | title": {
|
|
267
135
|
"message": "Các phần tử `treeitem` của ARIA có tên dễ đọc"
|
|
268
136
|
},
|
|
269
|
-
"
|
|
270
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có giá trị không hợp lệ. [Tìm hiểu thêm](https://
|
|
137
|
+
"core/audits/accessibility/aria-valid-attr-value.js | description": {
|
|
138
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có giá trị không hợp lệ. [Tìm hiểu thêm về giá trị hợp lệ cho thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.6/aria-valid-attr-value)."
|
|
271
139
|
},
|
|
272
|
-
"
|
|
140
|
+
"core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
|
|
273
141
|
"message": "Giá trị của các thuộc tính `[aria-*]` là không hợp lệ"
|
|
274
142
|
},
|
|
275
|
-
"
|
|
143
|
+
"core/audits/accessibility/aria-valid-attr-value.js | title": {
|
|
276
144
|
"message": "Các thuộc tính `[aria-*]` có giá trị hợp lệ"
|
|
277
145
|
},
|
|
278
|
-
"
|
|
279
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có tên không hợp lệ. [Tìm hiểu thêm](https://
|
|
146
|
+
"core/audits/accessibility/aria-valid-attr.js | description": {
|
|
147
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có tên không hợp lệ. [Tìm hiểu thêm về các thuộc tính hợp lệ của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.6/aria-valid-attr)."
|
|
280
148
|
},
|
|
281
|
-
"
|
|
149
|
+
"core/audits/accessibility/aria-valid-attr.js | failureTitle": {
|
|
282
150
|
"message": "Các thuộc tính `[aria-*]` là không hợp lệ hoặc bị sai chính tả"
|
|
283
151
|
},
|
|
284
|
-
"
|
|
152
|
+
"core/audits/accessibility/aria-valid-attr.js | title": {
|
|
285
153
|
"message": "Các thuộc tính `[aria-*]` là hợp lệ và không bị sai chính tả"
|
|
286
154
|
},
|
|
287
|
-
"
|
|
155
|
+
"core/audits/accessibility/axe-audit.js | failingElementsHeader": {
|
|
288
156
|
"message": "Các phần tử không đạt"
|
|
289
157
|
},
|
|
290
|
-
"
|
|
291
|
-
"message": "Khi một nút không có tên
|
|
158
|
+
"core/audits/accessibility/button-name.js | description": {
|
|
159
|
+
"message": "Khi một nút không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ thông báo đó là \"nút\", khiến người dùng trình đọc màn hình không sử dụng được nút này. [Tìm hiểu cách giúp các nút dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.6/button-name)."
|
|
292
160
|
},
|
|
293
|
-
"
|
|
161
|
+
"core/audits/accessibility/button-name.js | failureTitle": {
|
|
294
162
|
"message": "Các nút không có tên có thể tiếp cận được"
|
|
295
163
|
},
|
|
296
|
-
"
|
|
164
|
+
"core/audits/accessibility/button-name.js | title": {
|
|
297
165
|
"message": "Các nút có tên tiếp cận được"
|
|
298
166
|
},
|
|
299
|
-
"
|
|
300
|
-
"message": "Bằng việc thêm các cách bỏ qua nội dung lặp lại, người dùng bàn phím có thể khám phá trang một cách hiệu quả hơn. [Tìm hiểu thêm](https://
|
|
167
|
+
"core/audits/accessibility/bypass.js | description": {
|
|
168
|
+
"message": "Bằng việc thêm các cách bỏ qua nội dung lặp lại, người dùng bàn phím có thể khám phá trang một cách hiệu quả hơn. [Tìm hiểu thêm về cách tránh bị chặn](https://dequeuniversity.com/rules/axe/4.6/bypass)."
|
|
301
169
|
},
|
|
302
|
-
"
|
|
170
|
+
"core/audits/accessibility/bypass.js | failureTitle": {
|
|
303
171
|
"message": "Trang này không chứa tiêu đề, đường liên kết bỏ qua hoặc vùng mốc"
|
|
304
172
|
},
|
|
305
|
-
"
|
|
173
|
+
"core/audits/accessibility/bypass.js | title": {
|
|
306
174
|
"message": "Trang này chứa tiêu đề, phần tử liên kết bỏ qua hoặc vùng mốc"
|
|
307
175
|
},
|
|
308
|
-
"
|
|
309
|
-
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. [Tìm hiểu
|
|
176
|
+
"core/audits/accessibility/color-contrast.js | description": {
|
|
177
|
+
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. [Tìm hiểu cách cung cấp độ tương phản màu vừa đủ](https://dequeuniversity.com/rules/axe/4.6/color-contrast)."
|
|
310
178
|
},
|
|
311
|
-
"
|
|
179
|
+
"core/audits/accessibility/color-contrast.js | failureTitle": {
|
|
312
180
|
"message": "Màu nền trước và nền sau không có đủ tỷ lệ tương phản."
|
|
313
181
|
},
|
|
314
|
-
"
|
|
182
|
+
"core/audits/accessibility/color-contrast.js | title": {
|
|
315
183
|
"message": "Màu nền trước và nền sau có đủ tỷ lệ tương phản"
|
|
316
184
|
},
|
|
317
|
-
"
|
|
318
|
-
"message": "Khi danh sách định nghĩa không được đánh dấu đúng cách, thì trình đọc màn hình có thể tạo ra thông báo gây nhầm lẫn hoặc không chính xác. [Tìm hiểu
|
|
185
|
+
"core/audits/accessibility/definition-list.js | description": {
|
|
186
|
+
"message": "Khi danh sách định nghĩa không được đánh dấu đúng cách, thì trình đọc màn hình có thể tạo ra thông báo gây nhầm lẫn hoặc không chính xác. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.6/definition-list)."
|
|
319
187
|
},
|
|
320
|
-
"
|
|
188
|
+
"core/audits/accessibility/definition-list.js | failureTitle": {
|
|
321
189
|
"message": "`<dl>` không chỉ chứa các nhóm `<dt>` và `<dd>` được sắp xếp đúng cách, các phần tử `<script>`, `<template>` hoặc `<div>`."
|
|
322
190
|
},
|
|
323
|
-
"
|
|
191
|
+
"core/audits/accessibility/definition-list.js | title": {
|
|
324
192
|
"message": "`<dl>` chỉ chứa các nhóm `<dt>` và `<dd>` được sắp xếp đúng cách, các phần tử `<script>`, `<template>` hoặc `<div>`."
|
|
325
193
|
},
|
|
326
|
-
"
|
|
327
|
-
"message": "Các mục trong danh sách định nghĩa (`<dt>` và `<dd>`) phải được đưa vào một phần tử `<dl>` mẹ để đảm bảo rằng trình đọc màn hình có thể thông báo đúng cách các mục này. [Tìm hiểu
|
|
194
|
+
"core/audits/accessibility/dlitem.js | description": {
|
|
195
|
+
"message": "Các mục trong danh sách định nghĩa (`<dt>` và `<dd>`) phải được đưa vào một phần tử `<dl>` mẹ để đảm bảo rằng trình đọc màn hình có thể thông báo đúng cách các mục này. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.6/dlitem)."
|
|
328
196
|
},
|
|
329
|
-
"
|
|
197
|
+
"core/audits/accessibility/dlitem.js | failureTitle": {
|
|
330
198
|
"message": "Các phần tử `<dl>` không bao gồm những mục trong danh sách định nghĩa"
|
|
331
199
|
},
|
|
332
|
-
"
|
|
200
|
+
"core/audits/accessibility/dlitem.js | title": {
|
|
333
201
|
"message": "Các phần tử `<dl>` chứa mục trong danh sách định nghĩa"
|
|
334
202
|
},
|
|
335
|
-
"
|
|
336
|
-
"message": "Tiêu đề giúp người dùng trình đọc màn hình nắm được thông tin tổng quan về trang
|
|
203
|
+
"core/audits/accessibility/document-title.js | description": {
|
|
204
|
+
"message": "Tiêu đề giúp người dùng trình đọc màn hình nắm được thông tin tổng quan về trang và giúp người dùng công cụ tìm kiếm chủ yếu dựa vào tiêu đề này xác định xem một trang có liên quan đến nội dung tìm kiếm của họ hay không. [Tìm hiểu thêm về tiêu đề tài liệu](https://dequeuniversity.com/rules/axe/4.6/document-title)."
|
|
337
205
|
},
|
|
338
|
-
"
|
|
206
|
+
"core/audits/accessibility/document-title.js | failureTitle": {
|
|
339
207
|
"message": "Tài liệu không có phần tử `<title>`"
|
|
340
208
|
},
|
|
341
|
-
"
|
|
209
|
+
"core/audits/accessibility/document-title.js | title": {
|
|
342
210
|
"message": "Tài liệu có phần tử `<title>`"
|
|
343
211
|
},
|
|
344
|
-
"
|
|
345
|
-
"message": "Để có thể hiển thị với các công nghệ hỗ trợ, `id` của các phần tử có thể lấy tiêu điểm không được trùng nhau. [Tìm hiểu
|
|
212
|
+
"core/audits/accessibility/duplicate-id-active.js | description": {
|
|
213
|
+
"message": "Để có thể hiển thị với các công nghệ hỗ trợ, `id` của các phần tử có thể lấy tiêu điểm không được trùng nhau. [Tìm hiểu cách khắc phục các `id` trùng lặp](https://dequeuniversity.com/rules/axe/4.6/duplicate-id-active)."
|
|
346
214
|
},
|
|
347
|
-
"
|
|
215
|
+
"core/audits/accessibility/duplicate-id-active.js | failureTitle": {
|
|
348
216
|
"message": "Các thuộc tính `[id]` trên những phần tử có thể lấy tiêu điểm đang hoạt động bị trùng nhau"
|
|
349
217
|
},
|
|
350
|
-
"
|
|
218
|
+
"core/audits/accessibility/duplicate-id-active.js | title": {
|
|
351
219
|
"message": "Các thuộc tính `[id]` trên những phần tử có thể lấy tiêu điểm đang hoạt động là duy nhất"
|
|
352
220
|
},
|
|
353
|
-
"
|
|
354
|
-
"message": "Để các công nghệ hỗ trợ không bỏ qua các phiên bản khác, giá trị mã nhận dạng của ARIA không được trùng nhau. [Tìm hiểu
|
|
221
|
+
"core/audits/accessibility/duplicate-id-aria.js | description": {
|
|
222
|
+
"message": "Để các công nghệ hỗ trợ không bỏ qua các phiên bản khác, giá trị mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) không được trùng nhau. [Tìm hiểu cách khắc phục mã nhận dạng trùng lặp của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.6/duplicate-id-aria)."
|
|
355
223
|
},
|
|
356
|
-
"
|
|
224
|
+
"core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
|
|
357
225
|
"message": "Mã nhận dạng của ARIA bị trùng lặp"
|
|
358
226
|
},
|
|
359
|
-
"
|
|
227
|
+
"core/audits/accessibility/duplicate-id-aria.js | title": {
|
|
360
228
|
"message": "Mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) là duy nhất"
|
|
361
229
|
},
|
|
362
|
-
"
|
|
363
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sử dụng nhãn đầu tiên, nhãn cuối cùng hoặc tất cả các nhãn có thể thông báo nhầm các trường biểu mẫu có nhiều nhãn. [Tìm hiểu
|
|
230
|
+
"core/audits/accessibility/form-field-multiple-labels.js | description": {
|
|
231
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sử dụng nhãn đầu tiên, nhãn cuối cùng hoặc tất cả các nhãn có thể thông báo nhầm các trường biểu mẫu có nhiều nhãn. [Tìm hiểu cách sử dụng nhãn của biểu mẫu](https://dequeuniversity.com/rules/axe/4.6/form-field-multiple-labels)."
|
|
364
232
|
},
|
|
365
|
-
"
|
|
233
|
+
"core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
|
|
366
234
|
"message": "Các trường biểu mẫu có nhiều nhãn"
|
|
367
235
|
},
|
|
368
|
-
"
|
|
236
|
+
"core/audits/accessibility/form-field-multiple-labels.js | title": {
|
|
369
237
|
"message": "Không có trường biểu mẫu nào có nhiều nhãn"
|
|
370
238
|
},
|
|
371
|
-
"
|
|
372
|
-
"message": "Người dùng trình đọc màn hình dựa vào tiêu đề khung để mô tả nội dung của khung. [Tìm hiểu thêm](https://
|
|
239
|
+
"core/audits/accessibility/frame-title.js | description": {
|
|
240
|
+
"message": "Người dùng trình đọc màn hình dựa vào tiêu đề khung để mô tả nội dung của khung. [Tìm hiểu thêm về tiêu đề khung](https://dequeuniversity.com/rules/axe/4.6/frame-title)."
|
|
373
241
|
},
|
|
374
|
-
"
|
|
242
|
+
"core/audits/accessibility/frame-title.js | failureTitle": {
|
|
375
243
|
"message": "Phần tử `<frame>` hoặc `<iframe>` không có tiêu đề"
|
|
376
244
|
},
|
|
377
|
-
"
|
|
245
|
+
"core/audits/accessibility/frame-title.js | title": {
|
|
378
246
|
"message": "Các phần tử `<frame>` hoặc `<iframe>` có tiêu đề"
|
|
379
247
|
},
|
|
380
|
-
"
|
|
381
|
-
"message": "Nhờ cách thức sắp xếp tiêu đề sao cho không bỏ qua các cấp độ thể hiện cấu trúc ngữ nghĩa của trang, người dùng dễ dàng hiểu được nội dung và thực hiện thao tác bằng công nghệ hỗ trợ hơn. [Tìm hiểu thêm](https://
|
|
248
|
+
"core/audits/accessibility/heading-order.js | description": {
|
|
249
|
+
"message": "Nhờ cách thức sắp xếp tiêu đề sao cho không bỏ qua các cấp độ thể hiện cấu trúc ngữ nghĩa của trang, người dùng dễ dàng hiểu được nội dung và thực hiện thao tác bằng công nghệ hỗ trợ hơn. [Tìm hiểu thêm về trình tự tiêu đề](https://dequeuniversity.com/rules/axe/4.6/heading-order)."
|
|
382
250
|
},
|
|
383
|
-
"
|
|
251
|
+
"core/audits/accessibility/heading-order.js | failureTitle": {
|
|
384
252
|
"message": "Các phần tử tiêu đề không tuân theo trình tự giảm dần"
|
|
385
253
|
},
|
|
386
|
-
"
|
|
254
|
+
"core/audits/accessibility/heading-order.js | title": {
|
|
387
255
|
"message": "Các phần tử tiêu đề xuất hiện theo trình tự giảm dần"
|
|
388
256
|
},
|
|
389
|
-
"
|
|
390
|
-
"message": "Nếu một trang chưa chỉ định thuộc tính
|
|
257
|
+
"core/audits/accessibility/html-has-lang.js | description": {
|
|
258
|
+
"message": "Nếu một trang chưa chỉ định thuộc tính `lang`, thì trình đọc màn hình sẽ xem như trang đó đang hiển thị bằng ngôn ngữ mặc định mà người dùng chọn khi thiết lập trình đọc màn hình. Nếu trên thực tế, trang đó không hiển thị bằng ngôn ngữ mặc định, thì trình đọc màn hình có thể không thông báo văn bản của trang đó một cách chính xác. [Tìm hiểu thêm về thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.6/html-has-lang)."
|
|
391
259
|
},
|
|
392
|
-
"
|
|
260
|
+
"core/audits/accessibility/html-has-lang.js | failureTitle": {
|
|
393
261
|
"message": "Phần tử `<html>` chưa có thuộc tính `[lang]`"
|
|
394
262
|
},
|
|
395
|
-
"
|
|
263
|
+
"core/audits/accessibility/html-has-lang.js | title": {
|
|
396
264
|
"message": "Phần tử `<html>` có thuộc tính `[lang]`"
|
|
397
265
|
},
|
|
398
|
-
"
|
|
399
|
-
"message": "Việc chỉ định [BCP 47
|
|
266
|
+
"core/audits/accessibility/html-lang-valid.js | description": {
|
|
267
|
+
"message": "Việc chỉ định [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ sẽ giúp trình đọc màn hình thông báo văn bản đúng cách. [Tìm hiểu cách sử dụng thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.6/html-lang-valid)."
|
|
400
268
|
},
|
|
401
|
-
"
|
|
269
|
+
"core/audits/accessibility/html-lang-valid.js | failureTitle": {
|
|
402
270
|
"message": "Thuộc tính `[lang]` của phần tử `<html>` không có giá trị hợp lệ."
|
|
403
271
|
},
|
|
404
|
-
"
|
|
272
|
+
"core/audits/accessibility/html-lang-valid.js | title": {
|
|
405
273
|
"message": "Thuộc tính `[lang]` của phần tử `<html>` có giá trị hợp lệ"
|
|
406
274
|
},
|
|
407
|
-
"
|
|
408
|
-
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Có thể bỏ qua phần tử trang trí bằng một thuộc tính alt trống. [Tìm hiểu thêm](https://
|
|
275
|
+
"core/audits/accessibility/image-alt.js | description": {
|
|
276
|
+
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Có thể bỏ qua phần tử trang trí bằng một thuộc tính alt trống. [Tìm hiểu thêm về thuộc tính `alt`](https://dequeuniversity.com/rules/axe/4.6/image-alt)."
|
|
409
277
|
},
|
|
410
|
-
"
|
|
278
|
+
"core/audits/accessibility/image-alt.js | failureTitle": {
|
|
411
279
|
"message": "Phần tử hình ảnh không có thuộc tính `[alt]`"
|
|
412
280
|
},
|
|
413
|
-
"
|
|
281
|
+
"core/audits/accessibility/image-alt.js | title": {
|
|
414
282
|
"message": "Các phần tử hình ảnh có thuộc tính `[alt]`"
|
|
415
283
|
},
|
|
416
|
-
"
|
|
417
|
-
"message": "Khi dùng một hình ảnh làm nút `<input>`, thì việc cung cấp văn bản thay thế có thể giúp người dùng trình đọc màn hình hiểu rõ mục đích của nút đó. [Tìm hiểu
|
|
284
|
+
"core/audits/accessibility/input-image-alt.js | description": {
|
|
285
|
+
"message": "Khi dùng một hình ảnh làm nút `<input>`, thì việc cung cấp văn bản thay thế có thể giúp người dùng trình đọc màn hình hiểu rõ mục đích của nút đó. [Tìm hiểu về văn bản thay thế hình ảnh đầu vào](https://dequeuniversity.com/rules/axe/4.6/input-image-alt)."
|
|
418
286
|
},
|
|
419
|
-
"
|
|
287
|
+
"core/audits/accessibility/input-image-alt.js | failureTitle": {
|
|
420
288
|
"message": "Các thành phần `<input type=\"image\">` không có văn bản `[alt]`"
|
|
421
289
|
},
|
|
422
|
-
"
|
|
290
|
+
"core/audits/accessibility/input-image-alt.js | title": {
|
|
423
291
|
"message": "Các thành phần `<input type=\"image\">` có văn bản `[alt]`"
|
|
424
292
|
},
|
|
425
|
-
"
|
|
426
|
-
"message": "Các nhãn đảm bảo rằng những công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, thông báo các biện pháp kiểm soát biểu mẫu đúng cách. [Tìm hiểu thêm](https://
|
|
293
|
+
"core/audits/accessibility/label.js | description": {
|
|
294
|
+
"message": "Các nhãn đảm bảo rằng những công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, thông báo các biện pháp kiểm soát biểu mẫu đúng cách. [Tìm hiểu thêm về nhãn phần tử biểu mẫu](https://dequeuniversity.com/rules/axe/4.6/label)."
|
|
427
295
|
},
|
|
428
|
-
"
|
|
296
|
+
"core/audits/accessibility/label.js | failureTitle": {
|
|
429
297
|
"message": "Các phần tử biểu mẫu không có nhãn liên kết"
|
|
430
298
|
},
|
|
431
|
-
"
|
|
299
|
+
"core/audits/accessibility/label.js | title": {
|
|
432
300
|
"message": "Các phần tử biểu mẫu có nhãn liên quan"
|
|
433
301
|
},
|
|
434
|
-
"
|
|
435
|
-
"message": "Văn bản liên kết (và văn bản thay thế cho hình ảnh, khi dùng làm
|
|
302
|
+
"core/audits/accessibility/link-name.js | description": {
|
|
303
|
+
"message": "Văn bản liên kết (và văn bản thay thế cho hình ảnh, khi dùng làm phần tử liên kết) có thể thấy rõ, là duy nhất và có thể lấy tiêu điểm sẽ cải thiện trải nghiệm khám phá cho người dùng trình đọc màn hình. [Tìm hiểu cách giúp các phần tử liên kết trở nên dễ tiếp cận](https://dequeuniversity.com/rules/axe/4.6/link-name)."
|
|
436
304
|
},
|
|
437
|
-
"
|
|
305
|
+
"core/audits/accessibility/link-name.js | failureTitle": {
|
|
438
306
|
"message": "Các phần tử liên kết không có tên có thể nhận rõ"
|
|
439
307
|
},
|
|
440
|
-
"
|
|
308
|
+
"core/audits/accessibility/link-name.js | title": {
|
|
441
309
|
"message": "Các phần tử liên kết có tên có thể nhận rõ"
|
|
442
310
|
},
|
|
443
|
-
"
|
|
444
|
-
"message": "Các trình đọc màn hình có cách riêng để thông báo
|
|
311
|
+
"core/audits/accessibility/list.js | description": {
|
|
312
|
+
"message": "Các trình đọc màn hình có các cách riêng để thông báo danh sách. Khi danh sách có cấu trúc phù hợp, trình đọc màn hình sẽ thông báo về danh sách chính xác hơn. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.6/list)."
|
|
445
313
|
},
|
|
446
|
-
"
|
|
314
|
+
"core/audits/accessibility/list.js | failureTitle": {
|
|
447
315
|
"message": "Danh sách không chỉ chứa các phần tử `<li>` và phần tử hỗ trợ tập lệnh (`<script>` và `<template>`)."
|
|
448
316
|
},
|
|
449
|
-
"
|
|
317
|
+
"core/audits/accessibility/list.js | title": {
|
|
450
318
|
"message": "Danh sách chỉ chứa các phần tử `<li>` và phần tử hỗ trợ tập lệnh (`<script>` và `<template>`)."
|
|
451
319
|
},
|
|
452
|
-
"
|
|
453
|
-
"message": "Trình đọc màn hình yêu cầu các mục danh sách (`<li>`) phải có trong một `<ul>` hoặc `<
|
|
320
|
+
"core/audits/accessibility/listitem.js | description": {
|
|
321
|
+
"message": "Trình đọc màn hình yêu cầu các mục danh sách (`<li>`) phải có trong một `<ul>` `<ol>` hoặc `<menu>` mẹ để được thông báo đúng cách. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.6/listitem)."
|
|
454
322
|
},
|
|
455
|
-
"
|
|
456
|
-
"message": "Các mục trong danh sách (`<li>`) không có trong phần tử `<ul>` hoặc `<
|
|
323
|
+
"core/audits/accessibility/listitem.js | failureTitle": {
|
|
324
|
+
"message": "Các mục trong danh sách (`<li>`) không có trong phần tử `<ul>` `<ol>` hoặc `<menu>` mẹ."
|
|
457
325
|
},
|
|
458
|
-
"
|
|
459
|
-
"message": "Các mục trong danh sách (`<li>`) có trong phần tử mẹ `<ul>` hoặc `<
|
|
326
|
+
"core/audits/accessibility/listitem.js | title": {
|
|
327
|
+
"message": "Các mục trong danh sách (`<li>`) có trong phần tử mẹ `<ul>`, `<ol>` hoặc `<menu>`"
|
|
460
328
|
},
|
|
461
|
-
"
|
|
462
|
-
"message": "Người dùng không muốn trang tự động làm mới
|
|
329
|
+
"core/audits/accessibility/meta-refresh.js | description": {
|
|
330
|
+
"message": "Người dùng không muốn một trang tự động làm mới và việc trang tự động làm mới sẽ chuyển tiêu điểm quay về đầu trang. Người dùng có thể cảm thấy khó chịu hoặc bị nhầm lẫn nếu gặp trường hợp này. [Tìm hiểu thêm về thẻ làm mới meta](https://dequeuniversity.com/rules/axe/4.6/meta-refresh)."
|
|
463
331
|
},
|
|
464
|
-
"
|
|
332
|
+
"core/audits/accessibility/meta-refresh.js | failureTitle": {
|
|
465
333
|
"message": "Tài liệu này sử dụng `<meta http-equiv=\"refresh\">`"
|
|
466
334
|
},
|
|
467
|
-
"
|
|
335
|
+
"core/audits/accessibility/meta-refresh.js | title": {
|
|
468
336
|
"message": "Tài liệu này không dùng `<meta http-equiv=\"refresh\">`"
|
|
469
337
|
},
|
|
470
|
-
"
|
|
471
|
-
"message": "Việc tắt tính năng thu phóng sẽ gây trở ngại cho những người dùng có thị lực kém bị lệ thuộc vào chức năng phóng to màn hình để thấy rõ nội dung trang web. [Tìm hiểu thêm](https://
|
|
338
|
+
"core/audits/accessibility/meta-viewport.js | description": {
|
|
339
|
+
"message": "Việc tắt tính năng thu phóng sẽ gây trở ngại cho những người dùng có thị lực kém bị lệ thuộc vào chức năng phóng to màn hình để thấy rõ nội dung trang web. [Tìm hiểu thêm về thẻ meta cửa sổ xem](https://dequeuniversity.com/rules/axe/4.6/meta-viewport)."
|
|
472
340
|
},
|
|
473
|
-
"
|
|
341
|
+
"core/audits/accessibility/meta-viewport.js | failureTitle": {
|
|
474
342
|
"message": "`[user-scalable=\"no\"]` được dùng trong phần tử `<meta name=\"viewport\">` hoặc thuộc tính `[maximum-scale]` nhỏ hơn 5."
|
|
475
343
|
},
|
|
476
|
-
"
|
|
344
|
+
"core/audits/accessibility/meta-viewport.js | title": {
|
|
477
345
|
"message": "`[user-scalable=\"no\"]` không được sử dụng trong phần tử `<meta name=\"viewport\">` và thuộc tính `[maximum-scale]` không nhỏ hơn 5."
|
|
478
346
|
},
|
|
479
|
-
"
|
|
480
|
-
"message": "Trình đọc màn hình không dịch được nội dung không ở dạng văn bản. Bằng việc thêm văn bản thay thế vào các
|
|
347
|
+
"core/audits/accessibility/object-alt.js | description": {
|
|
348
|
+
"message": "Trình đọc màn hình không dịch được nội dung không ở dạng văn bản. Bằng việc thêm văn bản thay thế vào các phần tử `<object>`, bạn có thể giúp trình đọc màn hình truyền đạt ý nghĩa cho người dùng. [Tìm hiểu thêm về văn bản thay thế cho `object` phần tử](https://dequeuniversity.com/rules/axe/4.6/object-alt)."
|
|
481
349
|
},
|
|
482
|
-
"
|
|
350
|
+
"core/audits/accessibility/object-alt.js | failureTitle": {
|
|
483
351
|
"message": "Các thành phần `<object>` không có văn bản thay thế"
|
|
484
352
|
},
|
|
485
|
-
"
|
|
353
|
+
"core/audits/accessibility/object-alt.js | title": {
|
|
486
354
|
"message": "Các thành phần `<object>` có văn bản thay thế"
|
|
487
355
|
},
|
|
488
|
-
"
|
|
489
|
-
"message": "Giá trị lớn hơn 0 ngụ ý thứ tự
|
|
356
|
+
"core/audits/accessibility/tabindex.js | description": {
|
|
357
|
+
"message": "Giá trị lớn hơn 0 ngụ ý thứ tự điều hướng rõ ràng. Mặc dù hợp lệ về mặt kỹ thuật nhưng điều này thường tạo ra trải nghiệm khó chịu cho những người dùng bị lệ thuộc vào công nghệ hỗ trợ. [Tìm hiểu thêm về thuộc tính `tabindex`](https://dequeuniversity.com/rules/axe/4.6/tabindex)."
|
|
490
358
|
},
|
|
491
|
-
"
|
|
359
|
+
"core/audits/accessibility/tabindex.js | failureTitle": {
|
|
492
360
|
"message": "Một số phần tử có giá trị `[tabindex]` lớn hơn 0"
|
|
493
361
|
},
|
|
494
|
-
"
|
|
362
|
+
"core/audits/accessibility/tabindex.js | title": {
|
|
495
363
|
"message": "Không phần tử nào có giá trị `[tabindex]` lớn hơn 0"
|
|
496
364
|
},
|
|
497
|
-
"
|
|
498
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ sử dụng bảng hơn. Việc đảm bảo các ô `<td>` sử dụng thuộc tính `[headers]` chỉ tham chiếu các ô khác trong cùng bảng có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm](https://
|
|
365
|
+
"core/audits/accessibility/td-headers-attr.js | description": {
|
|
366
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo các ô `<td>` sử dụng thuộc tính `[headers]` chỉ tham chiếu các ô khác trong cùng bảng có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về thuộc tính `headers`](https://dequeuniversity.com/rules/axe/4.6/td-headers-attr)."
|
|
499
367
|
},
|
|
500
|
-
"
|
|
368
|
+
"core/audits/accessibility/td-headers-attr.js | failureTitle": {
|
|
501
369
|
"message": "Các ô trong phần tử `<table>` sử dụng thuộc tính `[headers]` tham chiếu đến một phần tử `id` không tìm thấy trong cùng một bảng."
|
|
502
370
|
},
|
|
503
|
-
"
|
|
371
|
+
"core/audits/accessibility/td-headers-attr.js | title": {
|
|
504
372
|
"message": "Các ô trong phần tử `<table>` sử dụng thuộc tính `[headers]` tham chiếu đến các ô trong cùng một bảng."
|
|
505
373
|
},
|
|
506
|
-
"
|
|
507
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ sử dụng bảng hơn. Việc đảm bảo tiêu đề bảng luôn tham chiếu đến một nhóm ô nào đó có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm](https://
|
|
374
|
+
"core/audits/accessibility/th-has-data-cells.js | description": {
|
|
375
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo tiêu đề bảng luôn tham chiếu đến một nhóm ô nào đó có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về tiêu đề bảng](https://dequeuniversity.com/rules/axe/4.6/th-has-data-cells)."
|
|
508
376
|
},
|
|
509
|
-
"
|
|
377
|
+
"core/audits/accessibility/th-has-data-cells.js | failureTitle": {
|
|
510
378
|
"message": "Các phần tử `<th>` và phần tử có `[role=\"columnheader\"/\"rowheader\"]` không chứa các ô dữ liệu mà các phần tử đó mô tả."
|
|
511
379
|
},
|
|
512
|
-
"
|
|
380
|
+
"core/audits/accessibility/th-has-data-cells.js | title": {
|
|
513
381
|
"message": "Các phần tử `<th>` và phần tử có `[role=\"columnheader\"/\"rowheader\"]` chứa các ô dữ liệu mà các phần tử này mô tả."
|
|
514
382
|
},
|
|
515
|
-
"
|
|
516
|
-
"message": "Việc chỉ định một [BCP 47
|
|
383
|
+
"core/audits/accessibility/valid-lang.js | description": {
|
|
384
|
+
"message": "Việc chỉ định một [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ cho các phần tử sẽ giúp trình đọc màn hình phát âm văn bản chính xác. [Tìm hiểu cách sử dụng thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.6/valid-lang)."
|
|
517
385
|
},
|
|
518
|
-
"
|
|
386
|
+
"core/audits/accessibility/valid-lang.js | failureTitle": {
|
|
519
387
|
"message": "Các thuộc tính `[lang]` không có giá trị hợp lệ"
|
|
520
388
|
},
|
|
521
|
-
"
|
|
389
|
+
"core/audits/accessibility/valid-lang.js | title": {
|
|
522
390
|
"message": "Các thuộc tính `[lang]` có giá trị hợp lệ"
|
|
523
391
|
},
|
|
524
|
-
"
|
|
525
|
-
"message": "
|
|
392
|
+
"core/audits/accessibility/video-caption.js | description": {
|
|
393
|
+
"message": "Khi video có chú thích, người dùng khiếm thính và người dùng bị suy giảm thính lực có thể tiếp cận thông tin trên video đó dễ dàng hơn. [Tìm hiểu thêm về chú thích của video](https://dequeuniversity.com/rules/axe/4.6/video-caption)."
|
|
526
394
|
},
|
|
527
|
-
"
|
|
395
|
+
"core/audits/accessibility/video-caption.js | failureTitle": {
|
|
528
396
|
"message": "Các phần tử `<video>` không chứa phần tử `<track>` có `[kind=\"captions\"]`."
|
|
529
397
|
},
|
|
530
|
-
"
|
|
398
|
+
"core/audits/accessibility/video-caption.js | title": {
|
|
531
399
|
"message": "Các phần tử `<video>` chứa phần tử `<track>` có `[kind=\"captions\"]`"
|
|
532
400
|
},
|
|
533
|
-
"
|
|
534
|
-
"message": "Hãy xác định `apple-touch-icon` để khi người dùng thêm một ứng dụng web tiến bộ vào màn hình chính trên iOS, biểu tượng ứng dụng sẽ hiển thị chính xác. Thuộc tính này phải trỏ đến ảnh PNG vuông có kích thước 192px (hoặc 180px) ở dạng không trong suốt. [Tìm hiểu thêm](https://web.dev/apple-touch-icon/)"
|
|
535
|
-
},
|
|
536
|
-
"lighthouse-core/audits/apple-touch-icon.js | failureTitle": {
|
|
537
|
-
"message": "Chưa cung cấp `apple-touch-icon` hợp lệ"
|
|
538
|
-
},
|
|
539
|
-
"lighthouse-core/audits/apple-touch-icon.js | precomposedWarning": {
|
|
540
|
-
"message": "`apple-touch-icon-precomposed` đã lỗi thời, nên dùng `apple-touch-icon`."
|
|
541
|
-
},
|
|
542
|
-
"lighthouse-core/audits/apple-touch-icon.js | title": {
|
|
543
|
-
"message": "Hãy cung cấp `apple-touch-icon` hợp lệ"
|
|
544
|
-
},
|
|
545
|
-
"lighthouse-core/audits/autocomplete.js | columnCurrent": {
|
|
401
|
+
"core/audits/autocomplete.js | columnCurrent": {
|
|
546
402
|
"message": "Giá trị hiện tại"
|
|
547
403
|
},
|
|
548
|
-
"
|
|
404
|
+
"core/audits/autocomplete.js | columnSuggestions": {
|
|
549
405
|
"message": "Mã thông báo đề xuất"
|
|
550
406
|
},
|
|
551
|
-
"
|
|
552
|
-
"message": "`autocomplete` giúp người dùng gửi biểu mẫu nhanh hơn. Để thuận tiện cho người dùng, hãy cân nhắc cho phép thuộc tính trên bằng cách đặt một giá trị hợp lệ cho `autocomplete`. [Tìm hiểu thêm](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
|
|
407
|
+
"core/audits/autocomplete.js | description": {
|
|
408
|
+
"message": "`autocomplete` giúp người dùng gửi biểu mẫu nhanh hơn. Để thuận tiện cho người dùng, hãy cân nhắc cho phép thuộc tính trên bằng cách đặt một giá trị hợp lệ cho `autocomplete`. [Tìm hiểu thêm về `autocomplete` trong các biểu mẫu](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
|
|
553
409
|
},
|
|
554
|
-
"
|
|
410
|
+
"core/audits/autocomplete.js | failureTitle": {
|
|
555
411
|
"message": "Thuộc tính `autocomplete` của các phần tử `<input>` là không chính xác"
|
|
556
412
|
},
|
|
557
|
-
"
|
|
413
|
+
"core/audits/autocomplete.js | manualReview": {
|
|
558
414
|
"message": "Yêu cầu xem xét thủ công"
|
|
559
415
|
},
|
|
560
|
-
"
|
|
416
|
+
"core/audits/autocomplete.js | reviewOrder": {
|
|
561
417
|
"message": "Xem xét thứ tự của các mã thông báo"
|
|
562
418
|
},
|
|
563
|
-
"
|
|
419
|
+
"core/audits/autocomplete.js | title": {
|
|
564
420
|
"message": "Các phần tử `<input>` sử dụng `autocomplete` đúng cách"
|
|
565
421
|
},
|
|
566
|
-
"
|
|
422
|
+
"core/audits/autocomplete.js | warningInvalid": {
|
|
567
423
|
"message": "(Các) mã thông báo `autocomplete`: \"{token}\" là không hợp lệ trong {snippet}"
|
|
568
424
|
},
|
|
569
|
-
"
|
|
425
|
+
"core/audits/autocomplete.js | warningOrder": {
|
|
570
426
|
"message": "Xem xét thứ tự của các mã thông báo: \"{tokens}\" trong {snippet}"
|
|
571
427
|
},
|
|
572
|
-
"
|
|
428
|
+
"core/audits/bf-cache.js | actionableFailureType": {
|
|
429
|
+
"message": "Có thể thực hiện"
|
|
430
|
+
},
|
|
431
|
+
"core/audits/bf-cache.js | description": {
|
|
432
|
+
"message": "Nhiều thao tác di chuyển được thực hiện bằng cách quay lại trang trước hoặc tiếp tục tiến. Bộ nhớ đệm cho thao tác tiến/lùi (bfcache) có thể đẩy nhanh các thao tác quay lại này. [Tìm hiểu thêm về bfcache](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)"
|
|
433
|
+
},
|
|
434
|
+
"core/audits/bf-cache.js | displayValue": {
|
|
435
|
+
"message": "{itemCount,plural, =1{1 lý do xảy ra lỗi}other{# lý do xảy ra lỗi}}"
|
|
436
|
+
},
|
|
437
|
+
"core/audits/bf-cache.js | failureReasonColumn": {
|
|
438
|
+
"message": "Lý do xảy ra lỗi"
|
|
439
|
+
},
|
|
440
|
+
"core/audits/bf-cache.js | failureTitle": {
|
|
441
|
+
"message": "Trang ngăn chặn việc khôi phục bộ nhớ đệm cho thao tác tiến/lùi"
|
|
442
|
+
},
|
|
443
|
+
"core/audits/bf-cache.js | failureTypeColumn": {
|
|
444
|
+
"message": "Loại lỗi"
|
|
445
|
+
},
|
|
446
|
+
"core/audits/bf-cache.js | notActionableFailureType": {
|
|
447
|
+
"message": "Không thể thực hiện"
|
|
448
|
+
},
|
|
449
|
+
"core/audits/bf-cache.js | supportPendingFailureType": {
|
|
450
|
+
"message": "Đang chờ trình duyệt hỗ trợ"
|
|
451
|
+
},
|
|
452
|
+
"core/audits/bf-cache.js | title": {
|
|
453
|
+
"message": "Trang không ngăn việc khôi phục bộ nhớ đệm cho thao tác tiến/lùi"
|
|
454
|
+
},
|
|
455
|
+
"core/audits/bootup-time.js | chromeExtensionsWarning": {
|
|
573
456
|
"message": "Các tiện ích của Chrome ảnh hưởng tiêu cực đến hiệu suất tải của trang này. Hãy thử kiểm tra trang ở chế độ ẩn danh hoặc từ một hồ sơ trên Chrome không có tiện ích."
|
|
574
457
|
},
|
|
575
|
-
"
|
|
458
|
+
"core/audits/bootup-time.js | columnScriptEval": {
|
|
576
459
|
"message": "Đánh giá tập lệnh"
|
|
577
460
|
},
|
|
578
|
-
"
|
|
461
|
+
"core/audits/bootup-time.js | columnScriptParse": {
|
|
579
462
|
"message": "Phân tích cú pháp tập lệnh"
|
|
580
463
|
},
|
|
581
|
-
"
|
|
464
|
+
"core/audits/bootup-time.js | columnTotal": {
|
|
582
465
|
"message": "Tổng thời gian của CPU"
|
|
583
466
|
},
|
|
584
|
-
"
|
|
585
|
-
"message": "Hãy cân nhắc giảm thời gian dùng để phân tích cú pháp, biên soạn và thực thi JS. Bạn có thể giải quyết vấn đề này bằng cách phân phối các tải trọng JS nhỏ hơn. [Tìm hiểu
|
|
467
|
+
"core/audits/bootup-time.js | description": {
|
|
468
|
+
"message": "Hãy cân nhắc giảm thời gian dùng để phân tích cú pháp, biên soạn và thực thi JS. Bạn có thể giải quyết vấn đề này bằng cách phân phối các tải trọng JS nhỏ hơn. [Tìm hiểu cách giảm thời gian thực thi JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)."
|
|
586
469
|
},
|
|
587
|
-
"
|
|
470
|
+
"core/audits/bootup-time.js | failureTitle": {
|
|
588
471
|
"message": "Giảm thời gian thực thi JavaScript"
|
|
589
472
|
},
|
|
590
|
-
"
|
|
473
|
+
"core/audits/bootup-time.js | title": {
|
|
591
474
|
"message": "Thời gian thực thi JavaScript"
|
|
592
475
|
},
|
|
593
|
-
"
|
|
476
|
+
"core/audits/byte-efficiency/duplicated-javascript.js | description": {
|
|
594
477
|
"message": "Xóa các mô-đun JavaScript lớn, trùng lặp khỏi gói để giảm số byte mà hoạt động mạng tiêu thụ một cách không cần thiết. "
|
|
595
478
|
},
|
|
596
|
-
"
|
|
479
|
+
"core/audits/byte-efficiency/duplicated-javascript.js | title": {
|
|
597
480
|
"message": "Xóa các mô-đun trùng lặp trong gói JavaScript"
|
|
598
481
|
},
|
|
599
|
-
"
|
|
600
|
-
"message": "Ảnh GIF lớn không có hiệu quả trong việc phân phối nội dung động. Hãy cân nhắc sử dụng video MPEG4/WebM cho ảnh động và PNG/WebP cho ảnh tĩnh thay vì ảnh GIF để tiết kiệm dữ liệu mạng. [Tìm hiểu thêm](https://
|
|
482
|
+
"core/audits/byte-efficiency/efficient-animated-content.js | description": {
|
|
483
|
+
"message": "Ảnh GIF lớn không có hiệu quả trong việc phân phối nội dung động. Hãy cân nhắc sử dụng video MPEG4/WebM cho ảnh động và PNG/WebP cho ảnh tĩnh thay vì ảnh GIF để tiết kiệm dữ liệu mạng. [Tìm hiểu thêm về định dạng video hiệu quả](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)"
|
|
601
484
|
},
|
|
602
|
-
"
|
|
485
|
+
"core/audits/byte-efficiency/efficient-animated-content.js | title": {
|
|
603
486
|
"message": "Sử dụng các định dạng video cho nội dung động"
|
|
604
487
|
},
|
|
605
|
-
"
|
|
606
|
-
"message": "Mã Polyfill và Transform cho phép trình duyệt cũ dùng các tính năng mới của JavaScript. Tuy nhiên, nhiều tính năng không cần thiết cho trình duyệt
|
|
488
|
+
"core/audits/byte-efficiency/legacy-javascript.js | description": {
|
|
489
|
+
"message": "Mã Polyfill và Transform cho phép trình duyệt cũ dùng các tính năng mới của JavaScript. Tuy nhiên, nhiều tính năng không cần thiết cho trình duyệt hiện đại. Đối với JavaScript trong gói của bạn, hãy áp dụng chiến lược triển khai tập lệnh hiện đại bằng cách dùng cơ chế phát hiện tính năng theo mô-đun/không theo mô-đun để giảm số lượng mã gửi đến trình duyệt hiện đại trong khi vẫn tiếp tục hỗ trợ cho trình duyệt cũ. [Tìm hiểu cách sử dụng JavaScript hiện đại](https://web.dev/publish-modern-javascript/)"
|
|
607
490
|
},
|
|
608
|
-
"
|
|
491
|
+
"core/audits/byte-efficiency/legacy-javascript.js | title": {
|
|
609
492
|
"message": "Tránh phân phối JavaScript cũ tới các trình duyệt hiện đại"
|
|
610
493
|
},
|
|
611
|
-
"
|
|
612
|
-
"message": "Các định dạng hình ảnh như WebP và AVIF thường nén tốt hơn so với các định dạng PNG hoặc JPEG. Điều này có nghĩa là tốc độ tải hình ảnh xuống sẽ nhanh hơn và tiêu tốn ít dữ liệu hơn. [Tìm hiểu thêm](https://
|
|
494
|
+
"core/audits/byte-efficiency/modern-image-formats.js | description": {
|
|
495
|
+
"message": "Các định dạng hình ảnh như WebP và AVIF thường nén tốt hơn so với các định dạng PNG hoặc JPEG. Điều này có nghĩa là tốc độ tải hình ảnh xuống sẽ nhanh hơn và tiêu tốn ít dữ liệu hơn. [Tìm hiểu thêm về định dạng hình ảnh mới](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)."
|
|
613
496
|
},
|
|
614
|
-
"
|
|
497
|
+
"core/audits/byte-efficiency/modern-image-formats.js | title": {
|
|
615
498
|
"message": "Phân phối hình ảnh ở định dạng mới và hiệu quả hơn"
|
|
616
499
|
},
|
|
617
|
-
"
|
|
618
|
-
"message": "Hãy cân nhắc tải từng phần các hình ảnh ẩn và nằm ngoài màn hình sau khi tải xong tất cả tài nguyên quan trọng nhằm giảm thời gian tương tác. [Tìm hiểu
|
|
500
|
+
"core/audits/byte-efficiency/offscreen-images.js | description": {
|
|
501
|
+
"message": "Hãy cân nhắc tải từng phần các hình ảnh ẩn và nằm ngoài màn hình sau khi tải xong tất cả tài nguyên quan trọng nhằm giảm thời gian tương tác. [Tìm hiểu cách trì hoãn hình ảnh ngoài màn hình](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)."
|
|
619
502
|
},
|
|
620
|
-
"
|
|
503
|
+
"core/audits/byte-efficiency/offscreen-images.js | title": {
|
|
621
504
|
"message": "Trì hoãn tải các hình ảnh ngoài màn hình"
|
|
622
505
|
},
|
|
623
|
-
"
|
|
624
|
-
"message": "Các tài nguyên đang chặn lần hiển thị đầu tiên của trang. Hãy cân nhắc phân phối nội dòng JS/Biểu định kiểu xếp chồng (CSS) quan trọng và trì hoãn mọi JS/kiểu không quan trọng. [Tìm hiểu
|
|
506
|
+
"core/audits/byte-efficiency/render-blocking-resources.js | description": {
|
|
507
|
+
"message": "Các tài nguyên đang chặn lần hiển thị đầu tiên của trang. Hãy cân nhắc phân phối nội dòng JS/Biểu định kiểu xếp chồng (CSS) quan trọng và trì hoãn mọi JS/kiểu không quan trọng. [Tìm hiểu cách loại bỏ các tài nguyên chặn hiển thị](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)."
|
|
625
508
|
},
|
|
626
|
-
"
|
|
509
|
+
"core/audits/byte-efficiency/render-blocking-resources.js | title": {
|
|
627
510
|
"message": "Loại bỏ các tài nguyên chặn hiển thị"
|
|
628
511
|
},
|
|
629
|
-
"
|
|
630
|
-
"message": "Tải trọng mạng lớn gây tốn kém cho người dùng và thường khiến thời gian tải
|
|
512
|
+
"core/audits/byte-efficiency/total-byte-weight.js | description": {
|
|
513
|
+
"message": "Tải trọng mạng lớn gây tốn kém cho người dùng và thường khiến thời gian tải kéo dài. [Tìm hiểu cách giảm kích thước tải trọng](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
|
|
631
514
|
},
|
|
632
|
-
"
|
|
515
|
+
"core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
|
|
633
516
|
"message": "Tổng kích thước là {totalBytes, number, bytes} KiB"
|
|
634
517
|
},
|
|
635
|
-
"
|
|
518
|
+
"core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
|
|
636
519
|
"message": "Tránh các tài nguyên lớn trên mạng"
|
|
637
520
|
},
|
|
638
|
-
"
|
|
521
|
+
"core/audits/byte-efficiency/total-byte-weight.js | title": {
|
|
639
522
|
"message": "Tránh tài nguyên lớn trên mạng"
|
|
640
523
|
},
|
|
641
|
-
"
|
|
642
|
-
"message": "Việc giảm kích thước tệp Biểu định kiểu xếp chồng (CSS) có thể giảm kích thước tải trọng mạng. [Tìm hiểu
|
|
524
|
+
"core/audits/byte-efficiency/unminified-css.js | description": {
|
|
525
|
+
"message": "Việc giảm thiểu kích thước tệp Biểu định kiểu xếp chồng (CSS) có thể giảm kích thước tải trọng mạng. [Tìm hiểu cách giảm thiểu kích thước tệp Biểu định kiểu xếp chồng (CSS)](https://developer.chrome.com/docs/lighthouse/performance/unminified-css/)."
|
|
643
526
|
},
|
|
644
|
-
"
|
|
527
|
+
"core/audits/byte-efficiency/unminified-css.js | title": {
|
|
645
528
|
"message": "Rút gọn CSS"
|
|
646
529
|
},
|
|
647
|
-
"
|
|
648
|
-
"message": "Việc giảm kích thước tệp JavaScript có thể giảm kích thước tải trọng và thời gian phân tích cú pháp tập lệnh. [Tìm hiểu
|
|
530
|
+
"core/audits/byte-efficiency/unminified-javascript.js | description": {
|
|
531
|
+
"message": "Việc giảm thiểu kích thước tệp JavaScript có thể giảm kích thước tải trọng và thời gian phân tích cú pháp tập lệnh. [Tìm hiểu cách giảm thiểu kích thước tệp JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/)."
|
|
649
532
|
},
|
|
650
|
-
"
|
|
533
|
+
"core/audits/byte-efficiency/unminified-javascript.js | title": {
|
|
651
534
|
"message": "Rút gọn JavaScript"
|
|
652
535
|
},
|
|
653
|
-
"
|
|
654
|
-
"message": "Giảm những quy tắc không dùng đến trong các biểu định kiểu và trì hoãn CSS chưa sử dụng cho nội dung trong màn hình đầu tiên để giảm số byte mà hoạt động mạng sử dụng. [Tìm hiểu
|
|
536
|
+
"core/audits/byte-efficiency/unused-css-rules.js | description": {
|
|
537
|
+
"message": "Giảm những quy tắc không dùng đến trong các biểu định kiểu và trì hoãn CSS chưa sử dụng cho nội dung trong màn hình đầu tiên để giảm số byte mà hoạt động mạng sử dụng. [Tìm hiểu cách giảm CSS không dùng đến](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/)."
|
|
655
538
|
},
|
|
656
|
-
"
|
|
539
|
+
"core/audits/byte-efficiency/unused-css-rules.js | title": {
|
|
657
540
|
"message": "Giảm CSS không dùng đến"
|
|
658
541
|
},
|
|
659
|
-
"
|
|
660
|
-
"message": "Giảm JavaScript không dùng đến và trì hoãn việc tải các tập lệnh cho tới khi cần có các tập lệnh này để giảm số byte mà hoạt động mạng sử dụng. [Tìm hiểu
|
|
542
|
+
"core/audits/byte-efficiency/unused-javascript.js | description": {
|
|
543
|
+
"message": "Giảm JavaScript không dùng đến và trì hoãn việc tải các tập lệnh cho tới khi cần có các tập lệnh này để giảm số byte mà hoạt động mạng sử dụng. [Tìm hiểu cách giảm JavaScript không dùng đến](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/)."
|
|
661
544
|
},
|
|
662
|
-
"
|
|
545
|
+
"core/audits/byte-efficiency/unused-javascript.js | title": {
|
|
663
546
|
"message": "Giảm JavaScript không dùng đến"
|
|
664
547
|
},
|
|
665
|
-
"
|
|
666
|
-
"message": "Bộ nhớ đệm có thời gian hữu dụng dài có thể giúp tăng tốc số lượt truy cập lặp lại vào trang của bạn. [Tìm hiểu thêm](https://
|
|
548
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
|
|
549
|
+
"message": "Bộ nhớ đệm có thời gian hữu dụng dài có thể giúp tăng tốc số lượt truy cập lặp lại vào trang của bạn. [Tìm hiểu thêm về chính sách bộ nhớ đệm hiệu quả](https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl/)."
|
|
667
550
|
},
|
|
668
|
-
"
|
|
551
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
|
|
669
552
|
"message": "{itemCount,plural, =1{Đã tìm thấy 1 tài nguyên}other{Đã tìm thấy # tài nguyên}}"
|
|
670
553
|
},
|
|
671
|
-
"
|
|
554
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
|
|
672
555
|
"message": "Phân phối các nội dung tĩnh bằng chính sách bộ nhớ đệm hiệu quả"
|
|
673
556
|
},
|
|
674
|
-
"
|
|
557
|
+
"core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
|
|
675
558
|
"message": "Sử dụng chính sách bộ nhớ đệm hiệu quả cho các nội dung tĩnh"
|
|
676
559
|
},
|
|
677
|
-
"
|
|
678
|
-
"message": "Hình ảnh được tối ưu
|
|
560
|
+
"core/audits/byte-efficiency/uses-optimized-images.js | description": {
|
|
561
|
+
"message": "Hình ảnh được tối ưu hoá sẽ tải nhanh hơn và tiêu tốn ít dữ liệu di động hơn. [Tìm hiểu cách mã hoá hình ảnh hiệu quả](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)."
|
|
679
562
|
},
|
|
680
|
-
"
|
|
563
|
+
"core/audits/byte-efficiency/uses-optimized-images.js | title": {
|
|
681
564
|
"message": "Mã hóa hình ảnh hiệu quả"
|
|
682
565
|
},
|
|
683
|
-
"
|
|
566
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
|
|
684
567
|
"message": "Kích thước thực"
|
|
685
568
|
},
|
|
686
|
-
"
|
|
569
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
|
|
687
570
|
"message": "Kích thước hiển thị"
|
|
688
571
|
},
|
|
689
|
-
"
|
|
572
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
|
|
690
573
|
"message": "Hình ảnh có kích thước lớn hơn kích thước hiển thị"
|
|
691
574
|
},
|
|
692
|
-
"
|
|
575
|
+
"core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
|
|
693
576
|
"message": "Hình ảnh có kích thước hiển thị phù hợp"
|
|
694
577
|
},
|
|
695
|
-
"
|
|
696
|
-
"message": "Phân phát hình ảnh có kích thước phù hợp để tiết kiệm dữ liệu di động và cải thiện thời gian tải. [Tìm hiểu
|
|
578
|
+
"core/audits/byte-efficiency/uses-responsive-images.js | description": {
|
|
579
|
+
"message": "Phân phát hình ảnh có kích thước phù hợp để tiết kiệm dữ liệu di động và cải thiện thời gian tải. [Tìm hiểu cách định cỡ hình ảnh](https://developer.chrome.com/docs/lighthouse/performance/uses-responsive-images/)."
|
|
697
580
|
},
|
|
698
|
-
"
|
|
581
|
+
"core/audits/byte-efficiency/uses-responsive-images.js | title": {
|
|
699
582
|
"message": "Thay đổi kích thước hình ảnh cho phù hợp"
|
|
700
583
|
},
|
|
701
|
-
"
|
|
702
|
-
"message": "Phải phân phát các tài nguyên dựa trên văn bản ở định dạng nén (gzip, deflate hoặc brotli) để giảm thiểu tổng số byte mạng. [Tìm hiểu thêm](https://
|
|
584
|
+
"core/audits/byte-efficiency/uses-text-compression.js | description": {
|
|
585
|
+
"message": "Phải phân phát các tài nguyên dựa trên văn bản ở định dạng nén (gzip, deflate hoặc brotli) để giảm thiểu tổng số byte mạng. [Tìm hiểu thêm về việc nén văn bản](https://developer.chrome.com/docs/lighthouse/performance/uses-text-compression/)."
|
|
703
586
|
},
|
|
704
|
-
"
|
|
587
|
+
"core/audits/byte-efficiency/uses-text-compression.js | title": {
|
|
705
588
|
"message": "Bật tính năng nén văn bản"
|
|
706
589
|
},
|
|
707
|
-
"
|
|
708
|
-
"message": "Nếu chiều rộng của nội dung trong ứng dụng không khớp với chiều rộng của khung nhìn, thì ứng dụng có thể không được tối ưu
|
|
590
|
+
"core/audits/content-width.js | description": {
|
|
591
|
+
"message": "Nếu chiều rộng của nội dung trong ứng dụng không khớp với chiều rộng của khung nhìn, thì ứng dụng có thể không được tối ưu hoá cho màn hình thiết bị di động. [Tìm hiểu cách xác định kích thước nội dung cho khung nhìn](https://developer.chrome.com/docs/lighthouse/pwa/content-width/)."
|
|
709
592
|
},
|
|
710
|
-
"
|
|
593
|
+
"core/audits/content-width.js | explanation": {
|
|
711
594
|
"message": "Kích thước khung nhìn {innerWidth}px không khớp với kích thước cửa sổ {outerWidth}px."
|
|
712
595
|
},
|
|
713
|
-
"
|
|
596
|
+
"core/audits/content-width.js | failureTitle": {
|
|
714
597
|
"message": "Kích thước của nội dung không phù hợp với khung nhìn"
|
|
715
598
|
},
|
|
716
|
-
"
|
|
599
|
+
"core/audits/content-width.js | title": {
|
|
717
600
|
"message": "Kích thước của nội dung phù hợp với khung nhìn"
|
|
718
601
|
},
|
|
719
|
-
"
|
|
720
|
-
"message": "Các Chuỗi yêu cầu quan trọng dưới đây cho bạn biết những tài nguyên
|
|
602
|
+
"core/audits/critical-request-chains.js | description": {
|
|
603
|
+
"message": "Các Chuỗi yêu cầu quan trọng dưới đây cho bạn biết những tài nguyên được tải ở mức độ ưu tiên cao. Hãy cân nhắc giảm độ dài chuỗi, giảm kích thước tài nguyên tải xuống hoặc trì hoãn tải xuống các tài nguyên không cần thiết để cải thiện tốc độ tải trang. [Tìm hiểu cách tránh tạo chuỗi yêu cầu quan trọng](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
|
|
721
604
|
},
|
|
722
|
-
"
|
|
605
|
+
"core/audits/critical-request-chains.js | displayValue": {
|
|
723
606
|
"message": "{itemCount,plural, =1{Đã tìm thấy 1 chuỗi}other{Đã tìm thấy # chuỗi}}"
|
|
724
607
|
},
|
|
725
|
-
"
|
|
608
|
+
"core/audits/critical-request-chains.js | title": {
|
|
726
609
|
"message": "Tránh tạo chuỗi các yêu cầu quan trọng"
|
|
727
610
|
},
|
|
728
|
-
"
|
|
611
|
+
"core/audits/csp-xss.js | columnDirective": {
|
|
729
612
|
"message": "Lệnh"
|
|
730
613
|
},
|
|
731
|
-
"
|
|
614
|
+
"core/audits/csp-xss.js | columnSeverity": {
|
|
732
615
|
"message": "Mức độ nghiêm trọng"
|
|
733
616
|
},
|
|
734
|
-
"
|
|
735
|
-
"message": "Một Chính sách bảo mật nội dung (CSP) mạnh sẽ làm giảm đáng kể nguy cơ bị tấn công thông qua tập lệnh trên nhiều trang web (XSS). [Tìm hiểu
|
|
617
|
+
"core/audits/csp-xss.js | description": {
|
|
618
|
+
"message": "Một Chính sách bảo mật nội dung (CSP) mạnh sẽ làm giảm đáng kể nguy cơ bị tấn công thông qua tập lệnh trên nhiều trang web (XSS). [Tìm hiểu cách sử dụng Chính sách bảo mật nội dung (CSP) để ngăn chặn XSS](https://developer.chrome.com/docs/lighthouse/best-practices/csp-xss/)"
|
|
736
619
|
},
|
|
737
|
-
"
|
|
620
|
+
"core/audits/csp-xss.js | itemSeveritySyntax": {
|
|
738
621
|
"message": "Cú pháp"
|
|
739
622
|
},
|
|
740
|
-
"
|
|
741
|
-
"message": "Trang này chứa CSP được xác định trong thẻ <meta>. Hãy cân nhắc xác định CSP trong tiêu đề HTTP
|
|
623
|
+
"core/audits/csp-xss.js | metaTagMessage": {
|
|
624
|
+
"message": "Trang này chứa CSP được xác định trong thẻ <meta>. Hãy cân nhắc việc di chuyển Chính sách bảo mật nội dung (CSP) sang tiêu đề HTTP hoặc xác định một CSP nghiêm ngặt khác trong tiêu đề HTTP."
|
|
742
625
|
},
|
|
743
|
-
"
|
|
626
|
+
"core/audits/csp-xss.js | noCsp": {
|
|
744
627
|
"message": "Không tìm thấy CSP nào ở chế độ thực thi"
|
|
745
628
|
},
|
|
746
|
-
"
|
|
629
|
+
"core/audits/csp-xss.js | title": {
|
|
747
630
|
"message": "Đảm bảo CSP có khả năng chống lại hình thức tấn công thông qua XSS"
|
|
748
631
|
},
|
|
749
|
-
"
|
|
632
|
+
"core/audits/deprecations.js | columnDeprecate": {
|
|
750
633
|
"message": "Không dùng nữa/Cảnh báo"
|
|
751
634
|
},
|
|
752
|
-
"
|
|
635
|
+
"core/audits/deprecations.js | columnLine": {
|
|
753
636
|
"message": "Dòng"
|
|
754
637
|
},
|
|
755
|
-
"
|
|
756
|
-
"message": "Cuối cùng, các API không dùng nữa sẽ bị
|
|
638
|
+
"core/audits/deprecations.js | description": {
|
|
639
|
+
"message": "Cuối cùng, các API không dùng nữa sẽ bị xoá khỏi trình duyệt. [Tìm hiểu thêm về các API không dùng nữa](https://developer.chrome.com/docs/lighthouse/best-practices/deprecations/)."
|
|
757
640
|
},
|
|
758
|
-
"
|
|
641
|
+
"core/audits/deprecations.js | displayValue": {
|
|
759
642
|
"message": "{itemCount,plural, =1{Tìm thấy 1 cảnh báo}other{Tìm thấy # cảnh báo}}"
|
|
760
643
|
},
|
|
761
|
-
"
|
|
644
|
+
"core/audits/deprecations.js | failureTitle": {
|
|
762
645
|
"message": "Sử dụng các API không dùng nữa"
|
|
763
646
|
},
|
|
764
|
-
"
|
|
647
|
+
"core/audits/deprecations.js | title": {
|
|
765
648
|
"message": "Tránh các API không dùng nữa"
|
|
766
649
|
},
|
|
767
|
-
"
|
|
768
|
-
"message": "Cần khai báo hệ thống mã
|
|
650
|
+
"core/audits/dobetterweb/charset.js | description": {
|
|
651
|
+
"message": "Cần khai báo hệ thống mã hoá ký tự. Bạn có thể thực hiện việc này bằng thẻ `<meta>` trong 1024 byte đầu tiên của HTML hoặc trong tiêu đề phản hồi HTTP Loại–Nội dung. [Tìm hiểu thêm về cách khai báo hệ thống mã hoá ký tự](https://developer.chrome.com/docs/lighthouse/best-practices/charset/)."
|
|
769
652
|
},
|
|
770
|
-
"
|
|
653
|
+
"core/audits/dobetterweb/charset.js | failureTitle": {
|
|
771
654
|
"message": "Thiếu thông tin khai báo về bộ ký tự hoặc khai báo quá muộn trong HTML"
|
|
772
655
|
},
|
|
773
|
-
"
|
|
656
|
+
"core/audits/dobetterweb/charset.js | title": {
|
|
774
657
|
"message": "Xác định đúng bộ ký tự"
|
|
775
658
|
},
|
|
776
|
-
"
|
|
777
|
-
"message": "Khi bạn chỉ định loại tài liệu, trình duyệt sẽ không chuyển sang chế độ tương thích ngược. [Tìm hiểu thêm](https://
|
|
659
|
+
"core/audits/dobetterweb/doctype.js | description": {
|
|
660
|
+
"message": "Khi bạn chỉ định loại tài liệu, trình duyệt sẽ không chuyển sang chế độ tương thích ngược. [Tìm hiểu thêm về việc khai báo loại tài liệu](https://developer.chrome.com/docs/lighthouse/best-practices/doctype/)."
|
|
778
661
|
},
|
|
779
|
-
"
|
|
780
|
-
"message": "Tên loại tài liệu phải là chuỗi `html`
|
|
662
|
+
"core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
|
|
663
|
+
"message": "Tên loại tài liệu phải là chuỗi `html`"
|
|
781
664
|
},
|
|
782
|
-
"
|
|
665
|
+
"core/audits/dobetterweb/doctype.js | explanationLimitedQuirks": {
|
|
666
|
+
"message": "Tài liệu chứa `doctype` kích hoạt `limited-quirks-mode`"
|
|
667
|
+
},
|
|
668
|
+
"core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
|
|
783
669
|
"message": "Tài liệu phải chứa một loại tài liệu"
|
|
784
670
|
},
|
|
785
|
-
"
|
|
671
|
+
"core/audits/dobetterweb/doctype.js | explanationPublicId": {
|
|
786
672
|
"message": "publicId lẽ ra phải là một chuỗi trống"
|
|
787
673
|
},
|
|
788
|
-
"
|
|
674
|
+
"core/audits/dobetterweb/doctype.js | explanationSystemId": {
|
|
789
675
|
"message": "systemId lẽ ra phải là một chuỗi trống"
|
|
790
676
|
},
|
|
791
|
-
"
|
|
677
|
+
"core/audits/dobetterweb/doctype.js | explanationWrongDoctype": {
|
|
678
|
+
"message": "Tài liệu chứa `doctype` kích hoạt `quirks-mode`"
|
|
679
|
+
},
|
|
680
|
+
"core/audits/dobetterweb/doctype.js | failureTitle": {
|
|
792
681
|
"message": "Trang thiếu loại tài liệu HTML nên đã kích hoạt chế độ tương thích ngược"
|
|
793
682
|
},
|
|
794
|
-
"
|
|
683
|
+
"core/audits/dobetterweb/doctype.js | title": {
|
|
795
684
|
"message": "Trang có loại tài liệu HTML"
|
|
796
685
|
},
|
|
797
|
-
"
|
|
686
|
+
"core/audits/dobetterweb/dom-size.js | columnStatistic": {
|
|
798
687
|
"message": "Thống kê"
|
|
799
688
|
},
|
|
800
|
-
"
|
|
689
|
+
"core/audits/dobetterweb/dom-size.js | columnValue": {
|
|
801
690
|
"message": "Giá trị"
|
|
802
691
|
},
|
|
803
|
-
"
|
|
804
|
-
"message": "Một DOM lớn sẽ làm tăng mức sử dụng bộ nhớ, khiến [các phép tính về kiểu](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) dài hơn, đồng thời tạo ra [các quy trình trình bày lại bố cục](https://developers.google.com/speed/articles/reflow) tốn kém. [Tìm hiểu
|
|
692
|
+
"core/audits/dobetterweb/dom-size.js | description": {
|
|
693
|
+
"message": "Một DOM lớn sẽ làm tăng mức sử dụng bộ nhớ, khiến [các phép tính về kiểu](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) kéo dài hơn, đồng thời tạo ra [các quy trình trình bày lại bố cục](https://developers.google.com/speed/articles/reflow) tốn kém. [Tìm hiểu cách tránh kích thước DOM quá lớn](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
|
|
805
694
|
},
|
|
806
|
-
"
|
|
695
|
+
"core/audits/dobetterweb/dom-size.js | displayValue": {
|
|
807
696
|
"message": "{itemCount,plural, =1{1 phần tử}other{# phần tử}}"
|
|
808
697
|
},
|
|
809
|
-
"
|
|
698
|
+
"core/audits/dobetterweb/dom-size.js | failureTitle": {
|
|
810
699
|
"message": "Tránh kích thước DOM quá lớn"
|
|
811
700
|
},
|
|
812
|
-
"
|
|
701
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
|
|
813
702
|
"message": "Độ sâu DOM tối đa"
|
|
814
703
|
},
|
|
815
|
-
"
|
|
704
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
|
|
816
705
|
"message": "Tổng số các phần tử DOM"
|
|
817
706
|
},
|
|
818
|
-
"
|
|
707
|
+
"core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
|
|
819
708
|
"message": "Phần tử con tối đa"
|
|
820
709
|
},
|
|
821
|
-
"
|
|
710
|
+
"core/audits/dobetterweb/dom-size.js | title": {
|
|
822
711
|
"message": "Tránh kích thước DOM quá lớn"
|
|
823
712
|
},
|
|
824
|
-
"
|
|
825
|
-
"message": "Các trang web yêu cầu vị trí của người dùng mà không cung cấp ngữ cảnh sẽ khiến người dùng không tin tưởng hoặc bối rối. Hãy cân nhắc liên kết yêu cầu với hành động của người dùng. [Tìm hiểu thêm](https://
|
|
713
|
+
"core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
714
|
+
"message": "Các trang web yêu cầu vị trí của người dùng mà không cung cấp ngữ cảnh sẽ khiến người dùng không tin tưởng hoặc bối rối. Hãy cân nhắc liên kết yêu cầu với hành động của người dùng. [Tìm hiểu thêm về quyền truy cập vị trí địa lý](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
|
|
826
715
|
},
|
|
827
|
-
"
|
|
716
|
+
"core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
|
|
828
717
|
"message": "Yêu cầu quyền truy cập vị trí địa lý khi tải trang"
|
|
829
718
|
},
|
|
830
|
-
"
|
|
719
|
+
"core/audits/dobetterweb/geolocation-on-start.js | title": {
|
|
831
720
|
"message": "Tránh yêu cầu quyền truy cập vị trí địa lý khi tải trang"
|
|
832
721
|
},
|
|
833
|
-
"
|
|
722
|
+
"core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
|
|
834
723
|
"message": "Loại vấn đề"
|
|
835
724
|
},
|
|
836
|
-
"
|
|
725
|
+
"core/audits/dobetterweb/inspector-issues.js | description": {
|
|
837
726
|
"message": "Các vấn đề được ghi vào bảng điều khiển `Issues` trong công cụ cho nhà phát triển của Chrome là những vấn đề chưa giải quyết. Những vấn đề này có thể do lỗi yêu cầu mạng, do không có đủ biện pháp kiểm soát bảo mật, cũng như do các vấn đề khác của trình duyệt gây ra. Hãy mở bảng điều khiển Vấn đề trong công cụ cho nhà phát triển của Chrome để biết thêm thông tin chi tiết về từng vấn đề."
|
|
838
727
|
},
|
|
839
|
-
"
|
|
728
|
+
"core/audits/dobetterweb/inspector-issues.js | failureTitle": {
|
|
840
729
|
"message": "Các vấn đề được ghi vào bảng điều khiển `Issues` trong công cụ cho nhà phát triển của Chrome"
|
|
841
730
|
},
|
|
842
|
-
"
|
|
731
|
+
"core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
|
|
843
732
|
"message": "Bị chặn theo chính sách trên nhiều nguồn gốc"
|
|
844
733
|
},
|
|
845
|
-
"
|
|
734
|
+
"core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
|
|
846
735
|
"message": "Quảng cáo sử dụng nhiều tài nguyên"
|
|
847
736
|
},
|
|
848
|
-
"
|
|
737
|
+
"core/audits/dobetterweb/inspector-issues.js | title": {
|
|
849
738
|
"message": "Không có vấn đề nào ở bảng điều khiển `Issues` trong công cụ cho nhà phát triển của Chrome"
|
|
850
739
|
},
|
|
851
|
-
"
|
|
740
|
+
"core/audits/dobetterweb/js-libraries.js | columnVersion": {
|
|
852
741
|
"message": "Phiên bản"
|
|
853
742
|
},
|
|
854
|
-
"
|
|
855
|
-
"message": "Phát hiện tất cả thư viện JavaScript ở phía giao diện người dùng trên trang này. [Tìm hiểu thêm](https://
|
|
743
|
+
"core/audits/dobetterweb/js-libraries.js | description": {
|
|
744
|
+
"message": "Phát hiện tất cả thư viện JavaScript ở phía giao diện người dùng trên trang này. [Tìm hiểu thêm về kiểm tra chẩn đoán phát hiện thư viện JavaScript này](https://developer.chrome.com/docs/lighthouse/best-practices/js-libraries/)."
|
|
856
745
|
},
|
|
857
|
-
"
|
|
746
|
+
"core/audits/dobetterweb/js-libraries.js | title": {
|
|
858
747
|
"message": "Thư viện JavaScript phát hiện được"
|
|
859
748
|
},
|
|
860
|
-
"
|
|
861
|
-
"message": "Đối với những người dùng có kết nối chậm, các tập lệnh bên ngoài tự động được đưa vào qua `document.write()` có thể làm trang tải chậm hàng chục giây. [Tìm hiểu
|
|
749
|
+
"core/audits/dobetterweb/no-document-write.js | description": {
|
|
750
|
+
"message": "Đối với những người dùng có kết nối chậm, các tập lệnh bên ngoài tự động được đưa vào qua `document.write()` có thể làm trang tải chậm hàng chục giây. [Tìm hiểu cách tránh document.write()](https://developer.chrome.com/docs/lighthouse/best-practices/no-document-write/)."
|
|
862
751
|
},
|
|
863
|
-
"
|
|
752
|
+
"core/audits/dobetterweb/no-document-write.js | failureTitle": {
|
|
864
753
|
"message": "Tránh `document.write()`"
|
|
865
754
|
},
|
|
866
|
-
"
|
|
755
|
+
"core/audits/dobetterweb/no-document-write.js | title": {
|
|
867
756
|
"message": "Tránh `document.write()`"
|
|
868
757
|
},
|
|
869
|
-
"
|
|
870
|
-
"message": "
|
|
871
|
-
},
|
|
872
|
-
"lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
|
|
873
|
-
"message": "Phiên bản thư viện"
|
|
874
|
-
},
|
|
875
|
-
"lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
|
|
876
|
-
"message": "Số lượng lỗ hổng"
|
|
758
|
+
"core/audits/dobetterweb/notification-on-start.js | description": {
|
|
759
|
+
"message": "Các trang web yêu cầu gửi thông báo không có ngữ cảnh sẽ khiến người dùng không tin tưởng hoặc bối rối. Hãy cân nhắc liên kết yêu cầu với cử chỉ của người dùng. [Tìm hiểu thêm về việc xin cấp quyền gửi thông báo một cách có trách nhiệm](https://developer.chrome.com/docs/lighthouse/best-practices/notification-on-start/)."
|
|
877
760
|
},
|
|
878
|
-
"
|
|
879
|
-
"message": "Một số tập lệnh của bên thứ ba có thể chứa các lỗ hổng bảo mật đã biết mà kẻ tấn công dễ dàng xác định và khai thác. [Tìm hiểu thêm](https://web.dev/no-vulnerable-libraries/)."
|
|
880
|
-
},
|
|
881
|
-
"lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
|
|
882
|
-
"message": "{itemCount,plural, =1{Phát hiện thấy 1 lỗ hổng}other{Phát hiện thấy # lỗ hổng}}"
|
|
883
|
-
},
|
|
884
|
-
"lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
|
|
885
|
-
"message": "Bao gồm các thư viện giao diện người dùng JavaScript có những lỗ hổng bảo mật đã biết"
|
|
886
|
-
},
|
|
887
|
-
"lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
|
|
888
|
-
"message": "Tránh các thư viện giao diện người dùng JavaScript có lỗ hổng bảo mật đã biết"
|
|
889
|
-
},
|
|
890
|
-
"lighthouse-core/audits/dobetterweb/notification-on-start.js | description": {
|
|
891
|
-
"message": "Các trang web gửi thông báo không có ngữ cảnh sẽ khiến người dùng không tin tưởng hoặc bối rối. Hãy cân nhắc liên kết yêu cầu với cử chỉ của người dùng. [Tìm hiểu thêm](https://web.dev/notification-on-start/)."
|
|
892
|
-
},
|
|
893
|
-
"lighthouse-core/audits/dobetterweb/notification-on-start.js | failureTitle": {
|
|
761
|
+
"core/audits/dobetterweb/notification-on-start.js | failureTitle": {
|
|
894
762
|
"message": "Yêu cầu quyền truy cập thông báo khi tải trang"
|
|
895
763
|
},
|
|
896
|
-
"
|
|
764
|
+
"core/audits/dobetterweb/notification-on-start.js | title": {
|
|
897
765
|
"message": "Tránh yêu cầu quyền truy cập thông báo khi tải trang"
|
|
898
766
|
},
|
|
899
|
-
"
|
|
900
|
-
"message": "
|
|
767
|
+
"core/audits/dobetterweb/paste-preventing-inputs.js | description": {
|
|
768
|
+
"message": "Preventing input pasting is a UX anti-pattern, and undermines good security policy. [Learn more about user-friendly input fields](https://developer.chrome.com/docs/lighthouse/best-practices/paste-preventing-inputs/)."
|
|
901
769
|
},
|
|
902
|
-
"
|
|
903
|
-
"message": "
|
|
770
|
+
"core/audits/dobetterweb/paste-preventing-inputs.js | failureTitle": {
|
|
771
|
+
"message": "Prevents users from pasting into input fields"
|
|
904
772
|
},
|
|
905
|
-
"
|
|
906
|
-
"message": "
|
|
773
|
+
"core/audits/dobetterweb/paste-preventing-inputs.js | title": {
|
|
774
|
+
"message": "Allows users to paste into input fields"
|
|
907
775
|
},
|
|
908
|
-
"
|
|
776
|
+
"core/audits/dobetterweb/uses-http2.js | columnProtocol": {
|
|
909
777
|
"message": "Giao thức"
|
|
910
778
|
},
|
|
911
|
-
"
|
|
912
|
-
"message": "So với HTTP/1.1 thì HTTP/2 mang lại nhiều lợi ích hơn, trong đó có khả năng đa hợp và tiêu đề nhị phân. [Tìm hiểu thêm](https://
|
|
779
|
+
"core/audits/dobetterweb/uses-http2.js | description": {
|
|
780
|
+
"message": "So với HTTP/1.1 thì HTTP/2 mang lại nhiều lợi ích hơn, trong đó có khả năng đa hợp và tiêu đề nhị phân. [Tìm hiểu thêm về HTTP/2](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)."
|
|
913
781
|
},
|
|
914
|
-
"
|
|
782
|
+
"core/audits/dobetterweb/uses-http2.js | displayValue": {
|
|
915
783
|
"message": "{itemCount,plural, =1{Chưa phân phát 1 yêu cầu qua HTTP/2}other{Chưa phân phát # yêu cầu qua HTTP/2}}"
|
|
916
784
|
},
|
|
917
|
-
"
|
|
785
|
+
"core/audits/dobetterweb/uses-http2.js | title": {
|
|
918
786
|
"message": "Sử dụng HTTP/2"
|
|
919
787
|
},
|
|
920
|
-
"
|
|
921
|
-
"message": "Hãy cân nhắc đánh dấu trình
|
|
788
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
|
|
789
|
+
"message": "Hãy cân nhắc đánh dấu trình nghe sự kiện chạm và di chuyển con lăn là `passive` để cải thiện hiệu suất cuộn trên trang. [Tìm hiểu thêm về cách sử dụng trình nghe sự kiện thụ động](https://developer.chrome.com/docs/lighthouse/best-practices/uses-passive-event-listeners/)."
|
|
922
790
|
},
|
|
923
|
-
"
|
|
791
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
|
|
924
792
|
"message": "Không sử dụng trình nghe bị động để cải thiện hiệu suất cuộn"
|
|
925
793
|
},
|
|
926
|
-
"
|
|
794
|
+
"core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
|
|
927
795
|
"message": "Sử dụng trình nghe bị động để cải thiện hiệu suất cuộn"
|
|
928
796
|
},
|
|
929
|
-
"
|
|
930
|
-
"message": "Các lỗi được ghi vào bảng điều khiển là những sự cố chưa giải quyết. Những sự cố này có thể do lỗi yêu cầu mạng và các vấn đề khác của trình duyệt gây ra. [Tìm hiểu thêm](https://
|
|
797
|
+
"core/audits/errors-in-console.js | description": {
|
|
798
|
+
"message": "Các lỗi được ghi vào bảng điều khiển là những sự cố chưa giải quyết. Những sự cố này có thể do lỗi yêu cầu mạng và các vấn đề khác của trình duyệt gây ra. [Tìm hiểu thêm về lỗi này trong thông tin kiểm tra chẩn đoán bảng điều khiển](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)"
|
|
931
799
|
},
|
|
932
|
-
"
|
|
800
|
+
"core/audits/errors-in-console.js | failureTitle": {
|
|
933
801
|
"message": "Đã ghi lỗi của trình duyệt vào bảng điều khiển"
|
|
934
802
|
},
|
|
935
|
-
"
|
|
803
|
+
"core/audits/errors-in-console.js | title": {
|
|
936
804
|
"message": "Chưa ghi lỗi nào của trình duyệt vào bảng điều khiển"
|
|
937
805
|
},
|
|
938
|
-
"
|
|
939
|
-
"message": "
|
|
806
|
+
"core/audits/font-display.js | description": {
|
|
807
|
+
"message": "Tận dụng tính năng CSS `font-display` nhằm đảm bảo người dùng thấy được văn bản trong lúc phông chữ web đang tải. [Tìm hiểu thêm về `font-display`](https://developer.chrome.com/docs/lighthouse/performance/font-display/)."
|
|
940
808
|
},
|
|
941
|
-
"
|
|
809
|
+
"core/audits/font-display.js | failureTitle": {
|
|
942
810
|
"message": "Đảm bảo văn bản vẫn hiển thị trong khi tải phông chữ web"
|
|
943
811
|
},
|
|
944
|
-
"
|
|
812
|
+
"core/audits/font-display.js | title": {
|
|
945
813
|
"message": "Tất cả văn bản vẫn hiển thị trong khi tải phông chữ web"
|
|
946
814
|
},
|
|
947
|
-
"
|
|
815
|
+
"core/audits/font-display.js | undeclaredFontOriginWarning": {
|
|
948
816
|
"message": "{fontCountForOrigin,plural, =1{Lighthouse không thể tự động kiểm tra giá trị `font-display` cho {fontOrigin} gốc.}other{Lighthouse không thể tự động kiểm tra các giá trị `font-display` cho {fontOrigin} gốc.}}"
|
|
949
817
|
},
|
|
950
|
-
"
|
|
818
|
+
"core/audits/image-aspect-ratio.js | columnActual": {
|
|
951
819
|
"message": "Tỷ lệ khung hình (Thực tế)"
|
|
952
820
|
},
|
|
953
|
-
"
|
|
821
|
+
"core/audits/image-aspect-ratio.js | columnDisplayed": {
|
|
954
822
|
"message": "Tỷ lệ khung hình (Hiển thị)"
|
|
955
823
|
},
|
|
956
|
-
"
|
|
957
|
-
"message": "Kích thước hiển thị của hình ảnh phải khớp với tỷ lệ khung hình tự nhiên. [Tìm hiểu thêm](https://
|
|
824
|
+
"core/audits/image-aspect-ratio.js | description": {
|
|
825
|
+
"message": "Kích thước hiển thị của hình ảnh phải khớp với tỷ lệ khung hình tự nhiên. [Tìm hiểu thêm về tỷ lệ khung hình của hình ảnh](https://developer.chrome.com/docs/lighthouse/best-practices/image-aspect-ratio/)."
|
|
958
826
|
},
|
|
959
|
-
"
|
|
827
|
+
"core/audits/image-aspect-ratio.js | failureTitle": {
|
|
960
828
|
"message": "Hiển thị hình ảnh có tỷ lệ khung hình không chính xác"
|
|
961
829
|
},
|
|
962
|
-
"
|
|
830
|
+
"core/audits/image-aspect-ratio.js | title": {
|
|
963
831
|
"message": "Hiển thị hình ảnh có tỷ lệ khung hình chính xác"
|
|
964
832
|
},
|
|
965
|
-
"
|
|
833
|
+
"core/audits/image-size-responsive.js | columnActual": {
|
|
966
834
|
"message": "Kích thước thực"
|
|
967
835
|
},
|
|
968
|
-
"
|
|
836
|
+
"core/audits/image-size-responsive.js | columnDisplayed": {
|
|
969
837
|
"message": "Kích thước hiển thị"
|
|
970
838
|
},
|
|
971
|
-
"
|
|
839
|
+
"core/audits/image-size-responsive.js | columnExpected": {
|
|
972
840
|
"message": "Kích thước mong muốn"
|
|
973
841
|
},
|
|
974
|
-
"
|
|
975
|
-
"message": "Kích thước tự nhiên của hình ảnh phải tỷ lệ với kích thước màn hình và tỷ lệ pixel để hình ảnh rõ nét nhất có thể. [Tìm hiểu
|
|
842
|
+
"core/audits/image-size-responsive.js | description": {
|
|
843
|
+
"message": "Kích thước tự nhiên của hình ảnh phải tỷ lệ với kích thước màn hình và tỷ lệ pixel để hình ảnh rõ nét nhất có thể. [Tìm hiểu cách cung cấp hình ảnh thích ứng](https://web.dev/serve-responsive-images/)."
|
|
976
844
|
},
|
|
977
|
-
"
|
|
845
|
+
"core/audits/image-size-responsive.js | failureTitle": {
|
|
978
846
|
"message": "Phân phối hình ảnh có độ phân giải thấp"
|
|
979
847
|
},
|
|
980
|
-
"
|
|
848
|
+
"core/audits/image-size-responsive.js | title": {
|
|
981
849
|
"message": "Phân phối hình ảnh có độ phân giải phù hợp"
|
|
982
850
|
},
|
|
983
|
-
"
|
|
851
|
+
"core/audits/installable-manifest.js | already-installed": {
|
|
984
852
|
"message": "Ứng dụng này đã được cài đặt"
|
|
985
853
|
},
|
|
986
|
-
"
|
|
854
|
+
"core/audits/installable-manifest.js | cannot-download-icon": {
|
|
987
855
|
"message": "Không thể tải một biểu tượng bắt buộc từ tệp kê khai"
|
|
988
856
|
},
|
|
989
|
-
"
|
|
857
|
+
"core/audits/installable-manifest.js | columnValue": {
|
|
990
858
|
"message": "Lý do xảy ra lỗi"
|
|
991
859
|
},
|
|
992
|
-
"
|
|
993
|
-
"message": "Trình chạy dịch vụ là công nghệ cho phép ứng dụng của bạn dùng nhiều tính năng của Ứng dụng web tiến bộ, chẳng hạn như hoạt động khi không có mạng, thêm vào màn hình chính và thông báo đẩy. Khi triển khai trình chạy dịch vụ và tệp kê khai đúng cách, trình duyệt có thể chủ động nhắc người dùng thêm ứng dụng của bạn vào màn hình chính của họ, nhờ đó có thể tăng mức độ tương tác. [Tìm hiểu thêm](https://
|
|
860
|
+
"core/audits/installable-manifest.js | description": {
|
|
861
|
+
"message": "Trình chạy dịch vụ là công nghệ cho phép ứng dụng của bạn dùng nhiều tính năng của Ứng dụng web tiến bộ, chẳng hạn như hoạt động khi không có mạng, thêm vào màn hình chính và thông báo đẩy. Khi triển khai trình chạy dịch vụ và tệp kê khai đúng cách, trình duyệt có thể chủ động nhắc người dùng thêm ứng dụng của bạn vào màn hình chính của họ, nhờ đó có thể tăng mức độ tương tác. [Tìm hiểu thêm về yêu cầu liên quan đến khả năng cài đặt tệp kê khai](https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/)."
|
|
994
862
|
},
|
|
995
|
-
"
|
|
863
|
+
"core/audits/installable-manifest.js | displayValue": {
|
|
996
864
|
"message": "{itemCount,plural, =1{1 lý do}other{# lý do}}"
|
|
997
865
|
},
|
|
998
|
-
"
|
|
866
|
+
"core/audits/installable-manifest.js | failureTitle": {
|
|
999
867
|
"message": "Tệp kê khai ứng dụng web hoặc trình chạy dịch vụ không đáp ứng các yêu cầu về khả năng cài đặt"
|
|
1000
868
|
},
|
|
1001
|
-
"
|
|
869
|
+
"core/audits/installable-manifest.js | ids-do-not-match": {
|
|
1002
870
|
"message": "URL ứng dụng trong Cửa hàng Play và mã nhận dạng trong Cửa hàng Play không khớp"
|
|
1003
871
|
},
|
|
1004
|
-
"
|
|
872
|
+
"core/audits/installable-manifest.js | in-incognito": {
|
|
1005
873
|
"message": "Trang được tải trong cửa sổ ẩn danh"
|
|
1006
874
|
},
|
|
1007
|
-
"
|
|
875
|
+
"core/audits/installable-manifest.js | manifest-display-not-supported": {
|
|
1008
876
|
"message": "Thuộc tính \"display\" của tệp kê khai phải là một trong các chế độ \"standalone\", \"fullscreen\" hoặc \"minimal-ui\""
|
|
1009
877
|
},
|
|
1010
|
-
"
|
|
878
|
+
"core/audits/installable-manifest.js | manifest-display-override-not-supported": {
|
|
1011
879
|
"message": "Tệp kê khai chứa trường \"display_override\" và chế độ hiển thị được hỗ trợ đầu tiên phải là một trong các chế độ \"standalone\", \"fullscreen\" hoặc \"minimal-ui\""
|
|
1012
880
|
},
|
|
1013
|
-
"
|
|
881
|
+
"core/audits/installable-manifest.js | manifest-empty": {
|
|
1014
882
|
"message": "Không thể tìm nạp/phân tích cú pháp tệp kê khai hoặc tệp kê khai bị trống"
|
|
1015
883
|
},
|
|
1016
|
-
"
|
|
884
|
+
"core/audits/installable-manifest.js | manifest-location-changed": {
|
|
1017
885
|
"message": "URL của tệp kê khai đã thay đổi khi đang tìm nạp tệp kê khai đó."
|
|
1018
886
|
},
|
|
1019
|
-
"
|
|
887
|
+
"core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
|
|
1020
888
|
"message": "Tệp kê khai không chứa trường \"name\" hoặc \"short_name\""
|
|
1021
889
|
},
|
|
1022
|
-
"
|
|
890
|
+
"core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
|
|
1023
891
|
"message": "Tệp kê khai chứa biểu tượng không phù hợp. Yêu cầu tệp phải ở định dạng PNG, SVG hoặc WebP có kích thước tối thiểu là {value0} px, thuộc tính \"sizes\" phải được đặt, còn thuộc tính \"purpose\" (nếu được đặt) phải bao gồm \"any\"."
|
|
1024
892
|
},
|
|
1025
|
-
"
|
|
893
|
+
"core/audits/installable-manifest.js | no-acceptable-icon": {
|
|
1026
894
|
"message": "Không có biểu tượng nào được cung cấp ở định dạng PNG, SVG hoặc WebP với kích thước tối thiểu là {value0} px vuông, còn thuộc tính \"purpose\" không được đặt hoặc được đặt thành \"any\""
|
|
1027
895
|
},
|
|
1028
|
-
"
|
|
896
|
+
"core/audits/installable-manifest.js | no-icon-available": {
|
|
1029
897
|
"message": "Biểu tượng đã tải xuống bị trống hoặc hỏng"
|
|
1030
898
|
},
|
|
1031
|
-
"
|
|
899
|
+
"core/audits/installable-manifest.js | no-id-specified": {
|
|
1032
900
|
"message": "Chưa cung cấp mã nhận dạng trong Cửa hàng Play"
|
|
1033
901
|
},
|
|
1034
|
-
"
|
|
902
|
+
"core/audits/installable-manifest.js | no-manifest": {
|
|
1035
903
|
"message": "Trang không có URL <link> của tệp kê khai"
|
|
1036
904
|
},
|
|
1037
|
-
"
|
|
905
|
+
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
1038
906
|
"message": "Không phát hiện thấy trình chạy dịch vụ phù hợp. Bạn có thể cần tải lại trang hoặc kiểm tra để đảm bảo rằng phạm vi của trình chạy dịch vụ cho trang hiện tại có bao gồm phạm vi và URL bắt đầu của tệp kê khai."
|
|
1039
907
|
},
|
|
1040
|
-
"
|
|
908
|
+
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
1041
909
|
"message": "Không thể kiểm tra trình chạy dịch vụ nếu không có trường \"start_url\" trong tệp kê khai"
|
|
1042
910
|
},
|
|
1043
|
-
"
|
|
911
|
+
"core/audits/installable-manifest.js | noErrorId": {
|
|
1044
912
|
"message": "Không nhận ra mã lỗi liên quan đến khả năng cài đặt \"{errorId}\""
|
|
1045
913
|
},
|
|
1046
|
-
"
|
|
914
|
+
"core/audits/installable-manifest.js | not-from-secure-origin": {
|
|
1047
915
|
"message": "Trang không được phân phối từ một nguồn gốc an toàn"
|
|
1048
916
|
},
|
|
1049
|
-
"
|
|
917
|
+
"core/audits/installable-manifest.js | not-in-main-frame": {
|
|
1050
918
|
"message": "Trang không được tải trong khung chính"
|
|
1051
919
|
},
|
|
1052
|
-
"
|
|
920
|
+
"core/audits/installable-manifest.js | not-offline-capable": {
|
|
1053
921
|
"message": "Trang không hoạt động khi không có mạng"
|
|
1054
922
|
},
|
|
1055
|
-
"
|
|
923
|
+
"core/audits/installable-manifest.js | pipeline-restarted": {
|
|
1056
924
|
"message": "Đã gỡ cài đặt PWA và đang đặt lại quá trình kiểm tra khả năng cài đặt."
|
|
1057
925
|
},
|
|
1058
|
-
"
|
|
926
|
+
"core/audits/installable-manifest.js | platform-not-supported-on-android": {
|
|
1059
927
|
"message": "Nền tảng ứng dụng đã chỉ định chưa được hỗ trợ trên Android"
|
|
1060
928
|
},
|
|
1061
|
-
"
|
|
929
|
+
"core/audits/installable-manifest.js | prefer-related-applications": {
|
|
1062
930
|
"message": "Tệp kê khai chỉ định prefer_related_applications: true"
|
|
1063
931
|
},
|
|
1064
|
-
"
|
|
932
|
+
"core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
|
|
1065
933
|
"message": "Chỉ hỗ trợ prefer_related_applications cho các kênh Chính thức và Thử nghiệm của Chrome trên Android."
|
|
1066
934
|
},
|
|
1067
|
-
"
|
|
935
|
+
"core/audits/installable-manifest.js | protocol-timeout": {
|
|
1068
936
|
"message": "Lighthouse không xác định được có trình chạy dịch vụ hay không. Vui lòng thử lại bằng một phiên bản Chrome mới hơn."
|
|
1069
937
|
},
|
|
1070
|
-
"
|
|
938
|
+
"core/audits/installable-manifest.js | scheme-not-supported-for-webapk": {
|
|
939
|
+
"message": "Lược đồ URL kê khai ({scheme}) không được hỗ trợ trên Android."
|
|
940
|
+
},
|
|
941
|
+
"core/audits/installable-manifest.js | start-url-not-valid": {
|
|
1071
942
|
"message": "URL bắt đầu của tệp kê khai là không hợp lệ"
|
|
1072
943
|
},
|
|
1073
|
-
"
|
|
944
|
+
"core/audits/installable-manifest.js | title": {
|
|
1074
945
|
"message": "Tệp kê khai ứng dụng web và trình chạy dịch vụ đáp ứng các yêu cầu về khả năng cài đặt"
|
|
1075
946
|
},
|
|
1076
|
-
"
|
|
947
|
+
"core/audits/installable-manifest.js | url-not-supported-for-webapk": {
|
|
1077
948
|
"message": "Một URL trong tệp kê khai chứa tên người dùng, mật khẩu hoặc cổng"
|
|
1078
949
|
},
|
|
1079
|
-
"
|
|
950
|
+
"core/audits/installable-manifest.js | warn-not-offline-capable": {
|
|
1080
951
|
"message": "Trang không hoạt động khi không có mạng. Trang này sẽ không được xem là có thể cài đặt sau khi Chrome 93 chính thức phát hành vào tháng 8 năm 2021."
|
|
1081
952
|
},
|
|
1082
|
-
"
|
|
953
|
+
"core/audits/is-on-https.js | allowed": {
|
|
1083
954
|
"message": "Được phép"
|
|
1084
955
|
},
|
|
1085
|
-
"
|
|
956
|
+
"core/audits/is-on-https.js | blocked": {
|
|
1086
957
|
"message": "Bị chặn"
|
|
1087
958
|
},
|
|
1088
|
-
"
|
|
959
|
+
"core/audits/is-on-https.js | columnInsecureURL": {
|
|
1089
960
|
"message": "URL không an toàn"
|
|
1090
961
|
},
|
|
1091
|
-
"
|
|
962
|
+
"core/audits/is-on-https.js | columnResolution": {
|
|
1092
963
|
"message": "Cách xử lý yêu cầu"
|
|
1093
964
|
},
|
|
1094
|
-
"
|
|
1095
|
-
"message": "Bạn
|
|
965
|
+
"core/audits/is-on-https.js | description": {
|
|
966
|
+
"message": "Bạn cần bảo vệ tất cả trang web bằng HTTPS, kể cả những trang web không xử lý dữ liệu nhạy cảm. Điều này bao gồm tránh [nội dung hỗn hợp](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), trong đó một số tài nguyên được tải qua HTTP cho dù yêu cầu ban đầu được gửi qua HTTPS. HTTPS ngăn kẻ xâm nhập can thiệp hoặc vô tình biết được nội dung trao đổi giữa ứng dụng và người dùng của bạn, đồng thời là điều kiện tiên quyết nếu bạn muốn dùng HTTP/2 và nhiều API nền tảng web mới. [Tìm hiểu thêm về HTTPS](https://developer.chrome.com/docs/lighthouse/pwa/is-on-https/)."
|
|
1096
967
|
},
|
|
1097
|
-
"
|
|
968
|
+
"core/audits/is-on-https.js | displayValue": {
|
|
1098
969
|
"message": "{itemCount,plural, =1{Tìm thấy 1 yêu cầu không an toàn}other{Tìm thấy # yêu cầu không an toàn}}"
|
|
1099
970
|
},
|
|
1100
|
-
"
|
|
971
|
+
"core/audits/is-on-https.js | failureTitle": {
|
|
1101
972
|
"message": "Không sử dụng HTTPS"
|
|
1102
973
|
},
|
|
1103
|
-
"
|
|
974
|
+
"core/audits/is-on-https.js | title": {
|
|
1104
975
|
"message": "Sử dụng HTTPS"
|
|
1105
976
|
},
|
|
1106
|
-
"
|
|
977
|
+
"core/audits/is-on-https.js | upgraded": {
|
|
1107
978
|
"message": "Đã tự động nâng cấp lên HTTPS"
|
|
1108
979
|
},
|
|
1109
|
-
"
|
|
980
|
+
"core/audits/is-on-https.js | warning": {
|
|
1110
981
|
"message": "Được phép nhưng có cảnh báo"
|
|
1111
982
|
},
|
|
1112
|
-
"
|
|
1113
|
-
"message": "Đây là thành phần nội dung lớn nhất hiển thị trong khung nhìn. [Tìm hiểu thêm](https://
|
|
983
|
+
"core/audits/largest-contentful-paint-element.js | description": {
|
|
984
|
+
"message": "Đây là thành phần nội dung lớn nhất hiển thị trong khung nhìn. [Tìm hiểu thêm về thành phần Thời gian hiển thị nội dung lớn nhất](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
|
|
1114
985
|
},
|
|
1115
|
-
"
|
|
986
|
+
"core/audits/largest-contentful-paint-element.js | title": {
|
|
1116
987
|
"message": "Thành phần Thời gian hiển thị nội dung lớn nhất"
|
|
1117
988
|
},
|
|
1118
|
-
"
|
|
989
|
+
"core/audits/layout-shift-elements.js | columnContribution": {
|
|
1119
990
|
"message": "Mức đóng góp vào CLS"
|
|
1120
991
|
},
|
|
1121
|
-
"
|
|
1122
|
-
"message": "Những thành phần DOM này đóng góp nhiều nhất vào Điểm số tổng hợp về mức thay đổi bố cục (CLS) của trang."
|
|
992
|
+
"core/audits/layout-shift-elements.js | description": {
|
|
993
|
+
"message": "Những thành phần DOM này đóng góp nhiều nhất vào Điểm số tổng hợp về mức thay đổi bố cục (CLS) của trang. [Tìm hiểu cách cải thiện CLS](https://web.dev/optimize-cls/)"
|
|
1123
994
|
},
|
|
1124
|
-
"
|
|
995
|
+
"core/audits/layout-shift-elements.js | title": {
|
|
1125
996
|
"message": "Tránh các thay đổi lớn về bố cục"
|
|
1126
997
|
},
|
|
1127
|
-
"
|
|
1128
|
-
"message": "Hình ảnh trong màn hình đầu tiên được tải từng phần sẽ hiển thị sau trong vòng đời của trang, điều này có thể làm chậm thời gian hiển thị nội dung lớn nhất. [Tìm hiểu thêm](https://web.dev/lcp-lazy-loading/)."
|
|
998
|
+
"core/audits/lcp-lazy-loaded.js | description": {
|
|
999
|
+
"message": "Hình ảnh trong màn hình đầu tiên được tải từng phần sẽ hiển thị sau trong vòng đời của trang, điều này có thể làm chậm thời gian hiển thị nội dung lớn nhất. [Tìm hiểu thêm về tính năng tải từng phần tối ưu](https://web.dev/lcp-lazy-loading/)."
|
|
1129
1000
|
},
|
|
1130
|
-
"
|
|
1001
|
+
"core/audits/lcp-lazy-loaded.js | failureTitle": {
|
|
1131
1002
|
"message": "Hình ảnh Thời gian hiển thị nội dung lớn nhất đã được tải từng phần"
|
|
1132
1003
|
},
|
|
1133
|
-
"
|
|
1004
|
+
"core/audits/lcp-lazy-loaded.js | title": {
|
|
1134
1005
|
"message": "Hình ảnh Thời gian hiển thị nội dung lớn nhất không được tải từng phần"
|
|
1135
1006
|
},
|
|
1136
|
-
"
|
|
1137
|
-
"message": "Liệt kê những việc cần nhiều thời gian thực hiện nhất trong chuỗi chính. Thông tin này khá hữu ích trong việc xác định những thành phần có thời gian phản hồi tương tác chậm nhất. [Tìm hiểu
|
|
1007
|
+
"core/audits/long-tasks.js | description": {
|
|
1008
|
+
"message": "Liệt kê những việc cần nhiều thời gian thực hiện nhất trong chuỗi chính. Thông tin này khá hữu ích trong việc xác định những thành phần có thời gian phản hồi tương tác chậm nhất. [Tìm hiểu cách tránh những việc cần nhiều thời gian thực hiện trong chuỗi chính](https://web.dev/long-tasks-devtools/)"
|
|
1138
1009
|
},
|
|
1139
|
-
"
|
|
1010
|
+
"core/audits/long-tasks.js | displayValue": {
|
|
1140
1011
|
"message": "{itemCount,plural, =1{Phát hiện thấy # việc cần nhiều thời gian thực hiện}other{Phát hiện thấy # việc cần nhiều thời gian thực hiện}}"
|
|
1141
1012
|
},
|
|
1142
|
-
"
|
|
1013
|
+
"core/audits/long-tasks.js | title": {
|
|
1143
1014
|
"message": "Tránh những việc cần nhiều thời gian thực hiện trong chuỗi chính"
|
|
1144
1015
|
},
|
|
1145
|
-
"
|
|
1016
|
+
"core/audits/mainthread-work-breakdown.js | columnCategory": {
|
|
1146
1017
|
"message": "Danh mục"
|
|
1147
1018
|
},
|
|
1148
|
-
"
|
|
1149
|
-
"message": "Hãy cân nhắc giảm thời gian dùng để phân tích cú pháp, biên
|
|
1019
|
+
"core/audits/mainthread-work-breakdown.js | description": {
|
|
1020
|
+
"message": "Hãy cân nhắc giảm thời gian dùng để phân tích cú pháp, biên dịch và thực thi JS. Bạn có thể giải quyết vấn đề này bằng cách phân phối các tải trọng JS nhỏ hơn. [Tìm hiểu cách giảm thiểu công việc theo chuỗi chính](https://developer.chrome.com/docs/lighthouse/performance/mainthread-work-breakdown/)"
|
|
1150
1021
|
},
|
|
1151
|
-
"
|
|
1022
|
+
"core/audits/mainthread-work-breakdown.js | failureTitle": {
|
|
1152
1023
|
"message": "Giảm thiểu công việc theo chuỗi chính"
|
|
1153
1024
|
},
|
|
1154
|
-
"
|
|
1025
|
+
"core/audits/mainthread-work-breakdown.js | title": {
|
|
1155
1026
|
"message": "Giảm thiểu công việc theo chuỗi chính"
|
|
1156
1027
|
},
|
|
1157
|
-
"
|
|
1158
|
-
"message": "Để tiếp cận nhiều người dùng nhất, các trang web phải hoạt động trên mọi trình duyệt chính. [Tìm hiểu
|
|
1028
|
+
"core/audits/manual/pwa-cross-browser.js | description": {
|
|
1029
|
+
"message": "Để tiếp cận nhiều người dùng nhất, các trang web phải hoạt động trên mọi trình duyệt chính. [Tìm hiểu về khả năng tương thích trên nhiều trình duyệt](https://developer.chrome.com/docs/lighthouse/pwa/pwa-cross-browser/)."
|
|
1159
1030
|
},
|
|
1160
|
-
"
|
|
1031
|
+
"core/audits/manual/pwa-cross-browser.js | title": {
|
|
1161
1032
|
"message": "Trang web hoạt động trên nhiều trình duyệt"
|
|
1162
1033
|
},
|
|
1163
|
-
"
|
|
1164
|
-
"message": "Đảm bảo từng trang có thể liên kết sâu qua URL và URL là duy nhất để có thể chia sẻ trên mạng xã hội. [Tìm hiểu thêm](https://
|
|
1034
|
+
"core/audits/manual/pwa-each-page-has-url.js | description": {
|
|
1035
|
+
"message": "Đảm bảo từng trang có thể liên kết sâu qua URL và URL là duy nhất để có thể chia sẻ trên mạng xã hội. [Tìm hiểu thêm về cách cung cấp liên kết sâu](https://developer.chrome.com/docs/lighthouse/pwa/pwa-each-page-has-url/)."
|
|
1165
1036
|
},
|
|
1166
|
-
"
|
|
1037
|
+
"core/audits/manual/pwa-each-page-has-url.js | title": {
|
|
1167
1038
|
"message": "Mỗi trang có một URL"
|
|
1168
1039
|
},
|
|
1169
|
-
"
|
|
1170
|
-
"message": "Quá trình chuyển tiếp phải diễn ra ngay khi bạn nhấn vào, kể cả khi mạng chậm. Trải nghiệm này là một yếu tố quan trọng quyết định cảm nhận của người dùng về hiệu suất. [Tìm hiểu thêm](https://
|
|
1040
|
+
"core/audits/manual/pwa-page-transitions.js | description": {
|
|
1041
|
+
"message": "Quá trình chuyển tiếp phải diễn ra ngay khi bạn nhấn vào, kể cả khi mạng chậm. Trải nghiệm này là một yếu tố quan trọng quyết định cảm nhận của người dùng về hiệu suất. [Tìm hiểu thêm về quá trình chuyển tiếp trang](https://developer.chrome.com/docs/lighthouse/pwa/pwa-page-transitions/)."
|
|
1171
1042
|
},
|
|
1172
|
-
"
|
|
1043
|
+
"core/audits/manual/pwa-page-transitions.js | title": {
|
|
1173
1044
|
"message": "Người dùng không cảm thấy mạng chậm khi chuyển trang"
|
|
1174
1045
|
},
|
|
1175
|
-
"
|
|
1176
|
-
"message": "Một biểu tượng
|
|
1046
|
+
"core/audits/maskable-icon.js | description": {
|
|
1047
|
+
"message": "Một biểu tượng có thể chỉnh sửa sẽ đảm bảo rằng hình ảnh lấp đầy toàn bộ hình dạng mà không bị hiệu ứng hòm thư khi cài đặt ứng dụng trên một thiết bị. [Tìm hiểu về biểu tượng có thể chỉnh sửa của tệp kê khai](https://developer.chrome.com/docs/lighthouse/pwa/maskable-icon-audit/)."
|
|
1177
1048
|
},
|
|
1178
|
-
"
|
|
1049
|
+
"core/audits/maskable-icon.js | failureTitle": {
|
|
1179
1050
|
"message": "Tệp kê khai không có biểu tượng che mờ được"
|
|
1180
1051
|
},
|
|
1181
|
-
"
|
|
1052
|
+
"core/audits/maskable-icon.js | title": {
|
|
1182
1053
|
"message": "Tệp kê khai có một biểu tượng che mờ được"
|
|
1183
1054
|
},
|
|
1184
|
-
"
|
|
1185
|
-
"message": "Điểm số tổng hợp về mức thay đổi bố cục đo lường mức độ dịch chuyển của các
|
|
1055
|
+
"core/audits/metrics/cumulative-layout-shift.js | description": {
|
|
1056
|
+
"message": "Điểm số tổng hợp về mức thay đổi bố cục đo lường mức độ dịch chuyển của các phần tử hiển thị trong khung nhìn. [Tìm hiểu thêm về chỉ số Điểm số tổng hợp về mức thay đổi bố cục](https://web.dev/cls/)."
|
|
1186
1057
|
},
|
|
1187
|
-
"
|
|
1188
|
-
"message": "
|
|
1058
|
+
"core/audits/metrics/experimental-interaction-to-next-paint.js | description": {
|
|
1059
|
+
"message": "Hoạt động tương tác với thời gian hiển thị tiếp theo đo lường khả năng phản hồi của trang, thời gian trang cần để phản hồi hoạt động đầu vào của người dùng một cách rõ ràng. [Tìm hiểu thêm về chỉ số Hoạt động tương tác với thời gian hiển thị tiếp theo](https://web.dev/inp/)."
|
|
1189
1060
|
},
|
|
1190
|
-
"
|
|
1191
|
-
"message": "Chỉ số Hiển thị nội dung đầu tiên
|
|
1061
|
+
"core/audits/metrics/first-contentful-paint.js | description": {
|
|
1062
|
+
"message": "Chỉ số Hiển thị nội dung đầu tiên đánh dấu thời điểm hiển thị văn bản hoặc hình ảnh đầu tiên. [Tìm hiểu thêm về chỉ số Hiển thị nội dung đầu tiên](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)."
|
|
1192
1063
|
},
|
|
1193
|
-
"
|
|
1194
|
-
"message": "
|
|
1064
|
+
"core/audits/metrics/first-meaningful-paint.js | description": {
|
|
1065
|
+
"message": "Chỉ số Hiển thị nội dung đầu tiên đo lường thời điểm hiển thị nội dung chính của trang. [Tìm hiểu thêm về chỉ số Hiển thị nội dung đầu tiên](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/)."
|
|
1195
1066
|
},
|
|
1196
|
-
"
|
|
1197
|
-
"message": "Thời
|
|
1067
|
+
"core/audits/metrics/interactive.js | description": {
|
|
1068
|
+
"message": "Thời điểm tương tác là khoảng thời gian mà trang cần để trở nên hoàn toàn tương tác. [Tìm hiểu thêm về chỉ số Thời điểm tương tác](https://developer.chrome.com/docs/lighthouse/performance/interactive/)."
|
|
1198
1069
|
},
|
|
1199
|
-
"
|
|
1200
|
-
"message": "Thời gian
|
|
1070
|
+
"core/audits/metrics/largest-contentful-paint.js | description": {
|
|
1071
|
+
"message": "Thời gian hiển thị nội dung lớn nhất đánh dấu thời điểm hiển thị văn bản hoặc hình ảnh có kích thước lớn nhất. [Tìm hiểu thêm về chỉ số Thời gian hiển thị nội dung lớn nhất](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)"
|
|
1201
1072
|
},
|
|
1202
|
-
"
|
|
1203
|
-
"message": "
|
|
1073
|
+
"core/audits/metrics/max-potential-fid.js | description": {
|
|
1074
|
+
"message": "Thời gian phản hồi lần tương tác đầu tiên tối đa mà người dùng có thể gặp phải là thời gian thực hiện nhiệm vụ lâu nhất. [Tìm hiểu thêm về chỉ số Thời gian phản hồi lần tương tác đầu tiên tối đa có thể xảy ra](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-max-potential-fid/)."
|
|
1204
1075
|
},
|
|
1205
|
-
"
|
|
1206
|
-
"message": "
|
|
1076
|
+
"core/audits/metrics/speed-index.js | description": {
|
|
1077
|
+
"message": "Chỉ số tốc độ cho biết nội dung của một trang hiển thị nhanh chóng đến mức nào. [Tìm hiểu thêm về Chỉ số tốc độ](https://developer.chrome.com/docs/lighthouse/performance/speed-index/)."
|
|
1207
1078
|
},
|
|
1208
|
-
"
|
|
1209
|
-
"message": "
|
|
1079
|
+
"core/audits/metrics/total-blocking-time.js | description": {
|
|
1080
|
+
"message": "Tổng tất cả các khoảng thời gian giữa thời điểm Hiển thị nội dung đầu tiên (FCP) và Thời điểm tương tác khi thời gian của nhiệm vụ vượt quá 50 mili giây, được biểu thị bằng đơn vị mili giây. [Tìm hiểu thêm về chỉ số Tổng thời gian chặn](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-total-blocking-time/)."
|
|
1210
1081
|
},
|
|
1211
|
-
"
|
|
1082
|
+
"core/audits/network-rtt.js | description": {
|
|
1083
|
+
"message": "Thời gian trọn vòng (RTT) của mạng có ảnh hưởng lớn đến hiệu suất. Việc mất nhiều thời gian trọn vòng (RTT) để đến một nguồn gốc cho thấy máy chủ càng gần người dùng thì hiệu quả càng cao. [Tìm hiểu thêm về Thời gian trọn vòng](https://hpbn.co/primer-on-latency-and-bandwidth/)."
|
|
1084
|
+
},
|
|
1085
|
+
"core/audits/network-rtt.js | title": {
|
|
1212
1086
|
"message": "Thời gian trọn vòng của mạng"
|
|
1213
1087
|
},
|
|
1214
|
-
"
|
|
1215
|
-
"message": "
|
|
1088
|
+
"core/audits/network-server-latency.js | description": {
|
|
1089
|
+
"message": "Độ trễ của máy chủ có thể ảnh hưởng đến hiệu suất của trang web. Nếu máy chủ của một nguồn gốc có độ trễ cao, tức là máy chủ bị quá tải hoặc có hiệu suất phụ trợ thấp. [Tìm hiểu thêm về thời gian phản hồi của máy chủ](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
|
|
1216
1090
|
},
|
|
1217
|
-
"
|
|
1091
|
+
"core/audits/network-server-latency.js | title": {
|
|
1218
1092
|
"message": "Thời gian dưới nền của máy chủ"
|
|
1219
1093
|
},
|
|
1220
|
-
"
|
|
1221
|
-
"message": "Sự kiện `unload` kích hoạt không ổn định và việc làm theo sự kiện này có thể ngăn
|
|
1094
|
+
"core/audits/no-unload-listeners.js | description": {
|
|
1095
|
+
"message": "Sự kiện `unload` kích hoạt không ổn định và việc làm theo sự kiện này có thể ngăn các hoạt động tối ưu hoá trình duyệt, chẳng hạn như Bộ nhớ đệm cho thao tác tiến/lùi. Hãy chuyển sang dùng sự kiện `pagehide` hoặc `visibilitychange`. [Tìm hiểu thêm về trình nghe sự kiện huỷ tải](https://web.dev/bfcache/#never-use-the-unload-event)"
|
|
1222
1096
|
},
|
|
1223
|
-
"
|
|
1097
|
+
"core/audits/no-unload-listeners.js | failureTitle": {
|
|
1224
1098
|
"message": "Đăng ký trình xử lý sự kiện `unload`"
|
|
1225
1099
|
},
|
|
1226
|
-
"
|
|
1100
|
+
"core/audits/no-unload-listeners.js | title": {
|
|
1227
1101
|
"message": "Tránh dùng trình xử lý sự kiện `unload`"
|
|
1228
1102
|
},
|
|
1229
|
-
"
|
|
1230
|
-
"message": "Các ảnh động không được ghép có thể kém chất lượng và làm tăng CLS (Điểm số tổng hợp về mức thay đổi bố cục). [Tìm hiểu
|
|
1103
|
+
"core/audits/non-composited-animations.js | description": {
|
|
1104
|
+
"message": "Các ảnh động không được ghép có thể kém chất lượng và làm tăng CLS (Điểm số tổng hợp về mức thay đổi bố cục). [Tìm hiểu cách tránh ảnh động không được ghép](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)"
|
|
1231
1105
|
},
|
|
1232
|
-
"
|
|
1106
|
+
"core/audits/non-composited-animations.js | displayValue": {
|
|
1233
1107
|
"message": "{itemCount,plural, =1{Tìm thấy # phần tử ảnh động}other{Tìm thấy # phần tử ảnh động}}"
|
|
1234
1108
|
},
|
|
1235
|
-
"
|
|
1109
|
+
"core/audits/non-composited-animations.js | filterMayMovePixels": {
|
|
1236
1110
|
"message": "Thuộc tính liên quan đến bộ lọc có thể di chuyển pixel"
|
|
1237
1111
|
},
|
|
1238
|
-
"
|
|
1112
|
+
"core/audits/non-composited-animations.js | incompatibleAnimations": {
|
|
1239
1113
|
"message": "Mục tiêu có một ảnh động khác không tương thích"
|
|
1240
1114
|
},
|
|
1241
|
-
"
|
|
1115
|
+
"core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
|
|
1242
1116
|
"message": "Hiệu ứng có chế độ ghép không phải là \"replace\""
|
|
1243
1117
|
},
|
|
1244
|
-
"
|
|
1118
|
+
"core/audits/non-composited-animations.js | title": {
|
|
1245
1119
|
"message": "Tránh dùng các ảnh động không được ghép"
|
|
1246
1120
|
},
|
|
1247
|
-
"
|
|
1121
|
+
"core/audits/non-composited-animations.js | transformDependsBoxSize": {
|
|
1248
1122
|
"message": "Thuộc tính liên quan đến biến đổi phụ thuộc vào kích thước hộp"
|
|
1249
1123
|
},
|
|
1250
|
-
"
|
|
1124
|
+
"core/audits/non-composited-animations.js | unsupportedCSSProperty": {
|
|
1251
1125
|
"message": "{propertyCount,plural, =1{Thuộc tính CSS không được hỗ trợ: {properties}}other{Các thuộc tính CSS không được hỗ trợ: {properties}}}"
|
|
1252
1126
|
},
|
|
1253
|
-
"
|
|
1127
|
+
"core/audits/non-composited-animations.js | unsupportedTimingParameters": {
|
|
1254
1128
|
"message": "Hiệu ứng có tham số thời gian không được hỗ trợ"
|
|
1255
1129
|
},
|
|
1256
|
-
"
|
|
1257
|
-
"message": "Đảm bảo số lượng và quy mô của yêu cầu mạng thấp hơn mục tiêu đặt ra của ngân sách hiệu suất đã cung cấp. [Tìm hiểu thêm](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
|
|
1130
|
+
"core/audits/performance-budget.js | description": {
|
|
1131
|
+
"message": "Đảm bảo số lượng và quy mô của yêu cầu mạng thấp hơn mục tiêu đặt ra của ngân sách hiệu suất đã cung cấp. [Tìm hiểu thêm về ngân sách hiệu suất](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
|
|
1258
1132
|
},
|
|
1259
|
-
"
|
|
1133
|
+
"core/audits/performance-budget.js | requestCountOverBudget": {
|
|
1260
1134
|
"message": "{count,plural, =1{1 yêu cầu}other{# yêu cầu}}"
|
|
1261
1135
|
},
|
|
1262
|
-
"
|
|
1136
|
+
"core/audits/performance-budget.js | title": {
|
|
1263
1137
|
"message": "Ngân sách hiệu suất"
|
|
1264
1138
|
},
|
|
1265
|
-
"
|
|
1266
|
-
"message": "
|
|
1139
|
+
"core/audits/preload-fonts.js | description": {
|
|
1140
|
+
"message": "Tải trước phông chữ có `optional` để khách truy cập lần đầu có thể sử dụng. [Tìm hiểu thêm về cách tải trước phông chữ](https://web.dev/preload-optional-fonts/)"
|
|
1267
1141
|
},
|
|
1268
|
-
"
|
|
1142
|
+
"core/audits/preload-fonts.js | failureTitle": {
|
|
1269
1143
|
"message": "Chưa tải trước phông chữ có `font-display: optional`"
|
|
1270
1144
|
},
|
|
1271
|
-
"
|
|
1145
|
+
"core/audits/preload-fonts.js | title": {
|
|
1272
1146
|
"message": "Đã tải trước phông chữ có `font-display: optional`"
|
|
1273
1147
|
},
|
|
1274
|
-
"
|
|
1275
|
-
"message": "
|
|
1148
|
+
"core/audits/prioritize-lcp-image.js | description": {
|
|
1149
|
+
"message": "Nếu phần tử LCP được thêm vào trang qua phương thức động, bạn nên tải trước hình ảnh để cải thiện LCP. [Tìm hiểu thêm về cách tải trước phần tử LCP](https://web.dev/optimize-lcp/#optimize-when-the-resource-is-discovered)."
|
|
1276
1150
|
},
|
|
1277
|
-
"
|
|
1151
|
+
"core/audits/prioritize-lcp-image.js | title": {
|
|
1278
1152
|
"message": "Tải trước hình ảnh có Thời gian hiển thị nội dung lớn nhất"
|
|
1279
1153
|
},
|
|
1280
|
-
"
|
|
1281
|
-
"message": "Các lần chuyển hướng sẽ
|
|
1154
|
+
"core/audits/redirects.js | description": {
|
|
1155
|
+
"message": "Các lần chuyển hướng sẽ khiến tốc độ tải trang chậm thêm. [Tìm hiểu cách tránh các lần chuyển hướng trang](https://developer.chrome.com/docs/lighthouse/performance/redirects/)."
|
|
1282
1156
|
},
|
|
1283
|
-
"
|
|
1157
|
+
"core/audits/redirects.js | title": {
|
|
1284
1158
|
"message": "Tránh chuyển hướng trang nhiều lần"
|
|
1285
1159
|
},
|
|
1286
|
-
"
|
|
1287
|
-
"message": "Để thiết lập ngân sách cho số lượng và quy mô của tài nguyên trang, hãy thêm tệp budget.json. [Tìm hiểu thêm](https://web.dev/use-lighthouse-for-performance-budgets/)."
|
|
1160
|
+
"core/audits/resource-summary.js | description": {
|
|
1161
|
+
"message": "Để thiết lập ngân sách cho số lượng và quy mô của tài nguyên trang, hãy thêm tệp budget.json. [Tìm hiểu thêm về ngân sách hiệu suất](https://web.dev/use-lighthouse-for-performance-budgets/)."
|
|
1288
1162
|
},
|
|
1289
|
-
"
|
|
1163
|
+
"core/audits/resource-summary.js | displayValue": {
|
|
1290
1164
|
"message": "{requestCount,plural, =1{1 yêu cầu • {byteCount, number, bytes} KiB}other{# yêu cầu • {byteCount, number, bytes} KiB}}"
|
|
1291
1165
|
},
|
|
1292
|
-
"
|
|
1166
|
+
"core/audits/resource-summary.js | title": {
|
|
1293
1167
|
"message": "Giảm số lượng yêu cầu và chuyển những tài nguyên có kích thước nhỏ"
|
|
1294
1168
|
},
|
|
1295
|
-
"
|
|
1296
|
-
"message": "
|
|
1169
|
+
"core/audits/seo/canonical.js | description": {
|
|
1170
|
+
"message": "Đường liên kết chính tắc đề xuất URL nào nên hiển thị trong kết quả tìm kiếm. [Tìm hiểu thêm về đường liên kết chính tắc](https://developer.chrome.com/docs/lighthouse/seo/canonical/)."
|
|
1297
1171
|
},
|
|
1298
|
-
"
|
|
1172
|
+
"core/audits/seo/canonical.js | explanationConflict": {
|
|
1299
1173
|
"message": "Nhiều URL xung đột ({urlList})"
|
|
1300
1174
|
},
|
|
1301
|
-
"
|
|
1175
|
+
"core/audits/seo/canonical.js | explanationInvalid": {
|
|
1302
1176
|
"message": "URL không hợp lệ ({url})."
|
|
1303
1177
|
},
|
|
1304
|
-
"
|
|
1178
|
+
"core/audits/seo/canonical.js | explanationPointsElsewhere": {
|
|
1305
1179
|
"message": "Trỏ đến một vị trí `hreflang` khác ({url})"
|
|
1306
1180
|
},
|
|
1307
|
-
"
|
|
1181
|
+
"core/audits/seo/canonical.js | explanationRelative": {
|
|
1308
1182
|
"message": "Không phải là một URL tuyệt đối ({url})"
|
|
1309
1183
|
},
|
|
1310
|
-
"
|
|
1184
|
+
"core/audits/seo/canonical.js | explanationRoot": {
|
|
1311
1185
|
"message": "Trỏ đến URL gốc của miền (trang chủ) thay vì trang nội dung tương đương"
|
|
1312
1186
|
},
|
|
1313
|
-
"
|
|
1187
|
+
"core/audits/seo/canonical.js | failureTitle": {
|
|
1314
1188
|
"message": "Tài liệu không có `rel=canonical` hợp lệ"
|
|
1315
1189
|
},
|
|
1316
|
-
"
|
|
1190
|
+
"core/audits/seo/canonical.js | title": {
|
|
1317
1191
|
"message": "Tài liệu có `rel=canonical` hợp lệ"
|
|
1318
1192
|
},
|
|
1319
|
-
"
|
|
1193
|
+
"core/audits/seo/crawlable-anchors.js | columnFailingLink": {
|
|
1320
1194
|
"message": "Đường liên kết không thể thu thập dữ liệu"
|
|
1321
1195
|
},
|
|
1322
|
-
"
|
|
1323
|
-
"message": "Công cụ tìm kiếm có thể dùng các thuộc tính `href` trên đường liên kết để thu thập dữ liệu các trang web. Hãy đảm bảo rằng thuộc tính `href` của các
|
|
1196
|
+
"core/audits/seo/crawlable-anchors.js | description": {
|
|
1197
|
+
"message": "Công cụ tìm kiếm có thể dùng các thuộc tính `href` trên đường liên kết để thu thập dữ liệu các trang web. Hãy đảm bảo rằng thuộc tính `href` của các phần tử neo liên kết đến một trang đích phù hợp để có thể phát hiện thêm nhiều trang khác của trang web. [Tìm hiểu cách khiến các đường liên kết cho phép thu thập thông tin](https://support.google.com/webmasters/answer/9112205)"
|
|
1324
1198
|
},
|
|
1325
|
-
"
|
|
1199
|
+
"core/audits/seo/crawlable-anchors.js | failureTitle": {
|
|
1326
1200
|
"message": "Các đường liên kết không thể thu thập thông tin"
|
|
1327
1201
|
},
|
|
1328
|
-
"
|
|
1202
|
+
"core/audits/seo/crawlable-anchors.js | title": {
|
|
1329
1203
|
"message": "Các đường liên kết có thể thu thập thông tin"
|
|
1330
1204
|
},
|
|
1331
|
-
"
|
|
1205
|
+
"core/audits/seo/font-size.js | additionalIllegibleText": {
|
|
1332
1206
|
"message": "Văn bản bổ sung khó đọc"
|
|
1333
1207
|
},
|
|
1334
|
-
"
|
|
1208
|
+
"core/audits/seo/font-size.js | columnFontSize": {
|
|
1335
1209
|
"message": "Cỡ chữ"
|
|
1336
1210
|
},
|
|
1337
|
-
"
|
|
1211
|
+
"core/audits/seo/font-size.js | columnPercentPageText": {
|
|
1338
1212
|
"message": "% văn bản trên trang"
|
|
1339
1213
|
},
|
|
1340
|
-
"
|
|
1214
|
+
"core/audits/seo/font-size.js | columnSelector": {
|
|
1341
1215
|
"message": "Bộ chọn"
|
|
1342
1216
|
},
|
|
1343
|
-
"
|
|
1344
|
-
"message": "Cỡ chữ dưới 12 pixel là quá nhỏ và khó đọc, buộc khách truy cập trên thiết bị di động phải
|
|
1217
|
+
"core/audits/seo/font-size.js | description": {
|
|
1218
|
+
"message": "Cỡ chữ dưới 12 pixel là quá nhỏ và khó đọc, buộc khách truy cập trên thiết bị di động phải \"chụm để thu phóng\" mới đọc được. Tốt nhất là hơn 60% văn bản trên trang có cỡ chữ lớn hơn hoặc bằng 12 pixel. [Tìm hiểu thêm về cỡ chữ dễ đọc](https://developer.chrome.com/docs/lighthouse/seo/font-size/)."
|
|
1345
1219
|
},
|
|
1346
|
-
"
|
|
1220
|
+
"core/audits/seo/font-size.js | displayValue": {
|
|
1347
1221
|
"message": "{decimalProportion, number, extendedPercent} văn bản dễ đọc"
|
|
1348
1222
|
},
|
|
1349
|
-
"
|
|
1223
|
+
"core/audits/seo/font-size.js | explanationViewport": {
|
|
1350
1224
|
"message": "Văn bản không đọc được vì không có thẻ meta viewport nào được tối ưu hóa cho màn hình thiết bị di động."
|
|
1351
1225
|
},
|
|
1352
|
-
"
|
|
1226
|
+
"core/audits/seo/font-size.js | failureTitle": {
|
|
1353
1227
|
"message": "Tài liệu không sử dụng cỡ chữ dễ đọc"
|
|
1354
1228
|
},
|
|
1355
|
-
"
|
|
1229
|
+
"core/audits/seo/font-size.js | legibleText": {
|
|
1356
1230
|
"message": "Văn bản dễ đọc"
|
|
1357
1231
|
},
|
|
1358
|
-
"
|
|
1232
|
+
"core/audits/seo/font-size.js | title": {
|
|
1359
1233
|
"message": "Tài liệu sử dụng cỡ chữ dễ đọc"
|
|
1360
1234
|
},
|
|
1361
|
-
"
|
|
1362
|
-
"message": "Các phần tử liên kết hreflang cho công cụ tìm kiếm biết nên liệt kê phiên bản trang nào trong kết quả tìm kiếm cho một ngôn ngữ hoặc khu vực cụ thể. [Tìm hiểu thêm](https://
|
|
1235
|
+
"core/audits/seo/hreflang.js | description": {
|
|
1236
|
+
"message": "Các phần tử liên kết hreflang cho công cụ tìm kiếm biết nên liệt kê phiên bản trang nào trong kết quả tìm kiếm cho một ngôn ngữ hoặc khu vực cụ thể. [Tìm hiểu thêm về `hreflang`](https://developer.chrome.com/docs/lighthouse/seo/hreflang/)."
|
|
1363
1237
|
},
|
|
1364
|
-
"
|
|
1238
|
+
"core/audits/seo/hreflang.js | failureTitle": {
|
|
1365
1239
|
"message": "Tài liệu không có `hreflang` hợp lệ"
|
|
1366
1240
|
},
|
|
1367
|
-
"
|
|
1241
|
+
"core/audits/seo/hreflang.js | notFullyQualified": {
|
|
1368
1242
|
"message": "Giá trị href tương đối"
|
|
1369
1243
|
},
|
|
1370
|
-
"
|
|
1244
|
+
"core/audits/seo/hreflang.js | title": {
|
|
1371
1245
|
"message": "Tài liệu có `hreflang` hợp lệ"
|
|
1372
1246
|
},
|
|
1373
|
-
"
|
|
1247
|
+
"core/audits/seo/hreflang.js | unexpectedLanguage": {
|
|
1374
1248
|
"message": "Mã ngôn ngữ không mong muốn"
|
|
1375
1249
|
},
|
|
1376
|
-
"
|
|
1377
|
-
"message": "Các trang có mã trạng thái HTTP không thành công có thể được lập chỉ mục không chính xác. [Tìm hiểu thêm](https://
|
|
1250
|
+
"core/audits/seo/http-status-code.js | description": {
|
|
1251
|
+
"message": "Các trang có mã trạng thái HTTP không thành công có thể được lập chỉ mục không chính xác. [Tìm hiểu thêm về mã trạng thái HTTP](https://developer.chrome.com/docs/lighthouse/seo/http-status-code/)."
|
|
1378
1252
|
},
|
|
1379
|
-
"
|
|
1253
|
+
"core/audits/seo/http-status-code.js | failureTitle": {
|
|
1380
1254
|
"message": "Trang có mã trạng thái HTTP không thành công"
|
|
1381
1255
|
},
|
|
1382
|
-
"
|
|
1256
|
+
"core/audits/seo/http-status-code.js | title": {
|
|
1383
1257
|
"message": "Trang có mã trạng thái HTTP thành công"
|
|
1384
1258
|
},
|
|
1385
|
-
"
|
|
1386
|
-
"message": "Các công cụ tìm kiếm không thể đưa trang của bạn vào kết quả tìm kiếm nếu bạn không cấp cho các công cụ này quyền thu thập thông tin của trang. [Tìm hiểu thêm](https://
|
|
1259
|
+
"core/audits/seo/is-crawlable.js | description": {
|
|
1260
|
+
"message": "Các công cụ tìm kiếm không thể đưa trang của bạn vào kết quả tìm kiếm nếu bạn không cấp cho các công cụ này quyền thu thập thông tin của trang. [Tìm hiểu thêm về các lệnh của trình thu thập thông tin](https://developer.chrome.com/docs/lighthouse/seo/is-crawlable/)."
|
|
1387
1261
|
},
|
|
1388
|
-
"
|
|
1262
|
+
"core/audits/seo/is-crawlable.js | failureTitle": {
|
|
1389
1263
|
"message": "Trang bị chặn lập chỉ mục"
|
|
1390
1264
|
},
|
|
1391
|
-
"
|
|
1265
|
+
"core/audits/seo/is-crawlable.js | title": {
|
|
1392
1266
|
"message": "Trang không bị chặn lập chỉ mục"
|
|
1393
1267
|
},
|
|
1394
|
-
"
|
|
1395
|
-
"message": "Văn bản mô tả trên đường liên kết giúp công cụ tìm kiếm hiểu được nội dung của bạn. [Tìm hiểu
|
|
1268
|
+
"core/audits/seo/link-text.js | description": {
|
|
1269
|
+
"message": "Văn bản mô tả trên đường liên kết giúp công cụ tìm kiếm hiểu được nội dung của bạn. [Tìm hiểu cách giúp các đường liên kết dễ tiếp cận hơn](https://developer.chrome.com/docs/lighthouse/seo/link-text/)."
|
|
1396
1270
|
},
|
|
1397
|
-
"
|
|
1271
|
+
"core/audits/seo/link-text.js | displayValue": {
|
|
1398
1272
|
"message": "{itemCount,plural, =1{Đã tìm thấy 1 liên kết}other{Đã tìm thấy # liên kết}}"
|
|
1399
1273
|
},
|
|
1400
|
-
"
|
|
1274
|
+
"core/audits/seo/link-text.js | failureTitle": {
|
|
1401
1275
|
"message": "Các phần tử liên kết không có văn bản mô tả"
|
|
1402
1276
|
},
|
|
1403
|
-
"
|
|
1277
|
+
"core/audits/seo/link-text.js | title": {
|
|
1404
1278
|
"message": "Các phần tử liên kết có văn bản mô tả"
|
|
1405
1279
|
},
|
|
1406
|
-
"
|
|
1407
|
-
"message": "Chạy [Công cụ kiểm tra dữ liệu có cấu trúc](https://search.google.com/structured-data/testing-tool/) và [Công cụ khử lỗi dữ liệu có cấu trúc](http://linter.structured-data.org/) để xác thực loại dữ liệu này. [Tìm hiểu thêm](https://
|
|
1280
|
+
"core/audits/seo/manual/structured-data.js | description": {
|
|
1281
|
+
"message": "Chạy [Công cụ kiểm tra dữ liệu có cấu trúc](https://search.google.com/structured-data/testing-tool/) và [Công cụ khử lỗi dữ liệu có cấu trúc](http://linter.structured-data.org/) để xác thực loại dữ liệu này. [Tìm hiểu thêm về Dữ liệu có cấu trúc](https://developer.chrome.com/docs/lighthouse/seo/structured-data/)."
|
|
1408
1282
|
},
|
|
1409
|
-
"
|
|
1283
|
+
"core/audits/seo/manual/structured-data.js | title": {
|
|
1410
1284
|
"message": "Dữ liệu có cấu trúc là hợp lệ"
|
|
1411
1285
|
},
|
|
1412
|
-
"
|
|
1413
|
-
"message": "Bạn có thể thêm phần mô tả meta vào kết quả tìm kiếm để tóm tắt ngắn gọn nội dung trang. [Tìm hiểu thêm](https://
|
|
1286
|
+
"core/audits/seo/meta-description.js | description": {
|
|
1287
|
+
"message": "Bạn có thể thêm phần mô tả meta vào kết quả tìm kiếm để tóm tắt ngắn gọn nội dung trang. [Tìm hiểu thêm về phần mô tả meta](https://developer.chrome.com/docs/lighthouse/seo/meta-description/)."
|
|
1414
1288
|
},
|
|
1415
|
-
"
|
|
1289
|
+
"core/audits/seo/meta-description.js | explanation": {
|
|
1416
1290
|
"message": "Văn bản mô tả hiện đang trống."
|
|
1417
1291
|
},
|
|
1418
|
-
"
|
|
1292
|
+
"core/audits/seo/meta-description.js | failureTitle": {
|
|
1419
1293
|
"message": "Tài liệu không có phần mô tả meta"
|
|
1420
1294
|
},
|
|
1421
|
-
"
|
|
1295
|
+
"core/audits/seo/meta-description.js | title": {
|
|
1422
1296
|
"message": "Tài liệu có phần mô tả meta"
|
|
1423
1297
|
},
|
|
1424
|
-
"
|
|
1425
|
-
"message": "Các công cụ tìm kiếm không thể lập chỉ mục nội dung
|
|
1298
|
+
"core/audits/seo/plugins.js | description": {
|
|
1299
|
+
"message": "Các công cụ tìm kiếm không thể lập chỉ mục nội dung trình bổ trợ và nhiều thiết bị hạn chế hoặc không hỗ trợ trình bổ trợ. [Tìm hiểu thêm về cách tránh trình bổ trợ](https://developer.chrome.com/docs/lighthouse/seo/plugins/)."
|
|
1426
1300
|
},
|
|
1427
|
-
"
|
|
1301
|
+
"core/audits/seo/plugins.js | failureTitle": {
|
|
1428
1302
|
"message": "Tài liệu sử dụng plugin"
|
|
1429
1303
|
},
|
|
1430
|
-
"
|
|
1304
|
+
"core/audits/seo/plugins.js | title": {
|
|
1431
1305
|
"message": "Tài liệu tránh sử dụng plugin"
|
|
1432
1306
|
},
|
|
1433
|
-
"
|
|
1434
|
-
"message": "Nếu định dạng của tệp robots.txt không đúng, thì trình thu thập thông tin có thể không hiểu được cách bạn muốn thu thập thông tin hoặc lập chỉ mục trang web của mình. [Tìm hiểu thêm](https://
|
|
1307
|
+
"core/audits/seo/robots-txt.js | description": {
|
|
1308
|
+
"message": "Nếu định dạng của tệp robots.txt không đúng, thì trình thu thập thông tin có thể không hiểu được cách bạn muốn thu thập thông tin hoặc lập chỉ mục trang web của mình. [Tìm hiểu thêm về tệp robots.txt](https://developer.chrome.com/docs/lighthouse/seo/invalid-robots-txt/)."
|
|
1435
1309
|
},
|
|
1436
|
-
"
|
|
1310
|
+
"core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
|
|
1437
1311
|
"message": "Yêu cầu robots.txt trả về trạng thái HTTP: {statusCode}"
|
|
1438
1312
|
},
|
|
1439
|
-
"
|
|
1313
|
+
"core/audits/seo/robots-txt.js | displayValueValidationError": {
|
|
1440
1314
|
"message": "{itemCount,plural, =1{Đã tìm thấy 1 lỗi}other{Đã tìm thấy # lỗi}}"
|
|
1441
1315
|
},
|
|
1442
|
-
"
|
|
1316
|
+
"core/audits/seo/robots-txt.js | explanation": {
|
|
1443
1317
|
"message": "Lighthouse không tải được tệp robots.txt xuống"
|
|
1444
1318
|
},
|
|
1445
|
-
"
|
|
1319
|
+
"core/audits/seo/robots-txt.js | failureTitle": {
|
|
1446
1320
|
"message": "robots.txt không hợp lệ"
|
|
1447
1321
|
},
|
|
1448
|
-
"
|
|
1322
|
+
"core/audits/seo/robots-txt.js | title": {
|
|
1449
1323
|
"message": "robots.txt hợp lệ"
|
|
1450
1324
|
},
|
|
1451
|
-
"
|
|
1452
|
-
"message": "Các phần tử tương tác, chẳng hạn như nút và phần tử liên kết, nên có kích thước đủ lớn (48x48 pixel) và khoảng cách xung quanh
|
|
1325
|
+
"core/audits/seo/tap-targets.js | description": {
|
|
1326
|
+
"message": "Các phần tử tương tác, chẳng hạn như nút và phần tử liên kết, nên có kích thước đủ lớn (48x48 pixel) và khoảng cách xung quanh đủ rộng sao cho dễ nhấn mà không chồng chéo lên các phần tử khác. [Tìm hiểu thêm về các mục tiêu nhấn](https://developer.chrome.com/docs/lighthouse/seo/tap-targets/)."
|
|
1453
1327
|
},
|
|
1454
|
-
"
|
|
1328
|
+
"core/audits/seo/tap-targets.js | displayValue": {
|
|
1455
1329
|
"message": "{decimalProportion, number, percent} mục tiêu nhấn có kích thước phù hợp"
|
|
1456
1330
|
},
|
|
1457
|
-
"
|
|
1331
|
+
"core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
|
|
1458
1332
|
"message": "Mục tiêu nhấn có kích thước quá nhỏ do không có thẻ meta viewport nào được tối ưu hóa cho màn hình thiết bị di động"
|
|
1459
1333
|
},
|
|
1460
|
-
"
|
|
1334
|
+
"core/audits/seo/tap-targets.js | failureTitle": {
|
|
1461
1335
|
"message": "Các mục tiêu nhấn có kích thước không phù hợp"
|
|
1462
1336
|
},
|
|
1463
|
-
"
|
|
1337
|
+
"core/audits/seo/tap-targets.js | overlappingTargetHeader": {
|
|
1464
1338
|
"message": "Mục tiêu chồng chéo"
|
|
1465
1339
|
},
|
|
1466
|
-
"
|
|
1340
|
+
"core/audits/seo/tap-targets.js | tapTargetHeader": {
|
|
1467
1341
|
"message": "Mục tiêu nhấn"
|
|
1468
1342
|
},
|
|
1469
|
-
"
|
|
1343
|
+
"core/audits/seo/tap-targets.js | title": {
|
|
1470
1344
|
"message": "Mục tiêu nhấn có kích thước phù hợp"
|
|
1471
1345
|
},
|
|
1472
|
-
"
|
|
1473
|
-
"message": "Giữ cho máy chủ phản hồi trong thời gian ngắn đối với tài liệu chính vì tất cả các yêu cầu khác phụ thuộc vào thời gian đó. [Tìm hiểu thêm](https://
|
|
1346
|
+
"core/audits/server-response-time.js | description": {
|
|
1347
|
+
"message": "Giữ cho máy chủ phản hồi trong thời gian ngắn đối với tài liệu chính vì tất cả các yêu cầu khác phụ thuộc vào thời gian đó. [Tìm hiểu thêm về chỉ số Thời gian cho byte đầu tiên](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/)."
|
|
1474
1348
|
},
|
|
1475
|
-
"
|
|
1349
|
+
"core/audits/server-response-time.js | displayValue": {
|
|
1476
1350
|
"message": "Tài liệu gốc mất {timeInMs, number, milliseconds} mili giây"
|
|
1477
1351
|
},
|
|
1478
|
-
"
|
|
1352
|
+
"core/audits/server-response-time.js | failureTitle": {
|
|
1479
1353
|
"message": "Giảm thời gian phản hồi ban đầu của máy chủ"
|
|
1480
1354
|
},
|
|
1481
|
-
"
|
|
1355
|
+
"core/audits/server-response-time.js | title": {
|
|
1482
1356
|
"message": "Thời gian phản hồi ban đầu của máy chủ là ngắn"
|
|
1483
1357
|
},
|
|
1484
|
-
"
|
|
1485
|
-
"message": "Trình chạy dịch vụ là công nghệ cho phép ứng dụng của bạn dùng nhiều tính năng của Ứng dụng web tiến bộ, chẳng hạn như hoạt động khi không có mạng, thêm vào màn hình chính
|
|
1358
|
+
"core/audits/service-worker.js | description": {
|
|
1359
|
+
"message": "Trình chạy dịch vụ là công nghệ cho phép ứng dụng của bạn dùng nhiều tính năng của Ứng dụng web tiến bộ, chẳng hạn như hoạt động khi không có mạng, thêm vào màn hình chính và thông báo đẩy. [Tìm hiểu thêm về Trình chạy dịch vụ](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1486
1360
|
},
|
|
1487
|
-
"
|
|
1361
|
+
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1488
1362
|
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, không tìm thấy `start_url` vì tệp kê khai không thể phân tích cú pháp thành tệp JSON hợp lệ"
|
|
1489
1363
|
},
|
|
1490
|
-
"
|
|
1364
|
+
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1491
1365
|
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, `start_url` ({startUrl}) không thuộc phạm vi của trình chạy dịch vụ này ({scopeUrl})"
|
|
1492
1366
|
},
|
|
1493
|
-
"
|
|
1367
|
+
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1494
1368
|
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, không tìm thấy `start_url` vì không tìm nạp được tệp kê khai."
|
|
1495
1369
|
},
|
|
1496
|
-
"
|
|
1370
|
+
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1497
1371
|
"message": "Nguồn gốc này có một hoặc nhiều trình chạy dịch vụ. Tuy nhiên, trang ({pageUrl}) không thuộc phạm vi của các trình chạy dịch vụ này."
|
|
1498
1372
|
},
|
|
1499
|
-
"
|
|
1373
|
+
"core/audits/service-worker.js | failureTitle": {
|
|
1500
1374
|
"message": "Không đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
|
|
1501
1375
|
},
|
|
1502
|
-
"
|
|
1376
|
+
"core/audits/service-worker.js | title": {
|
|
1503
1377
|
"message": "Đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
|
|
1504
1378
|
},
|
|
1505
|
-
"
|
|
1506
|
-
"message": "Màn hình chờ có giao diện giúp đảm bảo người dùng có trải nghiệm chất lượng cao khi chạy ứng dụng từ màn hình chính. [Tìm hiểu thêm](https://
|
|
1379
|
+
"core/audits/splash-screen.js | description": {
|
|
1380
|
+
"message": "Màn hình chờ có giao diện giúp đảm bảo người dùng có trải nghiệm chất lượng cao khi chạy ứng dụng từ màn hình chính. [Tìm hiểu thêm về màn hình chờ](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1507
1381
|
},
|
|
1508
|
-
"
|
|
1382
|
+
"core/audits/splash-screen.js | failureTitle": {
|
|
1509
1383
|
"message": "Chưa được định cấu hình cho màn hình chờ tùy chỉnh"
|
|
1510
1384
|
},
|
|
1511
|
-
"
|
|
1385
|
+
"core/audits/splash-screen.js | title": {
|
|
1512
1386
|
"message": "Đã định cấu hình cho màn hình chờ tùy chỉnh"
|
|
1513
1387
|
},
|
|
1514
|
-
"
|
|
1515
|
-
"message": "Bạn có thể đặt giao diện cho thanh địa chỉ trên trình duyệt để phù hợp với trang web của mình. [Tìm hiểu thêm](https://
|
|
1388
|
+
"core/audits/themed-omnibox.js | description": {
|
|
1389
|
+
"message": "Bạn có thể đặt giao diện cho thanh địa chỉ trên trình duyệt để phù hợp với trang web của mình. [Tìm hiểu thêm về cách đặt giao diện cho thanh địa chỉ](https://developer.chrome.com/docs/lighthouse/pwa/themed-omnibox/)."
|
|
1516
1390
|
},
|
|
1517
|
-
"
|
|
1391
|
+
"core/audits/themed-omnibox.js | failureTitle": {
|
|
1518
1392
|
"message": "Không đặt màu giao diện cho thanh địa chỉ."
|
|
1519
1393
|
},
|
|
1520
|
-
"
|
|
1394
|
+
"core/audits/themed-omnibox.js | title": {
|
|
1521
1395
|
"message": "Đặt màu giao diện cho thanh địa chỉ."
|
|
1522
1396
|
},
|
|
1523
|
-
"
|
|
1397
|
+
"core/audits/third-party-facades.js | categoryCustomerSuccess": {
|
|
1524
1398
|
"message": "{productName} (Sự thành công của khách hàng)"
|
|
1525
1399
|
},
|
|
1526
|
-
"
|
|
1400
|
+
"core/audits/third-party-facades.js | categoryMarketing": {
|
|
1527
1401
|
"message": "{productName} (Tiếp thị)"
|
|
1528
1402
|
},
|
|
1529
|
-
"
|
|
1403
|
+
"core/audits/third-party-facades.js | categorySocial": {
|
|
1530
1404
|
"message": "{productName} (Xã hội)"
|
|
1531
1405
|
},
|
|
1532
|
-
"
|
|
1406
|
+
"core/audits/third-party-facades.js | categoryVideo": {
|
|
1533
1407
|
"message": "{productName} (Video)"
|
|
1534
1408
|
},
|
|
1535
|
-
"
|
|
1409
|
+
"core/audits/third-party-facades.js | columnProduct": {
|
|
1536
1410
|
"message": "Sản phẩm"
|
|
1537
1411
|
},
|
|
1538
|
-
"
|
|
1539
|
-
"message": "Có thể tải từng phần một số nội dung nhúng của bên thứ ba. Hãy cân nhắc thay bằng một thành phần
|
|
1412
|
+
"core/audits/third-party-facades.js | description": {
|
|
1413
|
+
"message": "Có thể tải từng phần một số nội dung nhúng của bên thứ ba. Hãy cân nhắc thay bằng một thành phần tượng trưng cho đến khi cần đến các nội dung này. [Tìm hiểu cách trì hoãn nội dung nhúng của bên thứ ba bằng thành phần tượng trưng](https://developer.chrome.com/docs/lighthouse/performance/third-party-facades/)."
|
|
1540
1414
|
},
|
|
1541
|
-
"
|
|
1415
|
+
"core/audits/third-party-facades.js | displayValue": {
|
|
1542
1416
|
"message": "{itemCount,plural, =1{Có # thành phần thay thế dung lượng nhẹ}other{Có # thành phần thay thế dung lượng nhẹ}}"
|
|
1543
1417
|
},
|
|
1544
|
-
"
|
|
1418
|
+
"core/audits/third-party-facades.js | failureTitle": {
|
|
1545
1419
|
"message": "Có thể tải từng phần một số tài nguyên của bên thứ ba bằng một thành phần dung lượng nhẹ"
|
|
1546
1420
|
},
|
|
1547
|
-
"
|
|
1421
|
+
"core/audits/third-party-facades.js | title": {
|
|
1548
1422
|
"message": "Tải từng phần các tài nguyên của bên thứ ba bằng thành phần dung lượng nhẹ"
|
|
1549
1423
|
},
|
|
1550
|
-
"
|
|
1424
|
+
"core/audits/third-party-summary.js | columnThirdParty": {
|
|
1551
1425
|
"message": "Bên thứ ba"
|
|
1552
1426
|
},
|
|
1553
|
-
"
|
|
1554
|
-
"message": "Mã của bên thứ ba có thể tác động đáng kể đến hiệu suất tải. Hãy hạn chế số nhà cung cấp bên thứ ba dư thừa và cố gắng tải mã của bên thứ ba sau khi trang của bạn hoàn thành phần lớn quá trình tải. [Tìm hiểu
|
|
1427
|
+
"core/audits/third-party-summary.js | description": {
|
|
1428
|
+
"message": "Mã của bên thứ ba có thể tác động đáng kể đến hiệu suất tải. Hãy hạn chế số nhà cung cấp bên thứ ba dư thừa và cố gắng tải mã của bên thứ ba sau khi trang của bạn hoàn thành phần lớn quá trình tải. [Tìm hiểu cách giảm thiểu tác động từ mã của bên thứ ba](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
|
|
1555
1429
|
},
|
|
1556
|
-
"
|
|
1430
|
+
"core/audits/third-party-summary.js | displayValue": {
|
|
1557
1431
|
"message": "Mã của bên thứ ba đã chặn chuỗi chính trong {timeInMs, number, milliseconds} mili giây"
|
|
1558
1432
|
},
|
|
1559
|
-
"
|
|
1433
|
+
"core/audits/third-party-summary.js | failureTitle": {
|
|
1560
1434
|
"message": "Giảm mức ảnh hưởng của mã bên thứ ba"
|
|
1561
1435
|
},
|
|
1562
|
-
"
|
|
1436
|
+
"core/audits/third-party-summary.js | title": {
|
|
1563
1437
|
"message": "Giảm thiểu mức sử dụng của bên thứ ba"
|
|
1564
1438
|
},
|
|
1565
|
-
"
|
|
1439
|
+
"core/audits/timing-budget.js | columnMeasurement": {
|
|
1566
1440
|
"message": "Đo lường"
|
|
1567
1441
|
},
|
|
1568
|
-
"
|
|
1442
|
+
"core/audits/timing-budget.js | columnTimingMetric": {
|
|
1569
1443
|
"message": "Chỉ số"
|
|
1570
1444
|
},
|
|
1571
|
-
"
|
|
1572
|
-
"message": "Khi đặt giới hạn về thời gian, bạn sẽ có thể theo dõi được hiệu suất trang web của mình. Các trang có hiệu suất cao sẽ tải và phản hồi nhanh với các sự kiện
|
|
1445
|
+
"core/audits/timing-budget.js | description": {
|
|
1446
|
+
"message": "Khi đặt giới hạn về thời gian, bạn sẽ có thể theo dõi được hiệu suất trang web của mình. Các trang có hiệu suất cao sẽ tải và phản hồi nhanh với các sự kiện hoạt động đầu vào của người dùng. [Tìm hiểu thêm về ngân sách hiệu suất](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
|
|
1573
1447
|
},
|
|
1574
|
-
"
|
|
1448
|
+
"core/audits/timing-budget.js | title": {
|
|
1575
1449
|
"message": "Giới hạn về thời gian"
|
|
1576
1450
|
},
|
|
1577
|
-
"
|
|
1578
|
-
"message": "Đặt chiều rộng và chiều cao rõ ràng đối với các phần tử hình ảnh để giảm sự thay đổi về bố cục và cải thiện CLS. [Tìm hiểu
|
|
1451
|
+
"core/audits/unsized-images.js | description": {
|
|
1452
|
+
"message": "Đặt chiều rộng và chiều cao rõ ràng đối với các phần tử hình ảnh để giảm sự thay đổi về bố cục và cải thiện CLS (Điểm số tổng hợp về mức thay đổi bố cục). [Tìm hiểu cách đặt kích thước hình ảnh](https://web.dev/optimize-cls/#images-without-dimensions)"
|
|
1579
1453
|
},
|
|
1580
|
-
"
|
|
1454
|
+
"core/audits/unsized-images.js | failureTitle": {
|
|
1581
1455
|
"message": "Các phần tử hình ảnh không có `width` và `height` rõ ràng"
|
|
1582
1456
|
},
|
|
1583
|
-
"
|
|
1457
|
+
"core/audits/unsized-images.js | title": {
|
|
1584
1458
|
"message": "Các phần tử hình ảnh có `width` và `height` rõ ràng"
|
|
1585
1459
|
},
|
|
1586
|
-
"
|
|
1460
|
+
"core/audits/user-timings.js | columnType": {
|
|
1587
1461
|
"message": "Loại"
|
|
1588
1462
|
},
|
|
1589
|
-
"
|
|
1590
|
-
"message": "Hãy cân nhắc trang bị API Thời gian người dùng cho ứng dụng để đo lường hiệu suất thực tế của ứng dụng trong trải nghiệm người dùng chính. [Tìm hiểu thêm](https://
|
|
1463
|
+
"core/audits/user-timings.js | description": {
|
|
1464
|
+
"message": "Hãy cân nhắc trang bị API Thời gian người dùng cho ứng dụng để đo lường hiệu suất thực tế của ứng dụng trong trải nghiệm người dùng chính. [Tìm hiểu thêm về các mốc Thời gian người dùng](https://developer.chrome.com/docs/lighthouse/performance/user-timings/)."
|
|
1591
1465
|
},
|
|
1592
|
-
"
|
|
1466
|
+
"core/audits/user-timings.js | displayValue": {
|
|
1593
1467
|
"message": "{itemCount,plural, =1{1 dấu thời gian người dùng}other{# dấu thời gian người dùng}}"
|
|
1594
1468
|
},
|
|
1595
|
-
"
|
|
1469
|
+
"core/audits/user-timings.js | title": {
|
|
1596
1470
|
"message": "Các thời điểm cụ thể và khoảng thời gian được ghi lại bằng API Thời gian người dùng"
|
|
1597
1471
|
},
|
|
1598
|
-
"
|
|
1472
|
+
"core/audits/uses-rel-preconnect.js | crossoriginWarning": {
|
|
1599
1473
|
"message": "Đã tìm thấy `<link rel=preconnect>` cho \"{securityOrigin}\" nhưng trình duyệt không sử dụng thuộc tính này. Hãy kiểm tra để đảm bảo rằng bạn đang sử dụng thuộc tính `crossorigin` đúng cách."
|
|
1600
1474
|
},
|
|
1601
|
-
"
|
|
1602
|
-
"message": "Hãy cân nhắc thêm các gợi ý về tài nguyên `preconnect` hoặc `dns-prefetch` để thiết lập kết nối sớm tới những nguồn gốc quan trọng của bên thứ ba. [Tìm hiểu
|
|
1475
|
+
"core/audits/uses-rel-preconnect.js | description": {
|
|
1476
|
+
"message": "Hãy cân nhắc thêm các gợi ý về tài nguyên `preconnect` hoặc `dns-prefetch` để thiết lập kết nối sớm tới những nguồn gốc quan trọng của bên thứ ba. [Tìm hiểu cách kết nối trước với những nguồn gốc bắt buộc](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/)."
|
|
1603
1477
|
},
|
|
1604
|
-
"
|
|
1478
|
+
"core/audits/uses-rel-preconnect.js | title": {
|
|
1605
1479
|
"message": "Kết nối trước với các tên miền bắt buộc"
|
|
1606
1480
|
},
|
|
1607
|
-
"
|
|
1481
|
+
"core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
|
|
1608
1482
|
"message": "Đã phát hiện có hơn 2 đường kết nối `<link rel=preconnect>`. Bạn nên dùng những đường kết nối này một cách hợp lý và chỉ dùng cho các điểm gốc quan trọng nhất."
|
|
1609
1483
|
},
|
|
1610
|
-
"
|
|
1484
|
+
"core/audits/uses-rel-preconnect.js | unusedWarning": {
|
|
1611
1485
|
"message": "Đã tìm thấy `<link rel=preconnect>` cho \"{securityOrigin}\" nhưng trình duyệt không sử dụng thuộc tính này. Chỉ sử dụng `preconnect` cho những điểm gốc quan trọng mà trang chắc chắn sẽ yêu cầu."
|
|
1612
1486
|
},
|
|
1613
|
-
"
|
|
1487
|
+
"core/audits/uses-rel-preload.js | crossoriginWarning": {
|
|
1614
1488
|
"message": "Đã tìm thấy `<link>` tải trước cho \"{preloadURL}\" nhưng trình duyệt không sử dụng thuộc tính này. Hãy kiểm tra để đảm bảo rằng bạn đang sử dụng thuộc tính `crossorigin` đúng cách."
|
|
1615
1489
|
},
|
|
1616
|
-
"
|
|
1617
|
-
"message": "Hãy cân nhắc sử dụng `<link rel=preload>` để ưu tiên tìm nạp các tài nguyên đang được yêu cầu vào một thời điểm khác trong quá trình tải trang. [Tìm hiểu
|
|
1490
|
+
"core/audits/uses-rel-preload.js | description": {
|
|
1491
|
+
"message": "Hãy cân nhắc sử dụng `<link rel=preload>` để sắp xếp thứ tự ưu tiên tìm nạp các tài nguyên đang được yêu cầu vào một thời điểm khác trong quá trình tải trang. [Tìm hiểu cách tải trước các yêu cầu chính](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preload/)."
|
|
1618
1492
|
},
|
|
1619
|
-
"
|
|
1493
|
+
"core/audits/uses-rel-preload.js | title": {
|
|
1620
1494
|
"message": "Tải trước các yêu cầu chính"
|
|
1621
1495
|
},
|
|
1622
|
-
"
|
|
1496
|
+
"core/audits/valid-source-maps.js | columnMapURL": {
|
|
1623
1497
|
"message": "URL của bản đồ"
|
|
1624
1498
|
},
|
|
1625
|
-
"
|
|
1626
|
-
"message": "Bản đồ nguồn sẽ chuyển mã đã giảm thiểu thành mã nguồn gốc. Việc này giúp các nhà phát triển gỡ lỗi trong bản phát hành chính thức. Ngoài ra, Lighthouse cũng có thể cung cấp thêm thông tin chi tiết. Hãy cân nhắc triển khai bản đồ nguồn để tận dụng những lợi ích này. [Tìm hiểu thêm](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)"
|
|
1499
|
+
"core/audits/valid-source-maps.js | description": {
|
|
1500
|
+
"message": "Bản đồ nguồn sẽ chuyển mã đã giảm thiểu thành mã nguồn gốc. Việc này giúp các nhà phát triển gỡ lỗi trong bản phát hành chính thức. Ngoài ra, Lighthouse cũng có thể cung cấp thêm thông tin chi tiết. Hãy cân nhắc triển khai bản đồ nguồn để tận dụng những lợi ích này. [Tìm hiểu thêm về bản đồ nguồn](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)."
|
|
1627
1501
|
},
|
|
1628
|
-
"
|
|
1502
|
+
"core/audits/valid-source-maps.js | failureTitle": {
|
|
1629
1503
|
"message": "Thiếu bản đồ nguồn cho JavaScript lớn của bên thứ nhất"
|
|
1630
1504
|
},
|
|
1631
|
-
"
|
|
1505
|
+
"core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
|
|
1632
1506
|
"message": "Tệp JavaScript lớn thiếu bản đồ nguồn"
|
|
1633
1507
|
},
|
|
1634
|
-
"
|
|
1508
|
+
"core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
|
|
1635
1509
|
"message": "{missingItems,plural, =1{Cảnh báo: thiếu 1 mục trong `.sourcesContent`}other{Cảnh báo: thiếu # mục trong `.sourcesContent`}}"
|
|
1636
1510
|
},
|
|
1637
|
-
"
|
|
1511
|
+
"core/audits/valid-source-maps.js | title": {
|
|
1638
1512
|
"message": "Trang có bản đồ nguồn hợp lệ"
|
|
1639
1513
|
},
|
|
1640
|
-
"
|
|
1641
|
-
"message": "`<meta name=\"viewport\">` không chỉ tối ưu
|
|
1514
|
+
"core/audits/viewport.js | description": {
|
|
1515
|
+
"message": "`<meta name=\"viewport\">` không chỉ tối ưu hoá ứng dụng của bạn cho các kích thước màn hình trên thiết bị di động mà còn ngăn [độ trễ 300 mili giây xảy ra đối với hoạt động đầu vào của người dùng](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/). [Tìm hiểu thêm về cách sử dụng thẻ meta cửa sổ xem](https://developer.chrome.com/docs/lighthouse/pwa/viewport/)."
|
|
1642
1516
|
},
|
|
1643
|
-
"
|
|
1517
|
+
"core/audits/viewport.js | explanationNoTag": {
|
|
1644
1518
|
"message": "Không tìm thấy thẻ `<meta name=\"viewport\">`"
|
|
1645
1519
|
},
|
|
1646
|
-
"
|
|
1520
|
+
"core/audits/viewport.js | failureTitle": {
|
|
1647
1521
|
"message": "Không có thẻ `<meta name=\"viewport\">` có `width` hoặc `initial-scale`"
|
|
1648
1522
|
},
|
|
1649
|
-
"
|
|
1523
|
+
"core/audits/viewport.js | title": {
|
|
1650
1524
|
"message": "Có thẻ `<meta name=\"viewport\">` có `width` hoặc `initial-scale`"
|
|
1651
1525
|
},
|
|
1652
|
-
"
|
|
1526
|
+
"core/audits/work-during-interaction.js | description": {
|
|
1527
|
+
"message": "Đây là công việc chặn chuỗi xảy ra trong quá trình đo lường Hoạt động tương tác với thời gian hiển thị tiếp theo. [Tìm hiểu thêm về chỉ số Hoạt động tương tác với thời gian hiển thị tiếp theo](https://web.dev/inp/)."
|
|
1528
|
+
},
|
|
1529
|
+
"core/audits/work-during-interaction.js | displayValue": {
|
|
1530
|
+
"message": "Khoảng thời gian dành cho sự kiện \"{interactionType}\" là {timeInMs, number, milliseconds} mili giây"
|
|
1531
|
+
},
|
|
1532
|
+
"core/audits/work-during-interaction.js | eventTarget": {
|
|
1533
|
+
"message": "Mục tiêu của sự kiện"
|
|
1534
|
+
},
|
|
1535
|
+
"core/audits/work-during-interaction.js | failureTitle": {
|
|
1536
|
+
"message": "Giảm thiểu công việc trong hoạt động tương tác chính"
|
|
1537
|
+
},
|
|
1538
|
+
"core/audits/work-during-interaction.js | inputDelay": {
|
|
1539
|
+
"message": "Độ trễ khi nhập thông tin"
|
|
1540
|
+
},
|
|
1541
|
+
"core/audits/work-during-interaction.js | presentationDelay": {
|
|
1542
|
+
"message": "Độ trễ khi trình bày"
|
|
1543
|
+
},
|
|
1544
|
+
"core/audits/work-during-interaction.js | processingTime": {
|
|
1545
|
+
"message": "Thời gian xử lý"
|
|
1546
|
+
},
|
|
1547
|
+
"core/audits/work-during-interaction.js | title": {
|
|
1548
|
+
"message": "Giảm thiểu công việc trong hoạt động tương tác chính"
|
|
1549
|
+
},
|
|
1550
|
+
"core/config/default-config.js | a11yAriaGroupDescription": {
|
|
1653
1551
|
"message": "Đây là những cơ hội giúp cải thiện việc sử dụng ARIA trong ứng dụng của bạn, nhờ đó có thể nâng cao trải nghiệm cho người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình."
|
|
1654
1552
|
},
|
|
1655
|
-
"
|
|
1553
|
+
"core/config/default-config.js | a11yAriaGroupTitle": {
|
|
1656
1554
|
"message": "ARIA"
|
|
1657
1555
|
},
|
|
1658
|
-
"
|
|
1556
|
+
"core/config/default-config.js | a11yAudioVideoGroupDescription": {
|
|
1659
1557
|
"message": "Đây là các cơ hội để cung cấp nội dung thay thế cho âm thanh và video. Điều này có thể cải thiện trải nghiệm của người dùng khiếm thính hoặc khiếm thị."
|
|
1660
1558
|
},
|
|
1661
|
-
"
|
|
1559
|
+
"core/config/default-config.js | a11yAudioVideoGroupTitle": {
|
|
1662
1560
|
"message": "Âm thanh và video"
|
|
1663
1561
|
},
|
|
1664
|
-
"
|
|
1562
|
+
"core/config/default-config.js | a11yBestPracticesGroupDescription": {
|
|
1665
1563
|
"message": "Những mục này nêu bật các phương pháp hay nhất thường dùng cho hỗ trợ tiếp cận"
|
|
1666
1564
|
},
|
|
1667
|
-
"
|
|
1565
|
+
"core/config/default-config.js | a11yBestPracticesGroupTitle": {
|
|
1668
1566
|
"message": "Những phương pháp hay nhất"
|
|
1669
1567
|
},
|
|
1670
|
-
"
|
|
1671
|
-
"message": "Các hoạt động kiểm tra này giúp xác định cơ hội [cải thiện khả năng hỗ trợ tiếp cận của ứng dụng web](https://
|
|
1568
|
+
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1569
|
+
"message": "Các hoạt động kiểm tra này giúp xác định cơ hội [cải thiện khả năng hỗ trợ tiếp cận của ứng dụng web](https://developer.chrome.com/docs/lighthouse/accessibility/). Các hoạt động này chỉ có thể tự động phát hiện một phần vấn đề liên quan đến khả năng hỗ trợ tiếp cận, do đó, bạn nên kiểm tra cả theo cách thủ công."
|
|
1672
1570
|
},
|
|
1673
|
-
"
|
|
1674
|
-
"message": "Các mục này nằm trong vùng không thể sử dụng công cụ kiểm tra tự động. Tìm hiểu thêm trong hướng dẫn của chúng tôi về cách [đánh giá khả năng hỗ trợ tiếp cận](https://
|
|
1571
|
+
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1572
|
+
"message": "Các mục này nằm trong vùng không thể sử dụng công cụ kiểm tra tự động. Tìm hiểu thêm trong hướng dẫn của chúng tôi về cách [đánh giá khả năng hỗ trợ tiếp cận](https://web.dev/how-to-review/)."
|
|
1675
1573
|
},
|
|
1676
|
-
"
|
|
1574
|
+
"core/config/default-config.js | a11yCategoryTitle": {
|
|
1677
1575
|
"message": "Hỗ trợ tiếp cận"
|
|
1678
1576
|
},
|
|
1679
|
-
"
|
|
1577
|
+
"core/config/default-config.js | a11yColorContrastGroupDescription": {
|
|
1680
1578
|
"message": "Đây là các cơ hội giúp cải thiện độ dễ đọc cho nội dung của bạn."
|
|
1681
1579
|
},
|
|
1682
|
-
"
|
|
1580
|
+
"core/config/default-config.js | a11yColorContrastGroupTitle": {
|
|
1683
1581
|
"message": "Độ tương phản"
|
|
1684
1582
|
},
|
|
1685
|
-
"
|
|
1583
|
+
"core/config/default-config.js | a11yLanguageGroupDescription": {
|
|
1686
1584
|
"message": "Đây là những cơ hội giúp cải thiện khả năng diễn giải của người dùng đối với nội dung của bạn ở các ngôn ngữ khác nhau."
|
|
1687
1585
|
},
|
|
1688
|
-
"
|
|
1586
|
+
"core/config/default-config.js | a11yLanguageGroupTitle": {
|
|
1689
1587
|
"message": "Quốc tế hóa và bản địa hóa"
|
|
1690
1588
|
},
|
|
1691
|
-
"
|
|
1589
|
+
"core/config/default-config.js | a11yNamesLabelsGroupDescription": {
|
|
1692
1590
|
"message": "Đây là những cơ hội giúp cải thiện chức năng diễn giải ngữ nghĩa của các biện pháp kiểm soát trong ứng dụng của bạn. Điều này có thể nâng cao trải nghiệm cho những người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình."
|
|
1693
1591
|
},
|
|
1694
|
-
"
|
|
1592
|
+
"core/config/default-config.js | a11yNamesLabelsGroupTitle": {
|
|
1695
1593
|
"message": "Tên và nhãn"
|
|
1696
1594
|
},
|
|
1697
|
-
"
|
|
1595
|
+
"core/config/default-config.js | a11yNavigationGroupDescription": {
|
|
1698
1596
|
"message": "Đây là các cơ hội để cải thiện khả năng điều hướng bằng bàn phím trong ứng dụng của bạn."
|
|
1699
1597
|
},
|
|
1700
|
-
"
|
|
1598
|
+
"core/config/default-config.js | a11yNavigationGroupTitle": {
|
|
1701
1599
|
"message": "Điều hướng"
|
|
1702
1600
|
},
|
|
1703
|
-
"
|
|
1601
|
+
"core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
|
|
1704
1602
|
"message": "Đây là những cơ hội để cải thiện trải nghiệm đọc dữ liệu trong bảng hoặc danh sách bằng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình."
|
|
1705
1603
|
},
|
|
1706
|
-
"
|
|
1604
|
+
"core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
|
|
1707
1605
|
"message": "Bảng và danh sách"
|
|
1708
1606
|
},
|
|
1709
|
-
"
|
|
1607
|
+
"core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
|
|
1710
1608
|
"message": "Khả năng tương thích của trình duyệt"
|
|
1711
1609
|
},
|
|
1712
|
-
"
|
|
1610
|
+
"core/config/default-config.js | bestPracticesCategoryTitle": {
|
|
1713
1611
|
"message": "Phương pháp hay nhất"
|
|
1714
1612
|
},
|
|
1715
|
-
"
|
|
1613
|
+
"core/config/default-config.js | bestPracticesGeneralGroupTitle": {
|
|
1716
1614
|
"message": "Chung"
|
|
1717
1615
|
},
|
|
1718
|
-
"
|
|
1616
|
+
"core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
|
|
1719
1617
|
"message": "Tin cậy và an toàn"
|
|
1720
1618
|
},
|
|
1721
|
-
"
|
|
1619
|
+
"core/config/default-config.js | bestPracticesUXGroupTitle": {
|
|
1722
1620
|
"message": "Trải nghiệm người dùng"
|
|
1723
1621
|
},
|
|
1724
|
-
"
|
|
1622
|
+
"core/config/default-config.js | budgetsGroupDescription": {
|
|
1725
1623
|
"message": "Phần Ngân sách hiệu suất đặt ra tiêu chuẩn về hiệu suất của trang web."
|
|
1726
1624
|
},
|
|
1727
|
-
"
|
|
1625
|
+
"core/config/default-config.js | budgetsGroupTitle": {
|
|
1728
1626
|
"message": "Ngân sách"
|
|
1729
1627
|
},
|
|
1730
|
-
"
|
|
1731
|
-
"message": "Thông tin bổ sung về hiệu suất của ứng dụng. Những số liệu này không [trực tiếp ảnh hưởng](https://
|
|
1628
|
+
"core/config/default-config.js | diagnosticsGroupDescription": {
|
|
1629
|
+
"message": "Thông tin bổ sung về hiệu suất của ứng dụng. Những số liệu này không [trực tiếp ảnh hưởng](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) đến Điểm hiệu suất."
|
|
1732
1630
|
},
|
|
1733
|
-
"
|
|
1631
|
+
"core/config/default-config.js | diagnosticsGroupTitle": {
|
|
1734
1632
|
"message": "Chẩn đoán"
|
|
1735
1633
|
},
|
|
1736
|
-
"
|
|
1634
|
+
"core/config/default-config.js | firstPaintImprovementsGroupDescription": {
|
|
1737
1635
|
"message": "Khía cạnh quan trọng nhất của hiệu suất là tốc độ hiển thị pixel nhanh chóng trên màn hình. Các chỉ số chính: Hình ảnh có nội dung đầu tiên, Hình ảnh có ý nghĩa đầu tiên"
|
|
1738
1636
|
},
|
|
1739
|
-
"
|
|
1637
|
+
"core/config/default-config.js | firstPaintImprovementsGroupTitle": {
|
|
1740
1638
|
"message": "Các thao tác để cải thiện thời gian hiển thị hình ảnh đầu tiên"
|
|
1741
1639
|
},
|
|
1742
|
-
"
|
|
1743
|
-
"message": "Những đề xuất này có thể giúp trang của bạn tải nhanh hơn, chứ không [trực tiếp ảnh hưởng](https://
|
|
1640
|
+
"core/config/default-config.js | loadOpportunitiesGroupDescription": {
|
|
1641
|
+
"message": "Những đề xuất này có thể giúp trang của bạn tải nhanh hơn, chứ không [trực tiếp ảnh hưởng](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) đến Điểm hiệu suất."
|
|
1744
1642
|
},
|
|
1745
|
-
"
|
|
1643
|
+
"core/config/default-config.js | loadOpportunitiesGroupTitle": {
|
|
1746
1644
|
"message": "Cơ hội"
|
|
1747
1645
|
},
|
|
1748
|
-
"
|
|
1646
|
+
"core/config/default-config.js | metricGroupTitle": {
|
|
1749
1647
|
"message": "Các chỉ số"
|
|
1750
1648
|
},
|
|
1751
|
-
"
|
|
1649
|
+
"core/config/default-config.js | overallImprovementsGroupDescription": {
|
|
1752
1650
|
"message": "Cải thiện trải nghiệm tải tổng thể để trang phản hồi và sẵn sàng cho bạn sử dụng sớm nhất có thể. Các số liệu chính: Thời điểm tương tác, Chỉ số tốc độ"
|
|
1753
1651
|
},
|
|
1754
|
-
"
|
|
1652
|
+
"core/config/default-config.js | overallImprovementsGroupTitle": {
|
|
1755
1653
|
"message": "Các thao tác để cải thiện hiệu suất tổng thể"
|
|
1756
1654
|
},
|
|
1757
|
-
"
|
|
1655
|
+
"core/config/default-config.js | performanceCategoryTitle": {
|
|
1758
1656
|
"message": "Hiệu suất"
|
|
1759
1657
|
},
|
|
1760
|
-
"
|
|
1761
|
-
"message": "Những hoạt động kiểm tra này sẽ xác thực các
|
|
1658
|
+
"core/config/default-config.js | pwaCategoryDescription": {
|
|
1659
|
+
"message": "Những hoạt động kiểm tra này sẽ xác thực các chương trình thành phần của Ứng dụng web tiến bộ. [Tìm hiểu những tiêu chí của Ứng dụng web tiến bộ hiệu quả](https://web.dev/pwa-checklist/)."
|
|
1762
1660
|
},
|
|
1763
|
-
"
|
|
1764
|
-
"message": "Đây là những hoạt động kiểm tra được chỉ định trong [Danh sách kiểm tra ứng dụng web tiến bộ (PWA)](https://
|
|
1661
|
+
"core/config/default-config.js | pwaCategoryManualDescription": {
|
|
1662
|
+
"message": "Đây là những hoạt động kiểm tra được chỉ định trong [Danh sách kiểm tra ứng dụng web tiến bộ (PWA)](https://web.dev/pwa-checklist/) cơ bản, nhưng Lighthouse không tự động kiểm tra các mục này. Các hoạt động kiểm tra này không ảnh hưởng đến điểm số của bạn, nhưng bạn nên xác minh theo cách thủ công."
|
|
1765
1663
|
},
|
|
1766
|
-
"
|
|
1664
|
+
"core/config/default-config.js | pwaCategoryTitle": {
|
|
1767
1665
|
"message": "PWA"
|
|
1768
1666
|
},
|
|
1769
|
-
"
|
|
1667
|
+
"core/config/default-config.js | pwaInstallableGroupTitle": {
|
|
1770
1668
|
"message": "Có thể cài đặt"
|
|
1771
1669
|
},
|
|
1772
|
-
"
|
|
1670
|
+
"core/config/default-config.js | pwaOptimizedGroupTitle": {
|
|
1773
1671
|
"message": "PWA đã tối ưu hóa"
|
|
1774
1672
|
},
|
|
1775
|
-
"
|
|
1776
|
-
"message": "Các hoạt động kiểm tra này đảm bảo rằng trang của bạn
|
|
1673
|
+
"core/config/default-config.js | seoCategoryDescription": {
|
|
1674
|
+
"message": "Các hoạt động kiểm tra này đảm bảo rằng trang của bạn tuân theo lời khuyên cơ bản về cách tối ưu hoá cho công cụ tìm kiếm. Có nhiều yếu tố bổ sung mà Lighthouse không xếp hạng ở đây có thể ảnh hưởng đến thứ hạng của bạn trong kết quả tìm kiếm, kể cả hiệu suất của [Các chỉ số quan trọng về trang web](https://web.dev/learn-core-web-vitals/). [Tìm hiểu thêm Kiến thức thiết yếu về Google Tìm kiếm](https://support.google.com/webmasters/answer/35769)."
|
|
1777
1675
|
},
|
|
1778
|
-
"
|
|
1676
|
+
"core/config/default-config.js | seoCategoryManualDescription": {
|
|
1779
1677
|
"message": "Chạy những trình xác thực bổ sung này trên trang web của bạn để xem thêm các phương pháp hay nhất dành cho quy trình Tối ưu hóa cho công cụ tìm kiếm (SEO)."
|
|
1780
1678
|
},
|
|
1781
|
-
"
|
|
1679
|
+
"core/config/default-config.js | seoCategoryTitle": {
|
|
1782
1680
|
"message": "SEO"
|
|
1783
1681
|
},
|
|
1784
|
-
"
|
|
1682
|
+
"core/config/default-config.js | seoContentGroupDescription": {
|
|
1785
1683
|
"message": "Định dạng HTML sao cho các trình thu thập thông tin có thể hiểu rõ hơn nội dung trong ứng dụng của bạn."
|
|
1786
1684
|
},
|
|
1787
|
-
"
|
|
1685
|
+
"core/config/default-config.js | seoContentGroupTitle": {
|
|
1788
1686
|
"message": "Những phương pháp hay nhất về nội dung"
|
|
1789
1687
|
},
|
|
1790
|
-
"
|
|
1688
|
+
"core/config/default-config.js | seoCrawlingGroupDescription": {
|
|
1791
1689
|
"message": "Để xuất hiện trong kết quả tìm kiếm, các trình thu thập thông tin cần quyền truy cập vào ứng dụng của bạn."
|
|
1792
1690
|
},
|
|
1793
|
-
"
|
|
1691
|
+
"core/config/default-config.js | seoCrawlingGroupTitle": {
|
|
1794
1692
|
"message": "Thu thập thông tin và lập chỉ mục"
|
|
1795
1693
|
},
|
|
1796
|
-
"
|
|
1797
|
-
"message": "Đảm bảo các trang của bạn
|
|
1694
|
+
"core/config/default-config.js | seoMobileGroupDescription": {
|
|
1695
|
+
"message": "Đảm bảo các trang của bạn phù hợp với thiết bị di động để người dùng có thể đọc các trang nội dung mà không cần thu phóng. [Tìm hiểu cách điều chỉnh các trang cho phù hợp với thiết bị di động](https://developers.google.com/search/mobile-sites/)."
|
|
1798
1696
|
},
|
|
1799
|
-
"
|
|
1697
|
+
"core/config/default-config.js | seoMobileGroupTitle": {
|
|
1800
1698
|
"message": "Thân thiện với thiết bị di động"
|
|
1801
1699
|
},
|
|
1802
|
-
"
|
|
1803
|
-
"message": "Có vẻ như thiết bị được thử nghiệm có CPU chậm hơn mức Lighthouse mong đợi. Điều này có thể ảnh hưởng tiêu cực đến điểm hiệu suất của bạn. Tìm hiểu thêm về cách [hiệu chỉnh một hệ số giảm tốc CPU phù hợp](https://github.com/GoogleChrome/lighthouse/blob/
|
|
1700
|
+
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1701
|
+
"message": "Có vẻ như thiết bị được thử nghiệm có CPU chậm hơn mức Lighthouse mong đợi. Điều này có thể ảnh hưởng tiêu cực đến điểm hiệu suất của bạn. Tìm hiểu thêm về cách [hiệu chỉnh một hệ số giảm tốc CPU phù hợp](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
|
|
1804
1702
|
},
|
|
1805
|
-
"
|
|
1703
|
+
"core/gather/driver/navigation.js | warningRedirected": {
|
|
1806
1704
|
"message": "Trang có thể không tải như dự kiến do URL kiểm tra của bạn ({requested}) đã được chuyển hướng tới {final}. Hãy thử kiểm tra trực tiếp URL thứ hai."
|
|
1807
1705
|
},
|
|
1808
|
-
"
|
|
1706
|
+
"core/gather/driver/navigation.js | warningTimeout": {
|
|
1809
1707
|
"message": "Trang này tải quá chậm nên không hoàn tất được trong giới hạn thời gian. Các kết quả có thể chưa hoàn chỉnh."
|
|
1810
1708
|
},
|
|
1811
|
-
"
|
|
1709
|
+
"core/gather/driver/storage.js | warningCacheTimeout": {
|
|
1710
|
+
"message": "Đã hết thời gian chờ xoá bộ nhớ đệm của trình duyệt. Hãy thử kiểm tra lại trang này và báo cáo lỗi nếu sự cố vẫn tiếp diễn."
|
|
1711
|
+
},
|
|
1712
|
+
"core/gather/driver/storage.js | warningData": {
|
|
1812
1713
|
"message": "{locationCount,plural, =1{Dữ liệu đã lưu trữ có thể ảnh hưởng đến hiệu suất tải ở vị trí này: {locations}. Hãy kiểm tra trang này trong một cửa sổ ẩn danh để ngăn các tài nguyên đó ảnh hưởng đến điểm hiệu suất của bạn.}other{Dữ liệu đã lưu trữ có thể ảnh hưởng đến hiệu suất tải ở các vị trí này: {locations}. Hãy kiểm tra trang này trong một cửa sổ ẩn danh để ngăn các tài nguyên đó ảnh hưởng đến điểm hiệu suất của bạn.}}"
|
|
1813
1714
|
},
|
|
1814
|
-
"
|
|
1715
|
+
"core/gather/driver/storage.js | warningOriginDataTimeout": {
|
|
1716
|
+
"message": "Đã hết thời gian chờ xoá dữ liệu gốc. Hãy thử kiểm tra lại trang này và báo cáo lỗi nếu sự cố vẫn tiếp diễn."
|
|
1717
|
+
},
|
|
1718
|
+
"core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
|
|
1719
|
+
"message": "Chỉ những trang được tải qua yêu cầu GET mới đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1720
|
+
},
|
|
1721
|
+
"core/lib/bf-cache-strings.js | HTTPStatusNotOK": {
|
|
1722
|
+
"message": "Chỉ những trang có mã trạng thái là 2XX mới được lưu vào bộ nhớ đệm."
|
|
1723
|
+
},
|
|
1724
|
+
"core/lib/bf-cache-strings.js | JavaScriptExecution": {
|
|
1725
|
+
"message": "Chrome đã phát hiện thấy một lần thử thực thi JavaScript khi đang ở bộ nhớ đệm."
|
|
1726
|
+
},
|
|
1727
|
+
"core/lib/bf-cache-strings.js | appBanner": {
|
|
1728
|
+
"message": "Những trang đã yêu cầu AppBanner hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1729
|
+
},
|
|
1730
|
+
"core/lib/bf-cache-strings.js | backForwardCacheDisabled": {
|
|
1731
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do cờ. Hãy truy cập chrome://flags/#back-forward-cache để bật bộ nhớ đó trên thiết bị này."
|
|
1732
|
+
},
|
|
1733
|
+
"core/lib/bf-cache-strings.js | backForwardCacheDisabledByCommandLine": {
|
|
1734
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do dòng lệnh."
|
|
1735
|
+
},
|
|
1736
|
+
"core/lib/bf-cache-strings.js | backForwardCacheDisabledByLowMemory": {
|
|
1737
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do thiếu bộ nhớ."
|
|
1738
|
+
},
|
|
1739
|
+
"core/lib/bf-cache-strings.js | backForwardCacheDisabledForDelegate": {
|
|
1740
|
+
"message": "Trang được uỷ quyền không hỗ trợ bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1741
|
+
},
|
|
1742
|
+
"core/lib/bf-cache-strings.js | backForwardCacheDisabledForPrerender": {
|
|
1743
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt đối với trình kết xuất trước."
|
|
1744
|
+
},
|
|
1745
|
+
"core/lib/bf-cache-strings.js | broadcastChannel": {
|
|
1746
|
+
"message": "Không thể lưu trang này vào bộ nhớ đệm vì trang có một thực thể BroadcastChannel chứa các trình nghe đã đăng ký."
|
|
1747
|
+
},
|
|
1748
|
+
"core/lib/bf-cache-strings.js | cacheControlNoStore": {
|
|
1749
|
+
"message": "Những trang có tiêu đề cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1750
|
+
},
|
|
1751
|
+
"core/lib/bf-cache-strings.js | cacheFlushed": {
|
|
1752
|
+
"message": "Bộ nhớ đệm này đã bị xoá một cách có chủ đích."
|
|
1753
|
+
},
|
|
1754
|
+
"core/lib/bf-cache-strings.js | cacheLimit": {
|
|
1755
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
|
|
1756
|
+
},
|
|
1757
|
+
"core/lib/bf-cache-strings.js | containsPlugins": {
|
|
1758
|
+
"message": "Những trang có chứa trình bổ trợ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1759
|
+
},
|
|
1760
|
+
"core/lib/bf-cache-strings.js | contentFileChooser": {
|
|
1761
|
+
"message": "Những trang sử dụng API FileChooser không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1762
|
+
},
|
|
1763
|
+
"core/lib/bf-cache-strings.js | contentFileSystemAccess": {
|
|
1764
|
+
"message": "Những trang sử dụng API Truy cập hệ thống tệp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1765
|
+
},
|
|
1766
|
+
"core/lib/bf-cache-strings.js | contentMediaDevicesDispatcherHost": {
|
|
1767
|
+
"message": "Những trang sử dụng Trình điều phối thiết bị truyền thông không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1768
|
+
},
|
|
1769
|
+
"core/lib/bf-cache-strings.js | contentMediaPlay": {
|
|
1770
|
+
"message": "Một trình phát đa phương tiện đang phát khi rời khỏi."
|
|
1771
|
+
},
|
|
1772
|
+
"core/lib/bf-cache-strings.js | contentMediaSession": {
|
|
1773
|
+
"message": "Những trang sử dụng API MediaSession và đặt một trạng thái phát không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1774
|
+
},
|
|
1775
|
+
"core/lib/bf-cache-strings.js | contentMediaSessionService": {
|
|
1776
|
+
"message": "Những trang sử dụng API MediaSession và đặt các trình xử lý hành động hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1777
|
+
},
|
|
1778
|
+
"core/lib/bf-cache-strings.js | contentScreenReader": {
|
|
1779
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do trình đọc màn hình."
|
|
1780
|
+
},
|
|
1781
|
+
"core/lib/bf-cache-strings.js | contentSecurityHandler": {
|
|
1782
|
+
"message": "Những trang sử dụng SecurityHandler không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1783
|
+
},
|
|
1784
|
+
"core/lib/bf-cache-strings.js | contentSerial": {
|
|
1785
|
+
"message": "Những trang sử dụng API nối tiếp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1786
|
+
},
|
|
1787
|
+
"core/lib/bf-cache-strings.js | contentWebAuthenticationAPI": {
|
|
1788
|
+
"message": "Những trang sử dụng API WebAuthetication không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1789
|
+
},
|
|
1790
|
+
"core/lib/bf-cache-strings.js | contentWebBluetooth": {
|
|
1791
|
+
"message": "Những trang sử dụng API WebBluetooth không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1792
|
+
},
|
|
1793
|
+
"core/lib/bf-cache-strings.js | contentWebUSB": {
|
|
1794
|
+
"message": "Những trang sử dụng API WebUSB không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1795
|
+
},
|
|
1796
|
+
"core/lib/bf-cache-strings.js | dedicatedWorkerOrWorklet": {
|
|
1797
|
+
"message": "Những trang sử dụng một trình xử lý hoặc worklet riêng hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1798
|
+
},
|
|
1799
|
+
"core/lib/bf-cache-strings.js | documentLoaded": {
|
|
1800
|
+
"message": "Tài liệu này chưa tải xong trước khi rời đi."
|
|
1801
|
+
},
|
|
1802
|
+
"core/lib/bf-cache-strings.js | embedderAppBannerManager": {
|
|
1803
|
+
"message": "App Banner xuất hiện trong khi rời đi."
|
|
1804
|
+
},
|
|
1805
|
+
"core/lib/bf-cache-strings.js | embedderChromePasswordManagerClientBindCredentialManager": {
|
|
1806
|
+
"message": "Trình quản lý mật khẩu của Chrome xuất hiện trong khi rời đi."
|
|
1807
|
+
},
|
|
1808
|
+
"core/lib/bf-cache-strings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
|
|
1809
|
+
"message": "Quy trình lọc DOM đang diễn ra trong khi rời đi."
|
|
1810
|
+
},
|
|
1811
|
+
"core/lib/bf-cache-strings.js | embedderDomDistillerViewerSource": {
|
|
1812
|
+
"message": "DOM Distiller Viewer xuất hiện trong khi rời đi."
|
|
1813
|
+
},
|
|
1814
|
+
"core/lib/bf-cache-strings.js | embedderExtensionMessaging": {
|
|
1815
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích sử dụng API nhắn tin."
|
|
1816
|
+
},
|
|
1817
|
+
"core/lib/bf-cache-strings.js | embedderExtensionMessagingForOpenPort": {
|
|
1818
|
+
"message": "Các tiện ích có kết nối liên tục phải ngắt kết nối trước khi chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1819
|
+
},
|
|
1820
|
+
"core/lib/bf-cache-strings.js | embedderExtensionSentMessageToCachedFrame": {
|
|
1821
|
+
"message": "Các tiện ích có kết nối liên tục đã cố gắng gửi thông báo đến các khung trong bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1822
|
+
},
|
|
1823
|
+
"core/lib/bf-cache-strings.js | embedderExtensions": {
|
|
1824
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích."
|
|
1825
|
+
},
|
|
1826
|
+
"core/lib/bf-cache-strings.js | embedderModalDialog": {
|
|
1827
|
+
"message": "Hộp thoại phương thức (chẳng hạn như gửi lại biểu mẫu) hoặc hộp thoại mật khẩu http xuất hiện trên trang trong khi rời đi."
|
|
1828
|
+
},
|
|
1829
|
+
"core/lib/bf-cache-strings.js | embedderOfflinePage": {
|
|
1830
|
+
"message": "Trang ngoại tuyến xuất hiện trong khi rời đi."
|
|
1831
|
+
},
|
|
1832
|
+
"core/lib/bf-cache-strings.js | embedderOomInterventionTabHelper": {
|
|
1833
|
+
"message": "Thanh Out-Of-Memory Intervention xuất hiện trong khi rời đi."
|
|
1834
|
+
},
|
|
1835
|
+
"core/lib/bf-cache-strings.js | embedderPermissionRequestManager": {
|
|
1836
|
+
"message": "Có yêu cầu cấp quyền trong khi rời đi."
|
|
1837
|
+
},
|
|
1838
|
+
"core/lib/bf-cache-strings.js | embedderPopupBlockerTabHelper": {
|
|
1839
|
+
"message": "Trình chặn cửa sổ bật lên xuất hiện trong khi rời đi."
|
|
1840
|
+
},
|
|
1841
|
+
"core/lib/bf-cache-strings.js | embedderSafeBrowsingThreatDetails": {
|
|
1842
|
+
"message": "Thông tin chi tiết về công cụ Duyệt web an toàn xuất hiện trong khi rời đi."
|
|
1843
|
+
},
|
|
1844
|
+
"core/lib/bf-cache-strings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
|
|
1845
|
+
"message": "Công cụ Duyệt web an toàn coi trang này là một cửa sổ bật lên sai mục đích và bị chặn."
|
|
1846
|
+
},
|
|
1847
|
+
"core/lib/bf-cache-strings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
|
|
1848
|
+
"message": "Một trình chạy dịch vụ đã được kích hoạt khi trang này đang ở bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1849
|
+
},
|
|
1850
|
+
"core/lib/bf-cache-strings.js | errorDocument": {
|
|
1851
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do lỗi tài liệu."
|
|
1852
|
+
},
|
|
1853
|
+
"core/lib/bf-cache-strings.js | fencedFramesEmbedder": {
|
|
1854
|
+
"message": "Không lưu trữ được trang dùng FencedFrames vào bfcache."
|
|
1855
|
+
},
|
|
1856
|
+
"core/lib/bf-cache-strings.js | foregroundCacheLimit": {
|
|
1857
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
|
|
1858
|
+
},
|
|
1859
|
+
"core/lib/bf-cache-strings.js | grantedMediaStreamAccess": {
|
|
1860
|
+
"message": "Những trang đã cấp quyền truy cập luồng đa phương tiện hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1861
|
+
},
|
|
1862
|
+
"core/lib/bf-cache-strings.js | haveInnerContents": {
|
|
1863
|
+
"message": "Những trang sử dụng cổng thông tin hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1864
|
+
},
|
|
1865
|
+
"core/lib/bf-cache-strings.js | idleManager": {
|
|
1866
|
+
"message": "Những trang sử dụng IdleManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1867
|
+
},
|
|
1868
|
+
"core/lib/bf-cache-strings.js | indexedDBConnection": {
|
|
1869
|
+
"message": "Những trang có kết nối IndexedDB mở hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1870
|
+
},
|
|
1871
|
+
"core/lib/bf-cache-strings.js | ineligibleAPI": {
|
|
1872
|
+
"message": "Các API được sử dụng không đủ điều kiện."
|
|
1873
|
+
},
|
|
1874
|
+
"core/lib/bf-cache-strings.js | injectedJavascript": {
|
|
1875
|
+
"message": "Những trang có JavaScript được chèn vào bằng tiện ích hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1876
|
+
},
|
|
1877
|
+
"core/lib/bf-cache-strings.js | injectedStyleSheet": {
|
|
1878
|
+
"message": "Những trang có StyleSheet được chèn vào bằng tiện ích hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1879
|
+
},
|
|
1880
|
+
"core/lib/bf-cache-strings.js | internalError": {
|
|
1881
|
+
"message": "Lỗi nội bộ."
|
|
1882
|
+
},
|
|
1883
|
+
"core/lib/bf-cache-strings.js | keepaliveRequest": {
|
|
1884
|
+
"message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do có yêu cầu duy trì hoạt động."
|
|
1885
|
+
},
|
|
1886
|
+
"core/lib/bf-cache-strings.js | keyboardLock": {
|
|
1887
|
+
"message": "Những trang sử dụng tính năng Khoá bàn phím hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1888
|
+
},
|
|
1889
|
+
"core/lib/bf-cache-strings.js | loading": {
|
|
1890
|
+
"message": "Trang này chưa tải xong trước khi rời khỏi."
|
|
1891
|
+
},
|
|
1892
|
+
"core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoCache": {
|
|
1893
|
+
"message": "Những trang có tài nguyên chính chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1894
|
+
},
|
|
1895
|
+
"core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoStore": {
|
|
1896
|
+
"message": "Những trang có tài nguyên chính chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1897
|
+
},
|
|
1898
|
+
"core/lib/bf-cache-strings.js | navigationCancelledWhileRestoring": {
|
|
1899
|
+
"message": "Thao tác di chuyển đã bị huỷ trước khi có thể khôi phục trang từ bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1900
|
+
},
|
|
1901
|
+
"core/lib/bf-cache-strings.js | networkExceedsBufferLimit": {
|
|
1902
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm vì một kết nối mạng đang hoạt động đã nhận quá nhiều dữ liệu. Chrome giới hạn lượng dữ liệu mà một trang có thể nhận trong khi được lưu vào bộ nhớ đệm."
|
|
1903
|
+
},
|
|
1904
|
+
"core/lib/bf-cache-strings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
|
|
1905
|
+
"message": "Những trang có tính năng tìm nạp() hoặc XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1906
|
+
},
|
|
1907
|
+
"core/lib/bf-cache-strings.js | networkRequestRedirected": {
|
|
1908
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi vì một yêu cầu mạng đang hoạt động đã dẫn đến lệnh chuyển hướng."
|
|
1909
|
+
},
|
|
1910
|
+
"core/lib/bf-cache-strings.js | networkRequestTimeout": {
|
|
1911
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm vì một kết nối mạng ở trạng thái mở quá lâu. Chrome giới hạn khoảng thời gian mà một trang có thể nhận dữ liệu trong khi được lưu vào bộ nhớ đệm."
|
|
1912
|
+
},
|
|
1913
|
+
"core/lib/bf-cache-strings.js | noResponseHead": {
|
|
1914
|
+
"message": "Những trang không có tiêu đề phản hồi hợp lệ không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1915
|
+
},
|
|
1916
|
+
"core/lib/bf-cache-strings.js | notMainFrame": {
|
|
1917
|
+
"message": "Thao tác di chuyển đã diễn ra trong một khung không phải khung chính."
|
|
1918
|
+
},
|
|
1919
|
+
"core/lib/bf-cache-strings.js | outstandingIndexedDBTransaction": {
|
|
1920
|
+
"message": "Trang có các giao dịch đang diễn ra trên cơ sở dữ liệu đã lập chỉ mục hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1921
|
+
},
|
|
1922
|
+
"core/lib/bf-cache-strings.js | outstandingNetworkRequestDirectSocket": {
|
|
1923
|
+
"message": "Những trang có yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1924
|
+
},
|
|
1925
|
+
"core/lib/bf-cache-strings.js | outstandingNetworkRequestFetch": {
|
|
1926
|
+
"message": "Những trang có một yêu cầu mạng tìm nạp đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1927
|
+
},
|
|
1928
|
+
"core/lib/bf-cache-strings.js | outstandingNetworkRequestOthers": {
|
|
1929
|
+
"message": "Những trang có yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1930
|
+
},
|
|
1931
|
+
"core/lib/bf-cache-strings.js | outstandingNetworkRequestXHR": {
|
|
1932
|
+
"message": "Những trang có một yêu cầu mạng XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1933
|
+
},
|
|
1934
|
+
"core/lib/bf-cache-strings.js | paymentManager": {
|
|
1935
|
+
"message": "Những trang sử dụng PaymentManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1936
|
+
},
|
|
1937
|
+
"core/lib/bf-cache-strings.js | pictureInPicture": {
|
|
1938
|
+
"message": "Những trang sử dụng tính năng Hình trong hình hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1939
|
+
},
|
|
1940
|
+
"core/lib/bf-cache-strings.js | portal": {
|
|
1941
|
+
"message": "Những trang sử dụng cổng thông tin hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1942
|
+
},
|
|
1943
|
+
"core/lib/bf-cache-strings.js | printing": {
|
|
1944
|
+
"message": "Những trang hiển thị Giao diện người dùng cho thao tác in hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1945
|
+
},
|
|
1946
|
+
"core/lib/bf-cache-strings.js | relatedActiveContentsExist": {
|
|
1947
|
+
"message": "Trang này đã được mở bằng \"`window.open()`\" và có một thẻ khác tham chiếu đến thành phần đó, hoặc trang này đã mở một cửa sổ."
|
|
1948
|
+
},
|
|
1949
|
+
"core/lib/bf-cache-strings.js | rendererProcessCrashed": {
|
|
1950
|
+
"message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã gặp sự cố."
|
|
1951
|
+
},
|
|
1952
|
+
"core/lib/bf-cache-strings.js | rendererProcessKilled": {
|
|
1953
|
+
"message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt."
|
|
1954
|
+
},
|
|
1955
|
+
"core/lib/bf-cache-strings.js | requestedAudioCapturePermission": {
|
|
1956
|
+
"message": "Những trang đã yêu cầu quyền ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1957
|
+
},
|
|
1958
|
+
"core/lib/bf-cache-strings.js | requestedBackForwardCacheBlockedSensors": {
|
|
1959
|
+
"message": "Những trang đã yêu cầu quyền truy cập cảm biến hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1960
|
+
},
|
|
1961
|
+
"core/lib/bf-cache-strings.js | requestedBackgroundWorkPermission": {
|
|
1962
|
+
"message": "Những trang đã yêu cầu quyền tìm nạp hoặc đồng bộ hoá dưới nền hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1963
|
+
},
|
|
1964
|
+
"core/lib/bf-cache-strings.js | requestedMIDIPermission": {
|
|
1965
|
+
"message": "Những trang đã yêu cầu quyền MIDI hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1966
|
+
},
|
|
1967
|
+
"core/lib/bf-cache-strings.js | requestedNotificationsPermission": {
|
|
1968
|
+
"message": "Những trang đã yêu cầu quyền gửi thông báo hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1969
|
+
},
|
|
1970
|
+
"core/lib/bf-cache-strings.js | requestedStorageAccessGrant": {
|
|
1971
|
+
"message": "Những trang đã yêu cầu quyền truy cập bộ nhớ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1972
|
+
},
|
|
1973
|
+
"core/lib/bf-cache-strings.js | requestedVideoCapturePermission": {
|
|
1974
|
+
"message": "Những trang đã yêu cầu quyền quay video hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1975
|
+
},
|
|
1976
|
+
"core/lib/bf-cache-strings.js | schemeNotHTTPOrHTTPS": {
|
|
1977
|
+
"message": "Chỉ những trang có lược đồ URL là HTTP/HTTPS mới được lưu vào bộ nhớ đệm."
|
|
1978
|
+
},
|
|
1979
|
+
"core/lib/bf-cache-strings.js | serviceWorkerClaim": {
|
|
1980
|
+
"message": "Trang này đã được một trình chạy dịch vụ xác nhận khi đang ở bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1981
|
+
},
|
|
1982
|
+
"core/lib/bf-cache-strings.js | serviceWorkerPostMessage": {
|
|
1983
|
+
"message": "Một trình chạy dịch vụ đã cố gửi một `MessageEvent` cho trang trong bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1984
|
+
},
|
|
1985
|
+
"core/lib/bf-cache-strings.js | serviceWorkerUnregistration": {
|
|
1986
|
+
"message": "ServiceWorker đã bị huỷ đăng ký khi một trang đang ở bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1987
|
+
},
|
|
1988
|
+
"core/lib/bf-cache-strings.js | serviceWorkerVersionActivation": {
|
|
1989
|
+
"message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi do việc kích hoạt một trình chạy dịch vụ."
|
|
1990
|
+
},
|
|
1991
|
+
"core/lib/bf-cache-strings.js | sessionRestored": {
|
|
1992
|
+
"message": "Chrome đã khởi động lại và xoá các mục trong bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1993
|
+
},
|
|
1994
|
+
"core/lib/bf-cache-strings.js | sharedWorker": {
|
|
1995
|
+
"message": "Những trang sử dụng SharedWorker hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1996
|
+
},
|
|
1997
|
+
"core/lib/bf-cache-strings.js | speechRecognizer": {
|
|
1998
|
+
"message": "Những trang sử dụng SpeechRecognizer hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
1999
|
+
},
|
|
2000
|
+
"core/lib/bf-cache-strings.js | speechSynthesis": {
|
|
2001
|
+
"message": "Những trang sử dụng SpeechSynthesis hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2002
|
+
},
|
|
2003
|
+
"core/lib/bf-cache-strings.js | subframeIsNavigating": {
|
|
2004
|
+
"message": "Một iframe trên trang này đã bắt đầu một thao tác di chuyển chưa hoàn tất."
|
|
2005
|
+
},
|
|
2006
|
+
"core/lib/bf-cache-strings.js | subresourceHasCacheControlNoCache": {
|
|
2007
|
+
"message": "Những trang có tài nguyên phụ chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2008
|
+
},
|
|
2009
|
+
"core/lib/bf-cache-strings.js | subresourceHasCacheControlNoStore": {
|
|
2010
|
+
"message": "Những trang có tài nguyên phụ chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2011
|
+
},
|
|
2012
|
+
"core/lib/bf-cache-strings.js | timeout": {
|
|
2013
|
+
"message": "Trang này đã vượt quá thời gian tối đa trong bộ nhớ đệm cho thao tác tiến/lùi và đã hết hạn."
|
|
2014
|
+
},
|
|
2015
|
+
"core/lib/bf-cache-strings.js | timeoutPuttingInCache": {
|
|
2016
|
+
"message": "Trang này đã hết thời gian chờ chuyển sang bộ nhớ đệm cho thao tác tiến/lùi (khả năng là do các trình xử lý ẩn trang chạy trong thời gian dài)."
|
|
2017
|
+
},
|
|
2018
|
+
"core/lib/bf-cache-strings.js | unloadHandlerExistsInMainFrame": {
|
|
2019
|
+
"message": "Trang này có một trình xử lý huỷ tải trong khung chính."
|
|
2020
|
+
},
|
|
2021
|
+
"core/lib/bf-cache-strings.js | unloadHandlerExistsInSubFrame": {
|
|
2022
|
+
"message": "Trang này có một trình xử lý huỷ tải trong khung phụ."
|
|
2023
|
+
},
|
|
2024
|
+
"core/lib/bf-cache-strings.js | userAgentOverrideDiffers": {
|
|
2025
|
+
"message": "Trình duyệt đã thay đổi tiêu đề ghi đè tác nhân người dùng."
|
|
2026
|
+
},
|
|
2027
|
+
"core/lib/bf-cache-strings.js | wasGrantedMediaAccess": {
|
|
2028
|
+
"message": "Những trang đã cấp quyền quay video hoặc ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2029
|
+
},
|
|
2030
|
+
"core/lib/bf-cache-strings.js | webDatabase": {
|
|
2031
|
+
"message": "Những trang sử dụng WebDatabase hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2032
|
+
},
|
|
2033
|
+
"core/lib/bf-cache-strings.js | webHID": {
|
|
2034
|
+
"message": "Những trang sử dụng WebHID hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2035
|
+
},
|
|
2036
|
+
"core/lib/bf-cache-strings.js | webLocks": {
|
|
2037
|
+
"message": "Những trang sử dụng WebLocks hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2038
|
+
},
|
|
2039
|
+
"core/lib/bf-cache-strings.js | webNfc": {
|
|
2040
|
+
"message": "Những trang sử dụng WebNfc hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2041
|
+
},
|
|
2042
|
+
"core/lib/bf-cache-strings.js | webOTPService": {
|
|
2043
|
+
"message": "Những trang sử dụng WebOTPService hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2044
|
+
},
|
|
2045
|
+
"core/lib/bf-cache-strings.js | webRTC": {
|
|
2046
|
+
"message": "Những trang có WebRTC không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2047
|
+
},
|
|
2048
|
+
"core/lib/bf-cache-strings.js | webShare": {
|
|
2049
|
+
"message": "Những trang sử dụng WebShare hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2050
|
+
},
|
|
2051
|
+
"core/lib/bf-cache-strings.js | webSocket": {
|
|
2052
|
+
"message": "Những trang có WebSocket không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2053
|
+
},
|
|
2054
|
+
"core/lib/bf-cache-strings.js | webTransport": {
|
|
2055
|
+
"message": "Những trang có WebTransport không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2056
|
+
},
|
|
2057
|
+
"core/lib/bf-cache-strings.js | webXR": {
|
|
2058
|
+
"message": "Những trang sử dụng WebXR hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
|
|
2059
|
+
},
|
|
2060
|
+
"core/lib/csp-evaluator.js | allowlistFallback": {
|
|
1815
2061
|
"message": "Hãy cân nhắc thêm giao thức URL https: và http: (bị các trình duyệt hỗ trợ \"strict-dynamic\" bỏ qua) để tương thích ngược với những trình duyệt cũ."
|
|
1816
2062
|
},
|
|
1817
|
-
"
|
|
2063
|
+
"core/lib/csp-evaluator.js | deprecatedDisownOpener": {
|
|
1818
2064
|
"message": "Kể từ CSP3, disown-opener sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề Cross-Origin-Opener-Policy."
|
|
1819
2065
|
},
|
|
1820
|
-
"
|
|
2066
|
+
"core/lib/csp-evaluator.js | deprecatedReferrer": {
|
|
1821
2067
|
"message": "Kể từ CSP2, referrer sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề Referrer-Policy."
|
|
1822
2068
|
},
|
|
1823
|
-
"
|
|
2069
|
+
"core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
|
|
1824
2070
|
"message": "Kể từ CSP2, reflected-xss sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề X-XSS-Protection."
|
|
1825
2071
|
},
|
|
1826
|
-
"
|
|
2072
|
+
"core/lib/csp-evaluator.js | missingBaseUri": {
|
|
1827
2073
|
"message": "Nếu thiếu base-uri, các thẻ <base> có thể được chèn vào để đặt URL cơ sở cho mọi URL tương đối (ví dụ: tập lệnh) đến miền do kẻ tấn công kiểm soát. Hãy cân nhắc đặt base-uri thành \"none\" hoặc \"self\"."
|
|
1828
2074
|
},
|
|
1829
|
-
"
|
|
2075
|
+
"core/lib/csp-evaluator.js | missingObjectSrc": {
|
|
1830
2076
|
"message": "Khi thiếu object-src, hệ thống sẽ cho phép hành vi chèn các trình bổ trợ thực thi tập lệnh không an toàn. Hãy cân nhắc đặt object-src thành \"none\" nếu bạn có thể."
|
|
1831
2077
|
},
|
|
1832
|
-
"
|
|
2078
|
+
"core/lib/csp-evaluator.js | missingScriptSrc": {
|
|
1833
2079
|
"message": "Thiếu lệnh script-src. Khi không có lệnh này, các tập lệnh không an toàn có thể được thực thi."
|
|
1834
2080
|
},
|
|
1835
|
-
"
|
|
2081
|
+
"core/lib/csp-evaluator.js | missingSemicolon": {
|
|
1836
2082
|
"message": "Bạn quên dấu chấm phẩy ư? {keyword} có vẻ giống lệnh hơn là từ khóa."
|
|
1837
2083
|
},
|
|
1838
|
-
"
|
|
2084
|
+
"core/lib/csp-evaluator.js | nonceCharset": {
|
|
1839
2085
|
"message": "Nonces phải dùng bộ ký tự base64."
|
|
1840
2086
|
},
|
|
1841
|
-
"
|
|
2087
|
+
"core/lib/csp-evaluator.js | nonceLength": {
|
|
1842
2088
|
"message": "Nonces phải có độ dài tối thiểu là 8 ký tự."
|
|
1843
2089
|
},
|
|
1844
|
-
"
|
|
2090
|
+
"core/lib/csp-evaluator.js | plainUrlScheme": {
|
|
1845
2091
|
"message": "Tránh dùng các giao thức URL thuần túy ({keyword}) trong lệnh này. Giao thức URL thuần túy cho phép thực thi các tập lệnh từ miền không an toàn."
|
|
1846
2092
|
},
|
|
1847
|
-
"
|
|
2093
|
+
"core/lib/csp-evaluator.js | plainWildcards": {
|
|
1848
2094
|
"message": "Tránh dùng các ký tự đại diện thuần túy ({keyword}) trong lệnh này. Các ký tự đại diện thuần túy cho phép thực thi các tập lệnh từ miền không an toàn."
|
|
1849
2095
|
},
|
|
1850
|
-
"
|
|
2096
|
+
"core/lib/csp-evaluator.js | reportToOnly": {
|
|
1851
2097
|
"message": "Đích báo cáo này chỉ được định cấu hình thông qua lệnh report-to. Chỉ các trình duyệt dựa trên Chromium mới hỗ trợ lệnh này. Do đó, bạn nên dùng cả lệnh report-uri."
|
|
1852
2098
|
},
|
|
1853
|
-
"
|
|
2099
|
+
"core/lib/csp-evaluator.js | reportingDestinationMissing": {
|
|
1854
2100
|
"message": "Không có CSP nào định cấu hình đích báo cáo. Điều này sẽ gây khó khăn cho việc duy trì CSP theo thời gian và giám sát mọi sự cố."
|
|
1855
2101
|
},
|
|
1856
|
-
"
|
|
2102
|
+
"core/lib/csp-evaluator.js | strictDynamic": {
|
|
1857
2103
|
"message": "Danh sách máy chủ cho phép có thể thường xuyên bị bỏ qua. Thay vào đó, hãy cân nhắc dùng nonces hoặc hashes của CSP, cùng với \"strict-dynamic\" nếu cần."
|
|
1858
2104
|
},
|
|
1859
|
-
"
|
|
2105
|
+
"core/lib/csp-evaluator.js | unknownDirective": {
|
|
1860
2106
|
"message": "Lệnh CSP không xác định."
|
|
1861
2107
|
},
|
|
1862
|
-
"
|
|
2108
|
+
"core/lib/csp-evaluator.js | unknownKeyword": {
|
|
1863
2109
|
"message": "Có vẻ như {keyword} là một từ khóa không hợp lệ."
|
|
1864
2110
|
},
|
|
1865
|
-
"
|
|
2111
|
+
"core/lib/csp-evaluator.js | unsafeInline": {
|
|
1866
2112
|
"message": "\"unsafe-inline\" cho phép thực thi nhiều trình xử lý sự kiện và tập lệnh không an toàn trong trang. Hãy cân nhắc dùng nonces hoặc hashes của CSP để cho phép thực thi từng tập lệnh."
|
|
1867
2113
|
},
|
|
1868
|
-
"
|
|
2114
|
+
"core/lib/csp-evaluator.js | unsafeInlineFallback": {
|
|
1869
2115
|
"message": "Hãy cân nhắc thêm \"unsafe-inline\" (bị các trình duyệt hỗ trợ nonces/hashes bỏ qua) để tương thích ngược với những trình duyệt cũ."
|
|
1870
2116
|
},
|
|
1871
|
-
"
|
|
2117
|
+
"core/lib/deprecations-strings.js | authorizationCoveredByWildcard": {
|
|
2118
|
+
"message": "Ký tự đại diện (*) sẽ không bao gồm việc uỷ quyền khi xử lý `Access-Control-Allow-Headers` CORS."
|
|
2119
|
+
},
|
|
2120
|
+
"core/lib/deprecations-strings.js | canRequestURLHTTPContainingNewline": {
|
|
2121
|
+
"message": "Các yêu cầu tài nguyên có URL chứa cả ký tự `(n|r|t)` khoảng trắng đã bị xoá và ký tự nhỏ hơn (`<`) sẽ bị chặn. Vui lòng xoá các dòng mới và mã hoá ký tự nhỏ hơn khỏi các vị trí như giá trị thuộc tính phần tử để tải những tài nguyên như vậy."
|
|
2122
|
+
},
|
|
2123
|
+
"core/lib/deprecations-strings.js | chromeLoadTimesConnectionInfo": {
|
|
2124
|
+
"message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Navigation Timing 2."
|
|
2125
|
+
},
|
|
2126
|
+
"core/lib/deprecations-strings.js | chromeLoadTimesFirstPaintAfterLoadTime": {
|
|
2127
|
+
"message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Paint Timing."
|
|
2128
|
+
},
|
|
2129
|
+
"core/lib/deprecations-strings.js | chromeLoadTimesWasAlternateProtocolAvailable": {
|
|
2130
|
+
"message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: `nextHopProtocol` trong Navigation Timing 2."
|
|
2131
|
+
},
|
|
2132
|
+
"core/lib/deprecations-strings.js | cookieWithTruncatingChar": {
|
|
2133
|
+
"message": "Cookie có chứa ký tự `(0|r|n)` sẽ bị từ chối thay vì cắt bớt."
|
|
2134
|
+
},
|
|
2135
|
+
"core/lib/deprecations-strings.js | crossOriginAccessBasedOnDocumentDomain": {
|
|
2136
|
+
"message": "Hệ thống không còn thiết lập `document.domain` để nới lỏng chính sách cùng nguồn gốc nữa và tính năng này sẽ bị tắt theo mặc định. Cảnh bảo về việc không dùng nữa này là dành cho quyền truy cập nhiều nguồn gốc đã được bật bằng cách thiết lập `document.domain`."
|
|
2137
|
+
},
|
|
2138
|
+
"core/lib/deprecations-strings.js | crossOriginWindowApi": {
|
|
2139
|
+
"message": "Tính năng kích hoạt {PH1} qua các iframe nhiều nguồn gốc không được dùng nữa và sẽ bị loại bỏ trong tương lai."
|
|
2140
|
+
},
|
|
2141
|
+
"core/lib/deprecations-strings.js | cssSelectorInternalMediaControlsOverlayCastButton": {
|
|
2142
|
+
"message": "Nên sử dụng thuộc tính `disableRemotePlayback`nhằm tắt chế độ tích hợp Truyền mặc định thay vì sử dụng bộ chọn `-internal-media-controls-overlay-cast-button`."
|
|
2143
|
+
},
|
|
2144
|
+
"core/lib/deprecations-strings.js | deprecatedWithReplacement": {
|
|
2145
|
+
"message": "{PH1} không được dùng nữa. Thay vào đó, hãy sử dụng {PH2}."
|
|
2146
|
+
},
|
|
2147
|
+
"core/lib/deprecations-strings.js | deprecationExample": {
|
|
2148
|
+
"message": "Đây là ví dụ về một thông báo vấn đề không dùng nữa đã được dịch."
|
|
2149
|
+
},
|
|
2150
|
+
"core/lib/deprecations-strings.js | documentDomainSettingWithoutOriginAgentClusterHeader": {
|
|
2151
|
+
"message": "Hệ thống không còn thiết lập `document.domain` để nới lỏng chính sách cùng nguồn gốc nữa và tính năng này sẽ bị tắt theo mặc định. Để tiếp tục sử dụng tính năng này, vui lòng chọn không sử dụng cụm tác nhân dùng khoá gốc bằng cách gửi một tiêu đề `Origin-Agent-Cluster: ?0` kèm theo phản hồi HTTP cho tài liệu và khung. Xem https://developer.chrome.com/blog/immutable-document-domain/ để biết thêm chi tiết."
|
|
2152
|
+
},
|
|
2153
|
+
"core/lib/deprecations-strings.js | eventPath": {
|
|
2154
|
+
"message": "`Event.path` không được dùng nữa và sẽ bị xoá. Thay vào đó, hãy sử dụng `Event.composedPath()`."
|
|
2155
|
+
},
|
|
2156
|
+
"core/lib/deprecations-strings.js | expectCTHeader": {
|
|
2157
|
+
"message": "Tiêu đề `Expect-CT` không được dùng nữa và sẽ bị xoá. Chrome yêu cầu Tính minh bạch của chứng chỉ đối với tất cả chứng chỉ được tin cậy công khai cấp sau ngày 30 tháng 4 năm 2018."
|
|
2158
|
+
},
|
|
2159
|
+
"core/lib/deprecations-strings.js | feature": {
|
|
2160
|
+
"message": "Kiểm tra trang trạng thái của tính năng để biết thêm thông tin."
|
|
2161
|
+
},
|
|
2162
|
+
"core/lib/deprecations-strings.js | geolocationInsecureOrigin": {
|
|
2163
|
+
"message": "`getCurrentPosition()` và `watchPosition()` không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
|
|
2164
|
+
},
|
|
2165
|
+
"core/lib/deprecations-strings.js | geolocationInsecureOriginDeprecatedNotRemoved": {
|
|
2166
|
+
"message": "`getCurrentPosition()` và `watchPosition()` không còn được dùng trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
|
|
2167
|
+
},
|
|
2168
|
+
"core/lib/deprecations-strings.js | getUserMediaInsecureOrigin": {
|
|
2169
|
+
"message": "`getUserMedia()` không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
|
|
2170
|
+
},
|
|
2171
|
+
"core/lib/deprecations-strings.js | hostCandidateAttributeGetter": {
|
|
2172
|
+
"message": "`RTCPeerConnectionIceErrorEvent.hostCandidate` không được dùng nữa. Thay vào đó, hãy sử dụng `RTCPeerConnectionIceErrorEvent.address` hoặc `RTCPeerConnectionIceErrorEvent.port`."
|
|
2173
|
+
},
|
|
2174
|
+
"core/lib/deprecations-strings.js | identityInCanMakePaymentEvent": {
|
|
2175
|
+
"message": "Nguồn gốc của bên bán và dữ liệu bất kỳ trong sự kiện `canmakepayment` của trình chạy dịch vụ không được dùng nữa và sẽ bị loại bỏ: `topOrigin`, `paymentRequestOrigin`, `methodData`, `modifiers`."
|
|
2176
|
+
},
|
|
2177
|
+
"core/lib/deprecations-strings.js | insecurePrivateNetworkSubresourceRequest": {
|
|
2178
|
+
"message": "Trang web này đã yêu cầu một tài nguyên phụ qua một mạng mà trang web này chỉ truy cập được do có vị thế mạng đặc quyền của người dùng. Những yêu cầu như vậy làm lộ các thiết bị và máy chủ không công khai trên Internet, làm tăng nguy cơ bị tấn công giả mạo yêu cầu trên nhiều trang web (CSRF) và/hoặc rò rỉ thông tin. Để giảm thiểu những rủi ro này, Chrome sẽ ngừng yêu cầu các nguồn phụ không công khai khi được khởi tạo từ các ngữ cảnh không an toàn và sẽ bắt đầu chặn những yêu cầu đó."
|
|
2179
|
+
},
|
|
2180
|
+
"core/lib/deprecations-strings.js | localCSSFileExtensionRejected": {
|
|
2181
|
+
"message": "Không tải được CSS qua các URL `file:` trừ phi chúng kết thúc bằng đuôi tệp `.css`."
|
|
2182
|
+
},
|
|
2183
|
+
"core/lib/deprecations-strings.js | mediaSourceAbortRemove": {
|
|
2184
|
+
"message": "Hệ thống không dùng `SourceBuffer.abort()` để huỷ việc xoá khoảng không đồng bộ của `remove()` nữa do thay đổi về quy cách. Sau này chế độ hỗ trợ cũng sẽ bị xoá. Thay vào đó, bạn nên nghe sự kiện `updateend`. Mục đích của `abort()` chỉ là huỷ lệnh thêm nội dung nghe nhìn không đồng bộ (asynchronous media append) hoặc đặt lại trạng thái của trình phân tích cú pháp."
|
|
2185
|
+
},
|
|
2186
|
+
"core/lib/deprecations-strings.js | mediaSourceDurationTruncatingBuffered": {
|
|
2187
|
+
"message": "Do thay đổi về quy cách, hệ thống không còn dùng chế độ đặt giá trị dưới dấu thời gian trình bày cao nhất cho `MediaSource.duration` nữa đối với mọi khung đã mã hoá và lưu vào vùng đệm. Chế độ hỗ trợ yêu cầu xoá tường minh cho nội dung phương tiện lưu trong bộ đệm bị cắt bớt sau này cũng sẽ bị xoá. Bạn nên triển khai lệnh `remove(newDuration, oldDuration)` tường minh trên mọi `sourceBuffers`, khi `newDuration < oldDuration`."
|
|
2188
|
+
},
|
|
2189
|
+
"core/lib/deprecations-strings.js | milestone": {
|
|
2190
|
+
"message": "Thay đổi này sẽ có hiệu lực từ mốc {milestone}."
|
|
2191
|
+
},
|
|
2192
|
+
"core/lib/deprecations-strings.js | noSysexWebMIDIWithoutPermission": {
|
|
2193
|
+
"message": "Web MIDI sẽ yêu cầu cấp quyền sử dụng ngay cả khi `MIDIOptions` không chỉ rõ sysex."
|
|
2194
|
+
},
|
|
2195
|
+
"core/lib/deprecations-strings.js | notificationInsecureOrigin": {
|
|
2196
|
+
"message": "Có thể Notification API không còn được dùng qua các nguồn gốc không an toàn. Bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
|
|
2197
|
+
},
|
|
2198
|
+
"core/lib/deprecations-strings.js | notificationPermissionRequestedIframe": {
|
|
2199
|
+
"message": "Có thể quyền cho Notification API không còn được yêu cầu qua một iframe nhiều nguồn gốc nữa. Thay vào đó, bạn nên cân nhắc việc yêu cầu quyền qua một khung cấp cao hoặc mở một cửa sổ mới."
|
|
2200
|
+
},
|
|
2201
|
+
"core/lib/deprecations-strings.js | obsoleteWebRtcCipherSuite": {
|
|
2202
|
+
"message": "Đối tác của bạn đang đàm phán một phiên bản (D)TLS đã lỗi thời. Vui lòng trao đổi với đối tác của bạn để khắc phục."
|
|
2203
|
+
},
|
|
2204
|
+
"core/lib/deprecations-strings.js | openWebDatabaseInsecureContext": {
|
|
2205
|
+
"message": "WebSQL trong ngữ cảnh không an toàn không được dùng nữa và sẽ sớm bị xoá. Vui lòng dùng Bộ nhớ web hoặc Cơ sở dữ liệu đã lập chỉ mục."
|
|
2206
|
+
},
|
|
2207
|
+
"core/lib/deprecations-strings.js | overflowVisibleOnReplacedElement": {
|
|
2208
|
+
"message": "Việc chỉ định `overflow: visible` trên thẻ img, video và canvas có thể khiến các thẻ này tạo ra nội dung hình ảnh bên ngoài ranh giới thành phần. Xem tại https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
|
|
2209
|
+
},
|
|
2210
|
+
"core/lib/deprecations-strings.js | paymentInstruments": {
|
|
2211
|
+
"message": "`paymentManager.instruments` không được dùng nữa. Vui lòng sử dụng chế độ cài đặt đúng thời điểm cho trình xử lý thanh toán."
|
|
2212
|
+
},
|
|
2213
|
+
"core/lib/deprecations-strings.js | paymentRequestCSPViolation": {
|
|
2214
|
+
"message": "Lệnh gọi `PaymentRequest` của bạn đã bỏ qua chỉ thị `connect-src` của Chính sách bảo mật nội dung (CSP). Chế độ bỏ qua này không được dùng nữa. Vui lòng thêm giá trị nhận dạng phương thức thanh toán từ API `PaymentRequest` (trong trường `supportedMethods`) vào chỉ thị `connect-src` của CSP."
|
|
2215
|
+
},
|
|
2216
|
+
"core/lib/deprecations-strings.js | persistentQuotaType": {
|
|
2217
|
+
"message": "`StorageType.persistent` không được dùng nữa. Vui lòng sử dụng `navigator.storage` đã chuẩn hoá."
|
|
2218
|
+
},
|
|
2219
|
+
"core/lib/deprecations-strings.js | pictureSourceSrc": {
|
|
2220
|
+
"message": "`<source src>` có phần tử mẹ `<picture>` không hợp lệ nên sẽ bị bỏ qua. Thay vào đó, vui lòng sử dụng `<source srcset>`."
|
|
2221
|
+
},
|
|
2222
|
+
"core/lib/deprecations-strings.js | prefixedStorageInfo": {
|
|
2223
|
+
"message": "`window.webkitStorageInfo` không được dùng nữa. Vui lòng sử dụng `navigator.storage` đã chuẩn hoá."
|
|
2224
|
+
},
|
|
2225
|
+
"core/lib/deprecations-strings.js | requestedSubresourceWithEmbeddedCredentials": {
|
|
2226
|
+
"message": "Yêu cầu tài nguyên phụ có URL chứa thông tin xác thực được nhúng (ví dụ: `https://user:pass@host/`) sẽ bị chặn."
|
|
2227
|
+
},
|
|
2228
|
+
"core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpFalse": {
|
|
2229
|
+
"message": "Điều kiện hạn chế `DtlsSrtpKeyAgreement` đã bị xoá. Bạn đã chỉ định một giá trị `false` cho điều kiện hạn chế này, đây được coi là nỗ lực sử dụng phương thức `SDES key negotiation` đã bị xoá. Chức năng này đã bị xoá; thay vào đó, hãy sử dụng một dịch vụ có hỗ trợ `DTLS key negotiation`."
|
|
2230
|
+
},
|
|
2231
|
+
"core/lib/deprecations-strings.js | rtcConstraintEnableDtlsSrtpTrue": {
|
|
2232
|
+
"message": "Điều kiện hạn chế `DtlsSrtpKeyAgreement` đã bị xoá. Bạn đã chỉ định một giá trị `true` cho điều kiện hạn chế này, việc này không có tác dụng gì nhưng bạn có thể xoá điều kiện hạn chế này cho gọn gàng."
|
|
2233
|
+
},
|
|
2234
|
+
"core/lib/deprecations-strings.js | rtcPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics": {
|
|
2235
|
+
"message": "Đã phát hiện `Complex Plan B SDP`. Phương ngữ này của `Session Description Protocol` không còn được hỗ trợ. Thay vào đó, vui lòng sử dụng `Unified Plan SDP`."
|
|
2236
|
+
},
|
|
2237
|
+
"core/lib/deprecations-strings.js | rtcPeerConnectionSdpSemanticsPlanB": {
|
|
2238
|
+
"message": "`Plan B SDP semantics` (được dùng khi xây dựng một `RTCPeerConnection` bằng `{sdpSemantics:plan-b}`) là một phiên bản đã cũ phi tiêu chuẩn của `Session Description Protocol` và đã bị xoá vĩnh viễn khỏi Nền tảng web (Web Platform). Bạn vẫn dùng được giao thức này khi xây dựng bằng `IS_FUCHSIA`, nhưng chúng tôi có kế hoạch xoá càng sớm càng tốt. Hãy ngừng phụ thuộc vào giao thức này. Xem https://crbug.com/1302249 để nắm được trạng thái."
|
|
2239
|
+
},
|
|
2240
|
+
"core/lib/deprecations-strings.js | rtcpMuxPolicyNegotiate": {
|
|
2241
|
+
"message": "Tuỳ chọn `rtcpMuxPolicy` không được dùng nữa và sẽ bị xoá."
|
|
2242
|
+
},
|
|
2243
|
+
"core/lib/deprecations-strings.js | sharedArrayBufferConstructedWithoutIsolation": {
|
|
2244
|
+
"message": "`SharedArrayBuffer` sẽ đòi hỏi việc tách biệt nhiều nguồn gốc. Xem https://developer.chrome.com/blog/enabling-shared-array-buffer/ để biết thêm thông tin."
|
|
2245
|
+
},
|
|
2246
|
+
"core/lib/deprecations-strings.js | textToSpeech_DisallowedByAutoplay": {
|
|
2247
|
+
"message": "Khi không có hoạt động kích hoạt của người dùng, `speechSynthesis.speak()` không được dùng nữa và sẽ bị loại bỏ."
|
|
2248
|
+
},
|
|
2249
|
+
"core/lib/deprecations-strings.js | title": {
|
|
2250
|
+
"message": "Đang dùng một tính năng không dùng nữa"
|
|
2251
|
+
},
|
|
2252
|
+
"core/lib/deprecations-strings.js | v8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
|
|
2253
|
+
"message": "Các tiện ích phải chọn sử dụng chế độ tách biệt nhiều nguồn gốc để có thể tiếp tục sử dụng `SharedArrayBuffer`. Xem https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
|
|
2254
|
+
},
|
|
2255
|
+
"core/lib/deprecations-strings.js | vendorSpecificApi": {
|
|
2256
|
+
"message": "{PH1} là phương thức tuỳ theo nhà cung cấp. Thay vào đó, hãy sử dụng {PH2} tiêu chuẩn."
|
|
2257
|
+
},
|
|
2258
|
+
"core/lib/deprecations-strings.js | xhrJSONEncodingDetection": {
|
|
2259
|
+
"message": "JSON phản hồi không hỗ trợ UTF-16 trong `XMLHttpRequest`"
|
|
2260
|
+
},
|
|
2261
|
+
"core/lib/deprecations-strings.js | xmlHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
|
|
2262
|
+
"message": "Tính năng `XMLHttpRequest` đồng bộ trên luồng chính không được dùng nữa do có tác động không tốt đối với trải nghiệm của người dùng cuối. Để xem thêm thông tin trợ giúp, hãy tham khảo https://xhr.spec.whatwg.org/."
|
|
2263
|
+
},
|
|
2264
|
+
"core/lib/deprecations-strings.js | xrSupportsSession": {
|
|
2265
|
+
"message": "`supportsSession()` không được dùng nữa. Thay vào đó, hãy sử dụng `isSessionSupported()` và kiểm tra giá trị boolean đã phân giải."
|
|
2266
|
+
},
|
|
2267
|
+
"core/lib/i18n/i18n.js | columnBlockingTime": {
|
|
1872
2268
|
"message": "Thời gian chặn chuỗi chính"
|
|
1873
2269
|
},
|
|
1874
|
-
"
|
|
2270
|
+
"core/lib/i18n/i18n.js | columnCacheTTL": {
|
|
1875
2271
|
"message": "Thời gian tồn tại (TTL) của bộ nhớ đệm"
|
|
1876
2272
|
},
|
|
1877
|
-
"
|
|
2273
|
+
"core/lib/i18n/i18n.js | columnDescription": {
|
|
1878
2274
|
"message": "Nội dung mô tả"
|
|
1879
2275
|
},
|
|
1880
|
-
"
|
|
2276
|
+
"core/lib/i18n/i18n.js | columnDuration": {
|
|
1881
2277
|
"message": "Thời lượng"
|
|
1882
2278
|
},
|
|
1883
|
-
"
|
|
2279
|
+
"core/lib/i18n/i18n.js | columnElement": {
|
|
1884
2280
|
"message": "Phần tử"
|
|
1885
2281
|
},
|
|
1886
|
-
"
|
|
2282
|
+
"core/lib/i18n/i18n.js | columnFailingElem": {
|
|
1887
2283
|
"message": "Các phần tử không đạt"
|
|
1888
2284
|
},
|
|
1889
|
-
"
|
|
2285
|
+
"core/lib/i18n/i18n.js | columnLocation": {
|
|
1890
2286
|
"message": "Vị trí"
|
|
1891
2287
|
},
|
|
1892
|
-
"
|
|
2288
|
+
"core/lib/i18n/i18n.js | columnName": {
|
|
1893
2289
|
"message": "Tên"
|
|
1894
2290
|
},
|
|
1895
|
-
"
|
|
2291
|
+
"core/lib/i18n/i18n.js | columnOverBudget": {
|
|
1896
2292
|
"message": "Vượt ngân sách"
|
|
1897
2293
|
},
|
|
1898
|
-
"
|
|
2294
|
+
"core/lib/i18n/i18n.js | columnRequests": {
|
|
1899
2295
|
"message": "Số yêu cầu"
|
|
1900
2296
|
},
|
|
1901
|
-
"
|
|
2297
|
+
"core/lib/i18n/i18n.js | columnResourceSize": {
|
|
1902
2298
|
"message": "Kích thước tài nguyên"
|
|
1903
2299
|
},
|
|
1904
|
-
"
|
|
2300
|
+
"core/lib/i18n/i18n.js | columnResourceType": {
|
|
1905
2301
|
"message": "Loại tài nguyên"
|
|
1906
2302
|
},
|
|
1907
|
-
"
|
|
2303
|
+
"core/lib/i18n/i18n.js | columnSize": {
|
|
1908
2304
|
"message": "Kích thước"
|
|
1909
2305
|
},
|
|
1910
|
-
"
|
|
2306
|
+
"core/lib/i18n/i18n.js | columnSource": {
|
|
1911
2307
|
"message": "Nguồn"
|
|
1912
2308
|
},
|
|
1913
|
-
"
|
|
2309
|
+
"core/lib/i18n/i18n.js | columnStartTime": {
|
|
1914
2310
|
"message": "Thời gian bắt đầu"
|
|
1915
2311
|
},
|
|
1916
|
-
"
|
|
2312
|
+
"core/lib/i18n/i18n.js | columnTimeSpent": {
|
|
1917
2313
|
"message": "Thời gian sử dụng"
|
|
1918
2314
|
},
|
|
1919
|
-
"
|
|
2315
|
+
"core/lib/i18n/i18n.js | columnTransferSize": {
|
|
1920
2316
|
"message": "Kích thước cần chuyển"
|
|
1921
2317
|
},
|
|
1922
|
-
"
|
|
2318
|
+
"core/lib/i18n/i18n.js | columnURL": {
|
|
1923
2319
|
"message": "URL"
|
|
1924
2320
|
},
|
|
1925
|
-
"
|
|
2321
|
+
"core/lib/i18n/i18n.js | columnWastedBytes": {
|
|
1926
2322
|
"message": "Lượng dữ liệu có thể tiết kiệm được"
|
|
1927
2323
|
},
|
|
1928
|
-
"
|
|
2324
|
+
"core/lib/i18n/i18n.js | columnWastedMs": {
|
|
1929
2325
|
"message": "Thời gian có thể tiết kiệm được"
|
|
1930
2326
|
},
|
|
1931
|
-
"
|
|
2327
|
+
"core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
|
|
1932
2328
|
"message": "Cumulative Layout Shift"
|
|
1933
2329
|
},
|
|
1934
|
-
"
|
|
2330
|
+
"core/lib/i18n/i18n.js | displayValueByteSavings": {
|
|
1935
2331
|
"message": "Lượng dữ liệu có thể tiết kiệm được là {wastedBytes, number, bytes} KiB"
|
|
1936
2332
|
},
|
|
1937
|
-
"
|
|
2333
|
+
"core/lib/i18n/i18n.js | displayValueElementsFound": {
|
|
1938
2334
|
"message": "{nodeCount,plural, =1{Tìm thấy 1 phần tử}other{Tìm thấy # phần tử}}"
|
|
1939
2335
|
},
|
|
1940
|
-
"
|
|
2336
|
+
"core/lib/i18n/i18n.js | displayValueMsSavings": {
|
|
1941
2337
|
"message": "Thời gian có thể tiết kiệm được là {wastedMs, number, milliseconds} mili giây"
|
|
1942
2338
|
},
|
|
1943
|
-
"
|
|
2339
|
+
"core/lib/i18n/i18n.js | documentResourceType": {
|
|
1944
2340
|
"message": "Tài liệu"
|
|
1945
2341
|
},
|
|
1946
|
-
"
|
|
2342
|
+
"core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
|
|
1947
2343
|
"message": "First Contentful Paint"
|
|
1948
2344
|
},
|
|
1949
|
-
"
|
|
2345
|
+
"core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
|
|
1950
2346
|
"message": "Hình ảnh có ý nghĩa đầu tiên"
|
|
1951
2347
|
},
|
|
1952
|
-
"
|
|
2348
|
+
"core/lib/i18n/i18n.js | fontResourceType": {
|
|
1953
2349
|
"message": "Phông chữ"
|
|
1954
2350
|
},
|
|
1955
|
-
"
|
|
2351
|
+
"core/lib/i18n/i18n.js | imageResourceType": {
|
|
1956
2352
|
"message": "Hình ảnh"
|
|
1957
2353
|
},
|
|
1958
|
-
"
|
|
2354
|
+
"core/lib/i18n/i18n.js | interactionToNextPaint": {
|
|
2355
|
+
"message": "Interaction to Next Paint"
|
|
2356
|
+
},
|
|
2357
|
+
"core/lib/i18n/i18n.js | interactiveMetric": {
|
|
1959
2358
|
"message": "Time to Interactive"
|
|
1960
2359
|
},
|
|
1961
|
-
"
|
|
2360
|
+
"core/lib/i18n/i18n.js | itemSeverityHigh": {
|
|
1962
2361
|
"message": "Cao"
|
|
1963
2362
|
},
|
|
1964
|
-
"
|
|
2363
|
+
"core/lib/i18n/i18n.js | itemSeverityLow": {
|
|
1965
2364
|
"message": "Thấp"
|
|
1966
2365
|
},
|
|
1967
|
-
"
|
|
2366
|
+
"core/lib/i18n/i18n.js | itemSeverityMedium": {
|
|
1968
2367
|
"message": "Trung bình"
|
|
1969
2368
|
},
|
|
1970
|
-
"
|
|
2369
|
+
"core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
|
|
1971
2370
|
"message": "Largest Contentful Paint"
|
|
1972
2371
|
},
|
|
1973
|
-
"
|
|
2372
|
+
"core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
|
|
1974
2373
|
"message": "Thời gian phản hồi lần tương tác đầu tiên tối đa có thể"
|
|
1975
2374
|
},
|
|
1976
|
-
"
|
|
2375
|
+
"core/lib/i18n/i18n.js | mediaResourceType": {
|
|
1977
2376
|
"message": "Nội dung nghe nhìn"
|
|
1978
2377
|
},
|
|
1979
|
-
"
|
|
2378
|
+
"core/lib/i18n/i18n.js | ms": {
|
|
1980
2379
|
"message": "{timeInMs, number, milliseconds} mili giây"
|
|
1981
2380
|
},
|
|
1982
|
-
"
|
|
2381
|
+
"core/lib/i18n/i18n.js | otherResourceType": {
|
|
1983
2382
|
"message": "Khác"
|
|
1984
2383
|
},
|
|
1985
|
-
"
|
|
2384
|
+
"core/lib/i18n/i18n.js | otherResourcesLabel": {
|
|
1986
2385
|
"message": "Tài nguyên khác"
|
|
1987
2386
|
},
|
|
1988
|
-
"
|
|
2387
|
+
"core/lib/i18n/i18n.js | scriptResourceType": {
|
|
1989
2388
|
"message": "Tập lệnh"
|
|
1990
2389
|
},
|
|
1991
|
-
"
|
|
2390
|
+
"core/lib/i18n/i18n.js | seconds": {
|
|
1992
2391
|
"message": "{timeInMs, number, seconds} giây"
|
|
1993
2392
|
},
|
|
1994
|
-
"
|
|
2393
|
+
"core/lib/i18n/i18n.js | speedIndexMetric": {
|
|
1995
2394
|
"message": "Speed Index"
|
|
1996
2395
|
},
|
|
1997
|
-
"
|
|
2396
|
+
"core/lib/i18n/i18n.js | stylesheetResourceType": {
|
|
1998
2397
|
"message": "Biểu định kiểu"
|
|
1999
2398
|
},
|
|
2000
|
-
"
|
|
2399
|
+
"core/lib/i18n/i18n.js | thirdPartyResourceType": {
|
|
2001
2400
|
"message": "Bên thứ ba"
|
|
2002
2401
|
},
|
|
2003
|
-
"
|
|
2402
|
+
"core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
|
|
2004
2403
|
"message": "Total Blocking Time"
|
|
2005
2404
|
},
|
|
2006
|
-
"
|
|
2405
|
+
"core/lib/i18n/i18n.js | totalResourceType": {
|
|
2007
2406
|
"message": "Tổng"
|
|
2008
2407
|
},
|
|
2009
|
-
"
|
|
2408
|
+
"core/lib/lh-error.js | badTraceRecording": {
|
|
2010
2409
|
"message": "Đã xảy ra lỗi khi ghi dấu vết quá trình tải trang của bạn. Vui lòng chạy lại Lighthouse. ({errorCode})"
|
|
2011
2410
|
},
|
|
2012
|
-
"
|
|
2411
|
+
"core/lib/lh-error.js | criTimeout": {
|
|
2013
2412
|
"message": "Đã hết thời gian chờ kết nối với Giao thức của trình gỡ lỗi ban đầu ban đầu."
|
|
2014
2413
|
},
|
|
2015
|
-
"
|
|
2414
|
+
"core/lib/lh-error.js | didntCollectScreenshots": {
|
|
2016
2415
|
"message": "Chrome không thu thập được bất kỳ ảnh chụp màn hình nào trong quá trình tải trang. Hãy đảm bảo trang có nội dung hiển thị, sau đó thử chạy lại Lighthouse. ({errorCode})"
|
|
2017
2416
|
},
|
|
2018
|
-
"
|
|
2417
|
+
"core/lib/lh-error.js | dnsFailure": {
|
|
2019
2418
|
"message": "Máy chủ DNS không thể phân giải miền đã cung cấp."
|
|
2020
2419
|
},
|
|
2021
|
-
"
|
|
2420
|
+
"core/lib/lh-error.js | erroredRequiredArtifact": {
|
|
2022
2421
|
"message": "Trình thu thập {artifactName} bắt buộc đã gặp lỗi: {errorMessage}"
|
|
2023
2422
|
},
|
|
2024
|
-
"
|
|
2423
|
+
"core/lib/lh-error.js | internalChromeError": {
|
|
2025
2424
|
"message": "Đã xảy ra lỗi Chrome nội bộ. Vui lòng khởi động lại Chrome và thử chạy lại Lighthouse."
|
|
2026
2425
|
},
|
|
2027
|
-
"
|
|
2426
|
+
"core/lib/lh-error.js | missingRequiredArtifact": {
|
|
2028
2427
|
"message": "Trình thu thập {artifactName} bắt buộc không chạy."
|
|
2029
2428
|
},
|
|
2030
|
-
"
|
|
2429
|
+
"core/lib/lh-error.js | noFcp": {
|
|
2031
2430
|
"message": "Trang này chưa có nội dung nào. Hãy đảm bảo bạn hiển thị cửa sổ trình duyệt ở nền trước trong khi tải rồi thử lại. ({errorCode})"
|
|
2032
2431
|
},
|
|
2033
|
-
"
|
|
2432
|
+
"core/lib/lh-error.js | noLcp": {
|
|
2433
|
+
"message": "Trang không hiển thị nội dung đủ điều kiện là Thời gian hiển thị nội dung lớn nhất (LCP). Hãy đảm bảo trang có thành phần LCP hợp lệ rồi thử lại. ({errorCode})"
|
|
2434
|
+
},
|
|
2435
|
+
"core/lib/lh-error.js | notHtml": {
|
|
2034
2436
|
"message": "Trang đã cung cấp không phải là HTML (được phân phối ở dạng loại MIME {mimeType})."
|
|
2035
2437
|
},
|
|
2036
|
-
"
|
|
2438
|
+
"core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
|
|
2037
2439
|
"message": "Phiên bản Chrome này đã quá cũ nên không hỗ trợ \"{featureName}\". Hãy sử dụng phiên bản mới hơn để xem kết quả đầy đủ."
|
|
2038
2440
|
},
|
|
2039
|
-
"
|
|
2441
|
+
"core/lib/lh-error.js | pageLoadFailed": {
|
|
2040
2442
|
"message": "Lighthouse không thể tải trang bạn đã yêu cầu một cách đáng tin cậy. Hãy đảm bảo bạn đang kiểm tra URL chính xác và máy chủ đang phản hồi tất cả các yêu cầu đúng cách."
|
|
2041
2443
|
},
|
|
2042
|
-
"
|
|
2444
|
+
"core/lib/lh-error.js | pageLoadFailedHung": {
|
|
2043
2445
|
"message": "Lighthouse không thể tải URL bạn yêu cầu một cách đáng tin cậy vì trang này đã ngừng phản hồi."
|
|
2044
2446
|
},
|
|
2045
|
-
"
|
|
2447
|
+
"core/lib/lh-error.js | pageLoadFailedInsecure": {
|
|
2046
2448
|
"message": "URL bạn cung cấp không có chứng chỉ bảo mật hợp lệ. {securityMessages}"
|
|
2047
2449
|
},
|
|
2048
|
-
"
|
|
2450
|
+
"core/lib/lh-error.js | pageLoadFailedInterstitial": {
|
|
2049
2451
|
"message": "Chrome đã ngăn tải trang có quảng cáo xen kẽ. Hãy đảm bảo bạn đang kiểm tra URL chính xác và máy chủ đang phản hồi tất cả các yêu cầu đúng cách."
|
|
2050
2452
|
},
|
|
2051
|
-
"
|
|
2453
|
+
"core/lib/lh-error.js | pageLoadFailedWithDetails": {
|
|
2052
2454
|
"message": "Lighthouse không thể tải trang bạn đã yêu cầu một cách đáng tin cậy. Hãy đảm bảo bạn đang kiểm tra URL chính xác và máy chủ đang phản hồi tất cả các yêu cầu đúng cách. (Chi tiết: {errorDetails})"
|
|
2053
2455
|
},
|
|
2054
|
-
"
|
|
2456
|
+
"core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
|
|
2055
2457
|
"message": "Lighthouse không thể tải trang bạn đã yêu cầu một cách đáng tin cậy. Hãy đảm bảo bạn đang kiểm tra URL chính xác và máy chủ đang phản hồi tất cả các yêu cầu đúng cách. (Mã trạng thái: {statusCode})"
|
|
2056
2458
|
},
|
|
2057
|
-
"
|
|
2459
|
+
"core/lib/lh-error.js | pageLoadTookTooLong": {
|
|
2058
2460
|
"message": "Thời gian tải trang quá lâu. Hãy thực hiện các khuyến nghị trong báo cáo để giảm thời gian tải trang rồi thử chạy lại Lighthouse. ({errorCode})"
|
|
2059
2461
|
},
|
|
2060
|
-
"
|
|
2462
|
+
"core/lib/lh-error.js | protocolTimeout": {
|
|
2061
2463
|
"message": "Quá trình chờ phản hồi của giao thức DevTools đã vượt quá thời gian phân bổ. (Phương thức: {protocolMethod})"
|
|
2062
2464
|
},
|
|
2063
|
-
"
|
|
2465
|
+
"core/lib/lh-error.js | requestContentTimeout": {
|
|
2064
2466
|
"message": "Quá trình tìm nạp nội dung tài nguyên đã vượt quá thời gian phân bổ"
|
|
2065
2467
|
},
|
|
2066
|
-
"
|
|
2468
|
+
"core/lib/lh-error.js | urlInvalid": {
|
|
2067
2469
|
"message": "URL bạn cung cấp có vẻ không hợp lệ."
|
|
2068
2470
|
},
|
|
2471
|
+
"core/lib/navigation-error.js | warningXhtml": {
|
|
2472
|
+
"message": "Loại MIME của trang là XHTML: Lighthouse không hỗ trợ rõ ràng loại tài liệu này"
|
|
2473
|
+
},
|
|
2474
|
+
"core/user-flow.js | defaultFlowName": {
|
|
2475
|
+
"message": "Luồng người dùng ({url})"
|
|
2476
|
+
},
|
|
2477
|
+
"core/user-flow.js | defaultNavigationName": {
|
|
2478
|
+
"message": "Báo cáo di chuyển trên trang ({url})"
|
|
2479
|
+
},
|
|
2480
|
+
"core/user-flow.js | defaultSnapshotName": {
|
|
2481
|
+
"message": "Báo cáo ảnh chụp nhanh ({url})"
|
|
2482
|
+
},
|
|
2483
|
+
"core/user-flow.js | defaultTimespanName": {
|
|
2484
|
+
"message": "Báo cáo khoảng thời gian ({url})"
|
|
2485
|
+
},
|
|
2486
|
+
"flow-report/src/i18n/ui-strings.js | allReports": {
|
|
2487
|
+
"message": "Tất cả báo cáo"
|
|
2488
|
+
},
|
|
2489
|
+
"flow-report/src/i18n/ui-strings.js | categories": {
|
|
2490
|
+
"message": "Danh mục"
|
|
2491
|
+
},
|
|
2492
|
+
"flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
|
|
2493
|
+
"message": "Hỗ trợ tiếp cận"
|
|
2494
|
+
},
|
|
2495
|
+
"flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
|
|
2496
|
+
"message": "Phương pháp hay nhất"
|
|
2497
|
+
},
|
|
2498
|
+
"flow-report/src/i18n/ui-strings.js | categoryPerformance": {
|
|
2499
|
+
"message": "Hiệu suất"
|
|
2500
|
+
},
|
|
2501
|
+
"flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
|
|
2502
|
+
"message": "Ứng dụng web tiến bộ"
|
|
2503
|
+
},
|
|
2504
|
+
"flow-report/src/i18n/ui-strings.js | categorySeo": {
|
|
2505
|
+
"message": "SEO"
|
|
2506
|
+
},
|
|
2507
|
+
"flow-report/src/i18n/ui-strings.js | desktop": {
|
|
2508
|
+
"message": "Máy tính"
|
|
2509
|
+
},
|
|
2510
|
+
"flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
|
|
2511
|
+
"message": "Tìm hiểu về Báo cáo luồng Lighthouse"
|
|
2512
|
+
},
|
|
2513
|
+
"flow-report/src/i18n/ui-strings.js | helpLabel": {
|
|
2514
|
+
"message": "Tìm hiểu về Luồng"
|
|
2515
|
+
},
|
|
2516
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
|
|
2517
|
+
"message": "Sử dụng chế độ Báo cáo di chuyển để…"
|
|
2518
|
+
},
|
|
2519
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
|
|
2520
|
+
"message": "Sử dụng chế độ Báo cáo ảnh chụp nhanh để..."
|
|
2521
|
+
},
|
|
2522
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
|
|
2523
|
+
"message": "Sử dụng chế độ Báo cáo khoảng thời gian để..."
|
|
2524
|
+
},
|
|
2525
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
|
|
2526
|
+
"message": "Đạt được điểm Hiệu suất Lighthouse."
|
|
2527
|
+
},
|
|
2528
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
|
|
2529
|
+
"message": "Đo lường các chỉ số về Hiệu suất tải trang, chẳng hạn như Thời gian hiển thị nội dung lớn nhất và Chỉ số tốc độ."
|
|
2530
|
+
},
|
|
2531
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
|
|
2532
|
+
"message": "Đánh giá các chức năng của Ứng dụng web tiến bộ."
|
|
2533
|
+
},
|
|
2534
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
|
|
2535
|
+
"message": "Tìm các vấn đề về khả năng hỗ trợ tiếp cận trong các ứng dụng trang đơn hoặc các biểu mẫu phức tạp."
|
|
2536
|
+
},
|
|
2537
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
|
|
2538
|
+
"message": "Đánh giá các phương pháp hay nhất về trình đơn và các thành phần trên giao diện người dùng ẩn phía sau sự tương tác."
|
|
2539
|
+
},
|
|
2540
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
|
|
2541
|
+
"message": "Đo lường mức thay đổi bố cục và thời gian thực thi JavaScript trên một chuỗi các tương tác."
|
|
2542
|
+
},
|
|
2543
|
+
"flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
|
|
2544
|
+
"message": "Khám phá các cơ hội về hiệu suất để cải thiện trải nghiệm cho những trang tồn tại lâu dài và các ứng dụng trang đơn."
|
|
2545
|
+
},
|
|
2546
|
+
"flow-report/src/i18n/ui-strings.js | highestImpact": {
|
|
2547
|
+
"message": "Tác động lớn nhất"
|
|
2548
|
+
},
|
|
2549
|
+
"flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
|
|
2550
|
+
"message": "{numInformative,plural, =1{{numInformative} kiểm tra giàu thông tin}other{{numInformative} kiểm tra giàu thông tin}}"
|
|
2551
|
+
},
|
|
2552
|
+
"flow-report/src/i18n/ui-strings.js | mobile": {
|
|
2553
|
+
"message": "Di động"
|
|
2554
|
+
},
|
|
2555
|
+
"flow-report/src/i18n/ui-strings.js | navigationDescription": {
|
|
2556
|
+
"message": "Tải trang"
|
|
2557
|
+
},
|
|
2558
|
+
"flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
|
|
2559
|
+
"message": "Báo cáo di chuyển phân tích một lượt tải trang, giống hệt như các báo cáo Lighthouse gốc."
|
|
2560
|
+
},
|
|
2561
|
+
"flow-report/src/i18n/ui-strings.js | navigationReport": {
|
|
2562
|
+
"message": "Báo cáo di chuyển trên trang"
|
|
2563
|
+
},
|
|
2564
|
+
"flow-report/src/i18n/ui-strings.js | navigationReportCount": {
|
|
2565
|
+
"message": "{numNavigation,plural, =1{{numNavigation} báo cáo di chuyển trên trang}other{{numNavigation} báo cáo di chuyển trên trang}}"
|
|
2566
|
+
},
|
|
2567
|
+
"flow-report/src/i18n/ui-strings.js | passableAuditCount": {
|
|
2568
|
+
"message": "{numPassableAudits,plural, =1{{numPassableAudits} kiểm tra đạt đủ điều kiện}other{{numPassableAudits} kiểm tra đạt đủ điều kiện}}"
|
|
2569
|
+
},
|
|
2570
|
+
"flow-report/src/i18n/ui-strings.js | passedAuditCount": {
|
|
2571
|
+
"message": "{numPassed,plural, =1{{numPassed} kiểm tra đã đạt}other{{numPassed} kiểm tra đã đạt}}"
|
|
2572
|
+
},
|
|
2573
|
+
"flow-report/src/i18n/ui-strings.js | ratingAverage": {
|
|
2574
|
+
"message": "Trung bình"
|
|
2575
|
+
},
|
|
2576
|
+
"flow-report/src/i18n/ui-strings.js | ratingError": {
|
|
2577
|
+
"message": "Lỗi"
|
|
2578
|
+
},
|
|
2579
|
+
"flow-report/src/i18n/ui-strings.js | ratingFail": {
|
|
2580
|
+
"message": "Kém"
|
|
2581
|
+
},
|
|
2582
|
+
"flow-report/src/i18n/ui-strings.js | ratingPass": {
|
|
2583
|
+
"message": "Tốt"
|
|
2584
|
+
},
|
|
2585
|
+
"flow-report/src/i18n/ui-strings.js | save": {
|
|
2586
|
+
"message": "Lưu"
|
|
2587
|
+
},
|
|
2588
|
+
"flow-report/src/i18n/ui-strings.js | snapshotDescription": {
|
|
2589
|
+
"message": "Trạng thái đã chụp của trang"
|
|
2590
|
+
},
|
|
2591
|
+
"flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
|
|
2592
|
+
"message": "Báo cáo ảnh chụp nhanh phân tích trang ở một trạng thái cụ thể, thường là sau khi người dùng tương tác."
|
|
2593
|
+
},
|
|
2594
|
+
"flow-report/src/i18n/ui-strings.js | snapshotReport": {
|
|
2595
|
+
"message": "Báo cáo tổng quan"
|
|
2596
|
+
},
|
|
2597
|
+
"flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
|
|
2598
|
+
"message": "{numSnapshot,plural, =1{{numSnapshot} báo cáo ảnh chụp nhanh}other{{numSnapshot} báo cáo ảnh chụp nhanh}}"
|
|
2599
|
+
},
|
|
2600
|
+
"flow-report/src/i18n/ui-strings.js | summary": {
|
|
2601
|
+
"message": "Tóm tắt"
|
|
2602
|
+
},
|
|
2603
|
+
"flow-report/src/i18n/ui-strings.js | timespanDescription": {
|
|
2604
|
+
"message": "Sự tương tác của người dùng"
|
|
2605
|
+
},
|
|
2606
|
+
"flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
|
|
2607
|
+
"message": "Báo cáo khoảng thời gian phân tích một khoảng thời gian bất kỳ, thường chứa các tương tác của người dùng."
|
|
2608
|
+
},
|
|
2609
|
+
"flow-report/src/i18n/ui-strings.js | timespanReport": {
|
|
2610
|
+
"message": "Báo cáo khoảng thời gian"
|
|
2611
|
+
},
|
|
2612
|
+
"flow-report/src/i18n/ui-strings.js | timespanReportCount": {
|
|
2613
|
+
"message": "{numTimespan,plural, =1{{numTimespan} báo cáo khoảng thời gian}other{{numTimespan} báo cáo khoảng thời gian}}"
|
|
2614
|
+
},
|
|
2615
|
+
"flow-report/src/i18n/ui-strings.js | title": {
|
|
2616
|
+
"message": "Báo cáo luồng người dùng Lighthouse"
|
|
2617
|
+
},
|
|
2069
2618
|
"node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
|
|
2070
2619
|
"message": "Đối với nội dung động, hãy sử dụng [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) để giảm thiểu mức sử dụng CPU khi nội dung nằm ngoài màn hình."
|
|
2071
2620
|
},
|
|
@@ -2082,7 +2631,7 @@
|
|
|
2082
2631
|
"message": "Tham khảo [tài liệu về AMP](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) để đảm bảo tất cả các kiểu đều được hỗ trợ."
|
|
2083
2632
|
},
|
|
2084
2633
|
"node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
|
|
2085
|
-
"message": "Thành phần [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) hỗ trợ thuộc tính [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) để chỉ định
|
|
2634
|
+
"message": "Thành phần [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) hỗ trợ thuộc tính [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) để chỉ định thành phần hình ảnh sẽ sử dụng dựa trên kích thước màn hình. [Tìm hiểu thêm](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)."
|
|
2086
2635
|
},
|
|
2087
2636
|
"node_modules/lighthouse-stack-packs/packs/angular.js | dom-size": {
|
|
2088
2637
|
"message": "Cân nhắc cuộn ảo bằng Component Dev Kit (CDK) nếu đang hiển thị danh sách rất lớn. [Tìm hiểu thêm](https://web.dev/virtualize-lists-with-angular-cdk/)."
|
|
@@ -2109,7 +2658,7 @@
|
|
|
2109
2658
|
"message": "Chỉ định `@font-display` khi xác định phông chữ tùy chỉnh trong giao diện của bạn."
|
|
2110
2659
|
},
|
|
2111
2660
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
|
|
2112
|
-
"message": "
|
|
2661
|
+
"message": "Cân nhắc định cấu hình [định dạng hình ảnh WebP với kiểu Chuyển đổi hình ảnh](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) trên trang web."
|
|
2113
2662
|
},
|
|
2114
2663
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
|
|
2115
2664
|
"message": "Cài đặt [một mô-đun Drupal](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search) có thể tải từng phần hình ảnh. Những mô-đun như vậy cung cấp khả năng trì hoãn mọi hình ảnh ngoài màn hình nhằm cải thiện hiệu suất."
|
|
@@ -2147,11 +2696,50 @@
|
|
|
2147
2696
|
"node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
|
|
2148
2697
|
"message": "Đảm bảo rằng bạn đang sử dụng [Kiểu hình ảnh thích ứng](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) gốc do Drupal cung cấp (có trong Drupal 8 trở lên). Hãy sử dụng Kiểu hình ảnh thích ứng khi hiển thị các trường hình ảnh thông qua chế độ xem, giao diện xem hoặc hình ảnh tải lên bằng trình chỉnh sửa WYSIWYG."
|
|
2149
2698
|
},
|
|
2699
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | font-display": {
|
|
2700
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Optimize Fonts` để tự động tận dụng tính năng CSS `font-display` nhằm đảm bảo người dùng thấy được văn bản trong lúc phông chữ web đang tải."
|
|
2701
|
+
},
|
|
2702
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | modern-image-formats": {
|
|
2703
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Next-Gen Formats` để chuyển đổi định dạng hình ảnh thành WebP."
|
|
2704
|
+
},
|
|
2705
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | offscreen-images": {
|
|
2706
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Lazy Load Images` để hoãn quá trình tải hình ảnh ngoài màn hình cho đến khi cần những hình ảnh đó."
|
|
2707
|
+
},
|
|
2708
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | render-blocking-resources": {
|
|
2709
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) đồng thời bật `Critical CSS` và `Script Delay` để hoãn mọi JS/CSS không thiết yếu."
|
|
2710
|
+
},
|
|
2711
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | server-response-time": {
|
|
2712
|
+
"message": "Dùng [Ezoic Cloud Caching](https://pubdash.ezoic.com/speed/caching) để lưu vào bộ nhớ đệm các nội dung của bạn trên mạng toàn cầu của chúng tôi, qua đó làm giảm thời gian tải byte đầu tiên."
|
|
2713
|
+
},
|
|
2714
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-css": {
|
|
2715
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Minify CSS` để tự động rút gọn CSS nhằm giảm dung lượng dữ liệu truyền qua mạng."
|
|
2716
|
+
},
|
|
2717
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | unminified-javascript": {
|
|
2718
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Minify Javascript` để tự động rút gọn JS nhằm giảm dung lượng dữ liệu truyền qua mạng."
|
|
2719
|
+
},
|
|
2720
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | unused-css-rules": {
|
|
2721
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Remove Unused CSS` để khắc phục vấn đề này. Cách làm này sẽ xác định các loại CSS đang được dùng trên mỗi trang thuộc trang web của bạn và xoá tất cả những loại còn lại để giảm kích thước tệp."
|
|
2722
|
+
},
|
|
2723
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-long-cache-ttl": {
|
|
2724
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Efficient Static Cache Policy` để thiết lập giá trị đề xuất trong tiêu đề bộ nhớ đệm cho các tài sản tĩnh."
|
|
2725
|
+
},
|
|
2726
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-optimized-images": {
|
|
2727
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Next-Gen Formats` để chuyển đổi định dạng hình ảnh thành WebP."
|
|
2728
|
+
},
|
|
2729
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preconnect": {
|
|
2730
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Pre-Connect Origins` để tự động thêm dấu hiệu tài nguyên `preconnect` nhằm thiết lập kết nối sớm với các nguồn gốc quan trọng của bên thứ ba."
|
|
2731
|
+
},
|
|
2732
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-rel-preload": {
|
|
2733
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) đồng thời bật `Preload Fonts` và `Preload Background Images` để thêm các đường liên kết `preload` nhằm ưu tiên việc tìm nạp tài nguyên đang được yêu cầu trong lúc tải trang."
|
|
2734
|
+
},
|
|
2735
|
+
"node_modules/lighthouse-stack-packs/packs/ezoic.js | uses-responsive-images": {
|
|
2736
|
+
"message": "Dùng [Ezoic Leap](https://pubdash.ezoic.com/speed) và bật `Resize Images` để thay đổi kích thước hình ảnh sao cho phù hợp với thiết bị, qua đó làm giảm dung lượng dữ liệu truyền qua mạng."
|
|
2737
|
+
},
|
|
2150
2738
|
"node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
|
|
2151
2739
|
"message": "Hãy cân nhắc tải ảnh GIF lên một dịch vụ để có thể nhúng ảnh đó ở dạng video HTML5."
|
|
2152
2740
|
},
|
|
2153
2741
|
"node_modules/lighthouse-stack-packs/packs/joomla.js | modern-image-formats": {
|
|
2154
|
-
"message": "Hãy cân nhắc
|
|
2742
|
+
"message": "Hãy cân nhắc sử dụng một [plugin](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=webp) hoặc dịch vụ tự động chuyển các hình ảnh đã tải lên sang định dạng tối ưu."
|
|
2155
2743
|
},
|
|
2156
2744
|
"node_modules/lighthouse-stack-packs/packs/joomla.js | offscreen-images": {
|
|
2157
2745
|
"message": "Hãy cài đặt một [trình bổ trợ tải từng phần của Joomla](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading) giúp trì hoãn mọi hình ảnh ngoài màn hình, hoặc chuyển sang một mẫu cung cấp chức năng đó. Kể từ Joomla 4.0, mọi hình ảnh mới sẽ [tự động](https://github.com/joomla/joomla-cms/pull/30748) có thuộc tính`loading` nhận được từ lõi."
|
|
@@ -2226,14 +2814,20 @@
|
|
|
2226
2814
|
"message": "Có thể thêm thẻ `<link rel=preload>` bằng cách [sửa đổi bố cục của một giao diện](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
|
|
2227
2815
|
},
|
|
2228
2816
|
"node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
|
|
2229
|
-
"message": "
|
|
2817
|
+
"message": "Sử dụng thành phần `next/image` thay cho `<img>` để tự động tối ưu hoá định dạng hình ảnh. [Tìm hiểu thêm](https://nextjs.org/docs/basic-features/image-optimization)."
|
|
2230
2818
|
},
|
|
2231
2819
|
"node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
|
|
2232
|
-
"message": "
|
|
2820
|
+
"message": "Sử dụng thành phần `next/image` thay cho `<img>` để tự động tải từng phần của hình ảnh. [Tìm hiểu thêm](https://nextjs.org/docs/basic-features/image-optimization)."
|
|
2821
|
+
},
|
|
2822
|
+
"node_modules/lighthouse-stack-packs/packs/next.js | prioritize-lcp-image": {
|
|
2823
|
+
"message": "Dùng thành phần `next/image` và thiết lập giá trị \"mức độ ưu tiên\" thành đúng (true) để tải trước hình ảnh LCP. [Tìm hiểu thêm](https://nextjs.org/docs/api-reference/next/image#priority)."
|
|
2233
2824
|
},
|
|
2234
2825
|
"node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
|
|
2235
2826
|
"message": "Hãy dùng phần tử `next/script` để trì hoãn việc tải các tập lệnh không quan trọng của bên thứ ba. [Tìm hiểu thêm](https://nextjs.org/docs/basic-features/script)."
|
|
2236
2827
|
},
|
|
2828
|
+
"node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
|
|
2829
|
+
"message": "Sử dụng thành phần `next/image` để đảm bảo hình ảnh luôn có kích thước phù hợp. [Tìm hiểu thêm](https://nextjs.org/docs/api-reference/next/image#width)."
|
|
2830
|
+
},
|
|
2237
2831
|
"node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
|
|
2238
2832
|
"message": "Hãy cân nhắc đặt `PurgeCSS` trong cấu hình `Next.js` để xoá các quy tắc không sử dụng khỏi biểu định kiểu. [Tìm hiểu thêm](https://purgecss.com/guides/next.html)."
|
|
2239
2833
|
},
|
|
@@ -2247,7 +2841,7 @@
|
|
|
2247
2841
|
"message": "Định cấu hình bộ nhớ đệm cho các trang `Server-side Rendered` (SSR) và thành phần không thay đổi được. [Tìm hiểu thêm](https://nextjs.org/docs/going-to-production#caching)."
|
|
2248
2842
|
},
|
|
2249
2843
|
"node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
|
|
2250
|
-
"message": "
|
|
2844
|
+
"message": "Sử dụng thành phần `next/image` thay cho `<img>` để điều chỉnh chất lượng hình ảnh. [Tìm hiểu thêm](https://nextjs.org/docs/basic-features/image-optimization)."
|
|
2251
2845
|
},
|
|
2252
2846
|
"node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
|
|
2253
2847
|
"message": "Hãy dùng phần tử `next/image` để đặt `sizes` phù hợp. [Tìm hiểu thêm](https://nextjs.org/docs/api-reference/next/image#sizes)."
|
|
@@ -2255,6 +2849,24 @@
|
|
|
2255
2849
|
"node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
|
|
2256
2850
|
"message": "Hãy bật tính năng nén trên máy chủ Next.js của bạn. [Tìm hiểu thêm](https://nextjs.org/docs/api-reference/next.config.js/compression)."
|
|
2257
2851
|
},
|
|
2852
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
|
|
2853
|
+
"message": "Sử dụng thành phần `nuxt/image` và thiết lập `format=\"webp\"`. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#format)."
|
|
2854
|
+
},
|
|
2855
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
|
|
2856
|
+
"message": "Sử dụng thành phần `nuxt/image` và thiết lập `loading=\"lazy\"` cho hình ảnh ngoài màn hình. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#loading)."
|
|
2857
|
+
},
|
|
2858
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
|
|
2859
|
+
"message": "Sử dụng thành phần `nuxt/image` và chỉ định `preload` cho hình ảnh LCP. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#preload)."
|
|
2860
|
+
},
|
|
2861
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
|
|
2862
|
+
"message": "Sử dụng thành phần `nuxt/image` và chỉ định `width` và `height` một cách rõ ràng. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#width--height)."
|
|
2863
|
+
},
|
|
2864
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
|
|
2865
|
+
"message": "Sử dụng thành phần `nuxt/image` và thiết lập `quality` phù hợp. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#quality)."
|
|
2866
|
+
},
|
|
2867
|
+
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
|
|
2868
|
+
"message": "Sử dụng thành phần `nuxt/image` và thiết lập `sizes` phù hợp. [Tìm hiểu thêm](https://image.nuxtjs.org/components/nuxt-img#sizes)."
|
|
2869
|
+
},
|
|
2258
2870
|
"node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
|
|
2259
2871
|
"message": "[Thay thế ảnh GIF động bằng video](https://web.dev/replace-gifs-with-videos/) để tải trang web nhanh hơn, đồng thời cân nhắc sử dụng các định dạng tệp hiện đại như [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) hay [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) để cải thiện hiệu quả nén thêm hơn 30% so với codec video tiên tiến hiện tại là VP9."
|
|
2260
2872
|
},
|
|
@@ -2304,7 +2916,7 @@
|
|
|
2304
2916
|
"message": "Nếu bạn đang dùng React Router, hãy giảm thiểu mức sử dụng thành phần `<Redirect>` để [định tuyến](https://reacttraining.com/react-router/web/api/Redirect)."
|
|
2305
2917
|
},
|
|
2306
2918
|
"node_modules/lighthouse-stack-packs/packs/react.js | server-response-time": {
|
|
2307
|
-
"message": "Nếu bạn đang hiển thị bất kỳ thành phần React nào ở phía máy chủ, hãy cân nhắc dùng `
|
|
2919
|
+
"message": "Nếu bạn đang hiển thị bất kỳ thành phần React nào ở phía máy chủ, hãy cân nhắc dùng `renderToPipeableStream()` hoặc `renderToStaticNodeStream()` để cho phép ứng dụng nhận và nhập những phần khác nhau của mục đánh dấu thay vì tất cả cùng lúc. [Tìm hiểu thêm](https://reactjs.org/docs/react-dom-server.html#renderToPipeableStream)."
|
|
2308
2920
|
},
|
|
2309
2921
|
"node_modules/lighthouse-stack-packs/packs/react.js | unminified-css": {
|
|
2310
2922
|
"message": "Nếu hệ thống bản dựng của bạn tự động giảm kích thước tệp CSS, hãy đảm bảo rằng bạn đang triển khai bản phát hành chính thức của ứng dụng. Bạn có thể kiểm tra điều này bằng tiện ích React Developer Tools. [Tìm hiểu thêm](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
|
|
@@ -2322,7 +2934,7 @@
|
|
|
2322
2934
|
"message": "Hãy cân nhắc tải ảnh GIF lên một dịch vụ để có thể nhúng ảnh đó ở dạng video HTML5."
|
|
2323
2935
|
},
|
|
2324
2936
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | modern-image-formats": {
|
|
2325
|
-
"message": "Hãy cân nhắc
|
|
2937
|
+
"message": "Hãy cân nhắc sử dụng trình bổ trợ [Phòng thí nghiệm hiệu suất](https://wordpress.org/plugins/performance-lab/) để tự động chuyển đổi hình ảnh JPEG đã tải lên thành WebP, trên mọi nền tảng được hỗ trợ."
|
|
2326
2938
|
},
|
|
2327
2939
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | offscreen-images": {
|
|
2328
2940
|
"message": "Cài đặt một [plugin tải từng phần của WordPress](https://wordpress.org/plugins/search/lazy+load/) để trì hoãn mọi hình ảnh ngoài màn hình, hoặc chuyển sang một giao diện cung cấp chức năng đó. Ngoài ra, hãy cân nhắc sử dụng [plugin AMP (Accelerated Mobile Pages)](https://wordpress.org/plugins/amp/)."
|
|
@@ -2343,10 +2955,10 @@
|
|
|
2343
2955
|
"message": "Một số [plugin của WordPress](https://wordpress.org/plugins/search/minify+javascript/) có thể làm tăng tốc độ của trang web bằng cách ghép, giảm kích thước và nén tập lệnh. Ngoài ra, bạn nên dùng quy trình tạo để tiến hành thu nhỏ trước, nếu có thể."
|
|
2344
2956
|
},
|
|
2345
2957
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-css-rules": {
|
|
2346
|
-
"message": "Hãy cân nhắc giảm hoặc chuyển đổi số lượng [plugin của WordPress](https://wordpress.org/plugins/) tải Biểu định kiểu xếp chồng (CSS) không dùng đến trong trang của bạn. Để xác định các plugin đang thêm Biểu định kiểu xếp chồng (CSS) không liên quan, hãy thử chạy [phạm vi của mã](https://
|
|
2958
|
+
"message": "Hãy cân nhắc giảm hoặc chuyển đổi số lượng [plugin của WordPress](https://wordpress.org/plugins/) tải Biểu định kiểu xếp chồng (CSS) không dùng đến trong trang của bạn. Để xác định các plugin đang thêm Biểu định kiểu xếp chồng (CSS) không liên quan, hãy thử chạy [phạm vi của mã](https://developer.chrome.com/docs/devtools/coverage/) trong Chrome DevTools. Bạn có thể xác định giao diện/plugin gây ra tình trạng này từ URL của biểu định kiểu. Hãy chú ý đến những plugin có nhiều biểu định kiểu trong danh sách. Những plugin này có nhiều màu đỏ trong phạm vi của mã. Một plugin chỉ nên thêm một biểu định kiểu vào hàng đợi nếu biểu định kiểu đó thực sự được sử dụng trên trang."
|
|
2347
2959
|
},
|
|
2348
2960
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-javascript": {
|
|
2349
|
-
"message": "Hãy cân nhắc giảm hoặc chuyển đổi số lượng [plugin của WordPress](https://wordpress.org/plugins/) tải JavaScript không dùng đến trong trang của bạn. Để xác định các plugin đang thêm JS không liên quan, hãy thử chạy [phạm vi của mã](https://
|
|
2961
|
+
"message": "Hãy cân nhắc giảm hoặc chuyển đổi số lượng [plugin của WordPress](https://wordpress.org/plugins/) tải JavaScript không dùng đến trong trang của bạn. Để xác định các plugin đang thêm JS không liên quan, hãy thử chạy [phạm vi của mã](https://developer.chrome.com/docs/devtools/coverage/) trong Chrome DevTools. Bạn có thể xác định giao diện/plugin gây ra tình trạng này từ URL của tập lệnh. Hãy chú ý đến những plugin có nhiều tập lệnh trong danh sách. Những plugin này có nhiều màu đỏ trong phạm vi của mã. Một plugin chỉ nên thêm một tập lệnh vào hàng đợi nếu tập lệnh đó thực sự được dùng trên trang."
|
|
2350
2962
|
},
|
|
2351
2963
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-long-cache-ttl": {
|
|
2352
2964
|
"message": "Hãy đọc về [Bộ nhớ đệm của trình duyệt trong WordPress](https://wordpress.org/support/article/optimization/#browser-caching)."
|
|
@@ -2360,154 +2972,193 @@
|
|
|
2360
2972
|
"node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-text-compression": {
|
|
2361
2973
|
"message": "Bạn có thể bật tính năng nén văn bản trong cấu hình máy chủ web."
|
|
2362
2974
|
},
|
|
2363
|
-
"
|
|
2975
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | modern-image-formats": {
|
|
2976
|
+
"message": "Bật \"Imagify\" từ thẻ Tối ưu hoá hình ảnh trong \"WP Rocket\" để chuyển đổi hình ảnh sang định dạng WebP."
|
|
2977
|
+
},
|
|
2978
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | offscreen-images": {
|
|
2979
|
+
"message": "Bật [LazyLoad](https://docs.wp-rocket.me/article/1141-lazyload-for-images) trong WP Rocket để khắc phục nội dung đề xuất này. Tính năng này trì hoãn việc tải hình ảnh cho đến khi khách truy cập di chuyển xuống phía dưới trang và thực sự cần xem những hình ảnh đó."
|
|
2980
|
+
},
|
|
2981
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | render-blocking-resources": {
|
|
2982
|
+
"message": "Bật tính năng [Xoá CSS không dùng đến](https://docs.wp-rocket.me/article/1529-remove-unused-css) và [Tải JavaScript bị trì hoãn](https://docs.wp-rocket.me/article/1265-load-javascript-deferred) trong \"WP Rocket\" để giải quyết nội dung đề xuất này. Các tính năng này sẽ tối ưu hoá lần lượt các tệp CSS và JavaScript để các tệp đó không chặn quá trình hiển thị trang."
|
|
2983
|
+
},
|
|
2984
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-css": {
|
|
2985
|
+
"message": "Bật tính năng [Rút gọn các tệp CSS](https://docs.wp-rocket.me/article/1350-css-minify-combine) trong \"WP Rocket\" để khắc phục vấn đề này. Mọi không gian và nhận xét trong tệp CSS trên trang web của bạn sẽ bị xoá để giảm kích thước tệp và đẩy nhanh tốc độ tải xuống."
|
|
2986
|
+
},
|
|
2987
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unminified-javascript": {
|
|
2988
|
+
"message": "Bật tính năng [Rút gọn các tệp JavaScript](https://docs.wp-rocket.me/article/1351-javascript-minify-combine) trong \"WP Rocket\" để khắc phục vấn đề này. Các không gian trống và nhận xét sẽ bị xoá khỏi tệp JavaScript để giảm kích thước tệp và tăng tốc độ tải xuống."
|
|
2989
|
+
},
|
|
2990
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-css-rules": {
|
|
2991
|
+
"message": "Bật tính năng [Xoá CSS không dùng đến](https://docs.wp-rocket.me/article/1529-remove-unused-css) trong \"WP Rocket\" để khắc phục vấn đề này. Thao tác này làm giảm kích thước trang bằng cách xoá tất cả các CSS và biểu định kiểu không được sử dụng trong khi chỉ giữ lại CSS được sử dụng cho mỗi trang."
|
|
2992
|
+
},
|
|
2993
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | unused-javascript": {
|
|
2994
|
+
"message": "Bật tính năng [Trì hoãn thực thi JavaScript](https://docs.wp-rocket.me/article/1349-delay-javascript-execution) trong \"WP Rocket\" để khắc phục sự cố này. Thao tác này sẽ cải thiện việc tải trang bằng cách trì hoãn việc thực thi tập lệnh cho đến khi người dùng tương tác. Nếu trang web của bạn có iframe, bạn có thể sử dụng [LazyLoad của WP Rocket cho iframe và video](https://docs.wp-rocket.me/article/1674-lazyload-for-iframes-and-videos) cũng như [Thay thế iframe YouTube bằng hình ảnh xem trước](https://docs.wp-rocket.me/article/1488-replace-youtube-iframe-with-preview-image)."
|
|
2995
|
+
},
|
|
2996
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-optimized-images": {
|
|
2997
|
+
"message": "Bật \"Imagify\" từ thẻ Tối ưu hoá hình ảnh trong \"WP Rocket\" rồi chạy tính năng Tối ưu hoá hàng loạt để nén hình ảnh."
|
|
2998
|
+
},
|
|
2999
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preconnect": {
|
|
3000
|
+
"message": "Dùng tính năng [Tìm nạp trước yêu cầu DNS](https://docs.wp-rocket.me/article/1302-prefetch-dns-requests) trong \"WP Rocket\" để thêm \"dns-prefetch\" và tăng tốc độ kết nối với các miền bên ngoài. Ngoài ra, \"WP Rocket\" tự động thêm \"preconnect\" vào [miền Google Fonts](https://docs.wp-rocket.me/article/1312-optimize-google-fonts) và mọi CNAME được thêm qua tính năng [Bật CDN](https://docs.wp-rocket.me/article/42-using-wp-rocket-with-a-cdn)."
|
|
3001
|
+
},
|
|
3002
|
+
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preload": {
|
|
3003
|
+
"message": "Để khắc phục vấn đề về phông chữ này, hãy bật tính năng [Xoá CSS không dùng đến](https://docs.wp-rocket.me/article/1529-remove-unused-css) trong \"WP Rocket\". Phông chữ quan trọng của trang web sẽ được tải trước theo mức độ ưu tiên."
|
|
3004
|
+
},
|
|
3005
|
+
"report/renderer/report-utils.js | calculatorLink": {
|
|
2364
3006
|
"message": "Xem máy tính."
|
|
2365
3007
|
},
|
|
2366
|
-
"report/renderer/
|
|
3008
|
+
"report/renderer/report-utils.js | collapseView": {
|
|
2367
3009
|
"message": "Chế độ xem thu gọn"
|
|
2368
3010
|
},
|
|
2369
|
-
"report/renderer/
|
|
3011
|
+
"report/renderer/report-utils.js | crcInitialNavigation": {
|
|
2370
3012
|
"message": "Điều hướng ban đầu"
|
|
2371
3013
|
},
|
|
2372
|
-
"report/renderer/
|
|
3014
|
+
"report/renderer/report-utils.js | crcLongestDurationLabel": {
|
|
2373
3015
|
"message": "Độ trễ tối đa của đường dẫn quan trọng:"
|
|
2374
3016
|
},
|
|
2375
|
-
"report/renderer/
|
|
3017
|
+
"report/renderer/report-utils.js | dropdownCopyJSON": {
|
|
2376
3018
|
"message": "Sao chép đối tượng JSON"
|
|
2377
3019
|
},
|
|
2378
|
-
"report/renderer/
|
|
3020
|
+
"report/renderer/report-utils.js | dropdownDarkTheme": {
|
|
2379
3021
|
"message": "Bật/tắt Giao diện tối"
|
|
2380
3022
|
},
|
|
2381
|
-
"report/renderer/
|
|
3023
|
+
"report/renderer/report-utils.js | dropdownPrintExpanded": {
|
|
2382
3024
|
"message": "Mở rộng trong hộp thoại in"
|
|
2383
3025
|
},
|
|
2384
|
-
"report/renderer/
|
|
3026
|
+
"report/renderer/report-utils.js | dropdownPrintSummary": {
|
|
2385
3027
|
"message": "Báo cáo tóm tắt trong hộp thoại in"
|
|
2386
3028
|
},
|
|
2387
|
-
"report/renderer/
|
|
3029
|
+
"report/renderer/report-utils.js | dropdownSaveGist": {
|
|
2388
3030
|
"message": "Lưu dưới dạng Gist"
|
|
2389
3031
|
},
|
|
2390
|
-
"report/renderer/
|
|
3032
|
+
"report/renderer/report-utils.js | dropdownSaveHTML": {
|
|
2391
3033
|
"message": "Lưu dưới dạng HTML"
|
|
2392
3034
|
},
|
|
2393
|
-
"report/renderer/
|
|
3035
|
+
"report/renderer/report-utils.js | dropdownSaveJSON": {
|
|
2394
3036
|
"message": "Lưu dưới dạng JSON"
|
|
2395
3037
|
},
|
|
2396
|
-
"report/renderer/
|
|
3038
|
+
"report/renderer/report-utils.js | dropdownViewer": {
|
|
2397
3039
|
"message": "Mở trong trình xem"
|
|
2398
3040
|
},
|
|
2399
|
-
"report/renderer/
|
|
3041
|
+
"report/renderer/report-utils.js | errorLabel": {
|
|
2400
3042
|
"message": "Lỗi!"
|
|
2401
3043
|
},
|
|
2402
|
-
"report/renderer/
|
|
3044
|
+
"report/renderer/report-utils.js | errorMissingAuditInfo": {
|
|
2403
3045
|
"message": "Lỗi báo cáo: không có thông tin kiểm tra"
|
|
2404
3046
|
},
|
|
2405
|
-
"report/renderer/
|
|
3047
|
+
"report/renderer/report-utils.js | expandView": {
|
|
2406
3048
|
"message": "Chế độ xem mở rộng"
|
|
2407
3049
|
},
|
|
2408
|
-
"report/renderer/
|
|
3050
|
+
"report/renderer/report-utils.js | footerIssue": {
|
|
2409
3051
|
"message": "Tạo vấn đề"
|
|
2410
3052
|
},
|
|
2411
|
-
"report/renderer/
|
|
3053
|
+
"report/renderer/report-utils.js | hide": {
|
|
2412
3054
|
"message": "Ẩn"
|
|
2413
3055
|
},
|
|
2414
|
-
"report/renderer/
|
|
3056
|
+
"report/renderer/report-utils.js | labDataTitle": {
|
|
2415
3057
|
"message": "Dữ liệu của phòng thí nghiệm"
|
|
2416
3058
|
},
|
|
2417
|
-
"report/renderer/
|
|
3059
|
+
"report/renderer/report-utils.js | lsPerformanceCategoryDescription": {
|
|
2418
3060
|
"message": "Kết quả phân tích [Lighthouse](https://developers.google.com/web/tools/lighthouse/) cho trang hiện tại dựa trên một mạng di động mô phỏng. Các giá trị chỉ là ước tính và có thể thay đổi."
|
|
2419
3061
|
},
|
|
2420
|
-
"report/renderer/
|
|
3062
|
+
"report/renderer/report-utils.js | manualAuditsGroupTitle": {
|
|
2421
3063
|
"message": "Các mục bổ sung cần kiểm tra theo cách thủ công"
|
|
2422
3064
|
},
|
|
2423
|
-
"report/renderer/
|
|
3065
|
+
"report/renderer/report-utils.js | notApplicableAuditsGroupTitle": {
|
|
2424
3066
|
"message": "Không áp dụng"
|
|
2425
3067
|
},
|
|
2426
|
-
"report/renderer/
|
|
3068
|
+
"report/renderer/report-utils.js | opportunityResourceColumnLabel": {
|
|
2427
3069
|
"message": "Cơ hội"
|
|
2428
3070
|
},
|
|
2429
|
-
"report/renderer/
|
|
3071
|
+
"report/renderer/report-utils.js | opportunitySavingsColumnLabel": {
|
|
2430
3072
|
"message": "Thời lượng tiết kiệm được theo ước tính"
|
|
2431
3073
|
},
|
|
2432
|
-
"report/renderer/
|
|
3074
|
+
"report/renderer/report-utils.js | passedAuditsGroupTitle": {
|
|
2433
3075
|
"message": "Số lần kiểm tra đạt yêu cầu"
|
|
2434
3076
|
},
|
|
2435
|
-
"report/renderer/
|
|
3077
|
+
"report/renderer/report-utils.js | runtimeAnalysisWindow": {
|
|
2436
3078
|
"message": "Lượt tải trang đầu tiên"
|
|
2437
3079
|
},
|
|
2438
|
-
"report/renderer/
|
|
3080
|
+
"report/renderer/report-utils.js | runtimeCustom": {
|
|
2439
3081
|
"message": "Chế độ điều tiết tuỳ chỉnh"
|
|
2440
3082
|
},
|
|
2441
|
-
"report/renderer/
|
|
3083
|
+
"report/renderer/report-utils.js | runtimeDesktopEmulation": {
|
|
2442
3084
|
"message": "Màn hình mô phỏng"
|
|
2443
3085
|
},
|
|
2444
|
-
"report/renderer/
|
|
2445
|
-
"message": "
|
|
3086
|
+
"report/renderer/report-utils.js | runtimeMobileEmulation": {
|
|
3087
|
+
"message": "Emulated Moto G Power"
|
|
2446
3088
|
},
|
|
2447
|
-
"report/renderer/
|
|
3089
|
+
"report/renderer/report-utils.js | runtimeNoEmulation": {
|
|
2448
3090
|
"message": "Chưa đặt tùy chọn mô phỏng"
|
|
2449
3091
|
},
|
|
2450
|
-
"report/renderer/
|
|
3092
|
+
"report/renderer/report-utils.js | runtimeSettingsAxeVersion": {
|
|
2451
3093
|
"message": "Phiên bản Axe"
|
|
2452
3094
|
},
|
|
2453
|
-
"report/renderer/
|
|
2454
|
-
"message": "Công suất CPU/
|
|
3095
|
+
"report/renderer/report-utils.js | runtimeSettingsBenchmark": {
|
|
3096
|
+
"message": "Công suất CPU/bộ nhớ không được điều tiết"
|
|
2455
3097
|
},
|
|
2456
|
-
"report/renderer/
|
|
3098
|
+
"report/renderer/report-utils.js | runtimeSettingsCPUThrottling": {
|
|
2457
3099
|
"message": "Điều tiết CPU"
|
|
2458
3100
|
},
|
|
2459
|
-
"report/renderer/
|
|
3101
|
+
"report/renderer/report-utils.js | runtimeSettingsDevice": {
|
|
2460
3102
|
"message": "Thiết bị"
|
|
2461
3103
|
},
|
|
2462
|
-
"report/renderer/
|
|
3104
|
+
"report/renderer/report-utils.js | runtimeSettingsNetworkThrottling": {
|
|
2463
3105
|
"message": "Hạn chế băng thông mạng"
|
|
2464
3106
|
},
|
|
2465
|
-
"report/renderer/
|
|
3107
|
+
"report/renderer/report-utils.js | runtimeSettingsScreenEmulation": {
|
|
3108
|
+
"message": "Mô phỏng màn hình"
|
|
3109
|
+
},
|
|
3110
|
+
"report/renderer/report-utils.js | runtimeSettingsUANetwork": {
|
|
2466
3111
|
"message": "Tác nhân người dùng (mạng)"
|
|
2467
3112
|
},
|
|
2468
|
-
"report/renderer/
|
|
3113
|
+
"report/renderer/report-utils.js | runtimeSingleLoad": {
|
|
2469
3114
|
"message": "Một lượt tải trang"
|
|
2470
3115
|
},
|
|
2471
|
-
"report/renderer/
|
|
3116
|
+
"report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
|
|
2472
3117
|
"message": "Dữ liệu này được lấy trong một lượt tải trang, thay vì dữ liệu trường tóm tắt nhiều phiên."
|
|
2473
3118
|
},
|
|
2474
|
-
"report/renderer/
|
|
3119
|
+
"report/renderer/report-utils.js | runtimeSlow4g": {
|
|
2475
3120
|
"message": "Chế độ điều tiết mạng 4G chậm"
|
|
2476
3121
|
},
|
|
2477
|
-
"report/renderer/
|
|
3122
|
+
"report/renderer/report-utils.js | runtimeUnknown": {
|
|
2478
3123
|
"message": "Không xác định"
|
|
2479
3124
|
},
|
|
2480
|
-
"report/renderer/
|
|
3125
|
+
"report/renderer/report-utils.js | show": {
|
|
2481
3126
|
"message": "Hiện"
|
|
2482
3127
|
},
|
|
2483
|
-
"report/renderer/
|
|
3128
|
+
"report/renderer/report-utils.js | showRelevantAudits": {
|
|
2484
3129
|
"message": "Hiển thị các lượt kiểm tra liên quan đến:"
|
|
2485
3130
|
},
|
|
2486
|
-
"report/renderer/
|
|
3131
|
+
"report/renderer/report-utils.js | snippetCollapseButtonLabel": {
|
|
2487
3132
|
"message": "Thu gọn đoạn mã"
|
|
2488
3133
|
},
|
|
2489
|
-
"report/renderer/
|
|
3134
|
+
"report/renderer/report-utils.js | snippetExpandButtonLabel": {
|
|
2490
3135
|
"message": "Mở rộng đoạn mã"
|
|
2491
3136
|
},
|
|
2492
|
-
"report/renderer/
|
|
3137
|
+
"report/renderer/report-utils.js | thirdPartyResourcesLabel": {
|
|
2493
3138
|
"message": "Hiển thị tài nguyên của bên thứ ba"
|
|
2494
3139
|
},
|
|
2495
|
-
"report/renderer/
|
|
3140
|
+
"report/renderer/report-utils.js | throttlingProvided": {
|
|
2496
3141
|
"message": "Cung cấp theo môi trường"
|
|
2497
3142
|
},
|
|
2498
|
-
"report/renderer/
|
|
3143
|
+
"report/renderer/report-utils.js | toplevelWarningsMessage": {
|
|
2499
3144
|
"message": "Đã xảy ra sự cố ảnh hưởng đến lần chạy Lighthouse này:"
|
|
2500
3145
|
},
|
|
2501
|
-
"report/renderer/
|
|
2502
|
-
"message": "Các giá trị chỉ là ước tính và có thể thay đổi. [Điểm hiệu quả được tính](https://
|
|
3146
|
+
"report/renderer/report-utils.js | varianceDisclaimer": {
|
|
3147
|
+
"message": "Các giá trị chỉ là ước tính và có thể thay đổi. [Điểm hiệu quả được tính](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) trực tiếp từ những chỉ số này."
|
|
3148
|
+
},
|
|
3149
|
+
"report/renderer/report-utils.js | viewOriginalTraceLabel": {
|
|
3150
|
+
"message": "Xem dấu vết gốc"
|
|
3151
|
+
},
|
|
3152
|
+
"report/renderer/report-utils.js | viewTraceLabel": {
|
|
3153
|
+
"message": "Xem dấu vết"
|
|
2503
3154
|
},
|
|
2504
|
-
"report/renderer/
|
|
3155
|
+
"report/renderer/report-utils.js | viewTreemapLabel": {
|
|
2505
3156
|
"message": "Xem Biểu đồ dạng cây"
|
|
2506
3157
|
},
|
|
2507
|
-
"report/renderer/
|
|
3158
|
+
"report/renderer/report-utils.js | warningAuditsGroupTitle": {
|
|
2508
3159
|
"message": "Đã vượt qua bài kiểm tra nhưng có cảnh báo"
|
|
2509
3160
|
},
|
|
2510
|
-
"report/renderer/
|
|
3161
|
+
"report/renderer/report-utils.js | warningHeader": {
|
|
2511
3162
|
"message": "Cảnh báo: "
|
|
2512
3163
|
},
|
|
2513
3164
|
"treemap/app/src/util.js | allLabel": {
|