@paulirish/trace_engine 0.0.61 → 0.0.62

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 (260) hide show
  1. package/.tmp/tsbuildinfo/analyze-trace.d.mts.map +1 -1
  2. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  3. package/analyze-inspector-issues.mjs +1 -1
  4. package/analyze-trace.mjs +1 -2
  5. package/core/platform/ArrayUtilities.d.ts +2 -0
  6. package/core/platform/ArrayUtilities.js +11 -1
  7. package/core/platform/ArrayUtilities.js.map +1 -1
  8. package/core/platform/HostRuntime.d.ts +4 -0
  9. package/core/platform/HostRuntime.js +25 -0
  10. package/core/platform/HostRuntime.js.map +1 -0
  11. package/core/platform/KeyboardUtilities.d.ts +6 -2
  12. package/core/platform/KeyboardUtilities.js.map +1 -1
  13. package/core/platform/StringUtilities.d.ts +2 -0
  14. package/core/platform/StringUtilities.js +64 -13
  15. package/core/platform/StringUtilities.js.map +1 -1
  16. package/core/platform/api/HostRuntime.d.ts +36 -0
  17. package/core/platform/api/HostRuntime.js +5 -0
  18. package/core/platform/api/HostRuntime.js.map +1 -0
  19. package/core/platform/api/api-tsconfig.json +43 -0
  20. package/core/platform/api/api.d.ts +2 -0
  21. package/core/platform/api/api.js +6 -0
  22. package/core/platform/api/api.js.map +1 -0
  23. package/core/platform/api/api_node_typecheck-tsconfig.json +48 -0
  24. package/core/platform/api/bundle-tsconfig.json +1 -0
  25. package/core/platform/api/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  26. package/core/platform/browser/HostRuntime.d.ts +2 -0
  27. package/core/platform/browser/HostRuntime.js +64 -0
  28. package/core/platform/browser/HostRuntime.js.map +1 -0
  29. package/core/platform/browser/browser-tsconfig.json +48 -0
  30. package/core/platform/browser/browser.d.ts +2 -0
  31. package/core/platform/browser/browser.js +6 -0
  32. package/core/platform/browser/browser.js.map +1 -0
  33. package/core/platform/browser/bundle-tsconfig.json +1 -0
  34. package/core/platform/browser/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  35. package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  36. package/core/platform/node/HostRuntime.d.ts +2 -0
  37. package/core/platform/node/HostRuntime.js +73 -0
  38. package/core/platform/node/HostRuntime.js.map +1 -0
  39. package/core/platform/node/bundle-tsconfig.json +1 -0
  40. package/core/platform/node/devtools_entrypoint-bundle-typescript-tsconfig.json +48 -0
  41. package/core/platform/node/node-tsconfig.json +52 -0
  42. package/core/platform/node/node.d.ts +2 -0
  43. package/core/platform/node/node.js +6 -0
  44. package/core/platform/node/node.js.map +1 -0
  45. package/core/platform/platform-tsconfig.json +17 -5
  46. package/core/platform/platform.d.ts +2 -2
  47. package/core/platform/platform.js +2 -2
  48. package/core/platform/platform.js.map +1 -1
  49. package/core/platform/platform_node_typecheck-tsconfig.json +74 -0
  50. package/generated/protocol.d.ts +1507 -583
  51. package/locales/af.json +74 -38
  52. package/locales/am.json +73 -37
  53. package/locales/ar.json +72 -36
  54. package/locales/as.json +74 -38
  55. package/locales/az.json +73 -37
  56. package/locales/be.json +72 -36
  57. package/locales/bg.json +72 -36
  58. package/locales/bn.json +74 -38
  59. package/locales/bs.json +72 -36
  60. package/locales/ca.json +72 -36
  61. package/locales/cs.json +72 -36
  62. package/locales/cy.json +73 -37
  63. package/locales/da.json +74 -38
  64. package/locales/de.json +72 -36
  65. package/locales/el.json +73 -37
  66. package/locales/en-GB.json +74 -38
  67. package/locales/en-US.json +86 -17
  68. package/locales/en-XL.json +86 -17
  69. package/locales/es-419.json +72 -36
  70. package/locales/es.json +73 -37
  71. package/locales/et.json +74 -38
  72. package/locales/eu.json +72 -36
  73. package/locales/fa.json +73 -37
  74. package/locales/fi.json +72 -36
  75. package/locales/fil.json +74 -38
  76. package/locales/fr-CA.json +72 -36
  77. package/locales/fr.json +162 -126
  78. package/locales/gl.json +73 -37
  79. package/locales/gu.json +73 -37
  80. package/locales/he.json +74 -38
  81. package/locales/hi.json +73 -37
  82. package/locales/hr.json +72 -36
  83. package/locales/hu.json +73 -37
  84. package/locales/hy.json +73 -37
  85. package/locales/id.json +74 -38
  86. package/locales/is.json +73 -37
  87. package/locales/it.json +72 -36
  88. package/locales/ja.json +72 -36
  89. package/locales/ka.json +73 -37
  90. package/locales/kk.json +72 -36
  91. package/locales/km.json +73 -37
  92. package/locales/kn.json +72 -36
  93. package/locales/ko.json +72 -36
  94. package/locales/ky.json +72 -36
  95. package/locales/lo.json +72 -36
  96. package/locales/lt.json +72 -36
  97. package/locales/lv.json +72 -36
  98. package/locales/mk.json +75 -39
  99. package/locales/ml.json +72 -36
  100. package/locales/mn.json +73 -37
  101. package/locales/mr.json +74 -38
  102. package/locales/ms.json +72 -36
  103. package/locales/my.json +72 -36
  104. package/locales/ne.json +73 -37
  105. package/locales/nl.json +73 -37
  106. package/locales/no.json +72 -36
  107. package/locales/or.json +72 -36
  108. package/locales/pa.json +72 -36
  109. package/locales/pl.json +72 -36
  110. package/locales/pt-PT.json +72 -36
  111. package/locales/pt.json +74 -38
  112. package/locales/ro.json +72 -36
  113. package/locales/ru.json +72 -36
  114. package/locales/si.json +72 -36
  115. package/locales/sk.json +72 -36
  116. package/locales/sl.json +72 -36
  117. package/locales/sq.json +72 -36
  118. package/locales/sr-Latn.json +73 -37
  119. package/locales/sr.json +73 -37
  120. package/locales/sv.json +75 -39
  121. package/locales/sw.json +74 -38
  122. package/locales/ta.json +73 -37
  123. package/locales/te.json +72 -36
  124. package/locales/th.json +73 -37
  125. package/locales/tr.json +72 -36
  126. package/locales/uk.json +72 -36
  127. package/locales/ur.json +72 -36
  128. package/locales/uz.json +73 -37
  129. package/locales/vi.json +74 -38
  130. package/locales/zh-HK.json +72 -36
  131. package/locales/zh-TW.json +74 -38
  132. package/locales/zh.json +75 -39
  133. package/locales/zu.json +73 -37
  134. package/models/cpu_profile/CPUProfileDataModel.d.ts +9 -0
  135. package/models/cpu_profile/CPUProfileDataModel.js +9 -7
  136. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  137. package/models/cpu_profile/ProfileTreeModel.d.ts +3 -2
  138. package/models/cpu_profile/ProfileTreeModel.js +6 -7
  139. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  140. package/models/cpu_profile/cpu_profile-tsconfig.json +4 -3
  141. package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  142. package/models/trace/EntityMapper.d.ts +1 -0
  143. package/models/trace/EntityMapper.js +10 -0
  144. package/models/trace/EntityMapper.js.map +1 -1
  145. package/models/trace/EventsSerializer.js +10 -2
  146. package/models/trace/EventsSerializer.js.map +1 -1
  147. package/models/trace/LanternComputationData.d.ts +1 -1
  148. package/models/trace/LanternComputationData.js +3 -8
  149. package/models/trace/LanternComputationData.js.map +1 -1
  150. package/models/trace/ModelImpl.d.ts +1 -0
  151. package/models/trace/ModelImpl.js +9 -6
  152. package/models/trace/ModelImpl.js.map +1 -1
  153. package/models/trace/Processor.js +23 -23
  154. package/models/trace/Processor.js.map +1 -1
  155. package/models/trace/Styles.js +13 -5
  156. package/models/trace/Styles.js.map +1 -1
  157. package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  158. package/models/trace/extras/Initiators.d.ts +12 -0
  159. package/models/trace/extras/Initiators.js +47 -0
  160. package/models/trace/extras/Initiators.js.map +1 -0
  161. package/models/trace/extras/TraceTree.js +13 -5
  162. package/models/trace/extras/TraceTree.js.map +1 -1
  163. package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  164. package/models/trace/extras/extras-tsconfig.json +11 -3
  165. package/models/trace/extras/extras.d.ts +0 -1
  166. package/models/trace/extras/extras.js +0 -1
  167. package/models/trace/extras/extras.js.map +1 -1
  168. package/models/trace/handlers/LargestImagePaintHandler.js +2 -2
  169. package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
  170. package/models/trace/handlers/LayoutShiftsHandler.js +1 -1
  171. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  172. package/models/trace/handlers/MetaHandler.d.ts +12 -1
  173. package/models/trace/handlers/MetaHandler.js +10 -1
  174. package/models/trace/handlers/MetaHandler.js.map +1 -1
  175. package/models/trace/handlers/NetworkRequestsHandler.d.ts +8 -1
  176. package/models/trace/handlers/NetworkRequestsHandler.js +22 -4
  177. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  178. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +13 -3
  179. package/models/trace/handlers/PageLoadMetricsHandler.js +71 -27
  180. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  181. package/models/trace/handlers/SamplesHandler.js +59 -6
  182. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  183. package/models/trace/handlers/ScriptsHandler.js +24 -0
  184. package/models/trace/handlers/ScriptsHandler.js.map +1 -1
  185. package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  186. package/models/trace/handlers/handlers-tsconfig.json +13 -3
  187. package/models/trace/helpers/Network.js +1 -1
  188. package/models/trace/helpers/Network.js.map +1 -1
  189. package/models/trace/helpers/SamplesIntegrator.js +1 -8
  190. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  191. package/models/trace/helpers/Timing.d.ts +1 -1
  192. package/models/trace/helpers/Timing.js +9 -2
  193. package/models/trace/helpers/Timing.js.map +1 -1
  194. package/models/trace/helpers/Trace.d.ts +1 -0
  195. package/models/trace/helpers/Trace.js +12 -5
  196. package/models/trace/helpers/Trace.js.map +1 -1
  197. package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  198. package/models/trace/helpers/helpers-tsconfig.json +7 -3
  199. package/models/trace/insights/CharacterSet.d.ts +49 -0
  200. package/models/trace/insights/CharacterSet.js +132 -0
  201. package/models/trace/insights/CharacterSet.js.map +1 -0
  202. package/models/trace/insights/Common.d.ts +2 -2
  203. package/models/trace/insights/Common.js +1 -6
  204. package/models/trace/insights/Common.js.map +1 -1
  205. package/models/trace/insights/ForcedReflow.d.ts +1 -1
  206. package/models/trace/insights/ForcedReflow.js +1 -1
  207. package/models/trace/insights/ForcedReflow.js.map +1 -1
  208. package/models/trace/insights/LCPBreakdown.d.ts +1 -1
  209. package/models/trace/insights/LCPBreakdown.js +2 -2
  210. package/models/trace/insights/LCPBreakdown.js.map +1 -1
  211. package/models/trace/insights/LCPDiscovery.d.ts +7 -3
  212. package/models/trace/insights/LCPDiscovery.js +16 -10
  213. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  214. package/models/trace/insights/Models.d.ts +1 -0
  215. package/models/trace/insights/Models.js +1 -0
  216. package/models/trace/insights/Models.js.map +1 -1
  217. package/models/trace/insights/NetworkDependencyTree.js +4 -3
  218. package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
  219. package/models/trace/insights/RenderBlocking.d.ts +2 -2
  220. package/models/trace/insights/RenderBlocking.js +6 -6
  221. package/models/trace/insights/RenderBlocking.js.map +1 -1
  222. package/models/trace/insights/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  223. package/models/trace/insights/insights-tsconfig.json +26 -3
  224. package/models/trace/insights/types.d.ts +15 -5
  225. package/models/trace/insights/types.js +1 -0
  226. package/models/trace/insights/types.js.map +1 -1
  227. package/models/trace/lantern/core/core-tsconfig.json +4 -3
  228. package/models/trace/lantern/core/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  229. package/models/trace/lantern/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  230. package/models/trace/lantern/graph/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  231. package/models/trace/lantern/graph/graph-tsconfig.json +4 -3
  232. package/models/trace/lantern/lantern-tsconfig.json +4 -3
  233. package/models/trace/lantern/metrics/FirstContentfulPaint.js +6 -6
  234. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
  235. package/models/trace/lantern/metrics/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  236. package/models/trace/lantern/metrics/metrics-tsconfig.json +4 -3
  237. package/models/trace/lantern/simulation/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  238. package/models/trace/lantern/simulation/simulation-tsconfig.json +4 -3
  239. package/models/trace/lantern/types/Lantern.d.ts +7 -7
  240. package/models/trace/lantern/types/Lantern.js.map +1 -1
  241. package/models/trace/lantern/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  242. package/models/trace/lantern/types/types-tsconfig.json +4 -3
  243. package/models/trace/trace-tsconfig.json +7 -3
  244. package/models/trace/types/Configuration.d.ts +1 -4
  245. package/models/trace/types/Configuration.js +0 -1
  246. package/models/trace/types/Configuration.js.map +1 -1
  247. package/models/trace/types/File.d.ts +8 -0
  248. package/models/trace/types/File.js.map +1 -1
  249. package/models/trace/types/TraceEvents.d.ts +97 -15
  250. package/models/trace/types/TraceEvents.js +44 -11
  251. package/models/trace/types/TraceEvents.js.map +1 -1
  252. package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +4 -3
  253. package/models/trace/types/types-tsconfig.json +10 -3
  254. package/package.json +1 -1
  255. package/test/test-trace-engine.mjs +8 -9
  256. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts +0 -4
  257. package/.tmp/tsbuildinfo/models/trace/extras/polyfills.d.ts.map +0 -1
  258. package/core/platform/DOMUtilities.d.ts +0 -16
  259. package/core/platform/DOMUtilities.js +0 -123
  260. package/core/platform/DOMUtilities.js.map +0 -1
package/locales/vi.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "generated/Deprecation.ts | AttributionReporting": {
3
+ "message": "B\u00e1o c\u00e1o ph\u00e2n b\u1ed5 kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1. H\u00e3y truy c\u1eadp https://goo.gle/ps-status \u0111\u1ec3 xem th\u00f4ng tin chi ti\u1ebft."
4
+ },
2
5
  "generated/Deprecation.ts | AuthorizationCoveredByWildcard": {
3
6
  "message": "K\u00fd t\u1ef1 \u0111\u1ea1i di\u1ec7n (*) s\u1ebd kh\u00f4ng bao g\u1ed3m vi\u1ec7c u\u1ef7 quy\u1ec1n khi x\u1eed l\u00fdAccess-Control-Allow-Headers CORS."
4
7
  },
@@ -20,9 +23,6 @@
20
23
  "generated/Deprecation.ts | ChromeLoadTimesWasAlternateProtocolAvailable": {
21
24
  "message": "chrome.loadTimes() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa; thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng API \u0111\u00e3 chu\u1ea9n ho\u00e1: nextHopProtocol trong Navigation Timing 2."
22
25
  },
23
- "generated/Deprecation.ts | CookieWithTruncatingChar": {
24
- "message": "Cookie c\u00f3 ch\u1ee9a k\u00fd t\u1ef1 \\(0|r|n) s\u1ebd b\u1ecb t\u1eeb ch\u1ed1i thay v\u00ec c\u1eaft b\u1edbt."
25
- },
26
26
  "generated/Deprecation.ts | CrossOriginAccessBasedOnDocumentDomain": {
27
27
  "message": "H\u1ec7 th\u1ed1ng kh\u00f4ng c\u00f2n thi\u1ebft l\u1eadp document.domain \u0111\u1ec3 n\u1edbi l\u1ecfng ch\u00ednh s\u00e1ch c\u00f9ng ngu\u1ed3n g\u1ed1c n\u1eefa v\u00e0 t\u00ednh n\u0103ng n\u00e0y s\u1ebd b\u1ecb t\u1eaft theo m\u1eb7c \u0111\u1ecbnh. C\u1ea3nh b\u1ea3o v\u1ec1 vi\u1ec7c kh\u00f4ng d\u00f9ng n\u1eefa n\u00e0y l\u00e0 d\u00e0nh cho quy\u1ec1n truy c\u1eadp nhi\u1ec1u ngu\u1ed3n g\u1ed1c \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1eadt b\u1eb1ng c\u00e1ch thi\u1ebft l\u1eadp document.domain."
28
28
  },
@@ -35,14 +35,20 @@
35
35
  "generated/Deprecation.ts | DataUrlInSvgUse": {
36
36
  "message": "H\u1ed7 tr\u1ee3 v\u1ec1 d\u1eef li\u1ec7u: C\u00e1c URL trong SVGUseElement kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa v\u00e0 s\u1ebd b\u1ecb lo\u1ea1i b\u1ecf trong t\u01b0\u01a1ng lai."
37
37
  },
38
+ "generated/Deprecation.ts | ExampleBrowserProcessDeprecation": {
39
+ "message": "\u0110\u00e2y l\u00e0 v\u00ed d\u1ee5 minh ho\u1ea1 ph\u1ea7n m\u00e3 c\u1ea7n d\u00f9ng khi tr\u00ecnh duy\u1ec7t b\u00e1o r\u1eb1ng ti\u1ebfn tr\u00ecnh n\u00e0y \u0111\u00e3 ng\u1eebng ho\u1ea1t \u0111\u1ed9ng."
40
+ },
41
+ "generated/Deprecation.ts | Fledge": {
42
+ "message": "Protected Audience API kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1 trong b\u1ea3n ph\u00e1t h\u00e0nh sau n\u00e0y."
43
+ },
38
44
  "generated/Deprecation.ts | GeolocationInsecureOrigin": {
39
- "message": "getCurrentPosition() v\u00e0 watchPosition() kh\u00f4ng c\u00f2n ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Xem https://goo.gle/chrome-insecure-origins \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin."
45
+ "message": "getCurrentPosition() v\u00e0 watchPosition() kh\u00f4ng c\u00f2n ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Truy c\u1eadp https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ \u0111\u1ec3 bi\u1ebft th\u00eam chi ti\u1ebft."
40
46
  },
41
47
  "generated/Deprecation.ts | GeolocationInsecureOriginDeprecatedNotRemoved": {
42
- "message": "getCurrentPosition() v\u00e0 watchPosition() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Xem https://goo.gle/chrome-insecure-origins \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin."
48
+ "message": "getCurrentPosition() v\u00e0 watchPosition() kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c d\u00f9ng tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Truy c\u1eadp https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ \u0111\u1ec3 bi\u1ebft th\u00eam chi ti\u1ebft."
43
49
  },
44
50
  "generated/Deprecation.ts | GetUserMediaInsecureOrigin": {
45
- "message": "getUserMedia() kh\u00f4ng c\u00f2n ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Xem https://goo.gle/chrome-insecure-origins \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin."
51
+ "message": "getUserMedia() kh\u00f4ng c\u00f2n ho\u1ea1t \u0111\u1ed9ng tr\u00ean c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. \u0110\u1ec3 d\u00f9ng t\u00ednh n\u0103ng n\u00e0y, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Truy c\u1eadp https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ \u0111\u1ec3 bi\u1ebft th\u00eam chi ti\u1ebft."
46
52
  },
47
53
  "generated/Deprecation.ts | HostCandidateAttributeGetter": {
48
54
  "message": "RTCPeerConnectionIceErrorEvent.hostCandidate kh\u00f4ng c\u00f2n ho\u1ea1t \u0111\u1ed9ng. Thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng RTCPeerConnectionIceErrorEvent.address ho\u1eb7c RTCPeerConnectionIceErrorEvent.port."
@@ -59,20 +65,35 @@
59
65
  "generated/Deprecation.ts | IntlV8BreakIterator": {
60
66
  "message": "Intl.v8BreakIterator kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng Intl.Segmenter."
61
67
  },
62
- "generated/Deprecation.ts | LocalCSSFileExtensionRejected": {
63
- "message": "Kh\u00f4ng t\u1ea3i \u0111\u01b0\u1ee3c CSS qua c\u00e1c URL file: tr\u1eeb phi ch\u00fang k\u1ebft th\u00fac b\u1eb1ng \u0111u\u00f4i t\u1ec7p .css."
68
+ "generated/Deprecation.ts | LanguageModelParams": {
69
+ "message": "LanguageModel.params() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa v\u00e0 hi\u1ec7n ch\u1ec9 c\u00f3 trong ng\u1eef c\u1ea3nh c\u1ee7a ti\u1ec7n \u00edch. C\u00e1c tr\u01b0\u1eddng li\u00ean quan \u0111\u1ebfn topK v\u00e0 temperature trong k\u1ebft qu\u1ea3 c\u1ee7a tr\u01b0\u1eddng n\u00e0y c\u0169ng kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa."
70
+ },
71
+ "generated/Deprecation.ts | LanguageModelTemperature": {
72
+ "message": "Tham s\u1ed1/thu\u1ed9c t\u00ednh \"temperature\" cho LanguageModel kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. L\u1ef1a ch\u1ecdn n\u00e0y ch\u1ec9 ho\u1ea1t \u0111\u1ed9ng trong c\u00e1c ti\u1ec7n \u00edch v\u00e0 c\u00f3 th\u1ec3 b\u1ecb xo\u00e1 trong t\u01b0\u01a1ng lai."
73
+ },
74
+ "generated/Deprecation.ts | LanguageModelTopK": {
75
+ "message": "Tham s\u1ed1/thu\u1ed9c t\u00ednh \"topK\" cho LanguageModel kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. L\u1ef1a ch\u1ecdn n\u00e0y ch\u1ec9 ho\u1ea1t \u0111\u1ed9ng trong c\u00e1c ti\u1ec7n \u00edch v\u00e0 c\u00f3 th\u1ec3 b\u1ecb xo\u00e1 trong t\u01b0\u01a1ng lai."
76
+ },
77
+ "generated/Deprecation.ts | LanguageModel_InputQuota": {
78
+ "message": "LanguageModel.inputQuota kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng LanguageModel.contextWindow. B\u1ea1n ch\u1ec9 c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng b\u00ed danh n\u00e0y trong c\u00e1c ti\u1ec7n \u00edch."
79
+ },
80
+ "generated/Deprecation.ts | LanguageModel_InputUsage": {
81
+ "message": "LanguageModel.inputUsage kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng LanguageModel.contextUsage. B\u1ea1n ch\u1ec9 c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng b\u00ed danh n\u00e0y trong c\u00e1c ti\u1ec7n \u00edch."
64
82
  },
65
- "generated/Deprecation.ts | MediaSourceAbortRemove": {
66
- "message": "H\u1ec7 th\u1ed1ng kh\u00f4ng d\u00f9ng SourceBuffer.abort() \u0111\u1ec3 hu\u1ef7 vi\u1ec7c xo\u00e1 kho\u1ea3ng kh\u00f4ng \u0111\u1ed3ng b\u1ed9 c\u1ee7a remove() n\u1eefa do thay \u0111\u1ed5i v\u1ec1 quy c\u00e1ch. Sau n\u00e0y ch\u1ebf \u0111\u1ed9 h\u1ed7 tr\u1ee3 c\u0169ng s\u1ebd b\u1ecb xo\u00e1. Thay v\u00e0o \u0111\u00f3, b\u1ea1n n\u00ean nghe s\u1ef1 ki\u1ec7n updateend. M\u1ee5c \u0111\u00edch c\u1ee7a abort() ch\u1ec9 l\u00e0 hu\u1ef7 l\u1ec7nh th\u00eam n\u1ed9i dung nghe nh\u00ecn kh\u00f4ng \u0111\u1ed3ng b\u1ed9 (asynchronous media append) ho\u1eb7c \u0111\u1eb7t l\u1ea1i tr\u1ea1ng th\u00e1i c\u1ee7a tr\u00ecnh ph\u00e2n t\u00edch c\u00fa ph\u00e1p."
83
+ "generated/Deprecation.ts | LanguageModel_MeasureInputUsage": {
84
+ "message": "LanguageModel.measureInputUsage() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng LanguageModel.measureContextUsage(). B\u1ea1n ch\u1ec9 c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng b\u00ed danh n\u00e0y trong c\u00e1c ti\u1ec7n \u00edch."
67
85
  },
68
- "generated/Deprecation.ts | MediaSourceDurationTruncatingBuffered": {
69
- "message": "Do thay \u0111\u1ed5i v\u1ec1 quy c\u00e1ch, h\u1ec7 th\u1ed1ng kh\u00f4ng c\u00f2n d\u00f9ng ch\u1ebf \u0111\u1ed9 \u0111\u1eb7t gi\u00e1 tr\u1ecb d\u01b0\u1edbi d\u1ea5u th\u1eddi gian tr\u00ecnh b\u00e0y cao nh\u1ea5t cho MediaSource.duration n\u1eefa \u0111\u1ed1i v\u1edbi m\u1ecdi khung \u0111\u00e3 m\u00e3 ho\u00e1 v\u00e0 l\u01b0u v\u00e0o v\u00f9ng \u0111\u1ec7m. Ch\u1ebf \u0111\u1ed9 h\u1ed7 tr\u1ee3 y\u00eau c\u1ea7u xo\u00e1 t\u01b0\u1eddng minh cho n\u1ed9i dung ph\u01b0\u01a1ng ti\u1ec7n l\u01b0u trong b\u1ed9 \u0111\u1ec7m b\u1ecb c\u1eaft b\u1edbt sau n\u00e0y c\u0169ng s\u1ebd b\u1ecb xo\u00e1. B\u1ea1n n\u00ean tri\u1ec3n khai l\u1ec7nh remove(newDuration, oldDuration) t\u01b0\u1eddng minh tr\u00ean m\u1ecdi sourceBuffers, khi newDuration < oldDuration."
86
+ "generated/Deprecation.ts | LanguageModel_OnQuotaOverflow": {
87
+ "message": "LanguageModel.onquotaoverflow kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng LanguageModel.oncontextoverflow. B\u1ea1n ch\u1ec9 c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng b\u00ed danh LanguageModel.onquotaoverflow trong c\u00e1c ti\u1ec7n \u00edch."
88
+ },
89
+ "generated/Deprecation.ts | LocalCSSFileExtensionRejected": {
90
+ "message": "Kh\u00f4ng t\u1ea3i \u0111\u01b0\u1ee3c CSS qua c\u00e1c URL file: tr\u1eeb phi ch\u00fang k\u1ebft th\u00fac b\u1eb1ng \u0111u\u00f4i t\u1ec7p .css."
70
91
  },
71
92
  "generated/Deprecation.ts | NoSysexWebMIDIWithoutPermission": {
72
93
  "message": "Web MIDI s\u1ebd y\u00eau c\u1ea7u c\u1ea5p quy\u1ec1n s\u1eed d\u1ee5ng ngay c\u1ea3 khi MIDIOptions kh\u00f4ng ch\u1ec9 r\u00f5 sysex."
73
94
  },
74
95
  "generated/Deprecation.ts | NotificationInsecureOrigin": {
75
- "message": "C\u00f3 th\u1ec3 Notification API kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa qua c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. B\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Xem https://goo.gle/chrome-insecure-origins \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin."
96
+ "message": "Notification API c\u00f3 th\u1ec3 kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c d\u00f9ng qua c\u00e1c ngu\u1ed3n g\u1ed1c kh\u00f4ng an to\u00e0n. B\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c chuy\u1ec3n \u1ee9ng d\u1ee5ng sang m\u1ed9t ngu\u1ed3n g\u1ed1c an to\u00e0n, ch\u1eb3ng h\u1ea1n nh\u01b0 HTTPS. Truy c\u1eadp https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins/ \u0111\u1ec3 bi\u1ebft th\u00eam chi ti\u1ebft."
76
97
  },
77
98
  "generated/Deprecation.ts | NotificationPermissionRequestedIframe": {
78
99
  "message": "C\u00f3 th\u1ec3 quy\u1ec1n cho Notification API kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u qua m\u1ed9t iframe nhi\u1ec1u ngu\u1ed3n g\u1ed1c n\u1eefa. Thay v\u00e0o \u0111\u00f3, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc vi\u1ec7c y\u00eau c\u1ea7u quy\u1ec1n qua m\u1ed9t khung c\u1ea5p cao ho\u1eb7c m\u1edf m\u1ed9t c\u1eeda s\u1ed5 m\u1edbi."
@@ -125,9 +146,6 @@
125
146
  "generated/Deprecation.ts | PrefixedVideoSupportsFullscreen": {
126
147
  "message": "HTMLVideoElement.webkitSupportsFullscreen kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng Document.fullscreenEnabled."
127
148
  },
128
- "generated/Deprecation.ts | PrivacySandboxExtensionsAPI": {
129
- "message": "Ch\u00fang t\u00f4i s\u1ebd kh\u00f4ng d\u00f9ng API chrome.privacy.websites.privacySandboxEnabled n\u1eefa. Tuy nhi\u00ean, API n\u00e0y s\u1ebd v\u1eabn ho\u1ea1t \u0111\u1ed9ng nh\u1eb1m \u0111\u1ea3m b\u1ea3o kh\u1ea3 n\u0103ng t\u01b0\u01a1ng th\u00edch ng\u01b0\u1ee3c cho \u0111\u1ebfn khi ph\u00e1t h\u00e0nh phi\u00ean b\u1ea3n M113. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng chrome.privacy.websites.topicsEnabled, chrome.privacy.websites.fledgeEnabled v\u00e0 chrome.privacy.websites.adMeasurementEnabled. Truy c\u1eadp v\u00e0o https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
130
- },
131
149
  "generated/Deprecation.ts | RTCConstraintEnableDtlsSrtpFalse": {
132
150
  "message": "\u0110i\u1ec1u ki\u1ec7n h\u1ea1n ch\u1ebf DtlsSrtpKeyAgreement \u0111\u00e3 b\u1ecb xo\u00e1. B\u1ea1n \u0111\u00e3 ch\u1ec9 \u0111\u1ecbnh m\u1ed9t gi\u00e1 tr\u1ecb false cho \u0111i\u1ec1u ki\u1ec7n h\u1ea1n ch\u1ebf n\u00e0y, \u0111\u00e2y \u0111\u01b0\u1ee3c coi l\u00e0 n\u1ed7 l\u1ef1c s\u1eed d\u1ee5ng ph\u01b0\u01a1ng th\u1ee9c SDES key negotiation \u0111\u00e3 b\u1ecb xo\u00e1. Ch\u1ee9c n\u0103ng n\u00e0y \u0111\u00e3 b\u1ecb xo\u00e1; thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng m\u1ed9t d\u1ecbch v\u1ee5 c\u00f3 h\u1ed7 tr\u1ee3 DTLS key negotiation."
133
151
  },
@@ -140,6 +158,9 @@
140
158
  "generated/Deprecation.ts | RangeExpand": {
141
159
  "message": "Range.expand() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, vui l\u00f2ng s\u1eed d\u1ee5ng Selection.modify()."
142
160
  },
161
+ "generated/Deprecation.ts | RelatedWebsiteSets": {
162
+ "message": "Related Website Sets kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1. H\u00e3y truy c\u1eadp v\u00e0o https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/ \u0111\u1ec3 xem th\u00eam th\u00f4ng tin chi ti\u1ebft."
163
+ },
143
164
  "generated/Deprecation.ts | RequestedSubresourceWithEmbeddedCredentials": {
144
165
  "message": "Y\u00eau c\u1ea7u t\u00e0i nguy\u00ean ph\u1ee5 c\u00f3 URL ch\u1ee9a th\u00f4ng tin x\u00e1c th\u1ef1c \u0111\u01b0\u1ee3c nh\u00fang (v\u00ed d\u1ee5: https://user:pass@host/) s\u1ebd b\u1ecb ch\u1eb7n."
145
166
  },
@@ -149,26 +170,41 @@
149
170
  "generated/Deprecation.ts | SharedArrayBufferConstructedWithoutIsolation": {
150
171
  "message": "SharedArrayBuffer s\u1ebd \u0111\u00f2i h\u1ecfi vi\u1ec7c t\u00e1ch bi\u1ec7t nhi\u1ec1u ngu\u1ed3n g\u1ed1c. Xem https://developer.chrome.com/blog/enabling-shared-array-buffer/ \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin."
151
172
  },
173
+ "generated/Deprecation.ts | SharedStorage": {
174
+ "message": "Shared Storage API kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1 trong b\u1ea3n ph\u00e1t h\u00e0nh sau n\u00e0y."
175
+ },
176
+ "generated/Deprecation.ts | StorageAccessAPI_requestStorageAccessFor_Method": {
177
+ "message": "document.requestStorageAccessFor kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1. H\u00e3y truy c\u1eadp v\u00e0o https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/ \u0111\u1ec3 xem th\u00eam th\u00f4ng tin chi ti\u1ebft."
178
+ },
152
179
  "generated/Deprecation.ts | TextToSpeech_DisallowedByAutoplay": {
153
180
  "message": "Khi kh\u00f4ng c\u00f3 ho\u1ea1t \u0111\u1ed9ng c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, speechSynthesis.speak() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa v\u00e0 s\u1ebd \u0111\u01b0\u1ee3c lo\u1ea1i b\u1ecf."
154
181
  },
182
+ "generated/Deprecation.ts | Topics": {
183
+ "message": "Topics API kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa n\u00ean s\u1ebd b\u1ecb xo\u00e1 trong b\u1ea3n ph\u00e1t h\u00e0nh sau n\u00e0y."
184
+ },
155
185
  "generated/Deprecation.ts | UnloadHandler": {
156
186
  "message": "Tr\u00ecnh nghe s\u1ef1 ki\u1ec7n hu\u1ef7 t\u1ea3i kh\u00f4ng d\u00f9ng \u0111\u01b0\u1ee3c n\u1eefa v\u00e0 s\u1ebd b\u1ecb lo\u1ea1i b\u1ecf."
157
187
  },
158
188
  "generated/Deprecation.ts | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
159
189
  "message": "C\u00e1c ti\u1ec7n \u00edch ph\u1ea3i ch\u1ecdn s\u1eed d\u1ee5ng ch\u1ebf \u0111\u1ed9 t\u00e1ch bi\u1ec7t nhi\u1ec1u ngu\u1ed3n g\u1ed1c \u0111\u1ebb c\u00f3 th\u1ec3 ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng SharedArrayBuffer. Xem https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
160
190
  },
191
+ "generated/Deprecation.ts | WebBluetoothRemoteCharacteristicWriteValue": {
192
+ "message": "BluetoothRemoteGATTCharacteristic.writeValue() kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa. Thay v\u00e0o \u0111\u00f3, h\u00e3y s\u1eed d\u1ee5ng writeValueWithResponse() ho\u1eb7c writeValueWithoutResponse()."
193
+ },
161
194
  "generated/Deprecation.ts | XHRJSONEncodingDetection": {
162
195
  "message": "JSON ph\u1ea3n h\u1ed3i kh\u00f4ng h\u1ed7 tr\u1ee3 UTF-16 trong XMLHttpRequest"
163
196
  },
164
197
  "generated/Deprecation.ts | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
165
198
  "message": "T\u00ednh n\u0103ng XMLHttpRequest \u0111\u1ed3ng b\u1ed9 tr\u00ean lu\u1ed3ng ch\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c d\u00f9ng n\u1eefa do c\u00f3 t\u00e1c \u0111\u1ed9ng kh\u00f4ng t\u1ed1t \u0111\u1ed1i v\u1edbi tr\u1ea3i nghi\u1ec7m c\u1ee7a ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i. \u0110\u1ec3 xem th\u00eam th\u00f4ng tin tr\u1ee3 gi\u00fap, h\u00e3y tham kh\u1ea3o https://xhr.spec.whatwg.org/."
166
199
  },
200
+ "generated/Deprecation.ts | XSLT": {
201
+ "message": "XSLTProcessor v\u00e0 H\u01b0\u1edbng d\u1eabn x\u1eed l\u00fd XSLT kh\u00f4ng c\u00f2n \u0111\u01b0\u1ee3c d\u00f9ng tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c tr\u00ecnh duy\u1ec7t. C\u00e1c t\u00ednh n\u0103ng n\u00e0y s\u1eafp b\u1ecb xo\u00e1 kh\u1ecfi tr\u00ecnh duy\u1ec7t n\u00e0y."
202
+ },
167
203
  "models/trace/insights/CLSCulprits.ts | animation": {
168
204
  "message": "\u1ea2nh \u0111\u1ed9ng"
169
205
  },
170
206
  "models/trace/insights/CLSCulprits.ts | description": {
171
- "message": "B\u1ed1 c\u1ee5c thay \u0111\u1ed5i khi ph\u1ea7n t\u1eed di chuy\u1ec3n m\u00e0 kh\u00f4ng c\u00f3 s\u1ef1 t\u01b0\u01a1ng t\u00e1c c\u1ee7a ng\u01b0\u1eddi d\u00f9ng. [H\u00e3y t\u00ecm hi\u1ec3u nguy\u00ean nh\u00e2n b\u1ed1 c\u1ee5c thay \u0111\u1ed5i](https://web.dev/articles/optimize-cls), ch\u1eb3ng h\u1ea1n nh\u01b0 ph\u1ea7n t\u1eed \u0111\u01b0\u1ee3c th\u00eam, b\u1ecb xo\u00e1 ho\u1eb7c ph\u00f4ng ch\u1eef c\u1ee7a ph\u1ea7n t\u1eed thay \u0111\u1ed5i khi trang t\u1ea3i."
207
+ "message": "B\u1ed1 c\u1ee5c thay \u0111\u1ed5i khi ph\u1ea7n t\u1eed di chuy\u1ec3n m\u00e0 kh\u00f4ng c\u00f3 s\u1ef1 t\u01b0\u01a1ng t\u00e1c c\u1ee7a ng\u01b0\u1eddi d\u00f9ng. [H\u00e3y t\u00ecm hi\u1ec3u nguy\u00ean nh\u00e2n b\u1ed1 c\u1ee5c thay \u0111\u1ed5i](https://developer.chrome.com/docs/performance/insights/cls-culprit), ch\u1eb3ng h\u1ea1n nh\u01b0 ph\u1ea7n t\u1eed \u0111\u01b0\u1ee3c th\u00eam, b\u1ecb xo\u00e1 ho\u1eb7c ph\u00f4ng ch\u1eef c\u1ee7a ph\u1ea7n t\u1eed thay \u0111\u1ed5i khi trang t\u1ea3i."
172
208
  },
173
209
  "models/trace/insights/CLSCulprits.ts | injectedIframe": {
174
210
  "message": "iframe \u0111\u01b0\u1ee3c ch\u00e8n"
@@ -204,7 +240,7 @@
204
240
  "message": "Th\u1eddi gian t\u1ed3n t\u1ea1i (TTL) c\u1ee7a b\u1ed9 nh\u1edb \u0111\u1ec7m"
205
241
  },
206
242
  "models/trace/insights/Cache.ts | description": {
207
- "message": "B\u1ed9 nh\u1edb \u0111\u1ec7m c\u00f3 th\u1eddi gian h\u1eefu d\u1ee5ng d\u00e0i c\u00f3 th\u1ec3 gi\u00fap t\u0103ng t\u1ed1c s\u1ed1 l\u01b0\u1ee3t truy c\u1eadp l\u1eb7p l\u1ea1i v\u00e0o trang c\u1ee7a b\u1ea1n. [T\u00ecm hi\u1ec3u th\u00eam](https://web.dev/uses-long-cache-ttl/)"
243
+ "message": "B\u1ed9 nh\u1edb \u0111\u1ec7m c\u00f3 th\u1eddi gian h\u1eefu d\u1ee5ng d\u00e0i c\u00f3 th\u1ec3 gi\u00fap t\u0103ng t\u1ed1c s\u1ed1 l\u01b0\u1ee3t truy c\u1eadp l\u1eb7p l\u1ea1i v\u00e0o trang c\u1ee7a b\u1ea1n. [T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 b\u1ed9 nh\u1edb \u0111\u1ec7m](https://developer.chrome.com/docs/performance/insights/cache)."
208
244
  },
209
245
  "models/trace/insights/Cache.ts | noRequestsToCache": {
210
246
  "message": "Kh\u00f4ng y\u00eau c\u1ea7u n\u00e0o c\u00f3 ch\u00ednh s\u00e1ch b\u1ed9 nh\u1edb \u0111\u1ec7m kh\u00f4ng hi\u1ec7u qu\u1ea3"
@@ -219,7 +255,7 @@
219
255
  "message": "S\u1eed d\u1ee5ng th\u1eddi gian h\u1eefu d\u1ee5ng c\u1ee7a b\u1ed9 nh\u1edb \u0111\u1ec7m hi\u1ec7u qu\u1ea3"
220
256
  },
221
257
  "models/trace/insights/DOMSize.ts | description": {
222
- "message": "DOM l\u1edbn c\u00f3 th\u1ec3 l\u00e0m c\u00e1c ph\u00e9p t\u00ednh v\u1ec1 ki\u1ec3u v\u00e0 quy tr\u00ecnh tr\u00ecnh b\u00e0y l\u1ea1i b\u1ed1 c\u1ee5c d\u00e0i h\u01a1n, \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a trang. DOM l\u1edbn c\u0169ng s\u1ebd l\u00e0m t\u0103ng m\u1ee9c s\u1eed d\u1ee5ng b\u1ed9 nh\u1edb. [T\u00ecm hi\u1ec3u c\u00e1ch tr\u00e1nh k\u00edch th\u01b0\u1edbc DOM qu\u00e1 l\u1edbn](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
258
+ "message": "DOM l\u1edbn c\u00f3 th\u1ec3 l\u00e0m c\u00e1c ph\u00e9p t\u00ednh v\u1ec1 ki\u1ec3u v\u00e0 quy tr\u00ecnh tr\u00ecnh b\u00e0y l\u1ea1i b\u1ed1 c\u1ee5c d\u00e0i h\u01a1n, \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn t\u1ed1c \u0111\u1ed9 ph\u1ea3n h\u1ed3i c\u1ee7a trang. DOM l\u1edbn c\u0169ng s\u1ebd l\u00e0m t\u0103ng m\u1ee9c s\u1eed d\u1ee5ng b\u1ed9 nh\u1edb. [T\u00ecm hi\u1ec3u c\u00e1ch tr\u00e1nh k\u00edch th\u01b0\u1edbc DOM qu\u00e1 l\u1edbn](https://developer.chrome.com/docs/performance/insights/dom-size)."
223
259
  },
224
260
  "models/trace/insights/DOMSize.ts | duration": {
225
261
  "message": "Th\u1eddi l\u01b0\u1ee3ng"
@@ -255,7 +291,7 @@
255
291
  "message": "Gi\u00e1 tr\u1ecb"
256
292
  },
257
293
  "models/trace/insights/DocumentLatency.ts | description": {
258
- "message": "Y\u00eau c\u1ea7u m\u1ea1ng \u0111\u1ea7u ti\u00ean l\u00e0 quan tr\u1ecdng nh\u1ea5t. Gi\u1ea3m \u0111\u1ed9 tr\u1ec5 b\u1eb1ng c\u00e1ch tr\u00e1nh d\u00f9ng \u0111\u01b0\u1eddng li\u00ean k\u1ebft chuy\u1ec3n h\u01b0\u1edbng, \u0111\u1ea3m b\u1ea3o m\u00e1y ch\u1ee7 ph\u1ea3n h\u1ed3i nhanh v\u00e0 b\u1eadt t\u00ednh n\u0103ng n\u00e9n v\u0103n b\u1ea3n."
294
+ "message": "Y\u00eau c\u1ea7u k\u1ebft n\u1ed1i m\u1ea1ng \u0111\u1ea7u ti\u00ean l\u00e0 quan tr\u1ecdng nh\u1ea5t. [Gi\u1ea3m \u0111\u1ed9 tr\u1ec5](https://developer.chrome.com/docs/performance/insights/document-latency) b\u1eb1ng c\u00e1ch tr\u00e1nh d\u00f9ng \u0111\u01b0\u1eddng li\u00ean k\u1ebft chuy\u1ec3n h\u01b0\u1edbng, \u0111\u1ea3m b\u1ea3o m\u00e1y ch\u1ee7 ph\u1ea3n h\u1ed3i nhanh v\u00e0 b\u1eadt t\u00ednh n\u0103ng n\u00e9n v\u0103n b\u1ea3n."
259
295
  },
260
296
  "models/trace/insights/DocumentLatency.ts | failedRedirects": {
261
297
  "message": "C\u00f3 chuy\u1ec3n h\u01b0\u1edbng ({PH1} chuy\u1ec3n h\u01b0\u1edbng, +{PH2})"
@@ -294,13 +330,13 @@
294
330
  "message": "Ngu\u1ed3n"
295
331
  },
296
332
  "models/trace/insights/DuplicatedJavaScript.ts | description": {
297
- "message": "Xo\u00e1 c\u00e1c m\u00f4-\u0111un JavaScript tr\u00f9ng l\u1eb7p l\u1edbn kh\u1ecfi g\u00f3i \u0111\u1ec3 gi\u1ea3m s\u1ed1 byte m\u00e0 ho\u1ea1t \u0111\u1ed9ng m\u1ea1ng ti\u00eau th\u1ee5 kh\u00f4ng c\u1ea7n thi\u1ebft."
333
+ "message": "Xo\u00e1 [c\u00e1c m\u00f4-\u0111un JavaScript tr\u00f9ng l\u1eb7p](https://developer.chrome.com/docs/performance/insights/duplicated-javascript), l\u1edbn kh\u1ecfi g\u00f3i \u0111\u1ec3 gi\u1ea3m s\u1ed1 byte kh\u00f4ng c\u1ea7n thi\u1ebft m\u00e0 ho\u1ea1t \u0111\u1ed9ng m\u1ea1ng s\u1eed d\u1ee5ng."
298
334
  },
299
335
  "models/trace/insights/DuplicatedJavaScript.ts | title": {
300
336
  "message": "JavaScript tr\u00f9ng l\u1eb7p"
301
337
  },
302
338
  "models/trace/insights/FontDisplay.ts | description": {
303
- "message": "H\u00e3y c\u00e2n nh\u1eafc \u0111\u1eb7t [font-display](https://developer.chrome.com/blog/font-display) th\u00e0nh swap ho\u1eb7c optional \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o v\u0103n b\u1ea3n hi\u1ec3n th\u1ecb nh\u1ea5t qu\u00e1n. C\u00f3 th\u1ec3 t\u1ed1i \u01b0u ho\u00e1 swap h\u01a1n n\u1eefa \u0111\u1ec3 gi\u1ea3m thi\u1ec3u thay \u0111\u1ed5i b\u1ed1 c\u1ee5c b\u1eb1ng thu\u1ed9c t\u00ednh [ghi \u0111\u00e8 ch\u1ec9 s\u1ed1 ph\u00f4ng ch\u1eef](https://developer.chrome.com/blog/font-fallbacks)."
339
+ "message": "H\u00e3y c\u00e2n nh\u1eafc \u0111\u1eb7t [font-display](https://developer.chrome.com/docs/performance/insights/font-display) th\u00e0nh swap ho\u1eb7c optional \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o v\u0103n b\u1ea3n hi\u1ec3n th\u1ecb nh\u1ea5t qu\u00e1n. C\u00f3 th\u1ec3 t\u1ed1i \u01b0u ho\u00e1 swap h\u01a1n n\u1eefa \u0111\u1ec3 gi\u1ea3m thi\u1ec3u thay \u0111\u1ed5i b\u1ed1 c\u1ee5c b\u1eb1ng thu\u1ed9c t\u00ednh [ghi \u0111\u00e8 ch\u1ec9 s\u1ed1 ph\u00f4ng ch\u1eef](https://developer.chrome.com/blog/font-fallbacks)."
304
340
  },
305
341
  "models/trace/insights/FontDisplay.ts | fontColumn": {
306
342
  "message": "Ph\u00f4ng ch\u1eef"
@@ -315,10 +351,10 @@
315
351
  "message": "(\u1ea9n danh)"
316
352
  },
317
353
  "models/trace/insights/ForcedReflow.ts | description": {
318
- "message": "Ch\u1ebf \u0111\u1ed9 bu\u1ed9c chi\u0309nh la\u0323i lu\u1ed3ng di\u1ec5n ra khi JavaScript truy v\u1ea5n c\u00e1c thu\u1ed9c t\u00ednh h\u00ecnh h\u1ecdc (ch\u1eb3ng h\u1ea1n nh\u01b0 offsetWidth) sau khi c\u00e1c ki\u1ec3u \u0111\u00e3 b\u1ecb v\u00f4 hi\u1ec7u ho\u00e1 do tr\u1ea1ng th\u00e1i DOM c\u00f3 thay \u0111\u1ed5i. \u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 d\u1eabn \u0111\u1ebfn hi\u1ec7u su\u1ea5t k\u00e9m. T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 [ch\u1ebf \u0111\u1ed9 bu\u1ed9c ch\u1ec9nh l\u1ea1i lu\u1ed3ng](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) v\u00e0 c\u00e1c bi\u1ec7n ph\u00e1p gi\u1ea3m thi\u1ec3u c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng."
354
+ "message": "Ch\u1ebf \u0111\u1ed9 bu\u1ed9c chi\u0309nh la\u0323i lu\u1ed3ng di\u1ec5n ra khi JavaScript truy v\u1ea5n c\u00e1c thu\u1ed9c t\u00ednh h\u00ecnh h\u1ecdc (ch\u1eb3ng h\u1ea1n nh\u01b0 offsetWidth) sau khi c\u00e1c ki\u1ec3u \u0111\u00e3 b\u1ecb v\u00f4 hi\u1ec7u ho\u00e1 do tr\u1ea1ng th\u00e1i DOM c\u00f3 thay \u0111\u1ed5i. \u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 d\u1eabn \u0111\u1ebfn hi\u1ec7u su\u1ea5t k\u00e9m. T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 [ch\u1ebf \u0111\u1ed9 bu\u1ed9c ch\u1ec9nh l\u1ea1i lu\u1ed3ng](https://developer.chrome.com/docs/performance/insights/forced-reflow) v\u00e0 c\u00e1c bi\u1ec7n ph\u00e1p gi\u1ea3m thi\u1ec3u c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng."
319
355
  },
320
- "models/trace/insights/ForcedReflow.ts | relatedStackTrace": {
321
- "message": "D\u1ea5u v\u1ebft ng\u0103n x\u1ebfp"
356
+ "models/trace/insights/ForcedReflow.ts | reflowCallFrames": {
357
+ "message": "Khung l\u1ec7nh g\u1ecdi k\u00edch ho\u1ea1t ch\u1ec9nh l\u1ea1i lu\u1ed3ng"
322
358
  },
323
359
  "models/trace/insights/ForcedReflow.ts | title": {
324
360
  "message": "Bu\u1ed9c chi\u0309nh la\u0323i lu\u1ed3ng"
@@ -333,7 +369,7 @@
333
369
  "message": "[ch\u01b0a \u0111\u01b0\u1ee3c ph\u00e2n b\u1ed5]"
334
370
  },
335
371
  "models/trace/insights/INPBreakdown.ts | description": {
336
- "message": "B\u1eaft \u0111\u1ea7u ki\u1ec3m tra ph\u1ea7n ph\u1ee5 d\u00e0i nh\u1ea5t. [C\u00f3 th\u1ec3 gi\u1ea3m thi\u1ec3u s\u1ef1 ch\u1eadm tr\u1ec5](https://web.dev/articles/optimize-inp#optimize_interactions). \u0110\u1ec3 gi\u1ea3m th\u1eddi gian x\u1eed l\u00fd, [h\u00e3y t\u1ed1i \u01b0u ho\u00e1 hi\u1ec7u su\u1ea5t c\u1ee7a lu\u1ed3ng ch\u00ednh](https://web.dev/articles/optimize-long-tasks), th\u01b0\u1eddng l\u00e0 JS."
372
+ "message": "B\u1eaft \u0111\u1ea7u t\u00ecm hi\u1ec3u [c\u00e1ch c\u1ea3i thi\u1ec7n INP](https://developer.chrome.com/docs/performance/insights/inp-breakdown) b\u1eb1ng c\u00e1ch xem ph\u1ea7n ph\u1ee5 d\u00e0i nh\u1ea5t."
337
373
  },
338
374
  "models/trace/insights/INPBreakdown.ts | duration": {
339
375
  "message": "Th\u1eddi l\u01b0\u1ee3ng"
@@ -357,7 +393,7 @@
357
393
  "message": "B\u1ea3ng chi ti\u1ebft v\u1ec1 INP"
358
394
  },
359
395
  "models/trace/insights/ImageDelivery.ts | description": {
360
- "message": "Vi\u1ec7c gi\u1ea3m th\u1eddi gian t\u1ea3i h\u00ecnh \u1ea3nh xu\u1ed1ng c\u00f3 th\u1ec3 c\u1ea3i thi\u1ec7n th\u1eddi gian t\u1ea3i trang v\u00e0 LCP \u0111\u01b0\u1ee3c c\u1ea3m nh\u1eadn. [T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 c\u00e1ch t\u1ed1i \u01b0u ho\u00e1 k\u00edch th\u01b0\u1edbc h\u00ecnh \u1ea3nh](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
396
+ "message": "Vi\u1ec7c gi\u1ea3m th\u1eddi gian t\u1ea3i h\u00ecnh \u1ea3nh xu\u1ed1ng c\u00f3 th\u1ec3 c\u1ea3i thi\u1ec7n th\u1eddi gian t\u1ea3i trang v\u00e0 LCP \u0111\u01b0\u1ee3c c\u1ea3m nh\u1eadn. [T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 c\u00e1ch t\u1ed1i \u01b0u ho\u00e1 k\u00edch th\u01b0\u1edbc h\u00ecnh \u1ea3nh](https://developer.chrome.com/docs/performance/insights/image-delivery)"
361
397
  },
362
398
  "models/trace/insights/ImageDelivery.ts | estimatedSavings": {
363
399
  "message": "{PH1} (\u01af\u1edbc t\u00ednh l\u00e0 {PH2})"
@@ -387,7 +423,7 @@
387
423
  "message": "Vi\u1ec7c s\u1eed d\u1ee5ng \u0111\u1ecbnh d\u1ea1ng video thay v\u00ec GIF c\u00f3 th\u1ec3 c\u1ea3i thi\u1ec7n k\u00edch th\u01b0\u1edbc t\u1ea3i xu\u1ed1ng c\u1ee7a n\u1ed9i dung \u0111\u1ed9ng."
388
424
  },
389
425
  "models/trace/insights/LCPBreakdown.ts | description": {
390
- "message": "M\u1ed7i [ph\u1ea7n ph\u1ee5 c\u00f3 m\u1ed9t chi\u1ebfn l\u01b0\u1ee3c c\u1ea3i thi\u1ec7n c\u1ee5 th\u1ec3](https://web.dev/articles/optimize-lcp#lcp-breakdown). T\u1ed1t nh\u1ea5t l\u00e0 th\u1eddi gian hi\u1ec3n th\u1ecb LCP (N\u1ed9i dung l\u1edbn nh\u1ea5t hi\u1ec3n th\u1ecb) n\u00ean \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 t\u1ea3i c\u00e1c t\u00e0i nguy\u00ean thay v\u00ec b\u1ecb ch\u1eadm tr\u1ec5."
426
+ "message": "M\u1ed7i [ph\u1ea7n ph\u1ee5 c\u00f3 m\u1ed9t chi\u1ebfn l\u01b0\u1ee3c c\u1ea3i thi\u1ec7n c\u1ee5 th\u1ec3](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). T\u1ed1t nh\u1ea5t l\u00e0 th\u1eddi gian hi\u1ec3n th\u1ecb LCP (N\u1ed9i dung l\u1edbn nh\u1ea5t hi\u1ec3n th\u1ecb) n\u00ean \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 t\u1ea3i c\u00e1c t\u00e0i nguy\u00ean thay v\u00ec b\u1ecb ch\u1eadm tr\u1ec5."
391
427
  },
392
428
  "models/trace/insights/LCPBreakdown.ts | duration": {
393
429
  "message": "Th\u1eddi l\u01b0\u1ee3ng"
@@ -417,7 +453,7 @@
417
453
  "message": "B\u1ea3ng chi ti\u1ebft v\u1ec1 LCP (N\u1ed9i dung l\u1edbn nh\u1ea5t hi\u1ec3n th\u1ecb)"
418
454
  },
419
455
  "models/trace/insights/LCPDiscovery.ts | description": {
420
- "message": "T\u1ed1i \u01b0u ho\u00e1 LCP (N\u1ed9i dung l\u1edbn nh\u1ea5t hi\u1ec3n th\u1ecb) b\u1eb1ng c\u00e1ch gi\u00fap tr\u00ecnh duy\u1ec7t [c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) h\u00ecnh \u1ea3nh LCP d\u1ef1a v\u00e0o HTML ngay l\u1eadp t\u1ee9c v\u00e0 [tr\u00e1nh t\u1ea3i t\u1eebng ph\u1ea7n](https://web.dev/articles/lcp-lazy-loading)"
456
+ "message": "[T\u1ed1i \u01b0u ho\u00e1 LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) (N\u1ed9i dung l\u1edbn nh\u1ea5t hi\u1ec3n th\u1ecb) b\u1eb1ng c\u00e1ch gi\u00fap tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y h\u00ecnh \u1ea3nh LCP d\u1ef1a v\u00e0o HTML ngay l\u1eadp t\u1ee9c v\u00e0 tr\u00e1nh t\u1ea3i t\u1eebng ph\u1ea7n"
421
457
  },
422
458
  "models/trace/insights/LCPDiscovery.ts | fetchPriorityApplied": {
423
459
  "message": "\u0110\u00e3 \u00e1p d\u1ee5ng gi\u00e1 tr\u1ecb \"high\" c\u1ee7a thu\u1ed9c t\u00ednh fetchpriority"
@@ -450,13 +486,13 @@
450
486
  "message": "S\u1ed1 byte b\u1ecb l\u00e3ng ph\u00ed"
451
487
  },
452
488
  "models/trace/insights/LegacyJavaScript.ts | description": {
453
- "message": "M\u00e3 Polyfill v\u00e0 Transform cho ph\u00e9p c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169 s\u1eed d\u1ee5ng nh\u1eefng t\u00ednh n\u0103ng m\u1edbi c\u1ee7a JavaScript. Tuy nhi\u00ean, c\u00f3 nhi\u1ec1u t\u00ednh n\u0103ng kh\u00f4ng c\u1ea7n thi\u1ebft cho tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i. H\u00e3y c\u00e2n nh\u1eafc s\u1eeda \u0111\u1ed5i quy tr\u00ecnh x\u00e2y d\u1ef1ng JavaScript \u0111\u1ec3 kh\u00f4ng chuy\u1ec3n \u0111\u1ed5i m\u00e3 ngu\u1ed3n c\u00e1c t\u00ednh n\u0103ng [\u0110\u01b0\u1eddng c\u01a1 s\u1edf](https://web.dev/articles/baseline-and-polyfills), tr\u1eeb phi b\u1ea1n bi\u1ebft r\u1eb1ng m\u00ecnh ph\u1ea3i h\u1ed7 tr\u1ee3 c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169. [T\u00ecm hi\u1ec3u l\u00fd do h\u1ea7u h\u1ebft c\u00e1c trang web c\u00f3 th\u1ec3 tri\u1ec3n khai m\u00e3 ES6+ m\u00e0 kh\u00f4ng c\u1ea7n chuy\u1ec3n \u0111\u1ed5i m\u00e3 ngu\u1ed3n](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
489
+ "message": "M\u00e3 Polyfill v\u00e0 Transform cho ph\u00e9p c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169 s\u1eed d\u1ee5ng nh\u1eefng t\u00ednh n\u0103ng m\u1edbi c\u1ee7a JavaScript. Tuy nhi\u00ean, c\u00f3 nhi\u1ec1u t\u00ednh n\u0103ng kh\u00f4ng c\u1ea7n thi\u1ebft cho tr\u00ecnh duy\u1ec7t hi\u1ec7n \u0111\u1ea1i. H\u00e3y c\u00e2n nh\u1eafc s\u1eeda \u0111\u1ed5i quy tr\u00ecnh x\u00e2y d\u1ef1ng JavaScript \u0111\u1ec3 kh\u00f4ng chuy\u1ec3n \u0111\u1ed5i m\u00e3 ngu\u1ed3n c\u00e1c t\u00ednh n\u0103ng [\u0110\u01b0\u1eddng c\u01a1 s\u1edf](https://web.dev/articles/baseline-and-polyfills), tr\u1eeb phi b\u1ea1n bi\u1ebft r\u1eb1ng m\u00ecnh ph\u1ea3i h\u1ed7 tr\u1ee3 c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169. [T\u00ecm hi\u1ec3u l\u00fd do h\u1ea7u h\u1ebft c\u00e1c trang web c\u00f3 th\u1ec3 tri\u1ec3n khai m\u00e3 ES6+ m\u00e0 kh\u00f4ng c\u1ea7n chuy\u1ec3n \u0111\u1ed5i m\u00e3 ngu\u1ed3n](https://developer.chrome.com/docs/performance/insights/legacy-javascript)"
454
490
  },
455
491
  "models/trace/insights/LegacyJavaScript.ts | title": {
456
492
  "message": "JavaScript c\u0169"
457
493
  },
458
494
  "models/trace/insights/ModernHTTP.ts | description": {
459
- "message": "HTTP/2 v\u00e0 HTTP/3 mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch h\u01a1n HTTP/1.1, ch\u1eb3ng h\u1ea1n nh\u01b0 gh\u00e9p k\u00eanh. [T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng HTTP hi\u1ec7n \u0111\u1ea1i](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/)."
495
+ "message": "HTTP/2 v\u00e0 HTTP/3 mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch h\u01a1n HTTP/1.1, ch\u1eb3ng h\u1ea1n nh\u01b0 gh\u00e9p k\u00eanh. [T\u00ecm hi\u1ec3u th\u00eam v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng HTTP hi\u1ec7n \u0111\u1ea1i](https://developer.chrome.com/docs/performance/insights/modern-http)."
460
496
  },
461
497
  "models/trace/insights/ModernHTTP.ts | noOldProtocolRequests": {
462
498
  "message": "Kh\u00f4ng c\u00f3 y\u00eau c\u1ea7u n\u00e0o s\u1eed d\u1ee5ng HTTP/1.1 ho\u1eb7c vi\u1ec7c s\u1eed d\u1ee5ng HTTP/1.1 hi\u1ec7n t\u1ea1i kh\u00f4ng mang l\u1ea1i c\u01a1 h\u1ed9i t\u1ed1i \u01b0u ho\u00e1 \u0111\u00e1ng k\u1ec3. Y\u00eau c\u1ea7u HTTP/1.1 ch\u1ec9 \u0111\u01b0\u1ee3c g\u1eafn c\u1edd n\u1ebfu c\u00f3 t\u1eeb 6 t\u00e0i s\u1ea3n t\u0129nh c\u00f9ng ngu\u1ed3n g\u1ed1c tr\u1edf l\u00ean v\u00e0 kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e2n ph\u00e1t t\u1eeb m\u00f4i tr\u01b0\u1eddng ph\u00e1t tri\u1ec3n c\u1ee5c b\u1ed9 ho\u1eb7c ngu\u1ed3n c\u1ee7a b\u00ean th\u1ee9 ba."
@@ -489,7 +525,7 @@
489
525
  "message": "K\u1ebft n\u1ed1i tr\u01b0\u1edbc ch\u01b0a s\u1eed d\u1ee5ng. H\u00e3y ki\u1ec3m tra \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o thu\u1ed9c t\u00ednh crossorigin \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u00fang c\u00e1ch."
490
526
  },
491
527
  "models/trace/insights/NetworkDependencyTree.ts | description": {
492
- "message": "[Tr\u00e1nh t\u1ea1o chu\u1ed7i c\u00e1c y\u00eau c\u1ea7u quan tr\u1ecdng](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) b\u1eb1ng c\u00e1ch gi\u1ea3m \u0111\u1ed9 d\u00e0i chu\u1ed7i, gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u00e0i nguy\u00ean t\u1ea3i xu\u1ed1ng ho\u1eb7c tr\u00ec ho\u00e3n t\u1ea3i xu\u1ed1ng c\u00e1c t\u00e0i nguy\u00ean kh\u00f4ng c\u1ea7n thi\u1ebft \u0111\u1ec3 c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 t\u1ea3i trang."
528
+ "message": "[Tr\u00e1nh t\u1ea1o chu\u1ed7i c\u00e1c y\u00eau c\u1ea7u quan tr\u1ecdng](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) b\u1eb1ng c\u00e1ch gi\u1ea3m \u0111\u1ed9 d\u00e0i chu\u1ed7i, gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u00e0i nguy\u00ean t\u1ea3i xu\u1ed1ng ho\u1eb7c tr\u00ec ho\u00e3n t\u1ea3i xu\u1ed1ng c\u00e1c t\u00e0i nguy\u00ean kh\u00f4ng c\u1ea7n thi\u1ebft \u0111\u1ec3 c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 t\u1ea3i trang."
493
529
  },
494
530
  "models/trace/insights/NetworkDependencyTree.ts | estSavingTableDescription": {
495
531
  "message": "Th\u00eam g\u1ee3i \u00fd [k\u1ebft n\u1ed1i tr\u01b0\u1edbc](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/) cho c\u00e1c ngu\u1ed3n g\u1ed1c quan tr\u1ecdng nh\u1ea5t, nh\u01b0ng h\u00e3y c\u1ed1 g\u1eafng s\u1eed d\u1ee5ng kh\u00f4ng qu\u00e1 4 g\u1ee3i \u00fd."
@@ -528,22 +564,22 @@
528
564
  "message": "Tr\u00e1nh t\u1ea1o chu\u1ed7i c\u00e1c y\u00eau c\u1ea7u quan tr\u1ecdng b\u1eb1ng c\u00e1ch gi\u1ea3m \u0111\u1ed9 d\u00e0i chu\u1ed7i, gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u00e0i nguy\u00ean t\u1ea3i xu\u1ed1ng ho\u1eb7c tr\u00ec ho\u00e3n t\u1ea3i xu\u1ed1ng c\u00e1c t\u00e0i nguy\u00ean kh\u00f4ng c\u1ea7n thi\u1ebft \u0111\u1ec3 c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 t\u1ea3i trang."
529
565
  },
530
566
  "models/trace/insights/RenderBlocking.ts | description": {
531
- "message": "C\u00e1c y\u00eau c\u1ea7u \u0111ang ch\u1eb7n qu\u00e1 tr\u00ecnh k\u1ebft xu\u1ea5t ban \u0111\u1ea7u c\u1ee7a trang, \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0m tr\u1ec5 LCP. [Vi\u1ec7c ho\u00e3n ho\u1eb7c d\u00f9ng c\u00f9ng d\u00f2ng](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources) c\u00f3 th\u1ec3 di chuy\u1ec3n c\u00e1c y\u00eau c\u1ea7u m\u1ea1ng n\u00e0y ra kh\u1ecfi \u0111\u01b0\u1eddng d\u1eabn quan tr\u1ecdng."
567
+ "message": "C\u00e1c y\u00eau c\u1ea7u \u0111ang ch\u1eb7n qu\u00e1 tr\u00ecnh k\u1ebft xu\u1ea5t ban \u0111\u1ea7u c\u1ee7a trang, \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0m tr\u1ec5 LCP. [Vi\u1ec7c ho\u00e3n ho\u1eb7c d\u00f9ng c\u00f9ng d\u00f2ng](https://developer.chrome.com/docs/performance/insights/render-blocking) c\u00f3 th\u1ec3 di chuy\u1ec3n c\u00e1c y\u00eau c\u1ea7u m\u1ea1ng n\u00e0y ra kh\u1ecfi \u0111\u01b0\u1eddng d\u1eabn quan tr\u1ecdng."
532
568
  },
533
569
  "models/trace/insights/RenderBlocking.ts | duration": {
534
570
  "message": "Th\u1eddi l\u01b0\u1ee3ng"
535
571
  },
536
572
  "models/trace/insights/RenderBlocking.ts | noRenderBlocking": {
537
- "message": "Kh\u00f4ng c\u00f3 y\u00eau c\u1ea7u ch\u1eb7n hi\u1ec3n th\u1ecb cho thao t\u00e1c \u0111i\u1ec1u h\u01b0\u1edbng n\u00e0y"
573
+ "message": "Kh\u00f4ng c\u00f3 y\u00eau c\u1ea7u ch\u1eb7n hi\u1ec3n th\u1ecb \u0111\u1ed1i v\u1edbi thao t\u00e1c \u0111i\u1ec1u h\u01b0\u1edbng n\u00e0y"
538
574
  },
539
575
  "models/trace/insights/RenderBlocking.ts | renderBlockingRequest": {
540
576
  "message": "Y\u00eau c\u1ea7u"
541
577
  },
542
578
  "models/trace/insights/RenderBlocking.ts | title": {
543
- "message": "Y\u00eau c\u1ea7u ch\u1eb7n qu\u00e1 tr\u00ecnh hi\u1ec3n th\u1ecb"
579
+ "message": "Y\u00eau c\u1ea7u ch\u1eb7n hi\u1ec3n th\u1ecb"
544
580
  },
545
581
  "models/trace/insights/SlowCSSSelector.ts | description": {
546
- "message": "N\u1ebfu th\u1ea5y chi ph\u00ed c\u1ee7a T\u00ednh to\u00e1n l\u1ea1i ki\u1ec3u v\u1eabn cao, b\u1ea1n c\u00f3 th\u1ec3 t\u1ed1i \u01b0u ho\u00e1 b\u1ed9 ch\u1ecdn \u0111\u1ec3 gi\u1ea3m chi ph\u00ed. [T\u1ed1i \u01b0u ho\u00e1 b\u1ed9 ch\u1ecdn](https://developer.chrome.com/docs/devtools/performance/selector-stats) c\u00f3 t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1eddng d\u1eabn ch\u1eadm v\u00e0 th\u1eddi gian tr\u00f4i qua \u0111\u1ec1u cao. B\u1ed9 ch\u1ecdn \u0111\u01a1n gi\u1ea3n h\u01a1n, s\u1ed1 l\u01b0\u1ee3ng b\u1ed9 ch\u1ecdn \u00edt h\u01a1n, DOM nh\u1ecf h\u01a1n v\u00e0 DOM n\u00f4ng h\u01a1n s\u1ebd gi\u00fap gi\u1ea3m chi ph\u00ed kh\u1edbp."
582
+ "message": "N\u1ebfu th\u1ea5y chi ph\u00ed c\u1ee7a T\u00ednh to\u00e1n l\u1ea1i ki\u1ec3u v\u1eabn cao, b\u1ea1n c\u00f3 th\u1ec3 t\u1ed1i \u01b0u ho\u00e1 b\u1ed9 ch\u1ecdn \u0111\u1ec3 gi\u1ea3m chi ph\u00ed. [T\u1ed1i \u01b0u ho\u00e1 b\u1ed9 ch\u1ecdn](https://developer.chrome.com/docs/performance/insights/slow-css-selector) c\u00f3 t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m \u0111\u01b0\u1eddng d\u1eabn ch\u1eadm v\u00e0 th\u1eddi gian tr\u00f4i qua \u0111\u1ec1u cao. B\u1ed9 ch\u1ecdn \u0111\u01a1n gi\u1ea3n h\u01a1n, s\u1ed1 l\u01b0\u1ee3ng b\u1ed9 ch\u1ecdn \u00edt h\u01a1n, DOM nh\u1ecf h\u01a1n v\u00e0 DOM n\u00f4ng h\u01a1n s\u1ebd gi\u00fap gi\u1ea3m chi ph\u00ed kh\u1edbp."
547
583
  },
548
584
  "models/trace/insights/SlowCSSSelector.ts | elapsed": {
549
585
  "message": "Th\u1eddi gian \u0111\u00e3 tr\u00f4i qua"
@@ -582,7 +618,7 @@
582
618
  "message": "K\u00edch th\u01b0\u1edbc c\u1ea7n chuy\u1ec3n"
583
619
  },
584
620
  "models/trace/insights/ThirdParties.ts | description": {
585
- "message": "M\u00e3 c\u1ee7a b\u00ean th\u1ee9 ba c\u00f3 th\u1ec3 t\u00e1c \u0111\u1ed9ng \u0111\u00e1ng k\u1ec3 \u0111\u1ebfn hi\u1ec7u su\u1ea5t t\u1ea3i. [Gi\u1ea3m v\u00e0 tr\u00ec ho\u00e3n vi\u1ec7c t\u1ea3i m\u00e3 c\u1ee7a b\u00ean th\u1ee9 ba](https://web.dev/articles/optimizing-content-efficiency-loading-third-party-javascript/) \u0111\u1ec3 \u01b0u ti\u00ean n\u1ed9i dung tr\u00ean trang c\u1ee7a b\u1ea1n."
621
+ "message": "M\u00e3 c\u1ee7a b\u00ean th\u1ee9 ba c\u00f3 th\u1ec3 t\u00e1c \u0111\u1ed9ng \u0111\u00e1ng k\u1ec3 \u0111\u1ebfn hi\u1ec7u su\u1ea5t t\u1ea3i. [Gi\u1ea3m v\u00e0 tr\u00ec ho\u00e3n vi\u1ec7c t\u1ea3i m\u00e3 c\u1ee7a b\u00ean th\u1ee9 ba](https://developer.chrome.com/docs/performance/insights/third-parties) \u0111\u1ec3 \u01b0u ti\u00ean n\u1ed9i dung tr\u00ean trang c\u1ee7a b\u1ea1n."
586
622
  },
587
623
  "models/trace/insights/ThirdParties.ts | noThirdParties": {
588
624
  "message": "Kh\u00f4ng t\u00ecm th\u1ea5y b\u00ean th\u1ee9 ba n\u00e0o"
@@ -591,7 +627,7 @@
591
627
  "message": "b\u00ean th\u1ee9 ba"
592
628
  },
593
629
  "models/trace/insights/Viewport.ts | description": {
594
- "message": "Ho\u1ea1t \u0111\u1ed9ng t\u01b0\u01a1ng t\u00e1c nh\u1ea5n c\u00f3 th\u1ec3 [b\u1ecb ch\u1eadm t\u1edbi 300\u00a0mili gi\u00e2y](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) n\u1ebfu khung nh\u00ecn ch\u01b0a \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u ho\u00e1 cho thi\u1ebft b\u1ecb di \u0111\u1ed9ng."
630
+ "message": "Ho\u1ea1t \u0111\u1ed9ng t\u01b0\u01a1ng t\u00e1c nh\u1ea5n c\u00f3 th\u1ec3 [b\u1ecb ch\u1eadm t\u1edbi 300\u00a0mili gi\u00e2y](https://developer.chrome.com/docs/performance/insights/viewport) n\u1ebfu khung nh\u00ecn ch\u01b0a \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u ho\u00e1 cho thi\u1ebft b\u1ecb di \u0111\u1ed9ng."
595
631
  },
596
632
  "models/trace/insights/Viewport.ts | mobileTapDelayLabel": {
597
633
  "message": "\u0110\u1ed9 tr\u1ec5 khi nh\u1ea5n tr\u00ean thi\u1ebft b\u1ecb di \u0111\u1ed9ng"