lighthouse 12.4.0 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/core/audits/audit.js +3 -1
  2. package/core/audits/bootup-time.js +1 -1
  3. package/core/audits/byte-efficiency/duplicated-javascript.js +1 -1
  4. package/core/audits/byte-efficiency/efficient-animated-content.js +1 -1
  5. package/core/audits/byte-efficiency/legacy-javascript.d.ts +0 -65
  6. package/core/audits/byte-efficiency/legacy-javascript.js +11 -363
  7. package/core/audits/byte-efficiency/modern-image-formats.js +1 -1
  8. package/core/audits/byte-efficiency/offscreen-images.js +4 -3
  9. package/core/audits/byte-efficiency/render-blocking-resources.js +6 -3
  10. package/core/audits/byte-efficiency/unminified-css.js +2 -1
  11. package/core/audits/byte-efficiency/unminified-javascript.js +2 -1
  12. package/core/audits/byte-efficiency/unused-css-rules.js +1 -1
  13. package/core/audits/byte-efficiency/unused-javascript.js +2 -2
  14. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +1 -1
  15. package/core/audits/byte-efficiency/uses-optimized-images.js +1 -1
  16. package/core/audits/byte-efficiency/uses-responsive-images.js +1 -1
  17. package/core/audits/byte-efficiency/uses-text-compression.js +2 -1
  18. package/core/audits/critical-request-chains.js +5 -3
  19. package/core/audits/dobetterweb/dom-size.js +1 -1
  20. package/core/audits/dobetterweb/uses-http2.js +1 -1
  21. package/core/audits/insights/cls-culprits-insight.js +1 -1
  22. package/core/audits/insights/document-latency-insight.js +1 -1
  23. package/core/audits/insights/dom-size-insight.js +1 -1
  24. package/core/audits/insights/{long-critical-network-tree-insight.d.ts → duplicated-javascript-insight.d.ts} +3 -3
  25. package/core/audits/insights/duplicated-javascript-insight.js +54 -0
  26. package/core/audits/insights/font-display-insight.js +8 -7
  27. package/core/audits/insights/forced-reflow-insight.d.ts +10 -0
  28. package/core/audits/insights/forced-reflow-insight.js +64 -12
  29. package/core/audits/insights/image-delivery-insight.js +9 -10
  30. package/core/audits/insights/insight-audit.js +9 -4
  31. package/core/audits/insights/interaction-to-next-paint-insight.js +1 -1
  32. package/core/audits/insights/lcp-discovery-insight.js +1 -1
  33. package/core/audits/insights/lcp-phases-insight.js +1 -1
  34. package/core/audits/insights/network-dependency-tree-insight.d.ts +11 -0
  35. package/core/audits/insights/{long-critical-network-tree-insight.js → network-dependency-tree-insight.js} +7 -7
  36. package/core/audits/insights/render-blocking-insight.js +1 -1
  37. package/core/audits/insights/slow-css-selector-insight.js +1 -1
  38. package/core/audits/insights/third-parties-insight.js +1 -1
  39. package/core/audits/insights/use-cache-insight.d.ts +11 -0
  40. package/core/audits/insights/use-cache-insight.js +61 -0
  41. package/core/audits/insights/viewport-insight.js +1 -1
  42. package/core/audits/largest-contentful-paint-element.js +7 -3
  43. package/core/audits/layout-shifts.js +5 -2
  44. package/core/audits/lcp-lazy-loaded.js +1 -1
  45. package/core/audits/long-tasks.js +6 -4
  46. package/core/audits/mainthread-work-breakdown.js +1 -1
  47. package/core/audits/metrics/first-contentful-paint.js +4 -2
  48. package/core/audits/metrics/interactive.js +6 -3
  49. package/core/audits/metrics/largest-contentful-paint.js +7 -3
  50. package/core/audits/metrics/max-potential-fid.js +6 -3
  51. package/core/audits/metrics/speed-index.js +6 -3
  52. package/core/audits/metrics/total-blocking-time.js +6 -3
  53. package/core/audits/metrics.js +4 -3
  54. package/core/audits/predictive-perf.js +4 -3
  55. package/core/audits/prioritize-lcp-image.js +5 -3
  56. package/core/audits/redirects.js +4 -2
  57. package/core/audits/script-treemap-data.js +8 -4
  58. package/core/audits/third-party-facades.js +1 -1
  59. package/core/audits/third-party-summary.js +1 -1
  60. package/core/audits/uses-rel-preconnect.js +7 -5
  61. package/core/audits/uses-rel-preload.js +5 -3
  62. package/core/computed/computed-artifact.d.ts +5 -1
  63. package/core/computed/computed-artifact.js +23 -2
  64. package/core/computed/critical-request-chains.d.ts +5 -1
  65. package/core/computed/critical-request-chains.js +4 -4
  66. package/core/computed/js-bundles.d.ts +1 -1
  67. package/core/computed/metrics/first-contentful-paint-all-frames.js +1 -1
  68. package/core/computed/metrics/first-contentful-paint.js +1 -1
  69. package/core/computed/metrics/interactive.js +1 -1
  70. package/core/computed/metrics/lantern-first-contentful-paint.js +1 -1
  71. package/core/computed/metrics/lantern-interactive.js +1 -1
  72. package/core/computed/metrics/lantern-largest-contentful-paint.js +1 -1
  73. package/core/computed/metrics/lantern-max-potential-fid.js +1 -1
  74. package/core/computed/metrics/lantern-metric.js +1 -1
  75. package/core/computed/metrics/lantern-speed-index.js +1 -1
  76. package/core/computed/metrics/lantern-total-blocking-time.js +1 -1
  77. package/core/computed/metrics/largest-contentful-paint-all-frames.js +1 -1
  78. package/core/computed/metrics/largest-contentful-paint.js +1 -1
  79. package/core/computed/metrics/lcp-breakdown.js +1 -1
  80. package/core/computed/metrics/max-potential-fid.js +1 -1
  81. package/core/computed/metrics/metric.js +2 -0
  82. package/core/computed/metrics/speed-index.js +1 -1
  83. package/core/computed/metrics/time-to-first-byte.js +1 -1
  84. package/core/computed/metrics/timing-summary.d.ts +5 -2
  85. package/core/computed/metrics/timing-summary.js +8 -4
  86. package/core/computed/metrics/total-blocking-time.js +1 -1
  87. package/core/computed/module-duplication.d.ts +1 -1
  88. package/core/computed/navigation-insights.d.ts +11 -3
  89. package/core/computed/navigation-insights.js +7 -4
  90. package/core/computed/page-dependency-graph.d.ts +7 -3
  91. package/core/computed/page-dependency-graph.js +6 -5
  92. package/core/computed/tbt-impact-tasks.js +1 -1
  93. package/core/computed/trace-engine-result.d.ts +36 -2
  94. package/core/computed/trace-engine-result.js +119 -25
  95. package/core/computed/unused-javascript-summary.d.ts +2 -2
  96. package/core/computed/unused-javascript-summary.js +1 -1
  97. package/core/config/default-config.js +19 -15
  98. package/core/config/experimental-config.js +19 -0
  99. package/core/gather/gatherers/source-maps.d.ts +1 -0
  100. package/core/gather/gatherers/source-maps.js +3 -0
  101. package/core/gather/gatherers/trace-elements.d.ts +4 -4
  102. package/core/gather/gatherers/trace-elements.js +8 -4
  103. package/core/gather/gatherers/trace.js +5 -0
  104. package/core/lib/bf-cache-strings.d.ts +0 -122
  105. package/core/lib/bf-cache-strings.js +1 -2
  106. package/core/lib/deprecation-description.js +2 -1
  107. package/core/lib/legacy-javascript/legacy-javascript.d.ts +29 -0
  108. package/core/lib/legacy-javascript/legacy-javascript.js +351 -0
  109. package/core/lib/legacy-javascript/polyfill-graph-data.json +93 -0
  110. package/core/lib/legacy-javascript/polyfill-module-data.json +623 -0
  111. package/core/lib/trace-engine.d.ts +6 -1
  112. package/core/lib/trace-engine.js +1 -2
  113. package/package.json +10 -8
  114. package/shared/localization/locales/ar-XB.json +783 -513
  115. package/shared/localization/locales/ar.json +783 -513
  116. package/shared/localization/locales/bg.json +933 -663
  117. package/shared/localization/locales/ca.json +925 -655
  118. package/shared/localization/locales/cs.json +926 -656
  119. package/shared/localization/locales/da.json +926 -656
  120. package/shared/localization/locales/de.json +803 -533
  121. package/shared/localization/locales/el.json +928 -658
  122. package/shared/localization/locales/en-GB.json +929 -659
  123. package/shared/localization/locales/en-US.json +593 -551
  124. package/shared/localization/locales/en-XA.json +28 -508
  125. package/shared/localization/locales/en-XL.json +593 -551
  126. package/shared/localization/locales/es-419.json +928 -658
  127. package/shared/localization/locales/es.json +787 -517
  128. package/shared/localization/locales/fi.json +925 -655
  129. package/shared/localization/locales/fil.json +929 -659
  130. package/shared/localization/locales/fr.json +927 -657
  131. package/shared/localization/locales/he.json +795 -528
  132. package/shared/localization/locales/hi.json +798 -528
  133. package/shared/localization/locales/hr.json +929 -659
  134. package/shared/localization/locales/hu.json +926 -656
  135. package/shared/localization/locales/id.json +926 -656
  136. package/shared/localization/locales/it.json +930 -660
  137. package/shared/localization/locales/ja.json +927 -657
  138. package/shared/localization/locales/ko.json +936 -666
  139. package/shared/localization/locales/lt.json +933 -663
  140. package/shared/localization/locales/lv.json +809 -539
  141. package/shared/localization/locales/nl.json +925 -655
  142. package/shared/localization/locales/no.json +928 -658
  143. package/shared/localization/locales/pl.json +927 -657
  144. package/shared/localization/locales/pt-PT.json +841 -571
  145. package/shared/localization/locales/pt.json +841 -571
  146. package/shared/localization/locales/ro.json +925 -655
  147. package/shared/localization/locales/ru.json +935 -668
  148. package/shared/localization/locales/sk.json +925 -655
  149. package/shared/localization/locales/sl.json +927 -657
  150. package/shared/localization/locales/sr-Latn.json +925 -655
  151. package/shared/localization/locales/sr.json +925 -655
  152. package/shared/localization/locales/sv.json +936 -666
  153. package/shared/localization/locales/ta.json +935 -668
  154. package/shared/localization/locales/te.json +785 -515
  155. package/shared/localization/locales/th.json +813 -543
  156. package/shared/localization/locales/tr.json +927 -657
  157. package/shared/localization/locales/uk.json +795 -525
  158. package/shared/localization/locales/vi.json +929 -659
  159. package/shared/localization/locales/zh-HK.json +926 -656
  160. package/shared/localization/locales/zh-TW.json +784 -514
  161. package/shared/localization/locales/zh.json +926 -656
  162. package/tsconfig.json +2 -1
  163. package/types/artifacts.d.ts +2 -1
  164. package/core/audits/byte-efficiency/polyfill-graph-data.json +0 -53
@@ -660,7 +660,10 @@
660
660
  "message": "Sử dụng các định dạng video cho nội dung động"
661
661
  },
662
662
  "core/audits/byte-efficiency/legacy-javascript.js | description": {
663
- "message": "Mã Polyfill và Transform cho phép trình duyệt cũ dùng các tính năng mới của JavaScript. Tuy nhiên, nhiều tính năng không cần thiết cho trình duyệt hiện đại. Đối với JavaScript trong gói của bạn, hãy áp dụng chiến lược triển khai tập lệnh hiện đại bằng cách dùng chế phát hiện tính năng theo mô-đun/không theo mô-đun để giảm số lượng gửi đến trình duyệt hiện đại trong khi vẫn tiếp tục hỗ trợ cho trình duyệt cũ. [Tìm hiểu cách sử dụng JavaScript hiện đại](https://web.dev/articles/publish-modern-javascript)"
663
+ "message": "Mã Polyfill và Transform cho phép trình duyệt cũ dùng các tính năng mới của JavaScript. Tuy nhiên, nhiều tính năng không cần thiết cho trình duyệt hiện đại. Hãy cân nhắc sửa đổi quy trình xây dựng JavaScript để không chuyển đổi nguồn các tính năng [Đườngsở](https://web.dev/baseline), trừ phi bạn biết rằng mình phải hỗ trợ các trình duyệt cũ. [Tìm hiểu do hầu hết các trang web thể triển khai ES6+ không cần chuyển đổi nguồn](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
664
+ },
665
+ "core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
666
+ "message": "Phát hiện phiên bản 2 của core-js trên trang này. Bạn nên nâng cấp lên phiên bản 3 để sử dụng nhiều cải tiến về hiệu suất."
664
667
  },
665
668
  "core/audits/byte-efficiency/legacy-javascript.js | title": {
666
669
  "message": "Tránh phân phối JavaScript cũ tới các trình duyệt hiện đại"
@@ -761,6 +764,18 @@
761
764
  "core/audits/byte-efficiency/uses-text-compression.js | title": {
762
765
  "message": "Bật tính năng nén văn bản"
763
766
  },
767
+ "core/audits/clickjacking-mitigation.js | columnSeverity": {
768
+ "message": "Mức độ nghiêm trọng"
769
+ },
770
+ "core/audits/clickjacking-mitigation.js | description": {
771
+ "message": "Tiêu đề `X-Frame-Options` (XFO) hoặc lệnh `frame-ancestors` trong tiêu đề `Content-Security-Policy` (CSP) kiểm soát nơi có thể nhúng trang. Những tính năng này có thể giảm thiểu các cuộc tấn công clickjacking bằng cách chặn một số hoặc tất cả trang web nhúng trang đó. [Tìm hiểu thêm về cách giảm thiểu các cuộc tấn công clickjacking](https://developer.chrome.com/docs/lighthouse/best-practices/clickjacking-mitigation)."
772
+ },
773
+ "core/audits/clickjacking-mitigation.js | noClickjackingMitigation": {
774
+ "message": "Không tìm thấy chính sách kiểm soát khung"
775
+ },
776
+ "core/audits/clickjacking-mitigation.js | title": {
777
+ "message": "Giảm thiểu các cuộc tấn công clickjacking bằng XFO hoặc CSP"
778
+ },
764
779
  "core/audits/critical-request-chains.js | description": {
765
780
  "message": "Các Chuỗi yêu cầu quan trọng dưới đây cho bạn biết những tài nguyên được tải ở mức độ ưu tiên cao. Hãy cân nhắc giảm độ dài chuỗi, giảm kích thước tài nguyên tải xuống hoặc trì hoãn tải xuống các tài nguyên không cần thiết để cải thiện tốc độ tải trang. [Tìm hiểu cách tránh tạo chuỗi yêu cầu quan trọng](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains/)."
766
781
  },
@@ -1040,6 +1055,9 @@
1040
1055
  "core/audits/image-size-responsive.js | title": {
1041
1056
  "message": "Phân phối hình ảnh có độ phân giải phù hợp"
1042
1057
  },
1058
+ "core/audits/insights/cls-culprits-insight.js | columnScore": {
1059
+ "message": "Điểm số về mức thay đổi bố cục"
1060
+ },
1043
1061
  "core/audits/is-on-https.js | allowed": {
1044
1062
  "message": "Được phép"
1045
1063
  },
@@ -1658,6 +1676,9 @@
1658
1676
  "core/config/default-config.js | firstPaintImprovementsGroupTitle": {
1659
1677
  "message": "Các thao tác để cải thiện thời gian hiển thị hình ảnh đầu tiên"
1660
1678
  },
1679
+ "core/config/default-config.js | insightGroupTitle": {
1680
+ "message": "Thông tin chi tiết"
1681
+ },
1661
1682
  "core/config/default-config.js | metricGroupTitle": {
1662
1683
  "message": "Các chỉ số"
1663
1684
  },
@@ -1721,1013 +1742,1259 @@
1721
1742
  "core/gather/timespan-runner.js | warningNavigationDetected": {
1722
1743
  "message": "Đã phát hiện thao tác điều hướng trang trong quá trình chạy. Bạn không nên sử dụng chế độ khoảng thời gian để kiểm tra các thao tác điều hướng trang. Sử dụng chế độ điều hướng để kiểm tra các thao tác điều hướng trang nhằm cải thiện việc phát hiện luồng chính và thuộc tính của bên thứ ba."
1723
1744
  },
1724
- "core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
1725
- "message": "Chỉ những trang được tải qua yêu cầu GET mới đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1745
+ "core/lib/csp-evaluator.js | allowlistFallback": {
1746
+ "message": "Hãy cân nhắc thêm giao thức URL https: http: (bị các trình duyệt hỗ trợ `'strict-dynamic'` bỏ qua) để đảm bảo khả năng tương thích ngược với những trình duyệt cũ."
1726
1747
  },
1727
- "core/lib/bf-cache-strings.js | HTTPStatusNotOK": {
1728
- "message": "Chỉ những trang trạng thái 2XX mới được lưu vào bộ nhớ đệm."
1748
+ "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
1749
+ "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."
1729
1750
  },
1730
- "core/lib/bf-cache-strings.js | JavaScriptExecution": {
1731
- "message": "Chrome đã phát hiện thấy một lần thử thực thi JavaScript khi đang bộ nhớ đệm."
1751
+ "core/lib/csp-evaluator.js | deprecatedReferrer": {
1752
+ "message": "Kể từ CSP2, `referrer` sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề Referrer-Policy."
1732
1753
  },
1733
- "core/lib/bf-cache-strings.js | appBanner": {
1734
- "message": "Những trang đã yêu cầu AppBanner hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1754
+ "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
1755
+ "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."
1735
1756
  },
1736
- "core/lib/bf-cache-strings.js | backForwardCacheDisabled": {
1737
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do cờ. Hãy truy cập chrome://flags/#back-forward-cache để bật bộ nhớ đó trên thiết bị này."
1757
+ "core/lib/csp-evaluator.js | missingBaseUri": {
1758
+ "message": "Nếu thiếu `base-uri`, hệ thống sẽ cho phép các thẻ `<base>` được chèn đặt URL cơ sở cho mọi URL tương đối (ví dụ: tập lệnh) thành 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'`."
1738
1759
  },
1739
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledByCommandLine": {
1740
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do dòng lệnh."
1760
+ "core/lib/csp-evaluator.js | missingObjectSrc": {
1761
+ "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 có thể."
1741
1762
  },
1742
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledByLowMemory": {
1743
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do thiếu bộ nhớ."
1763
+ "core/lib/csp-evaluator.js | missingScriptSrc": {
1764
+ "message": "Thiếu lệnh `script-src`. Khi không có lệnh này, hệ thống có thể cho phép thực thi các tập lệnh không an toàn."
1744
1765
  },
1745
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledForDelegate": {
1746
- "message": "Trang được uỷ quyền không hỗ trợ bộ nhớ đệm cho thao tác tiến/lùi."
1766
+ "core/lib/csp-evaluator.js | missingSemicolon": {
1767
+ "message": "Bạn quên dấu chấm phẩy ư? {keyword} vẻ giống lệnh hơn từ khóa."
1747
1768
  },
1748
- "core/lib/bf-cache-strings.js | backForwardCacheDisabledForPrerender": {
1749
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt đối với trình kết xuất trước."
1769
+ "core/lib/csp-evaluator.js | nonceCharset": {
1770
+ "message": "Nonces phải dùng bộ tự base64."
1750
1771
  },
1751
- "core/lib/bf-cache-strings.js | broadcastChannel": {
1752
- "message": "Không thể lưu trang này vào bộ nhớ đệm vì trang một thực thể BroadcastChannel chứa các trình nghe đã đăng ký."
1772
+ "core/lib/csp-evaluator.js | nonceLength": {
1773
+ "message": "Nonces phảiđộ dài tối thiểu 8 tự."
1753
1774
  },
1754
- "core/lib/bf-cache-strings.js | cacheControlNoStore": {
1755
- "message": "Những trang tiêu đề cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
1775
+ "core/lib/csp-evaluator.js | plainUrlScheme": {
1776
+ "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."
1756
1777
  },
1757
- "core/lib/bf-cache-strings.js | cacheFlushed": {
1758
- "message": "Bộ nhớ đệm này đã bị xoá một cách chủ đích."
1778
+ "core/lib/csp-evaluator.js | plainWildcards": {
1779
+ "message": "Tránh dùng các ký tự đại diện thuần túy ({keyword}) trong lệnh này. Các 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."
1759
1780
  },
1760
- "core/lib/bf-cache-strings.js | cacheLimit": {
1761
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
1781
+ "core/lib/csp-evaluator.js | reportToOnly": {
1782
+ "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`."
1762
1783
  },
1763
- "core/lib/bf-cache-strings.js | containsPlugins": {
1764
- "message": "Những trang chứa trình bổ trợ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1784
+ "core/lib/csp-evaluator.js | reportingDestinationMissing": {
1785
+ "message": "KhôngCSP 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ố."
1765
1786
  },
1766
- "core/lib/bf-cache-strings.js | contentFileChooser": {
1767
- "message": "Những trang sử dụng API FileChooser không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1787
+ "core/lib/csp-evaluator.js | strictDynamic": {
1788
+ "message": "Danh sách máy chủ lưu trữ được cho phép 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."
1768
1789
  },
1769
- "core/lib/bf-cache-strings.js | contentFileSystemAccess": {
1770
- "message": "Những trang sử dụng API Truy cập hệ thống tệp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1790
+ "core/lib/csp-evaluator.js | unknownDirective": {
1791
+ "message": "Lệnh CSP không xác định."
1771
1792
  },
1772
- "core/lib/bf-cache-strings.js | contentMediaDevicesDispatcherHost": {
1773
- "message": "Những trang sử dụng Trình điều phối thiết bị truyền thông không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1793
+ "core/lib/csp-evaluator.js | unknownKeyword": {
1794
+ "message": " vẻ như {keyword} một từ khóa không hợp lệ."
1774
1795
  },
1775
- "core/lib/bf-cache-strings.js | contentMediaPlay": {
1776
- "message": "Một trình phát đa phương tiện đang phát khi rời khỏi."
1796
+ "core/lib/csp-evaluator.js | unsafeInline": {
1797
+ "message": "`'unsafe-inline'` cho phép thực thi nhiều trình xử sự kiện 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."
1777
1798
  },
1778
- "core/lib/bf-cache-strings.js | contentMediaSession": {
1779
- "message": "Những trang sử dụng API MediaSession đặt một trạng thái phát không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1799
+ "core/lib/csp-evaluator.js | unsafeInlineFallback": {
1800
+ "message": "Hãy cân nhắc thêm `'unsafe-inline'` (bị các trình duyệt hỗ trợ nonces/hashes bỏ qua) để đảm bảo khả năng tương thích ngược với những trình duyệt cũ."
1780
1801
  },
1781
- "core/lib/bf-cache-strings.js | contentMediaSessionService": {
1782
- "message": "Những trang sử dụng API MediaSession đặt các trình xử lý hành động hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1802
+ "core/lib/deprecation-description.js | feature": {
1803
+ "message": "Kiểm tra trang trạng thái của tính năng để biết thêm thông tin."
1783
1804
  },
1784
- "core/lib/bf-cache-strings.js | contentScreenReader": {
1785
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do trình đọc màn hình."
1805
+ "core/lib/deprecation-description.js | milestone": {
1806
+ "message": "Thay đổi này sẽ hiệu lực từ mốc {milestone}."
1786
1807
  },
1787
- "core/lib/bf-cache-strings.js | contentSecurityHandler": {
1788
- "message": "Những trang sử dụng SecurityHandler không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1808
+ "core/lib/deprecation-description.js | title": {
1809
+ "message": "Đang dùng một tính năng không dùng nữa"
1789
1810
  },
1790
- "core/lib/bf-cache-strings.js | contentSerial": {
1791
- "message": "Những trang sử dụng API nối tiếp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1811
+ "core/lib/i18n/i18n.js | columnBlockingTime": {
1812
+ "message": "Thời gian chặn chuỗi chính"
1792
1813
  },
1793
- "core/lib/bf-cache-strings.js | contentWebAuthenticationAPI": {
1794
- "message": "Những trang sử dụng WebAuthentication API không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1814
+ "core/lib/i18n/i18n.js | columnCacheTTL": {
1815
+ "message": "Thời gian tồn tại (TTL) của bộ nhớ đệm"
1795
1816
  },
1796
- "core/lib/bf-cache-strings.js | contentWebBluetooth": {
1797
- "message": "Những trang sử dụng API WebBluetooth không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1817
+ "core/lib/i18n/i18n.js | columnDescription": {
1818
+ "message": "Nội dung tả"
1798
1819
  },
1799
- "core/lib/bf-cache-strings.js | contentWebUSB": {
1800
- "message": "Những trang sử dụng API WebUSB không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1820
+ "core/lib/i18n/i18n.js | columnDuration": {
1821
+ "message": "Thời lượng"
1801
1822
  },
1802
- "core/lib/bf-cache-strings.js | cookieDisabled": {
1803
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các cookie bị tắt trên một trang sử dụng `Cache-Control: no-store`."
1823
+ "core/lib/i18n/i18n.js | columnElement": {
1824
+ "message": "Phần tử"
1804
1825
  },
1805
- "core/lib/bf-cache-strings.js | dedicatedWorkerOrWorklet": {
1806
- "message": "Những trang sử dụng một trình xử lý hoặc worklet riêng hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1826
+ "core/lib/i18n/i18n.js | columnFailingElem": {
1827
+ "message": "Các phần tử không đạt"
1807
1828
  },
1808
- "core/lib/bf-cache-strings.js | documentLoaded": {
1809
- "message": "Tài liệu này chưa tải xong trước khi rời đi."
1829
+ "core/lib/i18n/i18n.js | columnLocation": {
1830
+ "message": "Vị trí"
1810
1831
  },
1811
- "core/lib/bf-cache-strings.js | embedderAppBannerManager": {
1812
- "message": "App Banner xuất hiện trong khi rời đi."
1832
+ "core/lib/i18n/i18n.js | columnName": {
1833
+ "message": "Tên"
1813
1834
  },
1814
- "core/lib/bf-cache-strings.js | embedderChromePasswordManagerClientBindCredentialManager": {
1815
- "message": "Trình quản lý mật khẩu của Chrome xuất hiện trong khi rời đi."
1835
+ "core/lib/i18n/i18n.js | columnRequests": {
1836
+ "message": "Số yêu cầu"
1816
1837
  },
1817
- "core/lib/bf-cache-strings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
1818
- "message": "Quy trình lọc DOM đang diễn ra trong khi rời đi."
1838
+ "core/lib/i18n/i18n.js | columnResourceSize": {
1839
+ "message": "Kích thước tài nguyên"
1819
1840
  },
1820
- "core/lib/bf-cache-strings.js | embedderDomDistillerViewerSource": {
1821
- "message": "DOM Distiller Viewer xuất hiện trong khi rời đi."
1841
+ "core/lib/i18n/i18n.js | columnResourceType": {
1842
+ "message": "Loại tài nguyên"
1822
1843
  },
1823
- "core/lib/bf-cache-strings.js | embedderExtensionMessaging": {
1824
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích sử dụng API nhắn tin."
1844
+ "core/lib/i18n/i18n.js | columnSize": {
1845
+ "message": "Kích thước"
1825
1846
  },
1826
- "core/lib/bf-cache-strings.js | embedderExtensionMessagingForOpenPort": {
1827
- "message": "Các tiện ích có kết nối liên tục phải ngắt kết nối trước khi chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
1847
+ "core/lib/i18n/i18n.js | columnSource": {
1848
+ "message": "Nguồn"
1828
1849
  },
1829
- "core/lib/bf-cache-strings.js | embedderExtensionSentMessageToCachedFrame": {
1830
- "message": "Các tiện ích có kết nối liên tục đã cố gắng gửi thông báo đến các khung trong bộ nhớ đệm cho thao tác tiến/lùi."
1850
+ "core/lib/i18n/i18n.js | columnStartTime": {
1851
+ "message": "Thời gian bắt đầu"
1831
1852
  },
1832
- "core/lib/bf-cache-strings.js | embedderExtensions": {
1833
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích."
1853
+ "core/lib/i18n/i18n.js | columnTimeSpent": {
1854
+ "message": "Thời gian sử dụng"
1834
1855
  },
1835
- "core/lib/bf-cache-strings.js | embedderModalDialog": {
1836
- "message": "Hộp thoại phương thức (chẳng hạn như gửi lại biểu mẫu) hoặc hộp thoại mật khẩu http xuất hiện trên trang trong khi rời đi."
1856
+ "core/lib/i18n/i18n.js | columnTransferSize": {
1857
+ "message": "Kích thước cần chuyển"
1837
1858
  },
1838
- "core/lib/bf-cache-strings.js | embedderOfflinePage": {
1839
- "message": "Trang ngoại tuyến xuất hiện trong khi rời đi."
1859
+ "core/lib/i18n/i18n.js | columnURL": {
1860
+ "message": "URL"
1840
1861
  },
1841
- "core/lib/bf-cache-strings.js | embedderOomInterventionTabHelper": {
1842
- "message": "Thanh Out-Of-Memory Intervention xuất hiện trong khi rời đi."
1862
+ "core/lib/i18n/i18n.js | columnWastedBytes": {
1863
+ "message": "Lượng dữ liệu thể tiết kiệm được"
1843
1864
  },
1844
- "core/lib/bf-cache-strings.js | embedderPermissionRequestManager": {
1845
- "message": " yêu cầu cấp quyền trong khi rời đi."
1865
+ "core/lib/i18n/i18n.js | columnWastedMs": {
1866
+ "message": "Thời gian thể tiết kiệm được"
1846
1867
  },
1847
- "core/lib/bf-cache-strings.js | embedderPopupBlockerTabHelper": {
1848
- "message": "Trình chặn cửa sổ bật lên xuất hiện trong khi rời đi."
1868
+ "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
1869
+ "message": "Cumulative Layout Shift"
1849
1870
  },
1850
- "core/lib/bf-cache-strings.js | embedderSafeBrowsingThreatDetails": {
1851
- "message": "Thông tin chi tiết về công cụ Duyệt web an toàn xuất hiện trong khi rời đi."
1871
+ "core/lib/i18n/i18n.js | displayValueByteSavings": {
1872
+ "message": "Lượng dữ liệu thể tiết kiệm được {wastedBytes, number, bytes} KiB"
1852
1873
  },
1853
- "core/lib/bf-cache-strings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
1854
- "message": "Công cụ Duyệt web an toàn coi trang này là một cửa sổ bật lên sai mục đích và bị chặn."
1874
+ "core/lib/i18n/i18n.js | displayValueElementsFound": {
1875
+ "message": "{nodeCount,plural, =1{Tìm thấy 1 phần tử}other{Tìm thấy # phần tử}}"
1855
1876
  },
1856
- "core/lib/bf-cache-strings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
1857
- "message": "Một trình chạy dịch vụ đã được kích hoạt khi trang này đang ở bộ nhớ đệm cho thao tác tiến/lùi."
1877
+ "core/lib/i18n/i18n.js | displayValueMsSavings": {
1878
+ "message": "Thời gian thể tiết kiệm được {wastedMs, number, milliseconds} mili giây"
1858
1879
  },
1859
- "core/lib/bf-cache-strings.js | errorDocument": {
1860
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do lỗi tài liệu."
1880
+ "core/lib/i18n/i18n.js | documentResourceType": {
1881
+ "message": "Tài liệu"
1861
1882
  },
1862
- "core/lib/bf-cache-strings.js | fencedFramesEmbedder": {
1863
- "message": "Không lưu trữ được trang dùng FencedFrames vào bfcache."
1883
+ "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
1884
+ "message": "First Contentful Paint"
1864
1885
  },
1865
- "core/lib/bf-cache-strings.js | foregroundCacheLimit": {
1866
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
1886
+ "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
1887
+ "message": "Hình ảnh ý nghĩa đầu tiên"
1867
1888
  },
1868
- "core/lib/bf-cache-strings.js | grantedMediaStreamAccess": {
1869
- "message": "Những trang đã cấp quyền truy cập luồng đa phương tiện hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1889
+ "core/lib/i18n/i18n.js | fontResourceType": {
1890
+ "message": "Phông chữ"
1870
1891
  },
1871
- "core/lib/bf-cache-strings.js | haveInnerContents": {
1872
- "message": "Những trang sử dụng cổng thông tin hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1892
+ "core/lib/i18n/i18n.js | imageResourceType": {
1893
+ "message": "Hình ảnh"
1873
1894
  },
1874
- "core/lib/bf-cache-strings.js | idleManager": {
1875
- "message": "Những trang sử dụng IdleManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1895
+ "core/lib/i18n/i18n.js | interactionToNextPaint": {
1896
+ "message": "Interaction to Next Paint"
1876
1897
  },
1877
- "core/lib/bf-cache-strings.js | indexedDBConnection": {
1878
- "message": "Những trang có kết nối IndexedDB mở hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1898
+ "core/lib/i18n/i18n.js | interactiveMetric": {
1899
+ "message": "Time to Interactive"
1879
1900
  },
1880
- "core/lib/bf-cache-strings.js | indexedDBEvent": {
1881
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do sự kiện IndexedDB."
1901
+ "core/lib/i18n/i18n.js | itemSeverityHigh": {
1902
+ "message": "Cao"
1882
1903
  },
1883
- "core/lib/bf-cache-strings.js | ineligibleAPI": {
1884
- "message": "Các API được sử dụng không đủ điều kiện."
1904
+ "core/lib/i18n/i18n.js | itemSeverityLow": {
1905
+ "message": "Thấp"
1885
1906
  },
1886
- "core/lib/bf-cache-strings.js | injectedJavascript": {
1887
- "message": "Các trang có `JavaScript` do tiện ích chèn vào hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1907
+ "core/lib/i18n/i18n.js | itemSeverityMedium": {
1908
+ "message": "Trung bình"
1888
1909
  },
1889
- "core/lib/bf-cache-strings.js | injectedStyleSheet": {
1890
- "message": "Các trang có `StyleSheet` do tiện ích chèn vào hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1910
+ "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
1911
+ "message": "Largest Contentful Paint"
1891
1912
  },
1892
- "core/lib/bf-cache-strings.js | internalError": {
1893
- "message": "Lỗi nội bộ."
1913
+ "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
1914
+ "message": "Thời gian phản hồi lần tương tác đầu tiên tối đa có thể"
1894
1915
  },
1895
- "core/lib/bf-cache-strings.js | keepaliveRequest": {
1896
- "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do có yêu cầu duy trì hoạt động."
1916
+ "core/lib/i18n/i18n.js | mediaResourceType": {
1917
+ "message": "Nội dung nghe nhìn"
1897
1918
  },
1898
- "core/lib/bf-cache-strings.js | keyboardLock": {
1899
- "message": "Những trang sử dụng tính năng Khoá bàn phím hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1919
+ "core/lib/i18n/i18n.js | ms": {
1920
+ "message": "{timeInMs, number, milliseconds} mili giây"
1900
1921
  },
1901
- "core/lib/bf-cache-strings.js | loading": {
1902
- "message": "Trang này chưa tải xong trước khi rời khỏi."
1922
+ "core/lib/i18n/i18n.js | otherResourceType": {
1923
+ "message": "Khác"
1903
1924
  },
1904
- "core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoCache": {
1905
- "message": "Những trang có tài nguyên chính chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
1925
+ "core/lib/i18n/i18n.js | otherResourcesLabel": {
1926
+ "message": "Tài nguyên khác"
1906
1927
  },
1907
- "core/lib/bf-cache-strings.js | mainResourceHasCacheControlNoStore": {
1908
- "message": "Những trang có tài nguyên chính chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
1928
+ "core/lib/i18n/i18n.js | scriptResourceType": {
1929
+ "message": "Tập lệnh"
1909
1930
  },
1910
- "core/lib/bf-cache-strings.js | navigationCancelledWhileRestoring": {
1911
- "message": "Thao tác di chuyển đã bị huỷ trước khi có thể khôi phục trang từ bộ nhớ đệm cho thao tác tiến/lùi."
1931
+ "core/lib/i18n/i18n.js | seconds": {
1932
+ "message": "{timeInMs, number, seconds} giây"
1912
1933
  },
1913
- "core/lib/bf-cache-strings.js | networkExceedsBufferLimit": {
1914
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm vì một kết nối mạng đang hoạt động đã nhận quá nhiều dữ liệu. Chrome giới hạn lượng dữ liệu mà một trang có thể nhận trong khi được lưu vào bộ nhớ đệm."
1934
+ "core/lib/i18n/i18n.js | speedIndexMetric": {
1935
+ "message": "Speed Index"
1915
1936
  },
1916
- "core/lib/bf-cache-strings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
1917
- "message": "Những trang có tính năng tìm nạp() hoặc XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1937
+ "core/lib/i18n/i18n.js | stylesheetResourceType": {
1938
+ "message": "Biểu định kiểu"
1918
1939
  },
1919
- "core/lib/bf-cache-strings.js | networkRequestRedirected": {
1920
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi vì một yêu cầu mạng đang hoạt động đã dẫn đến lệnh chuyển hướng."
1940
+ "core/lib/i18n/i18n.js | thirdPartyResourceType": {
1941
+ "message": "Bên thứ ba"
1921
1942
  },
1922
- "core/lib/bf-cache-strings.js | networkRequestTimeout": {
1923
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm vì một kết nối mạng ở trạng thái mở quá lâu. Chrome giới hạn khoảng thời gian mà một trang có thể nhận dữ liệu trong khi được lưu vào bộ nhớ đệm."
1943
+ "core/lib/i18n/i18n.js | total": {
1944
+ "message": "Tổng"
1924
1945
  },
1925
- "core/lib/bf-cache-strings.js | noResponseHead": {
1926
- "message": "Những trang không có tiêu đề phản hồi hợp lệ không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
1946
+ "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
1947
+ "message": "Total Blocking Time"
1927
1948
  },
1928
- "core/lib/bf-cache-strings.js | notMainFrame": {
1929
- "message": "Thao tác di chuyển đã diễn ra trong một khung không phải khung chính."
1949
+ "core/lib/i18n/i18n.js | totalResourceType": {
1950
+ "message": "Tổng"
1930
1951
  },
1931
- "core/lib/bf-cache-strings.js | outstandingIndexedDBTransaction": {
1932
- "message": "Trang các giao dịch đang diễn ra trên sở dữ liệu đã lập chỉ mục hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1952
+ "core/lib/lh-error.js | badTraceRecording": {
1953
+ "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})"
1933
1954
  },
1934
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestDirectSocket": {
1935
- "message": "Những trang yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1955
+ "core/lib/lh-error.js | criTimeout": {
1956
+ "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."
1936
1957
  },
1937
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestFetch": {
1938
- "message": "Những trang một yêu cầu mạng tìm nạp đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1958
+ "core/lib/lh-error.js | didntCollectScreenshots": {
1959
+ "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 nội dung hiển thị, sau đó thử chạy lại Lighthouse. ({errorCode})"
1939
1960
  },
1940
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestOthers": {
1941
- "message": "Những trang yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1961
+ "core/lib/lh-error.js | dnsFailure": {
1962
+ "message": "Máy chủ DNS không thể phân giải miền đã cung cấp."
1942
1963
  },
1943
- "core/lib/bf-cache-strings.js | outstandingNetworkRequestXHR": {
1944
- "message": "Những trang một yêu cầu mạng XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1964
+ "core/lib/lh-error.js | erroredRequiredArtifact": {
1965
+ "message": "Trình thu thập {artifactName} bắt buộc đã gặp lỗi: {errorMessage}"
1945
1966
  },
1946
- "core/lib/bf-cache-strings.js | paymentManager": {
1947
- "message": "Những trang sử dụng PaymentManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1967
+ "core/lib/lh-error.js | internalChromeError": {
1968
+ "message": "Đã xảy ra lỗi Chrome nội bộ. Vui lòng khởi động lại Chrome thử chạy lại Lighthouse."
1948
1969
  },
1949
- "core/lib/bf-cache-strings.js | pictureInPicture": {
1950
- "message": "Những trang sử dụng tính năng Hình trong hình hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1970
+ "core/lib/lh-error.js | missingRequiredArtifact": {
1971
+ "message": "Trình thu thập {artifactName} bắt buộc không chạy."
1951
1972
  },
1952
- "core/lib/bf-cache-strings.js | printing": {
1953
- "message": "Những trang hiển thị Giao diện người dùng cho thao tác in hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1973
+ "core/lib/lh-error.js | noFcp": {
1974
+ "message": "Trang này chưa 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})"
1954
1975
  },
1955
- "core/lib/bf-cache-strings.js | relatedActiveContentsExist": {
1956
- "message": "Trang này đã được mở bằng \"`window.open()`\" một thẻ khác tham chiếu đến thành phần đó, hoặc trang này đã mở một cửa sổ."
1976
+ "core/lib/lh-error.js | noLcp": {
1977
+ "message": "Trang không hiển thị nội dung đủ điều kiện Thời gian hiển thị nội dung lớn nhất (LCP). Hãy đảm bảo trang thành phần LCP hợp lệ rồi thử lại. ({errorCode})"
1957
1978
  },
1958
- "core/lib/bf-cache-strings.js | rendererProcessCrashed": {
1959
- "message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã gặp sự cố."
1979
+ "core/lib/lh-error.js | notHtml": {
1980
+ "message": "Trang đã cung cấp không phải HTML (được phân phối dạng loại MIME {mimeType})."
1960
1981
  },
1961
- "core/lib/bf-cache-strings.js | rendererProcessKilled": {
1962
- "message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt."
1982
+ "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
1983
+ "message": "Phiên bản Chrome này đã quá 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 đủ."
1963
1984
  },
1964
- "core/lib/bf-cache-strings.js | requestedAudioCapturePermission": {
1965
- "message": "Những trang đã yêu cầu quyền ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1985
+ "core/lib/lh-error.js | pageLoadFailed": {
1986
+ "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."
1966
1987
  },
1967
- "core/lib/bf-cache-strings.js | requestedBackForwardCacheBlockedSensors": {
1968
- "message": "Những trang đã yêu cầu quyền truy cập cảm biến hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1988
+ "core/lib/lh-error.js | pageLoadFailedHung": {
1989
+ "message": "Lighthouse không thể tải URL bạn yêu cầu một cách đáng tin cậy trang này đã ngừng phản hồi."
1969
1990
  },
1970
- "core/lib/bf-cache-strings.js | requestedBackgroundWorkPermission": {
1971
- "message": "Những trang đã yêu cầu quyền tìm nạp hoặc đồng bộ hoá dưới nền hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1991
+ "core/lib/lh-error.js | pageLoadFailedInsecure": {
1992
+ "message": "URL bạn cung cấp không chứng chỉ bảo mật hợp lệ. {securityMessages}"
1972
1993
  },
1973
- "core/lib/bf-cache-strings.js | requestedMIDIPermission": {
1974
- "message": "Những trang đã yêu cầu quyền MIDI hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1994
+ "core/lib/lh-error.js | pageLoadFailedInterstitial": {
1995
+ "message": "Chrome đã ngăn tải trang quảng cáo xen kẽ. Hãy đảm bảo bạn đang kiểm tra URL chính xác máy chủ đang phản hồi tất cả các yêu cầu đúng cách."
1975
1996
  },
1976
- "core/lib/bf-cache-strings.js | requestedNotificationsPermission": {
1977
- "message": "Những trang đã yêu cầu quyền gửi thông báo hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
1997
+ "core/lib/lh-error.js | pageLoadFailedWithDetails": {
1998
+ "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 máy chủ đang phản hồi tất cả các yêu cầu đúng cách. (Chi tiết: {errorDetails})"
1978
1999
  },
1979
- "core/lib/bf-cache-strings.js | requestedStorageAccessGrant": {
1980
- "message": "Những trang đã yêu cầu quyền truy cập bộ nhớ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2000
+ "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2001
+ "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 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})"
1981
2002
  },
1982
- "core/lib/bf-cache-strings.js | requestedVideoCapturePermission": {
1983
- "message": "Những trang đã yêu cầu quyền quay video hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2003
+ "core/lib/lh-error.js | pageLoadTookTooLong": {
2004
+ "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})"
1984
2005
  },
1985
- "core/lib/bf-cache-strings.js | schemeNotHTTPOrHTTPS": {
1986
- "message": "Chỉ những trang lược đồ URL HTTP/HTTPS mới được lưu vào bộ nhớ đệm."
2006
+ "core/lib/lh-error.js | protocolTimeout": {
2007
+ "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})"
1987
2008
  },
1988
- "core/lib/bf-cache-strings.js | serviceWorkerClaim": {
1989
- "message": "Trang này đã được một trình chạy dịch vụ xác nhận khi đang bộ nhớ đệm cho thao tác tiến/lùi."
2009
+ "core/lib/lh-error.js | requestContentTimeout": {
2010
+ "message": "Quá trình tìm nạp nội dung tài nguyên đã vượt quá thời gian phân bổ"
1990
2011
  },
1991
- "core/lib/bf-cache-strings.js | serviceWorkerPostMessage": {
1992
- "message": "Một trình chạy dịch vụ đã cố gửi một `MessageEvent` cho trang trong bộ nhớ đệm cho thao tác tiến/lùi."
2012
+ "core/lib/lh-error.js | targetCrashed": {
2013
+ "message": "Thẻ trình duyệt đã gặp sự cố bất ngờ."
1993
2014
  },
1994
- "core/lib/bf-cache-strings.js | serviceWorkerUnregistration": {
1995
- "message": "ServiceWorker đã bị huỷ đăng khi một trang đang ở bộ nhớ đệm cho thao tác tiến/lùi."
2015
+ "core/lib/lh-error.js | urlInvalid": {
2016
+ "message": "URL bạn cung cấp vẻ không hợp lệ."
1996
2017
  },
1997
- "core/lib/bf-cache-strings.js | serviceWorkerVersionActivation": {
1998
- "message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi do việc kích hoạt một trình chạy dịch vụ."
2018
+ "core/lib/navigation-error.js | warningStatusCode": {
2019
+ "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 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: {errorCode})"
1999
2020
  },
2000
- "core/lib/bf-cache-strings.js | sessionRestored": {
2001
- "message": "Chrome đã khởi động lại xoá các mục trong bộ nhớ đệm cho thao tác tiến/lùi."
2021
+ "core/lib/navigation-error.js | warningXhtml": {
2022
+ "message": "Loại MIME của trang XHTML: Lighthouse không hỗ trợ ràng loại tài liệu này"
2002
2023
  },
2003
- "core/lib/bf-cache-strings.js | sharedWorker": {
2004
- "message": "Những trang sử dụng SharedWorker hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2024
+ "core/user-flow.js | defaultFlowName": {
2025
+ "message": "Luồng người dùng ({url})"
2005
2026
  },
2006
- "core/lib/bf-cache-strings.js | speechRecognizer": {
2007
- "message": "Những trang sử dụng SpeechRecognizer hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2027
+ "core/user-flow.js | defaultNavigationName": {
2028
+ "message": "Báo cáo di chuyển trên trang ({url})"
2008
2029
  },
2009
- "core/lib/bf-cache-strings.js | speechSynthesis": {
2010
- "message": "Những trang sử dụng SpeechSynthesis hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2030
+ "core/user-flow.js | defaultSnapshotName": {
2031
+ "message": "Báo cáo ảnh chụp nhanh ({url})"
2011
2032
  },
2012
- "core/lib/bf-cache-strings.js | subframeIsNavigating": {
2013
- "message": "Một iframe trên trang này đã bắt đầu một thao tác di chuyển chưa hoàn tất."
2033
+ "core/user-flow.js | defaultTimespanName": {
2034
+ "message": "Báo cáo khoảng thời gian ({url})"
2014
2035
  },
2015
- "core/lib/bf-cache-strings.js | subresourceHasCacheControlNoCache": {
2016
- "message": "Những trang tài nguyên phụ chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2036
+ "flow-report/src/i18n/ui-strings.js | allReports": {
2037
+ "message": "Tất cả báo cáo"
2017
2038
  },
2018
- "core/lib/bf-cache-strings.js | subresourceHasCacheControlNoStore": {
2019
- "message": "Những trang có tài nguyên phụ chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2039
+ "flow-report/src/i18n/ui-strings.js | categories": {
2040
+ "message": "Danh mục"
2020
2041
  },
2021
- "core/lib/bf-cache-strings.js | timeout": {
2022
- "message": "Trang này đã vượt quá thời gian tối đa trong bộ nhớ đệm cho thao tác tiến/lùi và đã hết hạn."
2042
+ "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
2043
+ "message": "Hỗ trợ tiếp cận"
2023
2044
  },
2024
- "core/lib/bf-cache-strings.js | timeoutPuttingInCache": {
2025
- "message": "Trang này đã hết thời gian chờ chuyển sang bộ nhớ đệm cho thao tác tiến/lùi (khả năng là do các trình xử lý ẩn trang chạy trong thời gian dài)."
2045
+ "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
2046
+ "message": "Phương pháp hay nhất"
2026
2047
  },
2027
- "core/lib/bf-cache-strings.js | unloadHandlerExistsInMainFrame": {
2028
- "message": "Trang này có một trình xử lý huỷ tải trong khung chính."
2048
+ "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2049
+ "message": "Hiệu suất"
2029
2050
  },
2030
- "core/lib/bf-cache-strings.js | unloadHandlerExistsInSubFrame": {
2031
- "message": "Trang này có một trình xử lý huỷ tải trong khung phụ."
2051
+ "flow-report/src/i18n/ui-strings.js | categorySeo": {
2052
+ "message": "SEO"
2032
2053
  },
2033
- "core/lib/bf-cache-strings.js | userAgentOverrideDiffers": {
2034
- "message": "Trình duyệt đã thay đổi tiêu đề ghi đè tác nhân người dùng."
2054
+ "flow-report/src/i18n/ui-strings.js | desktop": {
2055
+ "message": "Máy tính"
2035
2056
  },
2036
- "core/lib/bf-cache-strings.js | wasGrantedMediaAccess": {
2037
- "message": "Những trang đã cấp quyền quay video hoặc ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2057
+ "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
2058
+ "message": "Tìm hiểu về Báo cáo luồng Lighthouse"
2038
2059
  },
2039
- "core/lib/bf-cache-strings.js | webDatabase": {
2040
- "message": "Những trang sử dụng WebDatabase hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2060
+ "flow-report/src/i18n/ui-strings.js | helpLabel": {
2061
+ "message": "Tìm hiểu về Luồng"
2041
2062
  },
2042
- "core/lib/bf-cache-strings.js | webHID": {
2043
- "message": "Những trang sử dụng WebHID hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2063
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
2064
+ "message": "Sử dụng chế độ Báo cáo di chuyển để…"
2044
2065
  },
2045
- "core/lib/bf-cache-strings.js | webLocks": {
2046
- "message": "Những trang sử dụng WebLocks hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2066
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
2067
+ "message": "Sử dụng chế độ Báo cáo ảnh chụp nhanh để..."
2047
2068
  },
2048
- "core/lib/bf-cache-strings.js | webNfc": {
2049
- "message": "Những trang sử dụng WebNfc hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2069
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
2070
+ "message": "Sử dụng chế độ Báo cáo khoảng thời gian để..."
2050
2071
  },
2051
- "core/lib/bf-cache-strings.js | webOTPService": {
2052
- "message": "Những trang sử dụng WebOTPService hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2072
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
2073
+ "message": "Đạt được điểm Hiệu suất Lighthouse."
2053
2074
  },
2054
- "core/lib/bf-cache-strings.js | webRTC": {
2055
- "message": "Những trang WebRTC không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2075
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
2076
+ "message": "Đo lường các chỉ số về Hiệu suất tải trang, chẳng hạn như Thời gian hiển thị nội dung lớn nhất Chỉ số tốc độ."
2056
2077
  },
2057
- "core/lib/bf-cache-strings.js | webShare": {
2058
- "message": "Những trang sử dụng WebShare hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2078
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
2079
+ "message": "Đánh giá các chức năng của Ứng dụng web tiến bộ."
2059
2080
  },
2060
- "core/lib/bf-cache-strings.js | webSocket": {
2061
- "message": "Những trang WebSocket không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2081
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
2082
+ "message": "Tìm các vấn đề về khả năng hỗ trợ tiếp cận trong các ứng dụng trang đơn hoặc các biểu mẫu phức tạp."
2062
2083
  },
2063
- "core/lib/bf-cache-strings.js | webTransport": {
2064
- "message": "Những trang WebTransport không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2084
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
2085
+ "message": "Đánh giá các phương pháp hay nhất về trình đơn các thành phần trên giao diện người dùng ẩn phía sau sự tương tác."
2065
2086
  },
2066
- "core/lib/bf-cache-strings.js | webXR": {
2067
- "message": "Những trang sử dụng WebXR hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2087
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
2088
+ "message": "Đo lường mức thay đổi bố cục thời gian thực thi JavaScript trên một chuỗi các tương tác."
2068
2089
  },
2069
- "core/lib/csp-evaluator.js | allowlistFallback": {
2070
- "message": "Hãy cân nhắc thêm giao thức URL https: http: (bị các trình duyệt hỗ trợ `'strict-dynamic'` bỏ qua) để đảm bảo khả năng tương thích ngược với những trình duyệt cũ."
2090
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
2091
+ "message": "Khám phá các hội về hiệu suất để cải thiện trải nghiệm cho những trang tồn tại lâu dài các ứng dụng trang đơn."
2071
2092
  },
2072
- "core/lib/csp-evaluator.js | deprecatedDisownOpener": {
2073
- "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."
2093
+ "flow-report/src/i18n/ui-strings.js | highestImpact": {
2094
+ "message": "Tác động lớn nhất"
2074
2095
  },
2075
- "core/lib/csp-evaluator.js | deprecatedReferrer": {
2076
- "message": "Kể từ CSP2, `referrer` sẽ không được dùng nữa. Vui lòng sử dụng tiêu đề Referrer-Policy."
2096
+ "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
2097
+ "message": "{numInformative,plural, =1{{numInformative} quá trình kiểm tra cung cấp nhiều thông tin}other{{numInformative} quá trình kiểm tra cung cấp nhiều thông tin}}"
2077
2098
  },
2078
- "core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
2079
- "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."
2099
+ "flow-report/src/i18n/ui-strings.js | mobile": {
2100
+ "message": "Di động"
2080
2101
  },
2081
- "core/lib/csp-evaluator.js | missingBaseUri": {
2082
- "message": "Nếu thiếu `base-uri`, hệ thống sẽ cho phép các thẻ `<base>` được chèn đặt URL cơ sở cho mọi URL tương đối (ví dụ: tập lệnh) thành 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'`."
2102
+ "flow-report/src/i18n/ui-strings.js | navigationDescription": {
2103
+ "message": "Tải trang"
2083
2104
  },
2084
- "core/lib/csp-evaluator.js | missingObjectSrc": {
2085
- "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 có thể."
2105
+ "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
2106
+ "message": "Báo cáo di chuyển phân tích một lượt tải trang, giống hệt như các báo cáo Lighthouse gốc."
2086
2107
  },
2087
- "core/lib/csp-evaluator.js | missingScriptSrc": {
2088
- "message": "Thiếu lệnh `script-src`. Khi không có lệnh này, hệ thống có thể cho phép thực thi các tập lệnh không an toàn."
2108
+ "flow-report/src/i18n/ui-strings.js | navigationReport": {
2109
+ "message": "Báo cáo di chuyển trên trang"
2089
2110
  },
2090
- "core/lib/csp-evaluator.js | missingSemicolon": {
2091
- "message": "Bạn quên dấu chấm phẩy ư? {keyword} vẻ giống lệnh hơn là từ khóa."
2111
+ "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
2112
+ "message": "{numNavigation,plural, =1{{numNavigation} báo cáo điều hướng}other{{numNavigation} báo cáo điều hướng}}"
2092
2113
  },
2093
- "core/lib/csp-evaluator.js | nonceCharset": {
2094
- "message": "Nonces phải dùng bộ tự base64."
2114
+ "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
2115
+ "message": "{numPassableAudits,plural, =1{{numPassableAudits} quá trình kiểm tra đạt đủ điều kiện}other{{numPassableAudits} quá trình kiểm tra đạt đủ điều kiện}}"
2095
2116
  },
2096
- "core/lib/csp-evaluator.js | nonceLength": {
2097
- "message": "Nonces phải độ dài tối thiểu 8 tự."
2117
+ "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
2118
+ "message": "{numPassed,plural, =1{{numPassed} quá trình kiểm tra đã đạt}other{{numPassed} quá trình kiểm tra đã đạt}}"
2098
2119
  },
2099
- "core/lib/csp-evaluator.js | plainUrlScheme": {
2100
- "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."
2120
+ "flow-report/src/i18n/ui-strings.js | ratingAverage": {
2121
+ "message": "Trung bình"
2101
2122
  },
2102
- "core/lib/csp-evaluator.js | plainWildcards": {
2103
- "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."
2123
+ "flow-report/src/i18n/ui-strings.js | ratingError": {
2124
+ "message": "Lỗi"
2104
2125
  },
2105
- "core/lib/csp-evaluator.js | reportToOnly": {
2106
- "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`."
2126
+ "flow-report/src/i18n/ui-strings.js | ratingFail": {
2127
+ "message": "Kém"
2107
2128
  },
2108
- "core/lib/csp-evaluator.js | reportingDestinationMissing": {
2109
- "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ố."
2129
+ "flow-report/src/i18n/ui-strings.js | ratingPass": {
2130
+ "message": "Tốt"
2110
2131
  },
2111
- "core/lib/csp-evaluator.js | strictDynamic": {
2112
- "message": "Danh sách máy chủ lưu trữ được 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."
2132
+ "flow-report/src/i18n/ui-strings.js | save": {
2133
+ "message": "Lưu"
2113
2134
  },
2114
- "core/lib/csp-evaluator.js | unknownDirective": {
2115
- "message": "Lệnh CSP không xác định."
2135
+ "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
2136
+ "message": "Trạng thái đã chụp của trang"
2116
2137
  },
2117
- "core/lib/csp-evaluator.js | unknownKeyword": {
2118
- "message": " vẻ như {keyword} một từ khóa không hợp lệ."
2138
+ "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
2139
+ "message": "Báo cáo ảnh chụp nhanh phân tích trang ở một trạng thái cụ thể, thường là sau khi người dùng tương tác."
2119
2140
  },
2120
- "core/lib/csp-evaluator.js | unsafeInline": {
2121
- "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."
2141
+ "flow-report/src/i18n/ui-strings.js | snapshotReport": {
2142
+ "message": "Báo cáo tổng quan"
2122
2143
  },
2123
- "core/lib/csp-evaluator.js | unsafeInlineFallback": {
2124
- "message": "Hãy cân nhắc thêm `'unsafe-inline'` (bị các trình duyệt hỗ trợ nonces/hashes bỏ qua) để đảm bảo khả năng tương thích ngược với những trình duyệt cũ."
2144
+ "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
2145
+ "message": "{numSnapshot,plural, =1{{numSnapshot} báo cáo tổng quan nhanh}other{{numSnapshot} báo cáo tổng quan nhanh}}"
2125
2146
  },
2126
- "core/lib/deprecation-description.js | feature": {
2127
- "message": "Kiểm tra trang trạng thái của tính năng để biết thêm thông tin."
2147
+ "flow-report/src/i18n/ui-strings.js | summary": {
2148
+ "message": "Tóm tắt"
2128
2149
  },
2129
- "core/lib/deprecation-description.js | milestone": {
2130
- "message": "Thay đổi này sẽ hiệu lực từ mốc {milestone}."
2150
+ "flow-report/src/i18n/ui-strings.js | timespanDescription": {
2151
+ "message": "Sự tương tác của người dùng"
2131
2152
  },
2132
- "core/lib/deprecation-description.js | title": {
2133
- "message": "Đang dùng một tính năng không dùng nữa"
2153
+ "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
2154
+ "message": "Báo cáo khoảng thời gian phân tích một khoảng thời gian bất kỳ, thường chứa các tương tác của người dùng."
2134
2155
  },
2135
- "core/lib/deprecations-strings.js | AuthorizationCoveredByWildcard": {
2136
- "message": " tự đại diện (*) sẽ không bao gồm việc uỷ quyền khi xử lý `Access-Control-Allow-Headers` CORS."
2156
+ "flow-report/src/i18n/ui-strings.js | timespanReport": {
2157
+ "message": "Báo cáo khoảng thời gian"
2137
2158
  },
2138
- "core/lib/deprecations-strings.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2139
- "message": "Nên sử dụng thuộc tính `disableRemotePlayback`nhằm tắt chế độ tích hợp Truyền mặc định thay vì sử dụng bộ chọn `-internal-media-controls-overlay-cast-button`."
2159
+ "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
2160
+ "message": "{numTimespan,plural, =1{{numTimespan} báo cáo khoảng thời gian}other{{numTimespan} báo cáo khoảng thời gian}}"
2161
+ },
2162
+ "flow-report/src/i18n/ui-strings.js | title": {
2163
+ "message": "Báo cáo luồng người dùng Lighthouse"
2164
+ },
2165
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | AuthorizationCoveredByWildcard": {
2166
+ "message": "Ký tự đại diện (*) sẽ không bao gồm việc uỷ quyền khi xử lýAccess-Control-Allow-Headers CORS."
2167
+ },
2168
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2169
+ "message": "Nền sử dụng thuộc tính disableRemotePlaybacknhằm tắt chế độ tích hợp Truyền mặc định thay vì sử dụng bộ chọn -internal-media-controls-overlay-cast-button."
2170
+ },
2171
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CSSValueAppearanceSliderVertical": {
2172
+ "message": "Giá trị của giao diện CSS slider-vertical không được chuẩn hoá và sẽ bị xoá."
2140
2173
  },
2141
- "core/lib/deprecations-strings.js | CanRequestURLHTTPContainingNewline": {
2142
- "message": "Các yêu cầu tài nguyên có URL chứa cả ký tự `(n|r|t)` khoảng trắng đã bị xoá và ký tự nhỏ hơn (`<`) sẽ bị chặn. Vui lòng xoá các dòng mới và mã hoá ký tự nhỏ hơn khỏi các vị trí như giá trị thuộc tính phần tử để tải những tài nguyên như vậy."
2174
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CanRequestURLHTTPContainingNewline": {
2175
+ "message": "Các yêu cầu tài nguyên có URL chứa cả ký tự \\(n|r|t) khoảng trắng đã bị xoá và ký tự nhỏ hơn (<) sẽ bị chặn. Vui lòng xoá các dòng mới và mã hoá ký tự nhỏ hơn khỏi các vị trí như giá trị thuộc tính phần tử để tải những tài nguyên như vậy."
2143
2176
  },
2144
- "core/lib/deprecations-strings.js | ChromeLoadTimesConnectionInfo": {
2145
- "message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Navigation Timing 2."
2177
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesConnectionInfo": {
2178
+ "message": "chrome.loadTimes() không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Navigation Timing 2."
2146
2179
  },
2147
- "core/lib/deprecations-strings.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
2148
- "message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Paint Timing."
2180
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesFirstPaintAfterLoadTime": {
2181
+ "message": "chrome.loadTimes() không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: Paint Timing."
2149
2182
  },
2150
- "core/lib/deprecations-strings.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
2151
- "message": "`chrome.loadTimes()` không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: `nextHopProtocol` trong Navigation Timing 2."
2183
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ChromeLoadTimesWasAlternateProtocolAvailable": {
2184
+ "message": "chrome.loadTimes() không được dùng nữa; thay vào đó, hãy sử dụng API đã chuẩn hoá: nextHopProtocol trong Navigation Timing 2."
2152
2185
  },
2153
- "core/lib/deprecations-strings.js | CookieWithTruncatingChar": {
2154
- "message": "Cookie có chứa ký tự `(0|r|n)` sẽ bị từ chối thay vì cắt bớt."
2186
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CookieWithTruncatingChar": {
2187
+ "message": "Cookie có chứa ký tự \\(0|r|n) sẽ bị từ chối thay vì cắt bớt."
2155
2188
  },
2156
- "core/lib/deprecations-strings.js | CrossOriginAccessBasedOnDocumentDomain": {
2157
- "message": "Hệ thống không còn thiết lập `document.domain` để nới lỏng chính sách cùng nguồn gốc nữa và tính năng này sẽ bị tắt theo mặc định. Cảnh bảo về việc không dùng nữa này là dành cho quyền truy cập nhiều nguồn gốc đã được bật bằng cách thiết lập `document.domain`."
2189
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginAccessBasedOnDocumentDomain": {
2190
+ "message": "Hệ thống không còn thiết lập document.domain để nới lỏng chính sách cùng nguồn gốc nữa và tính năng này sẽ bị tắt theo mặc định. Cảnh bảo về việc không dùng nữa này là dành cho quyền truy cập nhiều nguồn gốc đã được bật bằng cách thiết lập document.domain."
2158
2191
  },
2159
- "core/lib/deprecations-strings.js | CrossOriginWindowAlert": {
2192
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowAlert": {
2160
2193
  "message": "Tính năng kích hoạt window.alert qua các iframe trên nhiều nguồn gốc không được dùng nữa và sẽ bị loại bỏ trong tương lai."
2161
2194
  },
2162
- "core/lib/deprecations-strings.js | CrossOriginWindowConfirm": {
2195
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | CrossOriginWindowConfirm": {
2163
2196
  "message": "Tính năng kích hoạt window.confirm qua các iframe trên nhiều nguồn gốc không được dùng nữa và sẽ bị loại bỏ trong tương lai."
2164
2197
  },
2165
- "core/lib/deprecations-strings.js | DOMMutationEvents": {
2166
- "message": "Các Sự kiện đột biến DOM, trong đó có `DOMSubtreeModified`, `DOMNodeInserted`, `DOMNodeRemoved`, `DOMNodeRemovedFromDocument`, `DOMNodeInsertedIntoDocument``DOMCharacterDataModified`, không được dùng nữa (https://w3c.github.io/uievents/#legacy-event-types) và sẽ bị loại bỏ. Thay vào đó, vui lòng sử dụng `MutationObserver`."
2198
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DOMMutationEvents": {
2199
+ "message": "Các Sự kiện đột biến DOM, trong đó có DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument và DOMCharacterDataModified, không được dùng nữa (https://w3c.github.io/uievents/#legacy-event-types) và sẽ bị loại bỏ. Thay vào đó, vui lòng sử dụng MutationObserver."
2167
2200
  },
2168
- "core/lib/deprecations-strings.js | DataUrlInSvgUse": {
2169
- "message": "Hỗ trợ về dữ liệu: Các URL trong phần tử <use> của SVG không được dùng nữa và sẽ bị loại bỏ trong tương lai."
2201
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
2202
+ "message": "Hỗ trợ về dữ liệu: Các URL trong SVGUseElement không được dùng nữa và sẽ bị loại bỏ trong tương lai."
2170
2203
  },
2171
- "core/lib/deprecations-strings.js | GeolocationInsecureOrigin": {
2172
- "message": "`getCurrentPosition()``watchPosition()` không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2204
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOrigin": {
2205
+ "message": "getCurrentPosition() và watchPosition() không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2173
2206
  },
2174
- "core/lib/deprecations-strings.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
2175
- "message": "`getCurrentPosition()``watchPosition()` không còn được dùng trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2207
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GeolocationInsecureOriginDeprecatedNotRemoved": {
2208
+ "message": "getCurrentPosition() và watchPosition() không được dùng nữa trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2176
2209
  },
2177
- "core/lib/deprecations-strings.js | GetUserMediaInsecureOrigin": {
2178
- "message": "`getUserMedia()` không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2210
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | GetUserMediaInsecureOrigin": {
2211
+ "message": "getUserMedia() không còn hoạt động trên các nguồn gốc không an toàn. Để dùng tính năng này, bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2179
2212
  },
2180
- "core/lib/deprecations-strings.js | HostCandidateAttributeGetter": {
2181
- "message": "`RTCPeerConnectionIceErrorEvent.hostCandidate` không được dùng nữa. Thay vào đó, hãy sử dụng `RTCPeerConnectionIceErrorEvent.address` hoặc `RTCPeerConnectionIceErrorEvent.port`."
2213
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | HostCandidateAttributeGetter": {
2214
+ "message": "RTCPeerConnectionIceErrorEvent.hostCandidate không còn hoạt động. Thay vào đó, hãy sử dụng RTCPeerConnectionIceErrorEvent.address hoặc RTCPeerConnectionIceErrorEvent.port."
2182
2215
  },
2183
- "core/lib/deprecations-strings.js | IdentityInCanMakePaymentEvent": {
2184
- "message": "Nguồn gốc của bên bán và dữ liệu bất kỳ trong sự kiện `canmakepayment` của trình chạy dịch vụ không được dùng nữa và sẽ bị loại bỏ: `topOrigin`, `paymentRequestOrigin`, `methodData`, `modifiers`."
2216
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IdentityInCanMakePaymentEvent": {
2217
+ "message": "Nguồn gốc của bên bán và dữ liệu bất kỳ trong sự kiện canmakepayment của trình chạy dịch vụ không được dùng nữa và sẽ bị loại bỏ: topOrigin, paymentRequestOrigin, methodData, modifiers."
2185
2218
  },
2186
- "core/lib/deprecations-strings.js | InsecurePrivateNetworkSubresourceRequest": {
2219
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InsecurePrivateNetworkSubresourceRequest": {
2187
2220
  "message": "Trang web này đã yêu cầu một tài nguyên phụ qua một mạng mà trang web này chỉ truy cập được do có vị thế mạng đặc quyền của người dùng. Những yêu cầu như vậy làm lộ các thiết bị và máy chủ không công khai trên Internet, làm tăng nguy cơ bị tấn công giả mạo yêu cầu trên nhiều trang web (CSRF) và/hoặc rò rỉ thông tin. Để giảm thiểu những rủi ro này, Chrome sẽ ngừng yêu cầu các nguồn phụ không công khai khi được khởi tạo từ các ngữ cảnh không an toàn và sẽ bắt đầu chặn những yêu cầu đó."
2188
2221
  },
2189
- "core/lib/deprecations-strings.js | InterestGroupDailyUpdateUrl": {
2190
- "message": "Trường `dailyUpdateUrl` của `InterestGroups` được truyền đến `joinAdInterestGroup()` đã được đổi tên thành `updateUrl` để phản ánh chính xác hơn hành vi của trường này."
2222
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | InterestGroupDailyUpdateUrl": {
2223
+ "message": "Trường dailyUpdateUrl của InterestGroups được truyền đến joinAdInterestGroup() đã được đổi tên thành updateUrl để phản ánh chính xác hơn hành vi của trường này."
2191
2224
  },
2192
- "core/lib/deprecations-strings.js | LocalCSSFileExtensionRejected": {
2193
- "message": "Không tải được CSS qua các URL `file:` trừ phi chúng kết thúc bằng đuôi tệp `.css`."
2225
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | IntlV8BreakIterator": {
2226
+ "message": "Intl.v8BreakIterator không được dùng nữa. Thay vào đó, hãy sử dụng Intl.Segmenter."
2194
2227
  },
2195
- "core/lib/deprecations-strings.js | MediaSourceAbortRemove": {
2196
- "message": "Hệ thống không dùng `SourceBuffer.abort()` để huỷ việc xoá khoảng không đồng bộ của `remove()` nữa do thay đổi về quy cách. Sau này chế độ hỗ trợ cũng sẽ bị xoá. Thay vào đó, bạn nên nghe sự kiện `updateend`. Mục đích của `abort()` chỉ là huỷ lệnh thêm nội dung nghe nhìn không đồng bộ (asynchronous media append) hoặc đặt lại trạng thái của trình phân tích cú pháp."
2228
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | LocalCSSFileExtensionRejected": {
2229
+ "message": "Không tải được CSS qua các URL file: trừ phi chúng kết thúc bằng đuôi tệp .css."
2197
2230
  },
2198
- "core/lib/deprecations-strings.js | MediaSourceDurationTruncatingBuffered": {
2199
- "message": "Do thay đổi về quy cách, hệ thống không còn dùng chế độ đặt giá trị dưới dấu thời gian trình bày cao nhất cho `MediaSource.duration` nữa đối với mọi khung đã hoá lưu vào vùng đệm. Chế độ hỗ trợ yêu cầu xoá tường minh cho nội dung phương tiện lưu trong bộ đệm bị cắt bớt sau này cũng sẽ bị xoá. Bạn nên triển khai lệnh `remove(newDuration, oldDuration)` tường minh trên mọi `sourceBuffers`, khi `newDuration < oldDuration`."
2231
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceAbortRemove": {
2232
+ "message": "Hệ thống không dùng SourceBuffer.abort() để huỷ việc xoá khoảng không đồng bộ của remove() nữa do thay đổi về quy cách. Sau này chế độ hỗ trợ cũng sẽ bị xoá. Thay vào đó, bạn nên nghe sự kiện updateend. Mục đích của abort() chỉ huỷ lệnh thêm nội dung nghe nhìn không đồng bộ (asynchronous media append) hoặc đặt lại trạng thái của trình phân tích cú pháp."
2200
2233
  },
2201
- "core/lib/deprecations-strings.js | NoSysexWebMIDIWithoutPermission": {
2202
- "message": "Web MIDI sẽ yêu cầu cấp quyền sử dụng ngay cả khi `MIDIOptions` không chỉ sysex."
2234
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | MediaSourceDurationTruncatingBuffered": {
2235
+ "message": "Do thay đổi về quy cách, hệ thống không còn dùng chế độ đặt giá trị dưới dấu thời gian trình bày cao nhất cho MediaSource.duration nữa đối với mọi khung đã mã hoá và lưu vào vùng đệm. Chế độ hỗ trợ yêu cầu xoá tường minh cho nội dung phương tiện lưu trong bộ đệm bị cắt bớt sau này cũng sẽ bị xoá. Bạn nên triển khai lệnh remove(newDuration, oldDuration) tường minh trên mọi sourceBuffers, khi newDuration < oldDuration."
2203
2236
  },
2204
- "core/lib/deprecations-strings.js | NotificationInsecureOrigin": {
2205
- "message": " thể Notification API không còn được dùng qua các nguồn gốc không an toàn. Bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2237
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NoSysexWebMIDIWithoutPermission": {
2238
+ "message": "Web MIDI sẽ yêu cầu cấp quyền sử dụng ngay cả khi MIDIOptions không chỉ sysex."
2206
2239
  },
2207
- "core/lib/deprecations-strings.js | NotificationPermissionRequestedIframe": {
2240
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationInsecureOrigin": {
2241
+ "message": "Có thể Notification API không được dùng nữa qua các nguồn gốc không an toàn. Bạn nên cân nhắc việc chuyển ứng dụng sang một nguồn gốc an toàn, chẳng hạn như HTTPS. Xem https://goo.gle/chrome-insecure-origins để biết thêm thông tin."
2242
+ },
2243
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | NotificationPermissionRequestedIframe": {
2208
2244
  "message": "Có thể quyền cho Notification API không còn được yêu cầu qua một iframe nhiều nguồn gốc nữa. Thay vào đó, bạn nên cân nhắc việc yêu cầu quyền qua một khung cấp cao hoặc mở một cửa sổ mới."
2209
2245
  },
2210
- "core/lib/deprecations-strings.js | ObsoleteCreateImageBitmapImageOrientationNone": {
2211
- "message": "Tuỳ chọn `imageOrientation: 'none'` trong createImageBitmap không được dùng nữa. Thay vào đó, vui lòng sử dụng createImageBitmap bằng tuỳ chọn \\{imageOrientation: 'from-image'\\}."
2246
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteCreateImageBitmapImageOrientationNone": {
2247
+ "message": "Tuỳ chọn imageOrientation: 'none' trong createImageBitmap không được dùng nữa. Thay vào đó, vui lòng sử dụng createImageBitmap bằng tuỳ chọn '\\\\{imageOrientation: 'from-image'\\\\}'."
2212
2248
  },
2213
- "core/lib/deprecations-strings.js | ObsoleteWebRtcCipherSuite": {
2249
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | ObsoleteWebRtcCipherSuite": {
2214
2250
  "message": "Đối tác của bạn đang đàm phán một phiên bản (D)TLS đã lỗi thời. Vui lòng trao đổi với đối tác của bạn để khắc phục."
2215
2251
  },
2216
- "core/lib/deprecations-strings.js | OverflowVisibleOnReplacedElement": {
2217
- "message": "Việc chỉ định `overflow: visible` trên thẻ img, video và canvas có thể khiến các thẻ này tạo ra nội dung hình ảnh bên ngoài ranh giới thành phần. Xem tại https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
2252
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | OverflowVisibleOnReplacedElement": {
2253
+ "message": "Việc chỉ định overflow: visible trên thẻ img, video và canvas có thể khiến các thẻ này tạo ra nội dung hình ảnh bên ngoài ranh giới thành phần. Xem tại https://github.com/WICG/shared-element-transitions/blob/main/debugging_overflow_on_images.md."
2218
2254
  },
2219
- "core/lib/deprecations-strings.js | PaymentInstruments": {
2220
- "message": "`paymentManager.instruments` không được dùng nữa. Vui lòng sử dụng chế độ cài đặt đúng thời điểm cho trình xử lý thanh toán."
2255
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentInstruments": {
2256
+ "message": "paymentManager.instruments không được dùng nữa. Vui lòng sử dụng chế độ cài đặt đúng thời điểm cho trình xử lý thanh toán."
2221
2257
  },
2222
- "core/lib/deprecations-strings.js | PaymentRequestCSPViolation": {
2223
- "message": "Lệnh gọi `PaymentRequest` của bạn đã bỏ qua chỉ thị `connect-src` của Chính sách bảo mật nội dung (CSP). Chế độ bỏ qua này không được dùng nữa. Vui lòng thêm giá trị nhận dạng phương thức thanh toán từ API `PaymentRequest` (trong trường `supportedMethods`) vào chỉ thị `connect-src` của CSP."
2258
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PaymentRequestCSPViolation": {
2259
+ "message": "Lệnh gọi PaymentRequest của bạn đã bỏ qua chỉ thị connect-src của Chính sách bảo mật nội dung (CSP). Chế độ bỏ qua này không được dùng nữa. Vui lòng thêm giá trị nhận dạng phương thức thanh toán từ API PaymentRequest (trong trường supportedMethods) vào chỉ thị connect-src của CSP."
2224
2260
  },
2225
- "core/lib/deprecations-strings.js | PersistentQuotaType": {
2226
- "message": "`StorageType.persistent` không được dùng nữa. Vui lòng sử dụng `navigator.storage` đã chuẩn hoá."
2261
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PersistentQuotaType": {
2262
+ "message": "StorageType.persistent không còn hoạt động. Thay vào đó, vui lòng sử dụng navigator.storage đã chuẩn hoá."
2227
2263
  },
2228
- "core/lib/deprecations-strings.js | PictureSourceSrc": {
2229
- "message": "`<source src>` có phần tử mẹ `<picture>` không hợp lệ nên sẽ bị bỏ qua. Thay vào đó, vui lòng sử dụng `<source srcset>`."
2264
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PictureSourceSrc": {
2265
+ "message": "<source src> có phần tử mẹ <picture> không hợp lệ nên sẽ bị bỏ qua. Thay vào đó, vui lòng sử dụng <source srcset>."
2230
2266
  },
2231
- "core/lib/deprecations-strings.js | PrefixedCancelAnimationFrame": {
2232
- "message": "webkitCancelAnimationFrame là phương thức tuỳ theo nhà cung cấp cụ thể. Thay vào đó, vui lòng sử dụng cancelAnimationFrame tiêu chuẩn."
2267
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedCancelAnimationFrame": {
2268
+ "message": "webkitCancelAnimationFrame là phương thức tiền tố nhà cung cấp. Thay vào đó, vui lòng sử dụng cancelAnimationFrame tiêu chuẩn."
2233
2269
  },
2234
- "core/lib/deprecations-strings.js | PrefixedRequestAnimationFrame": {
2235
- "message": "webkitRequestAnimationFrame là phương thức tuỳ theo nhà cung cấp cụ thể. Thay vào đó, vui lòng sử dụng requestAnimationFrame tiêu chuẩn."
2270
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedRequestAnimationFrame": {
2271
+ "message": "webkitRequestAnimationFrame là phương thức tiền tố nhà cung cấp. Thay vào đó, vui lòng sử dụng requestAnimationFrame tiêu chuẩn."
2236
2272
  },
2237
- "core/lib/deprecations-strings.js | PrefixedVideoDisplayingFullscreen": {
2273
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoDisplayingFullscreen": {
2238
2274
  "message": "HTMLVideoElement.webkitDisplayingFullscreen không được dùng nữa. Thay vào đó, vui lòng sử dụng Document.fullscreenElement."
2239
2275
  },
2240
- "core/lib/deprecations-strings.js | PrefixedVideoEnterFullScreen": {
2276
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullScreen": {
2241
2277
  "message": "HTMLVideoElement.webkitEnterFullScreen() không được dùng nữa. Thay vào đó, vui lòng sử dụng Element.requestFullscreen()."
2242
2278
  },
2243
- "core/lib/deprecations-strings.js | PrefixedVideoEnterFullscreen": {
2279
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoEnterFullscreen": {
2244
2280
  "message": "HTMLVideoElement.webkitEnterFullscreen() không được dùng nữa. Thay vào đó, vui lòng sử dụng Element.requestFullscreen()."
2245
2281
  },
2246
- "core/lib/deprecations-strings.js | PrefixedVideoExitFullScreen": {
2282
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullScreen": {
2247
2283
  "message": "HTMLVideoElement.webkitExitFullScreen() không được dùng nữa. Thay vào đó, vui lòng sử dụng Document.exitFullscreen()."
2248
2284
  },
2249
- "core/lib/deprecations-strings.js | PrefixedVideoExitFullscreen": {
2285
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoExitFullscreen": {
2250
2286
  "message": "HTMLVideoElement.webkitExitFullscreen() không được dùng nữa. Thay vào đó, vui lòng sử dụng Document.exitFullscreen()."
2251
2287
  },
2252
- "core/lib/deprecations-strings.js | PrefixedVideoSupportsFullscreen": {
2253
- "message": "HTMLVideoElement.webkitSupportsFullscreen không được dùng nữa. Thay vào đó, vui lòng sử dụng Document.fullscreenEnabled."
2288
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
2289
+ "message": "HTMLVideoElement.webkitSupportsFullscreen không còn được dùng nữa. Thay vào đó, vui lòng sử dụng Document.fullscreenEnabled."
2254
2290
  },
2255
- "core/lib/deprecations-strings.js | PrivacySandboxExtensionsAPI": {
2256
- "message": "Chúng tôi sẽ không dùng API `chrome.privacy.websites.privacySandboxEnabled` nữa. Tuy nhiên, API này sẽ vẫn hoạt động nhằm đảm bảo khả năng tương thích ngược cho đến khi phát hành phiên bản M113. Thay vào đó, vui lòng sử dụng `chrome.privacy.websites.topicsEnabled`, `chrome.privacy.websites.fledgeEnabled``chrome.privacy.websites.adMeasurementEnabled`. Truy cập vào https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
2291
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrivacySandboxExtensionsAPI": {
2292
+ "message": "Chúng tôi sẽ không dùng API chrome.privacy.websites.privacySandboxEnabled nữa. Tuy nhiên, API này sẽ vẫn hoạt động nhằm đảm bảo khả năng tương thích ngược cho đến khi phát hành phiên bản M113. Thay vào đó, vui lòng sử dụng chrome.privacy.websites.topicsEnabled, chrome.privacy.websites.fledgeEnabled và chrome.privacy.websites.adMeasurementEnabled. Truy cập vào https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
2257
2293
  },
2258
- "core/lib/deprecations-strings.js | RTCConstraintEnableDtlsSrtpFalse": {
2259
- "message": "Điều kiện hạn chế `DtlsSrtpKeyAgreement` đã bị xoá. Bạn đã chỉ định một giá trị `false` cho điều kiện hạn chế này, đây được coi là nỗ lực sử dụng phương thức `SDES key negotiation` đã bị xoá. Chức năng này đã bị xoá; thay vào đó, hãy sử dụng một dịch vụ có hỗ trợ `DTLS key negotiation`."
2294
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
2295
+ "message": "Điều kiện hạn chế DtlsSrtpKeyAgreement đã bị xoá. Bạn đã chỉ định một giá trị false cho điều kiện hạn chế này, đây được coi là nỗ lực sử dụng phương thức SDES key negotiation đã bị xoá. Chức năng này đã bị xoá; thay vào đó, hãy sử dụng một dịch vụ có hỗ trợ DTLS key negotiation."
2260
2296
  },
2261
- "core/lib/deprecations-strings.js | RTCConstraintEnableDtlsSrtpTrue": {
2262
- "message": "Điều kiện hạn chế `DtlsSrtpKeyAgreement` đã bị xoá. Bạn đã chỉ định một giá trị `true` cho điều kiện hạn chế này, việc này không có tác dụng gì nhưng bạn có thể xoá điều kiện hạn chế này cho gọn gàng."
2297
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpTrue": {
2298
+ "message": "Điều kiện hạn chế DtlsSrtpKeyAgreement đã bị xoá. Bạn đã chỉ định một giá trị true cho điều kiện hạn chế này, việc này không có tác dụng gì nhưng bạn có thể xoá điều kiện hạn chế này cho gọn gàng."
2263
2299
  },
2264
- "core/lib/deprecations-strings.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2300
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2265
2301
  "message": "Phương thức getStats() dựa trên lệnh gọi lại không được dùng nữa và sẽ bị loại bỏ. Thay vào đó, hãy sử dụng getStats() tuân thủ quy cách."
2266
2302
  },
2267
- "core/lib/deprecations-strings.js | RangeExpand": {
2303
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RangeExpand": {
2268
2304
  "message": "Range.expand() không được dùng nữa. Thay vào đó, vui lòng sử dụng Selection.modify()."
2269
2305
  },
2270
- "core/lib/deprecations-strings.js | RequestedSubresourceWithEmbeddedCredentials": {
2271
- "message": "Yêu cầu tài nguyên phụ có URL chứa thông tin xác thực được nhúng (ví dụ: `https://user:pass@host/`) sẽ bị chặn."
2306
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RequestedSubresourceWithEmbeddedCredentials": {
2307
+ "message": "Yêu cầu tài nguyên phụ có URL chứa thông tin xác thực được nhúng (ví dụ: https://user:pass@host/) sẽ bị chặn."
2272
2308
  },
2273
- "core/lib/deprecations-strings.js | RtcpMuxPolicyNegotiate": {
2274
- "message": "Tuỳ chọn `rtcpMuxPolicy` không được dùng nữa và sẽ bị xoá."
2309
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | RtcpMuxPolicyNegotiate": {
2310
+ "message": "Tuỳ chọn rtcpMuxPolicy không được dùng nữa và sẽ bị xoá."
2275
2311
  },
2276
- "core/lib/deprecations-strings.js | SharedArrayBufferConstructedWithoutIsolation": {
2277
- "message": "`SharedArrayBuffer` sẽ đòi hỏi việc tách biệt nhiều nguồn gốc. Xem https://developer.chrome.com/blog/enabling-shared-array-buffer/ để biết thêm thông tin."
2312
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | SharedArrayBufferConstructedWithoutIsolation": {
2313
+ "message": "SharedArrayBuffer sẽ đòi hỏi việc tách biệt nhiều nguồn gốc. Xem https://developer.chrome.com/blog/enabling-shared-array-buffer/ để biết thêm thông tin."
2278
2314
  },
2279
- "core/lib/deprecations-strings.js | TextToSpeech_DisallowedByAutoplay": {
2280
- "message": "Khi không có hoạt động kích hoạt của người dùng, `speechSynthesis.speak()` không được dùng nữa và sẽ bị loại bỏ."
2315
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | TextToSpeech_DisallowedByAutoplay": {
2316
+ "message": "Khi không có hoạt động của người dùng, speechSynthesis.speak() không được dùng nữa và sẽ được loại bỏ."
2281
2317
  },
2282
- "core/lib/deprecations-strings.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2283
- "message": "Các tiện ích phải chọn sử dụng chế độ tách biệt nhiều nguồn gốc để có thể tiếp tục sử dụng `SharedArrayBuffer`. Xem https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
2318
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | UnloadHandler": {
2319
+ "message": "Trình nghe sự kiện huỷ tải không dùng được nữa sẽ bị loại bỏ."
2284
2320
  },
2285
- "core/lib/deprecations-strings.js | WebSQL": {
2286
- "message": "Web SQL không được dùng nữa. Vui lòng sử dụng SQLite WebAssembly hoặc sở dữ liệu được lập chỉ mục"
2321
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
2322
+ "message": "Các tiện ích phải chọn sử dụng chế độ tách biệt nhiều nguồn gốc đẻ thể tiếp tục sử dụng SharedArrayBuffer. Xem https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
2287
2323
  },
2288
- "core/lib/deprecations-strings.js | XHRJSONEncodingDetection": {
2289
- "message": "JSON phản hồi không hỗ trợ UTF-16 trong `XMLHttpRequest`"
2324
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XHRJSONEncodingDetection": {
2325
+ "message": "JSON phản hồi không hỗ trợ UTF-16 trong XMLHttpRequest"
2290
2326
  },
2291
- "core/lib/deprecations-strings.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2292
- "message": "Tính năng `XMLHttpRequest` đồng bộ trên luồng chính không được dùng nữa do có tác động không tốt đối với trải nghiệm của người dùng cuối. Để được trợ giúp thêm, hãy xem https://xhr.spec.whatwg.org/."
2327
+ "node_modules/@paulirish/trace_engine/generated/Deprecation.js | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
2328
+ "message": "Tính năng XMLHttpRequest đồng bộ trên luồng chính không được dùng nữa do có tác động không tốt đối với trải nghiệm của người dùng cuối. Để xem thêm thông tin trợ giúp, hãy tham khảo https://xhr.spec.whatwg.org/."
2293
2329
  },
2294
- "core/lib/deprecations-strings.js | XRSupportsSession": {
2295
- "message": "`supportsSession()` không được dùng nữa. Thay vào đó, hãy sử dụng `isSessionSupported()` và kiểm tra giá trị boolean đã phân giải."
2330
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | animation": {
2331
+ "message": "Ảnh động"
2296
2332
  },
2297
- "core/lib/i18n/i18n.js | columnBlockingTime": {
2298
- "message": "Thời gian chặn chuỗi chính"
2333
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2334
+ "message": "Bố cục thay đổi khi phần tử di chuyển mà không có sự tương tác của người dùng. [Hãy tìm hiểu nguyên nhân bố cục thay đổi](https://web.dev/articles/optimize-cls), chẳng hạn như phần tử được thêm, bị xoá hoặc phông chữ của phần tử thay đổi khi trang tải."
2299
2335
  },
2300
- "core/lib/i18n/i18n.js | columnCacheTTL": {
2301
- "message": "Thời gian tồn tại (TTL) của bộ nhớ đệm"
2336
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | fontRequest": {
2337
+ "message": "Yêu cầu phông chữ"
2302
2338
  },
2303
- "core/lib/i18n/i18n.js | columnDescription": {
2304
- "message": "Nội dung mô tả"
2339
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | injectedIframe": {
2340
+ "message": "iframe được chèn"
2305
2341
  },
2306
- "core/lib/i18n/i18n.js | columnDuration": {
2307
- "message": "Thời lượng"
2342
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | layoutShiftCluster": {
2343
+ "message": "Cụm thay đổi bố cục @ {PH1}"
2308
2344
  },
2309
- "core/lib/i18n/i18n.js | columnElement": {
2310
- "message": "Phần tử"
2345
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noCulprits": {
2346
+ "message": "Không phát hiện ra nguyên nhân thay đổi bố cục"
2311
2347
  },
2312
- "core/lib/i18n/i18n.js | columnFailingElem": {
2313
- "message": "Các phần tử không đạt"
2348
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | noLayoutShifts": {
2349
+ "message": "Không sự thay đổi bố cục"
2314
2350
  },
2315
- "core/lib/i18n/i18n.js | columnLocation": {
2316
- "message": "Vị trí"
2351
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2352
+ "message": "Nguyên nhân làm thay đổi bố cục"
2317
2353
  },
2318
- "core/lib/i18n/i18n.js | columnName": {
2319
- "message": "Tên"
2354
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | topCulprits": {
2355
+ "message": "Nguyên nhân làm thay đổi bố cục thường gặp nhất"
2320
2356
  },
2321
- "core/lib/i18n/i18n.js | columnRequests": {
2322
- "message": "Số yêu cầu"
2357
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | unsizedImages": {
2358
+ "message": "Hình ảnh chưa xác định kích thước"
2323
2359
  },
2324
- "core/lib/i18n/i18n.js | columnResourceSize": {
2325
- "message": "Kích thước tài nguyên"
2360
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstCluster": {
2361
+ "message": "Cụm tệ nhất"
2326
2362
  },
2327
- "core/lib/i18n/i18n.js | columnResourceType": {
2328
- "message": "Loại tài nguyên"
2363
+ "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | worstLayoutShiftCluster": {
2364
+ "message": "Cụm thay đổi bố cục tệ nhất"
2329
2365
  },
2330
- "core/lib/i18n/i18n.js | columnSize": {
2331
- "message": "Kích thước"
2366
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2367
+ "message": "DOM lớn có thể làm các phép tính về kiểu và quy trình trình bày lại bố cục dài hơn, ảnh hưởng đến tốc độ phản hồi của trang. DOM lớn cũng sẽ làm tăng mức sử dụng bộ nhớ. [Tìm hiểu cách tránh kích thước DOM quá lớn](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
2332
2368
  },
2333
- "core/lib/i18n/i18n.js | columnSource": {
2334
- "message": "Nguồn"
2369
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | element": {
2370
+ "message": "Phần tử"
2335
2371
  },
2336
- "core/lib/i18n/i18n.js | columnStartTime": {
2337
- "message": "Thời gian bắt đầu"
2372
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxChildren": {
2373
+ "message": "Hầu hết trẻ em"
2338
2374
  },
2339
- "core/lib/i18n/i18n.js | columnTimeSpent": {
2340
- "message": "Thời gian sử dụng"
2375
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | maxDOMDepth": {
2376
+ "message": "Chiều sâu DOM"
2341
2377
  },
2342
- "core/lib/i18n/i18n.js | columnTransferSize": {
2343
- "message": "Kích thước cần chuyển"
2378
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | statistic": {
2379
+ "message": "Thống "
2344
2380
  },
2345
- "core/lib/i18n/i18n.js | columnURL": {
2346
- "message": "URL"
2381
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
2382
+ "message": "Tối ưu hoá kích thước DOM"
2347
2383
  },
2348
- "core/lib/i18n/i18n.js | columnWastedBytes": {
2349
- "message": "Lượng dữ liệu có thể tiết kiệm được"
2384
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | totalElements": {
2385
+ "message": "Tổng số phần tử"
2350
2386
  },
2351
- "core/lib/i18n/i18n.js | columnWastedMs": {
2352
- "message": "Thời gian có thể tiết kiệm được"
2387
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | value": {
2388
+ "message": "Giá trị"
2353
2389
  },
2354
- "core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
2355
- "message": "Cumulative Layout Shift"
2390
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2391
+ "message": "Yêu cầu mạng đầu tiên là quan trọng nhất. Giảm độ trễ bằng cách tránh dùng đường liên kết chuyển hướng, đảm bảo máy chủ phản hồi nhanh và bật tính năng nén văn bản."
2356
2392
  },
2357
- "core/lib/i18n/i18n.js | displayValueByteSavings": {
2358
- "message": "Lượng dữ liệu có thể tiết kiệm được là {wastedBytes, number, bytes} KiB"
2393
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedRedirects": {
2394
+ "message": " chuyển hướng"
2359
2395
  },
2360
- "core/lib/i18n/i18n.js | displayValueElementsFound": {
2361
- "message": "{nodeCount,plural, =1{Tìm thấy 1 phần tử}other{Tìm thấy # phần tử}}"
2396
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedServerResponseTime": {
2397
+ "message": "Máy chủ phản hồi chậm"
2362
2398
  },
2363
- "core/lib/i18n/i18n.js | displayValueMsSavings": {
2364
- "message": "Thời gian thể tiết kiệm được là {wastedMs, number, milliseconds} mili giây"
2399
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | failedTextCompression": {
2400
+ "message": "Không áp dụng tính năng nén"
2365
2401
  },
2366
- "core/lib/i18n/i18n.js | documentResourceType": {
2367
- "message": "Tài liệu"
2402
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingRedirects": {
2403
+ "message": "Tránh chuyển hướng"
2368
2404
  },
2369
- "core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
2370
- "message": "First Contentful Paint"
2405
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingServerResponseTime": {
2406
+ "message": "Máy chủ phản hồi nhanh"
2371
2407
  },
2372
- "core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
2373
- "message": "Hình ảnh ý nghĩa đầu tiên"
2408
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | passingTextCompression": {
2409
+ "message": "Áp dụng tính năng nén văn bản"
2374
2410
  },
2375
- "core/lib/i18n/i18n.js | fontResourceType": {
2411
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | redirectsLabel": {
2412
+ "message": "Chuyển hướng"
2413
+ },
2414
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | serverResponseTimeLabel": {
2415
+ "message": "Thời gian phản hồi của máy chủ"
2416
+ },
2417
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2418
+ "message": "Độ trễ khi yêu cầu tài liệu"
2419
+ },
2420
+ "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | uncompressedDownload": {
2421
+ "message": "Tải xuống bản không nén"
2422
+ },
2423
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2424
+ "message": "Hãy cân nhắc đặt [font-display](https://developer.chrome.com/blog/font-display) thành swap hoặc optional để đảm bảo văn bản hiển thị nhất quán. Có thể tối ưu hoá swap hơn nữa để giảm thiểu thay đổi bố cục bằng thuộc tính [ghi đè chỉ số phông chữ](https://developer.chrome.com/blog/font-fallbacks)."
2425
+ },
2426
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | fontColumn": {
2376
2427
  "message": "Phông chữ"
2377
2428
  },
2378
- "core/lib/i18n/i18n.js | imageResourceType": {
2379
- "message": "Hình ảnh"
2429
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2430
+ "message": "Hiển thị phông chữ"
2380
2431
  },
2381
- "core/lib/i18n/i18n.js | interactionToNextPaint": {
2382
- "message": "Interaction to Next Paint"
2432
+ "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | wastedTimeColumn": {
2433
+ "message": "Thời gian bị lãng phí"
2383
2434
  },
2384
- "core/lib/i18n/i18n.js | interactiveMetric": {
2385
- "message": "Time to Interactive"
2435
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | description": {
2436
+ "message": "Nhiều API, thường đọc hình học bố cục, buộc công cụ kết xuất phải tạm dừng thực thi tập lệnh để tính toán kiểu và bố cục. Tìm hiểu thêm về [chế độ buộc chỉnh lại luồng](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) và cách giảm thiểu tác động của chế độ này."
2386
2437
  },
2387
- "core/lib/i18n/i18n.js | itemSeverityHigh": {
2388
- "message": "Cao"
2438
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | relatedStackTrace": {
2439
+ "message": "Dấu vết ngăn xếp"
2389
2440
  },
2390
- "core/lib/i18n/i18n.js | itemSeverityLow": {
2391
- "message": "Thấp"
2441
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | title": {
2442
+ "message": "Buộc chỉnh lại luồng"
2392
2443
  },
2393
- "core/lib/i18n/i18n.js | itemSeverityMedium": {
2394
- "message": "Trung bình"
2444
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | topTimeConsumingFunctionCall": {
2445
+ "message": "Lệnh gọi hàm hàng đầu"
2395
2446
  },
2396
- "core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
2397
- "message": "Largest Contentful Paint"
2447
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ForcedReflow.js | totalReflowTime": {
2448
+ "message": "Tổng thời gian chỉnh lại luồng"
2398
2449
  },
2399
- "core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
2400
- "message": "Thời gian phản hồi lần tương tác đầu tiên tối đa thể"
2450
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2451
+ "message": "Việc giảm thời gian tải hình ảnh xuống thể cải thiện thời gian tải trang và LCP được cảm nhận. [Tìm hiểu thêm về cách tối ưu hoá kích thước hình ảnh](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
2401
2452
  },
2402
- "core/lib/i18n/i18n.js | mediaResourceType": {
2403
- "message": "Nội dung nghe nhìn"
2453
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | estimatedSavings": {
2454
+ "message": "{PH1} (Ước tính là {PH2})"
2404
2455
  },
2405
- "core/lib/i18n/i18n.js | ms": {
2406
- "message": "{timeInMs, number, milliseconds} mili giây"
2456
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | noOptimizableImages": {
2457
+ "message": "Không hình ảnh nào có thể tối ưu hoá"
2407
2458
  },
2408
- "core/lib/i18n/i18n.js | otherResourceType": {
2409
- "message": "Khác"
2459
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | optimizeFile": {
2460
+ "message": "Tối ưu hoá kích thước tệp"
2410
2461
  },
2411
- "core/lib/i18n/i18n.js | otherResourcesLabel": {
2412
- "message": "Tài nguyên khác"
2462
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | others": {
2463
+ "message": "{PH1} mục khác"
2413
2464
  },
2414
- "core/lib/i18n/i18n.js | scriptResourceType": {
2415
- "message": "Tập lệnh"
2465
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2466
+ "message": "Cải thiện việc phân phối hình ảnh"
2416
2467
  },
2417
- "core/lib/i18n/i18n.js | seconds": {
2418
- "message": "{timeInMs, number, seconds} giây"
2468
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
2469
+ "message": "Việc tăng hệ số nén của hình ảnh có thể cải thiện kích thước tải xuống của hình ảnh này."
2419
2470
  },
2420
- "core/lib/i18n/i18n.js | speedIndexMetric": {
2421
- "message": "Speed Index"
2471
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
2472
+ "message": "Việc sử dụng định dạng hình ảnh hiện đại (WebP, AVIF) hoặc tăng độ nén của hình ảnh có thể cải thiện kích thước tải xuống của hình ảnh này."
2422
2473
  },
2423
- "core/lib/i18n/i18n.js | stylesheetResourceType": {
2424
- "message": "Biểu định kiểu"
2474
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
2475
+ "message": "Tệp hình ảnh này lớn hơn mức cần thiết ({PH1}) so với kích thước hiển thị ({PH2}). Hãy sử dụng hình ảnh thích ứng để giảm kích thước tải xuống của hình ảnh."
2425
2476
  },
2426
- "core/lib/i18n/i18n.js | thirdPartyResourceType": {
2477
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2478
+ "message": "Việc sử dụng định dạng video thay vì GIF có thể cải thiện kích thước tải xuống của nội dung động."
2479
+ },
2480
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2481
+ "message": "Bắt đầu kiểm tra giai đoạn dài nhất. [Có thể giảm thiểu sự chậm trễ](https://web.dev/articles/optimize-inp#optimize_interactions). Để giảm thời gian xử lý, [hãy tối ưu hoá hiệu suất của luồng chính](https://web.dev/articles/optimize-long-tasks), thường là JS."
2482
+ },
2483
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | duration": {
2484
+ "message": "Thời lượng"
2485
+ },
2486
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | inputDelay": {
2487
+ "message": "Độ trễ khi nhập thông tin"
2488
+ },
2489
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | noInteractions": {
2490
+ "message": "Không phát hiện ra hoạt động tương tác nào"
2491
+ },
2492
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | phase": {
2493
+ "message": "Pha"
2494
+ },
2495
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | presentationDelay": {
2496
+ "message": "Độ trễ khi trình bày"
2497
+ },
2498
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | processingDuration": {
2499
+ "message": "Thời gian xử lý"
2500
+ },
2501
+ "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2502
+ "message": "INP theo pha"
2503
+ },
2504
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2505
+ "message": "Tối ưu hoá LCP (Nội dung lớn nhất hiển thị) bằng cách giúp trình duyệt [có thể tìm thấy](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) hình ảnh LCP dựa vào HTML ngay lập tức và [tránh tải từng phần](https://web.dev/articles/lcp-lazy-loading)"
2506
+ },
2507
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityApplied": {
2508
+ "message": "Đã áp dụng giá trị \"high\" của thuộc tính fetchpriority"
2509
+ },
2510
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
2511
+ "message": "Bạn nên áp dụng fetchpriority=high"
2512
+ },
2513
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
2514
+ "message": "chưa áp dụng phương thức tải từng phần"
2515
+ },
2516
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
2517
+ "message": "Hình ảnh LCP được tải sau {PH1} kể từ thời điểm bắt đầu sớm nhất."
2518
+ },
2519
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcp": {
2520
+ "message": "Không phát hiện ra LCP"
2521
+ },
2522
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | noLcpResource": {
2523
+ "message": "Không phát hiện ra tài nguyên LCP vì LCP không phải là hình ảnh"
2524
+ },
2525
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | requestDiscoverable": {
2526
+ "message": "Có thể tìm thấy yêu cầu trong tài liệu ban đầu"
2527
+ },
2528
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2529
+ "message": "Phát hiện yêu cầu LCP"
2530
+ },
2531
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2532
+ "message": "Mỗi [giai đoạn có một chiến lược cải thiện cụ thể](https://web.dev/articles/optimize-lcp#lcp-breakdown). Tốt nhất là thời gian hiển thị LCP (Nội dung lớn nhất hiển thị) nên được dùng để tải các tài nguyên thay vì bị chậm trễ."
2533
+ },
2534
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | duration": {
2535
+ "message": "Thời lượng"
2536
+ },
2537
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | elementRenderDelay": {
2538
+ "message": "Độ trễ khi hiển thị phần tử"
2539
+ },
2540
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | fieldDuration": {
2541
+ "message": "Nhóm 75 phần trăm của dữ liệu thực địa"
2542
+ },
2543
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | noLcp": {
2544
+ "message": "Không phát hiện ra LCP"
2545
+ },
2546
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | phase": {
2547
+ "message": "Pha"
2548
+ },
2549
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDelay": {
2550
+ "message": "Độ trễ khi tải tài nguyên"
2551
+ },
2552
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | resourceLoadDuration": {
2553
+ "message": "Thời lượng tải tài nguyên"
2554
+ },
2555
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | timeToFirstByte": {
2556
+ "message": "Thời gian cho byte đầu tiên"
2557
+ },
2558
+ "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2559
+ "message": "LCP theo pha"
2560
+ },
2561
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | description": {
2562
+ "message": "[Tránh tạo chuỗi các yêu cầu quan trọng](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) bằng cách 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."
2563
+ },
2564
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | maxCriticalPathLatency": {
2565
+ "message": "Độ trễ tối đa của đường dẫn quan trọng:"
2566
+ },
2567
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | noNetworkDependencyTree": {
2568
+ "message": "Không có tác vụ kết xuất nào chịu ảnh hưởng của phần phụ thuộc mạng"
2569
+ },
2570
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | title": {
2571
+ "message": "Cây phần phụ thuộc mạng"
2572
+ },
2573
+ "node_modules/@paulirish/trace_engine/models/trace/insights/NetworkDependencyTree.js | warningDescription": {
2574
+ "message": "Tránh tạo chuỗi các yêu cầu quan trọng bằng cách 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."
2575
+ },
2576
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2577
+ "message": "Các yêu cầu đang chặn quá trình kết xuất ban đầu của trang, điều này có thể làm trễ LCP. [Việc hoãn hoặc dùng cùng dòng](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) có thể di chuyển các yêu cầu mạng này ra khỏi đường dẫn quan trọng."
2578
+ },
2579
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | duration": {
2580
+ "message": "Thời lượng"
2581
+ },
2582
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | noRenderBlocking": {
2583
+ "message": "Không có yêu cầu chặn hiển thị cho thao tác điều hướng này"
2584
+ },
2585
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | renderBlockingRequest": {
2586
+ "message": "Yêu cầu"
2587
+ },
2588
+ "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2589
+ "message": "Yêu cầu chặn quá trình hiển thị"
2590
+ },
2591
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2592
+ "message": "Nếu thấy chi phí của Tính toán lại kiểu vẫn cao, bạn có thể tối ưu hoá bộ chọn để giảm chi phí. [Tối ưu hoá bộ chọn](https://developer.chrome.com/docs/devtools/performance/selector-stats) có tỷ lệ phần trăm đường dẫn chậm và thời gian trôi qua đều cao. Bộ chọn đơn giản hơn, số lượng bộ chọn ít hơn, DOM nhỏ hơn và DOM nông hơn sẽ giúp giảm chi phí khớp."
2593
+ },
2594
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | elapsed": {
2595
+ "message": "Thời gian đã trôi qua"
2596
+ },
2597
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | enableSelectorData": {
2598
+ "message": "Không tìm thấy dữ liệu về bộ chọn CSS. Bạn cần bật số liệu thống kê về bộ chọn CSS trong phần cài đặt bảng điều khiển hiệu suất."
2599
+ },
2600
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchAttempts": {
2601
+ "message": "Số lần khớp"
2602
+ },
2603
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | matchCount": {
2604
+ "message": "Số lượng trùng khớp"
2605
+ },
2606
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2607
+ "message": "Hiệu suất của Bộ chọn CSS"
2608
+ },
2609
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | topSelectors": {
2610
+ "message": "Bộ chọn hàng đầu"
2611
+ },
2612
+ "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | total": {
2613
+ "message": "Tổng"
2614
+ },
2615
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnMainThreadTime": {
2616
+ "message": "Thời gian thực thi trên chuỗi chính"
2617
+ },
2618
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnThirdParty": {
2427
2619
  "message": "Bên thứ ba"
2428
2620
  },
2429
- "core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
2430
- "message": "Total Blocking Time"
2621
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | columnTransferSize": {
2622
+ "message": "Kích thước cần chuyển"
2431
2623
  },
2432
- "core/lib/i18n/i18n.js | totalResourceType": {
2433
- "message": "Tổng"
2624
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2625
+ "message": "Mã của bên thứ ba có thể tác động đáng kể đến hiệu suất tải. [Giảm và trì hoãn việc tải mã của bên thứ ba](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) để ưu tiên nội dung trên trang của bạn."
2434
2626
  },
2435
- "core/lib/lh-error.js | badTraceRecording": {
2436
- "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})"
2627
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | noThirdParties": {
2628
+ "message": "Không tìm thấy bên thứ ba nào"
2437
2629
  },
2438
- "core/lib/lh-error.js | criTimeout": {
2439
- "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."
2630
+ "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2631
+ "message": "bên thứ ba"
2440
2632
  },
2441
- "core/lib/lh-error.js | didntCollectScreenshots": {
2442
- "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 nội dung hiển thị, sau đó thử chạy lại Lighthouse. ({errorCode})"
2633
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2634
+ "message": "Hoạt động tương tác nhấn thể [bị chậm tới 300 mili giây](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) nếu khung nhìn chưa được tối ưu hoá cho thiết bị di động."
2635
+ },
2636
+ "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2637
+ "message": "Tối ưu hoá khung nhìn cho thiết bị di động"
2638
+ },
2639
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPMethodNotGET": {
2640
+ "message": "Chỉ những trang được tải qua yêu cầu GET mới đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2641
+ },
2642
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | HTTPStatusNotOK": {
2643
+ "message": "Chỉ những trang có mã trạng thái là 2XX mới có thể lưu vào bộ nhớ đệm."
2644
+ },
2645
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | JavaScriptExecution": {
2646
+ "message": "Chrome đã phát hiện thấy một lần thử thực thi JavaScript khi đang ở bộ nhớ đệm."
2647
+ },
2648
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | appBanner": {
2649
+ "message": "Những trang đã yêu cầu AppBanner hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2650
+ },
2651
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabled": {
2652
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do cờ. Hãy truy cập chrome://flags/#back-forward-cache để bật tính năng đó trên thiết bị này."
2653
+ },
2654
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByCommandLine": {
2655
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do dòng lệnh."
2656
+ },
2657
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledByLowMemory": {
2658
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do thiếu bộ nhớ."
2659
+ },
2660
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForDelegate": {
2661
+ "message": "Trang được uỷ quyền không hỗ trợ bộ nhớ đệm cho thao tác tiến/lùi."
2662
+ },
2663
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | backForwardCacheDisabledForPrerender": {
2664
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt đối với trình kết xuất trước."
2665
+ },
2666
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | broadcastChannel": {
2667
+ "message": "Không thể lưu trang này vào bộ nhớ đệm vì trang có một thực thể BroadcastChannel chứa các trình nghe đã đăng ký."
2668
+ },
2669
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheControlNoStore": {
2670
+ "message": "Những trang có tiêu đề cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2671
+ },
2672
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheFlushed": {
2673
+ "message": "Bộ nhớ đệm này đã bị xoá một cách có chủ đích."
2674
+ },
2675
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cacheLimit": {
2676
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
2677
+ },
2678
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | containsPlugins": {
2679
+ "message": "Những trang có chứa trình bổ trợ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2680
+ },
2681
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentDiscarded": {
2682
+ "message": "Không xác định"
2683
+ },
2684
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileChooser": {
2685
+ "message": "Những trang sử dụng API FileChooser không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2686
+ },
2687
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentFileSystemAccess": {
2688
+ "message": "Những trang sử dụng API Truy cập hệ thống tệp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2689
+ },
2690
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaDevicesDispatcherHost": {
2691
+ "message": "Những trang sử dụng Trình điều phối thiết bị truyền thông không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2692
+ },
2693
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaPlay": {
2694
+ "message": "Một trình phát đa phương tiện đang phát khi rời khỏi."
2695
+ },
2696
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSession": {
2697
+ "message": "Những trang sử dụng API MediaSession và đặt một trạng thái phát không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2698
+ },
2699
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentMediaSessionService": {
2700
+ "message": "Những trang sử dụng API MediaSession và đặt các trình xử lý hành động hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2701
+ },
2702
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentScreenReader": {
2703
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do trình đọc màn hình."
2704
+ },
2705
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSecurityHandler": {
2706
+ "message": "Những trang sử dụng SecurityHandler không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2707
+ },
2708
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentSerial": {
2709
+ "message": "Những trang sử dụng API nối tiếp không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2443
2710
  },
2444
- "core/lib/lh-error.js | dnsFailure": {
2445
- "message": "Máy chủ DNS không thể phân giải miền đã cung cấp."
2711
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebAuthenticationAPI": {
2712
+ "message": "Những trang sử dụng API WebAuthetication không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2446
2713
  },
2447
- "core/lib/lh-error.js | erroredRequiredArtifact": {
2448
- "message": "Trình thu thập {artifactName} bắt buộc đã gặp lỗi: {errorMessage}"
2714
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebBluetooth": {
2715
+ "message": "Những trang sử dụng API WebBluetooth không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2449
2716
  },
2450
- "core/lib/lh-error.js | internalChromeError": {
2451
- "message": "Đã xảy ra lỗi Chrome nội bộ. Vui lòng khởi động lại Chrome thử chạy lại Lighthouse."
2717
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | contentWebUSB": {
2718
+ "message": "Những trang sử dụng API WebUSB không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2452
2719
  },
2453
- "core/lib/lh-error.js | missingRequiredArtifact": {
2454
- "message": "Trình thu thập {artifactName} bắt buộc không chạy."
2720
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | cookieDisabled": {
2721
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các cookie bị tắt trên một trang sử dụng Cache-Control: no-store."
2455
2722
  },
2456
- "core/lib/lh-error.js | noFcp": {
2457
- "message": "Trang này chưa 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})"
2723
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | dedicatedWorkerOrWorklet": {
2724
+ "message": "Những trang sử dụng một trình xử hoặc worklet riêng hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2458
2725
  },
2459
- "core/lib/lh-error.js | noLcp": {
2460
- "message": "Trang không hiển thị nội dung đủ điều kiện là Thời gian hiển thị nội dung lớn nhất (LCP). Hãy đảm bảo trang có thành phần LCP hợp lệ rồi thử lại. ({errorCode})"
2726
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | documentLoaded": {
2727
+ "message": "Tài liệu này chưa tải xong trước khi rời khỏi."
2461
2728
  },
2462
- "core/lib/lh-error.js | notHtml": {
2463
- "message": "Trang đã cung cấp không phải HTML (được phân phối ở dạng loại MIME {mimeType})."
2729
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderAppBannerManager": {
2730
+ "message": "App Banner đang xuất hiện trong khi rời đi."
2464
2731
  },
2465
- "core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
2466
- "message": "Phiên bản Chrome này đã quá 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 đủ."
2732
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderChromePasswordManagerClientBindCredentialManager": {
2733
+ "message": "Trình quản mật khẩu của Chrome đang xuất hiện trong khi rời đi."
2467
2734
  },
2468
- "core/lib/lh-error.js | pageLoadFailed": {
2469
- "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."
2735
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerSelfDeletingRequestDelegate": {
2736
+ "message": "Quy trình lọc DOM đang diễn ra trong khi rời đi."
2470
2737
  },
2471
- "core/lib/lh-error.js | pageLoadFailedHung": {
2472
- "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."
2738
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderDomDistillerViewerSource": {
2739
+ "message": "DOM Distiller Viewer đang xuất hiện trong khi rời đi."
2473
2740
  },
2474
- "core/lib/lh-error.js | pageLoadFailedInsecure": {
2475
- "message": "URL bạn cung cấp không chứng chỉ bảo mật hợp lệ. {securityMessages}"
2741
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessaging": {
2742
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích sử dụng API nhắn tin."
2476
2743
  },
2477
- "core/lib/lh-error.js | pageLoadFailedInterstitial": {
2478
- "message": "Chrome đã ngăn tải trang quảng cáo xen kẽ. Hãy đảm bảo bạn đang kiểm tra URL chính xác máy chủ đang phản hồi tất cả các yêu cầu đúng cách."
2744
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionMessagingForOpenPort": {
2745
+ "message": "Các tiện íchkết nối liên tục phải ngắt kết nối trước khi chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2479
2746
  },
2480
- "core/lib/lh-error.js | pageLoadFailedWithDetails": {
2481
- "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})"
2747
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensionSentMessageToCachedFrame": {
2748
+ "message": "Các tiện ích kết nối liên tục đã cố gắng gửi thông báo đến các khung trong bộ nhớ đệm cho thao tác tiến/lùi."
2482
2749
  },
2483
- "core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
2484
- "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})"
2750
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderExtensions": {
2751
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do các tiện ích."
2485
2752
  },
2486
- "core/lib/lh-error.js | pageLoadTookTooLong": {
2487
- "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})"
2753
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderModalDialog": {
2754
+ "message": "Hộp thoại phương thức (chẳng hạn như gửi lại biểu mẫu) hoặc hộp thoại mật khẩu http đang xuất hiện trên trang trong khi rời đi."
2488
2755
  },
2489
- "core/lib/lh-error.js | protocolTimeout": {
2490
- "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})"
2756
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOfflinePage": {
2757
+ "message": "Trang ngoại tuyến đang xuất hiện trong khi rời đi."
2491
2758
  },
2492
- "core/lib/lh-error.js | requestContentTimeout": {
2493
- "message": "Quá trình tìm nạp nội dung tài nguyên đã vượt quá thời gian phân bổ"
2759
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderOomInterventionTabHelper": {
2760
+ "message": "Thanh Out-Of-Memory Intervention đang xuất hiện trong khi rời đi."
2494
2761
  },
2495
- "core/lib/lh-error.js | targetCrashed": {
2496
- "message": "Thẻ trình duyệt đã gặp sự cố bất ngờ."
2762
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPermissionRequestManager": {
2763
+ "message": " yêu cầu cấp quyền trong khi rời đi."
2497
2764
  },
2498
- "core/lib/lh-error.js | urlInvalid": {
2499
- "message": "URL bạn cung cấp vẻ không hợp lệ."
2765
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderPopupBlockerTabHelper": {
2766
+ "message": "Trình chặn cửa sổ bật lên đang xuất hiện trong khi rời đi."
2500
2767
  },
2501
- "core/lib/navigation-error.js | warningStatusCode": {
2502
- "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: {errorCode})"
2768
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingThreatDetails": {
2769
+ "message": "Thông tin chi tiết về công cụ Duyệt web an toàn đang xuất hiện trong khi rời đi."
2503
2770
  },
2504
- "core/lib/navigation-error.js | warningXhtml": {
2505
- "message": "Loại MIME của trang là XHTML: Lighthouse không hỗ trợ ràng loại tài liệu này"
2771
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | embedderSafeBrowsingTriggeredPopupBlocker": {
2772
+ "message": "Công cụ Duyệt web an toàn coi trang này một cửa sổ bật lên sai mục đích bị chặn."
2506
2773
  },
2507
- "core/user-flow.js | defaultFlowName": {
2508
- "message": "Luồng người dùng ({url})"
2774
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | enteredBackForwardCacheBeforeServiceWorkerHostAdded": {
2775
+ "message": "Một trình chạy dịch vụ đã được kích hoạt khi trang này đang ở bộ nhớ đệm cho thao tác tiến/lùi."
2509
2776
  },
2510
- "core/user-flow.js | defaultNavigationName": {
2511
- "message": "Báo cáo di chuyển trên trang ({url})"
2777
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | errorDocument": {
2778
+ "message": "Đã tắt bộ nhớ đệm cho thao tác tiến/lùi do lỗi tài liệu"
2512
2779
  },
2513
- "core/user-flow.js | defaultSnapshotName": {
2514
- "message": "Báo cáo ảnh chụp nhanh ({url})"
2780
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | fencedFramesEmbedder": {
2781
+ "message": "Không lưu trữ được trang dùng FencedFrames vào bfcache."
2515
2782
  },
2516
- "core/user-flow.js | defaultTimespanName": {
2517
- "message": "Báo cáo khoảng thời gian ({url})"
2783
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | foregroundCacheLimit": {
2784
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm để cho phép lưu một trang khác vào bộ nhớ đệm."
2518
2785
  },
2519
- "flow-report/src/i18n/ui-strings.js | allReports": {
2520
- "message": "Tất cả báo cáo"
2786
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | grantedMediaStreamAccess": {
2787
+ "message": "Những trang đã cấp quyền truy cập luồng đa phương tiện hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2521
2788
  },
2522
- "flow-report/src/i18n/ui-strings.js | categories": {
2523
- "message": "Danh mục"
2789
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | haveInnerContents": {
2790
+ "message": "Những trang có một số loại nội dung được nhúng nhất định (ví dụ: PDF) hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2524
2791
  },
2525
- "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
2526
- "message": "Hỗ trợ tiếp cận"
2792
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | idleManager": {
2793
+ "message": "Những trang sử dụng IdleManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2527
2794
  },
2528
- "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
2529
- "message": "Phương pháp hay nhất"
2795
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBConnection": {
2796
+ "message": "Những trang kết nối IndexedDB mở hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2530
2797
  },
2531
- "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
2532
- "message": "Hiệu suất"
2798
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | indexedDBEvent": {
2799
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do sự kiện IndexedDB."
2533
2800
  },
2534
- "flow-report/src/i18n/ui-strings.js | categorySeo": {
2535
- "message": "SEO"
2801
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | ineligibleAPI": {
2802
+ "message": "Các API được sử dụng không đủ điều kiện."
2536
2803
  },
2537
- "flow-report/src/i18n/ui-strings.js | desktop": {
2538
- "message": "Máy tính"
2804
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedJavascript": {
2805
+ "message": "Những trang có JavaScript được chèn vào bằng tiện ích hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2539
2806
  },
2540
- "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
2541
- "message": "Tìm hiểu về Báo cáo luồng Lighthouse"
2807
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | injectedStyleSheet": {
2808
+ "message": "Những trang StyleSheet được chèn vào bằng tiện ích hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2542
2809
  },
2543
- "flow-report/src/i18n/ui-strings.js | helpLabel": {
2544
- "message": "Tìm hiểu về Luồng"
2810
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | internalError": {
2811
+ "message": "Lỗi nội bộ."
2545
2812
  },
2546
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
2547
- "message": "Sử dụng chế độ Báo cáo di chuyển để…"
2813
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | jsNetworkRequestReceivedCacheControlNoStoreResource": {
2814
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt do một số yêu cầu mạng JavaScript nhận được tài nguyên có tiêu đề Cache-Control: no-store."
2548
2815
  },
2549
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
2550
- "message": "Sử dụng chế độ Báo cáo ảnh chụp nhanh để..."
2816
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keepaliveRequest": {
2817
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt do có yêu cầu duy trì hoạt động."
2551
2818
  },
2552
- "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
2553
- "message": "Sử dụng chế độ Báo cáo khoảng thời gian để..."
2819
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | keyboardLock": {
2820
+ "message": "Những trang sử dụng tính năng Khóa bàn phím hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2554
2821
  },
2555
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
2556
- "message": "Đạt được điểm Hiệu suất Lighthouse."
2822
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | loading": {
2823
+ "message": "Trang này chưa tải xong trước khi rời khỏi."
2557
2824
  },
2558
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
2559
- "message": "Đo lường các chỉ số về Hiệu suất tải trang, chẳng hạn như Thời gian hiển thị nội dung lớn nhất và Chỉ số tốc độ."
2825
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoCache": {
2826
+ "message": "Những trang tài nguyên chính chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2560
2827
  },
2561
- "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
2562
- "message": "Đánh giá các chức năng của Ứng dụng web tiến bộ."
2828
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | mainResourceHasCacheControlNoStore": {
2829
+ "message": "Những trang tài nguyên chính chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2563
2830
  },
2564
- "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
2565
- "message": "Tìm các vấn đề về khả năng hỗ trợ tiếp cận trong các ứng dụng trang đơn hoặc các biểu mẫu phức tạp."
2831
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | navigationCancelledWhileRestoring": {
2832
+ "message": "Hoạt động điều hướng đã bị huỷ trước khi thể khôi phục trang từ bộ nhớ đệm cho thao tác tiến/lùi."
2566
2833
  },
2567
- "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
2568
- "message": "Đánh giá các phương pháp hay nhất về trình đơn các thành phần trên giao diện người dùng ẩn phía sau sự tương tác."
2834
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkExceedsBufferLimit": {
2835
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm một kết nối mạng đang hoạt động đã nhận quá nhiều dữ liệu. Chrome giới hạn lượng dữ liệu mà một trang có thể nhận trong khi được lưu vào bộ nhớ đệm."
2569
2836
  },
2570
- "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
2571
- "message": "Đo lường mức thay đổi bố cục thời gian thực thi JavaScript trên một chuỗi các tương tác."
2837
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestDatapipeDrainedAsBytesConsumer": {
2838
+ "message": "Những trang tính năng tìm nạp() hoặc XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2572
2839
  },
2573
- "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
2574
- "message": "Khám phá các hội về hiệu suất để cải thiện trải nghiệm cho những trang tồn tại lâu dài các ứng dụng trang đơn."
2840
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestRedirected": {
2841
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi một yêu cầu mạng đang hoạt động đã dẫn đến lệnh chuyển hướng."
2575
2842
  },
2576
- "flow-report/src/i18n/ui-strings.js | highestImpact": {
2577
- "message": "Tác động lớn nhất"
2843
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | networkRequestTimeout": {
2844
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm vì một kết nối mạng ở trạng thái mở quá lâu. Chrome giới hạn khoảng thời gian mà một trang có thể nhận dữ liệu trong khi được lưu vào bộ nhớ đệm."
2578
2845
  },
2579
- "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
2580
- "message": "{numInformative,plural, =1{{numInformative} quá trình kiểm tra cung cấp nhiều thông tin}other{{numInformative} quá trình kiểm tra cung cấp nhiều thông tin}}"
2846
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | noResponseHead": {
2847
+ "message": "Những trang không tiêu đề phản hồi hợp lệ không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2581
2848
  },
2582
- "flow-report/src/i18n/ui-strings.js | mobile": {
2583
- "message": "Di động"
2849
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | notMainFrame": {
2850
+ "message": "Hoạt động điều hướng đã diễn ra trong một khung không phải khung chính."
2584
2851
  },
2585
- "flow-report/src/i18n/ui-strings.js | navigationDescription": {
2586
- "message": "Tải trang"
2852
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingIndexedDBTransaction": {
2853
+ "message": "Trang có các giao dịch đang diễn ra trên cơ sở dữ liệu đã lập chỉ mục hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2587
2854
  },
2588
- "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
2589
- "message": "Báo cáo di chuyển phân tích một lượt tải trang, giống hệt như các báo cáo Lighthouse gốc."
2855
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestDirectSocket": {
2856
+ "message": "Những trang một yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2590
2857
  },
2591
- "flow-report/src/i18n/ui-strings.js | navigationReport": {
2592
- "message": "Báo cáo di chuyển trên trang"
2858
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestFetch": {
2859
+ "message": "Những trang một yêu cầu mạng tìm nạp đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2593
2860
  },
2594
- "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
2595
- "message": "{numNavigation,plural, =1{{numNavigation} báo cáo điều hướng}other{{numNavigation} báo cáo điều hướng}}"
2861
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestOthers": {
2862
+ "message": "Những trang một yêu cầu mạng đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2596
2863
  },
2597
- "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
2598
- "message": "{numPassableAudits,plural, =1{{numPassableAudits} quá trình kiểm tra đạt đủ điều kiện}other{{numPassableAudits} quá trình kiểm tra đạt đủ điều kiện}}"
2864
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | outstandingNetworkRequestXHR": {
2865
+ "message": "Những trang một yêu cầu mạng XHR đang tiến hành hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2599
2866
  },
2600
- "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
2601
- "message": "{numPassed,plural, =1{{numPassed} quá trình kiểm tra đã đạt}other{{numPassed} quá trình kiểm tra đã đạt}}"
2867
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | paymentManager": {
2868
+ "message": "Những trang sử dụng PaymentManager hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2602
2869
  },
2603
- "flow-report/src/i18n/ui-strings.js | ratingAverage": {
2604
- "message": "Trung bình"
2870
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | pictureInPicture": {
2871
+ "message": "Những trang sử dụng tính năng Hình trong hình hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2605
2872
  },
2606
- "flow-report/src/i18n/ui-strings.js | ratingError": {
2607
- "message": "Lỗi"
2873
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | printing": {
2874
+ "message": "Những trang hiển thị Giao diện người dùng cho thao tác in hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2608
2875
  },
2609
- "flow-report/src/i18n/ui-strings.js | ratingFail": {
2610
- "message": "Kém"
2876
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | relatedActiveContentsExist": {
2877
+ "message": "Trang này đã được mở bằng \"window.open()\" và có một thẻ khác tham chiếu đến thành phần đó, hoặc trang này đã mở một cửa sổ."
2611
2878
  },
2612
- "flow-report/src/i18n/ui-strings.js | ratingPass": {
2613
- "message": "Tốt"
2879
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessCrashed": {
2880
+ "message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã gặp sự cố."
2614
2881
  },
2615
- "flow-report/src/i18n/ui-strings.js | save": {
2616
- "message": "Lưu"
2882
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | rendererProcessKilled": {
2883
+ "message": "Quy trình kết xuất đồ hoạ cho trang trong bộ nhớ đệm cho thao tác tiến/lùi đã bị tắt."
2617
2884
  },
2618
- "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
2619
- "message": "Trạng thái đã chụp của trang"
2885
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedAudioCapturePermission": {
2886
+ "message": "Những trang đã yêu cầu quyền ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2620
2887
  },
2621
- "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
2622
- "message": "Báo cáo ảnh chụp nhanh phân tích trang một trạng thái cụ thể, thường sau khi người dùng tương tác."
2888
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackForwardCacheBlockedSensors": {
2889
+ "message": "Những trang đã yêu cầu quyền truy cập cảm biến hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2623
2890
  },
2624
- "flow-report/src/i18n/ui-strings.js | snapshotReport": {
2625
- "message": "Báo cáo tổng quan"
2891
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedBackgroundWorkPermission": {
2892
+ "message": "Những trang đã yêu cầu quyền tìm nạp hoặc đồng bộ hoá dưới nền hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2626
2893
  },
2627
- "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
2628
- "message": "{numSnapshot,plural, =1{{numSnapshot} báo cáo tổng quan nhanh}other{{numSnapshot} báo cáo tổng quan nhanh}}"
2894
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedMIDIPermission": {
2895
+ "message": "Những trang đã yêu cầu quyền MIDI hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2629
2896
  },
2630
- "flow-report/src/i18n/ui-strings.js | summary": {
2631
- "message": "Tóm tắt"
2897
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedNotificationsPermission": {
2898
+ "message": "Những trang đã yêu cầu quyền thông báo hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2632
2899
  },
2633
- "flow-report/src/i18n/ui-strings.js | timespanDescription": {
2634
- "message": "Sự tương tác của người dùng"
2900
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedStorageAccessGrant": {
2901
+ "message": "Những trang đã yêu cầu quyền truy cập bộ nhớ hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2635
2902
  },
2636
- "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
2637
- "message": "Báo cáo khoảng thời gian phân tích một khoảng thời gian bất kỳ, thường chứa các tương tác của người dùng."
2903
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | requestedVideoCapturePermission": {
2904
+ "message": "Những trang đã yêu cầu quyền quay video hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2638
2905
  },
2639
- "flow-report/src/i18n/ui-strings.js | timespanReport": {
2640
- "message": "Báo cáo khoảng thời gian"
2906
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | schemeNotHTTPOrHTTPS": {
2907
+ "message": "Chỉ những trang lược đồ URL là HTTP/HTTPS mới có thể lưu vào bộ nhớ đệm."
2641
2908
  },
2642
- "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
2643
- "message": "{numTimespan,plural, =1{{numTimespan} báo cáo khoảng thời gian}other{{numTimespan} báo cáo khoảng thời gian}}"
2909
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerClaim": {
2910
+ "message": "Trang này đã được một trình chạy dịch vụ xác nhận khi đang ở bộ nhớ đệm cho thao tác tiến/lùi."
2644
2911
  },
2645
- "flow-report/src/i18n/ui-strings.js | title": {
2646
- "message": "Báo cáo luồng người dùng Lighthouse"
2912
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerPostMessage": {
2913
+ "message": "Một trình chạy dịch vụ đã cố gửi một MessageEvent cho trang trong bộ nhớ đệm cho thao tác tiến/lùi."
2647
2914
  },
2648
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2649
- "message": "Bố cục thay đổi khi phần tử di chuyển không sự tương tác của người dùng. [Hãy tìm hiểu nguyên nhân bố cục thay đổi](https://web.dev/articles/optimize-cls), chẳng hạn như phần tử được thêm, bị xoá hoặc phông chữ của phần tử thay đổi khi trang tải."
2915
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerUnregistration": {
2916
+ "message": "ServiceWorker đã bị huỷ đăng ký khi một trang đang bộ nhớ đệm cho thao tác tiến/lùi."
2650
2917
  },
2651
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2652
- "message": "Nguyên nhân làm thay đổi bố cục"
2918
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | serviceWorkerVersionActivation": {
2919
+ "message": "Trang này đã bị loại khỏi bộ nhớ đệm cho thao tác tiến/lùi do việc kích hoạt một trình chạy dịch vụ."
2653
2920
  },
2654
- "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
2655
- "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 kéo dài hơn tạo ra các quy trình trình bày lại bố cục tốn kém, ảnh hưởng đến tốc độ phản hồi của trang. [Tìm hiểu cách tránh kích thước DOM quá lớn](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
2921
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sessionRestored": {
2922
+ "message": "Chrome đã khởi động lạixoá các mục trong bộ nhớ đệm cho thao tác tiến/lùi."
2656
2923
  },
2657
- "node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
2658
- "message": "Tối ưu hoá kích thước DOM"
2924
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | sharedWorker": {
2925
+ "message": "Những trang sử dụng SharedWorker hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2659
2926
  },
2660
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2661
- "message": "Yêu cầu mạng đầu tiên quan trọng nhất. Giảm độ trễ bằng cách tránh dùng đường liên kết chuyển hướng, đảm bảo máy chủ phản hồi nhanh và bật tính năng nén văn bản."
2927
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechRecognizer": {
2928
+ "message": "Những trang sử dụng SpeechRecognizer hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2662
2929
  },
2663
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2664
- "message": "Độ trễ khi yêu cầu tài liệu"
2930
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | speechSynthesis": {
2931
+ "message": "Những trang sử dụng SpeechSynthesis hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2665
2932
  },
2666
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2667
- "message": "Hãy cân nhắc đặt [font-display](https://developer.chrome.com/blog/font-display) thành swap hoặc optional để đảm bảo văn bản hiển thị nhất quán. Có thể tối ưu hoá swap hơn nữa để giảm thiểu thay đổi bố cục bằng thuộc tính [ghi đè chỉ số phông chữ](https://developer.chrome.com/blog/font-fallbacks)."
2933
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subframeIsNavigating": {
2934
+ "message": "Một iframe trên trang này đã bắt đầu một hoạt động điều hướng chưa hoàn tất."
2668
2935
  },
2669
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2670
- "message": "Hiển thị phông chữ"
2936
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoCache": {
2937
+ "message": "Những trang tài nguyên phụ chứa cache-control:no-cache không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2671
2938
  },
2672
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2673
- "message": "Việc giảm thời gian tải hình ảnh xuống thể cải thiện thời gian tải trang LCP được cảm nhận. [Tìm hiểu thêm về cách tối ưu hoá kích thước hình ảnh](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
2939
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | subresourceHasCacheControlNoStore": {
2940
+ "message": "Những trang tài nguyên phụ chứa cache-control:no-store không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2674
2941
  },
2675
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2676
- "message": "Cải thiện việc phân phối hình ảnh"
2942
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeout": {
2943
+ "message": "Trang này đã vượt quá thời gian tối đa trong bộ nhớ đệm cho thao tác tiến/lùi và đã hết hạn."
2677
2944
  },
2678
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
2679
- "message": "Việc tăng hệ số nén của hình ảnh thể cải thiện kích thước tải xuống của hình ảnh này. (Ước tính {PH1})"
2945
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | timeoutPuttingInCache": {
2946
+ "message": "Trang này đã hết thời gian chờ chuyển sang bộ nhớ đệm cho thao tác tiến/lùi (khả năng do các trình xử lý ẩn trang chạy trong thời gian dài)."
2680
2947
  },
2681
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
2682
- "message": "Việc sử dụng định dạng hình ảnh hiện đại (WebP, AVIF) hoặc tăng độ nén của hình ảnh thể cải thiện kích thước tải xuống của hình ảnh này. (Ước tính là {PH1})"
2948
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInMainFrame": {
2949
+ "message": "Trang nàymột trình xử huỷ tải trong khung chính."
2683
2950
  },
2684
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
2685
- "message": "Tệp hình ảnh này lớn hơn mức cần thiết ({PH2}) so với kích thước hiển thị ({PH3}). Hãy sử dụng hình ảnh thích ứng để giảm kích thước tải xuống của hình ảnh. (Ước tính là {PH1})"
2951
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | unloadHandlerExistsInSubFrame": {
2952
+ "message": "Trang này một trình xử huỷ tải trong khung phụ."
2686
2953
  },
2687
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
2688
- "message": "Việc sử dụng định dạng video thay GIF thể cải thiện kích thước tải xuống của nội dung động. (Ước tính là {PH1})"
2954
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | userAgentOverrideDiffers": {
2955
+ "message": "Trình duyệt đã thay đổi tiêu đề ghi đè tác nhân người dùng."
2689
2956
  },
2690
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2691
- "message": "Bắt đầu kiểm tra giai đoạn dài nhất. [Có thể giảm thiểu sự chậm trễ](https://web.dev/articles/optimize-inp#optimize_interactions). Để giảm thời gian xử lý, [hãy tối ưu hoá hiệu suất của luồng chính](https://web.dev/articles/optimize-long-tasks), thường là JS."
2957
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | wasGrantedMediaAccess": {
2958
+ "message": "Những trang đã cấp quyền quay video hoặc ghi âm hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2692
2959
  },
2693
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2694
- "message": "INP theo pha"
2960
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webDatabase": {
2961
+ "message": "Những trang sử dụng WebDatabase hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2695
2962
  },
2696
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2697
- "message": "Tối ưu hoá LCP (Nội dung lớn nhất hiển thị) bằng cách giúp trình duyệt [có thể tìm thấy](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) hình ảnh LCP dựa vào HTML ngay lập tức và [tránh tải từng phần](https://web.dev/articles/lcp-lazy-loading)"
2963
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webHID": {
2964
+ "message": "Những trang sử dụng WebHID hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2698
2965
  },
2699
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2700
- "message": "Phát hiện yêu cầu LCP"
2966
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webLocks": {
2967
+ "message": "Những trang sử dụng WebLocks hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2701
2968
  },
2702
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2703
- "message": "Mỗi [giai đoạn một chiến lược cải thiện cụ thể](https://web.dev/articles/optimize-lcp#lcp-breakdown). Tốt nhất là thời gian hiển thị LCP (Nội dung lớn nhất hiển thị) nên được dùng để tải các tài nguyên thay vì bị chậm trễ."
2969
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webNfc": {
2970
+ "message": "Những trang sử dụng WebNfc hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2704
2971
  },
2705
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2706
- "message": "LCP theo pha"
2972
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webOTPService": {
2973
+ "message": "Những trang sử dụng WebOTPService hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2707
2974
  },
2708
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2709
- "message": "Các yêu cầu đang chặn quá trình kết xuất ban đầu của trang, điều này thể làm trễ LCP. [Việc hoãn hoặc dùng cùng dòng](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) có thể di chuyển các yêu cầu mạng này ra khỏi đường dẫn quan trọng."
2975
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTC": {
2976
+ "message": "Những trang có WebRTC không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2710
2977
  },
2711
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2712
- "message": "Yêu cầu chặn quá trình hiển thị"
2978
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webRTCSticky": {
2979
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt vì WebRTC đã được dùng."
2713
2980
  },
2714
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2715
- "message": "Nếu thấy chi phí của Tính toán lại kiểu vẫn cao, bạn có thể tối ưu hoá bộ chọn để giảm chi phí. [Tối ưu hoá bộ chọn](https://developer.chrome.com/docs/devtools/performance/selector-stats) có tỷ lệ phần trăm đường dẫn chậm và thời gian trôi qua đều cao. Bộ chọn đơn giản hơn, số lượng bộ chọn ít hơn, DOM nhỏ hơn và DOM nông hơn sẽ giúp giảm chi phí khớp."
2981
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webShare": {
2982
+ "message": "Những trang sử dụng WebShare hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2716
2983
  },
2717
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2718
- "message": "Hiệu suất của Bộ chọn CSS"
2984
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocket": {
2985
+ "message": "Những trang WebSocket không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2719
2986
  },
2720
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2721
- "message": " của bên thứ ba có thể tác động đáng kể đến hiệu suất tải. [Giảm và trì hoãn việc tải mã của bên thứ ba](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) để ưu tiên nội dung trên trang của bạn."
2987
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webSocketSticky": {
2988
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt WebSocket đã được dùng."
2722
2989
  },
2723
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2724
- "message": "Bên thứ ba"
2990
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransport": {
2991
+ "message": "Những trang có WebTransport không thể chuyển sang bộ nhớ đệm cho thao tác tiến/lùi."
2725
2992
  },
2726
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2727
- "message": "Hoạt động tương tác nhấn thể [bị chậm tới 300 mili giây](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) nếu khung nhìn chưa được tối ưu hoá cho thiết bị di động."
2993
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webTransportSticky": {
2994
+ "message": "Bộ nhớ đệm cho thao tác tiến/lùi bị tắt WebTransport đã được dùng."
2728
2995
  },
2729
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2730
- "message": "Tối ưu hoá khung nhìn cho thiết bị di động"
2996
+ "node_modules/@paulirish/trace_engine/panels/application/components/BackForwardCacheStrings.js | webXR": {
2997
+ "message": "Những trang sử dụng WebXR hiện không đủ điều kiện dùng bộ nhớ đệm cho thao tác tiến/lùi."
2731
2998
  },
2732
2999
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
2733
3000
  "message": "Đối với nội dung động, hãy sử dụng [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) để giảm thiểu mức sử dụng CPU khi nội dung nằm ngoài màn hình."
@@ -3221,6 +3488,9 @@
3221
3488
  "report/renderer/report-utils.js | dropdownDarkTheme": {
3222
3489
  "message": "Bật/tắt Giao diện tối"
3223
3490
  },
3491
+ "report/renderer/report-utils.js | dropdownInsightsToggle": {
3492
+ "message": "Bật/tắt thông tin chi tiết về thử nghiệm"
3493
+ },
3224
3494
  "report/renderer/report-utils.js | dropdownPrintExpanded": {
3225
3495
  "message": "Mở rộng trong hộp thoại in"
3226
3496
  },