lighthouse 9.5.0-dev.20220727 → 9.5.0-dev.20220730

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.
Files changed (465) hide show
  1. package/CONTRIBUTING.md +11 -11
  2. package/{lighthouse-cli → cli}/bin.js +5 -5
  3. package/{lighthouse-cli → cli}/cli-flags.js +1 -1
  4. package/{lighthouse-cli → cli}/commands/commands.js +0 -0
  5. package/{lighthouse-cli → cli}/commands/list-audits.js +1 -1
  6. package/{lighthouse-cli → cli}/commands/list-locales.js +0 -0
  7. package/{lighthouse-cli → cli}/commands/list-trace-categories.js +1 -1
  8. package/{lighthouse-cli → cli}/index.js +0 -0
  9. package/{lighthouse-cli → cli}/package.json +0 -0
  10. package/{lighthouse-cli → cli}/printer.js +0 -0
  11. package/{lighthouse-cli → cli}/run.js +3 -3
  12. package/{lighthouse-cli → cli}/sentry-prompt.js +0 -0
  13. package/{lighthouse-cli → cli}/test/smokehouse/__snapshots__/report-assert-test.js.snap +0 -0
  14. package/{lighthouse-cli → cli}/test/smokehouse/core-tests.js +0 -0
  15. package/{lighthouse-cli → cli}/test/smokehouse/frontends/back-compat-util.js +0 -0
  16. package/{lighthouse-cli → cli}/test/smokehouse/frontends/lib.js +0 -0
  17. package/{lighthouse-cli → cli}/test/smokehouse/frontends/node.js +0 -0
  18. package/{lighthouse-cli → cli}/test/smokehouse/frontends/smokehouse-bin.js +1 -1
  19. package/{lighthouse-cli → cli}/test/smokehouse/lib/child-process-error.js +0 -0
  20. package/{lighthouse-cli → cli}/test/smokehouse/lib/concurrent-mapper.js +0 -0
  21. package/{lighthouse-cli → cli}/test/smokehouse/lib/local-console.js +0 -0
  22. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/bundle.js +4 -4
  23. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/cli.js +2 -2
  24. package/{lighthouse-cli → cli}/test/smokehouse/lighthouse-runners/devtools.js +3 -3
  25. package/{lighthouse-cli → cli}/test/smokehouse/readme.md +1 -1
  26. package/{lighthouse-cli → cli}/test/smokehouse/report-assert-test.js +3 -3
  27. package/{lighthouse-cli → cli}/test/smokehouse/report-assert.js +0 -0
  28. package/{lighthouse-cli → cli}/test/smokehouse/smokehouse.js +0 -0
  29. package/{lighthouse-cli → cli}/test/smokehouse/version-check-test.js +0 -0
  30. package/{lighthouse-cli → cli}/test/smokehouse/version-check.js +0 -0
  31. package/{lighthouse-core → core}/audits/accessibility/accesskeys.js +0 -0
  32. package/{lighthouse-core → core}/audits/accessibility/aria-allowed-attr.js +0 -0
  33. package/{lighthouse-core → core}/audits/accessibility/aria-command-name.js +0 -0
  34. package/{lighthouse-core → core}/audits/accessibility/aria-hidden-body.js +0 -0
  35. package/{lighthouse-core → core}/audits/accessibility/aria-hidden-focus.js +0 -0
  36. package/{lighthouse-core → core}/audits/accessibility/aria-input-field-name.js +0 -0
  37. package/{lighthouse-core → core}/audits/accessibility/aria-meter-name.js +0 -0
  38. package/{lighthouse-core → core}/audits/accessibility/aria-progressbar-name.js +0 -0
  39. package/{lighthouse-core → core}/audits/accessibility/aria-required-attr.js +0 -0
  40. package/{lighthouse-core → core}/audits/accessibility/aria-required-children.js +0 -0
  41. package/{lighthouse-core → core}/audits/accessibility/aria-required-parent.js +0 -0
  42. package/{lighthouse-core → core}/audits/accessibility/aria-roles.js +0 -0
  43. package/{lighthouse-core → core}/audits/accessibility/aria-toggle-field-name.js +0 -0
  44. package/{lighthouse-core → core}/audits/accessibility/aria-tooltip-name.js +0 -0
  45. package/{lighthouse-core → core}/audits/accessibility/aria-treeitem-name.js +0 -0
  46. package/{lighthouse-core → core}/audits/accessibility/aria-valid-attr-value.js +0 -0
  47. package/{lighthouse-core → core}/audits/accessibility/aria-valid-attr.js +0 -0
  48. package/{lighthouse-core → core}/audits/accessibility/axe-audit.js +0 -0
  49. package/{lighthouse-core → core}/audits/accessibility/button-name.js +0 -0
  50. package/{lighthouse-core → core}/audits/accessibility/bypass.js +0 -0
  51. package/{lighthouse-core → core}/audits/accessibility/color-contrast.js +0 -0
  52. package/{lighthouse-core → core}/audits/accessibility/definition-list.js +0 -0
  53. package/{lighthouse-core → core}/audits/accessibility/dlitem.js +0 -0
  54. package/{lighthouse-core → core}/audits/accessibility/document-title.js +0 -0
  55. package/{lighthouse-core → core}/audits/accessibility/duplicate-id-active.js +0 -0
  56. package/{lighthouse-core → core}/audits/accessibility/duplicate-id-aria.js +0 -0
  57. package/{lighthouse-core → core}/audits/accessibility/form-field-multiple-labels.js +0 -0
  58. package/{lighthouse-core → core}/audits/accessibility/frame-title.js +0 -0
  59. package/{lighthouse-core → core}/audits/accessibility/heading-order.js +0 -0
  60. package/{lighthouse-core → core}/audits/accessibility/html-has-lang.js +0 -0
  61. package/{lighthouse-core → core}/audits/accessibility/html-lang-valid.js +0 -0
  62. package/{lighthouse-core → core}/audits/accessibility/image-alt.js +0 -0
  63. package/{lighthouse-core → core}/audits/accessibility/input-image-alt.js +0 -0
  64. package/{lighthouse-core → core}/audits/accessibility/label.js +0 -0
  65. package/{lighthouse-core → core}/audits/accessibility/link-name.js +0 -0
  66. package/{lighthouse-core → core}/audits/accessibility/list.js +0 -0
  67. package/{lighthouse-core → core}/audits/accessibility/listitem.js +0 -0
  68. package/{lighthouse-core → core}/audits/accessibility/manual/custom-controls-labels.js +0 -0
  69. package/{lighthouse-core → core}/audits/accessibility/manual/custom-controls-roles.js +0 -0
  70. package/{lighthouse-core → core}/audits/accessibility/manual/focus-traps.js +0 -0
  71. package/{lighthouse-core → core}/audits/accessibility/manual/focusable-controls.js +0 -0
  72. package/{lighthouse-core → core}/audits/accessibility/manual/interactive-element-affordance.js +0 -0
  73. package/{lighthouse-core → core}/audits/accessibility/manual/logical-tab-order.js +0 -0
  74. package/{lighthouse-core → core}/audits/accessibility/manual/managed-focus.js +0 -0
  75. package/{lighthouse-core → core}/audits/accessibility/manual/offscreen-content-hidden.js +0 -0
  76. package/{lighthouse-core → core}/audits/accessibility/manual/use-landmarks.js +0 -0
  77. package/{lighthouse-core → core}/audits/accessibility/manual/visual-order-follows-dom.js +0 -0
  78. package/{lighthouse-core → core}/audits/accessibility/meta-refresh.js +0 -0
  79. package/{lighthouse-core → core}/audits/accessibility/meta-viewport.js +0 -0
  80. package/{lighthouse-core → core}/audits/accessibility/object-alt.js +0 -0
  81. package/{lighthouse-core → core}/audits/accessibility/tabindex.js +0 -0
  82. package/{lighthouse-core → core}/audits/accessibility/td-headers-attr.js +0 -0
  83. package/{lighthouse-core → core}/audits/accessibility/th-has-data-cells.js +0 -0
  84. package/{lighthouse-core → core}/audits/accessibility/valid-lang.js +0 -0
  85. package/{lighthouse-core → core}/audits/accessibility/video-caption.js +0 -0
  86. package/{lighthouse-core → core}/audits/audit.js +0 -0
  87. package/{lighthouse-core → core}/audits/autocomplete.js +0 -0
  88. package/{lighthouse-core → core}/audits/bootup-time.js +0 -0
  89. package/{lighthouse-core → core}/audits/byte-efficiency/byte-efficiency-audit.js +0 -0
  90. package/{lighthouse-core → core}/audits/byte-efficiency/duplicated-javascript.js +0 -0
  91. package/{lighthouse-core → core}/audits/byte-efficiency/efficient-animated-content.js +0 -0
  92. package/{lighthouse-core → core}/audits/byte-efficiency/legacy-javascript.js +2 -2
  93. package/{lighthouse-core → core}/audits/byte-efficiency/modern-image-formats.js +0 -0
  94. package/{lighthouse-core → core}/audits/byte-efficiency/offscreen-images.js +0 -0
  95. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  96. package/{lighthouse-core → core}/audits/byte-efficiency/render-blocking-resources.js +0 -0
  97. package/{lighthouse-core → core}/audits/byte-efficiency/total-byte-weight.js +0 -0
  98. package/{lighthouse-core → core}/audits/byte-efficiency/unminified-css.js +0 -0
  99. package/{lighthouse-core → core}/audits/byte-efficiency/unminified-javascript.js +0 -0
  100. package/{lighthouse-core → core}/audits/byte-efficiency/unused-css-rules.js +0 -0
  101. package/{lighthouse-core → core}/audits/byte-efficiency/unused-javascript.js +0 -0
  102. package/{lighthouse-core → core}/audits/byte-efficiency/uses-long-cache-ttl.js +0 -0
  103. package/{lighthouse-core → core}/audits/byte-efficiency/uses-optimized-images.js +0 -0
  104. package/{lighthouse-core → core}/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -0
  105. package/{lighthouse-core → core}/audits/byte-efficiency/uses-responsive-images.js +0 -0
  106. package/{lighthouse-core → core}/audits/byte-efficiency/uses-text-compression.js +0 -0
  107. package/{lighthouse-core → core}/audits/content-width.js +0 -0
  108. package/{lighthouse-core → core}/audits/critical-request-chains.js +0 -0
  109. package/{lighthouse-core → core}/audits/csp-xss.js +0 -0
  110. package/{lighthouse-core → core}/audits/deprecations.js +0 -0
  111. package/{lighthouse-core → core}/audits/diagnostics.js +0 -0
  112. package/{lighthouse-core → core}/audits/dobetterweb/charset.js +0 -0
  113. package/{lighthouse-core → core}/audits/dobetterweb/doctype.js +0 -0
  114. package/{lighthouse-core → core}/audits/dobetterweb/dom-size.js +0 -0
  115. package/{lighthouse-core → core}/audits/dobetterweb/geolocation-on-start.js +0 -0
  116. package/{lighthouse-core → core}/audits/dobetterweb/inspector-issues.js +0 -0
  117. package/{lighthouse-core → core}/audits/dobetterweb/js-libraries.js +0 -0
  118. package/{lighthouse-core → core}/audits/dobetterweb/no-document-write.js +0 -0
  119. package/{lighthouse-core → core}/audits/dobetterweb/no-vulnerable-libraries.js +0 -0
  120. package/{lighthouse-core → core}/audits/dobetterweb/notification-on-start.js +0 -0
  121. package/{lighthouse-core → core}/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -0
  122. package/{lighthouse-core → core}/audits/dobetterweb/uses-http2.js +0 -0
  123. package/{lighthouse-core → core}/audits/dobetterweb/uses-passive-event-listeners.js +0 -0
  124. package/{lighthouse-core → core}/audits/errors-in-console.js +0 -0
  125. package/{lighthouse-core → core}/audits/final-screenshot.js +0 -0
  126. package/{lighthouse-core → core}/audits/font-display.js +0 -0
  127. package/{lighthouse-core → core}/audits/full-page-screenshot.js +0 -0
  128. package/{lighthouse-core → core}/audits/image-aspect-ratio.js +0 -0
  129. package/{lighthouse-core → core}/audits/image-size-responsive.js +0 -0
  130. package/{lighthouse-core → core}/audits/installable-manifest.js +0 -0
  131. package/{lighthouse-core → core}/audits/is-on-https.js +0 -0
  132. package/{lighthouse-core → core}/audits/largest-contentful-paint-element.js +0 -0
  133. package/{lighthouse-core → core}/audits/layout-shift-elements.js +0 -0
  134. package/{lighthouse-core → core}/audits/lcp-lazy-loaded.js +0 -0
  135. package/{lighthouse-core → core}/audits/long-tasks.js +0 -0
  136. package/{lighthouse-core → core}/audits/main-thread-tasks.js +0 -0
  137. package/{lighthouse-core → core}/audits/mainthread-work-breakdown.js +0 -0
  138. package/{lighthouse-core → core}/audits/manual/manual-audit.js +0 -0
  139. package/{lighthouse-core → core}/audits/manual/pwa-cross-browser.js +0 -0
  140. package/{lighthouse-core → core}/audits/manual/pwa-each-page-has-url.js +0 -0
  141. package/{lighthouse-core → core}/audits/manual/pwa-page-transitions.js +0 -0
  142. package/{lighthouse-core → core}/audits/maskable-icon.js +0 -0
  143. package/{lighthouse-core → core}/audits/metrics/cumulative-layout-shift.js +0 -0
  144. package/{lighthouse-core → core}/audits/metrics/experimental-interaction-to-next-paint.js +0 -0
  145. package/{lighthouse-core → core}/audits/metrics/first-contentful-paint-3g.js +0 -0
  146. package/{lighthouse-core → core}/audits/metrics/first-contentful-paint.js +0 -0
  147. package/{lighthouse-core → core}/audits/metrics/first-meaningful-paint.js +0 -0
  148. package/{lighthouse-core → core}/audits/metrics/interactive.js +0 -0
  149. package/{lighthouse-core → core}/audits/metrics/largest-contentful-paint.js +0 -0
  150. package/{lighthouse-core → core}/audits/metrics/max-potential-fid.js +0 -0
  151. package/{lighthouse-core → core}/audits/metrics/speed-index.js +0 -0
  152. package/{lighthouse-core → core}/audits/metrics/total-blocking-time.js +0 -0
  153. package/{lighthouse-core → core}/audits/metrics.js +0 -0
  154. package/{lighthouse-core → core}/audits/multi-check-audit.js +0 -0
  155. package/{lighthouse-core → core}/audits/network-requests.js +0 -0
  156. package/{lighthouse-core → core}/audits/network-rtt.js +0 -0
  157. package/{lighthouse-core → core}/audits/network-server-latency.js +0 -0
  158. package/{lighthouse-core → core}/audits/no-unload-listeners.js +0 -0
  159. package/{lighthouse-core → core}/audits/non-composited-animations.js +0 -0
  160. package/{lighthouse-core → core}/audits/oopif-iframe-test-audit.js +0 -0
  161. package/{lighthouse-core → core}/audits/performance-budget.js +0 -0
  162. package/{lighthouse-core → core}/audits/predictive-perf.js +0 -0
  163. package/{lighthouse-core → core}/audits/preload-fonts.js +0 -0
  164. package/{lighthouse-core → core}/audits/preload-lcp-image.js +0 -0
  165. package/{lighthouse-core → core}/audits/redirects.js +0 -0
  166. package/{lighthouse-core → core}/audits/resource-summary.js +0 -0
  167. package/{lighthouse-core → core}/audits/screenshot-thumbnails.js +0 -0
  168. package/{lighthouse-core → core}/audits/script-elements-test-audit.js +0 -0
  169. package/{lighthouse-core → core}/audits/script-treemap-data.js +0 -0
  170. package/{lighthouse-core → core}/audits/seo/canonical.js +0 -0
  171. package/{lighthouse-core → core}/audits/seo/crawlable-anchors.js +0 -0
  172. package/{lighthouse-core → core}/audits/seo/font-size.js +0 -0
  173. package/{lighthouse-core → core}/audits/seo/hreflang.js +0 -0
  174. package/{lighthouse-core → core}/audits/seo/http-status-code.js +0 -0
  175. package/{lighthouse-core → core}/audits/seo/is-crawlable.js +0 -0
  176. package/{lighthouse-core → core}/audits/seo/link-text.js +0 -0
  177. package/{lighthouse-core → core}/audits/seo/manual/structured-data.js +0 -0
  178. package/{lighthouse-core → core}/audits/seo/meta-description.js +0 -0
  179. package/{lighthouse-core → core}/audits/seo/plugins.js +0 -0
  180. package/{lighthouse-core → core}/audits/seo/robots-txt.js +0 -0
  181. package/{lighthouse-core → core}/audits/seo/tap-targets.js +0 -0
  182. package/{lighthouse-core → core}/audits/server-response-time.js +0 -0
  183. package/{lighthouse-core → core}/audits/service-worker.js +0 -0
  184. package/{lighthouse-core → core}/audits/splash-screen.js +0 -0
  185. package/{lighthouse-core → core}/audits/themed-omnibox.js +0 -0
  186. package/{lighthouse-core → core}/audits/third-party-facades.js +0 -0
  187. package/{lighthouse-core → core}/audits/third-party-summary.js +0 -0
  188. package/{lighthouse-core → core}/audits/timing-budget.js +0 -0
  189. package/{lighthouse-core → core}/audits/unsized-images.js +0 -0
  190. package/{lighthouse-core → core}/audits/user-timings.js +0 -0
  191. package/{lighthouse-core → core}/audits/uses-rel-preconnect.js +0 -0
  192. package/{lighthouse-core → core}/audits/uses-rel-preload.js +0 -0
  193. package/{lighthouse-core → core}/audits/valid-source-maps.js +0 -0
  194. package/{lighthouse-core → core}/audits/viewport.js +0 -0
  195. package/{lighthouse-core → core}/audits/violation-audit.js +0 -0
  196. package/{lighthouse-core → core}/audits/work-during-interaction.js +0 -0
  197. package/{lighthouse-core → core}/computed/computed-artifact.js +0 -0
  198. package/{lighthouse-core → core}/computed/critical-request-chains.js +0 -0
  199. package/{lighthouse-core → core}/computed/image-records.js +0 -0
  200. package/{lighthouse-core → core}/computed/js-bundles.js +0 -0
  201. package/{lighthouse-core → core}/computed/load-simulator.js +0 -0
  202. package/{lighthouse-core → core}/computed/main-resource.js +0 -0
  203. package/{lighthouse-core → core}/computed/main-thread-tasks.js +0 -0
  204. package/{lighthouse-core → core}/computed/manifest-values.js +0 -0
  205. package/{lighthouse-core → core}/computed/metrics/cumulative-layout-shift.js +0 -0
  206. package/{lighthouse-core → core}/computed/metrics/first-contentful-paint-all-frames.js +0 -0
  207. package/{lighthouse-core → core}/computed/metrics/first-contentful-paint.js +0 -0
  208. package/{lighthouse-core → core}/computed/metrics/first-meaningful-paint.js +0 -0
  209. package/{lighthouse-core → core}/computed/metrics/interactive.js +0 -0
  210. package/{lighthouse-core → core}/computed/metrics/lantern-first-contentful-paint.js +0 -0
  211. package/{lighthouse-core → core}/computed/metrics/lantern-first-meaningful-paint.js +0 -0
  212. package/{lighthouse-core → core}/computed/metrics/lantern-interactive.js +0 -0
  213. package/{lighthouse-core → core}/computed/metrics/lantern-largest-contentful-paint.js +0 -0
  214. package/{lighthouse-core → core}/computed/metrics/lantern-max-potential-fid.js +0 -0
  215. package/{lighthouse-core → core}/computed/metrics/lantern-metric.js +0 -0
  216. package/{lighthouse-core → core}/computed/metrics/lantern-speed-index.js +1 -1
  217. package/{lighthouse-core → core}/computed/metrics/lantern-total-blocking-time.js +0 -0
  218. package/{lighthouse-core → core}/computed/metrics/largest-contentful-paint-all-frames.js +0 -0
  219. package/{lighthouse-core → core}/computed/metrics/largest-contentful-paint.js +0 -0
  220. package/{lighthouse-core → core}/computed/metrics/max-potential-fid.js +0 -0
  221. package/{lighthouse-core → core}/computed/metrics/metric.js +0 -0
  222. package/{lighthouse-core → core}/computed/metrics/navigation-metric.js +0 -0
  223. package/{lighthouse-core → core}/computed/metrics/responsiveness.js +0 -0
  224. package/{lighthouse-core → core}/computed/metrics/speed-index.js +0 -0
  225. package/{lighthouse-core → core}/computed/metrics/tbt-utils.js +0 -0
  226. package/{lighthouse-core → core}/computed/metrics/timing-summary.js +0 -0
  227. package/{lighthouse-core → core}/computed/metrics/total-blocking-time.js +0 -0
  228. package/{lighthouse-core → core}/computed/module-duplication.js +0 -0
  229. package/{lighthouse-core → core}/computed/network-analysis.js +0 -0
  230. package/{lighthouse-core → core}/computed/network-records.js +0 -0
  231. package/{lighthouse-core → core}/computed/page-dependency-graph.js +0 -0
  232. package/{lighthouse-core → core}/computed/processed-navigation.js +0 -0
  233. package/{lighthouse-core → core}/computed/processed-trace.js +0 -0
  234. package/{lighthouse-core → core}/computed/resource-summary.js +0 -0
  235. package/{lighthouse-core → core}/computed/screenshots.js +0 -0
  236. package/{lighthouse-core → core}/computed/speedline.js +0 -0
  237. package/{lighthouse-core → core}/computed/unused-css.js +0 -0
  238. package/{lighthouse-core → core}/computed/unused-javascript-summary.js +0 -0
  239. package/{lighthouse-core → core}/computed/user-timings.js +0 -0
  240. package/{lighthouse-core → core}/computed/viewport-meta.js +0 -0
  241. package/{lighthouse-core → core}/config/budget.js +0 -0
  242. package/{lighthouse-core → core}/config/config-helpers.js +0 -0
  243. package/{lighthouse-core → core}/config/config-plugin.js +0 -0
  244. package/{lighthouse-core → core}/config/config.js +0 -0
  245. package/{lighthouse-core → core}/config/constants.js +0 -0
  246. package/{lighthouse-core → core}/config/default-config.js +0 -2
  247. package/{lighthouse-core → core}/config/desktop-config.js +0 -0
  248. package/{lighthouse-core → core}/config/experimental-config.js +0 -0
  249. package/{lighthouse-core → core}/config/full-config.js +0 -0
  250. package/{lighthouse-core → core}/config/legacy-default-config.js +0 -0
  251. package/{lighthouse-core → core}/config/lr-desktop-config.js +0 -0
  252. package/{lighthouse-core → core}/config/lr-mobile-config.js +0 -0
  253. package/{lighthouse-core → core}/config/metrics-to-audits.js +0 -0
  254. package/{lighthouse-core → core}/config/perf-config.js +0 -0
  255. package/{lighthouse-core → core}/fraggle-rock/api.js +0 -0
  256. package/{lighthouse-core → core}/fraggle-rock/config/config.js +0 -0
  257. package/{lighthouse-core → core}/fraggle-rock/config/filters.js +0 -0
  258. package/{lighthouse-core → core}/fraggle-rock/config/validation.js +0 -0
  259. package/{lighthouse-core → core}/fraggle-rock/gather/base-artifacts.js +0 -0
  260. package/{lighthouse-core → core}/fraggle-rock/gather/base-gatherer.js +1 -1
  261. package/{lighthouse-core → core}/fraggle-rock/gather/driver.js +0 -0
  262. package/{lighthouse-core → core}/fraggle-rock/gather/navigation-runner.js +0 -0
  263. package/{lighthouse-core → core}/fraggle-rock/gather/runner-helpers.js +0 -0
  264. package/{lighthouse-core → core}/fraggle-rock/gather/session.js +0 -0
  265. package/{lighthouse-core → core}/fraggle-rock/gather/snapshot-runner.js +0 -0
  266. package/{lighthouse-core → core}/fraggle-rock/gather/timespan-runner.js +0 -0
  267. package/{lighthouse-core → core}/fraggle-rock/user-flow.js +0 -0
  268. package/{lighthouse-core → core}/gather/connections/connection.js +0 -0
  269. package/{lighthouse-core → core}/gather/connections/cri.js +0 -0
  270. package/{lighthouse-core → core}/gather/connections/raw.js +0 -0
  271. package/{lighthouse-core → core}/gather/driver/dom.js +0 -0
  272. package/{lighthouse-core → core}/gather/driver/environment.js +0 -0
  273. package/{lighthouse-core → core}/gather/driver/execution-context.js +0 -0
  274. package/{lighthouse-core → core}/gather/driver/navigation.js +0 -0
  275. package/{lighthouse-core → core}/gather/driver/network-monitor.js +0 -0
  276. package/{lighthouse-core → core}/gather/driver/network.js +0 -0
  277. package/{lighthouse-core → core}/gather/driver/prepare.js +0 -0
  278. package/{lighthouse-core → core}/gather/driver/service-workers.js +0 -0
  279. package/{lighthouse-core → core}/gather/driver/storage.js +0 -0
  280. package/{lighthouse-core → core}/gather/driver/target-manager.js +0 -0
  281. package/{lighthouse-core → core}/gather/driver/wait-for-condition.js +0 -0
  282. package/{lighthouse-core → core}/gather/driver.js +0 -0
  283. package/{lighthouse-core → core}/gather/fetcher.js +0 -0
  284. package/{lighthouse-core → core}/gather/gather-runner.js +0 -0
  285. package/{lighthouse-core → core}/gather/gatherers/accessibility.js +0 -0
  286. package/{lighthouse-core → core}/gather/gatherers/anchor-elements.js +0 -0
  287. package/{lighthouse-core → core}/gather/gatherers/cache-contents.js +0 -0
  288. package/{lighthouse-core → core}/gather/gatherers/console-messages.js +0 -0
  289. package/{lighthouse-core → core}/gather/gatherers/css-usage.js +0 -0
  290. package/{lighthouse-core → core}/gather/gatherers/devtools-log-compat.js +0 -0
  291. package/{lighthouse-core → core}/gather/gatherers/devtools-log.js +0 -0
  292. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/doctype.js +0 -0
  293. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/domstats.js +0 -0
  294. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/optimized-images.js +0 -0
  295. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -0
  296. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/response-compression.js +0 -0
  297. package/{lighthouse-core → core}/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -0
  298. package/{lighthouse-core → core}/gather/gatherers/full-page-screenshot.js +0 -0
  299. package/{lighthouse-core → core}/gather/gatherers/gatherer.js +0 -0
  300. package/{lighthouse-core → core}/gather/gatherers/global-listeners.js +0 -0
  301. package/{lighthouse-core → core}/gather/gatherers/iframe-elements.js +0 -0
  302. package/{lighthouse-core → core}/gather/gatherers/image-elements.js +0 -0
  303. package/{lighthouse-core → core}/gather/gatherers/inputs.js +0 -0
  304. package/{lighthouse-core → core}/gather/gatherers/inspector-issues.js +0 -0
  305. package/{lighthouse-core → core}/gather/gatherers/installability-errors.js +0 -0
  306. package/{lighthouse-core → core}/gather/gatherers/js-usage.js +0 -0
  307. package/{lighthouse-core → core}/gather/gatherers/link-elements.js +0 -0
  308. package/{lighthouse-core → core}/gather/gatherers/main-document-content.js +0 -0
  309. package/{lighthouse-core → core}/gather/gatherers/meta-elements.js +0 -0
  310. package/{lighthouse-core → core}/gather/gatherers/network-user-agent.js +0 -0
  311. package/{lighthouse-core → core}/gather/gatherers/script-elements.js +0 -0
  312. package/{lighthouse-core → core}/gather/gatherers/scripts.js +0 -0
  313. package/{lighthouse-core → core}/gather/gatherers/seo/embedded-content.js +0 -0
  314. package/{lighthouse-core → core}/gather/gatherers/seo/font-size.js +0 -0
  315. package/{lighthouse-core → core}/gather/gatherers/seo/robots-txt.js +0 -0
  316. package/{lighthouse-core → core}/gather/gatherers/seo/tap-targets.js +0 -0
  317. package/{lighthouse-core → core}/gather/gatherers/service-worker.js +0 -0
  318. package/{lighthouse-core → core}/gather/gatherers/source-maps.js +0 -0
  319. package/{lighthouse-core → core}/gather/gatherers/stacks.js +0 -0
  320. package/{lighthouse-core → core}/gather/gatherers/trace-compat.js +0 -0
  321. package/{lighthouse-core → core}/gather/gatherers/trace-elements.js +0 -0
  322. package/{lighthouse-core → core}/gather/gatherers/trace.js +0 -0
  323. package/{lighthouse-core → core}/gather/gatherers/viewport-dimensions.js +0 -0
  324. package/{lighthouse-core → core}/gather/gatherers/web-app-manifest.js +0 -0
  325. package/{lighthouse-core → core}/index.cjs +0 -0
  326. package/{lighthouse-core → core}/index.js +1 -1
  327. package/{lighthouse-core → core}/lib/arbitrary-equality-map.js +0 -0
  328. package/{lighthouse-core → core}/lib/asset-saver.js +0 -0
  329. package/{lighthouse-core → core}/lib/axe.js +0 -0
  330. package/{lighthouse-core → core}/lib/cdt/Common.js +0 -0
  331. package/{lighthouse-core → core}/lib/cdt/Platform.js +0 -0
  332. package/{lighthouse-core → core}/lib/cdt/SDK.js +0 -0
  333. package/{lighthouse-core → core}/lib/cdt/generated/ParsedURL.js +0 -0
  334. package/{lighthouse-core → core}/lib/cdt/generated/SourceMap.js +0 -0
  335. package/{lighthouse-core → core}/lib/cdt/package.json +0 -0
  336. package/{lighthouse-core → core}/lib/csp-evaluator.js +0 -0
  337. package/{lighthouse-core → core}/lib/dependency-graph/base-node.js +0 -0
  338. package/{lighthouse-core → core}/lib/dependency-graph/cpu-node.js +0 -0
  339. package/{lighthouse-core → core}/lib/dependency-graph/network-node.js +0 -0
  340. package/{lighthouse-core → core}/lib/dependency-graph/simulator/connection-pool.js +0 -0
  341. package/{lighthouse-core → core}/lib/dependency-graph/simulator/dns-cache.js +0 -0
  342. package/{lighthouse-core → core}/lib/dependency-graph/simulator/network-analyzer.js +0 -0
  343. package/{lighthouse-core → core}/lib/dependency-graph/simulator/simulator-timing-map.js +0 -0
  344. package/{lighthouse-core → core}/lib/dependency-graph/simulator/simulator.js +0 -0
  345. package/{lighthouse-core → core}/lib/dependency-graph/simulator/tcp-connection.js +0 -0
  346. package/{lighthouse-core → core}/lib/deprecations-strings.js +0 -0
  347. package/{lighthouse-core → core}/lib/emulation.js +0 -0
  348. package/{lighthouse-core → core}/lib/i18n/README.md +2 -2
  349. package/{lighthouse-core → core}/lib/i18n/i18n.js +0 -0
  350. package/{lighthouse-core → core}/lib/icons.js +0 -0
  351. package/{lighthouse-core → core}/lib/lantern-trace-saver.js +0 -0
  352. package/{lighthouse-core → core}/lib/lh-env.js +0 -0
  353. package/{lighthouse-core → core}/lib/lh-error.js +0 -0
  354. package/{lighthouse-core → core}/lib/lh-trace-processor.js +0 -0
  355. package/{lighthouse-core → core}/lib/manifest-parser.js +0 -0
  356. package/{lighthouse-core → core}/lib/median-run.js +0 -0
  357. package/{lighthouse-core → core}/lib/minification-estimator.js +0 -0
  358. package/{lighthouse-core → core}/lib/minify-devtoolslog.js +0 -0
  359. package/{lighthouse-core → core}/lib/minify-trace.js +3 -3
  360. package/{lighthouse-core → core}/lib/navigation-error.js +0 -0
  361. package/{lighthouse-core → core}/lib/network-recorder.js +0 -0
  362. package/{lighthouse-core → core}/lib/network-request.js +0 -0
  363. package/{lighthouse-core → core}/lib/page-functions.js +0 -0
  364. package/{lighthouse-core → core}/lib/proto-preprocessor.js +0 -0
  365. package/{lighthouse-core → core}/lib/rect-helpers.js +0 -0
  366. package/{lighthouse-core → core}/lib/script-helpers.js +0 -0
  367. package/{lighthouse-core → core}/lib/sentry.js +0 -0
  368. package/{lighthouse-core → core}/lib/stack-packs.js +0 -0
  369. package/{lighthouse-core → core}/lib/statistics.js +0 -0
  370. package/{lighthouse-core → core}/lib/tappable-rects.js +0 -0
  371. package/{lighthouse-core → core}/lib/third-party-web.js +0 -0
  372. package/{lighthouse-core → core}/lib/timing-trace-saver.js +0 -0
  373. package/{lighthouse-core → core}/lib/tracehouse/cpu-profile-model.js +0 -0
  374. package/{lighthouse-core → core}/lib/tracehouse/main-thread-tasks.js +0 -0
  375. package/{lighthouse-core → core}/lib/tracehouse/task-groups.js +0 -0
  376. package/{lighthouse-core → core}/lib/tracehouse/task-summary.js +0 -0
  377. package/{lighthouse-core → core}/lib/tracehouse/trace-processor.js +0 -0
  378. package/{lighthouse-core → core}/lib/traces/pwmetrics-events.js +0 -0
  379. package/{lighthouse-core → core}/lib/url-shim.js +0 -0
  380. package/{lighthouse-core → core}/package.json +0 -0
  381. package/{lighthouse-core → core}/runner.js +0 -0
  382. package/{lighthouse-core → core}/scoring.js +0 -0
  383. package/{lighthouse-core → core}/scripts/download-chrome.sh +0 -0
  384. package/{lighthouse-core → core}/scripts/manual-chrome-launcher.js +1 -1
  385. package/{lighthouse-core → core}/scripts/package.json +0 -0
  386. package/{lighthouse-core → core}/util.cjs +1 -1
  387. package/eslint-local-rules.cjs +1 -1
  388. package/flow-report/test/common-test.tsx +1 -1
  389. package/flow-report/test/run-flow-report-tests.sh +1 -1
  390. package/flow-report/test/sample-flow.ts +1 -1
  391. package/flow-report/tsconfig.json +1 -1
  392. package/package.json +36 -36
  393. package/readme.md +4 -4
  394. package/report/clients/bundle.js +1 -1
  395. package/report/test/clients/bundle-test.js +1 -1
  396. package/report/test/generator/report-generator-test.js +3 -3
  397. package/report/test/renderer/category-renderer-test.js +4 -4
  398. package/report/test/renderer/i18n-test.js +1 -1
  399. package/report/test/renderer/performance-category-renderer-test.js +3 -3
  400. package/report/test/renderer/pwa-category-renderer-test.js +2 -2
  401. package/report/test/renderer/report-renderer-axe-test.js +3 -3
  402. package/report/test/renderer/report-renderer-test.js +3 -3
  403. package/report/test/renderer/report-ui-features-test.js +2 -2
  404. package/report/test/renderer/util-test.js +2 -2
  405. package/shared/localization/locales/ar-XB.json +641 -653
  406. package/shared/localization/locales/ar.json +641 -653
  407. package/shared/localization/locales/bg.json +641 -653
  408. package/shared/localization/locales/ca.json +641 -653
  409. package/shared/localization/locales/cs.json +641 -653
  410. package/shared/localization/locales/da.json +641 -653
  411. package/shared/localization/locales/de.json +641 -653
  412. package/shared/localization/locales/el.json +641 -653
  413. package/shared/localization/locales/en-GB.json +641 -653
  414. package/shared/localization/locales/en-US.json +830 -842
  415. package/shared/localization/locales/en-XA.json +641 -653
  416. package/shared/localization/locales/en-XL.json +830 -842
  417. package/shared/localization/locales/es-419.json +641 -653
  418. package/shared/localization/locales/es.json +641 -653
  419. package/shared/localization/locales/fi.json +641 -653
  420. package/shared/localization/locales/fil.json +641 -653
  421. package/shared/localization/locales/fr.json +641 -653
  422. package/shared/localization/locales/he.json +641 -653
  423. package/shared/localization/locales/hi.json +641 -653
  424. package/shared/localization/locales/hr.json +641 -653
  425. package/shared/localization/locales/hu.json +641 -653
  426. package/shared/localization/locales/id.json +641 -653
  427. package/shared/localization/locales/it.json +641 -653
  428. package/shared/localization/locales/ja.json +641 -653
  429. package/shared/localization/locales/ko.json +641 -653
  430. package/shared/localization/locales/lt.json +641 -653
  431. package/shared/localization/locales/lv.json +641 -653
  432. package/shared/localization/locales/nl.json +641 -653
  433. package/shared/localization/locales/no.json +641 -653
  434. package/shared/localization/locales/pl.json +641 -653
  435. package/shared/localization/locales/pt-PT.json +641 -653
  436. package/shared/localization/locales/pt.json +641 -653
  437. package/shared/localization/locales/ro.json +641 -653
  438. package/shared/localization/locales/ru.json +641 -653
  439. package/shared/localization/locales/sk.json +641 -653
  440. package/shared/localization/locales/sl.json +641 -653
  441. package/shared/localization/locales/sr-Latn.json +641 -653
  442. package/shared/localization/locales/sr.json +641 -653
  443. package/shared/localization/locales/sv.json +641 -653
  444. package/shared/localization/locales/ta.json +641 -653
  445. package/shared/localization/locales/te.json +641 -653
  446. package/shared/localization/locales/th.json +641 -653
  447. package/shared/localization/locales/tr.json +641 -653
  448. package/shared/localization/locales/uk.json +641 -653
  449. package/shared/localization/locales/vi.json +641 -653
  450. package/shared/localization/locales/zh-HK.json +641 -653
  451. package/shared/localization/locales/zh-TW.json +641 -653
  452. package/shared/localization/locales/zh.json +641 -653
  453. package/shared/localization/swap-locale.js +3 -3
  454. package/shared/test/localization/format-test.js +5 -5
  455. package/shared/test/localization/swap-locale-test.js +8 -8
  456. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +1 -1
  457. package/third-party/chromium-synchronization/installability-errors-test.js +1 -1
  458. package/tsconfig.json +84 -84
  459. package/types/artifacts.d.ts +7 -7
  460. package/types/audit.d.ts +1 -1
  461. package/types/config.d.ts +1 -1
  462. package/types/gatherer.d.ts +8 -8
  463. package/types/global-lh.d.ts +2 -2
  464. package/types/user-flow.d.ts +1 -1
  465. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
@@ -131,1939 +131,1927 @@
131
131
  "flow-report/src/i18n/ui-strings.js | title": {
132
132
  "message": "Báo cáo luồng người dùng Lighthouse"
133
133
  },
134
- "lighthouse-core/audits/accessibility/accesskeys.js | description": {
134
+ "core/audits/accessibility/accesskeys.js | description": {
135
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/)."
136
136
  },
137
- "lighthouse-core/audits/accessibility/accesskeys.js | failureTitle": {
137
+ "core/audits/accessibility/accesskeys.js | failureTitle": {
138
138
  "message": "Các giá trị của `[accesskey]` không phải là duy nhất"
139
139
  },
140
- "lighthouse-core/audits/accessibility/accesskeys.js | title": {
140
+ "core/audits/accessibility/accesskeys.js | title": {
141
141
  "message": "Các giá trị của `[accesskey]` là duy nhất"
142
142
  },
143
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | description": {
143
+ "core/audits/accessibility/aria-allowed-attr.js | description": {
144
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 thêm](https://web.dev/aria-allowed-attr/)."
145
145
  },
146
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
146
+ "core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
147
147
  "message": "Các thuộc tính `[aria-*]` không khớp với vai trò tương ứng"
148
148
  },
149
- "lighthouse-core/audits/accessibility/aria-allowed-attr.js | title": {
149
+ "core/audits/accessibility/aria-allowed-attr.js | title": {
150
150
  "message": "Các thuộc tính `[aria-*]` khớp với vai trò tương ứng"
151
151
  },
152
- "lighthouse-core/audits/accessibility/aria-command-name.js | description": {
152
+ "core/audits/accessibility/aria-command-name.js | description": {
153
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 thêm](https://web.dev/aria-name/)."
154
154
  },
155
- "lighthouse-core/audits/accessibility/aria-command-name.js | failureTitle": {
155
+ "core/audits/accessibility/aria-command-name.js | failureTitle": {
156
156
  "message": "Các phần tử `button`, `link` và `menuitem` không có tên dễ đọc."
157
157
  },
158
- "lighthouse-core/audits/accessibility/aria-command-name.js | title": {
158
+ "core/audits/accessibility/aria-command-name.js | title": {
159
159
  "message": "Các phần tử `button`, `link` và `menuitem` có tên dễ đọc"
160
160
  },
161
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | description": {
161
+ "core/audits/accessibility/aria-hidden-body.js | description": {
162
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 thêm](https://web.dev/aria-hidden-body/)."
163
163
  },
164
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | failureTitle": {
164
+ "core/audits/accessibility/aria-hidden-body.js | failureTitle": {
165
165
  "message": "Hiện có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
166
166
  },
167
- "lighthouse-core/audits/accessibility/aria-hidden-body.js | title": {
167
+ "core/audits/accessibility/aria-hidden-body.js | title": {
168
168
  "message": "Hiện không có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
169
169
  },
170
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | description": {
170
+ "core/audits/accessibility/aria-hidden-focus.js | description": {
171
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 thêm](https://web.dev/aria-hidden-focus/)."
172
172
  },
173
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
173
+ "core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
174
174
  "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
175
  },
176
- "lighthouse-core/audits/accessibility/aria-hidden-focus.js | title": {
176
+ "core/audits/accessibility/aria-hidden-focus.js | title": {
177
177
  "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
178
  },
179
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | description": {
179
+ "core/audits/accessibility/aria-input-field-name.js | description": {
180
180
  "message": "Khi tên của một trường nhập ở trạng thái không thể 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](https://web.dev/aria-name/)."
181
181
  },
182
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | failureTitle": {
182
+ "core/audits/accessibility/aria-input-field-name.js | failureTitle": {
183
183
  "message": "Tên các trường nhập của ARIA ở trạng thái không thể tiếp cận"
184
184
  },
185
- "lighthouse-core/audits/accessibility/aria-input-field-name.js | title": {
185
+ "core/audits/accessibility/aria-input-field-name.js | title": {
186
186
  "message": "Tên các trường nhập của ARIA ở trạng thái có thể tiếp cận"
187
187
  },
188
- "lighthouse-core/audits/accessibility/aria-meter-name.js | description": {
188
+ "core/audits/accessibility/aria-meter-name.js | description": {
189
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 thêm](https://web.dev/aria-name/)."
190
190
  },
191
- "lighthouse-core/audits/accessibility/aria-meter-name.js | failureTitle": {
191
+ "core/audits/accessibility/aria-meter-name.js | failureTitle": {
192
192
  "message": "Các phần tử `meter` của ARIA không có tên dễ đọc."
193
193
  },
194
- "lighthouse-core/audits/accessibility/aria-meter-name.js | title": {
194
+ "core/audits/accessibility/aria-meter-name.js | title": {
195
195
  "message": "Các phần tử `meter` của ARIA có tên dễ đọc"
196
196
  },
197
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | description": {
197
+ "core/audits/accessibility/aria-progressbar-name.js | description": {
198
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 thêm](https://web.dev/aria-name/)."
199
199
  },
200
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
200
+ "core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
201
201
  "message": "Các phần tử `progressbar` của ARIA không có tên dễ đọc."
202
202
  },
203
- "lighthouse-core/audits/accessibility/aria-progressbar-name.js | title": {
203
+ "core/audits/accessibility/aria-progressbar-name.js | title": {
204
204
  "message": "Các phần tử `progressbar` của ARIA có tên dễ đọc"
205
205
  },
206
- "lighthouse-core/audits/accessibility/aria-required-attr.js | description": {
206
+ "core/audits/accessibility/aria-required-attr.js | description": {
207
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://web.dev/aria-required-attr/)."
208
208
  },
209
- "lighthouse-core/audits/accessibility/aria-required-attr.js | failureTitle": {
209
+ "core/audits/accessibility/aria-required-attr.js | failureTitle": {
210
210
  "message": "`[role]` không có tất cả các thuộc tính `[aria-*]` bắt buộc"
211
211
  },
212
- "lighthouse-core/audits/accessibility/aria-required-attr.js | title": {
212
+ "core/audits/accessibility/aria-required-attr.js | title": {
213
213
  "message": "`[role]` có tất cả các thuộc tính `[aria-*]` bắt buộc"
214
214
  },
215
- "lighthouse-core/audits/accessibility/aria-required-children.js | description": {
215
+ "core/audits/accessibility/aria-required-children.js | description": {
216
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://web.dev/aria-required-children/)."
217
217
  },
218
- "lighthouse-core/audits/accessibility/aria-required-children.js | failureTitle": {
218
+ "core/audits/accessibility/aria-required-children.js | failureTitle": {
219
219
  "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
220
  },
221
- "lighthouse-core/audits/accessibility/aria-required-children.js | title": {
221
+ "core/audits/accessibility/aria-required-children.js | title": {
222
222
  "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
223
  },
224
- "lighthouse-core/audits/accessibility/aria-required-parent.js | description": {
224
+ "core/audits/accessibility/aria-required-parent.js | description": {
225
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://web.dev/aria-required-parent/)."
226
226
  },
227
- "lighthouse-core/audits/accessibility/aria-required-parent.js | failureTitle": {
227
+ "core/audits/accessibility/aria-required-parent.js | failureTitle": {
228
228
  "message": "`[role]` không có trong phần tử mẹ bắt buộc tương ứng"
229
229
  },
230
- "lighthouse-core/audits/accessibility/aria-required-parent.js | title": {
230
+ "core/audits/accessibility/aria-required-parent.js | title": {
231
231
  "message": "`[role]` có trong phần tử mẹ bắt buộc tương ứng"
232
232
  },
233
- "lighthouse-core/audits/accessibility/aria-roles.js | description": {
233
+ "core/audits/accessibility/aria-roles.js | description": {
234
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://web.dev/aria-roles/)."
235
235
  },
236
- "lighthouse-core/audits/accessibility/aria-roles.js | failureTitle": {
236
+ "core/audits/accessibility/aria-roles.js | failureTitle": {
237
237
  "message": "Các giá trị của `[role]` là không hợp lệ"
238
238
  },
239
- "lighthouse-core/audits/accessibility/aria-roles.js | title": {
239
+ "core/audits/accessibility/aria-roles.js | title": {
240
240
  "message": "Các giá trị của `[role]` là hợp lệ"
241
241
  },
242
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | description": {
242
+ "core/audits/accessibility/aria-toggle-field-name.js | description": {
243
243
  "message": "Khi tên của một trường chuyển đổi ở trạng thái không thể 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](https://web.dev/aria-name/)."
244
244
  },
245
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
245
+ "core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
246
246
  "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
247
  },
248
- "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | title": {
248
+ "core/audits/accessibility/aria-toggle-field-name.js | title": {
249
249
  "message": "Tên các trường chuyển đổi của ARIA ở trạng thái có thể tiếp cận"
250
250
  },
251
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | description": {
251
+ "core/audits/accessibility/aria-tooltip-name.js | description": {
252
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 thêm](https://web.dev/aria-name/)."
253
253
  },
254
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
254
+ "core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
255
255
  "message": "Các phần tử `tooltip` của ARIA không có tên dễ đọc."
256
256
  },
257
- "lighthouse-core/audits/accessibility/aria-tooltip-name.js | title": {
257
+ "core/audits/accessibility/aria-tooltip-name.js | title": {
258
258
  "message": "Các phần tử `tooltip` của ARIA có tên dễ đọc"
259
259
  },
260
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | description": {
260
+ "core/audits/accessibility/aria-treeitem-name.js | description": {
261
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://web.dev/aria-name/)."
262
262
  },
263
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
263
+ "core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
264
264
  "message": "Các phần tử `treeitem` của ARIA không có tên dễ đọc."
265
265
  },
266
- "lighthouse-core/audits/accessibility/aria-treeitem-name.js | title": {
266
+ "core/audits/accessibility/aria-treeitem-name.js | title": {
267
267
  "message": "Các phần tử `treeitem` của ARIA có tên dễ đọc"
268
268
  },
269
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | description": {
269
+ "core/audits/accessibility/aria-valid-attr-value.js | description": {
270
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://web.dev/aria-valid-attr-value/)."
271
271
  },
272
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
272
+ "core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
273
273
  "message": "Giá trị của các thuộc tính `[aria-*]` là không hợp lệ"
274
274
  },
275
- "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | title": {
275
+ "core/audits/accessibility/aria-valid-attr-value.js | title": {
276
276
  "message": "Các thuộc tính `[aria-*]` có giá trị hợp lệ"
277
277
  },
278
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | description": {
278
+ "core/audits/accessibility/aria-valid-attr.js | description": {
279
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://web.dev/aria-valid-attr/)."
280
280
  },
281
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | failureTitle": {
281
+ "core/audits/accessibility/aria-valid-attr.js | failureTitle": {
282
282
  "message": "Các thuộc tính `[aria-*]` là không hợp lệ hoặc bị sai chính tả"
283
283
  },
284
- "lighthouse-core/audits/accessibility/aria-valid-attr.js | title": {
284
+ "core/audits/accessibility/aria-valid-attr.js | title": {
285
285
  "message": "Các thuộc tính `[aria-*]` là hợp lệ và không bị sai chính tả"
286
286
  },
287
- "lighthouse-core/audits/accessibility/axe-audit.js | failingElementsHeader": {
287
+ "core/audits/accessibility/axe-audit.js | failingElementsHeader": {
288
288
  "message": "Các phần tử không đạt"
289
289
  },
290
- "lighthouse-core/audits/accessibility/button-name.js | description": {
290
+ "core/audits/accessibility/button-name.js | description": {
291
291
  "message": "Khi một nút không có tên có thể 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 thêm](https://web.dev/button-name/)."
292
292
  },
293
- "lighthouse-core/audits/accessibility/button-name.js | failureTitle": {
293
+ "core/audits/accessibility/button-name.js | failureTitle": {
294
294
  "message": "Các nút không có tên có thể tiếp cận được"
295
295
  },
296
- "lighthouse-core/audits/accessibility/button-name.js | title": {
296
+ "core/audits/accessibility/button-name.js | title": {
297
297
  "message": "Các nút có tên tiếp cận được"
298
298
  },
299
- "lighthouse-core/audits/accessibility/bypass.js | description": {
299
+ "core/audits/accessibility/bypass.js | description": {
300
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://web.dev/bypass/)."
301
301
  },
302
- "lighthouse-core/audits/accessibility/bypass.js | failureTitle": {
302
+ "core/audits/accessibility/bypass.js | failureTitle": {
303
303
  "message": "Trang này không chứa tiêu đề, đường liên kết bỏ qua hoặc vùng mốc"
304
304
  },
305
- "lighthouse-core/audits/accessibility/bypass.js | title": {
305
+ "core/audits/accessibility/bypass.js | title": {
306
306
  "message": "Trang này chứa tiêu đề, phần tử liên kết bỏ qua hoặc vùng mốc"
307
307
  },
308
- "lighthouse-core/audits/accessibility/color-contrast.js | description": {
308
+ "core/audits/accessibility/color-contrast.js | description": {
309
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 thêm](https://web.dev/color-contrast/)."
310
310
  },
311
- "lighthouse-core/audits/accessibility/color-contrast.js | failureTitle": {
311
+ "core/audits/accessibility/color-contrast.js | failureTitle": {
312
312
  "message": "Màu nền trước và nền sau không có đủ tỷ lệ tương phản."
313
313
  },
314
- "lighthouse-core/audits/accessibility/color-contrast.js | title": {
314
+ "core/audits/accessibility/color-contrast.js | title": {
315
315
  "message": "Màu nền trước và nền sau có đủ tỷ lệ tương phản"
316
316
  },
317
- "lighthouse-core/audits/accessibility/definition-list.js | description": {
317
+ "core/audits/accessibility/definition-list.js | description": {
318
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 thêm](https://web.dev/definition-list/)."
319
319
  },
320
- "lighthouse-core/audits/accessibility/definition-list.js | failureTitle": {
320
+ "core/audits/accessibility/definition-list.js | failureTitle": {
321
321
  "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
322
  },
323
- "lighthouse-core/audits/accessibility/definition-list.js | title": {
323
+ "core/audits/accessibility/definition-list.js | title": {
324
324
  "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
325
  },
326
- "lighthouse-core/audits/accessibility/dlitem.js | description": {
326
+ "core/audits/accessibility/dlitem.js | description": {
327
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 thêm](https://web.dev/dlitem/)."
328
328
  },
329
- "lighthouse-core/audits/accessibility/dlitem.js | failureTitle": {
329
+ "core/audits/accessibility/dlitem.js | failureTitle": {
330
330
  "message": "Các phần tử `<dl>` không bao gồm những mục trong danh sách định nghĩa"
331
331
  },
332
- "lighthouse-core/audits/accessibility/dlitem.js | title": {
332
+ "core/audits/accessibility/dlitem.js | title": {
333
333
  "message": "Các phần tử `<dl>` chứa mục trong danh sách định nghĩa"
334
334
  },
335
- "lighthouse-core/audits/accessibility/document-title.js | description": {
335
+ "core/audits/accessibility/document-title.js | description": {
336
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, 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](https://web.dev/document-title/)."
337
337
  },
338
- "lighthouse-core/audits/accessibility/document-title.js | failureTitle": {
338
+ "core/audits/accessibility/document-title.js | failureTitle": {
339
339
  "message": "Tài liệu không có phần tử `<title>`"
340
340
  },
341
- "lighthouse-core/audits/accessibility/document-title.js | title": {
341
+ "core/audits/accessibility/document-title.js | title": {
342
342
  "message": "Tài liệu có phần tử `<title>`"
343
343
  },
344
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | description": {
344
+ "core/audits/accessibility/duplicate-id-active.js | description": {
345
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 thêm](https://web.dev/duplicate-id-active/)."
346
346
  },
347
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | failureTitle": {
347
+ "core/audits/accessibility/duplicate-id-active.js | failureTitle": {
348
348
  "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
349
  },
350
- "lighthouse-core/audits/accessibility/duplicate-id-active.js | title": {
350
+ "core/audits/accessibility/duplicate-id-active.js | title": {
351
351
  "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
352
  },
353
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | description": {
353
+ "core/audits/accessibility/duplicate-id-aria.js | description": {
354
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 thêm](https://web.dev/duplicate-id-aria/)."
355
355
  },
356
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
356
+ "core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
357
357
  "message": "Mã nhận dạng của ARIA bị trùng lặp"
358
358
  },
359
- "lighthouse-core/audits/accessibility/duplicate-id-aria.js | title": {
359
+ "core/audits/accessibility/duplicate-id-aria.js | title": {
360
360
  "message": "Mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) là duy nhất"
361
361
  },
362
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | description": {
362
+ "core/audits/accessibility/form-field-multiple-labels.js | description": {
363
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 thêm](https://web.dev/form-field-multiple-labels/)."
364
364
  },
365
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
365
+ "core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
366
366
  "message": "Các trường biểu mẫu có nhiều nhãn"
367
367
  },
368
- "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | title": {
368
+ "core/audits/accessibility/form-field-multiple-labels.js | title": {
369
369
  "message": "Không có trường biểu mẫu nào có nhiều nhãn"
370
370
  },
371
- "lighthouse-core/audits/accessibility/frame-title.js | description": {
371
+ "core/audits/accessibility/frame-title.js | description": {
372
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://web.dev/frame-title/)."
373
373
  },
374
- "lighthouse-core/audits/accessibility/frame-title.js | failureTitle": {
374
+ "core/audits/accessibility/frame-title.js | failureTitle": {
375
375
  "message": "Phần tử `<frame>` hoặc `<iframe>` không có tiêu đề"
376
376
  },
377
- "lighthouse-core/audits/accessibility/frame-title.js | title": {
377
+ "core/audits/accessibility/frame-title.js | title": {
378
378
  "message": "Các phần tử `<frame>` hoặc `<iframe>` có tiêu đề"
379
379
  },
380
- "lighthouse-core/audits/accessibility/heading-order.js | description": {
380
+ "core/audits/accessibility/heading-order.js | description": {
381
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://web.dev/heading-order/)."
382
382
  },
383
- "lighthouse-core/audits/accessibility/heading-order.js | failureTitle": {
383
+ "core/audits/accessibility/heading-order.js | failureTitle": {
384
384
  "message": "Các phần tử tiêu đề không tuân theo trình tự giảm dần"
385
385
  },
386
- "lighthouse-core/audits/accessibility/heading-order.js | title": {
386
+ "core/audits/accessibility/heading-order.js | title": {
387
387
  "message": "Các phần tử tiêu đề xuất hiện theo trình tự giảm dần"
388
388
  },
389
- "lighthouse-core/audits/accessibility/html-has-lang.js | description": {
389
+ "core/audits/accessibility/html-has-lang.js | description": {
390
390
  "message": "Nếu một trang chưa chỉ định thuộc tính ngôn ngữ, 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, tức là trình đọc màn hình có thể thông báo sai về văn bản của trang đó. [Tìm hiểu thêm](https://web.dev/html-has-lang/)."
391
391
  },
392
- "lighthouse-core/audits/accessibility/html-has-lang.js | failureTitle": {
392
+ "core/audits/accessibility/html-has-lang.js | failureTitle": {
393
393
  "message": "Phần tử `<html>` chưa có thuộc tính `[lang]`"
394
394
  },
395
- "lighthouse-core/audits/accessibility/html-has-lang.js | title": {
395
+ "core/audits/accessibility/html-has-lang.js | title": {
396
396
  "message": "Phần tử `<html>` có thuộc tính `[lang]`"
397
397
  },
398
- "lighthouse-core/audits/accessibility/html-lang-valid.js | description": {
398
+ "core/audits/accessibility/html-lang-valid.js | description": {
399
399
  "message": "Việc chỉ định [BCP 47 language](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 thêm](https://web.dev/html-lang-valid/)."
400
400
  },
401
- "lighthouse-core/audits/accessibility/html-lang-valid.js | failureTitle": {
401
+ "core/audits/accessibility/html-lang-valid.js | failureTitle": {
402
402
  "message": "Thuộc tính `[lang]` của phần tử `<html>` không có giá trị hợp lệ."
403
403
  },
404
- "lighthouse-core/audits/accessibility/html-lang-valid.js | title": {
404
+ "core/audits/accessibility/html-lang-valid.js | title": {
405
405
  "message": "Thuộc tính `[lang]` của phần tử `<html>` có giá trị hợp lệ"
406
406
  },
407
- "lighthouse-core/audits/accessibility/image-alt.js | description": {
407
+ "core/audits/accessibility/image-alt.js | description": {
408
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://web.dev/image-alt/)."
409
409
  },
410
- "lighthouse-core/audits/accessibility/image-alt.js | failureTitle": {
410
+ "core/audits/accessibility/image-alt.js | failureTitle": {
411
411
  "message": "Phần tử hình ảnh không có thuộc tính `[alt]`"
412
412
  },
413
- "lighthouse-core/audits/accessibility/image-alt.js | title": {
413
+ "core/audits/accessibility/image-alt.js | title": {
414
414
  "message": "Các phần tử hình ảnh có thuộc tính `[alt]`"
415
415
  },
416
- "lighthouse-core/audits/accessibility/input-image-alt.js | description": {
416
+ "core/audits/accessibility/input-image-alt.js | description": {
417
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 thêm](https://web.dev/input-image-alt/)."
418
418
  },
419
- "lighthouse-core/audits/accessibility/input-image-alt.js | failureTitle": {
419
+ "core/audits/accessibility/input-image-alt.js | failureTitle": {
420
420
  "message": "Các thành phần `<input type=\"image\">` không có văn bản `[alt]`"
421
421
  },
422
- "lighthouse-core/audits/accessibility/input-image-alt.js | title": {
422
+ "core/audits/accessibility/input-image-alt.js | title": {
423
423
  "message": "Các thành phần `<input type=\"image\">` có văn bản `[alt]`"
424
424
  },
425
- "lighthouse-core/audits/accessibility/label.js | description": {
425
+ "core/audits/accessibility/label.js | description": {
426
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://web.dev/label/)."
427
427
  },
428
- "lighthouse-core/audits/accessibility/label.js | failureTitle": {
428
+ "core/audits/accessibility/label.js | failureTitle": {
429
429
  "message": "Các phần tử biểu mẫu không có nhãn liên kết"
430
430
  },
431
- "lighthouse-core/audits/accessibility/label.js | title": {
431
+ "core/audits/accessibility/label.js | title": {
432
432
  "message": "Các phần tử biểu mẫu có nhãn liên quan"
433
433
  },
434
- "lighthouse-core/audits/accessibility/link-name.js | description": {
434
+ "core/audits/accessibility/link-name.js | description": {
435
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 đường liên kết) có thể thấy rõ, 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 thêm](https://web.dev/link-name/)."
436
436
  },
437
- "lighthouse-core/audits/accessibility/link-name.js | failureTitle": {
437
+ "core/audits/accessibility/link-name.js | failureTitle": {
438
438
  "message": "Các phần tử liên kết không có tên có thể nhận rõ"
439
439
  },
440
- "lighthouse-core/audits/accessibility/link-name.js | title": {
440
+ "core/audits/accessibility/link-name.js | title": {
441
441
  "message": "Các phần tử liên kết có tên có thể nhận rõ"
442
442
  },
443
- "lighthouse-core/audits/accessibility/list.js | description": {
443
+ "core/audits/accessibility/list.js | description": {
444
444
  "message": "Các trình đọc màn hình có cách riêng để thông báo về 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](https://web.dev/list/)."
445
445
  },
446
- "lighthouse-core/audits/accessibility/list.js | failureTitle": {
446
+ "core/audits/accessibility/list.js | failureTitle": {
447
447
  "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
448
  },
449
- "lighthouse-core/audits/accessibility/list.js | title": {
449
+ "core/audits/accessibility/list.js | title": {
450
450
  "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
451
  },
452
- "lighthouse-core/audits/accessibility/listitem.js | description": {
452
+ "core/audits/accessibility/listitem.js | description": {
453
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 `<ol>` mẹ để được thông báo đúng cách. [Tìm hiểu thêm](https://web.dev/listitem/)."
454
454
  },
455
- "lighthouse-core/audits/accessibility/listitem.js | failureTitle": {
455
+ "core/audits/accessibility/listitem.js | failureTitle": {
456
456
  "message": "Các mục trong danh sách (`<li>`) không có trong phần tử `<ul>` hoặc `<ol>` mẹ."
457
457
  },
458
- "lighthouse-core/audits/accessibility/listitem.js | title": {
458
+ "core/audits/accessibility/listitem.js | title": {
459
459
  "message": "Các mục trong danh sách (`<li>`) có trong phần tử mẹ `<ul>` hoặc `<ol>`"
460
460
  },
461
- "lighthouse-core/audits/accessibility/meta-refresh.js | description": {
461
+ "core/audits/accessibility/meta-refresh.js | description": {
462
462
  "message": "Người dùng không muốn trang tự động làm mới. Khi trang tự động làm mới, tiêu điểm sẽ 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](https://web.dev/meta-refresh/)."
463
463
  },
464
- "lighthouse-core/audits/accessibility/meta-refresh.js | failureTitle": {
464
+ "core/audits/accessibility/meta-refresh.js | failureTitle": {
465
465
  "message": "Tài liệu này sử dụng `<meta http-equiv=\"refresh\">`"
466
466
  },
467
- "lighthouse-core/audits/accessibility/meta-refresh.js | title": {
467
+ "core/audits/accessibility/meta-refresh.js | title": {
468
468
  "message": "Tài liệu này không dùng `<meta http-equiv=\"refresh\">`"
469
469
  },
470
- "lighthouse-core/audits/accessibility/meta-viewport.js | description": {
470
+ "core/audits/accessibility/meta-viewport.js | description": {
471
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://web.dev/meta-viewport/)."
472
472
  },
473
- "lighthouse-core/audits/accessibility/meta-viewport.js | failureTitle": {
473
+ "core/audits/accessibility/meta-viewport.js | failureTitle": {
474
474
  "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
475
  },
476
- "lighthouse-core/audits/accessibility/meta-viewport.js | title": {
476
+ "core/audits/accessibility/meta-viewport.js | title": {
477
477
  "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
478
  },
479
- "lighthouse-core/audits/accessibility/object-alt.js | description": {
479
+ "core/audits/accessibility/object-alt.js | description": {
480
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 thành phần `<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](https://web.dev/object-alt/)."
481
481
  },
482
- "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
482
+ "core/audits/accessibility/object-alt.js | failureTitle": {
483
483
  "message": "Các thành phần `<object>` không có văn bản thay thế"
484
484
  },
485
- "lighthouse-core/audits/accessibility/object-alt.js | title": {
485
+ "core/audits/accessibility/object-alt.js | title": {
486
486
  "message": "Các thành phần `<object>` có văn bản thay thế"
487
487
  },
488
- "lighthouse-core/audits/accessibility/tabindex.js | description": {
488
+ "core/audits/accessibility/tabindex.js | description": {
489
489
  "message": "Giá trị lớn hơn 0 ngụ ý thứ tự di chuyển 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](https://web.dev/tabindex/)."
490
490
  },
491
- "lighthouse-core/audits/accessibility/tabindex.js | failureTitle": {
491
+ "core/audits/accessibility/tabindex.js | failureTitle": {
492
492
  "message": "Một số phần tử có giá trị `[tabindex]` lớn hơn 0"
493
493
  },
494
- "lighthouse-core/audits/accessibility/tabindex.js | title": {
494
+ "core/audits/accessibility/tabindex.js | title": {
495
495
  "message": "Không phần tử nào có giá trị `[tabindex]` lớn hơn 0"
496
496
  },
497
- "lighthouse-core/audits/accessibility/td-headers-attr.js | description": {
497
+ "core/audits/accessibility/td-headers-attr.js | description": {
498
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://web.dev/td-headers-attr/)."
499
499
  },
500
- "lighthouse-core/audits/accessibility/td-headers-attr.js | failureTitle": {
500
+ "core/audits/accessibility/td-headers-attr.js | failureTitle": {
501
501
  "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
502
  },
503
- "lighthouse-core/audits/accessibility/td-headers-attr.js | title": {
503
+ "core/audits/accessibility/td-headers-attr.js | title": {
504
504
  "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
505
  },
506
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | description": {
506
+ "core/audits/accessibility/th-has-data-cells.js | description": {
507
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://web.dev/th-has-data-cells/)."
508
508
  },
509
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | failureTitle": {
509
+ "core/audits/accessibility/th-has-data-cells.js | failureTitle": {
510
510
  "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
511
  },
512
- "lighthouse-core/audits/accessibility/th-has-data-cells.js | title": {
512
+ "core/audits/accessibility/th-has-data-cells.js | title": {
513
513
  "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
514
  },
515
- "lighthouse-core/audits/accessibility/valid-lang.js | description": {
515
+ "core/audits/accessibility/valid-lang.js | description": {
516
516
  "message": "Việc chỉ định một [BCP 47 language](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 thêm](https://web.dev/valid-lang/)."
517
517
  },
518
- "lighthouse-core/audits/accessibility/valid-lang.js | failureTitle": {
518
+ "core/audits/accessibility/valid-lang.js | failureTitle": {
519
519
  "message": "Các thuộc tính `[lang]` không có giá trị hợp lệ"
520
520
  },
521
- "lighthouse-core/audits/accessibility/valid-lang.js | title": {
521
+ "core/audits/accessibility/valid-lang.js | title": {
522
522
  "message": "Các thuộc tính `[lang]` có giá trị hợp lệ"
523
523
  },
524
- "lighthouse-core/audits/accessibility/video-caption.js | description": {
524
+ "core/audits/accessibility/video-caption.js | description": {
525
525
  "message": "Video có phụ đề có thể giúp người dùng bị khiếm thính và nặng tai dễ dàng tiếp cận nội dung video hơn. [Tìm hiểu thêm](https://web.dev/video-caption/)."
526
526
  },
527
- "lighthouse-core/audits/accessibility/video-caption.js | failureTitle": {
527
+ "core/audits/accessibility/video-caption.js | failureTitle": {
528
528
  "message": "Các phần tử `<video>` không chứa phần tử `<track>` có `[kind=\"captions\"]`."
529
529
  },
530
- "lighthouse-core/audits/accessibility/video-caption.js | title": {
530
+ "core/audits/accessibility/video-caption.js | title": {
531
531
  "message": "Các phần tử `<video>` chứa phần tử `<track>` có `[kind=\"captions\"]`"
532
532
  },
533
- "lighthouse-core/audits/apple-touch-icon.js | description": {
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": {
533
+ "core/audits/autocomplete.js | columnCurrent": {
546
534
  "message": "Giá trị hiện tại"
547
535
  },
548
- "lighthouse-core/audits/autocomplete.js | columnSuggestions": {
536
+ "core/audits/autocomplete.js | columnSuggestions": {
549
537
  "message": "Mã thông báo đề xuất"
550
538
  },
551
- "lighthouse-core/audits/autocomplete.js | description": {
539
+ "core/audits/autocomplete.js | description": {
552
540
  "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)"
553
541
  },
554
- "lighthouse-core/audits/autocomplete.js | failureTitle": {
542
+ "core/audits/autocomplete.js | failureTitle": {
555
543
  "message": "Thuộc tính `autocomplete` của các phần tử `<input>` là không chính xác"
556
544
  },
557
- "lighthouse-core/audits/autocomplete.js | manualReview": {
545
+ "core/audits/autocomplete.js | manualReview": {
558
546
  "message": "Yêu cầu xem xét thủ công"
559
547
  },
560
- "lighthouse-core/audits/autocomplete.js | reviewOrder": {
548
+ "core/audits/autocomplete.js | reviewOrder": {
561
549
  "message": "Xem xét thứ tự của các mã thông báo"
562
550
  },
563
- "lighthouse-core/audits/autocomplete.js | title": {
551
+ "core/audits/autocomplete.js | title": {
564
552
  "message": "Các phần tử `<input>` sử dụng `autocomplete` đúng cách"
565
553
  },
566
- "lighthouse-core/audits/autocomplete.js | warningInvalid": {
554
+ "core/audits/autocomplete.js | warningInvalid": {
567
555
  "message": "(Các) mã thông báo `autocomplete`: \"{token}\" là không hợp lệ trong {snippet}"
568
556
  },
569
- "lighthouse-core/audits/autocomplete.js | warningOrder": {
557
+ "core/audits/autocomplete.js | warningOrder": {
570
558
  "message": "Xem xét thứ tự của các mã thông báo: \"{tokens}\" trong {snippet}"
571
559
  },
572
- "lighthouse-core/audits/bootup-time.js | chromeExtensionsWarning": {
560
+ "core/audits/bootup-time.js | chromeExtensionsWarning": {
573
561
  "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
562
  },
575
- "lighthouse-core/audits/bootup-time.js | columnScriptEval": {
563
+ "core/audits/bootup-time.js | columnScriptEval": {
576
564
  "message": "Đánh giá tập lệnh"
577
565
  },
578
- "lighthouse-core/audits/bootup-time.js | columnScriptParse": {
566
+ "core/audits/bootup-time.js | columnScriptParse": {
579
567
  "message": "Phân tích cú pháp tập lệnh"
580
568
  },
581
- "lighthouse-core/audits/bootup-time.js | columnTotal": {
569
+ "core/audits/bootup-time.js | columnTotal": {
582
570
  "message": "Tổng thời gian của CPU"
583
571
  },
584
- "lighthouse-core/audits/bootup-time.js | description": {
572
+ "core/audits/bootup-time.js | description": {
585
573
  "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 thêm](https://web.dev/bootup-time/)."
586
574
  },
587
- "lighthouse-core/audits/bootup-time.js | failureTitle": {
575
+ "core/audits/bootup-time.js | failureTitle": {
588
576
  "message": "Giảm thời gian thực thi JavaScript"
589
577
  },
590
- "lighthouse-core/audits/bootup-time.js | title": {
578
+ "core/audits/bootup-time.js | title": {
591
579
  "message": "Thời gian thực thi JavaScript"
592
580
  },
593
- "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | description": {
581
+ "core/audits/byte-efficiency/duplicated-javascript.js | description": {
594
582
  "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
583
  },
596
- "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | title": {
584
+ "core/audits/byte-efficiency/duplicated-javascript.js | title": {
597
585
  "message": "Xóa các mô-đun trùng lặp trong gói JavaScript"
598
586
  },
599
- "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | description": {
587
+ "core/audits/byte-efficiency/efficient-animated-content.js | description": {
600
588
  "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://web.dev/efficient-animated-content/)"
601
589
  },
602
- "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | title": {
590
+ "core/audits/byte-efficiency/efficient-animated-content.js | title": {
603
591
  "message": "Sử dụng các định dạng video cho nội dung động"
604
592
  },
605
- "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | description": {
593
+ "core/audits/byte-efficiency/legacy-javascript.js | description": {
606
594
  "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 mới nữa. Đố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 mớ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 mới trong khi vẫn tiếp tục hỗ trợ cho trình duyệt cũ. [Tìm hiểu thêm](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)"
607
595
  },
608
- "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | title": {
596
+ "core/audits/byte-efficiency/legacy-javascript.js | title": {
609
597
  "message": "Tránh phân phối JavaScript cũ tới các trình duyệt hiện đại"
610
598
  },
611
- "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | description": {
599
+ "core/audits/byte-efficiency/modern-image-formats.js | description": {
612
600
  "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://web.dev/uses-webp-images/)."
613
601
  },
614
- "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | title": {
602
+ "core/audits/byte-efficiency/modern-image-formats.js | title": {
615
603
  "message": "Phân phối hình ảnh ở định dạng mới và hiệu quả hơn"
616
604
  },
617
- "lighthouse-core/audits/byte-efficiency/offscreen-images.js | description": {
605
+ "core/audits/byte-efficiency/offscreen-images.js | description": {
618
606
  "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 thêm](https://web.dev/offscreen-images/)."
619
607
  },
620
- "lighthouse-core/audits/byte-efficiency/offscreen-images.js | title": {
608
+ "core/audits/byte-efficiency/offscreen-images.js | title": {
621
609
  "message": "Trì hoãn tải các hình ảnh ngoài màn hình"
622
610
  },
623
- "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | description": {
611
+ "core/audits/byte-efficiency/render-blocking-resources.js | description": {
624
612
  "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 thêm](https://web.dev/render-blocking-resources/)."
625
613
  },
626
- "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | title": {
614
+ "core/audits/byte-efficiency/render-blocking-resources.js | title": {
627
615
  "message": "Loại bỏ các tài nguyên chặn hiển thị"
628
616
  },
629
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | description": {
617
+ "core/audits/byte-efficiency/total-byte-weight.js | description": {
630
618
  "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 lâu. [Tìm hiểu thêm](https://web.dev/total-byte-weight/)."
631
619
  },
632
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
620
+ "core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
633
621
  "message": "Tổng kích thước là {totalBytes, number, bytes} KiB"
634
622
  },
635
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
623
+ "core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
636
624
  "message": "Tránh các tài nguyên lớn trên mạng"
637
625
  },
638
- "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | title": {
626
+ "core/audits/byte-efficiency/total-byte-weight.js | title": {
639
627
  "message": "Tránh tài nguyên lớn trên mạng"
640
628
  },
641
- "lighthouse-core/audits/byte-efficiency/unminified-css.js | description": {
629
+ "core/audits/byte-efficiency/unminified-css.js | description": {
642
630
  "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 thêm](https://web.dev/unminified-css/)."
643
631
  },
644
- "lighthouse-core/audits/byte-efficiency/unminified-css.js | title": {
632
+ "core/audits/byte-efficiency/unminified-css.js | title": {
645
633
  "message": "Rút gọn CSS"
646
634
  },
647
- "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | description": {
635
+ "core/audits/byte-efficiency/unminified-javascript.js | description": {
648
636
  "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 thêm](https://web.dev/unminified-javascript/)."
649
637
  },
650
- "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | title": {
638
+ "core/audits/byte-efficiency/unminified-javascript.js | title": {
651
639
  "message": "Rút gọn JavaScript"
652
640
  },
653
- "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | description": {
641
+ "core/audits/byte-efficiency/unused-css-rules.js | description": {
654
642
  "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 thêm](https://web.dev/unused-css-rules/)"
655
643
  },
656
- "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | title": {
644
+ "core/audits/byte-efficiency/unused-css-rules.js | title": {
657
645
  "message": "Giảm CSS không dùng đến"
658
646
  },
659
- "lighthouse-core/audits/byte-efficiency/unused-javascript.js | description": {
647
+ "core/audits/byte-efficiency/unused-javascript.js | description": {
660
648
  "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 thêm](https://web.dev/unused-javascript/)"
661
649
  },
662
- "lighthouse-core/audits/byte-efficiency/unused-javascript.js | title": {
650
+ "core/audits/byte-efficiency/unused-javascript.js | title": {
663
651
  "message": "Giảm JavaScript không dùng đến"
664
652
  },
665
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
653
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
666
654
  "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://web.dev/uses-long-cache-ttl/)."
667
655
  },
668
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
656
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
669
657
  "message": "{itemCount,plural, =1{Đã tìm thấy 1 tài nguyên}other{Đã tìm thấy # tài nguyên}}"
670
658
  },
671
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
659
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
672
660
  "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
661
  },
674
- "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
662
+ "core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
675
663
  "message": "Sử dụng chính sách bộ nhớ đệm hiệu quả cho các nội dung tĩnh"
676
664
  },
677
- "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | description": {
665
+ "core/audits/byte-efficiency/uses-optimized-images.js | description": {
678
666
  "message": "Hình ảnh được tối ưu hóa sẽ tải nhanh hơn và tiêu tốn ít dữ liệu di động hơn. [Tìm hiểu thêm](https://web.dev/uses-optimized-images/)."
679
667
  },
680
- "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | title": {
668
+ "core/audits/byte-efficiency/uses-optimized-images.js | title": {
681
669
  "message": "Mã hóa hình ảnh hiệu quả"
682
670
  },
683
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
671
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnActualDimensions": {
684
672
  "message": "Kích thước thực"
685
673
  },
686
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
674
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
687
675
  "message": "Kích thước hiển thị"
688
676
  },
689
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
677
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
690
678
  "message": "Hình ảnh có kích thước lớn hơn kích thước hiển thị"
691
679
  },
692
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
680
+ "core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
693
681
  "message": "Hình ảnh có kích thước hiển thị phù hợp"
694
682
  },
695
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
683
+ "core/audits/byte-efficiency/uses-responsive-images.js | description": {
696
684
  "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 thêm](https://web.dev/uses-responsive-images/)."
697
685
  },
698
- "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | title": {
686
+ "core/audits/byte-efficiency/uses-responsive-images.js | title": {
699
687
  "message": "Thay đổi kích thước hình ảnh cho phù hợp"
700
688
  },
701
- "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | description": {
689
+ "core/audits/byte-efficiency/uses-text-compression.js | description": {
702
690
  "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://web.dev/uses-text-compression/)."
703
691
  },
704
- "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | title": {
692
+ "core/audits/byte-efficiency/uses-text-compression.js | title": {
705
693
  "message": "Bật tính năng nén văn bản"
706
694
  },
707
- "lighthouse-core/audits/content-width.js | description": {
695
+ "core/audits/content-width.js | description": {
708
696
  "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 hóa cho màn hình thiết bị di động. [Tìm hiểu thêm](https://web.dev/content-width/)"
709
697
  },
710
- "lighthouse-core/audits/content-width.js | explanation": {
698
+ "core/audits/content-width.js | explanation": {
711
699
  "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
700
  },
713
- "lighthouse-core/audits/content-width.js | failureTitle": {
701
+ "core/audits/content-width.js | failureTitle": {
714
702
  "message": "Kích thước của nội dung không phù hợp với khung nhìn"
715
703
  },
716
- "lighthouse-core/audits/content-width.js | title": {
704
+ "core/audits/content-width.js | title": {
717
705
  "message": "Kích thước của nội dung phù hợp với khung nhìn"
718
706
  },
719
- "lighthouse-core/audits/critical-request-chains.js | description": {
707
+ "core/audits/critical-request-chains.js | description": {
720
708
  "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ó mức độ ưu tiên cao sẽ được tải. 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 thêm](https://web.dev/critical-request-chains/)."
721
709
  },
722
- "lighthouse-core/audits/critical-request-chains.js | displayValue": {
710
+ "core/audits/critical-request-chains.js | displayValue": {
723
711
  "message": "{itemCount,plural, =1{Đã tìm thấy 1 chuỗi}other{Đã tìm thấy # chuỗi}}"
724
712
  },
725
- "lighthouse-core/audits/critical-request-chains.js | title": {
713
+ "core/audits/critical-request-chains.js | title": {
726
714
  "message": "Tránh tạo chuỗi các yêu cầu quan trọng"
727
715
  },
728
- "lighthouse-core/audits/csp-xss.js | columnDirective": {
716
+ "core/audits/csp-xss.js | columnDirective": {
729
717
  "message": "Lệnh"
730
718
  },
731
- "lighthouse-core/audits/csp-xss.js | columnSeverity": {
719
+ "core/audits/csp-xss.js | columnSeverity": {
732
720
  "message": "Mức độ nghiêm trọng"
733
721
  },
734
- "lighthouse-core/audits/csp-xss.js | description": {
722
+ "core/audits/csp-xss.js | description": {
735
723
  "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 thêm](https://web.dev/csp-xss/)"
736
724
  },
737
- "lighthouse-core/audits/csp-xss.js | itemSeveritySyntax": {
725
+ "core/audits/csp-xss.js | itemSeveritySyntax": {
738
726
  "message": "Cú pháp"
739
727
  },
740
- "lighthouse-core/audits/csp-xss.js | metaTagMessage": {
728
+ "core/audits/csp-xss.js | metaTagMessage": {
741
729
  "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, nếu có thể."
742
730
  },
743
- "lighthouse-core/audits/csp-xss.js | noCsp": {
731
+ "core/audits/csp-xss.js | noCsp": {
744
732
  "message": "Không tìm thấy CSP nào ở chế độ thực thi"
745
733
  },
746
- "lighthouse-core/audits/csp-xss.js | title": {
734
+ "core/audits/csp-xss.js | title": {
747
735
  "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
736
  },
749
- "lighthouse-core/audits/deprecations.js | columnDeprecate": {
737
+ "core/audits/deprecations.js | columnDeprecate": {
750
738
  "message": "Không dùng nữa/Cảnh báo"
751
739
  },
752
- "lighthouse-core/audits/deprecations.js | columnLine": {
740
+ "core/audits/deprecations.js | columnLine": {
753
741
  "message": "Dòng"
754
742
  },
755
- "lighthouse-core/audits/deprecations.js | description": {
743
+ "core/audits/deprecations.js | description": {
756
744
  "message": "Cuối cùng, các API không dùng nữa sẽ bị xóa khỏi trình duyệt. [Tìm hiểu thêm](https://web.dev/deprecations/)."
757
745
  },
758
- "lighthouse-core/audits/deprecations.js | displayValue": {
746
+ "core/audits/deprecations.js | displayValue": {
759
747
  "message": "{itemCount,plural, =1{Tìm thấy 1 cảnh báo}other{Tìm thấy # cảnh báo}}"
760
748
  },
761
- "lighthouse-core/audits/deprecations.js | failureTitle": {
749
+ "core/audits/deprecations.js | failureTitle": {
762
750
  "message": "Sử dụng các API không dùng nữa"
763
751
  },
764
- "lighthouse-core/audits/deprecations.js | title": {
752
+ "core/audits/deprecations.js | title": {
765
753
  "message": "Tránh các API không dùng nữa"
766
754
  },
767
- "lighthouse-core/audits/dobetterweb/charset.js | description": {
755
+ "core/audits/dobetterweb/charset.js | description": {
768
756
  "message": "Cần khai báo hệ thống mã hóa 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](https://web.dev/charset/)."
769
757
  },
770
- "lighthouse-core/audits/dobetterweb/charset.js | failureTitle": {
758
+ "core/audits/dobetterweb/charset.js | failureTitle": {
771
759
  "message": "Thiếu thông tin khai báo về bộ ký tự hoặc khai báo quá muộn trong HTML"
772
760
  },
773
- "lighthouse-core/audits/dobetterweb/charset.js | title": {
761
+ "core/audits/dobetterweb/charset.js | title": {
774
762
  "message": "Xác định đúng bộ ký tự"
775
763
  },
776
- "lighthouse-core/audits/dobetterweb/doctype.js | description": {
764
+ "core/audits/dobetterweb/doctype.js | description": {
777
765
  "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://web.dev/doctype/)"
778
766
  },
779
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
767
+ "core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
780
768
  "message": "Tên loại tài liệu phải là chuỗi `html` viết thường"
781
769
  },
782
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
770
+ "core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
783
771
  "message": "Tài liệu phải chứa một loại tài liệu"
784
772
  },
785
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationPublicId": {
773
+ "core/audits/dobetterweb/doctype.js | explanationPublicId": {
786
774
  "message": "publicId lẽ ra phải là một chuỗi trống"
787
775
  },
788
- "lighthouse-core/audits/dobetterweb/doctype.js | explanationSystemId": {
776
+ "core/audits/dobetterweb/doctype.js | explanationSystemId": {
789
777
  "message": "systemId lẽ ra phải là một chuỗi trống"
790
778
  },
791
- "lighthouse-core/audits/dobetterweb/doctype.js | failureTitle": {
779
+ "core/audits/dobetterweb/doctype.js | failureTitle": {
792
780
  "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
781
  },
794
- "lighthouse-core/audits/dobetterweb/doctype.js | title": {
782
+ "core/audits/dobetterweb/doctype.js | title": {
795
783
  "message": "Trang có loại tài liệu HTML"
796
784
  },
797
- "lighthouse-core/audits/dobetterweb/dom-size.js | columnStatistic": {
785
+ "core/audits/dobetterweb/dom-size.js | columnStatistic": {
798
786
  "message": "Thống kê"
799
787
  },
800
- "lighthouse-core/audits/dobetterweb/dom-size.js | columnValue": {
788
+ "core/audits/dobetterweb/dom-size.js | columnValue": {
801
789
  "message": "Giá trị"
802
790
  },
803
- "lighthouse-core/audits/dobetterweb/dom-size.js | description": {
791
+ "core/audits/dobetterweb/dom-size.js | description": {
804
792
  "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 thêm](https://web.dev/dom-size/)."
805
793
  },
806
- "lighthouse-core/audits/dobetterweb/dom-size.js | displayValue": {
794
+ "core/audits/dobetterweb/dom-size.js | displayValue": {
807
795
  "message": "{itemCount,plural, =1{1 phần tử}other{# phần tử}}"
808
796
  },
809
- "lighthouse-core/audits/dobetterweb/dom-size.js | failureTitle": {
797
+ "core/audits/dobetterweb/dom-size.js | failureTitle": {
810
798
  "message": "Tránh kích thước DOM quá lớn"
811
799
  },
812
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
800
+ "core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
813
801
  "message": "Độ sâu DOM tối đa"
814
802
  },
815
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
803
+ "core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
816
804
  "message": "Tổng số các phần tử DOM"
817
805
  },
818
- "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
806
+ "core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
819
807
  "message": "Phần tử con tối đa"
820
808
  },
821
- "lighthouse-core/audits/dobetterweb/dom-size.js | title": {
809
+ "core/audits/dobetterweb/dom-size.js | title": {
822
810
  "message": "Tránh kích thước DOM quá lớn"
823
811
  },
824
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
812
+ "core/audits/dobetterweb/geolocation-on-start.js | description": {
825
813
  "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://web.dev/geolocation-on-start/)."
826
814
  },
827
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
815
+ "core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
828
816
  "message": "Yêu cầu quyền truy cập vị trí địa lý khi tải trang"
829
817
  },
830
- "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | title": {
818
+ "core/audits/dobetterweb/geolocation-on-start.js | title": {
831
819
  "message": "Tránh yêu cầu quyền truy cập vị trí địa lý khi tải trang"
832
820
  },
833
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
821
+ "core/audits/dobetterweb/inspector-issues.js | columnIssueType": {
834
822
  "message": "Loại vấn đề"
835
823
  },
836
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | description": {
824
+ "core/audits/dobetterweb/inspector-issues.js | description": {
837
825
  "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
826
  },
839
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | failureTitle": {
827
+ "core/audits/dobetterweb/inspector-issues.js | failureTitle": {
840
828
  "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
829
  },
842
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
830
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
843
831
  "message": "Bị chặn theo chính sách trên nhiều nguồn gốc"
844
832
  },
845
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
833
+ "core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
846
834
  "message": "Quảng cáo sử dụng nhiều tài nguyên"
847
835
  },
848
- "lighthouse-core/audits/dobetterweb/inspector-issues.js | title": {
836
+ "core/audits/dobetterweb/inspector-issues.js | title": {
849
837
  "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
838
  },
851
- "lighthouse-core/audits/dobetterweb/js-libraries.js | columnVersion": {
839
+ "core/audits/dobetterweb/js-libraries.js | columnVersion": {
852
840
  "message": "Phiên bản"
853
841
  },
854
- "lighthouse-core/audits/dobetterweb/js-libraries.js | description": {
842
+ "core/audits/dobetterweb/js-libraries.js | description": {
855
843
  "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://web.dev/js-libraries/)"
856
844
  },
857
- "lighthouse-core/audits/dobetterweb/js-libraries.js | title": {
845
+ "core/audits/dobetterweb/js-libraries.js | title": {
858
846
  "message": "Thư viện JavaScript phát hiện được"
859
847
  },
860
- "lighthouse-core/audits/dobetterweb/no-document-write.js | description": {
848
+ "core/audits/dobetterweb/no-document-write.js | description": {
861
849
  "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 thêm](https://web.dev/no-document-write/)."
862
850
  },
863
- "lighthouse-core/audits/dobetterweb/no-document-write.js | failureTitle": {
851
+ "core/audits/dobetterweb/no-document-write.js | failureTitle": {
864
852
  "message": "Tránh `document.write()`"
865
853
  },
866
- "lighthouse-core/audits/dobetterweb/no-document-write.js | title": {
854
+ "core/audits/dobetterweb/no-document-write.js | title": {
867
855
  "message": "Tránh `document.write()`"
868
856
  },
869
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
857
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
870
858
  "message": "Mức độ nghiêm trọng cao nhất"
871
859
  },
872
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
860
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
873
861
  "message": "Phiên bản thư viện"
874
862
  },
875
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
863
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
876
864
  "message": "Số lượng lỗ hổng"
877
865
  },
878
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
866
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
879
867
  "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
868
  },
881
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
869
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
882
870
  "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
871
  },
884
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
872
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
885
873
  "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
874
  },
887
- "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
875
+ "core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
888
876
  "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
877
  },
890
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | description": {
878
+ "core/audits/dobetterweb/notification-on-start.js | description": {
891
879
  "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
880
  },
893
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | failureTitle": {
881
+ "core/audits/dobetterweb/notification-on-start.js | failureTitle": {
894
882
  "message": "Yêu cầu quyền truy cập thông báo khi tải trang"
895
883
  },
896
- "lighthouse-core/audits/dobetterweb/notification-on-start.js | title": {
884
+ "core/audits/dobetterweb/notification-on-start.js | title": {
897
885
  "message": "Tránh yêu cầu quyền truy cập thông báo khi tải trang"
898
886
  },
899
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
887
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
900
888
  "message": "Việc ngăn dán mật khẩu sẽ làm giảm tác dụng của chính sách bảo mật hiệu quả. [Tìm hiểu thêm](https://web.dev/password-inputs-can-be-pasted-into/)."
901
889
  },
902
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
890
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
903
891
  "message": "Ngăn người dùng dán vào các trường mật khẩu"
904
892
  },
905
- "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
893
+ "core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
906
894
  "message": "Cho phép người dùng dán vào các trường mật khẩu"
907
895
  },
908
- "lighthouse-core/audits/dobetterweb/uses-http2.js | columnProtocol": {
896
+ "core/audits/dobetterweb/uses-http2.js | columnProtocol": {
909
897
  "message": "Giao thức"
910
898
  },
911
- "lighthouse-core/audits/dobetterweb/uses-http2.js | description": {
899
+ "core/audits/dobetterweb/uses-http2.js | description": {
912
900
  "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://web.dev/uses-http2/)."
913
901
  },
914
- "lighthouse-core/audits/dobetterweb/uses-http2.js | displayValue": {
902
+ "core/audits/dobetterweb/uses-http2.js | displayValue": {
915
903
  "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
904
  },
917
- "lighthouse-core/audits/dobetterweb/uses-http2.js | title": {
905
+ "core/audits/dobetterweb/uses-http2.js | title": {
918
906
  "message": "Sử dụng HTTP/2"
919
907
  },
920
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
908
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
921
909
  "message": "Hãy cân nhắc đánh dấu trình xử lý 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](https://web.dev/uses-passive-event-listeners/)."
922
910
  },
923
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
911
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
924
912
  "message": "Không sử dụng trình nghe bị động để cải thiện hiệu suất cuộn"
925
913
  },
926
- "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
914
+ "core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
927
915
  "message": "Sử dụng trình nghe bị động để cải thiện hiệu suất cuộn"
928
916
  },
929
- "lighthouse-core/audits/errors-in-console.js | description": {
917
+ "core/audits/errors-in-console.js | description": {
930
918
  "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://web.dev/errors-in-console/)"
931
919
  },
932
- "lighthouse-core/audits/errors-in-console.js | failureTitle": {
920
+ "core/audits/errors-in-console.js | failureTitle": {
933
921
  "message": "Đã ghi lỗi của trình duyệt vào bảng điều khiển"
934
922
  },
935
- "lighthouse-core/audits/errors-in-console.js | title": {
923
+ "core/audits/errors-in-console.js | title": {
936
924
  "message": "Chưa ghi lỗi nào của trình duyệt vào bảng điều khiển"
937
925
  },
938
- "lighthouse-core/audits/font-display.js | description": {
926
+ "core/audits/font-display.js | description": {
939
927
  "message": "Sử dụng tính năng Biểu định kiểu xếp chồng (CSS) hiển thị phông chữ để đảm bảo văn bản hiển thị với người dùng khi phông chữ web đang tải. [Tìm hiểu thêm](https://web.dev/font-display/)."
940
928
  },
941
- "lighthouse-core/audits/font-display.js | failureTitle": {
929
+ "core/audits/font-display.js | failureTitle": {
942
930
  "message": "Đảm bảo văn bản vẫn hiển thị trong khi tải phông chữ web"
943
931
  },
944
- "lighthouse-core/audits/font-display.js | title": {
932
+ "core/audits/font-display.js | title": {
945
933
  "message": "Tất cả văn bản vẫn hiển thị trong khi tải phông chữ web"
946
934
  },
947
- "lighthouse-core/audits/font-display.js | undeclaredFontOriginWarning": {
935
+ "core/audits/font-display.js | undeclaredFontOriginWarning": {
948
936
  "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
937
  },
950
- "lighthouse-core/audits/image-aspect-ratio.js | columnActual": {
938
+ "core/audits/image-aspect-ratio.js | columnActual": {
951
939
  "message": "Tỷ lệ khung hình (Thực tế)"
952
940
  },
953
- "lighthouse-core/audits/image-aspect-ratio.js | columnDisplayed": {
941
+ "core/audits/image-aspect-ratio.js | columnDisplayed": {
954
942
  "message": "Tỷ lệ khung hình (Hiển thị)"
955
943
  },
956
- "lighthouse-core/audits/image-aspect-ratio.js | description": {
944
+ "core/audits/image-aspect-ratio.js | description": {
957
945
  "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://web.dev/image-aspect-ratio/)."
958
946
  },
959
- "lighthouse-core/audits/image-aspect-ratio.js | failureTitle": {
947
+ "core/audits/image-aspect-ratio.js | failureTitle": {
960
948
  "message": "Hiển thị hình ảnh có tỷ lệ khung hình không chính xác"
961
949
  },
962
- "lighthouse-core/audits/image-aspect-ratio.js | title": {
950
+ "core/audits/image-aspect-ratio.js | title": {
963
951
  "message": "Hiển thị hình ảnh có tỷ lệ khung hình chính xác"
964
952
  },
965
- "lighthouse-core/audits/image-size-responsive.js | columnActual": {
953
+ "core/audits/image-size-responsive.js | columnActual": {
966
954
  "message": "Kích thước thực"
967
955
  },
968
- "lighthouse-core/audits/image-size-responsive.js | columnDisplayed": {
956
+ "core/audits/image-size-responsive.js | columnDisplayed": {
969
957
  "message": "Kích thước hiển thị"
970
958
  },
971
- "lighthouse-core/audits/image-size-responsive.js | columnExpected": {
959
+ "core/audits/image-size-responsive.js | columnExpected": {
972
960
  "message": "Kích thước mong muốn"
973
961
  },
974
- "lighthouse-core/audits/image-size-responsive.js | description": {
962
+ "core/audits/image-size-responsive.js | description": {
975
963
  "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 thêm](https://web.dev/serve-responsive-images/)."
976
964
  },
977
- "lighthouse-core/audits/image-size-responsive.js | failureTitle": {
965
+ "core/audits/image-size-responsive.js | failureTitle": {
978
966
  "message": "Phân phối hình ảnh có độ phân giải thấp"
979
967
  },
980
- "lighthouse-core/audits/image-size-responsive.js | title": {
968
+ "core/audits/image-size-responsive.js | title": {
981
969
  "message": "Phân phối hình ảnh có độ phân giải phù hợp"
982
970
  },
983
- "lighthouse-core/audits/installable-manifest.js | already-installed": {
971
+ "core/audits/installable-manifest.js | already-installed": {
984
972
  "message": "Ứng dụng này đã được cài đặt"
985
973
  },
986
- "lighthouse-core/audits/installable-manifest.js | cannot-download-icon": {
974
+ "core/audits/installable-manifest.js | cannot-download-icon": {
987
975
  "message": "Không thể tải một biểu tượng bắt buộc từ tệp kê khai"
988
976
  },
989
- "lighthouse-core/audits/installable-manifest.js | columnValue": {
977
+ "core/audits/installable-manifest.js | columnValue": {
990
978
  "message": "Lý do xảy ra lỗi"
991
979
  },
992
- "lighthouse-core/audits/installable-manifest.js | description": {
980
+ "core/audits/installable-manifest.js | description": {
993
981
  "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://web.dev/installable-manifest/)."
994
982
  },
995
- "lighthouse-core/audits/installable-manifest.js | displayValue": {
983
+ "core/audits/installable-manifest.js | displayValue": {
996
984
  "message": "{itemCount,plural, =1{1 lý do}other{# lý do}}"
997
985
  },
998
- "lighthouse-core/audits/installable-manifest.js | failureTitle": {
986
+ "core/audits/installable-manifest.js | failureTitle": {
999
987
  "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
988
  },
1001
- "lighthouse-core/audits/installable-manifest.js | ids-do-not-match": {
989
+ "core/audits/installable-manifest.js | ids-do-not-match": {
1002
990
  "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
991
  },
1004
- "lighthouse-core/audits/installable-manifest.js | in-incognito": {
992
+ "core/audits/installable-manifest.js | in-incognito": {
1005
993
  "message": "Trang được tải trong cửa sổ ẩn danh"
1006
994
  },
1007
- "lighthouse-core/audits/installable-manifest.js | manifest-display-not-supported": {
995
+ "core/audits/installable-manifest.js | manifest-display-not-supported": {
1008
996
  "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
997
  },
1010
- "lighthouse-core/audits/installable-manifest.js | manifest-display-override-not-supported": {
998
+ "core/audits/installable-manifest.js | manifest-display-override-not-supported": {
1011
999
  "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
1000
  },
1013
- "lighthouse-core/audits/installable-manifest.js | manifest-empty": {
1001
+ "core/audits/installable-manifest.js | manifest-empty": {
1014
1002
  "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
1003
  },
1016
- "lighthouse-core/audits/installable-manifest.js | manifest-location-changed": {
1004
+ "core/audits/installable-manifest.js | manifest-location-changed": {
1017
1005
  "message": "URL của tệp kê khai đã thay đổi khi đang tìm nạp tệp kê khai đó."
1018
1006
  },
1019
- "lighthouse-core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1007
+ "core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
1020
1008
  "message": "Tệp kê khai không chứa trường \"name\" hoặc \"short_name\""
1021
1009
  },
1022
- "lighthouse-core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1010
+ "core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
1023
1011
  "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
1012
  },
1025
- "lighthouse-core/audits/installable-manifest.js | no-acceptable-icon": {
1013
+ "core/audits/installable-manifest.js | no-acceptable-icon": {
1026
1014
  "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
1015
  },
1028
- "lighthouse-core/audits/installable-manifest.js | no-icon-available": {
1016
+ "core/audits/installable-manifest.js | no-icon-available": {
1029
1017
  "message": "Biểu tượng đã tải xuống bị trống hoặc hỏng"
1030
1018
  },
1031
- "lighthouse-core/audits/installable-manifest.js | no-id-specified": {
1019
+ "core/audits/installable-manifest.js | no-id-specified": {
1032
1020
  "message": "Chưa cung cấp mã nhận dạng trong Cửa hàng Play"
1033
1021
  },
1034
- "lighthouse-core/audits/installable-manifest.js | no-manifest": {
1022
+ "core/audits/installable-manifest.js | no-manifest": {
1035
1023
  "message": "Trang không có URL <link> của tệp kê khai"
1036
1024
  },
1037
- "lighthouse-core/audits/installable-manifest.js | no-matching-service-worker": {
1025
+ "core/audits/installable-manifest.js | no-matching-service-worker": {
1038
1026
  "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
1027
  },
1040
- "lighthouse-core/audits/installable-manifest.js | no-url-for-service-worker": {
1028
+ "core/audits/installable-manifest.js | no-url-for-service-worker": {
1041
1029
  "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
1030
  },
1043
- "lighthouse-core/audits/installable-manifest.js | noErrorId": {
1031
+ "core/audits/installable-manifest.js | noErrorId": {
1044
1032
  "message": "Không nhận ra mã lỗi liên quan đến khả năng cài đặt \"{errorId}\""
1045
1033
  },
1046
- "lighthouse-core/audits/installable-manifest.js | not-from-secure-origin": {
1034
+ "core/audits/installable-manifest.js | not-from-secure-origin": {
1047
1035
  "message": "Trang không được phân phối từ một nguồn gốc an toàn"
1048
1036
  },
1049
- "lighthouse-core/audits/installable-manifest.js | not-in-main-frame": {
1037
+ "core/audits/installable-manifest.js | not-in-main-frame": {
1050
1038
  "message": "Trang không được tải trong khung chính"
1051
1039
  },
1052
- "lighthouse-core/audits/installable-manifest.js | not-offline-capable": {
1040
+ "core/audits/installable-manifest.js | not-offline-capable": {
1053
1041
  "message": "Trang không hoạt động khi không có mạng"
1054
1042
  },
1055
- "lighthouse-core/audits/installable-manifest.js | pipeline-restarted": {
1043
+ "core/audits/installable-manifest.js | pipeline-restarted": {
1056
1044
  "message": "Đã gỡ cài đặt PWA và đang đặt lại quá trình kiểm tra khả năng cài đặt."
1057
1045
  },
1058
- "lighthouse-core/audits/installable-manifest.js | platform-not-supported-on-android": {
1046
+ "core/audits/installable-manifest.js | platform-not-supported-on-android": {
1059
1047
  "message": "Nền tảng ứng dụng đã chỉ định chưa được hỗ trợ trên Android"
1060
1048
  },
1061
- "lighthouse-core/audits/installable-manifest.js | prefer-related-applications": {
1049
+ "core/audits/installable-manifest.js | prefer-related-applications": {
1062
1050
  "message": "Tệp kê khai chỉ định prefer_related_applications: true"
1063
1051
  },
1064
- "lighthouse-core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1052
+ "core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
1065
1053
  "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
1054
  },
1067
- "lighthouse-core/audits/installable-manifest.js | protocol-timeout": {
1055
+ "core/audits/installable-manifest.js | protocol-timeout": {
1068
1056
  "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
1057
  },
1070
- "lighthouse-core/audits/installable-manifest.js | start-url-not-valid": {
1058
+ "core/audits/installable-manifest.js | start-url-not-valid": {
1071
1059
  "message": "URL bắt đầu của tệp kê khai là không hợp lệ"
1072
1060
  },
1073
- "lighthouse-core/audits/installable-manifest.js | title": {
1061
+ "core/audits/installable-manifest.js | title": {
1074
1062
  "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
1063
  },
1076
- "lighthouse-core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1064
+ "core/audits/installable-manifest.js | url-not-supported-for-webapk": {
1077
1065
  "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
1066
  },
1079
- "lighthouse-core/audits/installable-manifest.js | warn-not-offline-capable": {
1067
+ "core/audits/installable-manifest.js | warn-not-offline-capable": {
1080
1068
  "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
1069
  },
1082
- "lighthouse-core/audits/is-on-https.js | allowed": {
1070
+ "core/audits/is-on-https.js | allowed": {
1083
1071
  "message": "Được phép"
1084
1072
  },
1085
- "lighthouse-core/audits/is-on-https.js | blocked": {
1073
+ "core/audits/is-on-https.js | blocked": {
1086
1074
  "message": "Bị chặn"
1087
1075
  },
1088
- "lighthouse-core/audits/is-on-https.js | columnInsecureURL": {
1076
+ "core/audits/is-on-https.js | columnInsecureURL": {
1089
1077
  "message": "URL không an toàn"
1090
1078
  },
1091
- "lighthouse-core/audits/is-on-https.js | columnResolution": {
1079
+ "core/audits/is-on-https.js | columnResolution": {
1092
1080
  "message": "Cách xử lý yêu cầu"
1093
1081
  },
1094
- "lighthouse-core/audits/is-on-https.js | description": {
1082
+ "core/audits/is-on-https.js | description": {
1095
1083
  "message": "Bạn phải bảo vệ tất cả cá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](https://web.dev/is-on-https/)."
1096
1084
  },
1097
- "lighthouse-core/audits/is-on-https.js | displayValue": {
1085
+ "core/audits/is-on-https.js | displayValue": {
1098
1086
  "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
1087
  },
1100
- "lighthouse-core/audits/is-on-https.js | failureTitle": {
1088
+ "core/audits/is-on-https.js | failureTitle": {
1101
1089
  "message": "Không sử dụng HTTPS"
1102
1090
  },
1103
- "lighthouse-core/audits/is-on-https.js | title": {
1091
+ "core/audits/is-on-https.js | title": {
1104
1092
  "message": "Sử dụng HTTPS"
1105
1093
  },
1106
- "lighthouse-core/audits/is-on-https.js | upgraded": {
1094
+ "core/audits/is-on-https.js | upgraded": {
1107
1095
  "message": "Đã tự động nâng cấp lên HTTPS"
1108
1096
  },
1109
- "lighthouse-core/audits/is-on-https.js | warning": {
1097
+ "core/audits/is-on-https.js | warning": {
1110
1098
  "message": "Được phép nhưng có cảnh báo"
1111
1099
  },
1112
- "lighthouse-core/audits/largest-contentful-paint-element.js | description": {
1100
+ "core/audits/largest-contentful-paint-element.js | description": {
1113
1101
  "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://web.dev/lighthouse-largest-contentful-paint/)"
1114
1102
  },
1115
- "lighthouse-core/audits/largest-contentful-paint-element.js | title": {
1103
+ "core/audits/largest-contentful-paint-element.js | title": {
1116
1104
  "message": "Thành phần Thời gian hiển thị nội dung lớn nhất"
1117
1105
  },
1118
- "lighthouse-core/audits/layout-shift-elements.js | columnContribution": {
1106
+ "core/audits/layout-shift-elements.js | columnContribution": {
1119
1107
  "message": "Mức đóng góp vào CLS"
1120
1108
  },
1121
- "lighthouse-core/audits/layout-shift-elements.js | description": {
1109
+ "core/audits/layout-shift-elements.js | description": {
1122
1110
  "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."
1123
1111
  },
1124
- "lighthouse-core/audits/layout-shift-elements.js | title": {
1112
+ "core/audits/layout-shift-elements.js | title": {
1125
1113
  "message": "Tránh các thay đổi lớn về bố cục"
1126
1114
  },
1127
- "lighthouse-core/audits/lcp-lazy-loaded.js | description": {
1115
+ "core/audits/lcp-lazy-loaded.js | description": {
1128
1116
  "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/)."
1129
1117
  },
1130
- "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
1118
+ "core/audits/lcp-lazy-loaded.js | failureTitle": {
1131
1119
  "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
1120
  },
1133
- "lighthouse-core/audits/lcp-lazy-loaded.js | title": {
1121
+ "core/audits/lcp-lazy-loaded.js | title": {
1134
1122
  "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
1123
  },
1136
- "lighthouse-core/audits/long-tasks.js | description": {
1124
+ "core/audits/long-tasks.js | description": {
1137
1125
  "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 thêm](https://web.dev/long-tasks-devtools/)"
1138
1126
  },
1139
- "lighthouse-core/audits/long-tasks.js | displayValue": {
1127
+ "core/audits/long-tasks.js | displayValue": {
1140
1128
  "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
1129
  },
1142
- "lighthouse-core/audits/long-tasks.js | title": {
1130
+ "core/audits/long-tasks.js | title": {
1143
1131
  "message": "Tránh những việc cần nhiều thời gian thực hiện trong chuỗi chính"
1144
1132
  },
1145
- "lighthouse-core/audits/mainthread-work-breakdown.js | columnCategory": {
1133
+ "core/audits/mainthread-work-breakdown.js | columnCategory": {
1146
1134
  "message": "Danh mục"
1147
1135
  },
1148
- "lighthouse-core/audits/mainthread-work-breakdown.js | description": {
1136
+ "core/audits/mainthread-work-breakdown.js | description": {
1149
1137
  "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 thêm](https://web.dev/mainthread-work-breakdown/)"
1150
1138
  },
1151
- "lighthouse-core/audits/mainthread-work-breakdown.js | failureTitle": {
1139
+ "core/audits/mainthread-work-breakdown.js | failureTitle": {
1152
1140
  "message": "Giảm thiểu công việc theo chuỗi chính"
1153
1141
  },
1154
- "lighthouse-core/audits/mainthread-work-breakdown.js | title": {
1142
+ "core/audits/mainthread-work-breakdown.js | title": {
1155
1143
  "message": "Giảm thiểu công việc theo chuỗi chính"
1156
1144
  },
1157
- "lighthouse-core/audits/manual/pwa-cross-browser.js | description": {
1145
+ "core/audits/manual/pwa-cross-browser.js | description": {
1158
1146
  "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 thêm](https://web.dev/pwa-cross-browser/)"
1159
1147
  },
1160
- "lighthouse-core/audits/manual/pwa-cross-browser.js | title": {
1148
+ "core/audits/manual/pwa-cross-browser.js | title": {
1161
1149
  "message": "Trang web hoạt động trên nhiều trình duyệt"
1162
1150
  },
1163
- "lighthouse-core/audits/manual/pwa-each-page-has-url.js | description": {
1151
+ "core/audits/manual/pwa-each-page-has-url.js | description": {
1164
1152
  "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://web.dev/pwa-each-page-has-url/)"
1165
1153
  },
1166
- "lighthouse-core/audits/manual/pwa-each-page-has-url.js | title": {
1154
+ "core/audits/manual/pwa-each-page-has-url.js | title": {
1167
1155
  "message": "Mỗi trang có một URL"
1168
1156
  },
1169
- "lighthouse-core/audits/manual/pwa-page-transitions.js | description": {
1157
+ "core/audits/manual/pwa-page-transitions.js | description": {
1170
1158
  "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://web.dev/pwa-page-transitions/)"
1171
1159
  },
1172
- "lighthouse-core/audits/manual/pwa-page-transitions.js | title": {
1160
+ "core/audits/manual/pwa-page-transitions.js | title": {
1173
1161
  "message": "Người dùng không cảm thấy mạng chậm khi chuyển trang"
1174
1162
  },
1175
- "lighthouse-core/audits/maskable-icon.js | description": {
1163
+ "core/audits/maskable-icon.js | description": {
1176
1164
  "message": "Một biểu tượng che mờ được 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 thêm](https://web.dev/maskable-icon-audit/)."
1177
1165
  },
1178
- "lighthouse-core/audits/maskable-icon.js | failureTitle": {
1166
+ "core/audits/maskable-icon.js | failureTitle": {
1179
1167
  "message": "Tệp kê khai không có biểu tượng che mờ được"
1180
1168
  },
1181
- "lighthouse-core/audits/maskable-icon.js | title": {
1169
+ "core/audits/maskable-icon.js | title": {
1182
1170
  "message": "Tệp kê khai có một biểu tượng che mờ được"
1183
1171
  },
1184
- "lighthouse-core/audits/metrics/cumulative-layout-shift.js | description": {
1172
+ "core/audits/metrics/cumulative-layout-shift.js | description": {
1185
1173
  "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 thành phần hiển thị trong khung nhìn. [Tìm hiểu thêm](https://web.dev/cls/)."
1186
1174
  },
1187
- "lighthouse-core/audits/metrics/first-contentful-paint.js | description": {
1175
+ "core/audits/metrics/first-contentful-paint.js | description": {
1188
1176
  "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](https://web.dev/first-contentful-paint/)."
1189
1177
  },
1190
- "lighthouse-core/audits/metrics/first-meaningful-paint.js | description": {
1178
+ "core/audits/metrics/first-meaningful-paint.js | description": {
1191
1179
  "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](https://web.dev/first-meaningful-paint/)."
1192
1180
  },
1193
- "lighthouse-core/audits/metrics/interactive.js | description": {
1181
+ "core/audits/metrics/interactive.js | description": {
1194
1182
  "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](https://web.dev/interactive/)."
1195
1183
  },
1196
- "lighthouse-core/audits/metrics/largest-contentful-paint.js | description": {
1184
+ "core/audits/metrics/largest-contentful-paint.js | description": {
1197
1185
  "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](https://web.dev/lighthouse-largest-contentful-paint/)"
1198
1186
  },
1199
- "lighthouse-core/audits/metrics/max-potential-fid.js | description": {
1187
+ "core/audits/metrics/max-potential-fid.js | description": {
1200
1188
  "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](https://web.dev/lighthouse-max-potential-fid/)."
1201
1189
  },
1202
- "lighthouse-core/audits/metrics/speed-index.js | description": {
1190
+ "core/audits/metrics/speed-index.js | description": {
1203
1191
  "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](https://web.dev/speed-index/)."
1204
1192
  },
1205
- "lighthouse-core/audits/metrics/total-blocking-time.js | description": {
1193
+ "core/audits/metrics/total-blocking-time.js | description": {
1206
1194
  "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](https://web.dev/lighthouse-total-blocking-time/)."
1207
1195
  },
1208
- "lighthouse-core/audits/network-rtt.js | description": {
1196
+ "core/audits/network-rtt.js | description": {
1209
1197
  "message": "Thời gian trọn vòng (RTT) của mạng có ảnh hưởng lớn đến hiệu suất. Nếu mất nhiều thời gian trọn vòng (RTT) để đến một nguồn gốc, tức là máy chủ càng gần người dùng thì hiệu quả càng cao. [Tìm hiểu thêm](https://hpbn.co/primer-on-latency-and-bandwidth/)."
1210
1198
  },
1211
- "lighthouse-core/audits/network-rtt.js | title": {
1199
+ "core/audits/network-rtt.js | title": {
1212
1200
  "message": "Thời gian trọn vòng của mạng"
1213
1201
  },
1214
- "lighthouse-core/audits/network-server-latency.js | description": {
1202
+ "core/audits/network-server-latency.js | description": {
1215
1203
  "message": "Thời gian chờ 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ó thời gian chờ 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](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
1216
1204
  },
1217
- "lighthouse-core/audits/network-server-latency.js | title": {
1205
+ "core/audits/network-server-latency.js | title": {
1218
1206
  "message": "Thời gian dưới nền của máy chủ"
1219
1207
  },
1220
- "lighthouse-core/audits/no-unload-listeners.js | description": {
1208
+ "core/audits/no-unload-listeners.js | description": {
1221
1209
  "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 không cho trình duyệt tối ưu hoá, chẳng hạn như tính năng 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](https://web.dev/bfcache/#never-use-the-unload-event)"
1222
1210
  },
1223
- "lighthouse-core/audits/no-unload-listeners.js | failureTitle": {
1211
+ "core/audits/no-unload-listeners.js | failureTitle": {
1224
1212
  "message": "Đăng ký trình xử lý sự kiện `unload`"
1225
1213
  },
1226
- "lighthouse-core/audits/no-unload-listeners.js | title": {
1214
+ "core/audits/no-unload-listeners.js | title": {
1227
1215
  "message": "Tránh dùng trình xử lý sự kiện `unload`"
1228
1216
  },
1229
- "lighthouse-core/audits/non-composited-animations.js | description": {
1217
+ "core/audits/non-composited-animations.js | description": {
1230
1218
  "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 thêm](https://web.dev/non-composited-animations)"
1231
1219
  },
1232
- "lighthouse-core/audits/non-composited-animations.js | displayValue": {
1220
+ "core/audits/non-composited-animations.js | displayValue": {
1233
1221
  "message": "{itemCount,plural, =1{Tìm thấy # phần tử ảnh động}other{Tìm thấy # phần tử ảnh động}}"
1234
1222
  },
1235
- "lighthouse-core/audits/non-composited-animations.js | filterMayMovePixels": {
1223
+ "core/audits/non-composited-animations.js | filterMayMovePixels": {
1236
1224
  "message": "Thuộc tính liên quan đến bộ lọc có thể di chuyển pixel"
1237
1225
  },
1238
- "lighthouse-core/audits/non-composited-animations.js | incompatibleAnimations": {
1226
+ "core/audits/non-composited-animations.js | incompatibleAnimations": {
1239
1227
  "message": "Mục tiêu có một ảnh động khác không tương thích"
1240
1228
  },
1241
- "lighthouse-core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
1229
+ "core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
1242
1230
  "message": "Hiệu ứng có chế độ ghép không phải là \"replace\""
1243
1231
  },
1244
- "lighthouse-core/audits/non-composited-animations.js | title": {
1232
+ "core/audits/non-composited-animations.js | title": {
1245
1233
  "message": "Tránh dùng các ảnh động không được ghép"
1246
1234
  },
1247
- "lighthouse-core/audits/non-composited-animations.js | transformDependsBoxSize": {
1235
+ "core/audits/non-composited-animations.js | transformDependsBoxSize": {
1248
1236
  "message": "Thuộc tính liên quan đến biến đổi phụ thuộc vào kích thước hộp"
1249
1237
  },
1250
- "lighthouse-core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1238
+ "core/audits/non-composited-animations.js | unsupportedCSSProperty": {
1251
1239
  "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
1240
  },
1253
- "lighthouse-core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1241
+ "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1254
1242
  "message": "Hiệu ứng có tham số thời gian không được hỗ trợ"
1255
1243
  },
1256
- "lighthouse-core/audits/performance-budget.js | description": {
1244
+ "core/audits/performance-budget.js | description": {
1257
1245
  "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)."
1258
1246
  },
1259
- "lighthouse-core/audits/performance-budget.js | requestCountOverBudget": {
1247
+ "core/audits/performance-budget.js | requestCountOverBudget": {
1260
1248
  "message": "{count,plural, =1{1 yêu cầu}other{# yêu cầu}}"
1261
1249
  },
1262
- "lighthouse-core/audits/performance-budget.js | title": {
1250
+ "core/audits/performance-budget.js | title": {
1263
1251
  "message": "Ngân sách hiệu suất"
1264
1252
  },
1265
- "lighthouse-core/audits/preload-fonts.js | description": {
1253
+ "core/audits/preload-fonts.js | description": {
1266
1254
  "message": "Bạn nên tải trước phông chữ `optional` để khách truy cập lần đầu có thể sử dụng. [Tìm hiểu thêm](https://web.dev/preload-optional-fonts/)"
1267
1255
  },
1268
- "lighthouse-core/audits/preload-fonts.js | failureTitle": {
1256
+ "core/audits/preload-fonts.js | failureTitle": {
1269
1257
  "message": "Chưa tải trước phông chữ có `font-display: optional`"
1270
1258
  },
1271
- "lighthouse-core/audits/preload-fonts.js | title": {
1259
+ "core/audits/preload-fonts.js | title": {
1272
1260
  "message": "Đã tải trước phông chữ có `font-display: optional`"
1273
1261
  },
1274
- "lighthouse-core/audits/preload-lcp-image.js | description": {
1262
+ "core/audits/preload-lcp-image.js | description": {
1275
1263
  "message": "Tải trước hình ảnh mà thành phần LCP (Thời gian hiển thị nội dung lớn nhất) sử dụng nhằm cải thiện thời gian LCP của bạn. [Tìm hiểu thêm](https://web.dev/optimize-lcp/#preload-important-resources)"
1276
1264
  },
1277
- "lighthouse-core/audits/preload-lcp-image.js | title": {
1265
+ "core/audits/preload-lcp-image.js | title": {
1278
1266
  "message": "Tải trước hình ảnh có Thời gian hiển thị nội dung lớn nhất"
1279
1267
  },
1280
- "lighthouse-core/audits/redirects.js | description": {
1268
+ "core/audits/redirects.js | description": {
1281
1269
  "message": "Các lần chuyển hướng sẽ làm giảm tốc độ tải trang. [Tìm hiểu thêm](https://web.dev/redirects/)."
1282
1270
  },
1283
- "lighthouse-core/audits/redirects.js | title": {
1271
+ "core/audits/redirects.js | title": {
1284
1272
  "message": "Tránh chuyển hướng trang nhiều lần"
1285
1273
  },
1286
- "lighthouse-core/audits/resource-summary.js | description": {
1274
+ "core/audits/resource-summary.js | description": {
1287
1275
  "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/)."
1288
1276
  },
1289
- "lighthouse-core/audits/resource-summary.js | displayValue": {
1277
+ "core/audits/resource-summary.js | displayValue": {
1290
1278
  "message": "{requestCount,plural, =1{1 yêu cầu • {byteCount, number, bytes} KiB}other{# yêu cầu • {byteCount, number, bytes} KiB}}"
1291
1279
  },
1292
- "lighthouse-core/audits/resource-summary.js | title": {
1280
+ "core/audits/resource-summary.js | title": {
1293
1281
  "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
1282
  },
1295
- "lighthouse-core/audits/seo/canonical.js | description": {
1283
+ "core/audits/seo/canonical.js | description": {
1296
1284
  "message": "Phần tử 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](https://web.dev/canonical/)."
1297
1285
  },
1298
- "lighthouse-core/audits/seo/canonical.js | explanationConflict": {
1286
+ "core/audits/seo/canonical.js | explanationConflict": {
1299
1287
  "message": "Nhiều URL xung đột ({urlList})"
1300
1288
  },
1301
- "lighthouse-core/audits/seo/canonical.js | explanationInvalid": {
1289
+ "core/audits/seo/canonical.js | explanationInvalid": {
1302
1290
  "message": "URL không hợp lệ ({url})."
1303
1291
  },
1304
- "lighthouse-core/audits/seo/canonical.js | explanationPointsElsewhere": {
1292
+ "core/audits/seo/canonical.js | explanationPointsElsewhere": {
1305
1293
  "message": "Trỏ đến một vị trí `hreflang` khác ({url})"
1306
1294
  },
1307
- "lighthouse-core/audits/seo/canonical.js | explanationRelative": {
1295
+ "core/audits/seo/canonical.js | explanationRelative": {
1308
1296
  "message": "Không phải là một URL tuyệt đối ({url})"
1309
1297
  },
1310
- "lighthouse-core/audits/seo/canonical.js | explanationRoot": {
1298
+ "core/audits/seo/canonical.js | explanationRoot": {
1311
1299
  "message": "Trỏ đến URL gốc của miền (trang chủ) thay vì trang nội dung tương đương"
1312
1300
  },
1313
- "lighthouse-core/audits/seo/canonical.js | failureTitle": {
1301
+ "core/audits/seo/canonical.js | failureTitle": {
1314
1302
  "message": "Tài liệu không có `rel=canonical` hợp lệ"
1315
1303
  },
1316
- "lighthouse-core/audits/seo/canonical.js | title": {
1304
+ "core/audits/seo/canonical.js | title": {
1317
1305
  "message": "Tài liệu có `rel=canonical` hợp lệ"
1318
1306
  },
1319
- "lighthouse-core/audits/seo/crawlable-anchors.js | columnFailingLink": {
1307
+ "core/audits/seo/crawlable-anchors.js | columnFailingLink": {
1320
1308
  "message": "Đường liên kết không thể thu thập dữ liệu"
1321
1309
  },
1322
- "lighthouse-core/audits/seo/crawlable-anchors.js | description": {
1310
+ "core/audits/seo/crawlable-anchors.js | description": {
1323
1311
  "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 thành phần 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 thêm](https://support.google.com/webmasters/answer/9112205)"
1324
1312
  },
1325
- "lighthouse-core/audits/seo/crawlable-anchors.js | failureTitle": {
1313
+ "core/audits/seo/crawlable-anchors.js | failureTitle": {
1326
1314
  "message": "Các đường liên kết không thể thu thập thông tin"
1327
1315
  },
1328
- "lighthouse-core/audits/seo/crawlable-anchors.js | title": {
1316
+ "core/audits/seo/crawlable-anchors.js | title": {
1329
1317
  "message": "Các đường liên kết có thể thu thập thông tin"
1330
1318
  },
1331
- "lighthouse-core/audits/seo/font-size.js | additionalIllegibleText": {
1319
+ "core/audits/seo/font-size.js | additionalIllegibleText": {
1332
1320
  "message": "Văn bản bổ sung khó đọc"
1333
1321
  },
1334
- "lighthouse-core/audits/seo/font-size.js | columnFontSize": {
1322
+ "core/audits/seo/font-size.js | columnFontSize": {
1335
1323
  "message": "Cỡ chữ"
1336
1324
  },
1337
- "lighthouse-core/audits/seo/font-size.js | columnPercentPageText": {
1325
+ "core/audits/seo/font-size.js | columnPercentPageText": {
1338
1326
  "message": "% văn bản trên trang"
1339
1327
  },
1340
- "lighthouse-core/audits/seo/font-size.js | columnSelector": {
1328
+ "core/audits/seo/font-size.js | columnSelector": {
1341
1329
  "message": "Bộ chọn"
1342
1330
  },
1343
- "lighthouse-core/audits/seo/font-size.js | description": {
1331
+ "core/audits/seo/font-size.js | description": {
1344
1332
  "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](https://web.dev/font-size/)."
1345
1333
  },
1346
- "lighthouse-core/audits/seo/font-size.js | displayValue": {
1334
+ "core/audits/seo/font-size.js | displayValue": {
1347
1335
  "message": "{decimalProportion, number, extendedPercent} văn bản dễ đọc"
1348
1336
  },
1349
- "lighthouse-core/audits/seo/font-size.js | explanationViewport": {
1337
+ "core/audits/seo/font-size.js | explanationViewport": {
1350
1338
  "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
1339
  },
1352
- "lighthouse-core/audits/seo/font-size.js | failureTitle": {
1340
+ "core/audits/seo/font-size.js | failureTitle": {
1353
1341
  "message": "Tài liệu không sử dụng cỡ chữ dễ đọc"
1354
1342
  },
1355
- "lighthouse-core/audits/seo/font-size.js | legibleText": {
1343
+ "core/audits/seo/font-size.js | legibleText": {
1356
1344
  "message": "Văn bản dễ đọc"
1357
1345
  },
1358
- "lighthouse-core/audits/seo/font-size.js | title": {
1346
+ "core/audits/seo/font-size.js | title": {
1359
1347
  "message": "Tài liệu sử dụng cỡ chữ dễ đọc"
1360
1348
  },
1361
- "lighthouse-core/audits/seo/hreflang.js | description": {
1349
+ "core/audits/seo/hreflang.js | description": {
1362
1350
  "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://web.dev/hreflang/)."
1363
1351
  },
1364
- "lighthouse-core/audits/seo/hreflang.js | failureTitle": {
1352
+ "core/audits/seo/hreflang.js | failureTitle": {
1365
1353
  "message": "Tài liệu không có `hreflang` hợp lệ"
1366
1354
  },
1367
- "lighthouse-core/audits/seo/hreflang.js | notFullyQualified": {
1355
+ "core/audits/seo/hreflang.js | notFullyQualified": {
1368
1356
  "message": "Giá trị href tương đối"
1369
1357
  },
1370
- "lighthouse-core/audits/seo/hreflang.js | title": {
1358
+ "core/audits/seo/hreflang.js | title": {
1371
1359
  "message": "Tài liệu có `hreflang` hợp lệ"
1372
1360
  },
1373
- "lighthouse-core/audits/seo/hreflang.js | unexpectedLanguage": {
1361
+ "core/audits/seo/hreflang.js | unexpectedLanguage": {
1374
1362
  "message": "Mã ngôn ngữ không mong muốn"
1375
1363
  },
1376
- "lighthouse-core/audits/seo/http-status-code.js | description": {
1364
+ "core/audits/seo/http-status-code.js | description": {
1377
1365
  "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://web.dev/http-status-code/)."
1378
1366
  },
1379
- "lighthouse-core/audits/seo/http-status-code.js | failureTitle": {
1367
+ "core/audits/seo/http-status-code.js | failureTitle": {
1380
1368
  "message": "Trang có mã trạng thái HTTP không thành công"
1381
1369
  },
1382
- "lighthouse-core/audits/seo/http-status-code.js | title": {
1370
+ "core/audits/seo/http-status-code.js | title": {
1383
1371
  "message": "Trang có mã trạng thái HTTP thành công"
1384
1372
  },
1385
- "lighthouse-core/audits/seo/is-crawlable.js | description": {
1373
+ "core/audits/seo/is-crawlable.js | description": {
1386
1374
  "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://web.dev/is-crawable/)."
1387
1375
  },
1388
- "lighthouse-core/audits/seo/is-crawlable.js | failureTitle": {
1376
+ "core/audits/seo/is-crawlable.js | failureTitle": {
1389
1377
  "message": "Trang bị chặn lập chỉ mục"
1390
1378
  },
1391
- "lighthouse-core/audits/seo/is-crawlable.js | title": {
1379
+ "core/audits/seo/is-crawlable.js | title": {
1392
1380
  "message": "Trang không bị chặn lập chỉ mục"
1393
1381
  },
1394
- "lighthouse-core/audits/seo/link-text.js | description": {
1382
+ "core/audits/seo/link-text.js | description": {
1395
1383
  "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 thêm](https://web.dev/link-text/)."
1396
1384
  },
1397
- "lighthouse-core/audits/seo/link-text.js | displayValue": {
1385
+ "core/audits/seo/link-text.js | displayValue": {
1398
1386
  "message": "{itemCount,plural, =1{Đã tìm thấy 1 liên kết}other{Đã tìm thấy # liên kết}}"
1399
1387
  },
1400
- "lighthouse-core/audits/seo/link-text.js | failureTitle": {
1388
+ "core/audits/seo/link-text.js | failureTitle": {
1401
1389
  "message": "Các phần tử liên kết không có văn bản mô tả"
1402
1390
  },
1403
- "lighthouse-core/audits/seo/link-text.js | title": {
1391
+ "core/audits/seo/link-text.js | title": {
1404
1392
  "message": "Các phần tử liên kết có văn bản mô tả"
1405
1393
  },
1406
- "lighthouse-core/audits/seo/manual/structured-data.js | description": {
1394
+ "core/audits/seo/manual/structured-data.js | description": {
1407
1395
  "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://web.dev/structured-data/)."
1408
1396
  },
1409
- "lighthouse-core/audits/seo/manual/structured-data.js | title": {
1397
+ "core/audits/seo/manual/structured-data.js | title": {
1410
1398
  "message": "Dữ liệu có cấu trúc là hợp lệ"
1411
1399
  },
1412
- "lighthouse-core/audits/seo/meta-description.js | description": {
1400
+ "core/audits/seo/meta-description.js | description": {
1413
1401
  "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://web.dev/meta-description/)."
1414
1402
  },
1415
- "lighthouse-core/audits/seo/meta-description.js | explanation": {
1403
+ "core/audits/seo/meta-description.js | explanation": {
1416
1404
  "message": "Văn bản mô tả hiện đang trống."
1417
1405
  },
1418
- "lighthouse-core/audits/seo/meta-description.js | failureTitle": {
1406
+ "core/audits/seo/meta-description.js | failureTitle": {
1419
1407
  "message": "Tài liệu không có phần mô tả meta"
1420
1408
  },
1421
- "lighthouse-core/audits/seo/meta-description.js | title": {
1409
+ "core/audits/seo/meta-description.js | title": {
1422
1410
  "message": "Tài liệu có phần mô tả meta"
1423
1411
  },
1424
- "lighthouse-core/audits/seo/plugins.js | description": {
1412
+ "core/audits/seo/plugins.js | description": {
1425
1413
  "message": "Các công cụ tìm kiếm không thể lập chỉ mục nội dung plugin và nhiều thiết bị hạn chế hoặc không hỗ trợ plugin. [Tìm hiểu thêm](https://web.dev/plugins/)."
1426
1414
  },
1427
- "lighthouse-core/audits/seo/plugins.js | failureTitle": {
1415
+ "core/audits/seo/plugins.js | failureTitle": {
1428
1416
  "message": "Tài liệu sử dụng plugin"
1429
1417
  },
1430
- "lighthouse-core/audits/seo/plugins.js | title": {
1418
+ "core/audits/seo/plugins.js | title": {
1431
1419
  "message": "Tài liệu tránh sử dụng plugin"
1432
1420
  },
1433
- "lighthouse-core/audits/seo/robots-txt.js | description": {
1421
+ "core/audits/seo/robots-txt.js | description": {
1434
1422
  "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://web.dev/robots-txt/)"
1435
1423
  },
1436
- "lighthouse-core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1424
+ "core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
1437
1425
  "message": "Yêu cầu robots.txt trả về trạng thái HTTP: {statusCode}"
1438
1426
  },
1439
- "lighthouse-core/audits/seo/robots-txt.js | displayValueValidationError": {
1427
+ "core/audits/seo/robots-txt.js | displayValueValidationError": {
1440
1428
  "message": "{itemCount,plural, =1{Đã tìm thấy 1 lỗi}other{Đã tìm thấy # lỗi}}"
1441
1429
  },
1442
- "lighthouse-core/audits/seo/robots-txt.js | explanation": {
1430
+ "core/audits/seo/robots-txt.js | explanation": {
1443
1431
  "message": "Lighthouse không tải được tệp robots.txt xuống"
1444
1432
  },
1445
- "lighthouse-core/audits/seo/robots-txt.js | failureTitle": {
1433
+ "core/audits/seo/robots-txt.js | failureTitle": {
1446
1434
  "message": "robots.txt không hợp lệ"
1447
1435
  },
1448
- "lighthouse-core/audits/seo/robots-txt.js | title": {
1436
+ "core/audits/seo/robots-txt.js | title": {
1449
1437
  "message": "robots.txt hợp lệ"
1450
1438
  },
1451
- "lighthouse-core/audits/seo/tap-targets.js | description": {
1439
+ "core/audits/seo/tap-targets.js | description": {
1452
1440
  "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 các phần tử này đủ để nhấn mà không chồng chéo lên các phần tử khác. [Tìm hiểu thêm](https://web.dev/tap-targets/)."
1453
1441
  },
1454
- "lighthouse-core/audits/seo/tap-targets.js | displayValue": {
1442
+ "core/audits/seo/tap-targets.js | displayValue": {
1455
1443
  "message": "{decimalProportion, number, percent} mục tiêu nhấn có kích thước phù hợp"
1456
1444
  },
1457
- "lighthouse-core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1445
+ "core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
1458
1446
  "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
1447
  },
1460
- "lighthouse-core/audits/seo/tap-targets.js | failureTitle": {
1448
+ "core/audits/seo/tap-targets.js | failureTitle": {
1461
1449
  "message": "Các mục tiêu nhấn có kích thước không phù hợp"
1462
1450
  },
1463
- "lighthouse-core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1451
+ "core/audits/seo/tap-targets.js | overlappingTargetHeader": {
1464
1452
  "message": "Mục tiêu chồng chéo"
1465
1453
  },
1466
- "lighthouse-core/audits/seo/tap-targets.js | tapTargetHeader": {
1454
+ "core/audits/seo/tap-targets.js | tapTargetHeader": {
1467
1455
  "message": "Mục tiêu nhấn"
1468
1456
  },
1469
- "lighthouse-core/audits/seo/tap-targets.js | title": {
1457
+ "core/audits/seo/tap-targets.js | title": {
1470
1458
  "message": "Mục tiêu nhấn có kích thước phù hợp"
1471
1459
  },
1472
- "lighthouse-core/audits/server-response-time.js | description": {
1460
+ "core/audits/server-response-time.js | description": {
1473
1461
  "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://web.dev/time-to-first-byte/)."
1474
1462
  },
1475
- "lighthouse-core/audits/server-response-time.js | displayValue": {
1463
+ "core/audits/server-response-time.js | displayValue": {
1476
1464
  "message": "Tài liệu gốc mất {timeInMs, number, milliseconds} mili giây"
1477
1465
  },
1478
- "lighthouse-core/audits/server-response-time.js | failureTitle": {
1466
+ "core/audits/server-response-time.js | failureTitle": {
1479
1467
  "message": "Giảm thời gian phản hồi ban đầu của máy chủ"
1480
1468
  },
1481
- "lighthouse-core/audits/server-response-time.js | title": {
1469
+ "core/audits/server-response-time.js | title": {
1482
1470
  "message": "Thời gian phản hồi ban đầu của máy chủ là ngắn"
1483
1471
  },
1484
- "lighthouse-core/audits/service-worker.js | description": {
1472
+ "core/audits/service-worker.js | description": {
1485
1473
  "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](https://web.dev/service-worker/)"
1486
1474
  },
1487
- "lighthouse-core/audits/service-worker.js | explanationBadManifest": {
1475
+ "core/audits/service-worker.js | explanationBadManifest": {
1488
1476
  "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
1477
  },
1490
- "lighthouse-core/audits/service-worker.js | explanationBadStartUrl": {
1478
+ "core/audits/service-worker.js | explanationBadStartUrl": {
1491
1479
  "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
1480
  },
1493
- "lighthouse-core/audits/service-worker.js | explanationNoManifest": {
1481
+ "core/audits/service-worker.js | explanationNoManifest": {
1494
1482
  "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
1483
  },
1496
- "lighthouse-core/audits/service-worker.js | explanationOutOfScope": {
1484
+ "core/audits/service-worker.js | explanationOutOfScope": {
1497
1485
  "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
1486
  },
1499
- "lighthouse-core/audits/service-worker.js | failureTitle": {
1487
+ "core/audits/service-worker.js | failureTitle": {
1500
1488
  "message": "Không đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
1501
1489
  },
1502
- "lighthouse-core/audits/service-worker.js | title": {
1490
+ "core/audits/service-worker.js | title": {
1503
1491
  "message": "Đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
1504
1492
  },
1505
- "lighthouse-core/audits/splash-screen.js | description": {
1493
+ "core/audits/splash-screen.js | description": {
1506
1494
  "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://web.dev/splash-screen/)"
1507
1495
  },
1508
- "lighthouse-core/audits/splash-screen.js | failureTitle": {
1496
+ "core/audits/splash-screen.js | failureTitle": {
1509
1497
  "message": "Chưa được định cấu hình cho màn hình chờ tùy chỉnh"
1510
1498
  },
1511
- "lighthouse-core/audits/splash-screen.js | title": {
1499
+ "core/audits/splash-screen.js | title": {
1512
1500
  "message": "Đã định cấu hình cho màn hình chờ tùy chỉnh"
1513
1501
  },
1514
- "lighthouse-core/audits/themed-omnibox.js | description": {
1502
+ "core/audits/themed-omnibox.js | description": {
1515
1503
  "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://web.dev/themed-omnibox/)"
1516
1504
  },
1517
- "lighthouse-core/audits/themed-omnibox.js | failureTitle": {
1505
+ "core/audits/themed-omnibox.js | failureTitle": {
1518
1506
  "message": "Không đặt màu giao diện cho thanh địa chỉ."
1519
1507
  },
1520
- "lighthouse-core/audits/themed-omnibox.js | title": {
1508
+ "core/audits/themed-omnibox.js | title": {
1521
1509
  "message": "Đặt màu giao diện cho thanh địa chỉ."
1522
1510
  },
1523
- "lighthouse-core/audits/third-party-facades.js | categoryCustomerSuccess": {
1511
+ "core/audits/third-party-facades.js | categoryCustomerSuccess": {
1524
1512
  "message": "{productName} (Sự thành công của khách hàng)"
1525
1513
  },
1526
- "lighthouse-core/audits/third-party-facades.js | categoryMarketing": {
1514
+ "core/audits/third-party-facades.js | categoryMarketing": {
1527
1515
  "message": "{productName} (Tiếp thị)"
1528
1516
  },
1529
- "lighthouse-core/audits/third-party-facades.js | categorySocial": {
1517
+ "core/audits/third-party-facades.js | categorySocial": {
1530
1518
  "message": "{productName} (Xã hội)"
1531
1519
  },
1532
- "lighthouse-core/audits/third-party-facades.js | categoryVideo": {
1520
+ "core/audits/third-party-facades.js | categoryVideo": {
1533
1521
  "message": "{productName} (Video)"
1534
1522
  },
1535
- "lighthouse-core/audits/third-party-facades.js | columnProduct": {
1523
+ "core/audits/third-party-facades.js | columnProduct": {
1536
1524
  "message": "Sản phẩm"
1537
1525
  },
1538
- "lighthouse-core/audits/third-party-facades.js | description": {
1526
+ "core/audits/third-party-facades.js | description": {
1539
1527
  "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 dung lượng nhẹ cho đến khi cần đến các nội dung này. [Tìm hiểu thêm](https://web.dev/third-party-facades/)."
1540
1528
  },
1541
- "lighthouse-core/audits/third-party-facades.js | displayValue": {
1529
+ "core/audits/third-party-facades.js | displayValue": {
1542
1530
  "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
1531
  },
1544
- "lighthouse-core/audits/third-party-facades.js | failureTitle": {
1532
+ "core/audits/third-party-facades.js | failureTitle": {
1545
1533
  "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
1534
  },
1547
- "lighthouse-core/audits/third-party-facades.js | title": {
1535
+ "core/audits/third-party-facades.js | title": {
1548
1536
  "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
1537
  },
1550
- "lighthouse-core/audits/third-party-summary.js | columnThirdParty": {
1538
+ "core/audits/third-party-summary.js | columnThirdParty": {
1551
1539
  "message": "Bên thứ ba"
1552
1540
  },
1553
- "lighthouse-core/audits/third-party-summary.js | description": {
1541
+ "core/audits/third-party-summary.js | description": {
1554
1542
  "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 thêm](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
1555
1543
  },
1556
- "lighthouse-core/audits/third-party-summary.js | displayValue": {
1544
+ "core/audits/third-party-summary.js | displayValue": {
1557
1545
  "message": "Mã của bên thứ ba đã chặn chuỗi chính trong {timeInMs, number, milliseconds} mili giây"
1558
1546
  },
1559
- "lighthouse-core/audits/third-party-summary.js | failureTitle": {
1547
+ "core/audits/third-party-summary.js | failureTitle": {
1560
1548
  "message": "Giảm mức ảnh hưởng của mã bên thứ ba"
1561
1549
  },
1562
- "lighthouse-core/audits/third-party-summary.js | title": {
1550
+ "core/audits/third-party-summary.js | title": {
1563
1551
  "message": "Giảm thiểu mức sử dụng của bên thứ ba"
1564
1552
  },
1565
- "lighthouse-core/audits/timing-budget.js | columnMeasurement": {
1553
+ "core/audits/timing-budget.js | columnMeasurement": {
1566
1554
  "message": "Đo lường"
1567
1555
  },
1568
- "lighthouse-core/audits/timing-budget.js | columnTimingMetric": {
1556
+ "core/audits/timing-budget.js | columnTimingMetric": {
1569
1557
  "message": "Chỉ số"
1570
1558
  },
1571
- "lighthouse-core/audits/timing-budget.js | description": {
1559
+ "core/audits/timing-budget.js | description": {
1572
1560
  "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 nhập của người dùng. [Tìm hiểu thêm](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
1573
1561
  },
1574
- "lighthouse-core/audits/timing-budget.js | title": {
1562
+ "core/audits/timing-budget.js | title": {
1575
1563
  "message": "Giới hạn về thời gian"
1576
1564
  },
1577
- "lighthouse-core/audits/unsized-images.js | description": {
1565
+ "core/audits/unsized-images.js | description": {
1578
1566
  "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 thêm](https://web.dev/optimize-cls/#images-without-dimensions)"
1579
1567
  },
1580
- "lighthouse-core/audits/unsized-images.js | failureTitle": {
1568
+ "core/audits/unsized-images.js | failureTitle": {
1581
1569
  "message": "Các phần tử hình ảnh không có `width` và `height` rõ ràng"
1582
1570
  },
1583
- "lighthouse-core/audits/unsized-images.js | title": {
1571
+ "core/audits/unsized-images.js | title": {
1584
1572
  "message": "Các phần tử hình ảnh có `width` và `height` rõ ràng"
1585
1573
  },
1586
- "lighthouse-core/audits/user-timings.js | columnType": {
1574
+ "core/audits/user-timings.js | columnType": {
1587
1575
  "message": "Loại"
1588
1576
  },
1589
- "lighthouse-core/audits/user-timings.js | description": {
1577
+ "core/audits/user-timings.js | description": {
1590
1578
  "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://web.dev/user-timings/)."
1591
1579
  },
1592
- "lighthouse-core/audits/user-timings.js | displayValue": {
1580
+ "core/audits/user-timings.js | displayValue": {
1593
1581
  "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
1582
  },
1595
- "lighthouse-core/audits/user-timings.js | title": {
1583
+ "core/audits/user-timings.js | title": {
1596
1584
  "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
1585
  },
1598
- "lighthouse-core/audits/uses-rel-preconnect.js | crossoriginWarning": {
1586
+ "core/audits/uses-rel-preconnect.js | crossoriginWarning": {
1599
1587
  "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
1588
  },
1601
- "lighthouse-core/audits/uses-rel-preconnect.js | description": {
1589
+ "core/audits/uses-rel-preconnect.js | description": {
1602
1590
  "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 thêm](https://web.dev/uses-rel-preconnect/)"
1603
1591
  },
1604
- "lighthouse-core/audits/uses-rel-preconnect.js | title": {
1592
+ "core/audits/uses-rel-preconnect.js | title": {
1605
1593
  "message": "Kết nối trước với các tên miền bắt buộc"
1606
1594
  },
1607
- "lighthouse-core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
1595
+ "core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
1608
1596
  "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
1597
  },
1610
- "lighthouse-core/audits/uses-rel-preconnect.js | unusedWarning": {
1598
+ "core/audits/uses-rel-preconnect.js | unusedWarning": {
1611
1599
  "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
1600
  },
1613
- "lighthouse-core/audits/uses-rel-preload.js | crossoriginWarning": {
1601
+ "core/audits/uses-rel-preload.js | crossoriginWarning": {
1614
1602
  "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
1603
  },
1616
- "lighthouse-core/audits/uses-rel-preload.js | description": {
1604
+ "core/audits/uses-rel-preload.js | description": {
1617
1605
  "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 thêm](https://web.dev/uses-rel-preload/)."
1618
1606
  },
1619
- "lighthouse-core/audits/uses-rel-preload.js | title": {
1607
+ "core/audits/uses-rel-preload.js | title": {
1620
1608
  "message": "Tải trước các yêu cầu chính"
1621
1609
  },
1622
- "lighthouse-core/audits/valid-source-maps.js | columnMapURL": {
1610
+ "core/audits/valid-source-maps.js | columnMapURL": {
1623
1611
  "message": "URL của bản đồ"
1624
1612
  },
1625
- "lighthouse-core/audits/valid-source-maps.js | description": {
1613
+ "core/audits/valid-source-maps.js | description": {
1626
1614
  "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)"
1627
1615
  },
1628
- "lighthouse-core/audits/valid-source-maps.js | failureTitle": {
1616
+ "core/audits/valid-source-maps.js | failureTitle": {
1629
1617
  "message": "Thiếu bản đồ nguồn cho JavaScript lớn của bên thứ nhất"
1630
1618
  },
1631
- "lighthouse-core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
1619
+ "core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
1632
1620
  "message": "Tệp JavaScript lớn thiếu bản đồ nguồn"
1633
1621
  },
1634
- "lighthouse-core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
1622
+ "core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
1635
1623
  "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
1624
  },
1637
- "lighthouse-core/audits/valid-source-maps.js | title": {
1625
+ "core/audits/valid-source-maps.js | title": {
1638
1626
  "message": "Trang có bản đồ nguồn hợp lệ"
1639
1627
  },
1640
- "lighthouse-core/audits/viewport.js | description": {
1628
+ "core/audits/viewport.js | description": {
1641
1629
  "message": "`<meta name=\"viewport\">` không chỉ tối ưu hóa ứ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://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [Tìm hiểu thêm](https://web.dev/viewport/)."
1642
1630
  },
1643
- "lighthouse-core/audits/viewport.js | explanationNoTag": {
1631
+ "core/audits/viewport.js | explanationNoTag": {
1644
1632
  "message": "Không tìm thấy thẻ `<meta name=\"viewport\">`"
1645
1633
  },
1646
- "lighthouse-core/audits/viewport.js | failureTitle": {
1634
+ "core/audits/viewport.js | failureTitle": {
1647
1635
  "message": "Không có thẻ `<meta name=\"viewport\">` có `width` hoặc `initial-scale`"
1648
1636
  },
1649
- "lighthouse-core/audits/viewport.js | title": {
1637
+ "core/audits/viewport.js | title": {
1650
1638
  "message": "Có thẻ `<meta name=\"viewport\">` có `width` hoặc `initial-scale`"
1651
1639
  },
1652
- "lighthouse-core/config/default-config.js | a11yAriaGroupDescription": {
1640
+ "core/config/default-config.js | a11yAriaGroupDescription": {
1653
1641
  "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
1642
  },
1655
- "lighthouse-core/config/default-config.js | a11yAriaGroupTitle": {
1643
+ "core/config/default-config.js | a11yAriaGroupTitle": {
1656
1644
  "message": "ARIA"
1657
1645
  },
1658
- "lighthouse-core/config/default-config.js | a11yAudioVideoGroupDescription": {
1646
+ "core/config/default-config.js | a11yAudioVideoGroupDescription": {
1659
1647
  "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
1648
  },
1661
- "lighthouse-core/config/default-config.js | a11yAudioVideoGroupTitle": {
1649
+ "core/config/default-config.js | a11yAudioVideoGroupTitle": {
1662
1650
  "message": "Âm thanh và video"
1663
1651
  },
1664
- "lighthouse-core/config/default-config.js | a11yBestPracticesGroupDescription": {
1652
+ "core/config/default-config.js | a11yBestPracticesGroupDescription": {
1665
1653
  "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
1654
  },
1667
- "lighthouse-core/config/default-config.js | a11yBestPracticesGroupTitle": {
1655
+ "core/config/default-config.js | a11yBestPracticesGroupTitle": {
1668
1656
  "message": "Những phương pháp hay nhất"
1669
1657
  },
1670
- "lighthouse-core/config/default-config.js | a11yCategoryDescription": {
1658
+ "core/config/default-config.js | a11yCategoryDescription": {
1671
1659
  "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://developers.google.com/web/fundamentals/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
1660
  },
1673
- "lighthouse-core/config/default-config.js | a11yCategoryManualDescription": {
1661
+ "core/config/default-config.js | a11yCategoryManualDescription": {
1674
1662
  "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://developers.google.com/web/fundamentals/accessibility/how-to-review)."
1675
1663
  },
1676
- "lighthouse-core/config/default-config.js | a11yCategoryTitle": {
1664
+ "core/config/default-config.js | a11yCategoryTitle": {
1677
1665
  "message": "Hỗ trợ tiếp cận"
1678
1666
  },
1679
- "lighthouse-core/config/default-config.js | a11yColorContrastGroupDescription": {
1667
+ "core/config/default-config.js | a11yColorContrastGroupDescription": {
1680
1668
  "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
1669
  },
1682
- "lighthouse-core/config/default-config.js | a11yColorContrastGroupTitle": {
1670
+ "core/config/default-config.js | a11yColorContrastGroupTitle": {
1683
1671
  "message": "Độ tương phản"
1684
1672
  },
1685
- "lighthouse-core/config/default-config.js | a11yLanguageGroupDescription": {
1673
+ "core/config/default-config.js | a11yLanguageGroupDescription": {
1686
1674
  "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
1675
  },
1688
- "lighthouse-core/config/default-config.js | a11yLanguageGroupTitle": {
1676
+ "core/config/default-config.js | a11yLanguageGroupTitle": {
1689
1677
  "message": "Quốc tế hóa và bản địa hóa"
1690
1678
  },
1691
- "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupDescription": {
1679
+ "core/config/default-config.js | a11yNamesLabelsGroupDescription": {
1692
1680
  "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
1681
  },
1694
- "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupTitle": {
1682
+ "core/config/default-config.js | a11yNamesLabelsGroupTitle": {
1695
1683
  "message": "Tên và nhãn"
1696
1684
  },
1697
- "lighthouse-core/config/default-config.js | a11yNavigationGroupDescription": {
1685
+ "core/config/default-config.js | a11yNavigationGroupDescription": {
1698
1686
  "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
1687
  },
1700
- "lighthouse-core/config/default-config.js | a11yNavigationGroupTitle": {
1688
+ "core/config/default-config.js | a11yNavigationGroupTitle": {
1701
1689
  "message": "Điều hướng"
1702
1690
  },
1703
- "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
1691
+ "core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
1704
1692
  "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
1693
  },
1706
- "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1694
+ "core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
1707
1695
  "message": "Bảng và danh sách"
1708
1696
  },
1709
- "lighthouse-core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1697
+ "core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
1710
1698
  "message": "Khả năng tương thích của trình duyệt"
1711
1699
  },
1712
- "lighthouse-core/config/default-config.js | bestPracticesCategoryTitle": {
1700
+ "core/config/default-config.js | bestPracticesCategoryTitle": {
1713
1701
  "message": "Phương pháp hay nhất"
1714
1702
  },
1715
- "lighthouse-core/config/default-config.js | bestPracticesGeneralGroupTitle": {
1703
+ "core/config/default-config.js | bestPracticesGeneralGroupTitle": {
1716
1704
  "message": "Chung"
1717
1705
  },
1718
- "lighthouse-core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
1706
+ "core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
1719
1707
  "message": "Tin cậy và an toàn"
1720
1708
  },
1721
- "lighthouse-core/config/default-config.js | bestPracticesUXGroupTitle": {
1709
+ "core/config/default-config.js | bestPracticesUXGroupTitle": {
1722
1710
  "message": "Trải nghiệm người dùng"
1723
1711
  },
1724
- "lighthouse-core/config/default-config.js | budgetsGroupDescription": {
1712
+ "core/config/default-config.js | budgetsGroupDescription": {
1725
1713
  "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
1714
  },
1727
- "lighthouse-core/config/default-config.js | budgetsGroupTitle": {
1715
+ "core/config/default-config.js | budgetsGroupTitle": {
1728
1716
  "message": "Ngân sách"
1729
1717
  },
1730
- "lighthouse-core/config/default-config.js | diagnosticsGroupDescription": {
1718
+ "core/config/default-config.js | diagnosticsGroupDescription": {
1731
1719
  "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://web.dev/performance-scoring/) đến Điểm hiệu suất."
1732
1720
  },
1733
- "lighthouse-core/config/default-config.js | diagnosticsGroupTitle": {
1721
+ "core/config/default-config.js | diagnosticsGroupTitle": {
1734
1722
  "message": "Chẩn đoán"
1735
1723
  },
1736
- "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupDescription": {
1724
+ "core/config/default-config.js | firstPaintImprovementsGroupDescription": {
1737
1725
  "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
1726
  },
1739
- "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1727
+ "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1740
1728
  "message": "Các thao tác để cải thiện thời gian hiển thị hình ảnh đầu tiên"
1741
1729
  },
1742
- "lighthouse-core/config/default-config.js | loadOpportunitiesGroupDescription": {
1730
+ "core/config/default-config.js | loadOpportunitiesGroupDescription": {
1743
1731
  "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://web.dev/performance-scoring/) đến Điểm hiệu suất."
1744
1732
  },
1745
- "lighthouse-core/config/default-config.js | loadOpportunitiesGroupTitle": {
1733
+ "core/config/default-config.js | loadOpportunitiesGroupTitle": {
1746
1734
  "message": "Cơ hội"
1747
1735
  },
1748
- "lighthouse-core/config/default-config.js | metricGroupTitle": {
1736
+ "core/config/default-config.js | metricGroupTitle": {
1749
1737
  "message": "Các chỉ số"
1750
1738
  },
1751
- "lighthouse-core/config/default-config.js | overallImprovementsGroupDescription": {
1739
+ "core/config/default-config.js | overallImprovementsGroupDescription": {
1752
1740
  "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
1741
  },
1754
- "lighthouse-core/config/default-config.js | overallImprovementsGroupTitle": {
1742
+ "core/config/default-config.js | overallImprovementsGroupTitle": {
1755
1743
  "message": "Các thao tác để cải thiện hiệu suất tổng thể"
1756
1744
  },
1757
- "lighthouse-core/config/default-config.js | performanceCategoryTitle": {
1745
+ "core/config/default-config.js | performanceCategoryTitle": {
1758
1746
  "message": "Hiệu suất"
1759
1747
  },
1760
- "lighthouse-core/config/default-config.js | pwaCategoryDescription": {
1748
+ "core/config/default-config.js | pwaCategoryDescription": {
1761
1749
  "message": "Những hoạt động kiểm tra này sẽ xác thực các khía cạnh của một Ứng dụng web tiến bộ. [Tìm hiểu thêm](https://developers.google.com/web/progressive-web-apps/checklist)."
1762
1750
  },
1763
- "lighthouse-core/config/default-config.js | pwaCategoryManualDescription": {
1751
+ "core/config/default-config.js | pwaCategoryManualDescription": {
1764
1752
  "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://developers.google.com/web/progressive-web-apps/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
1753
  },
1766
- "lighthouse-core/config/default-config.js | pwaCategoryTitle": {
1754
+ "core/config/default-config.js | pwaCategoryTitle": {
1767
1755
  "message": "PWA"
1768
1756
  },
1769
- "lighthouse-core/config/default-config.js | pwaInstallableGroupTitle": {
1757
+ "core/config/default-config.js | pwaInstallableGroupTitle": {
1770
1758
  "message": "Có thể cài đặt"
1771
1759
  },
1772
- "lighthouse-core/config/default-config.js | pwaOptimizedGroupTitle": {
1760
+ "core/config/default-config.js | pwaOptimizedGroupTitle": {
1773
1761
  "message": "PWA đã tối ưu hóa"
1774
1762
  },
1775
- "lighthouse-core/config/default-config.js | seoCategoryDescription": {
1763
+ "core/config/default-config.js | seoCategoryDescription": {
1776
1764
  "message": "Các hoạt động kiểm tra này đảm bảo rằng trang của bạn đang tuân theo lời khuyên về tối ưu hóa cho công cụ tìm kiếm cơ bản. Có nhiều yếu tố bổ sung mà Lighthouse không hiển thị ở đâ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-web-vitals/). [Tìm hiểu thêm](https://support.google.com/webmasters/answer/35769)."
1777
1765
  },
1778
- "lighthouse-core/config/default-config.js | seoCategoryManualDescription": {
1766
+ "core/config/default-config.js | seoCategoryManualDescription": {
1779
1767
  "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
1768
  },
1781
- "lighthouse-core/config/default-config.js | seoCategoryTitle": {
1769
+ "core/config/default-config.js | seoCategoryTitle": {
1782
1770
  "message": "SEO"
1783
1771
  },
1784
- "lighthouse-core/config/default-config.js | seoContentGroupDescription": {
1772
+ "core/config/default-config.js | seoContentGroupDescription": {
1785
1773
  "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
1774
  },
1787
- "lighthouse-core/config/default-config.js | seoContentGroupTitle": {
1775
+ "core/config/default-config.js | seoContentGroupTitle": {
1788
1776
  "message": "Những phương pháp hay nhất về nội dung"
1789
1777
  },
1790
- "lighthouse-core/config/default-config.js | seoCrawlingGroupDescription": {
1778
+ "core/config/default-config.js | seoCrawlingGroupDescription": {
1791
1779
  "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
1780
  },
1793
- "lighthouse-core/config/default-config.js | seoCrawlingGroupTitle": {
1781
+ "core/config/default-config.js | seoCrawlingGroupTitle": {
1794
1782
  "message": "Thu thập thông tin và lập chỉ mục"
1795
1783
  },
1796
- "lighthouse-core/config/default-config.js | seoMobileGroupDescription": {
1784
+ "core/config/default-config.js | seoMobileGroupDescription": {
1797
1785
  "message": "Đảm bảo các trang của bạn thân thiện 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 phải chụm hoặc thu phóng. [Tìm hiểu thêm](https://developers.google.com/search/mobile-sites/)."
1798
1786
  },
1799
- "lighthouse-core/config/default-config.js | seoMobileGroupTitle": {
1787
+ "core/config/default-config.js | seoMobileGroupTitle": {
1800
1788
  "message": "Thân thiện với thiết bị di động"
1801
1789
  },
1802
- "lighthouse-core/gather/driver/environment.js | warningSlowHostCpu": {
1790
+ "core/gather/driver/environment.js | warningSlowHostCpu": {
1803
1791
  "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/master/docs/throttling.md#cpu-throttling)."
1804
1792
  },
1805
- "lighthouse-core/gather/driver/navigation.js | warningRedirected": {
1793
+ "core/gather/driver/navigation.js | warningRedirected": {
1806
1794
  "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
1795
  },
1808
- "lighthouse-core/gather/driver/navigation.js | warningTimeout": {
1796
+ "core/gather/driver/navigation.js | warningTimeout": {
1809
1797
  "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
1798
  },
1811
- "lighthouse-core/gather/driver/storage.js | warningData": {
1799
+ "core/gather/driver/storage.js | warningData": {
1812
1800
  "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
1801
  },
1814
- "lighthouse-core/lib/csp-evaluator.js | allowlistFallback": {
1802
+ "core/lib/csp-evaluator.js | allowlistFallback": {
1815
1803
  "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
1804
  },
1817
- "lighthouse-core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1805
+ "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1818
1806
  "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
1807
  },
1820
- "lighthouse-core/lib/csp-evaluator.js | deprecatedReferrer": {
1808
+ "core/lib/csp-evaluator.js | deprecatedReferrer": {
1821
1809
  "message": "Kể từ CSP2, referrer sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề Referrer-Policy."
1822
1810
  },
1823
- "lighthouse-core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1811
+ "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1824
1812
  "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
1813
  },
1826
- "lighthouse-core/lib/csp-evaluator.js | missingBaseUri": {
1814
+ "core/lib/csp-evaluator.js | missingBaseUri": {
1827
1815
  "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
1816
  },
1829
- "lighthouse-core/lib/csp-evaluator.js | missingObjectSrc": {
1817
+ "core/lib/csp-evaluator.js | missingObjectSrc": {
1830
1818
  "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
1819
  },
1832
- "lighthouse-core/lib/csp-evaluator.js | missingScriptSrc": {
1820
+ "core/lib/csp-evaluator.js | missingScriptSrc": {
1833
1821
  "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
1822
  },
1835
- "lighthouse-core/lib/csp-evaluator.js | missingSemicolon": {
1823
+ "core/lib/csp-evaluator.js | missingSemicolon": {
1836
1824
  "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
1825
  },
1838
- "lighthouse-core/lib/csp-evaluator.js | nonceCharset": {
1826
+ "core/lib/csp-evaluator.js | nonceCharset": {
1839
1827
  "message": "Nonces phải dùng bộ ký tự base64."
1840
1828
  },
1841
- "lighthouse-core/lib/csp-evaluator.js | nonceLength": {
1829
+ "core/lib/csp-evaluator.js | nonceLength": {
1842
1830
  "message": "Nonces phải có độ dài tối thiểu là 8 ký tự."
1843
1831
  },
1844
- "lighthouse-core/lib/csp-evaluator.js | plainUrlScheme": {
1832
+ "core/lib/csp-evaluator.js | plainUrlScheme": {
1845
1833
  "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
1834
  },
1847
- "lighthouse-core/lib/csp-evaluator.js | plainWildcards": {
1835
+ "core/lib/csp-evaluator.js | plainWildcards": {
1848
1836
  "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
1837
  },
1850
- "lighthouse-core/lib/csp-evaluator.js | reportToOnly": {
1838
+ "core/lib/csp-evaluator.js | reportToOnly": {
1851
1839
  "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
1840
  },
1853
- "lighthouse-core/lib/csp-evaluator.js | reportingDestinationMissing": {
1841
+ "core/lib/csp-evaluator.js | reportingDestinationMissing": {
1854
1842
  "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
1843
  },
1856
- "lighthouse-core/lib/csp-evaluator.js | strictDynamic": {
1844
+ "core/lib/csp-evaluator.js | strictDynamic": {
1857
1845
  "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
1846
  },
1859
- "lighthouse-core/lib/csp-evaluator.js | unknownDirective": {
1847
+ "core/lib/csp-evaluator.js | unknownDirective": {
1860
1848
  "message": "Lệnh CSP không xác định."
1861
1849
  },
1862
- "lighthouse-core/lib/csp-evaluator.js | unknownKeyword": {
1850
+ "core/lib/csp-evaluator.js | unknownKeyword": {
1863
1851
  "message": "Có vẻ như {keyword} là một từ khóa không hợp lệ."
1864
1852
  },
1865
- "lighthouse-core/lib/csp-evaluator.js | unsafeInline": {
1853
+ "core/lib/csp-evaluator.js | unsafeInline": {
1866
1854
  "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
1855
  },
1868
- "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
1856
+ "core/lib/csp-evaluator.js | unsafeInlineFallback": {
1869
1857
  "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
1858
  },
1871
- "lighthouse-core/lib/i18n/i18n.js | columnBlockingTime": {
1859
+ "core/lib/i18n/i18n.js | columnBlockingTime": {
1872
1860
  "message": "Thời gian chặn chuỗi chính"
1873
1861
  },
1874
- "lighthouse-core/lib/i18n/i18n.js | columnCacheTTL": {
1862
+ "core/lib/i18n/i18n.js | columnCacheTTL": {
1875
1863
  "message": "Thời gian tồn tại (TTL) của bộ nhớ đệm"
1876
1864
  },
1877
- "lighthouse-core/lib/i18n/i18n.js | columnDescription": {
1865
+ "core/lib/i18n/i18n.js | columnDescription": {
1878
1866
  "message": "Nội dung mô tả"
1879
1867
  },
1880
- "lighthouse-core/lib/i18n/i18n.js | columnDuration": {
1868
+ "core/lib/i18n/i18n.js | columnDuration": {
1881
1869
  "message": "Thời lượng"
1882
1870
  },
1883
- "lighthouse-core/lib/i18n/i18n.js | columnElement": {
1871
+ "core/lib/i18n/i18n.js | columnElement": {
1884
1872
  "message": "Phần tử"
1885
1873
  },
1886
- "lighthouse-core/lib/i18n/i18n.js | columnFailingElem": {
1874
+ "core/lib/i18n/i18n.js | columnFailingElem": {
1887
1875
  "message": "Các phần tử không đạt"
1888
1876
  },
1889
- "lighthouse-core/lib/i18n/i18n.js | columnLocation": {
1877
+ "core/lib/i18n/i18n.js | columnLocation": {
1890
1878
  "message": "Vị trí"
1891
1879
  },
1892
- "lighthouse-core/lib/i18n/i18n.js | columnName": {
1880
+ "core/lib/i18n/i18n.js | columnName": {
1893
1881
  "message": "Tên"
1894
1882
  },
1895
- "lighthouse-core/lib/i18n/i18n.js | columnOverBudget": {
1883
+ "core/lib/i18n/i18n.js | columnOverBudget": {
1896
1884
  "message": "Vượt ngân sách"
1897
1885
  },
1898
- "lighthouse-core/lib/i18n/i18n.js | columnRequests": {
1886
+ "core/lib/i18n/i18n.js | columnRequests": {
1899
1887
  "message": "Số yêu cầu"
1900
1888
  },
1901
- "lighthouse-core/lib/i18n/i18n.js | columnResourceSize": {
1889
+ "core/lib/i18n/i18n.js | columnResourceSize": {
1902
1890
  "message": "Kích thước tài nguyên"
1903
1891
  },
1904
- "lighthouse-core/lib/i18n/i18n.js | columnResourceType": {
1892
+ "core/lib/i18n/i18n.js | columnResourceType": {
1905
1893
  "message": "Loại tài nguyên"
1906
1894
  },
1907
- "lighthouse-core/lib/i18n/i18n.js | columnSize": {
1895
+ "core/lib/i18n/i18n.js | columnSize": {
1908
1896
  "message": "Kích thước"
1909
1897
  },
1910
- "lighthouse-core/lib/i18n/i18n.js | columnSource": {
1898
+ "core/lib/i18n/i18n.js | columnSource": {
1911
1899
  "message": "Nguồn"
1912
1900
  },
1913
- "lighthouse-core/lib/i18n/i18n.js | columnStartTime": {
1901
+ "core/lib/i18n/i18n.js | columnStartTime": {
1914
1902
  "message": "Thời gian bắt đầu"
1915
1903
  },
1916
- "lighthouse-core/lib/i18n/i18n.js | columnTimeSpent": {
1904
+ "core/lib/i18n/i18n.js | columnTimeSpent": {
1917
1905
  "message": "Thời gian sử dụng"
1918
1906
  },
1919
- "lighthouse-core/lib/i18n/i18n.js | columnTransferSize": {
1907
+ "core/lib/i18n/i18n.js | columnTransferSize": {
1920
1908
  "message": "Kích thước cần chuyển"
1921
1909
  },
1922
- "lighthouse-core/lib/i18n/i18n.js | columnURL": {
1910
+ "core/lib/i18n/i18n.js | columnURL": {
1923
1911
  "message": "URL"
1924
1912
  },
1925
- "lighthouse-core/lib/i18n/i18n.js | columnWastedBytes": {
1913
+ "core/lib/i18n/i18n.js | columnWastedBytes": {
1926
1914
  "message": "Lượng dữ liệu có thể tiết kiệm được"
1927
1915
  },
1928
- "lighthouse-core/lib/i18n/i18n.js | columnWastedMs": {
1916
+ "core/lib/i18n/i18n.js | columnWastedMs": {
1929
1917
  "message": "Thời gian có thể tiết kiệm được"
1930
1918
  },
1931
- "lighthouse-core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1919
+ "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1932
1920
  "message": "Cumulative Layout Shift"
1933
1921
  },
1934
- "lighthouse-core/lib/i18n/i18n.js | displayValueByteSavings": {
1922
+ "core/lib/i18n/i18n.js | displayValueByteSavings": {
1935
1923
  "message": "Lượng dữ liệu có thể tiết kiệm được là {wastedBytes, number, bytes} KiB"
1936
1924
  },
1937
- "lighthouse-core/lib/i18n/i18n.js | displayValueElementsFound": {
1925
+ "core/lib/i18n/i18n.js | displayValueElementsFound": {
1938
1926
  "message": "{nodeCount,plural, =1{Tìm thấy 1 phần tử}other{Tìm thấy # phần tử}}"
1939
1927
  },
1940
- "lighthouse-core/lib/i18n/i18n.js | displayValueMsSavings": {
1928
+ "core/lib/i18n/i18n.js | displayValueMsSavings": {
1941
1929
  "message": "Thời gian có thể tiết kiệm được là {wastedMs, number, milliseconds} mili giây"
1942
1930
  },
1943
- "lighthouse-core/lib/i18n/i18n.js | documentResourceType": {
1931
+ "core/lib/i18n/i18n.js | documentResourceType": {
1944
1932
  "message": "Tài liệu"
1945
1933
  },
1946
- "lighthouse-core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1934
+ "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1947
1935
  "message": "First Contentful Paint"
1948
1936
  },
1949
- "lighthouse-core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1937
+ "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1950
1938
  "message": "Hình ảnh có ý nghĩa đầu tiên"
1951
1939
  },
1952
- "lighthouse-core/lib/i18n/i18n.js | fontResourceType": {
1940
+ "core/lib/i18n/i18n.js | fontResourceType": {
1953
1941
  "message": "Phông chữ"
1954
1942
  },
1955
- "lighthouse-core/lib/i18n/i18n.js | imageResourceType": {
1943
+ "core/lib/i18n/i18n.js | imageResourceType": {
1956
1944
  "message": "Hình ảnh"
1957
1945
  },
1958
- "lighthouse-core/lib/i18n/i18n.js | interactiveMetric": {
1946
+ "core/lib/i18n/i18n.js | interactiveMetric": {
1959
1947
  "message": "Time to Interactive"
1960
1948
  },
1961
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityHigh": {
1949
+ "core/lib/i18n/i18n.js | itemSeverityHigh": {
1962
1950
  "message": "Cao"
1963
1951
  },
1964
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityLow": {
1952
+ "core/lib/i18n/i18n.js | itemSeverityLow": {
1965
1953
  "message": "Thấp"
1966
1954
  },
1967
- "lighthouse-core/lib/i18n/i18n.js | itemSeverityMedium": {
1955
+ "core/lib/i18n/i18n.js | itemSeverityMedium": {
1968
1956
  "message": "Trung bình"
1969
1957
  },
1970
- "lighthouse-core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1958
+ "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1971
1959
  "message": "Largest Contentful Paint"
1972
1960
  },
1973
- "lighthouse-core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1961
+ "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1974
1962
  "message": "Thời gian phản hồi lần tương tác đầu tiên tối đa có thể"
1975
1963
  },
1976
- "lighthouse-core/lib/i18n/i18n.js | mediaResourceType": {
1964
+ "core/lib/i18n/i18n.js | mediaResourceType": {
1977
1965
  "message": "Nội dung nghe nhìn"
1978
1966
  },
1979
- "lighthouse-core/lib/i18n/i18n.js | ms": {
1967
+ "core/lib/i18n/i18n.js | ms": {
1980
1968
  "message": "{timeInMs, number, milliseconds} mili giây"
1981
1969
  },
1982
- "lighthouse-core/lib/i18n/i18n.js | otherResourceType": {
1970
+ "core/lib/i18n/i18n.js | otherResourceType": {
1983
1971
  "message": "Khác"
1984
1972
  },
1985
- "lighthouse-core/lib/i18n/i18n.js | otherResourcesLabel": {
1973
+ "core/lib/i18n/i18n.js | otherResourcesLabel": {
1986
1974
  "message": "Tài nguyên khác"
1987
1975
  },
1988
- "lighthouse-core/lib/i18n/i18n.js | scriptResourceType": {
1976
+ "core/lib/i18n/i18n.js | scriptResourceType": {
1989
1977
  "message": "Tập lệnh"
1990
1978
  },
1991
- "lighthouse-core/lib/i18n/i18n.js | seconds": {
1979
+ "core/lib/i18n/i18n.js | seconds": {
1992
1980
  "message": "{timeInMs, number, seconds} giây"
1993
1981
  },
1994
- "lighthouse-core/lib/i18n/i18n.js | speedIndexMetric": {
1982
+ "core/lib/i18n/i18n.js | speedIndexMetric": {
1995
1983
  "message": "Speed Index"
1996
1984
  },
1997
- "lighthouse-core/lib/i18n/i18n.js | stylesheetResourceType": {
1985
+ "core/lib/i18n/i18n.js | stylesheetResourceType": {
1998
1986
  "message": "Biểu định kiểu"
1999
1987
  },
2000
- "lighthouse-core/lib/i18n/i18n.js | thirdPartyResourceType": {
1988
+ "core/lib/i18n/i18n.js | thirdPartyResourceType": {
2001
1989
  "message": "Bên thứ ba"
2002
1990
  },
2003
- "lighthouse-core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
1991
+ "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
2004
1992
  "message": "Total Blocking Time"
2005
1993
  },
2006
- "lighthouse-core/lib/i18n/i18n.js | totalResourceType": {
1994
+ "core/lib/i18n/i18n.js | totalResourceType": {
2007
1995
  "message": "Tổng"
2008
1996
  },
2009
- "lighthouse-core/lib/lh-error.js | badTraceRecording": {
1997
+ "core/lib/lh-error.js | badTraceRecording": {
2010
1998
  "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
1999
  },
2012
- "lighthouse-core/lib/lh-error.js | criTimeout": {
2000
+ "core/lib/lh-error.js | criTimeout": {
2013
2001
  "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
2002
  },
2015
- "lighthouse-core/lib/lh-error.js | didntCollectScreenshots": {
2003
+ "core/lib/lh-error.js | didntCollectScreenshots": {
2016
2004
  "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
2005
  },
2018
- "lighthouse-core/lib/lh-error.js | dnsFailure": {
2006
+ "core/lib/lh-error.js | dnsFailure": {
2019
2007
  "message": "Máy chủ DNS không thể phân giải miền đã cung cấp."
2020
2008
  },
2021
- "lighthouse-core/lib/lh-error.js | erroredRequiredArtifact": {
2009
+ "core/lib/lh-error.js | erroredRequiredArtifact": {
2022
2010
  "message": "Trình thu thập {artifactName} bắt buộc đã gặp lỗi: {errorMessage}"
2023
2011
  },
2024
- "lighthouse-core/lib/lh-error.js | internalChromeError": {
2012
+ "core/lib/lh-error.js | internalChromeError": {
2025
2013
  "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
2014
  },
2027
- "lighthouse-core/lib/lh-error.js | missingRequiredArtifact": {
2015
+ "core/lib/lh-error.js | missingRequiredArtifact": {
2028
2016
  "message": "Trình thu thập {artifactName} bắt buộc không chạy."
2029
2017
  },
2030
- "lighthouse-core/lib/lh-error.js | noFcp": {
2018
+ "core/lib/lh-error.js | noFcp": {
2031
2019
  "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
2020
  },
2033
- "lighthouse-core/lib/lh-error.js | notHtml": {
2021
+ "core/lib/lh-error.js | notHtml": {
2034
2022
  "message": "Trang đã cung cấp không phải là HTML (được phân phối ở dạng loại MIME {mimeType})."
2035
2023
  },
2036
- "lighthouse-core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2024
+ "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2037
2025
  "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
2026
  },
2039
- "lighthouse-core/lib/lh-error.js | pageLoadFailed": {
2027
+ "core/lib/lh-error.js | pageLoadFailed": {
2040
2028
  "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
2029
  },
2042
- "lighthouse-core/lib/lh-error.js | pageLoadFailedHung": {
2030
+ "core/lib/lh-error.js | pageLoadFailedHung": {
2043
2031
  "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
2032
  },
2045
- "lighthouse-core/lib/lh-error.js | pageLoadFailedInsecure": {
2033
+ "core/lib/lh-error.js | pageLoadFailedInsecure": {
2046
2034
  "message": "URL bạn cung cấp không có chứng chỉ bảo mật hợp lệ. {securityMessages}"
2047
2035
  },
2048
- "lighthouse-core/lib/lh-error.js | pageLoadFailedInterstitial": {
2036
+ "core/lib/lh-error.js | pageLoadFailedInterstitial": {
2049
2037
  "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
2038
  },
2051
- "lighthouse-core/lib/lh-error.js | pageLoadFailedWithDetails": {
2039
+ "core/lib/lh-error.js | pageLoadFailedWithDetails": {
2052
2040
  "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
2041
  },
2054
- "lighthouse-core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2042
+ "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2055
2043
  "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
2044
  },
2057
- "lighthouse-core/lib/lh-error.js | pageLoadTookTooLong": {
2045
+ "core/lib/lh-error.js | pageLoadTookTooLong": {
2058
2046
  "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
2047
  },
2060
- "lighthouse-core/lib/lh-error.js | protocolTimeout": {
2048
+ "core/lib/lh-error.js | protocolTimeout": {
2061
2049
  "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
2050
  },
2063
- "lighthouse-core/lib/lh-error.js | requestContentTimeout": {
2051
+ "core/lib/lh-error.js | requestContentTimeout": {
2064
2052
  "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
2053
  },
2066
- "lighthouse-core/lib/lh-error.js | urlInvalid": {
2054
+ "core/lib/lh-error.js | urlInvalid": {
2067
2055
  "message": "URL bạn cung cấp có vẻ không hợp lệ."
2068
2056
  },
2069
2057
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {